From 71ab82b5922258bbe2f499da1ed9942f5603bb19 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 5 Nov 2025 19:46:57 +0000 Subject: [PATCH] Forgot Passaord --- backend/db/migrate.js | 624 +++++++ backend/index.js | 556 +++++- backend/package-lock.json | 32 + backend/package.json | 3 +- backend/permissions/index.js | 355 ++++ backend/public/assets/index-11780ccd.css | 1 - backend/public/assets/index-8d2b4f50.js | 93 - backend/public/assets/index-f6cd1c87.css | 1 + backend/public/assets/index-f91011a0.js | 94 + backend/public/index.html | 4 +- backend/users/index.js | 391 +++- backend/users/securityPhrase.js | 136 ++ frontend/src/components/AuthProvider.jsx | 172 ++ frontend/src/components/PermissionGate.jsx | 58 + frontend/src/layouts/dashboard.jsx | 162 +- frontend/src/main.jsx | 25 +- frontend/src/pages/auth/forgot-password.jsx | 400 +++++ frontend/src/pages/auth/index.js | 2 + frontend/src/pages/auth/sign-in.jsx | 35 +- frontend/src/pages/auth/sign-out.jsx | 63 + frontend/src/pages/dashboard/index.js | 1 + frontend/src/pages/dashboard/logs.jsx | 78 +- frontend/src/pages/dashboard/maintenance.jsx | 1595 +++++++++-------- .../src/pages/dashboard/securityPhrase.jsx | 240 +++ frontend/src/pages/dashboard/stacks.jsx | 94 +- frontend/src/pages/dashboard/userDetails.jsx | 275 ++- .../src/pages/dashboard/userGroupDetail.jsx | 524 +++++- frontend/src/pages/dashboard/usergroups.jsx | 121 +- frontend/src/pages/dashboard/users.jsx | 229 +-- frontend/src/routes.jsx | 48 +- frontend/src/widgets/layout/sidenav.jsx | 40 +- 31 files changed, 5193 insertions(+), 1259 deletions(-) create mode 100644 backend/permissions/index.js delete mode 100644 backend/public/assets/index-11780ccd.css delete mode 100644 backend/public/assets/index-8d2b4f50.js create mode 100644 backend/public/assets/index-f6cd1c87.css create mode 100644 backend/public/assets/index-f91011a0.js create mode 100644 backend/users/securityPhrase.js create mode 100644 frontend/src/components/AuthProvider.jsx create mode 100644 frontend/src/components/PermissionGate.jsx create mode 100644 frontend/src/pages/auth/forgot-password.jsx create mode 100644 frontend/src/pages/auth/sign-out.jsx create mode 100644 frontend/src/pages/dashboard/securityPhrase.jsx diff --git a/backend/db/migrate.js b/backend/db/migrate.js index bd759ff..e23d603 100644 --- a/backend/db/migrate.js +++ b/backend/db/migrate.js @@ -44,6 +44,10 @@ CREATE TABLE IF NOT EXISTS users ( avatar_color TEXT, is_active INTEGER NOT NULL DEFAULT 1, last_login DATETIME, + security_phrase_content TEXT, + security_phrase_iv TEXT, + security_phrase_tag TEXT, + security_phrase_downloaded_at DATETIME, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ); @@ -93,6 +97,83 @@ CREATE TABLE IF NOT EXISTS user_group_permissions ( ); `; +const createPermissionSectionsTable = ` +CREATE TABLE IF NOT EXISTS permission_sections ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + key TEXT NOT NULL UNIQUE, + title TEXT NOT NULL, + sort_order INTEGER NOT NULL DEFAULT 0, + has_navigation_flag INTEGER NOT NULL DEFAULT 0, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME DEFAULT CURRENT_TIMESTAMP +); +`; + +const createPermissionGroupsTable = ` +CREATE TABLE IF NOT EXISTS permission_groups ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + section_id INTEGER NOT NULL, + key TEXT NOT NULL, + title TEXT NOT NULL, + sort_order INTEGER NOT NULL DEFAULT 0, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, + UNIQUE(section_id, key), + FOREIGN KEY (section_id) REFERENCES permission_sections(id) ON DELETE CASCADE +); +`; + +const createPermissionItemsTable = ` +CREATE TABLE IF NOT EXISTS permission_items ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + section_id INTEGER NOT NULL, + group_id INTEGER, + key TEXT NOT NULL UNIQUE, + label TEXT NOT NULL, + sort_order INTEGER NOT NULL DEFAULT 0, + default_level TEXT NOT NULL, + available_levels TEXT NOT NULL, + is_required INTEGER NOT NULL DEFAULT 0, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (section_id) REFERENCES permission_sections(id) ON DELETE CASCADE, + FOREIGN KEY (group_id) REFERENCES permission_groups(id) ON DELETE SET NULL +); +`; + +const createPermissionDependenciesTable = ` +CREATE TABLE IF NOT EXISTS permission_dependencies ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + permission_id INTEGER NOT NULL, + depends_on_permission_id INTEGER NOT NULL, + required_level TEXT DEFAULT NULL, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (permission_id) REFERENCES permission_items(id) ON DELETE CASCADE, + FOREIGN KEY (depends_on_permission_id) REFERENCES permission_items(id) ON DELETE CASCADE, + UNIQUE(permission_id, depends_on_permission_id) +); +`; + +const createPermissionDependenciesIndex = ` +CREATE INDEX IF NOT EXISTS idx_permission_dependencies_required +ON permission_dependencies (permission_id, depends_on_permission_id); +`; + +const createGroupPermissionValuesTable = ` +CREATE TABLE IF NOT EXISTS group_permission_values ( + group_id INTEGER NOT NULL, + permission_id INTEGER NOT NULL, + level TEXT NOT NULL, + effective_level TEXT, + created_at DATETIME DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (group_id, permission_id), + FOREIGN KEY (group_id) REFERENCES user_groups(id) ON DELETE CASCADE, + FOREIGN KEY (permission_id) REFERENCES permission_items(id) ON DELETE CASCADE +); +`; + const createServersTable = ` CREATE TABLE IF NOT EXISTS servers ( @@ -364,6 +445,549 @@ console.log('✅ permissions table ready'); db.exec(createUserGroupPermissionsTable); console.log('✅ user_group_permissions table ready'); +db.exec(createPermissionSectionsTable); +console.log('✅ permission_sections table ready'); + +db.exec(createPermissionGroupsTable); +console.log('✅ permission_groups table ready'); + +db.exec(createPermissionItemsTable); +console.log('✅ permission_items table ready'); + +db.exec(createPermissionDependenciesTable); +db.exec(createPermissionDependenciesIndex); +console.log('✅ permission_dependencies table ready'); + +db.exec(createGroupPermissionValuesTable); +console.log('✅ group_permission_values table ready'); + +const permissionsSeeded = () => { + try { + const row = db.prepare('SELECT COUNT(*) as count FROM permission_sections').get(); + return row?.count > 0; + } catch (err) { + return false; + } +}; + +const seedPermissions = () => { + if (permissionsSeeded()) { + console.log('ℹ️ permission structure already seeded'); + return; + } + + const insertSection = db.prepare(` + INSERT INTO permission_sections (key, title, sort_order, has_navigation_flag) + VALUES (@key, @title, @sort_order, @has_navigation_flag) + `); + + const insertGroup = db.prepare(` + INSERT INTO permission_groups (section_id, key, title, sort_order) + VALUES (@section_id, @key, @title, @sort_order) + `); + + const insertItem = db.prepare(` + INSERT INTO permission_items ( + section_id, + group_id, + key, + label, + sort_order, + default_level, + available_levels, + is_required + ) VALUES ( + @section_id, + @group_id, + @key, + @label, + @sort_order, + @default_level, + @available_levels, + @is_required + ) + `); + + const insertDependency = db.prepare(` + INSERT INTO permission_dependencies (permission_id, depends_on_permission_id, required_level) + VALUES (@permission_id, @depends_on_permission_id, @required_level) + `); + + const sections = [ + { + key: 'stacks', + title: 'Stacks', + sortOrder: 0, + hasNavigation: 0, + groups: [], + items: [ + { + key: 'stacks-redeploy-single', + label: 'Redeploy einzeln', + sortOrder: 0, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [] + }, + { + key: 'stacks-redeploy-selection', + label: 'Redeploy Auswahl', + sortOrder: 1, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [] + }, + { + key: 'stacks-redeploy-all', + label: 'Redeploy Alle', + sortOrder: 2, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [] + } + ] + }, + { + key: 'logs', + title: 'Logs', + sortOrder: 1, + hasNavigation: 1, + groups: [], + items: [ + { + key: 'logs-access', + label: 'Bereich & Navigation', + sortOrder: 0, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 1, + dependencies: [] + }, + { + key: 'logs-export', + label: 'Logs Exportieren', + sortOrder: 1, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'logs-access', + requiredLevel: '!=none' + } + ] + }, + { + key: 'logs-delete', + label: 'Logs löschen', + sortOrder: 2, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'logs-access', + requiredLevel: '!=none' + } + ] + } + ] + }, + { + key: 'users', + title: 'Benutzer', + sortOrder: 2, + hasNavigation: 1, + groups: [], + items: [ + { + key: 'users-access', + label: 'Bereich & Navigation', + sortOrder: 0, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 1, + dependencies: [] + }, + { + key: 'users-edit', + label: 'Benutzer bearbeiten', + sortOrder: 1, + defaultLevel: 'read', + levels: ['full', 'read'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'users-access', + requiredLevel: '!=none' + } + ] + }, + { + key: 'users-delete', + label: 'Benutzer löschen', + sortOrder: 2, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'users-access', + requiredLevel: '!=none' + } + ] + }, + { + key: 'users-security-phrase', + label: 'Sicherheitsschlüssel', + sortOrder: 3, + defaultLevel: 'none', + levels: ['full', 'read', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'users-access', + requiredLevel: '!=none' + } + ] + } + ] + }, + { + key: 'user-groups', + title: 'Benutzergruppen', + sortOrder: 3, + hasNavigation: 1, + groups: [], + items: [ + { + key: 'user-groups-access', + label: 'Bereich & Navigation', + sortOrder: 0, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 1, + dependencies: [] + }, + { + key: 'user-groups-edit', + label: 'Benutzergruppen bearbeiten', + sortOrder: 1, + defaultLevel: 'read', + levels: ['full', 'read'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'user-groups-access', + requiredLevel: '!=none' + } + ] + }, + { + key: 'user-groups-delete', + label: 'Benutzergruppen löschen', + sortOrder: 2, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'user-groups-access', + requiredLevel: '!=none' + } + ] + } + ] + }, + { + key: 'maintenance', + title: 'Wartung', + sortOrder: 4, + hasNavigation: 1, + groups: [ + { + key: 'maintenance-server-group', + title: 'Server & Endpoints', + sortOrder: 0, + items: [ + { + key: 'maintenance-server-manage', + label: 'Server/Endpoint-Sektion', + sortOrder: 0, + defaultLevel: 'none', + levels: ['full', 'read', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'maintenance-access', + requiredLevel: '!=none' + } + ] + }, + { + key: 'maintenance-server-delete', + label: 'Server/Endpoint löschen', + sortOrder: 1, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'maintenance-access', + requiredLevel: '!=none' + }, + { + dependsOnKey: 'maintenance-server-manage', + requiredLevel: '!=none' + } + ] + } + ] + }, + { + key: 'maintenance-portainer-group', + title: 'Portainer', + sortOrder: 1, + items: [ + { + key: 'maintenance-portainer', + label: 'Portainer-Sektion', + sortOrder: 0, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'maintenance-access', + requiredLevel: '!=none' + } + ] + }, + { + key: 'maintenance-ssh-update', + label: 'SSH/Update-Skript', + sortOrder: 1, + defaultLevel: 'none', + levels: ['full', 'read', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'maintenance-access', + requiredLevel: '!=none' + }, + { + dependsOnKey: 'maintenance-portainer', + requiredLevel: '!=none' + } + ] + }, + { + key: 'maintenance-update', + label: 'Update durchführen', + sortOrder: 2, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'maintenance-access', + requiredLevel: '!=none' + }, + { + dependsOnKey: 'maintenance-portainer', + requiredLevel: '!=none' + } + ] + } + ] + }, + { + key: 'maintenance-duplicates-group', + title: 'Doppelte Stacks', + sortOrder: 2, + items: [ + { + key: 'maintenance-duplicates', + label: 'Doppelte Stacks', + sortOrder: 0, + defaultLevel: 'none', + levels: ['full', 'read', 'none'], + isRequired: 0, + dependencies: [ + { + dependsOnKey: 'maintenance-access', + requiredLevel: '!=none' + } + ] + } + ] + } + ], + items: [ + { + key: 'maintenance-access', + label: 'Bereich & Navigation', + sortOrder: 0, + defaultLevel: 'none', + levels: ['full', 'none'], + isRequired: 1, + dependencies: [] + } + ] + } + ]; + + const itemKeyToId = new Map(); + + const insertPermissions = db.transaction(() => { + sections.forEach((section) => { + const sectionResult = insertSection.run({ + key: section.key, + title: section.title, + sort_order: section.sortOrder, + has_navigation_flag: section.hasNavigation ? 1 : 0 + }); + + const sectionId = sectionResult.lastInsertRowid; + + const sectionItems = section.items ?? []; + sectionItems.forEach((item, index) => { + const itemResult = insertItem.run({ + section_id: sectionId, + group_id: null, + key: item.key, + label: item.label, + sort_order: item.sortOrder ?? index, + default_level: item.defaultLevel, + available_levels: JSON.stringify(item.levels), + is_required: item.isRequired ? 1 : 0 + }); + itemKeyToId.set(item.key, itemResult.lastInsertRowid); + }); + + const groups = section.groups ?? []; + groups.forEach((group, groupIdx) => { + const groupResult = insertGroup.run({ + section_id: sectionId, + key: group.key, + title: group.title, + sort_order: group.sortOrder ?? groupIdx + }); + const groupId = groupResult.lastInsertRowid; + const groupItems = group.items ?? []; + groupItems.forEach((item, itemIdx) => { + const itemResult = insertItem.run({ + section_id: sectionId, + group_id: groupId, + key: item.key, + label: item.label, + sort_order: item.sortOrder ?? itemIdx, + default_level: item.defaultLevel, + available_levels: JSON.stringify(item.levels), + is_required: item.isRequired ? 1 : 0 + }); + itemKeyToId.set(item.key, itemResult.lastInsertRowid); + }); + }); + }); + + sections.forEach((section) => { + const collectDependencies = (items = []) => { + items.forEach((item) => { + if (!item.dependencies || !item.dependencies.length) { + return; + } + const permissionId = itemKeyToId.get(item.key); + item.dependencies.forEach((dependency) => { + const dependsId = itemKeyToId.get(dependency.dependsOnKey); + if (!dependsId) { + console.warn(`⚠️ dependency target ${dependency.dependsOnKey} not found for ${item.key}`); + return; + } + insertDependency.run({ + permission_id: permissionId, + depends_on_permission_id: dependsId, + required_level: dependency.requiredLevel ?? null + }); + }); + }); + }; + + collectDependencies(section.items); + (section.groups ?? []).forEach((group) => collectDependencies(group.items)); + }); + }); + + insertPermissions(); + console.log('✅ permission structure seeded'); +}; + +seedPermissions(); + +const ensureUserSecurityPhraseColumns = () => { + const columns = db.prepare('PRAGMA table_info(users)').all(); + const columnNames = new Set(columns.map((column) => column.name)); + + const addColumnIfMissing = (name, sql) => { + if (!columnNames.has(name)) { + db.exec(sql); + } + }; + + addColumnIfMissing('security_phrase_content', 'ALTER TABLE users ADD COLUMN security_phrase_content TEXT'); + addColumnIfMissing('security_phrase_iv', 'ALTER TABLE users ADD COLUMN security_phrase_iv TEXT'); + addColumnIfMissing('security_phrase_tag', 'ALTER TABLE users ADD COLUMN security_phrase_tag TEXT'); + addColumnIfMissing('security_phrase_downloaded_at', 'ALTER TABLE users ADD COLUMN security_phrase_downloaded_at DATETIME'); +}; + +ensureUserSecurityPhraseColumns(); + +const ensurePermissionDefaultLevels = () => { + const desiredDefaults = [ + { key: 'stacks-redeploy-single', defaultLevel: 'none' }, + { key: 'stacks-redeploy-selection', defaultLevel: 'none' }, + { key: 'stacks-redeploy-all', defaultLevel: 'none' }, + { key: 'logs-access', defaultLevel: 'none' }, + { key: 'logs-export', defaultLevel: 'none' }, + { key: 'logs-delete', defaultLevel: 'none' }, + { key: 'users-access', defaultLevel: 'none' }, + { key: 'users-edit', defaultLevel: 'read' }, + { key: 'users-delete', defaultLevel: 'none' }, + { key: 'users-security-phrase', defaultLevel: 'none' }, + { key: 'user-groups-access', defaultLevel: 'none' }, + { key: 'user-groups-edit', defaultLevel: 'read' }, + { key: 'user-groups-delete', defaultLevel: 'none' }, + { key: 'maintenance-access', defaultLevel: 'none' }, + { key: 'maintenance-server-manage', defaultLevel: 'none' }, + { key: 'maintenance-server-delete', defaultLevel: 'none' }, + { key: 'maintenance-portainer', defaultLevel: 'none' }, + { key: 'maintenance-ssh-update', defaultLevel: 'none' }, + { key: 'maintenance-update', defaultLevel: 'none' }, + { key: 'maintenance-duplicates', defaultLevel: 'none' } + ]; + + const updateDefaultLevel = db.prepare(` + UPDATE permission_items + SET default_level = @default_level + WHERE key = @key AND default_level != @default_level + `); + + db.transaction(() => { + desiredDefaults.forEach(({ key, defaultLevel }) => { + updateDefaultLevel.run({ key, default_level: defaultLevel }); + }); + })(); +}; + +ensurePermissionDefaultLevels(); + +db.exec( + "DELETE FROM group_permission_values WHERE group_id IN (SELECT id FROM user_groups WHERE lower(name) = 'superuser')" +); + db.exec(createServersTable); console.log('✅ servers table ready'); diff --git a/backend/index.js b/backend/index.js index 9af5ac2..3baa196 100644 --- a/backend/index.js +++ b/backend/index.js @@ -18,9 +18,9 @@ import { registerSuperuser, removeSuperuser, findUserByIdentifier, - findUserById, markUserLogin, - verifyPassword + verifyPassword, + SUPERUSER_GROUP_NAME } from './auth/superuser.js'; import { logEvent, @@ -45,14 +45,46 @@ import { removeServer, setServerApiKey } from './setup/index.js'; -import { listUsers, getUserById, updateUserGroups, createUser, updateUserDetails, deleteUser, updateUserActiveStatus } from './users/index.js'; +import { + listUsers, + getUserById, + updateUserGroups, + createUser, + updateUserDetails, + deleteUser, + updateUserActiveStatus, + getUserSecurityPhrase, + renewUserSecurityPhrase, + markSecurityPhraseDownloaded, + ensureSecurityPhrasesForExistingUsers, + verifySecurityPhraseForUsername, + setUserPassword +} from './users/index.js'; import { listGroups, createGroup, getGroupById, updateGroupDetails, deleteGroup } from './groups/index.js'; +import { + getPermissionStructure, + getPermissionValuesByGroup, + saveGroupPermissionValues, + clearGroupPermissionValues, + getSuperuserPermissionMap, + getEffectivePermissionsForGroups, + hasRequiredPermission +} from './permissions/index.js'; dotenv.config(); ensureSuperuserFromEnv(); ensureDefaultsFromEnv(); +try { + const initializedCount = ensureSecurityPhrasesForExistingUsers(); + if (initializedCount > 0) { + console.log(`ℹ️ Sicherheitsschlüssel für ${initializedCount} bestehende Benutzer initialisiert`); + } +} catch (error) { + console.error('⚠️ Initialisierung der Sicherheitsschlüssel für bestehende Benutzer fehlgeschlagen:', error); +} + const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -131,6 +163,8 @@ const AUTH_COOKIE_OPTIONS = { }; const activeSessions = new Map(); +const passwordResetTickets = new Map(); +const PASSWORD_RESET_TTL_MS = 1000 * 60 * 15; const PUBLIC_API_ROUTES = [ { method: 'GET', matcher: /^\/api\/auth\/superuser\/status$/ }, @@ -138,6 +172,8 @@ const PUBLIC_API_ROUTES = [ { method: 'POST', matcher: /^\/api\/auth\/login$/ }, { method: 'POST', matcher: /^\/api\/auth\/logout$/ }, { method: 'GET', matcher: /^\/api\/auth\/session$/ }, + { method: 'POST', matcher: /^\/api\/auth\/recover\/verify$/ }, + { method: 'POST', matcher: /^\/api\/auth\/recover\/reset$/ }, { method: 'GET', matcher: /^\/api\/setup\/status$/ }, { method: 'POST', matcher: /^\/api\/setup\/complete$/ } ]; @@ -149,6 +185,40 @@ const sanitizeUser = (user) => ({ avatarColor: user.avatar_color || null }); +const buildUserSessionPayload = (userId) => { + const record = getUserById(userId); + if (!record || !record.isActive) { + return null; + } + + const groups = Array.isArray(record.groups) ? record.groups : []; + const groupIds = groups + .map((group) => Number(group.id)) + .filter((groupId) => Number.isFinite(groupId) && groupId > 0); + + const isSuperuser = groups.some( + (group) => typeof group?.name === 'string' && group.name.toLowerCase() === SUPERUSER_GROUP_NAME + ); + + const permissions = isSuperuser + ? getSuperuserPermissionMap() + : getEffectivePermissionsForGroups(groupIds); + + return { + user: { + id: record.id, + username: record.username, + email: record.email || null, + avatarColor: record.avatarColor || null, + groups, + isSuperuser, + securityPhraseDownloadedAt: record.securityPhraseDownloadedAt || null, + requiresSecurityPhraseDownload: !record.securityPhraseDownloadedAt + }, + permissions + }; +}; + const cleanupExpiredSessions = () => { const now = Date.now(); for (const [token, session] of activeSessions.entries()) { @@ -167,6 +237,49 @@ const removeSessionsForUser = (userId) => { } }; +const cleanupExpiredPasswordResetTickets = () => { + const now = Date.now(); + for (const [token, ticket] of passwordResetTickets.entries()) { + if (!ticket || ticket.expiresAt <= now) { + passwordResetTickets.delete(token); + } + } +}; + +const removePasswordResetTicketsForUser = (userId) => { + if (!userId) return; + for (const [token, ticket] of passwordResetTickets.entries()) { + if (ticket?.userId === userId) { + passwordResetTickets.delete(token); + } + } +}; + +const createPasswordResetTicketForUser = (userId) => { + cleanupExpiredPasswordResetTickets(); + removePasswordResetTicketsForUser(userId); + const token = crypto.randomBytes(32).toString('hex'); + const expiresAt = Date.now() + PASSWORD_RESET_TTL_MS; + passwordResetTickets.set(token, { userId, expiresAt }); + return { token, expiresAt }; +}; + +const getPasswordResetTicket = (token) => { + if (!token) { + return null; + } + cleanupExpiredPasswordResetTickets(); + const record = passwordResetTickets.get(token); + if (!record) { + return null; + } + if (record.expiresAt <= Date.now()) { + passwordResetTickets.delete(token); + return null; + } + return record; +}; + const createSessionForUser = (user) => { cleanupExpiredSessions(); removeSessionsForUser(user.id); @@ -892,6 +1005,52 @@ const maintenanceGuard = (req, res, next) => { }); }; +const requirePermission = (permissionKey, requiredLevel = 'full') => (req, res, next) => { + if (!permissionKey) { + return next(); + } + + if (req.user?.isSuperuser) { + return next(); + } + + const permissions = req.userPermissions || {}; + if (hasRequiredPermission(permissions, permissionKey, requiredLevel)) { + return next(); + } + + return res.status(403).json({ + error: 'INSUFFICIENT_PERMISSIONS', + permission: permissionKey, + requiredLevel + }); +}; + +const requireAnyPermission = (candidates = []) => (req, res, next) => { + if (!Array.isArray(candidates) || candidates.length === 0) { + return next(); + } + + if (req.user?.isSuperuser) { + return next(); + } + + const permissions = req.userPermissions || {}; + const granted = candidates.some(({ key, level }) => + typeof key === 'string' && hasRequiredPermission(permissions, key, level || 'full') + ); + + if (granted) { + return next(); + } + + return res.status(403).json({ + error: 'INSUFFICIENT_PERMISSIONS', + permission: candidates.map((entry) => entry.key).filter(Boolean), + requiredLevel: candidates.map((entry) => entry.level || 'full') + }); +}; + const logScriptOutput = (data, level) => { if (!data) return; const text = data.toString(); @@ -1425,14 +1584,37 @@ app.use((req, res, next) => { return res.status(401).json({ error: 'UNAUTHORIZED' }); } - const user = findUserById(session.userId); - if (!user || !user.is_active) { + const userRecord = getUserById(session.userId); + if (!userRecord || !userRecord.isActive) { activeSessions.delete(token); clearAuthCookie(res); return res.status(401).json({ error: 'UNAUTHORIZED' }); } - req.user = sanitizeUser(user); + const userGroups = Array.isArray(userRecord.groups) ? userRecord.groups : []; + const groupIds = userGroups + .map((group) => Number(group.id)) + .filter((groupId) => Number.isFinite(groupId) && groupId > 0); + + const isSuperuser = userGroups.some( + (group) => typeof group?.name === 'string' && group.name.toLowerCase() === SUPERUSER_GROUP_NAME + ); + + const permissionsMap = isSuperuser + ? getSuperuserPermissionMap() + : getEffectivePermissionsForGroups(groupIds); + + req.user = { + id: userRecord.id, + username: userRecord.username, + email: userRecord.email, + avatarColor: userRecord.avatarColor || null, + groups: userGroups, + isSuperuser, + securityPhraseDownloadedAt: userRecord.securityPhraseDownloadedAt || null, + requiresSecurityPhraseDownload: !userRecord.securityPhraseDownloadedAt + }; + req.userPermissions = permissionsMap; req.authToken = token; touchSession(token); setAuthCookie(res, token); @@ -1618,7 +1800,7 @@ app.post('/api/setup/complete', (req, res) => { } }); -app.delete('/api/setup/endpoints/:id', (req, res) => { +app.delete('/api/setup/endpoints/:id', requirePermission('maintenance-server-delete', 'full'), (req, res) => { const { id } = req.params; const numericId = Number(id); if (!Number.isFinite(numericId)) { @@ -1643,7 +1825,7 @@ app.delete('/api/setup/endpoints/:id', (req, res) => { } }); -app.delete('/api/setup/servers/:id', (req, res) => { +app.delete('/api/setup/servers/:id', requirePermission('maintenance-server-delete', 'full'), (req, res) => { const { id } = req.params; const numericId = Number(id); if (!Number.isFinite(numericId)) { @@ -1668,7 +1850,7 @@ app.delete('/api/setup/servers/:id', (req, res) => { } }); -app.put('/api/setup/servers/:id/api-key', (req, res) => { +app.put('/api/setup/servers/:id/api-key', requirePermission('maintenance-server-manage', 'full'), (req, res) => { const { id } = req.params; const numericId = Number(id); if (!Number.isFinite(numericId)) { @@ -1732,7 +1914,12 @@ app.post('/api/auth/login', (req, res) => { markUserLogin(user.id); setAuthCookie(res, session.token); - res.json({ user: sanitizeUser(user) }); + const payload = buildUserSessionPayload(user.id); + if (payload) { + res.json(payload); + } else { + res.json({ user: sanitizeUser(user), permissions: {} }); + } }); app.post('/api/auth/logout', (req, res) => { @@ -1744,6 +1931,74 @@ app.post('/api/auth/logout', (req, res) => { res.json({ success: true }); }); +app.post('/api/auth/recover/verify', (req, res) => { + const { username, phrase, words } = req.body ?? {}; + + try { + const candidate = typeof phrase === 'string' && phrase.trim() ? phrase : words; + const verification = verifySecurityPhraseForUsername(username, candidate); + const ticket = createPasswordResetTicketForUser(verification.userId); + res.json({ token: ticket.token, expiresIn: PASSWORD_RESET_TTL_MS }); + } catch (error) { + if (error.code === 'USERNAME_REQUIRED' || error.code === 'PHRASE_REQUIRED') { + return res.status(400).json({ error: error.code }); + } + if (error.code === 'USER_NOT_FOUND') { + return res.status(404).json({ error: 'USER_NOT_FOUND' }); + } + if (error.code === 'PHRASE_NOT_INITIALIZED') { + return res.status(409).json({ error: 'PHRASE_NOT_INITIALIZED' }); + } + if (error.code === 'PHRASE_MISMATCH') { + return res.status(401).json({ error: 'PHRASE_MISMATCH' }); + } + if (error.code === 'INVALID_PASSWORD') { + return res.status(400).json({ error: 'INVALID_PASSWORD' }); + } + console.error('⚠️ [Auth] Sicherheitsphrase-Überprüfung fehlgeschlagen:', error); + res.status(500).json({ error: 'RECOVERY_VERIFY_FAILED' }); + } +}); + +app.post('/api/auth/recover/reset', (req, res) => { + const { token, password, confirmPassword } = req.body ?? {}; + + if (!token || typeof token !== 'string' || !token.trim()) { + return res.status(400).json({ error: 'TOKEN_REQUIRED' }); + } + + if (typeof password !== 'string' || !password.trim()) { + return res.status(400).json({ error: 'PASSWORD_REQUIRED' }); + } + + if (typeof confirmPassword === 'string' && password !== confirmPassword) { + return res.status(400).json({ error: 'PASSWORD_MISMATCH' }); + } + + const trimmedToken = token.trim(); + const ticket = getPasswordResetTicket(trimmedToken); + if (!ticket) { + return res.status(410).json({ error: 'TOKEN_INVALID_OR_EXPIRED' }); + } + + try { + setUserPassword(ticket.userId, password, { resetMethod: 'security-phrase' }); + passwordResetTickets.delete(trimmedToken); + removeSessionsForUser(ticket.userId); + res.json({ success: true }); + } catch (error) { + if (error.code === 'INVALID_PASSWORD' || error.code === 'PASSWORD_TOO_SHORT') { + return res.status(400).json({ error: error.code }); + } + if (error.code === 'USER_NOT_FOUND') { + passwordResetTickets.delete(trimmedToken); + return res.status(404).json({ error: 'USER_NOT_FOUND' }); + } + console.error('⚠️ [Auth] Passwort-Zurücksetzung fehlgeschlagen:', error); + res.status(500).json({ error: 'RECOVERY_RESET_FAILED' }); + } +}); + app.get('/api/auth/session', (req, res) => { if (!hasSuperuser()) { return res.status(403).json({ error: 'SUPERUSER_REQUIRED' }); @@ -1760,8 +2015,8 @@ app.get('/api/auth/session', (req, res) => { return res.status(401).json({ error: 'UNAUTHORIZED' }); } - const user = findUserById(session.userId); - if (!user || !user.is_active) { + const payload = buildUserSessionPayload(session.userId); + if (!payload) { activeSessions.delete(token); clearAuthCookie(res); return res.status(401).json({ error: 'UNAUTHORIZED' }); @@ -1769,10 +2024,10 @@ app.get('/api/auth/session', (req, res) => { touchSession(token); setAuthCookie(res, token); - res.json({ user: sanitizeUser(user) }); + res.json(payload); }); -app.get('/api/users', (req, res) => { +app.get('/api/users', requirePermission('users-access', 'read'), (req, res) => { try { const users = listUsers(); res.json({ items: users, total: users.length }); @@ -1782,11 +2037,11 @@ app.get('/api/users', (req, res) => { } }); -app.post('/api/users', (req, res) => { +app.post('/api/users', requirePermission('users-edit', 'full'), (req, res) => { const { username, email, password, groupId, avatarColor } = req.body ?? {}; try { - const user = createUser({ username, email, password, groupId, avatarColor }); + const user = createUser({ username, email, password, groupId, avatarColor }, { actor: req.user }); res.status(201).json({ item: user }); } catch (error) { if (error.code === 'USERNAME_REQUIRED' || error.code === 'INVALID_GROUP_ID') { @@ -1809,7 +2064,62 @@ app.post('/api/users', (req, res) => { } }); -app.get('/api/users/:userId', (req, res) => { +app.get('/api/users/me/security-phrase', (req, res) => { + const userId = req.user?.id; + if (!userId) { + return res.status(401).json({ error: 'UNAUTHORIZED' }); + } + + try { + const phrase = getUserSecurityPhrase(userId, { actor: req.user }); + if (phrase.downloadedAt) { + return res.status(409).json({ + error: 'SECURITY_PHRASE_ALREADY_DOWNLOADED', + downloadedAt: phrase.downloadedAt + }); + } + res.json({ + item: { + userId: phrase.userId, + words: phrase.words, + downloadedAt: phrase.downloadedAt + } + }); + } catch (error) { + if (error.code === 'USER_NOT_FOUND') { + return res.status(404).json({ error: 'USER_NOT_FOUND' }); + } + console.error(`⚠️ [Users] Sicherheitsschlüssel konnte für Benutzer ${userId} nicht geladen werden:`, error); + res.status(500).json({ error: 'USER_SECURITY_PHRASE_FETCH_FAILED' }); + } +}); + +app.post('/api/users/me/security-phrase/downloaded', (req, res) => { + const userId = req.user?.id; + if (!userId) { + return res.status(401).json({ error: 'UNAUTHORIZED' }); + } + + try { + const result = markSecurityPhraseDownloaded(userId, { actor: req.user }); + const sessionPayload = buildUserSessionPayload(userId); + res.json({ + item: { + userId: result.userId, + downloadedAt: result.downloadedAt + }, + session: sessionPayload + }); + } catch (error) { + if (error.code === 'USER_NOT_FOUND') { + return res.status(404).json({ error: 'USER_NOT_FOUND' }); + } + console.error(`⚠️ [Users] Sicherheits-Download konnte nicht vermerkt werden (${userId}):`, error); + res.status(500).json({ error: 'USER_SECURITY_PHRASE_DOWNLOAD_FAILED' }); + } +}); + +app.get('/api/users/:userId', requirePermission('users-access', 'read'), (req, res) => { const { userId } = req.params; const numericId = Number(userId); @@ -1829,7 +2139,53 @@ app.get('/api/users/:userId', (req, res) => { } }); -app.put('/api/users/:userId', (req, res) => { +app.get('/api/users/:userId/security-phrase', requirePermission('users-security-phrase', 'read'), (req, res) => { + const { userId } = req.params; + const numericId = Number(userId); + + if (!Number.isFinite(numericId) || numericId <= 0) { + return res.status(400).json({ error: 'INVALID_USER_ID' }); + } + + try { + const phrase = getUserSecurityPhrase(numericId, { actor: req.user }); + res.json({ item: phrase }); + } catch (error) { + if (error.code === 'INVALID_USER_ID') { + return res.status(400).json({ error: 'INVALID_USER_ID' }); + } + if (error.code === 'USER_NOT_FOUND') { + return res.status(404).json({ error: 'USER_NOT_FOUND' }); + } + console.error(`⚠️ [Users] Sicherheitsschlüssel konnte nicht geladen werden (${userId}):`, error); + res.status(500).json({ error: 'USER_SECURITY_PHRASE_FETCH_FAILED' }); + } +}); + +app.post('/api/users/:userId/security-phrase/renew', requirePermission('users-security-phrase', 'full'), (req, res) => { + const { userId } = req.params; + const numericId = Number(userId); + + if (!Number.isFinite(numericId) || numericId <= 0) { + return res.status(400).json({ error: 'INVALID_USER_ID' }); + } + + try { + const renewed = renewUserSecurityPhrase(numericId, { actor: req.user }); + res.json({ item: renewed }); + } catch (error) { + if (error.code === 'INVALID_USER_ID') { + return res.status(400).json({ error: 'INVALID_USER_ID' }); + } + if (error.code === 'USER_NOT_FOUND') { + return res.status(404).json({ error: 'USER_NOT_FOUND' }); + } + console.error(`⚠️ [Users] Sicherheitsschlüssel konnte nicht erneuert werden (${userId}):`, error); + res.status(500).json({ error: 'USER_SECURITY_PHRASE_RENEW_FAILED' }); + } +}); + +app.put('/api/users/:userId', requirePermission('users-edit', 'full'), (req, res) => { const { userId } = req.params; const numericId = Number(userId); @@ -1886,7 +2242,7 @@ app.put('/api/users/:userId', (req, res) => { } }); -app.put('/api/users/:userId/groups', (req, res) => { +app.put('/api/users/:userId/groups', requirePermission('users-edit', 'full'), (req, res) => { const { userId } = req.params; const numericId = Number(userId); const { groupIds } = req.body ?? {}; @@ -1913,7 +2269,7 @@ app.put('/api/users/:userId/groups', (req, res) => { } }); -app.delete('/api/users/:userId', (req, res) => { +app.delete('/api/users/:userId', requirePermission('users-delete', 'full'), (req, res) => { const { userId } = req.params; const numericId = Number(userId); @@ -1940,7 +2296,7 @@ app.delete('/api/users/:userId', (req, res) => { } }); -app.put('/api/users/:userId/active', (req, res) => { +app.put('/api/users/:userId/active', requirePermission('users-edit', 'full'), (req, res) => { const { userId } = req.params; const numericId = Number(userId); const { isActive } = req.body ?? {}; @@ -1968,7 +2324,13 @@ app.put('/api/users/:userId/active', (req, res) => { } }); -app.get('/api/groups', (req, res) => { +app.get( + '/api/groups', + requireAnyPermission([ + { key: 'user-groups-access', level: 'read' }, + { key: 'users-edit', level: 'read' } + ]), + (req, res) => { try { const groups = listGroups(); res.json({ items: groups, total: groups.length }); @@ -1976,9 +2338,16 @@ app.get('/api/groups', (req, res) => { console.error('⚠️ [Groups] Abruf der Benutzergruppenliste fehlgeschlagen:', error); res.status(500).json({ error: 'GROUPS_FETCH_FAILED' }); } -}); + } +); -app.get('/api/groups/:groupId', (req, res) => { +app.get( + '/api/groups/:groupId', + requireAnyPermission([ + { key: 'user-groups-access', level: 'read' }, + { key: 'users-edit', level: 'read' } + ]), + (req, res) => { const { groupId } = req.params; const numericId = Number(groupId); @@ -1996,9 +2365,88 @@ app.get('/api/groups/:groupId', (req, res) => { console.error(`⚠️ [Groups] Abruf der Gruppendetails fehlgeschlagen (${groupId}):`, error); res.status(500).json({ error: 'GROUP_FETCH_FAILED' }); } + } +); + +app.get('/api/groups/:groupId/permissions', requirePermission('user-groups-edit', 'read'), (req, res) => { + const { groupId } = req.params; + const numericId = Number(groupId); + + if (!Number.isFinite(numericId) || numericId <= 0) { + return res.status(400).json({ error: 'INVALID_GROUP_ID' }); + } + + try { + const group = getGroupById(numericId); + if (!group) { + return res.status(404).json({ error: 'GROUP_NOT_FOUND' }); + } + + const sections = getPermissionStructure(); + const isSuperuser = (group.name || '').toLowerCase() === SUPERUSER_GROUP_NAME; + let values = {}; + + if (isSuperuser) { + clearGroupPermissionValues(numericId); + } else { + values = getPermissionValuesByGroup(numericId); + } + + res.json({ sections, values }); + } catch (error) { + console.error(`⚠️ [Groups] Abruf der Gruppenberechtigungen fehlgeschlagen (${groupId}):`, error); + res.status(500).json({ error: 'GROUP_PERMISSIONS_FETCH_FAILED' }); + } }); -app.post('/api/groups', (req, res) => { +app.put('/api/groups/:groupId/permissions', requirePermission('user-groups-edit', 'full'), (req, res) => { + const { groupId } = req.params; + const numericId = Number(groupId); + + if (!Number.isFinite(numericId) || numericId <= 0) { + return res.status(400).json({ error: 'INVALID_GROUP_ID' }); + } + + try { + const group = getGroupById(numericId); + if (!group) { + return res.status(404).json({ error: 'GROUP_NOT_FOUND' }); + } + + const isSuperuser = (group.name || '').toLowerCase() === SUPERUSER_GROUP_NAME; + if (isSuperuser) { + clearGroupPermissionValues(numericId); + return res.status(403).json({ error: 'GROUP_SUPERUSER_PROTECTED' }); + } + + const valuesPayload = req.body?.values ?? {}; + const savedValues = saveGroupPermissionValues(numericId, valuesPayload); + + res.json({ success: true, values: savedValues }); + } catch (error) { + const serverError = error?.code; + if (serverError === 'GROUP_NOT_FOUND') { + return res.status(404).json({ error: 'GROUP_NOT_FOUND' }); + } + if (serverError === 'PERMISSION_INVALID_PAYLOAD') { + return res.status(400).json({ error: 'PERMISSION_INVALID_PAYLOAD' }); + } + if (serverError === 'PERMISSION_INVALID_LEVEL') { + return res.status(400).json({ error: 'PERMISSION_INVALID_LEVEL', permissionKey: error.permissionKey, level: error.level }); + } + if (serverError === 'PERMISSION_UNKNOWN_KEY') { + return res.status(400).json({ error: 'PERMISSION_UNKNOWN_KEY', permissionKey: error.permissionKey }); + } + if (serverError === 'INVALID_GROUP_ID') { + return res.status(400).json({ error: 'INVALID_GROUP_ID' }); + } + + console.error(`⚠️ [Groups] Aktualisierung der Berechtigungen fehlgeschlagen (${groupId}):`, error); + res.status(500).json({ error: 'GROUP_PERMISSIONS_UPDATE_FAILED' }); + } +}); + +app.post('/api/groups', requirePermission('user-groups-edit', 'full'), (req, res) => { const { name, description } = req.body ?? {}; try { const group = createGroup({ name, description }); @@ -2015,7 +2463,7 @@ app.post('/api/groups', (req, res) => { } }); -app.put('/api/groups/:groupId', (req, res) => { +app.put('/api/groups/:groupId', requirePermission('user-groups-edit', 'full'), (req, res) => { const { groupId } = req.params; const numericId = Number(groupId); @@ -2053,7 +2501,7 @@ app.put('/api/groups/:groupId', (req, res) => { } }); -app.delete('/api/groups/:groupId', (req, res) => { +app.delete('/api/groups/:groupId', requirePermission('user-groups-delete', 'full'), (req, res) => { const { groupId } = req.params; const numericId = Number(groupId); @@ -2197,7 +2645,7 @@ app.get('/api/stacks', maintenanceGuard, async (req, res) => { } }); -app.get('/api/maintenance/portainer-status', async (req, res) => { +app.get('/api/maintenance/portainer-status', requirePermission('maintenance-portainer', 'read'), async (req, res) => { console.log("🧭 [Maintenance] GET /api/maintenance/portainer-status: Prüfung gestartet"); try { const payload = await fetchPortainerStatusSummary(); @@ -2212,7 +2660,7 @@ app.get('/api/maintenance/portainer-status', async (req, res) => { } }); -app.post('/api/maintenance/mode', (req, res) => { +app.post('/api/maintenance/mode', requirePermission('maintenance-access', 'full'), (req, res) => { try { const { active, message } = req.body ?? {}; const normalizedMessage = typeof message === 'string' && message.trim() ? message.trim() : null; @@ -2231,7 +2679,7 @@ app.post('/api/maintenance/mode', (req, res) => { } }); -app.get('/api/maintenance/config', (req, res) => { +app.get('/api/maintenance/config', requirePermission('maintenance-server-manage', 'read'), (req, res) => { const custom = getCustomPortainerScript(); const effective = getEffectivePortainerScript(); const ssh = getPortainerSshConfig(); @@ -2257,7 +2705,7 @@ app.get('/api/maintenance/config', (req, res) => { }); }); -app.put('/api/maintenance/ssh-config', (req, res) => { +app.put('/api/maintenance/ssh-config', requirePermission('maintenance-ssh-update', 'full'), (req, res) => { try { const config = savePortainerSshConfig(req.body || {}); res.json({ @@ -2276,7 +2724,7 @@ app.put('/api/maintenance/ssh-config', (req, res) => { } }); -app.delete('/api/maintenance/ssh-config', (req, res) => { +app.delete('/api/maintenance/ssh-config', requirePermission('maintenance-ssh-update', 'full'), (req, res) => { const config = deletePortainerSshConfig(); res.json({ success: true, @@ -2290,7 +2738,7 @@ app.delete('/api/maintenance/ssh-config', (req, res) => { }); }); -app.post('/api/maintenance/test-ssh', async (req, res) => { +app.post('/api/maintenance/test-ssh', requirePermission('maintenance-ssh-update', 'full'), async (req, res) => { try { const override = req.body && Object.keys(req.body).length ? req.body : null; const result = await testSshConnection(override); @@ -2301,7 +2749,7 @@ app.post('/api/maintenance/test-ssh', async (req, res) => { } }); -app.put('/api/maintenance/update-script', (req, res) => { +app.put('/api/maintenance/update-script', requirePermission('maintenance-ssh-update', 'full'), (req, res) => { if (portainerUpdateState.running) { return res.status(409).json({ error: 'Aktualisierung läuft. Skript kann derzeit nicht geändert werden.', @@ -2332,7 +2780,7 @@ app.put('/api/maintenance/update-script', (req, res) => { }); }); -app.delete('/api/maintenance/update-script', (req, res) => { +app.delete('/api/maintenance/update-script', requirePermission('maintenance-ssh-update', 'full'), (req, res) => { if (portainerUpdateState.running) { return res.status(409).json({ error: 'Aktualisierung läuft. Skript kann derzeit nicht geändert werden.', @@ -2356,14 +2804,14 @@ app.delete('/api/maintenance/update-script', (req, res) => { }); }); -app.get('/api/maintenance/update-status', (req, res) => { +app.get('/api/maintenance/update-status', requirePermission('maintenance-update', 'read'), (req, res) => { res.json({ maintenance: getMaintenanceState(), update: getPortainerUpdateStatus() }); }); -app.post('/api/maintenance/portainer-update', async (req, res) => { +app.post('/api/maintenance/portainer-update', requirePermission('maintenance-update', 'full'), async (req, res) => { if (portainerUpdateState.running) { return res.status(409).json({ error: 'Ein Portainer-Update läuft bereits.', @@ -2429,7 +2877,11 @@ app.post('/api/maintenance/portainer-update', async (req, res) => { }); }); -app.get('/api/maintenance/duplicates', maintenanceGuard, async (req, res) => { +app.get( + '/api/maintenance/duplicates', + maintenanceGuard, + requirePermission('maintenance-duplicates', 'read'), + async (req, res) => { console.log("🧹 [Maintenance] GET /api/maintenance/duplicates: Abruf gestartet"); try { const { duplicates } = await loadStackCollections(); @@ -2464,7 +2916,11 @@ app.get('/api/maintenance/duplicates', maintenanceGuard, async (req, res) => { } }); -app.post('/api/maintenance/duplicates/cleanup', maintenanceGuard, async (req, res) => { +app.post( + '/api/maintenance/duplicates/cleanup', + maintenanceGuard, + requirePermission('maintenance-duplicates', 'full'), + async (req, res) => { const canonicalId = req.body?.canonicalId; const duplicateIdsInput = Array.isArray(req.body?.duplicateIds) ? req.body.duplicateIds : []; const duplicateIds = duplicateIdsInput @@ -2592,7 +3048,7 @@ app.post('/api/maintenance/duplicates/cleanup', maintenanceGuard, async (req, re }); // Event-Logs abrufen -app.get('/api/logs', (req, res) => { +app.get('/api/logs', requirePermission('logs-access', 'read'), (req, res) => { const perPageParam = req.query.perPage ?? req.query.limit; const perPage = perPageParam === 'all' ? 'all' : Math.min(parseInt(perPageParam, 10) || 50, 500); const page = Math.max(parseInt(req.query.page, 10) || 1, 1); @@ -2677,7 +3133,7 @@ app.get('/api/logs', (req, res) => { } }); -app.delete('/api/logs/:id', (req, res) => { +app.delete('/api/logs/:id', requirePermission('logs-delete', 'full'), (req, res) => { const id = Number(req.params.id); if (Number.isNaN(id)) { return res.status(400).json({ error: 'Ungültige ID' }); @@ -2695,7 +3151,7 @@ app.delete('/api/logs/:id', (req, res) => { } }); -app.delete('/api/logs', (req, res) => { +app.delete('/api/logs', requirePermission('logs-delete', 'full'), (req, res) => { try { const deleted = deleteEventLogsByFilters(req.query); res.json({ success: true, deleted }); @@ -2705,7 +3161,7 @@ app.delete('/api/logs', (req, res) => { } }); -app.get('/api/logs/export', (req, res) => { +app.get('/api/logs/export', requirePermission('logs-export', 'full'), (req, res) => { const format = (req.query.format || 'txt').toLowerCase(); if (!['txt', 'sql'].includes(format)) { return res.status(400).json({ error: 'Ungültiges Export-Format' }); @@ -2723,7 +3179,7 @@ app.get('/api/logs/export', (req, res) => { }); // Einzel-Redeploy -app.put('/api/stacks/:id/redeploy', async (req, res) => { +app.put('/api/stacks/:id/redeploy', requirePermission('stacks-redeploy-single', 'full'), async (req, res) => { const { id } = req.params; console.log(`🔄 PUT /api/stacks/${id}/redeploy: Redeploy gestartet`); @@ -2739,7 +3195,11 @@ app.put('/api/stacks/:id/redeploy', async (req, res) => { }); // Redeploy ALL -app.put('/api/stacks/redeploy-all', maintenanceGuard, async (req, res) => { +app.put( + '/api/stacks/redeploy-all', + maintenanceGuard, + requirePermission('stacks-redeploy-all', 'full'), + async (req, res) => { console.log(`🚀 PUT /api/stacks/redeploy-all: Redeploy ALL gestartet`); let endpointId; @@ -2840,7 +3300,11 @@ app.put('/api/stacks/redeploy-all', maintenanceGuard, async (req, res) => { }); // Redeploy selection -app.put('/api/stacks/redeploy-selection', maintenanceGuard, async (req, res) => { +app.put( + '/api/stacks/redeploy-selection', + maintenanceGuard, + requirePermission('stacks-redeploy-selection', 'full'), + async (req, res) => { const { stackIds } = req.body || {}; const totalCount = Array.isArray(stackIds) ? stackIds.length : 0; console.log(`🚀 PUT /api/stacks/redeploy-selection: Redeploy Auswahl gestartet (${totalCount} Stacks)`); diff --git a/backend/package-lock.json b/backend/package-lock.json index 8d0c8a9..985d1fc 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -8,6 +8,7 @@ "name": "backend", "version": "1.0.0", "dependencies": { + "@scure/bip39": "^2.0.0", "axios": "^1.7.0", "better-sqlite3": "^9.6.0", "dockerode": "^4.0.7", @@ -59,6 +60,17 @@ "url": "https://opencollective.com/js-sdsl" } }, + "node_modules/@noble/hashes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz", + "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", @@ -113,6 +125,26 @@ "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, + "node_modules/@scure/base": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-2.0.0.tgz", + "integrity": "sha512-3E1kpuZginKkek01ovG8krQ0Z44E3DHPjc5S2rjJw9lZn3KSQOs8S7wqikF/AH7iRanHypj85uGyxk0XAyC37w==", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@scure/bip39": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-2.0.1.tgz", + "integrity": "sha512-PsxdFj/d2AcJcZDX1FXN3dDgitDDTmwf78rKZq1a6c1P1Nan1X/Sxc7667zU3U+AN60g7SxxP0YCVw2H/hBycg==", + "dependencies": { + "@noble/hashes": "2.0.1", + "@scure/base": "2.0.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@socket.io/component-emitter": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", diff --git a/backend/package.json b/backend/package.json index 290f8ff..788889b 100644 --- a/backend/package.json +++ b/backend/package.json @@ -12,6 +12,7 @@ "dockerode": "^4.0.7", "dotenv": "^16.0.0", "express": "^4.18.0", - "socket.io": "^4.8.1" + "socket.io": "^4.8.1", + "@scure/bip39": "^2.0.0" } } diff --git a/backend/permissions/index.js b/backend/permissions/index.js new file mode 100644 index 0000000..59da3f6 --- /dev/null +++ b/backend/permissions/index.js @@ -0,0 +1,355 @@ +import { db } from '../db/index.js'; + +const LEVEL_PRIORITY = { + none: 0, + read: 1, + full: 2 +}; + +const selectSections = db.prepare(` + SELECT id, key, title, sort_order, has_navigation_flag + FROM permission_sections + ORDER BY sort_order ASC, id ASC +`); + +const selectGroups = db.prepare(` + SELECT id, section_id, key, title, sort_order + FROM permission_groups + ORDER BY section_id ASC, sort_order ASC, id ASC +`); + +const selectItems = db.prepare(` + SELECT + id, + section_id, + group_id, + key, + label, + sort_order, + default_level, + available_levels, + is_required + FROM permission_items + ORDER BY section_id ASC, COALESCE(group_id, 0) ASC, sort_order ASC, id ASC +`); + +const selectDependencies = db.prepare(` + SELECT permission_id, depends_on_permission_id, required_level + FROM permission_dependencies +`); + +const selectPermissionItemsForMap = db.prepare(` + SELECT id, key, available_levels, default_level + FROM permission_items +`); + +const selectGroupPermissionValues = db.prepare(` + SELECT gp.permission_id, gp.level, gp.effective_level, pi.key + FROM group_permission_values gp + JOIN permission_items pi ON pi.id = gp.permission_id + WHERE gp.group_id = ? +`); + +const deleteGroupPermissionValuesStmt = db.prepare(` + DELETE FROM group_permission_values + WHERE group_id = ? +`); + +const insertGroupPermissionValueStmt = db.prepare(` + INSERT INTO group_permission_values (group_id, permission_id, level, effective_level, created_at, updated_at) + VALUES (?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) +`); + +const parseAvailableLevels = (raw) => { + if (typeof raw !== 'string' || !raw.trim()) { + return ['full', 'read', 'none']; + } + try { + const parsed = JSON.parse(raw); + if (Array.isArray(parsed) && parsed.every((entry) => typeof entry === 'string')) { + return parsed; + } + } catch (error) { + console.warn('⚠️ Konnte available_levels nicht parsen:', error.message); + } + return ['full', 'read', 'none']; +}; + +const getLevelPriority = (level) => { + if (!level) return 0; + return LEVEL_PRIORITY[level] ?? 0; +}; + +let cachedPermissionItems = null; + +const getPermissionItems = () => { + if (!cachedPermissionItems) { + cachedPermissionItems = selectPermissionItemsForMap.all(); + } + return cachedPermissionItems; +}; + +const resetPermissionItemsCache = () => { + cachedPermissionItems = null; +}; + +export function getPermissionStructure() { + const sections = selectSections.all(); + const groups = selectGroups.all(); + const items = selectItems.all(); + const dependencies = selectDependencies.all(); + + const itemIdToKey = new Map(items.map((item) => [item.id, item.key])); + + const dependenciesByItemId = new Map(); + dependencies.forEach((dependency) => { + const list = dependenciesByItemId.get(dependency.permission_id) || []; + list.push(dependency); + dependenciesByItemId.set(dependency.permission_id, list); + }); + + const groupsBySectionId = new Map(); + groups.forEach((group) => { + const list = groupsBySectionId.get(group.section_id) || []; + list.push(group); + groupsBySectionId.set(group.section_id, list); + }); + + const itemsBySectionId = new Map(); + const itemsByGroupId = new Map(); + + items.forEach((item) => { + if (item.group_id) { + const list = itemsByGroupId.get(item.group_id) || []; + list.push(item); + itemsByGroupId.set(item.group_id, list); + } else { + const list = itemsBySectionId.get(item.section_id) || []; + list.push(item); + itemsBySectionId.set(item.section_id, list); + } + }); + + const formatItem = (item) => { + const availableLevels = parseAvailableLevels(item.available_levels); + + const dependencyEntries = dependenciesByItemId.get(item.id) || []; + const formattedDependencies = dependencyEntries + .map((dependency) => { + const dependsOnKey = itemIdToKey.get(dependency.depends_on_permission_id); + if (!dependsOnKey) { + return null; + } + return { + key: dependsOnKey, + requiredLevel: dependency.required_level || null + }; + }) + .filter(Boolean); + + return { + key: item.key, + label: item.label, + sortOrder: item.sort_order ?? 0, + defaultLevel: item.default_level || 'none', + availableLevels, + isRequired: Boolean(item.is_required), + dependencies: formattedDependencies + }; + }; + + const formattedSections = sections.map((section) => { + const sectionItems = (itemsBySectionId.get(section.id) || []).map(formatItem); + const sectionGroups = (groupsBySectionId.get(section.id) || []).map((group) => ({ + key: group.key, + title: group.title, + sortOrder: group.sort_order ?? 0, + items: (itemsByGroupId.get(group.id) || []).map(formatItem) + })); + + return { + key: section.key, + title: section.title, + sortOrder: section.sort_order ?? 0, + hasNavigation: Boolean(section.has_navigation_flag), + items: sectionItems, + groups: sectionGroups + }; + }); + + return formattedSections; +} + +export function getPermissionValuesByGroup(groupId) { + const numericId = Number(groupId); + if (!Number.isFinite(numericId) || numericId <= 0) { + return {}; + } + + const rows = selectGroupPermissionValues.all(numericId); + const values = {}; + rows.forEach((row) => { + if (row?.key && typeof row.level === 'string') { + values[row.key] = row.level; + } + }); + return values; +} + +export function clearGroupPermissionValues(groupId) { + const numericId = Number(groupId); + if (!Number.isFinite(numericId) || numericId <= 0) { + return; + } + deleteGroupPermissionValuesStmt.run(numericId); +} + +export function saveGroupPermissionValues(groupId, values = {}) { + const numericId = Number(groupId); + if (!Number.isFinite(numericId) || numericId <= 0) { + const error = new Error('INVALID_GROUP_ID'); + error.code = 'INVALID_GROUP_ID'; + throw error; + } + + if (values === null || typeof values !== 'object' || Array.isArray(values)) { + const error = new Error('PERMISSION_INVALID_PAYLOAD'); + error.code = 'PERMISSION_INVALID_PAYLOAD'; + throw error; + } + + const items = getPermissionItems(); + const itemMap = new Map(); + items.forEach((item) => { + itemMap.set(item.key, { + id: item.id, + key: item.key, + defaultLevel: item.default_level || 'none', + availableLevels: parseAvailableLevels(item.available_levels) + }); + }); + + const entries = Object.entries(values); + const normalizedEntries = []; + + entries.forEach(([key, rawValue]) => { + const item = itemMap.get(key); + if (!item) { + const error = new Error('PERMISSION_UNKNOWN_KEY'); + error.code = 'PERMISSION_UNKNOWN_KEY'; + error.permissionKey = key; + throw error; + } + + let level = typeof rawValue === 'string' ? rawValue.trim() : String(rawValue ?? '').trim(); + if (!level) { + level = 'none'; + } + + if (!item.availableLevels.includes(level)) { + const error = new Error('PERMISSION_INVALID_LEVEL'); + error.code = 'PERMISSION_INVALID_LEVEL'; + error.permissionKey = key; + error.level = level; + throw error; + } + + normalizedEntries.push({ item, level }); + }); + + const runSave = db.transaction(() => { + deleteGroupPermissionValuesStmt.run(numericId); + normalizedEntries.forEach(({ item, level }) => { + if (level === (item.defaultLevel || 'none')) { + return; + } + insertGroupPermissionValueStmt.run(numericId, item.id, level, level); + }); + }); + + runSave(); + resetPermissionItemsCache(); + + return getPermissionValuesByGroup(numericId); +} + +export function getDefaultPermissionMap() { + const items = getPermissionItems(); + const defaults = {}; + items.forEach((item) => { + defaults[item.key] = item.default_level || 'none'; + }); + return defaults; +} + +export function getSuperuserPermissionMap() { + const items = getPermissionItems(); + const result = {}; + + items.forEach((item) => { + const available = parseAvailableLevels(item.available_levels); + let chosen = 'full'; + if (!available.includes('full')) { + chosen = available.reduce( + (best, candidate) => + getLevelPriority(candidate) > getLevelPriority(best) ? candidate : best, + 'none' + ); + } + result[item.key] = chosen; + }); + + return result; +} + +export function getEffectivePermissionsForGroup(groupId) { + const defaults = getDefaultPermissionMap(); + const numericId = Number(groupId); + if (!Number.isFinite(numericId) || numericId <= 0) { + return defaults; + } + + const overrides = getPermissionValuesByGroup(numericId); + const map = { ...defaults }; + + Object.keys(overrides).forEach((key) => { + const value = overrides[key]; + if (typeof value === 'string') { + map[key] = value; + } + }); + + return map; +} + +export function getEffectivePermissionsForGroups(groupIds = []) { + const defaults = getDefaultPermissionMap(); + const finalMap = { ...defaults }; + + const iterableIds = Array.isArray(groupIds) ? groupIds : []; + iterableIds + .map((value) => Number(value)) + .filter((value) => Number.isFinite(value) && value > 0) + .forEach((groupId) => { + const map = getEffectivePermissionsForGroup(groupId); + Object.entries(map).forEach(([key, level]) => { + if (getLevelPriority(level) > getLevelPriority(finalMap[key] ?? 'none')) { + finalMap[key] = level; + } + }); + }); + + return finalMap; +} + +export function hasRequiredPermission(permissions = {}, permissionKey, requiredLevel = 'full') { + if (!permissionKey) { + return true; + } + if (requiredLevel === 'none' || requiredLevel === null || requiredLevel === undefined) { + return true; + } + const current = typeof permissions[permissionKey] === 'string' ? permissions[permissionKey] : 'none'; + const required = typeof requiredLevel === 'string' ? requiredLevel : 'full'; + return getLevelPriority(current) >= getLevelPriority(required); +} diff --git a/backend/public/assets/index-11780ccd.css b/backend/public/assets/index-11780ccd.css deleted file mode 100644 index a8d35e1..0000000 --- a/backend/public/assets/index-11780ccd.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#eee}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#bdbdbd}input::placeholder,textarea::placeholder{opacity:1;color:#bdbdbd}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(33 150 243 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(33 150 243 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 540px){.container{max-width:540px}}@media (min-width: 720px){.container{max-width:720px}}@media (min-width: 960px){.container{max-width:960px}}@media (min-width: 1140px){.container{max-width:1140px}}@media (min-width: 1320px){.container{max-width:1320px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.\!invisible{visibility:hidden!important}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-left-1{left:-.25rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-\[14\%\]{bottom:14%}.bottom-\[4\%\]{bottom:4%}.left-0{left:0}.left-1{left:.25rem}.left-1\.5{left:.375rem}.left-1\/2,.left-2\/4{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.left-\[14\%\]{left:14%}.left-\[2\%\]{left:2%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-8{right:2rem}.right-\[14\%\]{right:14%}.right-\[2\%\]{right:2%}.top-0{top:0}.top-1\/2,.top-2\/4{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-\[14\%\]{top:14%}.top-\[4\%\]{top:4%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[2\]{z-index:2}.z-\[9995\]{z-index:9995}.z-\[9999\]{z-index:9999}.z-\[999\]{z-index:999}.order-last{order:9999}.m-0{margin:0}.m-0\.5{margin:.125rem}.m-4{margin:1rem}.m-8{margin:2rem}.mx-0{margin-left:0;margin-right:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mx-px{margin-left:1px;margin-right:1px}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-3{margin-bottom:-.75rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-ml-2\.5{margin-left:-.625rem}.-mt-16{margin-top:-4rem}.-mt-6{margin-top:-1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-\[18px\]{margin-left:18px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-12{margin-right:3rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-px{margin-top:1px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!h-5{height:1.25rem!important}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[110px\]{height:110px}.h-\[18px\]{height:18px}.h-\[58px\]{height:58px}.h-\[74px\]{height:74px}.h-\[calc\(100vh-32px\)\]{height:calc(100vh - 32px)}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.h-screen{height:100vh}.max-h-96{max-height:24rem}.max-h-\[100vh\]{max-height:100vh}.max-h-\[32px\]{max-height:32px}.max-h-\[40px\]{max-height:40px}.max-h-\[48px\]{max-height:48px}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-\[100px\]{min-height:100px}.min-h-\[100vh\]{min-height:100vh}.min-h-\[12px\]{min-height:12px}.min-h-\[24px\]{min-height:24px}.min-h-\[48px\]{min-height:48px}.min-h-screen{min-height:100vh}.\!w-5{width:1.25rem!important}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-10\/12{width:83.333333%}.w-12{width:3rem}.w-2{width:.5rem}.w-2\/5{width:40%}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[110px\]{width:110px}.w-\[18px\]{width:18px}.w-\[58px\]{width:58px}.w-\[74px\]{width:74px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-\[100vw\]{min-width:100vw}.min-w-\[12px\]{min-width:12px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[240px\]{min-width:240px}.min-w-\[24px\]{min-width:24px}.min-w-\[48px\]{min-width:48px}.min-w-\[640px\]{min-width:640px}.min-w-\[720px\]{min-width:720px}.min-w-\[80\%\]{min-width:80%}.min-w-\[860px\]{min-width:860px}.min-w-\[90\%\]{min-width:90%}.min-w-\[95\%\]{min-width:95%}.max-w-\[100vw\]{max-width:100vw}.max-w-\[32px\]{max-width:32px}.max-w-\[40px\]{max-width:40px}.max-w-\[48px\]{max-width:48px}.max-w-\[80\%\]{max-width:80%}.max-w-\[90\%\]{max-width:90%}.max-w-\[95\%\]{max-width:95%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-screen-2xl{max-width:1320px}.max-w-screen-lg{max-width:960px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.table-auto{table-layout:auto}.-translate-x-1\/2,.-translate-x-2\/4{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-80{--tw-translate-x: -20rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/4{--tw-translate-y: -25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2\/4{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-2\/4{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-96{--tw-translate-x: 24rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2\/4{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-100{--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\!resize-none{resize:none!important}.resize-none{resize:none}.resize-y{resize:vertical}.\!resize{resize:both!important}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-10{row-gap:2.5rem}.gap-y-12{row-gap:3rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-amber-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(255 179 0 / var(--tw-divide-opacity))}.divide-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(30 136 229 / var(--tw-divide-opacity))}.divide-blue-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(236 239 241 / var(--tw-divide-opacity))}.divide-blue-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(84 110 122 / var(--tw-divide-opacity))}.divide-brown-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(109 76 65 / var(--tw-divide-opacity))}.divide-cyan-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(0 172 193 / var(--tw-divide-opacity))}.divide-deep-orange-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(244 81 30 / var(--tw-divide-opacity))}.divide-deep-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(94 53 177 / var(--tw-divide-opacity))}.divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(66 66 66 / var(--tw-divide-opacity))}.divide-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(22 163 74 / var(--tw-divide-opacity))}.divide-indigo-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(57 73 171 / var(--tw-divide-opacity))}.divide-light-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(3 155 229 / var(--tw-divide-opacity))}.divide-light-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(124 179 66 / var(--tw-divide-opacity))}.divide-lime-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(192 202 51 / var(--tw-divide-opacity))}.divide-orange-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(234 88 12 / var(--tw-divide-opacity))}.divide-pink-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(216 27 96 / var(--tw-divide-opacity))}.divide-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(142 36 170 / var(--tw-divide-opacity))}.divide-red-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 57 53 / var(--tw-divide-opacity))}.divide-teal-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(0 137 123 / var(--tw-divide-opacity))}.divide-yellow-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(253 216 53 / var(--tw-divide-opacity))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.\!overflow-visible{overflow:visible!important}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[7px\]{border-radius:7px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-tl-none{border-top-left-radius:0}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r-0{border-right-width:0px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(255 224 130 / var(--tw-border-opacity))}.border-amber-500{--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.border-arcticBlue-400{--tw-border-opacity: 1;border-color:rgb(102 182 231 / var(--tw-border-opacity))}.border-arcticBlue-500{--tw-border-opacity: 1;border-color:rgb(51 158 222 / var(--tw-border-opacity))}.border-arcticBlue-600{--tw-border-opacity: 1;border-color:rgb(31 134 195 / var(--tw-border-opacity))}.border-arcticBlue-800{--tw-border-opacity: 1;border-color:rgb(15 75 111 / var(--tw-border-opacity))}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(144 202 249 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.border-blue-gray-100{--tw-border-opacity: 1;border-color:rgb(207 216 220 / var(--tw-border-opacity))}.border-blue-gray-200{--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.border-blue-gray-50{--tw-border-opacity: 1;border-color:rgb(236 239 241 / var(--tw-border-opacity))}.border-blue-gray-500{--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.border-brown-500{--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.border-cyan-500{--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.border-cyan-500\/60{border-color:#00bcd499}.border-deep-orange-500{--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.border-deep-purple-500{--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(238 238 238 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(117 117 117 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(97 97 97 / var(--tw-border-opacity))}.border-gray-700\/20{border-color:#61616133}.border-gray-900{--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.border-light-blue-500{--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.border-light-green-500{--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.border-lime-500{--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.border-mossGreen-500\/80{border-color:#60b240cc}.border-mossGreen-700{--tw-border-opacity: 1;border-color:rgb(59 107 39 / var(--tw-border-opacity))}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.border-pink-500{--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(239 154 154 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-sunsetCoral-500{--tw-border-opacity: 1;border-color:rgb(255 106 93 / var(--tw-border-opacity))}.border-sunsetCoral-500\/40{border-color:#ff6a5d66}.border-sunsetCoral-500\/60{border-color:#ff6a5d99}.border-sunsetCoral-500\/80{border-color:#ff6a5dcc}.border-sunsetCoral-600{--tw-border-opacity: 1;border-color:rgb(230 80 72 / var(--tw-border-opacity))}.border-teal-500{--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-warmAmberGlow-500\/80{border-color:#ff8f00cc}.border-warmAmberGlow-600{--tw-border-opacity: 1;border-color:rgb(230 118 0 / var(--tw-border-opacity))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-white\/80{border-color:#fffc}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.\!border-t-blue-gray-200{--tw-border-opacity: 1 !important;border-top-color:rgb(176 190 197 / var(--tw-border-opacity))!important}.\!border-t-transparent{border-top-color:transparent!important}.border-b-blue-gray-100{--tw-border-opacity: 1;border-bottom-color:rgb(207 216 220 / var(--tw-border-opacity))}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.border-t-blue-gray-100{--tw-border-opacity: 1;border-top-color:rgb(207 216 220 / var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 248 225 / var(--tw-bg-opacity))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(255 193 7 / var(--tw-bg-opacity))}.bg-amber-500\/10{background-color:#ffc1071a}.bg-amber-500\/20{background-color:#ffc10733}.bg-arcticBlue-100{--tw-bg-opacity: 1;background-color:rgb(230 243 251 / var(--tw-bg-opacity))}.bg-arcticBlue-400{--tw-bg-opacity: 1;background-color:rgb(102 182 231 / var(--tw-bg-opacity))}.bg-arcticBlue-500{--tw-bg-opacity: 1;background-color:rgb(51 158 222 / var(--tw-bg-opacity))}.bg-arcticBlue-600{--tw-bg-opacity: 1;background-color:rgb(31 134 195 / var(--tw-bg-opacity))}.bg-arcticBlue-700{--tw-bg-opacity: 1;background-color:rgb(22 105 155 / var(--tw-bg-opacity))}.bg-arcticBlue-900{--tw-bg-opacity: 1;background-color:rgb(8 45 67 / var(--tw-bg-opacity))}.bg-arcticBlue-900\/90{background-color:#082d43e6}.bg-auroraTeal-500{--tw-bg-opacity: 1;background-color:rgb(56 198 204 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(227 242 253 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(33 150 243 / var(--tw-bg-opacity))}.bg-blue-500\/10{background-color:#2196f31a}.bg-blue-500\/20{background-color:#2196f333}.bg-blue-gray-100{--tw-bg-opacity: 1;background-color:rgb(207 216 220 / var(--tw-bg-opacity))}.bg-blue-gray-50{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.bg-blue-gray-50\/50{background-color:#eceff180}.bg-blue-gray-500{--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.bg-blue-gray-500\/10{background-color:#607d8b1a}.bg-blue-gray-500\/20{background-color:#607d8b33}.bg-blue-gray-500\/80{background-color:#607d8bcc}.bg-brown-500{--tw-bg-opacity: 1;background-color:rgb(121 85 72 / var(--tw-bg-opacity))}.bg-brown-500\/10{background-color:#7955481a}.bg-brown-500\/20{background-color:#79554833}.bg-citrusPunch-500{--tw-bg-opacity: 1;background-color:rgb(255 214 51 / var(--tw-bg-opacity))}.bg-citrusPunch-600\/80{background-color:#e6bd00cc}.bg-copperRust-500{--tw-bg-opacity: 1;background-color:rgb(141 77 85 / var(--tw-bg-opacity))}.bg-copperRust-600\/80{background-color:#7a444bcc}.bg-current{background-color:currentColor}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity))}.bg-cyan-500\/10{background-color:#00bcd41a}.bg-cyan-500\/20{background-color:#00bcd433}.bg-cyan-900\/30{background-color:#0060644d}.bg-deep-orange-500{--tw-bg-opacity: 1;background-color:rgb(255 87 34 / var(--tw-bg-opacity))}.bg-deep-orange-500\/10{background-color:#ff57221a}.bg-deep-orange-500\/20{background-color:#ff572233}.bg-deep-purple-500{--tw-bg-opacity: 1;background-color:rgb(103 58 183 / var(--tw-bg-opacity))}.bg-deep-purple-500\/10{background-color:#673ab71a}.bg-deep-purple-500\/20{background-color:#673ab733}.bg-emeraldMist-500{--tw-bg-opacity: 1;background-color:rgb(63 181 134 / var(--tw-bg-opacity))}.bg-emeraldMist-500\/80{background-color:#3fb586cc}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(224 224 224 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(158 158 158 / var(--tw-bg-opacity))}.bg-gray-800\/60{background-color:#42424299}.bg-gray-800\/70{background-color:#424242b3}.bg-gray-800\/80{background-color:#424242cc}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity))}.bg-gray-900\/10{background-color:#2121211a}.bg-gray-900\/40{background-color:#21212166}.bg-gray-900\/75{background-color:#212121bf}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(63 81 181 / var(--tw-bg-opacity))}.bg-indigo-500\/10{background-color:#3f51b51a}.bg-indigo-500\/20{background-color:#3f51b533}.bg-indigo-600\/80{background-color:#3949abcc}.bg-lavenderSmoke-500{--tw-bg-opacity: 1;background-color:rgb(150 112 184 / var(--tw-bg-opacity))}.bg-lavenderSmoke-600\/80{background-color:#7a5894cc}.bg-light-blue-500{--tw-bg-opacity: 1;background-color:rgb(3 169 244 / var(--tw-bg-opacity))}.bg-light-blue-500\/10{background-color:#03a9f41a}.bg-light-blue-500\/20{background-color:#03a9f433}.bg-light-green-500{--tw-bg-opacity: 1;background-color:rgb(139 195 74 / var(--tw-bg-opacity))}.bg-light-green-500\/10{background-color:#8bc34a1a}.bg-light-green-500\/20{background-color:#8bc34a33}.bg-lime-500{--tw-bg-opacity: 1;background-color:rgb(205 220 57 / var(--tw-bg-opacity))}.bg-lime-500\/10{background-color:#cddc391a}.bg-lime-500\/20{background-color:#cddc3933}.bg-mintTea-400{--tw-bg-opacity: 1;background-color:rgb(102 207 201 / var(--tw-bg-opacity))}.bg-mossGreen-400{--tw-bg-opacity: 1;background-color:rgb(140 197 111 / var(--tw-bg-opacity))}.bg-mossGreen-500{--tw-bg-opacity: 1;background-color:rgb(96 178 64 / var(--tw-bg-opacity))}.bg-mossGreen-600{--tw-bg-opacity: 1;background-color:rgb(77 143 51 / var(--tw-bg-opacity))}.bg-mossGreen-800{--tw-bg-opacity: 1;background-color:rgb(42 73 29 / var(--tw-bg-opacity))}.bg-mossGreen-900\/90{background-color:#1c3012e6}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-500\/20{background-color:#f9731633}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(233 30 99 / var(--tw-bg-opacity))}.bg-pink-500\/10{background-color:#e91e631a}.bg-pink-500\/20{background-color:#e91e6333}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(156 39 176 / var(--tw-bg-opacity))}.bg-purple-500\/10{background-color:#9c27b01a}.bg-purple-500\/20{background-color:#9c27b033}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(255 235 238 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(244 67 54 / var(--tw-bg-opacity))}.bg-red-500\/10{background-color:#f443361a}.bg-red-500\/20{background-color:#f4433633}.bg-roseQuartz-500{--tw-bg-opacity: 1;background-color:rgb(212 91 137 / var(--tw-bg-opacity))}.bg-stormGrey-200\/20{background-color:#d9dce233}.bg-stormGrey-700{--tw-bg-opacity: 1;background-color:rgb(62 68 86 / var(--tw-bg-opacity))}.bg-stormGrey-700\/60{background-color:#3e445699}.bg-sunsetCoral-400{--tw-bg-opacity: 1;background-color:rgb(255 145 137 / var(--tw-bg-opacity))}.bg-sunsetCoral-500{--tw-bg-opacity: 1;background-color:rgb(255 106 93 / var(--tw-bg-opacity))}.bg-sunsetCoral-600{--tw-bg-opacity: 1;background-color:rgb(230 80 72 / var(--tw-bg-opacity))}.bg-sunsetCoral-600\/80{background-color:#e65048cc}.bg-sunsetCoral-900\/20{background-color:#5c1c1a33}.bg-sunsetCoral-900\/40{background-color:#5c1c1a66}.bg-sunsetCoral-900\/90{background-color:#5c1c1ae6}.bg-teal-500{--tw-bg-opacity: 1;background-color:rgb(0 150 136 / var(--tw-bg-opacity))}.bg-teal-500\/10{background-color:#0096881a}.bg-teal-500\/20{background-color:#00968833}.bg-transparent{background-color:transparent}.bg-warmAmberGlow-400{--tw-bg-opacity: 1;background-color:rgb(255 173 77 / var(--tw-bg-opacity))}.bg-warmAmberGlow-700{--tw-bg-opacity: 1;background-color:rgb(179 90 0 / var(--tw-bg-opacity))}.bg-warmAmberGlow-900\/90{background-color:#4d2600e6}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/50{background-color:#ffffff80}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(255 235 59 / var(--tw-bg-opacity))}.bg-yellow-500\/10{background-color:#ffeb3b1a}.bg-yellow-500\/20{background-color:#ffeb3b33}.bg-opacity-60{--tw-bg-opacity: .6}.bg-opacity-80{--tw-bg-opacity: .8}.bg-\[url\(\'\/img\/background-image\.png\'\)\]{background-image:url(/img/background-image.png)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-600{--tw-gradient-from: #ffb300 var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 179 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black{--tw-gradient-from: #000000 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #1e88e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 136 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-gray-600{--tw-gradient-from: #546e7a var(--tw-gradient-from-position);--tw-gradient-to: rgb(84 110 122 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-gray-800{--tw-gradient-from: #37474f var(--tw-gradient-from-position);--tw-gradient-to: rgb(55 71 79 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-brown-600{--tw-gradient-from: #6d4c41 var(--tw-gradient-from-position);--tw-gradient-to: rgb(109 76 65 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-600{--tw-gradient-from: #00acc1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 172 193 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-deep-orange-600{--tw-gradient-from: #f4511e var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 81 30 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-deep-purple-600{--tw-gradient-from: #5e35b1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(94 53 177 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-600{--tw-gradient-from: #757575 var(--tw-gradient-from-position);--tw-gradient-to: rgb(117 117 117 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-800{--tw-gradient-from: #424242 var(--tw-gradient-from-position);--tw-gradient-to: rgb(66 66 66 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from: #212121 var(--tw-gradient-from-position);--tw-gradient-to: rgb(33 33 33 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-600{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from: #3949ab var(--tw-gradient-from-position);--tw-gradient-to: rgb(57 73 171 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-light-blue-600{--tw-gradient-from: #039be5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(3 155 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-light-green-600{--tw-gradient-from: #7cb342 var(--tw-gradient-from-position);--tw-gradient-to: rgb(124 179 66 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-600{--tw-gradient-from: #c0ca33 var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 202 51 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from: #fb923c var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-600{--tw-gradient-from: #ea580c var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from: #ec407a var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 64 122 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-600{--tw-gradient-from: #d81b60 var(--tw-gradient-from-position);--tw-gradient-to: rgb(216 27 96 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #8e24aa var(--tw-gradient-from-position);--tw-gradient-to: rgb(142 36 170 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-400{--tw-gradient-from: #ef5350 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 83 80 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-600{--tw-gradient-from: #e53935 var(--tw-gradient-from-position);--tw-gradient-to: rgb(229 57 53 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-600{--tw-gradient-from: #00897b var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 137 123 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-600{--tw-gradient-from: #fdd835 var(--tw-gradient-from-position);--tw-gradient-to: rgb(253 216 53 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-amber-400{--tw-gradient-to: #ffca28 var(--tw-gradient-to-position)}.to-black{--tw-gradient-to: #000000 var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to: #42a5f5 var(--tw-gradient-to-position)}.to-blue-gray-400{--tw-gradient-to: #78909c var(--tw-gradient-to-position)}.to-blue-gray-900{--tw-gradient-to: #263238 var(--tw-gradient-to-position)}.to-brown-400{--tw-gradient-to: #8d6e63 var(--tw-gradient-to-position)}.to-cyan-400{--tw-gradient-to: #26c6da var(--tw-gradient-to-position)}.to-deep-orange-400{--tw-gradient-to: #ff7043 var(--tw-gradient-to-position)}.to-deep-purple-400{--tw-gradient-to: #7e57c2 var(--tw-gradient-to-position)}.to-gray-400{--tw-gradient-to: #bdbdbd var(--tw-gradient-to-position)}.to-gray-800{--tw-gradient-to: #424242 var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to: #212121 var(--tw-gradient-to-position)}.to-green-400{--tw-gradient-to: #4ade80 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-indigo-400{--tw-gradient-to: #5c6bc0 var(--tw-gradient-to-position)}.to-light-blue-400{--tw-gradient-to: #29b6f6 var(--tw-gradient-to-position)}.to-light-green-400{--tw-gradient-to: #9ccc65 var(--tw-gradient-to-position)}.to-lime-400{--tw-gradient-to: #d4e157 var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #fb923c var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-pink-400{--tw-gradient-to: #ec407a var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to: #d81b60 var(--tw-gradient-to-position)}.to-purple-400{--tw-gradient-to: #ab47bc var(--tw-gradient-to-position)}.to-red-400{--tw-gradient-to: #ef5350 var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #e53935 var(--tw-gradient-to-position)}.to-teal-400{--tw-gradient-to: #26a69a var(--tw-gradient-to-position)}.to-yellow-400{--tw-gradient-to: #ffee58 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-clip-border{background-clip:border-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-px{padding-left:1px;padding-right:1px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.\!pr-7{padding-right:1.75rem!important}.\!pr-9{padding-right:2.25rem!important}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pt-\[9px\]{padding-top:9px}.pt-px{padding-top:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-sans{font-family:Roboto,sans-serif}.\!text-\[11px\]{font-size:11px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.\!leading-tight{line-height:1.25!important}.leading-\[1\.3\]{line-height:1.3}.leading-\[3\.75\]{line-height:3.75}.leading-\[4\.1\]{line-height:4.1}.leading-\[4\.25\]{line-height:4.25}.leading-\[4\.875\]{line-height:4.875}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.\!text-black{--tw-text-opacity: 1 !important;color:rgb(0 0 0 / var(--tw-text-opacity))!important}.\!text-white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity))!important}.text-amber-200{--tw-text-opacity: 1;color:rgb(255 224 130 / var(--tw-text-opacity))}.text-amber-500{--tw-text-opacity: 1;color:rgb(255 193 7 / var(--tw-text-opacity))}.text-amber-700{--tw-text-opacity: 1;color:rgb(255 160 0 / var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity: 1;color:rgb(255 143 0 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(255 111 0 / var(--tw-text-opacity))}.text-arcticBlue-100{--tw-text-opacity: 1;color:rgb(230 243 251 / var(--tw-text-opacity))}.text-arcticBlue-400{--tw-text-opacity: 1;color:rgb(102 182 231 / var(--tw-text-opacity))}.text-arcticBlue-500{--tw-text-opacity: 1;color:rgb(51 158 222 / var(--tw-text-opacity))}.text-arcticBlue-700{--tw-text-opacity: 1;color:rgb(22 105 155 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity: 1;color:rgb(100 181 246 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(33 150 243 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(25 118 210 / var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity: 1;color:rgb(13 71 161 / var(--tw-text-opacity))}.text-blue-gray-200{--tw-text-opacity: 1;color:rgb(176 190 197 / var(--tw-text-opacity))}.text-blue-gray-300{--tw-text-opacity: 1;color:rgb(144 164 174 / var(--tw-text-opacity))}.text-blue-gray-400{--tw-text-opacity: 1;color:rgb(120 144 156 / var(--tw-text-opacity))}.text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.text-blue-gray-600{--tw-text-opacity: 1;color:rgb(84 110 122 / var(--tw-text-opacity))}.text-blue-gray-700{--tw-text-opacity: 1;color:rgb(69 90 100 / var(--tw-text-opacity))}.text-blue-gray-900{--tw-text-opacity: 1;color:rgb(38 50 56 / var(--tw-text-opacity))}.text-brown-500{--tw-text-opacity: 1;color:rgb(121 85 72 / var(--tw-text-opacity))}.text-brown-700{--tw-text-opacity: 1;color:rgb(93 64 55 / var(--tw-text-opacity))}.text-brown-900{--tw-text-opacity: 1;color:rgb(62 39 35 / var(--tw-text-opacity))}.text-current{color:currentColor}.text-cyan-500{--tw-text-opacity: 1;color:rgb(0 188 212 / var(--tw-text-opacity))}.text-cyan-700{--tw-text-opacity: 1;color:rgb(0 151 167 / var(--tw-text-opacity))}.text-cyan-900{--tw-text-opacity: 1;color:rgb(0 96 100 / var(--tw-text-opacity))}.text-deep-orange-500{--tw-text-opacity: 1;color:rgb(255 87 34 / var(--tw-text-opacity))}.text-deep-orange-700{--tw-text-opacity: 1;color:rgb(230 74 25 / var(--tw-text-opacity))}.text-deep-orange-900{--tw-text-opacity: 1;color:rgb(191 54 12 / var(--tw-text-opacity))}.text-deep-purple-500{--tw-text-opacity: 1;color:rgb(103 58 183 / var(--tw-text-opacity))}.text-deep-purple-700{--tw-text-opacity: 1;color:rgb(81 45 168 / var(--tw-text-opacity))}.text-deep-purple-900{--tw-text-opacity: 1;color:rgb(49 27 146 / var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(238 238 238 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(224 224 224 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(189 189 189 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(158 158 158 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(97 97 97 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(33 33 33 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(63 81 181 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(48 63 159 / var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity: 1;color:rgb(26 35 126 / var(--tw-text-opacity))}.text-inherit{color:inherit}.text-lavenderSmoke-200{--tw-text-opacity: 1;color:rgb(236 226 243 / var(--tw-text-opacity))}.text-lavenderSmoke-700{--tw-text-opacity: 1;color:rgb(93 67 115 / var(--tw-text-opacity))}.text-light-blue-500{--tw-text-opacity: 1;color:rgb(3 169 244 / var(--tw-text-opacity))}.text-light-blue-700{--tw-text-opacity: 1;color:rgb(2 136 209 / var(--tw-text-opacity))}.text-light-blue-900{--tw-text-opacity: 1;color:rgb(1 87 155 / var(--tw-text-opacity))}.text-light-green-500{--tw-text-opacity: 1;color:rgb(139 195 74 / var(--tw-text-opacity))}.text-light-green-700{--tw-text-opacity: 1;color:rgb(104 159 56 / var(--tw-text-opacity))}.text-light-green-900{--tw-text-opacity: 1;color:rgb(51 105 30 / var(--tw-text-opacity))}.text-lime-500{--tw-text-opacity: 1;color:rgb(205 220 57 / var(--tw-text-opacity))}.text-lime-700{--tw-text-opacity: 1;color:rgb(175 180 43 / var(--tw-text-opacity))}.text-lime-900{--tw-text-opacity: 1;color:rgb(130 119 23 / var(--tw-text-opacity))}.text-mossGreen-100{--tw-text-opacity: 1;color:rgb(235 245 229 / var(--tw-text-opacity))}.text-mossGreen-500{--tw-text-opacity: 1;color:rgb(96 178 64 / var(--tw-text-opacity))}.text-mossGreen-600{--tw-text-opacity: 1;color:rgb(77 143 51 / var(--tw-text-opacity))}.text-mossGreen-700{--tw-text-opacity: 1;color:rgb(59 107 39 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity))}.text-orange-900{--tw-text-opacity: 1;color:rgb(124 45 18 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(233 30 99 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(194 24 91 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(136 14 79 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(156 39 176 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(123 31 162 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(74 20 140 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(239 83 80 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(244 67 54 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(211 47 47 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(198 40 40 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(183 28 28 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-stormGrey-300{--tw-text-opacity: 1;color:rgb(182 187 200 / var(--tw-text-opacity))}.text-stormGrey-400{--tw-text-opacity: 1;color:rgb(139 145 164 / var(--tw-text-opacity))}.text-stormGrey-500{--tw-text-opacity: 1;color:rgb(96 103 128 / var(--tw-text-opacity))}.text-stormGrey-600{--tw-text-opacity: 1;color:rgb(79 85 107 / var(--tw-text-opacity))}.text-stormGrey-700{--tw-text-opacity: 1;color:rgb(62 68 86 / var(--tw-text-opacity))}.text-stormGrey-900{--tw-text-opacity: 1;color:rgb(27 30 41 / var(--tw-text-opacity))}.text-sunsetCoral-500{--tw-text-opacity: 1;color:rgb(255 106 93 / var(--tw-text-opacity))}.text-sunsetCoral-600{--tw-text-opacity: 1;color:rgb(230 80 72 / var(--tw-text-opacity))}.text-sunsetCoral-700{--tw-text-opacity: 1;color:rgb(185 61 56 / var(--tw-text-opacity))}.text-sunsetCoral-800{--tw-text-opacity: 1;color:rgb(138 44 40 / var(--tw-text-opacity))}.text-teal-500{--tw-text-opacity: 1;color:rgb(0 150 136 / var(--tw-text-opacity))}.text-teal-700{--tw-text-opacity: 1;color:rgb(0 121 107 / var(--tw-text-opacity))}.text-teal-900{--tw-text-opacity: 1;color:rgb(0 77 64 / var(--tw-text-opacity))}.text-transparent{color:transparent}.text-warmAmberGlow-500{--tw-text-opacity: 1;color:rgb(255 143 0 / var(--tw-text-opacity))}.text-warmAmberGlow-600{--tw-text-opacity: 1;color:rgb(230 118 0 / var(--tw-text-opacity))}.text-warmAmberGlow-700{--tw-text-opacity: 1;color:rgb(179 90 0 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.text-yellow-500{--tw-text-opacity: 1;color:rgb(255 235 59 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(251 192 45 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(245 127 23 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 rgb(0, 0 / 0, 0);--tw-shadow-colored: 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-amber-500\/20{--tw-shadow-color: rgb(255 193 7 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-amber-500\/40{--tw-shadow-color: rgb(255 193 7 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/20{--tw-shadow-color: rgb(33 150 243 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/40{--tw-shadow-color: rgb(33 150 243 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/10{--tw-shadow-color: rgb(96 125 139 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/20{--tw-shadow-color: rgb(96 125 139 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/25{--tw-shadow-color: rgb(96 125 139 / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/40{--tw-shadow-color: rgb(96 125 139 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/5{--tw-shadow-color: rgb(96 125 139 / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-900\/10{--tw-shadow-color: rgb(38 50 56 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-brown-500\/20{--tw-shadow-color: rgb(121 85 72 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-brown-500\/40{--tw-shadow-color: rgb(121 85 72 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/20{--tw-shadow-color: rgb(0 188 212 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/40{--tw-shadow-color: rgb(0 188 212 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-deep-orange-500\/20{--tw-shadow-color: rgb(255 87 34 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-deep-orange-500\/40{--tw-shadow-color: rgb(255 87 34 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-deep-purple-500\/20{--tw-shadow-color: rgb(103 58 183 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-deep-purple-500\/40{--tw-shadow-color: rgb(103 58 183 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-gray-900\/10{--tw-shadow-color: rgb(33 33 33 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-gray-900\/20{--tw-shadow-color: rgb(33 33 33 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/20{--tw-shadow-color: rgb(34 197 94 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/40{--tw-shadow-color: rgb(34 197 94 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-500\/20{--tw-shadow-color: rgb(63 81 181 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-500\/40{--tw-shadow-color: rgb(63 81 181 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-light-blue-500\/20{--tw-shadow-color: rgb(3 169 244 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-light-blue-500\/40{--tw-shadow-color: rgb(3 169 244 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-light-green-500\/20{--tw-shadow-color: rgb(139 195 74 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-light-green-500\/40{--tw-shadow-color: rgb(139 195 74 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/20{--tw-shadow-color: rgb(205 220 57 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/40{--tw-shadow-color: rgb(205 220 57 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/20{--tw-shadow-color: rgb(249 115 22 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/40{--tw-shadow-color: rgb(249 115 22 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/20{--tw-shadow-color: rgb(233 30 99 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/40{--tw-shadow-color: rgb(233 30 99 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/20{--tw-shadow-color: rgb(156 39 176 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/40{--tw-shadow-color: rgb(156 39 176 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/20{--tw-shadow-color: rgb(244 67 54 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/40{--tw-shadow-color: rgb(244 67 54 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/20{--tw-shadow-color: rgb(0 150 136 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/40{--tw-shadow-color: rgb(0 150 136 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/20{--tw-shadow-color: rgb(255 235 59 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/40{--tw-shadow-color: rgb(255 235 59 / .4);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-purple-500\/40{--tw-ring-color: rgb(156 39 176 / .4)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-2xl{--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-saturate-200{--tw-backdrop-saturate: saturate(2);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.content-\[\'\'\]{--tw-content: "";content:var(--tw-content)}.\[-webkit-appearance\:none\]{-webkit-appearance:none}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-2\/4:before{content:var(--tw-content);left:50%}.before\:top-2\/4:before{content:var(--tw-content);top:50%}.before\:mr-1:before{content:var(--tw-content);margin-right:.25rem}.before\:mt-\[6\.5px\]:before{content:var(--tw-content);margin-top:6.5px}.before\:box-border:before{content:var(--tw-content);box-sizing:border-box}.before\:block:before{content:var(--tw-content);display:block}.before\:h-1:before{content:var(--tw-content);height:.25rem}.before\:h-1\.5:before{content:var(--tw-content);height:.375rem}.before\:h-10:before{content:var(--tw-content);height:2.5rem}.before\:h-12:before{content:var(--tw-content);height:3rem}.before\:w-10:before{content:var(--tw-content);width:2.5rem}.before\:w-12:before{content:var(--tw-content);width:3rem}.before\:w-2:before{content:var(--tw-content);width:.5rem}.before\:w-2\.5:before{content:var(--tw-content);width:.625rem}.before\:-translate-x-2\/4:before{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:-translate-y-2\/4:before{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:rounded-tl-md:before{content:var(--tw-content);border-top-left-radius:.375rem}.before\:border-l:before{content:var(--tw-content);border-left-width:1px}.before\:border-l-2:before{content:var(--tw-content);border-left-width:2px}.before\:border-t:before{content:var(--tw-content);border-top-width:1px}.before\:border-t-2:before{content:var(--tw-content);border-top-width:2px}.before\:\!border-blue-gray-200:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(176 190 197 / var(--tw-border-opacity))!important}.before\:border-amber-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.before\:border-black:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.before\:border-blue-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.before\:border-blue-gray-200:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.before\:border-blue-gray-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.before\:border-brown-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.before\:border-cyan-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.before\:border-deep-orange-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.before\:border-deep-purple-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.before\:border-gray-900:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.before\:border-green-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.before\:border-indigo-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.before\:border-light-blue-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.before\:border-light-green-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.before\:border-lime-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.before\:border-orange-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.before\:border-pink-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.before\:border-purple-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.before\:border-red-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.before\:border-teal-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.before\:border-transparent:before{content:var(--tw-content);border-color:transparent}.before\:border-white:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.before\:border-yellow-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.before\:border-l-transparent:before{content:var(--tw-content);border-left-color:transparent}.before\:border-t-transparent:before{content:var(--tw-content);border-top-color:transparent}.before\:bg-blue-gray-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:transition-all:before{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\:content-none:before{--tw-content: none;content:var(--tw-content)}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-bottom-0:after{content:var(--tw-content);bottom:-0px}.after\:-bottom-1:after{content:var(--tw-content);bottom:-.25rem}.after\:-bottom-1\.5:after{content:var(--tw-content);bottom:-.375rem}.after\:-bottom-2:after{content:var(--tw-content);bottom:-.5rem}.after\:-bottom-2\.5:after{content:var(--tw-content);bottom:-.625rem}.after\:-bottom-6:after{content:var(--tw-content);bottom:-1.5rem}.after\:left-2\/4:after{content:var(--tw-content);left:50%}.after\:ml-1:after{content:var(--tw-content);margin-left:.25rem}.after\:mt-\[6\.5px\]:after{content:var(--tw-content);margin-top:6.5px}.after\:box-border:after{content:var(--tw-content);box-sizing:border-box}.after\:block:after{content:var(--tw-content);display:block}.after\:h-0:after{content:var(--tw-content);height:0px}.after\:h-1:after{content:var(--tw-content);height:.25rem}.after\:h-1\.5:after{content:var(--tw-content);height:.375rem}.after\:h-4\/6:after{content:var(--tw-content);height:66.666667%}.after\:w-0:after{content:var(--tw-content);width:0px}.after\:w-0\.5:after{content:var(--tw-content);width:.125rem}.after\:w-2:after{content:var(--tw-content);width:.5rem}.after\:w-2\.5:after{content:var(--tw-content);width:.625rem}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:flex-grow:after{content:var(--tw-content);flex-grow:1}.after\:-translate-x-2\/4:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:scale-x-0:after{content:var(--tw-content);--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:scale-x-100:after{content:var(--tw-content);--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:rounded-tr-md:after{content:var(--tw-content);border-top-right-radius:.375rem}.after\:border-b-2:after{content:var(--tw-content);border-bottom-width:2px}.after\:border-r:after{content:var(--tw-content);border-right-width:1px}.after\:border-r-2:after{content:var(--tw-content);border-right-width:2px}.after\:border-t:after{content:var(--tw-content);border-top-width:1px}.after\:border-t-2:after{content:var(--tw-content);border-top-width:2px}.after\:\!border-blue-gray-200:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(176 190 197 / var(--tw-border-opacity))!important}.after\:border-amber-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.after\:border-black:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.after\:border-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.after\:border-blue-gray-200:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.after\:border-blue-gray-50:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(236 239 241 / var(--tw-border-opacity))}.after\:border-blue-gray-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.after\:border-brown-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.after\:border-cyan-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.after\:border-deep-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.after\:border-deep-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.after\:border-gray-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(158 158 158 / var(--tw-border-opacity))}.after\:border-gray-900:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.after\:border-green-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.after\:border-indigo-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.after\:border-light-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.after\:border-light-green-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.after\:border-lime-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.after\:border-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.after\:border-pink-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.after\:border-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.after\:border-red-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.after\:border-teal-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.after\:border-transparent:after{content:var(--tw-content);border-color:transparent}.after\:border-white:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.after\:border-yellow-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.after\:border-r-transparent:after{content:var(--tw-content);border-right-color:transparent}.after\:border-t-transparent:after{content:var(--tw-content);border-top-color:transparent}.after\:bg-blue-gray-50:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:duration-300:after{content:var(--tw-content);transition-duration:.3s}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.after\:content-none:after{--tw-content: none;content:var(--tw-content)}.last\:mb-0:last-child{margin-bottom:0}.checked\:border-amber-500:checked{--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.checked\:border-blue-500:checked{--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.checked\:border-blue-gray-500:checked{--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.checked\:border-brown-500:checked{--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.checked\:border-cyan-500:checked{--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.checked\:border-deep-orange-500:checked{--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.checked\:border-deep-purple-500:checked{--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.checked\:border-gray-900:checked{--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.checked\:border-green-500:checked{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.checked\:border-indigo-500:checked{--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.checked\:border-light-blue-500:checked{--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.checked\:border-light-green-500:checked{--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.checked\:border-lime-500:checked{--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.checked\:border-orange-500:checked{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.checked\:border-pink-500:checked{--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.checked\:border-purple-500:checked{--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.checked\:border-red-500:checked{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.checked\:border-teal-500:checked{--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.checked\:border-yellow-500:checked{--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.checked\:bg-amber-500:checked{--tw-bg-opacity: 1;background-color:rgb(255 193 7 / var(--tw-bg-opacity))}.checked\:bg-blue-500:checked{--tw-bg-opacity: 1;background-color:rgb(33 150 243 / var(--tw-bg-opacity))}.checked\:bg-blue-gray-500:checked{--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.checked\:bg-brown-500:checked{--tw-bg-opacity: 1;background-color:rgb(121 85 72 / var(--tw-bg-opacity))}.checked\:bg-cyan-500:checked{--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity))}.checked\:bg-deep-orange-500:checked{--tw-bg-opacity: 1;background-color:rgb(255 87 34 / var(--tw-bg-opacity))}.checked\:bg-deep-purple-500:checked{--tw-bg-opacity: 1;background-color:rgb(103 58 183 / var(--tw-bg-opacity))}.checked\:bg-gray-900:checked{--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity))}.checked\:bg-green-500:checked{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.checked\:bg-indigo-500:checked{--tw-bg-opacity: 1;background-color:rgb(63 81 181 / var(--tw-bg-opacity))}.checked\:bg-light-blue-500:checked{--tw-bg-opacity: 1;background-color:rgb(3 169 244 / var(--tw-bg-opacity))}.checked\:bg-light-green-500:checked{--tw-bg-opacity: 1;background-color:rgb(139 195 74 / var(--tw-bg-opacity))}.checked\:bg-lime-500:checked{--tw-bg-opacity: 1;background-color:rgb(205 220 57 / var(--tw-bg-opacity))}.checked\:bg-orange-500:checked{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.checked\:bg-pink-500:checked{--tw-bg-opacity: 1;background-color:rgb(233 30 99 / var(--tw-bg-opacity))}.checked\:bg-purple-500:checked{--tw-bg-opacity: 1;background-color:rgb(156 39 176 / var(--tw-bg-opacity))}.checked\:bg-red-500:checked{--tw-bg-opacity: 1;background-color:rgb(244 67 54 / var(--tw-bg-opacity))}.checked\:bg-teal-500:checked{--tw-bg-opacity: 1;background-color:rgb(0 150 136 / var(--tw-bg-opacity))}.checked\:bg-yellow-500:checked{--tw-bg-opacity: 1;background-color:rgb(255 235 59 / var(--tw-bg-opacity))}.checked\:before\:bg-amber-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 193 7 / var(--tw-bg-opacity))}.checked\:before\:bg-blue-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(33 150 243 / var(--tw-bg-opacity))}.checked\:before\:bg-blue-gray-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.checked\:before\:bg-brown-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(121 85 72 / var(--tw-bg-opacity))}.checked\:before\:bg-cyan-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity))}.checked\:before\:bg-deep-orange-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 87 34 / var(--tw-bg-opacity))}.checked\:before\:bg-deep-purple-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(103 58 183 / var(--tw-bg-opacity))}.checked\:before\:bg-gray-900:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity))}.checked\:before\:bg-green-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.checked\:before\:bg-indigo-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(63 81 181 / var(--tw-bg-opacity))}.checked\:before\:bg-light-blue-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(3 169 244 / var(--tw-bg-opacity))}.checked\:before\:bg-light-green-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(139 195 74 / var(--tw-bg-opacity))}.checked\:before\:bg-lime-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(205 220 57 / var(--tw-bg-opacity))}.checked\:before\:bg-orange-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.checked\:before\:bg-pink-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(233 30 99 / var(--tw-bg-opacity))}.checked\:before\:bg-purple-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(156 39 176 / var(--tw-bg-opacity))}.checked\:before\:bg-red-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(244 67 54 / var(--tw-bg-opacity))}.checked\:before\:bg-teal-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(0 150 136 / var(--tw-bg-opacity))}.checked\:before\:bg-yellow-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 235 59 / var(--tw-bg-opacity))}.placeholder-shown\:border:-moz-placeholder-shown{border-width:1px}.placeholder-shown\:border:placeholder-shown{border-width:1px}.placeholder-shown\:border-blue-gray-200:-moz-placeholder-shown{--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.placeholder-shown\:border-blue-gray-200:placeholder-shown{--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.placeholder-shown\:border-green-500:-moz-placeholder-shown{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.placeholder-shown\:border-green-500:placeholder-shown{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.placeholder-shown\:border-red-500:-moz-placeholder-shown{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.placeholder-shown\:border-red-500:placeholder-shown{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.placeholder-shown\:border-t-blue-gray-200:-moz-placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(176 190 197 / var(--tw-border-opacity))}.placeholder-shown\:border-t-blue-gray-200:placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(176 190 197 / var(--tw-border-opacity))}.placeholder-shown\:border-t-green-500:-moz-placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(34 197 94 / var(--tw-border-opacity))}.placeholder-shown\:border-t-green-500:placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(34 197 94 / var(--tw-border-opacity))}.placeholder-shown\:border-t-red-500:-moz-placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(244 67 54 / var(--tw-border-opacity))}.placeholder-shown\:border-t-red-500:placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(244 67 54 / var(--tw-border-opacity))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-slate-800:hover{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.hover\:bg-amber-500\/10:hover{background-color:#ffc1071a}.hover\:bg-arcticBlue-600:hover{--tw-bg-opacity: 1;background-color:rgb(31 134 195 / var(--tw-bg-opacity))}.hover\:bg-arcticBlue-800:hover{--tw-bg-opacity: 1;background-color:rgb(15 75 111 / var(--tw-bg-opacity))}.hover\:bg-blue-500\/10:hover{background-color:#2196f31a}.hover\:bg-blue-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.hover\:bg-blue-gray-500\/10:hover{background-color:#607d8b1a}.hover\:bg-brown-500\/10:hover{background-color:#7955481a}.hover\:bg-citrusPunch-600\/90:hover{background-color:#e6bd00e6}.hover\:bg-copperRust-600\/90:hover{background-color:#7a444be6}.hover\:bg-cyan-500\/10:hover{background-color:#00bcd41a}.hover\:bg-deep-orange-500\/10:hover{background-color:#ff57221a}.hover\:bg-deep-purple-500\/10:hover{background-color:#673ab71a}.hover\:bg-emeraldMist-500\/90:hover{background-color:#3fb586e6}.hover\:bg-gray-900\/10:hover{background-color:#2121211a}.hover\:bg-green-500\/10:hover{background-color:#22c55e1a}.hover\:bg-indigo-500\/10:hover{background-color:#3f51b51a}.hover\:bg-indigo-600\/90:hover{background-color:#3949abe6}.hover\:bg-lavenderSmoke-600\/90:hover{background-color:#7a5894e6}.hover\:bg-light-blue-500\/10:hover{background-color:#03a9f41a}.hover\:bg-light-green-500\/10:hover{background-color:#8bc34a1a}.hover\:bg-lime-500\/10:hover{background-color:#cddc391a}.hover\:bg-orange-500\/10:hover{background-color:#f973161a}.hover\:bg-pink-500\/10:hover{background-color:#e91e631a}.hover\:bg-purple-500\/10:hover{background-color:#9c27b01a}.hover\:bg-red-500\/10:hover{background-color:#f443361a}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.hover\:bg-sunsetCoral-600:hover{--tw-bg-opacity: 1;background-color:rgb(230 80 72 / var(--tw-bg-opacity))}.hover\:bg-sunsetCoral-600\/20:hover{background-color:#e6504833}.hover\:bg-sunsetCoral-600\/90:hover{background-color:#e65048e6}.hover\:bg-teal-500\/10:hover{background-color:#0096881a}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-yellow-500\/10:hover{background-color:#ffeb3b1a}.hover\:bg-opacity-80:hover{--tw-bg-opacity: .8}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(21 101 192 / var(--tw-text-opacity))}.hover\:text-blue-gray-500:hover{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.hover\:text-blue-gray-900:hover{--tw-text-opacity: 1;color:rgb(38 50 56 / var(--tw-text-opacity))}.hover\:text-gray-200:hover{--tw-text-opacity: 1;color:rgb(238 238 238 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(33 33 33 / var(--tw-text-opacity))}.hover\:text-light-blue-500:hover{--tw-text-opacity: 1;color:rgb(3 169 244 / var(--tw-text-opacity))}.hover\:text-warmAmberGlow-600:hover{--tw-text-opacity: 1;color:rgb(230 118 0 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:text-white\/90:hover{color:#ffffffe6}.hover\:opacity-75:hover{opacity:.75}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-amber-500\/40:hover{--tw-shadow-color: rgb(255 193 7 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-blue-500\/40:hover{--tw-shadow-color: rgb(33 150 243 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-blue-gray-500\/20:hover{--tw-shadow-color: rgb(96 125 139 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-blue-gray-500\/40:hover{--tw-shadow-color: rgb(96 125 139 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-brown-500\/40:hover{--tw-shadow-color: rgb(121 85 72 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-cyan-500\/40:hover{--tw-shadow-color: rgb(0 188 212 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-deep-orange-500\/40:hover{--tw-shadow-color: rgb(255 87 34 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-deep-purple-500\/40:hover{--tw-shadow-color: rgb(103 58 183 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-gray-900\/20:hover{--tw-shadow-color: rgb(33 33 33 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-green-500\/40:hover{--tw-shadow-color: rgb(34 197 94 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/40:hover{--tw-shadow-color: rgb(63 81 181 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-light-blue-500\/40:hover{--tw-shadow-color: rgb(3 169 244 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-light-green-500\/40:hover{--tw-shadow-color: rgb(139 195 74 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-lime-500\/40:hover{--tw-shadow-color: rgb(205 220 57 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-orange-500\/40:hover{--tw-shadow-color: rgb(249 115 22 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-pink-500\/40:hover{--tw-shadow-color: rgb(233 30 99 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-purple-500\/40:hover{--tw-shadow-color: rgb(156 39 176 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-red-500\/40:hover{--tw-shadow-color: rgb(244 67 54 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-teal-500\/40:hover{--tw-shadow-color: rgb(0 150 136 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-yellow-500\/40:hover{--tw-shadow-color: rgb(255 235 59 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:before\:opacity-10:hover:before{content:var(--tw-content);opacity:.1}.focus\:scale-110:focus{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus\:border-2:focus{border-width:2px}.focus\:border-amber-500:focus{--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.focus\:border-black:focus{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.focus\:border-blue-gray-500:focus{--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.focus\:border-blue-gray-900:focus{--tw-border-opacity: 1;border-color:rgb(38 50 56 / var(--tw-border-opacity))}.focus\:border-brown-500:focus{--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.focus\:border-cyan-500:focus{--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.focus\:border-deep-orange-500:focus{--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.focus\:border-deep-purple-500:focus{--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.focus\:border-gray-500:focus{--tw-border-opacity: 1;border-color:rgb(158 158 158 / var(--tw-border-opacity))}.focus\:border-gray-900:focus{--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.focus\:border-green-500:focus{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.focus\:border-light-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.focus\:border-light-green-500:focus{--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.focus\:border-lime-500:focus{--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.focus\:border-orange-500:focus{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.focus\:border-pink-500:focus{--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.focus\:border-purple-500:focus{--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.focus\:border-red-500:focus{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.focus\:border-slate-800:focus{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.focus\:border-teal-500:focus{--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.focus\:border-white:focus{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.focus\:border-yellow-500:focus{--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.focus\:\!border-t-gray-900:focus{--tw-border-opacity: 1 !important;border-top-color:rgb(33 33 33 / var(--tw-border-opacity))!important}.focus\:border-t-transparent:focus{border-top-color:transparent}.focus\:bg-blue-gray-50:focus{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.focus\:bg-slate-800:focus{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.focus\:bg-transparent:focus{background-color:transparent}.focus\:bg-opacity-80:focus{--tw-bg-opacity: .8}.focus\:text-blue-gray-500:focus{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.focus\:text-blue-gray-900:focus{--tw-text-opacity: 1;color:rgb(38 50 56 / var(--tw-text-opacity))}.focus\:text-white:focus{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.focus\:opacity-\[0\.85\]:focus{opacity:.85}.focus\:shadow-none:focus{--tw-shadow: 0 0 rgb(0, 0 / 0, 0);--tw-shadow-colored: 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-0:focus{outline-width:0px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-amber-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 224 130 / var(--tw-ring-opacity))}.focus\:ring-arcticBlue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(153 206 239 / var(--tw-ring-opacity))}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(144 202 249 / var(--tw-ring-opacity))}.focus\:ring-blue-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(176 190 197 / var(--tw-ring-opacity))}.focus\:ring-brown-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 170 164 / var(--tw-ring-opacity))}.focus\:ring-citrusPunch-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 224 102 / var(--tw-ring-opacity))}.focus\:ring-copperRust-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(178 138 134 / var(--tw-ring-opacity))}.focus\:ring-cyan-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(128 222 234 / var(--tw-ring-opacity))}.focus\:ring-deep-orange-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 171 145 / var(--tw-ring-opacity))}.focus\:ring-deep-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(179 157 219 / var(--tw-ring-opacity))}.focus\:ring-emeraldMist-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(110 200 163 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(224 224 224 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(187 247 208 / var(--tw-ring-opacity))}.focus\:ring-indigo-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(159 168 218 / var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(92 107 192 / var(--tw-ring-opacity))}.focus\:ring-lavenderSmoke-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(184 138 207 / var(--tw-ring-opacity))}.focus\:ring-light-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(129 212 250 / var(--tw-ring-opacity))}.focus\:ring-light-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(197 225 165 / var(--tw-ring-opacity))}.focus\:ring-lime-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(230 238 156 / var(--tw-ring-opacity))}.focus\:ring-orange-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(244 143 177 / var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(206 147 216 / var(--tw-ring-opacity))}.focus\:ring-purple-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(171 71 188 / var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 154 154 / var(--tw-ring-opacity))}.focus\:ring-sunsetCoral-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 145 137 / var(--tw-ring-opacity))}.focus\:ring-teal-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(128 203 196 / var(--tw-ring-opacity))}.focus\:ring-white\/50:focus{--tw-ring-color: rgb(255 255 255 / .5)}.focus\:ring-yellow-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 245 157 / var(--tw-ring-opacity))}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(33 150 243 / var(--tw-ring-opacity))}.active\:scale-100:active{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:border-slate-800:active{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.active\:bg-amber-500\/30:active{background-color:#ffc1074d}.active\:bg-blue-500\/30:active{background-color:#2196f34d}.active\:bg-blue-gray-50:active{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.active\:bg-blue-gray-500\/30:active{background-color:#607d8b4d}.active\:bg-brown-500\/30:active{background-color:#7955484d}.active\:bg-cyan-500\/30:active{background-color:#00bcd44d}.active\:bg-deep-orange-500\/30:active{background-color:#ff57224d}.active\:bg-deep-purple-500\/30:active{background-color:#673ab74d}.active\:bg-gray-900\/20:active{background-color:#21212133}.active\:bg-green-500\/30:active{background-color:#22c55e4d}.active\:bg-indigo-500\/30:active{background-color:#3f51b54d}.active\:bg-light-blue-500\/30:active{background-color:#03a9f44d}.active\:bg-light-green-500\/30:active{background-color:#8bc34a4d}.active\:bg-lime-500\/30:active{background-color:#cddc394d}.active\:bg-orange-500\/30:active{background-color:#f973164d}.active\:bg-pink-500\/30:active{background-color:#e91e634d}.active\:bg-purple-500\/30:active{background-color:#9c27b04d}.active\:bg-red-500\/30:active{background-color:#f443364d}.active\:bg-slate-800:active{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.active\:bg-teal-500\/30:active{background-color:#0096884d}.active\:bg-transparent:active{background-color:transparent}.active\:bg-white\/30:active{background-color:#ffffff4d}.active\:bg-yellow-500\/30:active{background-color:#ffeb3b4d}.active\:bg-opacity-80:active{--tw-bg-opacity: .8}.active\:text-blue-gray-500:active{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.active\:text-blue-gray-900:active{--tw-text-opacity: 1;color:rgb(38 50 56 / var(--tw-text-opacity))}.active\:text-white:active{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.active\:opacity-\[0\.85\]:active{opacity:.85}.active\:shadow-none:active{--tw-shadow: 0 0 rgb(0, 0 / 0, 0);--tw-shadow-colored: 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:resize-none:disabled{resize:none}.disabled\:border-0:disabled{border-width:0px}.disabled\:bg-blue-gray-50:disabled{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:shadow-none:disabled{--tw-shadow: 0 0 rgb(0, 0 / 0, 0);--tw-shadow-colored: 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.peer:checked~.peer-checked\:translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:border-amber-500{--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-blue-500{--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-blue-gray-500{--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-brown-500{--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-cyan-500{--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-deep-orange-500{--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-deep-purple-500{--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-gray-900{--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-indigo-500{--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-light-blue-500{--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-light-green-500{--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-lime-500{--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-pink-500{--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-purple-500{--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-red-500{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-teal-500{--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-yellow-500{--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:opacity-100{opacity:1}.peer:checked~.peer-checked\:before\:bg-amber-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 193 7 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-blue-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(33 150 243 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-blue-gray-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-brown-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(121 85 72 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-cyan-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-deep-orange-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 87 34 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-deep-purple-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(103 58 183 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-gray-900:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-green-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-indigo-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(63 81 181 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-light-blue-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(3 169 244 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-light-green-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(139 195 74 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-lime-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(205 220 57 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-orange-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-pink-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(233 30 99 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-purple-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(156 39 176 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-red-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(244 67 54 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-teal-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(0 150 136 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-yellow-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 235 59 / var(--tw-bg-opacity))}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:text-sm{font-size:.875rem;line-height:1.25rem}.peer:placeholder-shown~.peer-placeholder-shown\:text-sm{font-size:.875rem;line-height:1.25rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-\[3\.75\]{line-height:3.75}.peer:placeholder-shown~.peer-placeholder-shown\:leading-\[3\.75\]{line-height:3.75}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-\[4\.1\]{line-height:4.1}.peer:placeholder-shown~.peer-placeholder-shown\:leading-\[4\.1\]{line-height:4.1}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-\[4\.25\]{line-height:4.25}.peer:placeholder-shown~.peer-placeholder-shown\:leading-\[4\.25\]{line-height:4.25}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-\[4\.875\]{line-height:4.875}.peer:placeholder-shown~.peer-placeholder-shown\:leading-\[4\.875\]{line-height:4.875}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-tight{line-height:1.25}.peer:placeholder-shown~.peer-placeholder-shown\:leading-tight{line-height:1.25}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.peer:placeholder-shown~.peer-placeholder-shown\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.peer:placeholder-shown~.peer-placeholder-shown\:text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:text-red-500{--tw-text-opacity: 1;color:rgb(244 67 54 / var(--tw-text-opacity))}.peer:placeholder-shown~.peer-placeholder-shown\:text-red-500{--tw-text-opacity: 1;color:rgb(244 67 54 / var(--tw-text-opacity))}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:before\:border-transparent:before{content:var(--tw-content);border-color:transparent}.peer:placeholder-shown~.peer-placeholder-shown\:before\:border-transparent:before{content:var(--tw-content);border-color:transparent}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:after\:border-transparent:after{content:var(--tw-content);border-color:transparent}.peer:placeholder-shown~.peer-placeholder-shown\:after\:border-transparent:after{content:var(--tw-content);border-color:transparent}.peer:focus~.peer-focus\:text-\[11px\]{font-size:11px}.peer:focus~.peer-focus\:text-sm{font-size:.875rem;line-height:1.25rem}.peer:focus~.peer-focus\:leading-tight{line-height:1.25}.peer:focus~.peer-focus\:text-amber-500{--tw-text-opacity: 1;color:rgb(255 193 7 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-blue-500{--tw-text-opacity: 1;color:rgb(33 150 243 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-brown-500{--tw-text-opacity: 1;color:rgb(121 85 72 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-cyan-500{--tw-text-opacity: 1;color:rgb(0 188 212 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-deep-orange-500{--tw-text-opacity: 1;color:rgb(255 87 34 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-deep-purple-500{--tw-text-opacity: 1;color:rgb(103 58 183 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-gray-900{--tw-text-opacity: 1;color:rgb(33 33 33 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-indigo-500{--tw-text-opacity: 1;color:rgb(63 81 181 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-light-blue-500{--tw-text-opacity: 1;color:rgb(3 169 244 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-light-green-500{--tw-text-opacity: 1;color:rgb(139 195 74 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-lime-500{--tw-text-opacity: 1;color:rgb(205 220 57 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-pink-500{--tw-text-opacity: 1;color:rgb(233 30 99 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-purple-500{--tw-text-opacity: 1;color:rgb(156 39 176 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-red-500{--tw-text-opacity: 1;color:rgb(244 67 54 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-teal-500{--tw-text-opacity: 1;color:rgb(0 150 136 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-yellow-500{--tw-text-opacity: 1;color:rgb(255 235 59 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:before\:border-l-2:before{content:var(--tw-content);border-left-width:2px}.peer:focus~.peer-focus\:before\:border-t-2:before{content:var(--tw-content);border-top-width:2px}.peer:focus~.peer-focus\:before\:\!border-amber-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 193 7 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-black:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 0 0 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-blue-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(33 150 243 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-blue-gray-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(96 125 139 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-brown-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(121 85 72 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-cyan-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 188 212 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-deep-orange-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 87 34 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-deep-purple-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(103 58 183 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-gray-900:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(33 33 33 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-green-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(34 197 94 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-indigo-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(63 81 181 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-light-blue-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(3 169 244 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-light-green-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(139 195 74 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-lime-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(205 220 57 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-orange-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(249 115 22 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-pink-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(233 30 99 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-purple-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(156 39 176 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-red-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(244 67 54 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-teal-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 150 136 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-white:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 255 255 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-yellow-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 235 59 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:border-green-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:before\:border-red-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:scale-x-100:after{content:var(--tw-content);--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:focus~.peer-focus\:after\:border-r-2:after{content:var(--tw-content);border-right-width:2px}.peer:focus~.peer-focus\:after\:border-t-2:after{content:var(--tw-content);border-top-width:2px}.peer:focus~.peer-focus\:after\:\!border-amber-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 193 7 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-black:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 0 0 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(33 150 243 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-blue-gray-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(96 125 139 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-brown-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(121 85 72 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-cyan-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 188 212 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-deep-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 87 34 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-deep-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(103 58 183 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-gray-900:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(33 33 33 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-green-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(34 197 94 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-indigo-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(63 81 181 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-light-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(3 169 244 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-light-green-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(139 195 74 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-lime-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(205 220 57 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(249 115 22 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-pink-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(233 30 99 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(156 39 176 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-red-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(244 67 54 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-teal-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 150 136 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-white:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 255 255 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-yellow-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 235 59 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:border-amber-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-black:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-blue-gray-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-brown-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-cyan-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-deep-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-deep-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-gray-900:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-green-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-indigo-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-light-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-light-green-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-lime-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-pink-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-red-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-teal-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-yellow-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.peer:disabled~.peer-disabled\:text-blue-gray-400{--tw-text-opacity: 1;color:rgb(120 144 156 / var(--tw-text-opacity))}.peer:disabled~.peer-disabled\:text-transparent{color:transparent}.peer:disabled~.peer-disabled\:before\:border-transparent:before{content:var(--tw-content);border-color:transparent}.peer:disabled~.peer-disabled\:after\:border-transparent:after{content:var(--tw-content);border-color:transparent}.peer:disabled:-moz-placeholder-shown~.peer-disabled\:peer-placeholder-shown\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.peer:disabled:placeholder-shown~.peer-disabled\:peer-placeholder-shown\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}@media (min-width: 540px){.sm\:w-auto{width:auto}.sm\:max-w-xs{max-width:20rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:.5rem}.sm\:text-right{text-align:right}}@media (min-width: 720px){.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:ml-auto{margin-left:auto}.md\:mt-0{margin-top:0}.md\:w-1\/4{width:25%}.md\:w-2\/3{width:66.666667%}.md\:w-3\/4{width:75%}.md\:w-3\/5{width:60%}.md\:w-5\/6{width:83.333333%}.md\:min-w-\[60\%\]{min-width:60%}.md\:min-w-\[66\.666667\%\]{min-width:66.666667%}.md\:min-w-\[75\%\]{min-width:75%}.md\:min-w-\[83\.333333\%\]{min-width:83.333333%}.md\:max-w-\[60\%\]{max-width:60%}.md\:max-w-\[66\.666667\%\]{max-width:66.666667%}.md\:max-w-\[75\%\]{max-width:75%}.md\:max-w-\[83\.333333\%\]{max-width:83.333333%}.md\:max-w-xs{max-width:20rem}.md\:flex-1{flex:1 1 0%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-6{gap:1.5rem}}@media (min-width: 960px){.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:mb-0{margin-bottom:0}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:hidden{display:none}.lg\:w-1\/2,.lg\:w-2\/4{width:50%}.lg\:w-2\/5{width:40%}.lg\:w-3\/4{width:75%}.lg\:w-3\/5{width:60%}.lg\:min-w-\[40\%\]{min-width:40%}.lg\:min-w-\[50\%\]{min-width:50%}.lg\:min-w-\[60\%\]{min-width:60%}.lg\:min-w-\[75\%\]{min-width:75%}.lg\:max-w-\[40\%\]{max-width:40%}.lg\:max-w-\[50\%\]{max-width:50%}.lg\:max-w-\[60\%\]{max-width:60%}.lg\:max-w-\[75\%\]{max-width:75%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:gap-6{gap:1.5rem}}@media (min-width: 1140px){.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:ml-80{margin-left:20rem}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1320px){.\32xl\:w-1\/3{width:33.333333%}.\32xl\:w-1\/4{width:25%}.\32xl\:w-2\/5{width:40%}.\32xl\:w-3\/4{width:75%}.\32xl\:w-3\/5{width:60%}.\32xl\:min-w-\[25\%\]{min-width:25%}.\32xl\:min-w-\[33\.333333\%\]{min-width:33.333333%}.\32xl\:min-w-\[40\%\]{min-width:40%}.\32xl\:min-w-\[60\%\]{min-width:60%}.\32xl\:min-w-\[75\%\]{min-width:75%}.\32xl\:max-w-\[25\%\]{max-width:25%}.\32xl\:max-w-\[33\.333333\%\]{max-width:33.333333%}.\32xl\:max-w-\[40\%\]{max-width:40%}.\32xl\:max-w-\[60\%\]{max-width:60%}.\32xl\:max-w-\[75\%\]{max-width:75%}}.\[\&\:\:-moz-range-thumb\]\:relative::-moz-range-thumb{position:relative}.\[\&\:\:-moz-range-thumb\]\:z-20::-moz-range-thumb{z-index:20}.\[\&\:\:-moz-range-thumb\]\:-mt-1::-moz-range-thumb{margin-top:-.25rem}.\[\&\:\:-moz-range-thumb\]\:-mt-\[3px\]::-moz-range-thumb{margin-top:-3px}.\[\&\:\:-moz-range-thumb\]\:h-2\.5::-moz-range-thumb{height:.625rem}.\[\&\:\:-moz-range-thumb\]\:h-3\.5::-moz-range-thumb{height:.875rem}.\[\&\:\:-moz-range-thumb\]\:h-5::-moz-range-thumb{height:1.25rem}.\[\&\:\:-moz-range-thumb\]\:w-2\.5::-moz-range-thumb{width:.625rem}.\[\&\:\:-moz-range-thumb\]\:w-3\.5::-moz-range-thumb{width:.875rem}.\[\&\:\:-moz-range-thumb\]\:w-5::-moz-range-thumb{width:1.25rem}.\[\&\:\:-moz-range-thumb\]\:appearance-none::-moz-range-thumb{-moz-appearance:none;-webkit-appearance:none;appearance:none}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:9999px}.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb{border-width:0px}.\[\&\:\:-moz-range-thumb\]\:bg-white::-moz-range-thumb{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\[\&\:\:-moz-range-thumb\]\:ring-2::-moz-range-thumb{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\:\:-moz-range-thumb\]\:ring-current::-moz-range-thumb{--tw-ring-color: currentColor}.\[\&\:\:-moz-range-thumb\]\:\[-webkit-appearance\:none\]::-moz-range-thumb{-webkit-appearance:none}.\[\&\:\:-moz-range-track\]\:h-full::-moz-range-track{height:100%}.\[\&\:\:-moz-range-track\]\:rounded-full::-moz-range-track{border-radius:9999px}.\[\&\:\:-moz-range-track\]\:bg-blue-gray-100::-moz-range-track{--tw-bg-opacity: 1;background-color:rgb(207 216 220 / var(--tw-bg-opacity))}.\[\&\:\:-webkit-slider-runnable-track\]\:h-full::-webkit-slider-runnable-track{height:100%}.\[\&\:\:-webkit-slider-runnable-track\]\:rounded-full::-webkit-slider-runnable-track{border-radius:9999px}.\[\&\:\:-webkit-slider-runnable-track\]\:bg-blue-gray-100::-webkit-slider-runnable-track{--tw-bg-opacity: 1;background-color:rgb(207 216 220 / var(--tw-bg-opacity))}.\[\&\:\:-webkit-slider-thumb\]\:relative::-webkit-slider-thumb{position:relative}.\[\&\:\:-webkit-slider-thumb\]\:z-20::-webkit-slider-thumb{z-index:20}.\[\&\:\:-webkit-slider-thumb\]\:-mt-1::-webkit-slider-thumb{margin-top:-.25rem}.\[\&\:\:-webkit-slider-thumb\]\:-mt-\[3px\]::-webkit-slider-thumb{margin-top:-3px}.\[\&\:\:-webkit-slider-thumb\]\:h-2\.5::-webkit-slider-thumb{height:.625rem}.\[\&\:\:-webkit-slider-thumb\]\:h-3\.5::-webkit-slider-thumb{height:.875rem}.\[\&\:\:-webkit-slider-thumb\]\:h-5::-webkit-slider-thumb{height:1.25rem}.\[\&\:\:-webkit-slider-thumb\]\:w-2\.5::-webkit-slider-thumb{width:.625rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3\.5::-webkit-slider-thumb{width:.875rem}.\[\&\:\:-webkit-slider-thumb\]\:w-5::-webkit-slider-thumb{width:1.25rem}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\[\&\:\:-webkit-slider-thumb\]\:border-0::-webkit-slider-thumb{border-width:0px}.\[\&\:\:-webkit-slider-thumb\]\:bg-white::-webkit-slider-thumb{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\[\&\:\:-webkit-slider-thumb\]\:ring-2::-webkit-slider-thumb{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\:\:-webkit-slider-thumb\]\:ring-current::-webkit-slider-thumb{--tw-ring-color: currentColor}.\[\&\:\:-webkit-slider-thumb\]\:\[-webkit-appearance\:none\]::-webkit-slider-thumb{-webkit-appearance:none} diff --git a/backend/public/assets/index-8d2b4f50.js b/backend/public/assets/index-8d2b4f50.js deleted file mode 100644 index 2178848..0000000 --- a/backend/public/assets/index-8d2b4f50.js +++ /dev/null @@ -1,93 +0,0 @@ -function Aj(e,t){for(var r=0;rn[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function r(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(o){if(o.ep)return;o.ep=!0;const a=r(o);fetch(o.href,a)}})();function Ax(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Qs(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),r}var Mx={exports:{}},Ad={},Ix={exports:{}},dt={};/** - * @license React - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var Xs=Symbol.for("react.element"),Mj=Symbol.for("react.portal"),Ij=Symbol.for("react.fragment"),Dj=Symbol.for("react.strict_mode"),Lj=Symbol.for("react.profiler"),Fj=Symbol.for("react.provider"),zj=Symbol.for("react.context"),Bj=Symbol.for("react.forward_ref"),Vj=Symbol.for("react.suspense"),Uj=Symbol.for("react.memo"),Wj=Symbol.for("react.lazy"),Uv=Symbol.iterator;function Hj(e){return e===null||typeof e!="object"?null:(e=Uv&&e[Uv]||e["@@iterator"],typeof e=="function"?e:null)}var Dx={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Lx=Object.assign,Fx={};function fl(e,t,r){this.props=e,this.context=t,this.refs=Fx,this.updater=r||Dx}fl.prototype.isReactComponent={};fl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};fl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function zx(){}zx.prototype=fl.prototype;function $h(e,t,r){this.props=e,this.context=t,this.refs=Fx,this.updater=r||Dx}var qh=$h.prototype=new zx;qh.constructor=$h;Lx(qh,fl.prototype);qh.isPureReactComponent=!0;var Wv=Array.isArray,Bx=Object.prototype.hasOwnProperty,Gh={current:null},Vx={key:!0,ref:!0,__self:!0,__source:!0};function Ux(e,t,r){var n,o={},a=null,i=null;if(t!=null)for(n in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(a=""+t.key),t)Bx.call(t,n)&&!Vx.hasOwnProperty(n)&&(o[n]=t[n]);var u=arguments.length-2;if(u===1)o.children=r;else if(1t=>{const r=t2.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),qn=e=>(e=e.toLowerCase(),t=>Md(t)===e),Id=e=>t=>typeof t===e,{isArray:pl}=Array,_s=Id("undefined");function r2(e){return e!==null&&!_s(e)&&e.constructor!==null&&!_s(e.constructor)&&tn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const $x=qn("ArrayBuffer");function n2(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&$x(e.buffer),t}const o2=Id("string"),tn=Id("function"),qx=Id("number"),Dd=e=>e!==null&&typeof e=="object",a2=e=>e===!0||e===!1,sc=e=>{if(Md(e)!=="object")return!1;const t=Qh(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},i2=qn("Date"),l2=qn("File"),s2=qn("Blob"),u2=qn("FileList"),c2=e=>Dd(e)&&tn(e.pipe),d2=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||tn(e.append)&&((t=Md(e))==="formdata"||t==="object"&&tn(e.toString)&&e.toString()==="[object FormData]"))},f2=qn("URLSearchParams"),[p2,h2,g2,m2]=["ReadableStream","Request","Response","Headers"].map(qn),b2=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Js(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),pl(e))for(n=0,o=e.length;n0;)if(o=r[n],t===o.toLowerCase())return o;return null}const za=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),Kx=e=>!_s(e)&&e!==za;function d0(){const{caseless:e}=Kx(this)&&this||{},t={},r=(n,o)=>{const a=e&&Gx(t,o)||o;sc(t[a])&&sc(n)?t[a]=d0(t[a],n):sc(n)?t[a]=d0({},n):pl(n)?t[a]=n.slice():t[a]=n};for(let n=0,o=arguments.length;n(Js(t,(o,a)=>{r&&tn(o)?e[a]=Hx(o,r):e[a]=o},{allOwnKeys:n}),e),y2=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),w2=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},x2=(e,t,r,n)=>{let o,a,i;const u={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),a=o.length;a-- >0;)i=o[a],(!n||n(i,e,t))&&!u[i]&&(t[i]=e[i],u[i]=!0);e=r!==!1&&Qh(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},_2=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},C2=e=>{if(!e)return null;if(pl(e))return e;let t=e.length;if(!qx(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},S2=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Qh(Uint8Array)),T2=(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=n.next())&&!o.done;){const a=o.value;t.call(e,a[0],a[1])}},O2=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},P2=qn("HTMLFormElement"),k2=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),$v=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),E2=qn("RegExp"),Yx=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};Js(r,(o,a)=>{let i;(i=t(o,a,e))!==!1&&(n[a]=i||o)}),Object.defineProperties(e,n)},N2=e=>{Yx(e,(t,r)=>{if(tn(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(tn(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},j2=(e,t)=>{const r={},n=o=>{o.forEach(a=>{r[a]=!0})};return pl(e)?n(e):n(String(e).split(t)),r},R2=()=>{},A2=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,hp="abcdefghijklmnopqrstuvwxyz",qv="0123456789",Qx={DIGIT:qv,ALPHA:hp,ALPHA_DIGIT:hp+hp.toUpperCase()+qv},M2=(e=16,t=Qx.ALPHA_DIGIT)=>{let r="";const{length:n}=t;for(;e--;)r+=t[Math.random()*n|0];return r};function I2(e){return!!(e&&tn(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const D2=e=>{const t=new Array(10),r=(n,o)=>{if(Dd(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[o]=n;const a=pl(n)?[]:{};return Js(n,(i,u)=>{const f=r(i,o+1);!_s(f)&&(a[u]=f)}),t[o]=void 0,a}}return n};return r(e,0)},L2=qn("AsyncFunction"),F2=e=>e&&(Dd(e)||tn(e))&&tn(e.then)&&tn(e.catch),Xx=((e,t)=>e?setImmediate:t?((r,n)=>(za.addEventListener("message",({source:o,data:a})=>{o===za&&a===r&&n.length&&n.shift()()},!1),o=>{n.push(o),za.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",tn(za.postMessage)),z2=typeof queueMicrotask<"u"?queueMicrotask.bind(za):typeof process<"u"&&process.nextTick||Xx,ye={isArray:pl,isArrayBuffer:$x,isBuffer:r2,isFormData:d2,isArrayBufferView:n2,isString:o2,isNumber:qx,isBoolean:a2,isObject:Dd,isPlainObject:sc,isReadableStream:p2,isRequest:h2,isResponse:g2,isHeaders:m2,isUndefined:_s,isDate:i2,isFile:l2,isBlob:s2,isRegExp:E2,isFunction:tn,isStream:c2,isURLSearchParams:f2,isTypedArray:S2,isFileList:u2,forEach:Js,merge:d0,extend:v2,trim:b2,stripBOM:y2,inherits:w2,toFlatObject:x2,kindOf:Md,kindOfTest:qn,endsWith:_2,toArray:C2,forEachEntry:T2,matchAll:O2,isHTMLForm:P2,hasOwnProperty:$v,hasOwnProp:$v,reduceDescriptors:Yx,freezeMethods:N2,toObjectSet:j2,toCamelCase:k2,noop:R2,toFiniteNumber:A2,findKey:Gx,global:za,isContextDefined:Kx,ALPHABET:Qx,generateString:M2,isSpecCompliantForm:I2,toJSONObject:D2,isAsyncFn:L2,isThenable:F2,setImmediate:Xx,asap:z2};function it(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}ye.inherits(it,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ye.toJSONObject(this.config),code:this.code,status:this.status}}});const Jx=it.prototype,Zx={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Zx[e]={value:e}});Object.defineProperties(it,Zx);Object.defineProperty(Jx,"isAxiosError",{value:!0});it.from=(e,t,r,n,o,a)=>{const i=Object.create(Jx);return ye.toFlatObject(e,i,function(f){return f!==Error.prototype},u=>u!=="isAxiosError"),it.call(i,e.message,t,r,n,o),i.cause=e,i.name=e.name,a&&Object.assign(i,a),i};const B2=null;function f0(e){return ye.isPlainObject(e)||ye.isArray(e)}function e_(e){return ye.endsWith(e,"[]")?e.slice(0,-2):e}function Gv(e,t,r){return e?e.concat(t).map(function(o,a){return o=e_(o),!r&&a?"["+o+"]":o}).join(r?".":""):t}function V2(e){return ye.isArray(e)&&!e.some(f0)}const U2=ye.toFlatObject(ye,{},null,function(t){return/^is[A-Z]/.test(t)});function Ld(e,t,r){if(!ye.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=ye.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,m){return!ye.isUndefined(m[w])});const n=r.metaTokens,o=r.visitor||b,a=r.dots,i=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&ye.isSpecCompliantForm(t);if(!ye.isFunction(o))throw new TypeError("visitor must be a function");function g(C){if(C===null)return"";if(ye.isDate(C))return C.toISOString();if(!f&&ye.isBlob(C))throw new it("Blob is not supported. Use a Buffer instead.");return ye.isArrayBuffer(C)||ye.isTypedArray(C)?f&&typeof Blob=="function"?new Blob([C]):Buffer.from(C):C}function b(C,w,m){let d=C;if(C&&!m&&typeof C=="object"){if(ye.endsWith(w,"{}"))w=n?w:w.slice(0,-2),C=JSON.stringify(C);else if(ye.isArray(C)&&V2(C)||(ye.isFileList(C)||ye.endsWith(w,"[]"))&&(d=ye.toArray(C)))return w=e_(w),d.forEach(function(c,s){!(ye.isUndefined(c)||c===null)&&t.append(i===!0?Gv([w],s,a):i===null?w:w+"[]",g(c))}),!1}return f0(C)?!0:(t.append(Gv(m,w,a),g(C)),!1)}const _=[],O=Object.assign(U2,{defaultVisitor:b,convertValue:g,isVisitable:f0});function S(C,w){if(!ye.isUndefined(C)){if(_.indexOf(C)!==-1)throw Error("Circular reference detected in "+w.join("."));_.push(C),ye.forEach(C,function(d,l){(!(ye.isUndefined(d)||d===null)&&o.call(t,d,ye.isString(l)?l.trim():l,w,O))===!0&&S(d,w?w.concat(l):[l])}),_.pop()}}if(!ye.isObject(e))throw new TypeError("data must be an object");return S(e),t}function Kv(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Xh(e,t){this._pairs=[],e&&Ld(e,this,t)}const t_=Xh.prototype;t_.append=function(t,r){this._pairs.push([t,r])};t_.toString=function(t){const r=t?function(n){return t.call(this,n,Kv)}:Kv;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function W2(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function r_(e,t,r){if(!t)return e;const n=r&&r.encode||W2,o=r&&r.serialize;let a;if(o?a=o(t,r):a=ye.isURLSearchParams(t)?t.toString():new Xh(t,r).toString(n),a){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}class H2{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ye.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Yv=H2,n_={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},$2=typeof URLSearchParams<"u"?URLSearchParams:Xh,q2=typeof FormData<"u"?FormData:null,G2=typeof Blob<"u"?Blob:null,K2={isBrowser:!0,classes:{URLSearchParams:$2,FormData:q2,Blob:G2},protocols:["http","https","file","blob","url","data"]},Jh=typeof window<"u"&&typeof document<"u",p0=typeof navigator=="object"&&navigator||void 0,Y2=Jh&&(!p0||["ReactNative","NativeScript","NS"].indexOf(p0.product)<0),Q2=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),X2=Jh&&window.location.href||"http://localhost",J2=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Jh,hasStandardBrowserEnv:Y2,hasStandardBrowserWebWorkerEnv:Q2,navigator:p0,origin:X2},Symbol.toStringTag,{value:"Module"})),rn={...J2,...K2};function Z2(e,t){return Ld(e,new rn.classes.URLSearchParams,Object.assign({visitor:function(r,n,o,a){return rn.isNode&&ye.isBuffer(r)?(this.append(n,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function eR(e){return ye.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function tR(e){const t={},r=Object.keys(e);let n;const o=r.length;let a;for(n=0;n=r.length;return i=!i&&ye.isArray(o)?o.length:i,f?(ye.hasOwnProp(o,i)?o[i]=[o[i],n]:o[i]=n,!u):((!o[i]||!ye.isObject(o[i]))&&(o[i]=[]),t(r,n,o[i],a)&&ye.isArray(o[i])&&(o[i]=tR(o[i])),!u)}if(ye.isFormData(e)&&ye.isFunction(e.entries)){const r={};return ye.forEachEntry(e,(n,o)=>{t(eR(n),o,r,0)}),r}return null}function rR(e,t,r){if(ye.isString(e))try{return(t||JSON.parse)(e),ye.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const Zh={transitional:n_,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",o=n.indexOf("application/json")>-1,a=ye.isObject(t);if(a&&ye.isHTMLForm(t)&&(t=new FormData(t)),ye.isFormData(t))return o?JSON.stringify(o_(t)):t;if(ye.isArrayBuffer(t)||ye.isBuffer(t)||ye.isStream(t)||ye.isFile(t)||ye.isBlob(t)||ye.isReadableStream(t))return t;if(ye.isArrayBufferView(t))return t.buffer;if(ye.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let u;if(a){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Z2(t,this.formSerializer).toString();if((u=ye.isFileList(t))||n.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return Ld(u?{"files[]":t}:t,f&&new f,this.formSerializer)}}return a||o?(r.setContentType("application/json",!1),rR(t)):t}],transformResponse:[function(t){const r=this.transitional||Zh.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(ye.isResponse(t)||ye.isReadableStream(t))return t;if(t&&ye.isString(t)&&(n&&!this.responseType||o)){const i=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(u){if(i)throw u.name==="SyntaxError"?it.from(u,it.ERR_BAD_RESPONSE,this,null,this.response):u}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:rn.classes.FormData,Blob:rn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ye.forEach(["delete","get","head","post","put","patch"],e=>{Zh.headers[e]={}});const eg=Zh,nR=ye.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),oR=e=>{const t={};let r,n,o;return e&&e.split(` -`).forEach(function(i){o=i.indexOf(":"),r=i.substring(0,o).trim().toLowerCase(),n=i.substring(o+1).trim(),!(!r||t[r]&&nR[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},Qv=Symbol("internals");function Ul(e){return e&&String(e).trim().toLowerCase()}function uc(e){return e===!1||e==null?e:ye.isArray(e)?e.map(uc):String(e)}function aR(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const iR=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function gp(e,t,r,n,o){if(ye.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!ye.isString(t)){if(ye.isString(n))return t.indexOf(n)!==-1;if(ye.isRegExp(n))return n.test(t)}}function lR(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function sR(e,t){const r=ye.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,a,i){return this[n].call(this,t,o,a,i)},configurable:!0})})}class Fd{constructor(t){t&&this.set(t)}set(t,r,n){const o=this;function a(u,f,g){const b=Ul(f);if(!b)throw new Error("header name must be a non-empty string");const _=ye.findKey(o,b);(!_||o[_]===void 0||g===!0||g===void 0&&o[_]!==!1)&&(o[_||f]=uc(u))}const i=(u,f)=>ye.forEach(u,(g,b)=>a(g,b,f));if(ye.isPlainObject(t)||t instanceof this.constructor)i(t,r);else if(ye.isString(t)&&(t=t.trim())&&!iR(t))i(oR(t),r);else if(ye.isHeaders(t))for(const[u,f]of t.entries())a(f,u,n);else t!=null&&a(r,t,n);return this}get(t,r){if(t=Ul(t),t){const n=ye.findKey(this,t);if(n){const o=this[n];if(!r)return o;if(r===!0)return aR(o);if(ye.isFunction(r))return r.call(this,o,n);if(ye.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Ul(t),t){const n=ye.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||gp(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let o=!1;function a(i){if(i=Ul(i),i){const u=ye.findKey(n,i);u&&(!r||gp(n,n[u],u,r))&&(delete n[u],o=!0)}}return ye.isArray(t)?t.forEach(a):a(t),o}clear(t){const r=Object.keys(this);let n=r.length,o=!1;for(;n--;){const a=r[n];(!t||gp(this,this[a],a,t,!0))&&(delete this[a],o=!0)}return o}normalize(t){const r=this,n={};return ye.forEach(this,(o,a)=>{const i=ye.findKey(n,a);if(i){r[i]=uc(o),delete r[a];return}const u=t?lR(a):String(a).trim();u!==a&&delete r[a],r[u]=uc(o),n[u]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return ye.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&ye.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){const n=(this[Qv]=this[Qv]={accessors:{}}).accessors,o=this.prototype;function a(i){const u=Ul(i);n[u]||(sR(o,i),n[u]=!0)}return ye.isArray(t)?t.forEach(a):a(t),this}}Fd.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ye.reduceDescriptors(Fd.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});ye.freezeMethods(Fd);const Ln=Fd;function mp(e,t){const r=this||eg,n=t||r,o=Ln.from(n.headers);let a=n.data;return ye.forEach(e,function(u){a=u.call(r,a,o.normalize(),t?t.status:void 0)}),o.normalize(),a}function a_(e){return!!(e&&e.__CANCEL__)}function hl(e,t,r){it.call(this,e??"canceled",it.ERR_CANCELED,t,r),this.name="CanceledError"}ye.inherits(hl,it,{__CANCEL__:!0});function i_(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new it("Request failed with status code "+r.status,[it.ERR_BAD_REQUEST,it.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function uR(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function cR(e,t){e=e||10;const r=new Array(e),n=new Array(e);let o=0,a=0,i;return t=t!==void 0?t:1e3,function(f){const g=Date.now(),b=n[a];i||(i=g),r[o]=f,n[o]=g;let _=a,O=0;for(;_!==o;)O+=r[_++],_=_%e;if(o=(o+1)%e,o===a&&(a=(a+1)%e),g-i{r=b,o=null,a&&(clearTimeout(a),a=null),e.apply(null,g)};return[(...g)=>{const b=Date.now(),_=b-r;_>=n?i(g,b):(o=g,a||(a=setTimeout(()=>{a=null,i(o)},n-_)))},()=>o&&i(o)]}const Lc=(e,t,r=3)=>{let n=0;const o=cR(50,250);return dR(a=>{const i=a.loaded,u=a.lengthComputable?a.total:void 0,f=i-n,g=o(f),b=i<=u;n=i;const _={loaded:i,total:u,progress:u?i/u:void 0,bytes:f,rate:g||void 0,estimated:g&&u&&b?(u-i)/g:void 0,event:a,lengthComputable:u!=null,[t?"download":"upload"]:!0};e(_)},r)},Xv=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},Jv=e=>(...t)=>ye.asap(()=>e(...t)),fR=rn.hasStandardBrowserEnv?function(){const t=rn.navigator&&/(msie|trident)/i.test(rn.navigator.userAgent),r=document.createElement("a");let n;function o(a){let i=a;return t&&(r.setAttribute("href",i),i=r.href),r.setAttribute("href",i),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=o(window.location.href),function(i){const u=ye.isString(i)?o(i):i;return u.protocol===n.protocol&&u.host===n.host}}():function(){return function(){return!0}}(),pR=rn.hasStandardBrowserEnv?{write(e,t,r,n,o,a){const i=[e+"="+encodeURIComponent(t)];ye.isNumber(r)&&i.push("expires="+new Date(r).toGMTString()),ye.isString(n)&&i.push("path="+n),ye.isString(o)&&i.push("domain="+o),a===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function hR(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function gR(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function l_(e,t){return e&&!hR(t)?gR(e,t):t}const Zv=e=>e instanceof Ln?{...e}:e;function Ga(e,t){t=t||{};const r={};function n(g,b,_){return ye.isPlainObject(g)&&ye.isPlainObject(b)?ye.merge.call({caseless:_},g,b):ye.isPlainObject(b)?ye.merge({},b):ye.isArray(b)?b.slice():b}function o(g,b,_){if(ye.isUndefined(b)){if(!ye.isUndefined(g))return n(void 0,g,_)}else return n(g,b,_)}function a(g,b){if(!ye.isUndefined(b))return n(void 0,b)}function i(g,b){if(ye.isUndefined(b)){if(!ye.isUndefined(g))return n(void 0,g)}else return n(void 0,b)}function u(g,b,_){if(_ in t)return n(g,b);if(_ in e)return n(void 0,g)}const f={url:a,method:a,data:a,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:u,headers:(g,b)=>o(Zv(g),Zv(b),!0)};return ye.forEach(Object.keys(Object.assign({},e,t)),function(b){const _=f[b]||o,O=_(e[b],t[b],b);ye.isUndefined(O)&&_!==u||(r[b]=O)}),r}const s_=e=>{const t=Ga({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:a,headers:i,auth:u}=t;t.headers=i=Ln.from(i),t.url=r_(l_(t.baseURL,t.url),e.params,e.paramsSerializer),u&&i.set("Authorization","Basic "+btoa((u.username||"")+":"+(u.password?unescape(encodeURIComponent(u.password)):"")));let f;if(ye.isFormData(r)){if(rn.hasStandardBrowserEnv||rn.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if((f=i.getContentType())!==!1){const[g,...b]=f?f.split(";").map(_=>_.trim()).filter(Boolean):[];i.setContentType([g||"multipart/form-data",...b].join("; "))}}if(rn.hasStandardBrowserEnv&&(n&&ye.isFunction(n)&&(n=n(t)),n||n!==!1&&fR(t.url))){const g=o&&a&&pR.read(a);g&&i.set(o,g)}return t},mR=typeof XMLHttpRequest<"u",bR=mR&&function(e){return new Promise(function(r,n){const o=s_(e);let a=o.data;const i=Ln.from(o.headers).normalize();let{responseType:u,onUploadProgress:f,onDownloadProgress:g}=o,b,_,O,S,C;function w(){S&&S(),C&&C(),o.cancelToken&&o.cancelToken.unsubscribe(b),o.signal&&o.signal.removeEventListener("abort",b)}let m=new XMLHttpRequest;m.open(o.method.toUpperCase(),o.url,!0),m.timeout=o.timeout;function d(){if(!m)return;const c=Ln.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),h={data:!u||u==="text"||u==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:c,config:e,request:m};i_(function(y){r(y),w()},function(y){n(y),w()},h),m=null}"onloadend"in m?m.onloadend=d:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(d)},m.onabort=function(){m&&(n(new it("Request aborted",it.ECONNABORTED,e,m)),m=null)},m.onerror=function(){n(new it("Network Error",it.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let s=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const h=o.transitional||n_;o.timeoutErrorMessage&&(s=o.timeoutErrorMessage),n(new it(s,h.clarifyTimeoutError?it.ETIMEDOUT:it.ECONNABORTED,e,m)),m=null},a===void 0&&i.setContentType(null),"setRequestHeader"in m&&ye.forEach(i.toJSON(),function(s,h){m.setRequestHeader(h,s)}),ye.isUndefined(o.withCredentials)||(m.withCredentials=!!o.withCredentials),u&&u!=="json"&&(m.responseType=o.responseType),g&&([O,C]=Lc(g,!0),m.addEventListener("progress",O)),f&&m.upload&&([_,S]=Lc(f),m.upload.addEventListener("progress",_),m.upload.addEventListener("loadend",S)),(o.cancelToken||o.signal)&&(b=c=>{m&&(n(!c||c.type?new hl(null,e,m):c),m.abort(),m=null)},o.cancelToken&&o.cancelToken.subscribe(b),o.signal&&(o.signal.aborted?b():o.signal.addEventListener("abort",b)));const l=uR(o.url);if(l&&rn.protocols.indexOf(l)===-1){n(new it("Unsupported protocol "+l+":",it.ERR_BAD_REQUEST,e));return}m.send(a||null)})},vR=(e,t)=>{let r=new AbortController,n;const o=function(f){if(!n){n=!0,i();const g=f instanceof Error?f:this.reason;r.abort(g instanceof it?g:new hl(g instanceof Error?g.message:g))}};let a=t&&setTimeout(()=>{o(new it(`timeout ${t} of ms exceeded`,it.ETIMEDOUT))},t);const i=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(f=>{f&&(f.removeEventListener?f.removeEventListener("abort",o):f.unsubscribe(o))}),e=null)};e.forEach(f=>f&&f.addEventListener&&f.addEventListener("abort",o));const{signal:u}=r;return u.unsubscribe=i,[u,()=>{a&&clearTimeout(a),a=null}]},yR=vR,wR=function*(e,t){let r=e.byteLength;if(!t||r{const a=xR(e,t,o);let i=0,u,f=g=>{u||(u=!0,n&&n(g))};return new ReadableStream({async pull(g){try{const{done:b,value:_}=await a.next();if(b){f(),g.close();return}let O=_.byteLength;if(r){let S=i+=O;r(S)}g.enqueue(new Uint8Array(_))}catch(b){throw f(b),b}},cancel(g){return f(g),a.return()}},{highWaterMark:2})},zd=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",u_=zd&&typeof ReadableStream=="function",h0=zd&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),c_=(e,...t)=>{try{return!!e(...t)}catch{return!1}},_R=u_&&c_(()=>{let e=!1;const t=new Request(rn.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),ty=64*1024,g0=u_&&c_(()=>ye.isReadableStream(new Response("").body)),Fc={stream:g0&&(e=>e.body)};zd&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Fc[t]&&(Fc[t]=ye.isFunction(e[t])?r=>r[t]():(r,n)=>{throw new it(`Response type '${t}' is not supported`,it.ERR_NOT_SUPPORT,n)})})})(new Response);const CR=async e=>{if(e==null)return 0;if(ye.isBlob(e))return e.size;if(ye.isSpecCompliantForm(e))return(await new Request(e).arrayBuffer()).byteLength;if(ye.isArrayBufferView(e)||ye.isArrayBuffer(e))return e.byteLength;if(ye.isURLSearchParams(e)&&(e=e+""),ye.isString(e))return(await h0(e)).byteLength},SR=async(e,t)=>{const r=ye.toFiniteNumber(e.getContentLength());return r??CR(t)},TR=zd&&(async e=>{let{url:t,method:r,data:n,signal:o,cancelToken:a,timeout:i,onDownloadProgress:u,onUploadProgress:f,responseType:g,headers:b,withCredentials:_="same-origin",fetchOptions:O}=s_(e);g=g?(g+"").toLowerCase():"text";let[S,C]=o||a||i?yR([o,a],i):[],w,m;const d=()=>{!w&&setTimeout(()=>{S&&S.unsubscribe()}),w=!0};let l;try{if(f&&_R&&r!=="get"&&r!=="head"&&(l=await SR(b,n))!==0){let y=new Request(t,{method:"POST",body:n,duplex:"half"}),E;if(ye.isFormData(n)&&(E=y.headers.get("content-type"))&&b.setContentType(E),y.body){const[P,N]=Xv(l,Lc(Jv(f)));n=ey(y.body,ty,P,N,h0)}}ye.isString(_)||(_=_?"include":"omit");const c="credentials"in Request.prototype;m=new Request(t,{...O,signal:S,method:r.toUpperCase(),headers:b.normalize().toJSON(),body:n,duplex:"half",credentials:c?_:void 0});let s=await fetch(m);const h=g0&&(g==="stream"||g==="response");if(g0&&(u||h)){const y={};["status","statusText","headers"].forEach(R=>{y[R]=s[R]});const E=ye.toFiniteNumber(s.headers.get("content-length")),[P,N]=u&&Xv(E,Lc(Jv(u),!0))||[];s=new Response(ey(s.body,ty,P,()=>{N&&N(),h&&d()},h0),y)}g=g||"text";let v=await Fc[ye.findKey(Fc,g)||"text"](s,e);return!h&&d(),C&&C(),await new Promise((y,E)=>{i_(y,E,{data:v,headers:Ln.from(s.headers),status:s.status,statusText:s.statusText,config:e,request:m})})}catch(c){throw d(),c&&c.name==="TypeError"&&/fetch/i.test(c.message)?Object.assign(new it("Network Error",it.ERR_NETWORK,e,m),{cause:c.cause||c}):it.from(c,c&&c.code,e,m)}}),m0={http:B2,xhr:bR,fetch:TR};ye.forEach(m0,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const ry=e=>`- ${e}`,OR=e=>ye.isFunction(e)||e===null||e===!1,d_={getAdapter:e=>{e=ye.isArray(e)?e:[e];const{length:t}=e;let r,n;const o={};for(let a=0;a`adapter ${u} `+(f===!1?"is not supported by the environment":"is not available in the build"));let i=t?a.length>1?`since : -`+a.map(ry).join(` -`):" "+ry(a[0]):"as no adapter specified";throw new it("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return n},adapters:m0};function bp(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new hl(null,e)}function ny(e){return bp(e),e.headers=Ln.from(e.headers),e.data=mp.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),d_.getAdapter(e.adapter||eg.adapter)(e).then(function(n){return bp(e),n.data=mp.call(e,e.transformResponse,n),n.headers=Ln.from(n.headers),n},function(n){return a_(n)||(bp(e),n&&n.response&&(n.response.data=mp.call(e,e.transformResponse,n.response),n.response.headers=Ln.from(n.response.headers))),Promise.reject(n)})}const f_="1.7.5",tg={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{tg[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const oy={};tg.transitional=function(t,r,n){function o(a,i){return"[Axios v"+f_+"] Transitional option '"+a+"'"+i+(n?". "+n:"")}return(a,i,u)=>{if(t===!1)throw new it(o(i," has been removed"+(r?" in "+r:"")),it.ERR_DEPRECATED);return r&&!oy[i]&&(oy[i]=!0,console.warn(o(i," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(a,i,u):!0}};function PR(e,t,r){if(typeof e!="object")throw new it("options must be an object",it.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let o=n.length;for(;o-- >0;){const a=n[o],i=t[a];if(i){const u=e[a],f=u===void 0||i(u,a,e);if(f!==!0)throw new it("option "+a+" must be "+f,it.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new it("Unknown option "+a,it.ERR_BAD_OPTION)}}const b0={assertOptions:PR,validators:tg},$o=b0.validators;class zc{constructor(t){this.defaults=t,this.interceptors={request:new Yv,response:new Yv}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let o;Error.captureStackTrace?Error.captureStackTrace(o={}):o=new Error;const a=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?a&&!String(n.stack).endsWith(a.replace(/^.+\n.+\n/,""))&&(n.stack+=` -`+a):n.stack=a}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=Ga(this.defaults,r);const{transitional:n,paramsSerializer:o,headers:a}=r;n!==void 0&&b0.assertOptions(n,{silentJSONParsing:$o.transitional($o.boolean),forcedJSONParsing:$o.transitional($o.boolean),clarifyTimeoutError:$o.transitional($o.boolean)},!1),o!=null&&(ye.isFunction(o)?r.paramsSerializer={serialize:o}:b0.assertOptions(o,{encode:$o.function,serialize:$o.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let i=a&&ye.merge(a.common,a[r.method]);a&&ye.forEach(["delete","get","head","post","put","patch","common"],C=>{delete a[C]}),r.headers=Ln.concat(i,a);const u=[];let f=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(r)===!1||(f=f&&w.synchronous,u.unshift(w.fulfilled,w.rejected))});const g=[];this.interceptors.response.forEach(function(w){g.push(w.fulfilled,w.rejected)});let b,_=0,O;if(!f){const C=[ny.bind(this),void 0];for(C.unshift.apply(C,u),C.push.apply(C,g),O=C.length,b=Promise.resolve(r);_{if(!n._listeners)return;let a=n._listeners.length;for(;a-- >0;)n._listeners[a](o);n._listeners=null}),this.promise.then=o=>{let a;const i=new Promise(u=>{n.subscribe(u),a=u}).then(o);return i.cancel=function(){n.unsubscribe(a)},i},t(function(a,i,u){n.reason||(n.reason=new hl(a,i,u),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}static source(){let t;return{token:new rg(function(o){t=o}),cancel:t}}}const kR=rg;function ER(e){return function(r){return e.apply(null,r)}}function NR(e){return ye.isObject(e)&&e.isAxiosError===!0}const v0={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(v0).forEach(([e,t])=>{v0[t]=e});const jR=v0;function p_(e){const t=new cc(e),r=Hx(cc.prototype.request,t);return ye.extend(r,cc.prototype,t,{allOwnKeys:!0}),ye.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return p_(Ga(e,o))},r}const or=p_(eg);or.Axios=cc;or.CanceledError=hl;or.CancelToken=kR;or.isCancel=a_;or.VERSION=f_;or.toFormData=Ld;or.AxiosError=it;or.Cancel=or.CanceledError;or.all=function(t){return Promise.all(t)};or.spread=ER;or.isAxiosError=NR;or.mergeConfig=Ga;or.AxiosHeaders=Ln;or.formToJSON=e=>o_(ye.isHTMLForm(e)?new FormData(e):e);or.getAdapter=d_.getAdapter;or.HttpStatusCode=jR;or.default=or;const at=or;var y0={},h_={exports:{}},sn={},g_={exports:{}},m_={};/** - * @license React - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */(function(e){function t($,z){var H=$.length;$.push(z);e:for(;0>>1,X=$[G];if(0>>1;Go(pe,H))oeo(se,pe)?($[G]=se,$[oe]=H,G=oe):($[G]=pe,$[fe]=H,G=fe);else if(oeo(se,H))$[G]=se,$[oe]=H,G=oe;else break e}}return z}function o($,z){var H=$.sortIndex-z.sortIndex;return H!==0?H:$.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var i=Date,u=i.now();e.unstable_now=function(){return i.now()-u}}var f=[],g=[],b=1,_=null,O=3,S=!1,C=!1,w=!1,m=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,l=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function c($){for(var z=r(g);z!==null;){if(z.callback===null)n(g);else if(z.startTime<=$)n(g),z.sortIndex=z.expirationTime,t(f,z);else break;z=r(g)}}function s($){if(w=!1,c($),!C)if(r(f)!==null)C=!0,U(h);else{var z=r(g);z!==null&&Y(s,z.startTime-$)}}function h($,z){C=!1,w&&(w=!1,d(E),E=-1),S=!0;var H=O;try{for(c(z),_=r(f);_!==null&&(!(_.expirationTime>z)||$&&!R());){var G=_.callback;if(typeof G=="function"){_.callback=null,O=_.priorityLevel;var X=G(_.expirationTime<=z);z=e.unstable_now(),typeof X=="function"?_.callback=X:_===r(f)&&n(f),c(z)}else n(f);_=r(f)}if(_!==null)var ie=!0;else{var fe=r(g);fe!==null&&Y(s,fe.startTime-z),ie=!1}return ie}finally{_=null,O=H,S=!1}}var v=!1,y=null,E=-1,P=5,N=-1;function R(){return!(e.unstable_now()-N$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):P=0<$?Math.floor(1e3/$):5},e.unstable_getCurrentPriorityLevel=function(){return O},e.unstable_getFirstCallbackNode=function(){return r(f)},e.unstable_next=function($){switch(O){case 1:case 2:case 3:var z=3;break;default:z=O}var H=O;O=z;try{return $()}finally{O=H}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function($,z){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var H=O;O=$;try{return z()}finally{O=H}},e.unstable_scheduleCallback=function($,z,H){var G=e.unstable_now();switch(typeof H=="object"&&H!==null?(H=H.delay,H=typeof H=="number"&&0G?($.sortIndex=H,t(g,$),r(f)===null&&$===r(g)&&(w?(d(E),E=-1):w=!0,Y(s,H-G))):($.sortIndex=X,t(f,$),C||S||(C=!0,U(h))),$},e.unstable_shouldYield=R,e.unstable_wrapCallback=function($){var z=O;return function(){var H=O;O=z;try{return $.apply(this,arguments)}finally{O=H}}}})(m_);g_.exports=m_;var RR=g_.exports;/** - * @license React - * react-dom.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var b_=j,an=RR;function ke(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),w0=Object.prototype.hasOwnProperty,AR=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ay={},iy={};function MR(e){return w0.call(iy,e)?!0:w0.call(ay,e)?!1:AR.test(e)?iy[e]=!0:(ay[e]=!0,!1)}function IR(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function DR(e,t,r,n){if(t===null||typeof t>"u"||IR(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Lr(e,t,r,n,o,a,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var vr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){vr[e]=new Lr(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];vr[t]=new Lr(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){vr[e]=new Lr(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){vr[e]=new Lr(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){vr[e]=new Lr(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){vr[e]=new Lr(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){vr[e]=new Lr(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){vr[e]=new Lr(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){vr[e]=new Lr(e,5,!1,e.toLowerCase(),null,!1,!1)});var ng=/[\-:]([a-z])/g;function og(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ng,og);vr[t]=new Lr(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ng,og);vr[t]=new Lr(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ng,og);vr[t]=new Lr(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){vr[e]=new Lr(e,1,!1,e.toLowerCase(),null,!1,!1)});vr.xlinkHref=new Lr("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){vr[e]=new Lr(e,1,!1,e.toLowerCase(),null,!0,!0)});function ag(e,t,r,n){var o=vr.hasOwnProperty(t)?vr[t]:null;(o!==null?o.type!==0:n||!(2u||o[i]!==a[u]){var f=` -`+o[i].replace(" at new "," at ");return e.displayName&&f.includes("")&&(f=f.replace("",e.displayName)),f}while(1<=i&&0<=u);break}}}finally{yp=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?ts(e):""}function LR(e){switch(e.tag){case 5:return ts(e.type);case 16:return ts("Lazy");case 13:return ts("Suspense");case 19:return ts("SuspenseList");case 0:case 2:case 15:return e=wp(e.type,!1),e;case 11:return e=wp(e.type.render,!1),e;case 1:return e=wp(e.type,!0),e;default:return""}}function S0(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Oi:return"Fragment";case Ti:return"Portal";case x0:return"Profiler";case ig:return"StrictMode";case _0:return"Suspense";case C0:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case w_:return(e.displayName||"Context")+".Consumer";case y_:return(e._context.displayName||"Context")+".Provider";case lg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case sg:return t=e.displayName||null,t!==null?t:S0(e.type)||"Memo";case Xo:t=e._payload,e=e._init;try{return S0(e(t))}catch{}}return null}function FR(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return S0(t);case 8:return t===ig?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ma(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function __(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function zR(e){var t=__(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Mu(e){e._valueTracker||(e._valueTracker=zR(e))}function C_(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=__(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function Bc(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function T0(e,t){var r=t.checked;return $t({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function sy(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=ma(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function S_(e,t){t=t.checked,t!=null&&ag(e,"checked",t,!1)}function O0(e,t){S_(e,t);var r=ma(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?P0(e,t.type,r):t.hasOwnProperty("defaultValue")&&P0(e,t.type,ma(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function uy(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function P0(e,t,r){(t!=="number"||Bc(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var rs=Array.isArray;function zi(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Iu.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Ss(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var ss={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},BR=["Webkit","ms","Moz","O"];Object.keys(ss).forEach(function(e){BR.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ss[t]=ss[e]})});function k_(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||ss.hasOwnProperty(e)&&ss[e]?(""+t).trim():t+"px"}function E_(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,o=k_(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,o):e[r]=o}}var VR=$t({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function N0(e,t){if(t){if(VR[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ke(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ke(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ke(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ke(62))}}function j0(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var R0=null;function ug(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var A0=null,Bi=null,Vi=null;function fy(e){if(e=tu(e)){if(typeof A0!="function")throw Error(ke(280));var t=e.stateNode;t&&(t=Hd(t),A0(e.stateNode,e.type,t))}}function N_(e){Bi?Vi?Vi.push(e):Vi=[e]:Bi=e}function j_(){if(Bi){var e=Bi,t=Vi;if(Vi=Bi=null,fy(e),t)for(e=0;e>>=0,e===0?32:31-(JR(e)/ZR|0)|0}var Du=64,Lu=4194304;function ns(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Hc(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,o=e.suspendedLanes,a=e.pingedLanes,i=r&268435455;if(i!==0){var u=i&~o;u!==0?n=ns(u):(a&=i,a!==0&&(n=ns(a)))}else i=r&~o,i!==0?n=ns(i):a!==0&&(n=ns(a));if(n===0)return 0;if(t!==0&&t!==n&&!(t&o)&&(o=n&-n,a=t&-t,o>=a||o===16&&(a&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function Zs(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Fn(t),e[t]=r}function nA(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=cs),xy=String.fromCharCode(32),_y=!1;function X_(e,t){switch(e){case"keyup":return jA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function J_(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Pi=!1;function AA(e,t){switch(e){case"compositionend":return J_(t);case"keypress":return t.which!==32?null:(_y=!0,xy);case"textInput":return e=t.data,e===xy&&_y?null:e;default:return null}}function MA(e,t){if(Pi)return e==="compositionend"||!bg&&X_(e,t)?(e=Y_(),fc=hg=ra=null,Pi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Oy(r)}}function rC(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?rC(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function nC(){for(var e=window,t=Bc();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=Bc(e.document)}return t}function vg(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function WA(e){var t=nC(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&rC(r.ownerDocument.documentElement,r)){if(n!==null&&vg(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=r.textContent.length,a=Math.min(n.start,o);n=n.end===void 0?a:Math.min(n.end,o),!e.extend&&a>n&&(o=n,n=a,a=o),o=Py(r,a);var i=Py(r,n);o&&i&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),a>n?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,ki=null,z0=null,fs=null,B0=!1;function ky(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;B0||ki==null||ki!==Bc(n)||(n=ki,"selectionStart"in n&&vg(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),fs&&Ns(fs,n)||(fs=n,n=Gc(z0,"onSelect"),0ji||(e.current=q0[ji],q0[ji]=null,ji--)}function kt(e,t){ji++,q0[ji]=e.current,e.current=t}var ba={},Er=wa(ba),$r=wa(!1),Ka=ba;function Xi(e,t){var r=e.type.contextTypes;if(!r)return ba;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var o={},a;for(a in r)o[a]=t[a];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function qr(e){return e=e.childContextTypes,e!=null}function Yc(){It($r),It(Er)}function Iy(e,t,r){if(Er.current!==ba)throw Error(ke(168));kt(Er,t),kt($r,r)}function fC(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var o in n)if(!(o in t))throw Error(ke(108,FR(e)||"Unknown",o));return $t({},r,n)}function Qc(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||ba,Ka=Er.current,kt(Er,e),kt($r,$r.current),!0}function Dy(e,t,r){var n=e.stateNode;if(!n)throw Error(ke(169));r?(e=fC(e,t,Ka),n.__reactInternalMemoizedMergedChildContext=e,It($r),It(Er),kt(Er,e)):It($r),kt($r,r)}var yo=null,$d=!1,Mp=!1;function pC(e){yo===null?yo=[e]:yo.push(e)}function tM(e){$d=!0,pC(e)}function xa(){if(!Mp&&yo!==null){Mp=!0;var e=0,t=xt;try{var r=yo;for(xt=1;e>=i,o-=i,wo=1<<32-Fn(t)+o|r<E?(P=y,y=null):P=y.sibling;var N=O(d,y,c[E],s);if(N===null){y===null&&(y=P);break}e&&y&&N.alternate===null&&t(d,y),l=a(N,l,E),v===null?h=N:v.sibling=N,v=N,y=P}if(E===c.length)return r(d,y),Ft&&Da(d,E),h;if(y===null){for(;EE?(P=y,y=null):P=y.sibling;var R=O(d,y,N.value,s);if(R===null){y===null&&(y=P);break}e&&y&&R.alternate===null&&t(d,y),l=a(R,l,E),v===null?h=R:v.sibling=R,v=R,y=P}if(N.done)return r(d,y),Ft&&Da(d,E),h;if(y===null){for(;!N.done;E++,N=c.next())N=_(d,N.value,s),N!==null&&(l=a(N,l,E),v===null?h=N:v.sibling=N,v=N);return Ft&&Da(d,E),h}for(y=n(d,y);!N.done;E++,N=c.next())N=S(y,d,E,N.value,s),N!==null&&(e&&N.alternate!==null&&y.delete(N.key===null?E:N.key),l=a(N,l,E),v===null?h=N:v.sibling=N,v=N);return e&&y.forEach(function(M){return t(d,M)}),Ft&&Da(d,E),h}function m(d,l,c,s){if(typeof c=="object"&&c!==null&&c.type===Oi&&c.key===null&&(c=c.props.children),typeof c=="object"&&c!==null){switch(c.$$typeof){case Au:e:{for(var h=c.key,v=l;v!==null;){if(v.key===h){if(h=c.type,h===Oi){if(v.tag===7){r(d,v.sibling),l=o(v,c.props.children),l.return=d,d=l;break e}}else if(v.elementType===h||typeof h=="object"&&h!==null&&h.$$typeof===Xo&&Wy(h)===v.type){r(d,v.sibling),l=o(v,c.props),l.ref=Kl(d,v,c),l.return=d,d=l;break e}r(d,v);break}else t(d,v);v=v.sibling}c.type===Oi?(l=$a(c.props.children,d.mode,s,c.key),l.return=d,d=l):(s=wc(c.type,c.key,c.props,null,d.mode,s),s.ref=Kl(d,l,c),s.return=d,d=s)}return i(d);case Ti:e:{for(v=c.key;l!==null;){if(l.key===v)if(l.tag===4&&l.stateNode.containerInfo===c.containerInfo&&l.stateNode.implementation===c.implementation){r(d,l.sibling),l=o(l,c.children||[]),l.return=d,d=l;break e}else{r(d,l);break}else t(d,l);l=l.sibling}l=Up(c,d.mode,s),l.return=d,d=l}return i(d);case Xo:return v=c._init,m(d,l,v(c._payload),s)}if(rs(c))return C(d,l,c,s);if(Wl(c))return w(d,l,c,s);Hu(d,c)}return typeof c=="string"&&c!==""||typeof c=="number"?(c=""+c,l!==null&&l.tag===6?(r(d,l.sibling),l=o(l,c),l.return=d,d=l):(r(d,l),l=Vp(c,d.mode,s),l.return=d,d=l),i(d)):r(d,l)}return m}var Zi=xC(!0),_C=xC(!1),ru={},ao=wa(ru),Ms=wa(ru),Is=wa(ru);function Ua(e){if(e===ru)throw Error(ke(174));return e}function Pg(e,t){switch(kt(Is,t),kt(Ms,e),kt(ao,ru),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:E0(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=E0(t,e)}It(ao),kt(ao,t)}function el(){It(ao),It(Ms),It(Is)}function CC(e){Ua(Is.current);var t=Ua(ao.current),r=E0(t,e.type);t!==r&&(kt(Ms,e),kt(ao,r))}function kg(e){Ms.current===e&&(It(ao),It(Ms))}var Vt=wa(0);function rd(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ip=[];function Eg(){for(var e=0;er?r:4,e(!0);var n=Dp.transition;Dp.transition={};try{e(!1),t()}finally{xt=r,Dp.transition=n}}function zC(){return Tn().memoizedState}function aM(e,t,r){var n=da(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},BC(e))VC(t,r);else if(r=bC(e,t,r,n),r!==null){var o=Ir();zn(r,e,n,o),UC(r,t,n)}}function iM(e,t,r){var n=da(e),o={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(BC(e))VC(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,u=a(i,r);if(o.hasEagerState=!0,o.eagerState=u,Vn(u,i)){var f=t.interleaved;f===null?(o.next=o,Tg(t)):(o.next=f.next,f.next=o),t.interleaved=o;return}}catch{}finally{}r=bC(e,t,o,n),r!==null&&(o=Ir(),zn(r,e,n,o),UC(r,t,n))}}function BC(e){var t=e.alternate;return e===Wt||t!==null&&t===Wt}function VC(e,t){ps=nd=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function UC(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,dg(e,r)}}var od={readContext:Sn,useCallback:Cr,useContext:Cr,useEffect:Cr,useImperativeHandle:Cr,useInsertionEffect:Cr,useLayoutEffect:Cr,useMemo:Cr,useReducer:Cr,useRef:Cr,useState:Cr,useDebugValue:Cr,useDeferredValue:Cr,useTransition:Cr,useMutableSource:Cr,useSyncExternalStore:Cr,useId:Cr,unstable_isNewReconciler:!1},lM={readContext:Sn,useCallback:function(e,t){return ro().memoizedState=[e,t===void 0?null:t],e},useContext:Sn,useEffect:$y,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,mc(4194308,4,MC.bind(null,t,e),r)},useLayoutEffect:function(e,t){return mc(4194308,4,e,t)},useInsertionEffect:function(e,t){return mc(4,2,e,t)},useMemo:function(e,t){var r=ro();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=ro();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=aM.bind(null,Wt,e),[n.memoizedState,e]},useRef:function(e){var t=ro();return e={current:e},t.memoizedState=e},useState:Hy,useDebugValue:Mg,useDeferredValue:function(e){return ro().memoizedState=e},useTransition:function(){var e=Hy(!1),t=e[0];return e=oM.bind(null,e[1]),ro().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=Wt,o=ro();if(Ft){if(r===void 0)throw Error(ke(407));r=r()}else{if(r=t(),hr===null)throw Error(ke(349));Qa&30||OC(n,t,r)}o.memoizedState=r;var a={value:r,getSnapshot:t};return o.queue=a,$y(kC.bind(null,n,a,e),[e]),n.flags|=2048,Fs(9,PC.bind(null,n,a,r,t),void 0,null),r},useId:function(){var e=ro(),t=hr.identifierPrefix;if(Ft){var r=xo,n=wo;r=(n&~(1<<32-Fn(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=Ds++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=i.createElement(r,{is:n.is}):(e=i.createElement(r),r==="select"&&(i=e,n.multiple?i.multiple=!0:n.size&&(i.size=n.size))):e=i.createElementNS(e,r),e[no]=t,e[As]=n,XC(e,t,!1,!1),t.stateNode=e;e:{switch(i=j0(r,n),r){case"dialog":At("cancel",e),At("close",e),o=n;break;case"iframe":case"object":case"embed":At("load",e),o=n;break;case"video":case"audio":for(o=0;orl&&(t.flags|=128,n=!0,Yl(a,!1),t.lanes=4194304)}else{if(!n)if(e=rd(i),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),Yl(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!Ft)return Sr(t),null}else 2*er()-a.renderingStartTime>rl&&r!==1073741824&&(t.flags|=128,n=!0,Yl(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(r=a.last,r!==null?r.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=er(),t.sibling=null,r=Vt.current,kt(Vt,n?r&1|2:r&1),t):(Sr(t),null);case 22:case 23:return Bg(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?Zr&1073741824&&(Sr(t),t.subtreeFlags&6&&(t.flags|=8192)):Sr(t),null;case 24:return null;case 25:return null}throw Error(ke(156,t.tag))}function gM(e,t){switch(wg(t),t.tag){case 1:return qr(t.type)&&Yc(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return el(),It($r),It(Er),Eg(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return kg(t),null;case 13:if(It(Vt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ke(340));Ji()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return It(Vt),null;case 4:return el(),null;case 10:return Sg(t.type._context),null;case 22:case 23:return Bg(),null;case 24:return null;default:return null}}var qu=!1,Pr=!1,mM=typeof WeakSet=="function"?WeakSet:Set,Le=null;function Ii(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){Qt(e,t,n)}else r.current=null}function oh(e,t,r){try{r()}catch(n){Qt(e,t,n)}}var ew=!1;function bM(e,t){if(V0=$c,e=nC(),vg(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var i=0,u=-1,f=-1,g=0,b=0,_=e,O=null;t:for(;;){for(var S;_!==r||o!==0&&_.nodeType!==3||(u=i+o),_!==a||n!==0&&_.nodeType!==3||(f=i+n),_.nodeType===3&&(i+=_.nodeValue.length),(S=_.firstChild)!==null;)O=_,_=S;for(;;){if(_===e)break t;if(O===r&&++g===o&&(u=i),O===a&&++b===n&&(f=i),(S=_.nextSibling)!==null)break;_=O,O=_.parentNode}_=S}r=u===-1||f===-1?null:{start:u,end:f}}else r=null}r=r||{start:0,end:0}}else r=null;for(U0={focusedElem:e,selectionRange:r},$c=!1,Le=t;Le!==null;)if(t=Le,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Le=e;else for(;Le!==null;){t=Le;try{var C=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(C!==null){var w=C.memoizedProps,m=C.memoizedState,d=t.stateNode,l=d.getSnapshotBeforeUpdate(t.elementType===t.type?w:jn(t.type,w),m);d.__reactInternalSnapshotBeforeUpdate=l}break;case 3:var c=t.stateNode.containerInfo;c.nodeType===1?c.textContent="":c.nodeType===9&&c.documentElement&&c.removeChild(c.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ke(163))}}catch(s){Qt(t,t.return,s)}if(e=t.sibling,e!==null){e.return=t.return,Le=e;break}Le=t.return}return C=ew,ew=!1,C}function hs(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var o=n=n.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,a!==void 0&&oh(t,r,a)}o=o.next}while(o!==n)}}function Kd(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function ah(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function e5(e){var t=e.alternate;t!==null&&(e.alternate=null,e5(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[no],delete t[As],delete t[$0],delete t[ZA],delete t[eM])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function t5(e){return e.tag===5||e.tag===3||e.tag===4}function tw(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||t5(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function ih(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=Kc));else if(n!==4&&(e=e.child,e!==null))for(ih(e,t,r),e=e.sibling;e!==null;)ih(e,t,r),e=e.sibling}function lh(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(lh(e,t,r),e=e.sibling;e!==null;)lh(e,t,r),e=e.sibling}var mr=null,Rn=!1;function qo(e,t,r){for(r=r.child;r!==null;)r5(e,t,r),r=r.sibling}function r5(e,t,r){if(oo&&typeof oo.onCommitFiberUnmount=="function")try{oo.onCommitFiberUnmount(Bd,r)}catch{}switch(r.tag){case 5:Pr||Ii(r,t);case 6:var n=mr,o=Rn;mr=null,qo(e,t,r),mr=n,Rn=o,mr!==null&&(Rn?(e=mr,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):mr.removeChild(r.stateNode));break;case 18:mr!==null&&(Rn?(e=mr,r=r.stateNode,e.nodeType===8?Ap(e.parentNode,r):e.nodeType===1&&Ap(e,r),ks(e)):Ap(mr,r.stateNode));break;case 4:n=mr,o=Rn,mr=r.stateNode.containerInfo,Rn=!0,qo(e,t,r),mr=n,Rn=o;break;case 0:case 11:case 14:case 15:if(!Pr&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){o=n=n.next;do{var a=o,i=a.destroy;a=a.tag,i!==void 0&&(a&2||a&4)&&oh(r,t,i),o=o.next}while(o!==n)}qo(e,t,r);break;case 1:if(!Pr&&(Ii(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(u){Qt(r,t,u)}qo(e,t,r);break;case 21:qo(e,t,r);break;case 22:r.mode&1?(Pr=(n=Pr)||r.memoizedState!==null,qo(e,t,r),Pr=n):qo(e,t,r);break;default:qo(e,t,r)}}function rw(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new mM),t.forEach(function(n){var o=OM.bind(null,e,n);r.has(n)||(r.add(n),n.then(o,o))})}}function En(e,t){var r=t.deletions;if(r!==null)for(var n=0;no&&(o=i),n&=~a}if(n=o,n=er()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*yM(n/1960))-n,10e?16:e,na===null)var n=!1;else{if(e=na,na=null,ld=0,mt&6)throw Error(ke(331));var o=mt;for(mt|=4,Le=e.current;Le!==null;){var a=Le,i=a.child;if(Le.flags&16){var u=a.deletions;if(u!==null){for(var f=0;fer()-Fg?Ha(e,0):Lg|=r),Gr(e,t)}function c5(e,t){t===0&&(e.mode&1?(t=Lu,Lu<<=1,!(Lu&130023424)&&(Lu=4194304)):t=1);var r=Ir();e=Eo(e,t),e!==null&&(Zs(e,t,r),Gr(e,r))}function TM(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),c5(e,r)}function OM(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(ke(314))}n!==null&&n.delete(t),c5(e,r)}var d5;d5=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||$r.current)Wr=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return Wr=!1,pM(e,t,r);Wr=!!(e.flags&131072)}else Wr=!1,Ft&&t.flags&1048576&&hC(t,Jc,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;bc(e,t),e=t.pendingProps;var o=Xi(t,Er.current);Wi(t,r),o=jg(null,t,n,e,o,r);var a=Rg();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,qr(n)?(a=!0,Qc(t)):a=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Og(t),o.updater=qd,t.stateNode=o,o._reactInternals=t,X0(t,n,e,r),t=eh(null,t,n,!0,a,r)):(t.tag=0,Ft&&a&&yg(t),Mr(null,t,o,r),t=t.child),t;case 16:n=t.elementType;e:{switch(bc(e,t),e=t.pendingProps,o=n._init,n=o(n._payload),t.type=n,o=t.tag=kM(n),e=jn(n,e),o){case 0:t=Z0(null,t,n,e,r);break e;case 1:t=Xy(null,t,n,e,r);break e;case 11:t=Yy(null,t,n,e,r);break e;case 14:t=Qy(null,t,n,jn(n.type,e),r);break e}throw Error(ke(306,n,""))}return t;case 0:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:jn(n,o),Z0(e,t,n,o,r);case 1:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:jn(n,o),Xy(e,t,n,o,r);case 3:e:{if(KC(t),e===null)throw Error(ke(387));n=t.pendingProps,a=t.memoizedState,o=a.element,vC(e,t),td(t,n,null,r);var i=t.memoizedState;if(n=i.element,a.isDehydrated)if(a={element:n,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){o=tl(Error(ke(423)),t),t=Jy(e,t,n,r,o);break e}else if(n!==o){o=tl(Error(ke(424)),t),t=Jy(e,t,n,r,o);break e}else for(en=sa(t.stateNode.containerInfo.firstChild),nn=t,Ft=!0,Mn=null,r=_C(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Ji(),n===o){t=No(e,t,r);break e}Mr(e,t,n,r)}t=t.child}return t;case 5:return CC(t),e===null&&K0(t),n=t.type,o=t.pendingProps,a=e!==null?e.memoizedProps:null,i=o.children,W0(n,o)?i=null:a!==null&&W0(n,a)&&(t.flags|=32),GC(e,t),Mr(e,t,i,r),t.child;case 6:return e===null&&K0(t),null;case 13:return YC(e,t,r);case 4:return Pg(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=Zi(t,null,n,r):Mr(e,t,n,r),t.child;case 11:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:jn(n,o),Yy(e,t,n,o,r);case 7:return Mr(e,t,t.pendingProps,r),t.child;case 8:return Mr(e,t,t.pendingProps.children,r),t.child;case 12:return Mr(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,o=t.pendingProps,a=t.memoizedProps,i=o.value,kt(Zc,n._currentValue),n._currentValue=i,a!==null)if(Vn(a.value,i)){if(a.children===o.children&&!$r.current){t=No(e,t,r);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var u=a.dependencies;if(u!==null){i=a.child;for(var f=u.firstContext;f!==null;){if(f.context===n){if(a.tag===1){f=So(-1,r&-r),f.tag=2;var g=a.updateQueue;if(g!==null){g=g.shared;var b=g.pending;b===null?f.next=f:(f.next=b.next,b.next=f),g.pending=f}}a.lanes|=r,f=a.alternate,f!==null&&(f.lanes|=r),Y0(a.return,r,t),u.lanes|=r;break}f=f.next}}else if(a.tag===10)i=a.type===t.type?null:a.child;else if(a.tag===18){if(i=a.return,i===null)throw Error(ke(341));i.lanes|=r,u=i.alternate,u!==null&&(u.lanes|=r),Y0(i,r,t),i=a.sibling}else i=a.child;if(i!==null)i.return=a;else for(i=a;i!==null;){if(i===t){i=null;break}if(a=i.sibling,a!==null){a.return=i.return,i=a;break}i=i.return}a=i}Mr(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,n=t.pendingProps.children,Wi(t,r),o=Sn(o),n=n(o),t.flags|=1,Mr(e,t,n,r),t.child;case 14:return n=t.type,o=jn(n,t.pendingProps),o=jn(n.type,o),Qy(e,t,n,o,r);case 15:return $C(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:jn(n,o),bc(e,t),t.tag=1,qr(n)?(e=!0,Qc(t)):e=!1,Wi(t,r),wC(t,n,o),X0(t,n,o,r),eh(null,t,n,!0,e,r);case 19:return QC(e,t,r);case 22:return qC(e,t,r)}throw Error(ke(156,t.tag))};function f5(e,t){return F_(e,t)}function PM(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function wn(e,t,r,n){return new PM(e,t,r,n)}function Ug(e){return e=e.prototype,!(!e||!e.isReactComponent)}function kM(e){if(typeof e=="function")return Ug(e)?1:0;if(e!=null){if(e=e.$$typeof,e===lg)return 11;if(e===sg)return 14}return 2}function fa(e,t){var r=e.alternate;return r===null?(r=wn(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function wc(e,t,r,n,o,a){var i=2;if(n=e,typeof e=="function")Ug(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Oi:return $a(r.children,o,a,t);case ig:i=8,o|=8;break;case x0:return e=wn(12,r,t,o|2),e.elementType=x0,e.lanes=a,e;case _0:return e=wn(13,r,t,o),e.elementType=_0,e.lanes=a,e;case C0:return e=wn(19,r,t,o),e.elementType=C0,e.lanes=a,e;case x_:return Qd(r,o,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case y_:i=10;break e;case w_:i=9;break e;case lg:i=11;break e;case sg:i=14;break e;case Xo:i=16,n=null;break e}throw Error(ke(130,e==null?e:typeof e,""))}return t=wn(i,r,t,o),t.elementType=e,t.type=n,t.lanes=a,t}function $a(e,t,r,n){return e=wn(7,e,n,t),e.lanes=r,e}function Qd(e,t,r,n){return e=wn(22,e,n,t),e.elementType=x_,e.lanes=r,e.stateNode={isHidden:!1},e}function Vp(e,t,r){return e=wn(6,e,null,t),e.lanes=r,e}function Up(e,t,r){return t=wn(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function EM(e,t,r,n,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=_p(0),this.expirationTimes=_p(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_p(0),this.identifierPrefix=n,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Wg(e,t,r,n,o,a,i,u,f){return e=new EM(e,t,r,u,f),t===1?(t=1,a===!0&&(t|=8)):t=0,a=wn(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Og(a),e}function NM(e,t,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(m5)}catch(e){console.error(e)}}m5(),h_.exports=sn;var jo=h_.exports,cw=jo;y0.createRoot=cw.createRoot,y0.hydrateRoot=cw.hydrateRoot;/** - * @remix-run/router v1.10.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function Bs(){return Bs=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Gg(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function DM(){return Math.random().toString(36).substr(2,8)}function fw(e,t){return{usr:e.state,key:e.key,idx:t}}function fh(e,t,r,n){return r===void 0&&(r=null),Bs({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?bl(t):t,{state:r,key:t&&t.key||n||DM()})}function cd(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function bl(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function LM(e,t,r,n){n===void 0&&(n={});let{window:o=document.defaultView,v5Compat:a=!1}=n,i=o.history,u=oa.Pop,f=null,g=b();g==null&&(g=0,i.replaceState(Bs({},i.state,{idx:g}),""));function b(){return(i.state||{idx:null}).idx}function _(){u=oa.Pop;let m=b(),d=m==null?null:m-g;g=m,f&&f({action:u,location:w.location,delta:d})}function O(m,d){u=oa.Push;let l=fh(w.location,m,d);r&&r(l,m),g=b()+1;let c=fw(l,g),s=w.createHref(l);try{i.pushState(c,"",s)}catch(h){if(h instanceof DOMException&&h.name==="DataCloneError")throw h;o.location.assign(s)}a&&f&&f({action:u,location:w.location,delta:1})}function S(m,d){u=oa.Replace;let l=fh(w.location,m,d);r&&r(l,m),g=b();let c=fw(l,g),s=w.createHref(l);i.replaceState(c,"",s),a&&f&&f({action:u,location:w.location,delta:0})}function C(m){let d=o.location.origin!=="null"?o.location.origin:o.location.href,l=typeof m=="string"?m:cd(m);return Ht(d,"No window.location.(origin|href) available to create URL for href: "+l),new URL(l,d)}let w={get action(){return u},get location(){return e(o,i)},listen(m){if(f)throw new Error("A history only accepts one active listener");return o.addEventListener(dw,_),f=m,()=>{o.removeEventListener(dw,_),f=null}},createHref(m){return t(o,m)},createURL:C,encodeLocation(m){let d=C(m);return{pathname:d.pathname,search:d.search,hash:d.hash}},push:O,replace:S,go(m){return i.go(m)}};return w}var pw;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(pw||(pw={}));function FM(e,t,r){r===void 0&&(r="/");let n=typeof t=="string"?bl(t):t,o=Vs(n.pathname||"/",r);if(o==null)return null;let a=b5(e);zM(a);let i=null;for(let u=0;i==null&&u{let f={relativePath:u===void 0?a.path||"":u,caseSensitive:a.caseSensitive===!0,childrenIndex:i,route:a};f.relativePath.startsWith("/")&&(Ht(f.relativePath.startsWith(n),'Absolute route path "'+f.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),f.relativePath=f.relativePath.slice(n.length));let g=pa([n,f.relativePath]),b=r.concat(f);a.children&&a.children.length>0&&(Ht(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+g+'".')),b5(a.children,t,b,g)),!(a.path==null&&!a.index)&&t.push({path:g,score:qM(g,a.index),routesMeta:b})};return e.forEach((a,i)=>{var u;if(a.path===""||!((u=a.path)!=null&&u.includes("?")))o(a,i);else for(let f of v5(a.path))o(a,i,f)}),t}function v5(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,o=r.endsWith("?"),a=r.replace(/\?$/,"");if(n.length===0)return o?[a,""]:[a];let i=v5(n.join("/")),u=[];return u.push(...i.map(f=>f===""?a:[a,f].join("/"))),o&&u.push(...i),u.map(f=>e.startsWith("/")&&f===""?"/":f)}function zM(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:GM(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const BM=/^:\w+$/,VM=3,UM=2,WM=1,HM=10,$M=-2,hw=e=>e==="*";function qM(e,t){let r=e.split("/"),n=r.length;return r.some(hw)&&(n+=$M),t&&(n+=UM),r.filter(o=>!hw(o)).reduce((o,a)=>o+(BM.test(a)?VM:a===""?WM:HM),n)}function GM(e,t){return e.length===t.length&&e.slice(0,-1).every((n,o)=>n===t[o])?e[e.length-1]-t[t.length-1]:0}function KM(e,t){let{routesMeta:r}=e,n={},o="/",a=[];for(let i=0;i{if(b==="*"){let O=u[_]||"";i=a.slice(0,a.length-O.length).replace(/(.)\/+$/,"$1")}return g[b]=XM(u[_]||"",b),g},{}),pathname:a,pathnameBase:i,pattern:e}}function YM(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),Gg(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(i,u)=>(n.push(u),"/([^\\/]+)"));return e.endsWith("*")?(n.push("*"),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),n]}function QM(e){try{return decodeURI(e)}catch(t){return Gg(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function XM(e,t){try{return decodeURIComponent(e)}catch(r){return Gg(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+r+").")),e}}function Vs(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function JM(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:o=""}=typeof e=="string"?bl(e):e;return{pathname:r?r.startsWith("/")?r:ZM(r,t):t,search:tI(n),hash:rI(o)}}function ZM(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?r.length>1&&r.pop():o!=="."&&r.push(o)}),r.length>1?r.join("/"):"/"}function Wp(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Kg(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function Yg(e,t,r,n){n===void 0&&(n=!1);let o;typeof e=="string"?o=bl(e):(o=Bs({},e),Ht(!o.pathname||!o.pathname.includes("?"),Wp("?","pathname","search",o)),Ht(!o.pathname||!o.pathname.includes("#"),Wp("#","pathname","hash",o)),Ht(!o.search||!o.search.includes("#"),Wp("#","search","hash",o)));let a=e===""||o.pathname==="",i=a?"/":o.pathname,u;if(n||i==null)u=r;else{let _=t.length-1;if(i.startsWith("..")){let O=i.split("/");for(;O[0]==="..";)O.shift(),_-=1;o.pathname=O.join("/")}u=_>=0?t[_]:"/"}let f=JM(o,u),g=i&&i!=="/"&&i.endsWith("/"),b=(a||i===".")&&r.endsWith("/");return!f.pathname.endsWith("/")&&(g||b)&&(f.pathname+="/"),f}const pa=e=>e.join("/").replace(/\/\/+/g,"/"),eI=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),tI=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,rI=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function nI(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const y5=["post","put","patch","delete"];new Set(y5);const oI=["get",...y5];new Set(oI);/** - * React Router v6.17.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function dd(){return dd=Object.assign?Object.assign.bind():function(e){for(var t=1;tf.pathnameBase)),i=j.useRef(!1);return _5(()=>{i.current=!0}),j.useCallback(function(f,g){if(g===void 0&&(g={}),!i.current)return;if(typeof f=="number"){r.go(f);return}let b=Yg(f,JSON.parse(a),o,g.relative==="path");e==null&&t!=="/"&&(b.pathname=b.pathname==="/"?t:pa([t,b.pathname])),(g.replace?r.replace:r.push)(b,g.state,g)},[t,r,a,o,e])}function C5(){let{matches:e}=j.useContext(Mo),t=e[e.length-1];return t?t.params:{}}function nf(e,t){let{relative:r}=t===void 0?{}:t,{matches:n}=j.useContext(Mo),{pathname:o}=_a(),a=JSON.stringify(Kg(n).map(i=>i.pathnameBase));return j.useMemo(()=>Yg(e,JSON.parse(a),o,r==="path"),[e,a,o,r])}function lI(e,t){return sI(e,t)}function sI(e,t,r){vl()||Ht(!1);let{navigator:n}=j.useContext(ai),{matches:o}=j.useContext(Mo),a=o[o.length-1],i=a?a.params:{};a&&a.pathname;let u=a?a.pathnameBase:"/";a&&a.route;let f=_a(),g;if(t){var b;let w=typeof t=="string"?bl(t):t;u==="/"||(b=w.pathname)!=null&&b.startsWith(u)||Ht(!1),g=w}else g=f;let _=g.pathname||"/",O=u==="/"?_:_.slice(u.length)||"/",S=FM(e,{pathname:O}),C=pI(S&&S.map(w=>Object.assign({},w,{params:Object.assign({},i,w.params),pathname:pa([u,n.encodeLocation?n.encodeLocation(w.pathname).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?u:pa([u,n.encodeLocation?n.encodeLocation(w.pathnameBase).pathname:w.pathnameBase])})),o,r);return t&&C?j.createElement(rf.Provider,{value:{location:dd({pathname:"/",search:"",hash:"",state:null,key:"default"},g),navigationType:oa.Pop}},C):C}function uI(){let e=bI(),t=nI(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},a=null;return j.createElement(j.Fragment,null,j.createElement("h2",null,"Unexpected Application Error!"),j.createElement("h3",{style:{fontStyle:"italic"}},t),r?j.createElement("pre",{style:o},r):null,a)}const cI=j.createElement(uI,null);class dI extends j.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error||r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error?j.createElement(Mo.Provider,{value:this.props.routeContext},j.createElement(x5.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function fI(e){let{routeContext:t,match:r,children:n}=e,o=j.useContext(tf);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),j.createElement(Mo.Provider,{value:t},n)}function pI(e,t,r){var n;if(t===void 0&&(t=[]),r===void 0&&(r=null),e==null){var o;if((o=r)!=null&&o.errors)e=r.matches;else return null}let a=e,i=(n=r)==null?void 0:n.errors;if(i!=null){let u=a.findIndex(f=>f.route.id&&(i==null?void 0:i[f.route.id]));u>=0||Ht(!1),a=a.slice(0,Math.min(a.length,u+1))}return a.reduceRight((u,f,g)=>{let b=f.route.id?i==null?void 0:i[f.route.id]:null,_=null;r&&(_=f.route.errorElement||cI);let O=t.concat(a.slice(0,g+1)),S=()=>{let C;return b?C=_:f.route.Component?C=j.createElement(f.route.Component,null):f.route.element?C=f.route.element:C=u,j.createElement(fI,{match:f,routeContext:{outlet:u,matches:O,isDataRoute:r!=null},children:C})};return r&&(f.route.ErrorBoundary||f.route.errorElement||g===0)?j.createElement(dI,{location:r.location,revalidation:r.revalidation,component:_,error:b,children:S(),routeContext:{outlet:null,matches:O,isDataRoute:!0}}):S()},null)}var S5=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(S5||{}),fd=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(fd||{});function hI(e){let t=j.useContext(tf);return t||Ht(!1),t}function gI(e){let t=j.useContext(w5);return t||Ht(!1),t}function mI(e){let t=j.useContext(Mo);return t||Ht(!1),t}function T5(e){let t=mI(),r=t.matches[t.matches.length-1];return r.route.id||Ht(!1),r.route.id}function bI(){var e;let t=j.useContext(x5),r=gI(fd.UseRouteError),n=T5(fd.UseRouteError);return t||((e=r.errors)==null?void 0:e[n])}function vI(){let{router:e}=hI(S5.UseNavigateStable),t=T5(fd.UseNavigateStable),r=j.useRef(!1);return _5(()=>{r.current=!0}),j.useCallback(function(o,a){a===void 0&&(a={}),r.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,dd({fromRouteId:t},a)))},[e,t])}function yI(e){let{to:t,replace:r,state:n,relative:o}=e;vl()||Ht(!1);let{matches:a}=j.useContext(Mo),{pathname:i}=_a(),u=ii(),f=Yg(t,Kg(a).map(b=>b.pathnameBase),i,o==="path"),g=JSON.stringify(f);return j.useEffect(()=>u(JSON.parse(g),{replace:r,state:n,relative:o}),[u,g,o,r,n]),null}function _o(e){Ht(!1)}function wI(e){let{basename:t="/",children:r=null,location:n,navigationType:o=oa.Pop,navigator:a,static:i=!1}=e;vl()&&Ht(!1);let u=t.replace(/^\/*/,"/"),f=j.useMemo(()=>({basename:u,navigator:a,static:i}),[u,a,i]);typeof n=="string"&&(n=bl(n));let{pathname:g="/",search:b="",hash:_="",state:O=null,key:S="default"}=n,C=j.useMemo(()=>{let w=Vs(g,u);return w==null?null:{location:{pathname:w,search:b,hash:_,state:O,key:S},navigationType:o}},[u,g,b,_,O,S,o]);return C==null?null:j.createElement(ai.Provider,{value:f},j.createElement(rf.Provider,{children:r,value:C}))}function Qg(e){let{children:t,location:r}=e;return lI(hh(t),r)}new Promise(()=>{});function hh(e,t){t===void 0&&(t=[]);let r=[];return j.Children.forEach(e,(n,o)=>{if(!j.isValidElement(n))return;let a=[...t,o];if(n.type===j.Fragment){r.push.apply(r,hh(n.props.children,a));return}n.type!==_o&&Ht(!1),!n.props.index||!n.props.children||Ht(!1);let i={id:n.props.id||a.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(i.children=hh(n.props.children,a)),r.push(i)}),r}/** - * React Router DOM v6.17.0 - * - * Copyright (c) Remix Software Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE.md file in the root directory of this source tree. - * - * @license MIT - */function pd(){return pd=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(r[o]=e[o]);return r}function xI(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function _I(e,t){return e.button===0&&(!t||t==="_self")&&!xI(e)}const CI=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],SI=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],TI=j.createContext({isTransitioning:!1}),OI="startTransition",gw=Yh[OI];function PI(e){let{basename:t,children:r,future:n,window:o}=e,a=j.useRef();a.current==null&&(a.current=IM({window:o,v5Compat:!0}));let i=a.current,[u,f]=j.useState({action:i.action,location:i.location}),{v7_startTransition:g}=n||{},b=j.useCallback(_=>{g&&gw?gw(()=>f(_)):f(_)},[f,g]);return j.useLayoutEffect(()=>i.listen(b),[i,b]),j.createElement(wI,{basename:t,children:r,location:u.location,navigationType:u.action,navigator:i})}const kI=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",EI=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,P5=j.forwardRef(function(t,r){let{onClick:n,relative:o,reloadDocument:a,replace:i,state:u,target:f,to:g,preventScrollReset:b,unstable_viewTransition:_}=t,O=O5(t,CI),{basename:S}=j.useContext(ai),C,w=!1;if(typeof g=="string"&&EI.test(g)&&(C=g,kI))try{let c=new URL(window.location.href),s=g.startsWith("//")?new URL(c.protocol+g):new URL(g),h=Vs(s.pathname,S);s.origin===c.origin&&h!=null?g=h+s.search+s.hash:w=!0}catch{}let m=aI(g,{relative:o}),d=RI(g,{replace:i,state:u,target:f,preventScrollReset:b,relative:o,unstable_viewTransition:_});function l(c){n&&n(c),c.defaultPrevented||d(c)}return j.createElement("a",pd({},O,{href:C||m,onClick:w||a?n:l,ref:r,target:f}))}),NI=j.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:o=!1,className:a="",end:i=!1,style:u,to:f,unstable_viewTransition:g,children:b}=t,_=O5(t,SI),O=nf(f,{relative:_.relative}),S=_a(),C=j.useContext(w5),{navigator:w}=j.useContext(ai),m=C!=null&&AI(O)&&g===!0,d=w.encodeLocation?w.encodeLocation(O).pathname:O.pathname,l=S.pathname,c=C&&C.navigation&&C.navigation.location?C.navigation.location.pathname:null;o||(l=l.toLowerCase(),c=c?c.toLowerCase():null,d=d.toLowerCase());let s=l===d||!i&&l.startsWith(d)&&l.charAt(d.length)==="/",h=c!=null&&(c===d||!i&&c.startsWith(d)&&c.charAt(d.length)==="/"),v={isActive:s,isPending:h,isTransitioning:m},y=s?n:void 0,E;typeof a=="function"?E=a(v):E=[a,s?"active":null,h?"pending":null,m?"transitioning":null].filter(Boolean).join(" ");let P=typeof u=="function"?u(v):u;return j.createElement(P5,pd({},_,{"aria-current":y,className:E,ref:r,style:P,to:f,unstable_viewTransition:g}),typeof b=="function"?b(v):b)});var gh;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(gh||(gh={}));var mw;(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(mw||(mw={}));function jI(e){let t=j.useContext(tf);return t||Ht(!1),t}function RI(e,t){let{target:r,replace:n,state:o,preventScrollReset:a,relative:i,unstable_viewTransition:u}=t===void 0?{}:t,f=ii(),g=_a(),b=nf(e,{relative:i});return j.useCallback(_=>{if(_I(_,r)){_.preventDefault();let O=n!==void 0?n:cd(g)===cd(b);f(e,{replace:O,state:o,preventScrollReset:a,relative:i,unstable_viewTransition:u})}},[g,f,b,n,o,r,e,a,i,u])}function AI(e,t){t===void 0&&(t={});let r=j.useContext(TI);r==null&&Ht(!1);let{basename:n}=jI(gh.useViewTransitionState),o=nf(e,{relative:t.relative});if(!r.isTransitioning)return!1;let a=Vs(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=Vs(r.nextLocation.pathname,n)||r.nextLocation.pathname;return ph(o.pathname,i)!=null||ph(o.pathname,a)!=null}function MI({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{fillRule:"evenodd",d:"M3 6.75A.75.75 0 013.75 6h16.5a.75.75 0 010 1.5H3.75A.75.75 0 013 6.75zM3 12a.75.75 0 01.75-.75h16.5a.75.75 0 010 1.5H3.75A.75.75 0 013 12zm0 5.25a.75.75 0 01.75-.75h16.5a.75.75 0 010 1.5H3.75a.75.75 0 01-.75-.75z",clipRule:"evenodd"}))}const II=j.forwardRef(MI),DI=II;function LI({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{fillRule:"evenodd",d:"M11.078 2.25c-.917 0-1.699.663-1.85 1.567L9.05 4.889c-.02.12-.115.26-.297.348a7.493 7.493 0 00-.986.57c-.166.115-.334.126-.45.083L6.3 5.508a1.875 1.875 0 00-2.282.819l-.922 1.597a1.875 1.875 0 00.432 2.385l.84.692c.095.078.17.229.154.43a7.598 7.598 0 000 1.139c.015.2-.059.352-.153.43l-.841.692a1.875 1.875 0 00-.432 2.385l.922 1.597a1.875 1.875 0 002.282.818l1.019-.382c.115-.043.283-.031.45.082.312.214.641.405.985.57.182.088.277.228.297.35l.178 1.071c.151.904.933 1.567 1.85 1.567h1.844c.916 0 1.699-.663 1.85-1.567l.178-1.072c.02-.12.114-.26.297-.349.344-.165.673-.356.985-.57.167-.114.335-.125.45-.082l1.02.382a1.875 1.875 0 002.28-.819l.923-1.597a1.875 1.875 0 00-.432-2.385l-.84-.692c-.095-.078-.17-.229-.154-.43a7.614 7.614 0 000-1.139c-.016-.2.059-.352.153-.43l.84-.692c.708-.582.891-1.59.433-2.385l-.922-1.597a1.875 1.875 0 00-2.282-.818l-1.02.382c-.114.043-.282.031-.449-.083a7.49 7.49 0 00-.985-.57c-.183-.087-.277-.227-.297-.348l-.179-1.072a1.875 1.875 0 00-1.85-1.567h-1.843zM12 15.75a3.75 3.75 0 100-7.5 3.75 3.75 0 000 7.5z",clipRule:"evenodd"}))}const FI=j.forwardRef(LI),k5=FI;function zI({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{fillRule:"evenodd",d:"M2.625 6.75a1.125 1.125 0 112.25 0 1.125 1.125 0 01-2.25 0zm4.875 0A.75.75 0 018.25 6h12a.75.75 0 010 1.5h-12a.75.75 0 01-.75-.75zM2.625 12a1.125 1.125 0 112.25 0 1.125 1.125 0 01-2.25 0zM7.5 12a.75.75 0 01.75-.75h12a.75.75 0 010 1.5h-12A.75.75 0 017.5 12zm-4.875 5.25a1.125 1.125 0 112.25 0 1.125 1.125 0 01-2.25 0zm4.875 0a.75.75 0 01.75-.75h12a.75.75 0 010 1.5h-12a.75.75 0 01-.75-.75z",clipRule:"evenodd"}))}const BI=j.forwardRef(zI),VI=BI;function UI({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{d:"M5.566 4.657A4.505 4.505 0 016.75 4.5h10.5c.41 0 .806.055 1.183.157A3 3 0 0015.75 3h-7.5a3 3 0 00-2.684 1.657zM2.25 12a3 3 0 013-3h13.5a3 3 0 013 3v6a3 3 0 01-3 3H5.25a3 3 0 01-3-3v-6zM5.25 7.5c-.41 0-.806.055-1.184.157A3 3 0 016.75 6h10.5a3 3 0 012.683 1.657A4.505 4.505 0 0018.75 7.5H5.25z"}))}const WI=j.forwardRef(UI),HI=WI;function $I({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{d:"M5.507 4.048A3 3 0 017.785 3h8.43a3 3 0 012.278 1.048l1.722 2.008A4.533 4.533 0 0019.5 6h-15c-.243 0-.482.02-.715.056l1.722-2.008z"}),j.createElement("path",{fillRule:"evenodd",d:"M1.5 10.5a3 3 0 013-3h15a3 3 0 110 6h-15a3 3 0 01-3-3zm15 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm2.25.75a.75.75 0 100-1.5.75.75 0 000 1.5zM4.5 15a3 3 0 100 6h15a3 3 0 100-6h-15zm11.25 3.75a.75.75 0 100-1.5.75.75 0 000 1.5zM19.5 18a.75.75 0 11-1.5 0 .75.75 0 011.5 0z",clipRule:"evenodd"}))}const qI=j.forwardRef($I),GI=qI;function KI({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{d:"M11.644 1.59a.75.75 0 01.712 0l9.75 5.25a.75.75 0 010 1.32l-9.75 5.25a.75.75 0 01-.712 0l-9.75-5.25a.75.75 0 010-1.32l9.75-5.25z"}),j.createElement("path",{d:"M3.265 10.602l7.668 4.129a2.25 2.25 0 002.134 0l7.668-4.13 1.37.739a.75.75 0 010 1.32l-9.75 5.25a.75.75 0 01-.71 0l-9.75-5.25a.75.75 0 010-1.32l1.37-.738z"}),j.createElement("path",{d:"M10.933 19.231l-7.668-4.13-1.37.739a.75.75 0 000 1.32l9.75 5.25c.221.12.489.12.71 0l9.75-5.25a.75.75 0 000-1.32l-1.37-.738-7.668 4.13a2.25 2.25 0 01-2.134-.001z"}))}const YI=j.forwardRef(KI),QI=YI;function XI({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{fillRule:"evenodd",d:"M8.25 6.75a3.75 3.75 0 117.5 0 3.75 3.75 0 01-7.5 0zM15.75 9.75a3 3 0 116 0 3 3 0 01-6 0zM2.25 9.75a3 3 0 116 0 3 3 0 01-6 0zM6.31 15.117A6.745 6.745 0 0112 12a6.745 6.745 0 016.709 7.498.75.75 0 01-.372.568A12.696 12.696 0 0112 21.75c-2.305 0-4.47-.612-6.337-1.684a.75.75 0 01-.372-.568 6.787 6.787 0 011.019-4.38z",clipRule:"evenodd"}),j.createElement("path",{d:"M5.082 14.254a8.287 8.287 0 00-1.308 5.135 9.687 9.687 0 01-1.764-.44l-.115-.04a.563.563 0 01-.373-.487l-.01-.121a3.75 3.75 0 013.57-4.047zM20.226 19.389a8.287 8.287 0 00-1.308-5.135 3.75 3.75 0 013.57 4.047l-.01.121a.563.563 0 01-.373.486l-.115.04c-.567.2-1.156.349-1.764.441z"}))}const JI=j.forwardRef(XI),ZI=JI;function e4({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{fillRule:"evenodd",d:"M7.5 6a4.5 4.5 0 119 0 4.5 4.5 0 01-9 0zM3.751 20.105a8.25 8.25 0 0116.498 0 .75.75 0 01-.437.695A18.683 18.683 0 0112 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 01-.437-.695z",clipRule:"evenodd"}))}const t4=j.forwardRef(e4),r4=t4;function n4({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{fillRule:"evenodd",d:"M12 6.75a5.25 5.25 0 016.775-5.025.75.75 0 01.313 1.248l-3.32 3.319c.063.475.276.934.641 1.299.365.365.824.578 1.3.64l3.318-3.319a.75.75 0 011.248.313 5.25 5.25 0 01-5.472 6.756c-1.018-.086-1.87.1-2.309.634L7.344 21.3A3.298 3.298 0 112.7 16.657l8.684-7.151c.533-.44.72-1.291.634-2.309A5.342 5.342 0 0112 6.75zM4.117 19.125a.75.75 0 01.75-.75h.008a.75.75 0 01.75.75v.008a.75.75 0 01-.75.75h-.008a.75.75 0 01-.75-.75v-.008z",clipRule:"evenodd"}),j.createElement("path",{d:"M10.076 8.64l-2.201-2.2V4.874a.75.75 0 00-.364-.643l-3.75-2.25a.75.75 0 00-.916.113l-.75.75a.75.75 0 00-.113.916l2.25 3.75a.75.75 0 00.643.364h1.564l2.062 2.062 1.575-1.297z"}),j.createElement("path",{fillRule:"evenodd",d:"M12.556 17.329l4.183 4.182a3.375 3.375 0 004.773-4.773l-3.306-3.305a6.803 6.803 0 01-1.53.043c-.394-.034-.682-.006-.867.042a.589.589 0 00-.167.063l-3.086 3.748zm3.414-1.36a.75.75 0 011.06 0l1.875 1.876a.75.75 0 11-1.06 1.06L15.97 17.03a.75.75 0 010-1.06z",clipRule:"evenodd"}))}const o4=j.forwardRef(n4),a4=o4;var Q={},E5={},N5={exports:{}};/*! - Copyright (c) 2018 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var n=[],o=0;oe&&(t=0,n=r,r=new Map)}return{get:function(a){var i=r.get(a);return i!==void 0?i:(i=n.get(a))!==void 0?(o(a,i),i):void 0},set:function(a,i){r.has(a)?r.set(a,i):o(a,i)}}}function s4(e){var t=e.separator||":";return function(r){for(var n=0,o=[],a=0,i=0;i1?t-1:0),n=1;nf.length)&&(g=f.length);for(var b=0,_=new Array(g);bm.length)&&(d=m.length);for(var l=0,c=new Array(d);ll.length)&&(c=l.length);for(var s=0,h=new Array(c);sl.length)&&(c=l.length);for(var s=0,h=new Array(c);sy.length)&&(E=y.length);for(var P=0,N=new Array(E);Ps.length)&&(h=s.length);for(var v=0,y=new Array(h);vd.length)&&(l=d.length);for(var c=0,s=new Array(l);ch.length)&&(v=h.length);for(var y=0,E=new Array(v);yc.length)&&(s=c.length);for(var h=0,v=new Array(s);hS.length)&&(C=S.length);for(var w=0,m=new Array(C);ww.length)&&(m=w.length);for(var d=0,l=new Array(m);d"u"?u[g]=i.cloneUnlessOtherwiseSpecified(f,i):i.isMergeableObject(f)?u[g]=(0,t.default)(o[g],f,i):o.indexOf(f)===-1&&u.push(f)}),u}})(ZS);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(S,C){for(var w in C)Object.defineProperty(S,w,{enumerable:!0,get:C[w]})}t(e,{MaterialTailwindTheme:function(){return b},ThemeProvider:function(){return _},useTheme:function(){return O}});var r=g(j),n=u($e),o=u(yr),a=u(Jg),i=u(ZS);function u(S){return S&&S.__esModule?S:{default:S}}function f(S){if(typeof WeakMap!="function")return null;var C=new WeakMap,w=new WeakMap;return(f=function(m){return m?w:C})(S)}function g(S,C){if(!C&&S&&S.__esModule)return S;if(S===null||typeof S!="object"&&typeof S!="function")return{default:S};var w=f(C);if(w&&w.has(S))return w.get(S);var m={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in S)if(l!=="default"&&Object.prototype.hasOwnProperty.call(S,l)){var c=d?Object.getOwnPropertyDescriptor(S,l):null;c&&(c.get||c.set)?Object.defineProperty(m,l,c):m[l]=S[l]}return m.default=S,w&&w.set(S,m),m}var b=(0,r.createContext)(a.default);b.displayName="MaterialTailwindThemeProvider";function _(S){var C=S.value,w=C===void 0?a.default:C,m=S.children,d=(0,o.default)(a.default,w,{arrayMerge:i.default});return r.default.createElement(b.Provider,{value:d},m)}var O=function(){return(0,r.useContext)(b)};_.propTypes={value:n.default.instanceOf(Object),children:n.default.node.isRequired}})(ze);var af={},au={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(O,S){for(var C in S)Object.defineProperty(O,C,{enumerable:!0,get:S[C]})}t(e,{propTypesOpen:function(){return a},propTypesIcon:function(){return i},propTypesAnimate:function(){return u},propTypesDisabled:function(){return f},propTypesClassName:function(){return g},propTypesValue:function(){return b},propTypesChildren:function(){return _}});var r=o($e),n=Dt;function o(O){return O&&O.__esModule?O:{default:O}}var a=r.default.bool.isRequired,i=r.default.node,u=n.propTypesAnimation,f=r.default.bool,g=r.default.string,b=r.default.instanceOf(Object).isRequired,_=r.default.node.isRequired})(au);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(f,g){for(var b in g)Object.defineProperty(f,b,{enumerable:!0,get:g[b]})}t(e,{AccordionContext:function(){return a},useAccordion:function(){return i},AccordionContextProvider:function(){return u}});var r=o(j),n=au;function o(f){return f&&f.__esModule?f:{default:f}}var a=r.default.createContext(null);a.displayName="MaterialTailwind.AccordionContext";function i(){var f=r.default.useContext(a);if(!f)throw new Error("useAccordion() must be used within an Accordion. It happens when you use AccordionHeader or AccordionBody components outside the Accordion component.");return f}var u=function(f){var g=f.value,b=f.children;return r.default.createElement(a.Provider,{value:g},b)};u.propTypes={value:n.propTypesValue,children:n.propTypesChildren},u.displayName="MaterialTailwind.AccordionContextProvider"})(af);var eT={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{AccordionHeader:function(){return C},default:function(){return w}});var r=_(j),n=_(Xe),o=He,a=_(Be),i=af,u=ze,f=au;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function S(m,d){if(m==null)return{};var l={},c=Object.keys(m),s,h;for(h=0;h=0)&&(l[s]=m[s]);return l}var C=r.default.forwardRef(function(m,d){var l=m.className,c=m.children,s=O(m,["className","children"]),h=(0,i.useAccordion)(),v=h.open,y=h.icon,E=h.disabled,P=(0,u.useTheme)().accordion,N=P.styles.base;l=l??"";var R=(0,o.twMerge)((0,n.default)((0,a.default)(N.header.initial),g({},(0,a.default)(N.header.active),v)),l),M=(0,n.default)((0,a.default)(N.header.icon));return r.default.createElement("button",b({},s,{ref:d,type:"button",disabled:E,className:R}),c,r.default.createElement("span",{className:M},y??(v?r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},r.default.createElement("path",{fillRule:"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z",clipRule:"evenodd"})):r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},r.default.createElement("path",{fillRule:"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z",clipRule:"evenodd"})))))});C.propTypes={className:f.propTypesClassName,children:f.propTypesChildren},C.displayName="MaterialTailwind.AccordionHeader";var w=C})(eT);var tT={},gr={},yh=function(e,t){return yh=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},yh(e,t)};function rT(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");yh(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var gd=function(){return gd=Object.assign||function(t){for(var r,n=1,o=arguments.length;n=0;u--)(i=e[u])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function oT(e,t){return function(r,n){t(r,n,e)}}function aT(e,t,r,n,o,a){function i(d){if(d!==void 0&&typeof d!="function")throw new TypeError("Function expected");return d}for(var u=n.kind,f=u==="getter"?"get":u==="setter"?"set":"value",g=!t&&e?n.static?e:e.prototype:null,b=t||(g?Object.getOwnPropertyDescriptor(g,n.name):{}),_,O=!1,S=r.length-1;S>=0;S--){var C={};for(var w in n)C[w]=w==="access"?{}:n[w];for(var w in n.access)C.access[w]=n.access[w];C.addInitializer=function(d){if(O)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(d||null))};var m=(0,r[S])(u==="accessor"?{get:b.get,set:b.set}:b[f],C);if(u==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(_=i(m.get))&&(b.get=_),(_=i(m.set))&&(b.set=_),(_=i(m.init))&&o.unshift(_)}else(_=i(m))&&(u==="field"?o.unshift(_):b[f]=_)}g&&Object.defineProperty(g,n.name,b),O=!0}function iT(e,t,r){for(var n=arguments.length>2,o=0;o0&&a[a.length-1])&&(g[0]===6||g[0]===2)){r=0;continue}if(g[0]===3&&(!a||g[1]>a[0]&&g[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function hm(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,a=[],i;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)a.push(o.value)}catch(u){i={error:u}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return a}function pT(){for(var e=[],t=0;t1||f(S,w)})},C&&(o[S]=C(o[S])))}function f(S,C){try{g(n[S](C))}catch(w){O(a[0][3],w)}}function g(S){S.value instanceof ol?Promise.resolve(S.value.v).then(b,_):O(a[0][2],S)}function b(S){f("next",S)}function _(S){f("throw",S)}function O(S,C){S(C),a.shift(),a.length&&f(a[0][0],a[0][1])}}function bT(e){var t,r;return t={},n("next"),n("throw",function(o){throw o}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(o,a){t[o]=e[o]?function(i){return(r=!r)?{value:ol(e[o](i)),done:!1}:a?a(i):i}:a}}function vT(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof md=="function"?md(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(a){r[a]=e[a]&&function(i){return new Promise(function(u,f){i=e[a](i),o(u,f,i.done,i.value)})}}function o(a,i,u,f){Promise.resolve(f).then(function(g){a({value:g,done:u})},i)}}function yT(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var z4=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},wh=function(e){return wh=Object.getOwnPropertyNames||function(t){var r=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[r.length]=n);return r},wh(e)};function wT(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=wh(e),n=0;nr=>Math.max(Math.min(r,t),e),bs=e=>e%1?Number(e.toFixed(5)):e,Ws=/(-)?([\d]*\.?[\d])+/g,xh=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,$4=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function iu(e){return typeof e=="string"}const lu={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},gm=Object.assign(Object.assign({},lu),{transform:jT(0,1)}),q4=Object.assign(Object.assign({},lu),{default:1}),su=e=>({test:t=>iu(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),G4=su("deg"),$i=su("%"),K4=su("px"),Y4=su("vh"),Q4=su("vw"),X4=Object.assign(Object.assign({},$i),{parse:e=>$i.parse(e)/100,transform:e=>$i.transform(e*100)}),mm=(e,t)=>r=>!!(iu(r)&&$4.test(r)&&r.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(r,t)),RT=(e,t,r)=>n=>{if(!iu(n))return n;const[o,a,i,u]=n.match(Ws);return{[e]:parseFloat(o),[t]:parseFloat(a),[r]:parseFloat(i),alpha:u!==void 0?parseFloat(u):1}},as={test:mm("hsl","hue"),parse:RT("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:r,alpha:n=1})=>"hsla("+Math.round(e)+", "+$i.transform(bs(t))+", "+$i.transform(bs(r))+", "+bs(gm.transform(n))+")"},J4=jT(0,255),_c=Object.assign(Object.assign({},lu),{transform:e=>Math.round(J4(e))}),Li={test:mm("rgb","red"),parse:RT("red","green","blue"),transform:({red:e,green:t,blue:r,alpha:n=1})=>"rgba("+_c.transform(e)+", "+_c.transform(t)+", "+_c.transform(r)+", "+bs(gm.transform(n))+")"};function Z4(e){let t="",r="",n="",o="";return e.length>5?(t=e.substr(1,2),r=e.substr(3,2),n=e.substr(5,2),o=e.substr(7,2)):(t=e.substr(1,1),r=e.substr(2,1),n=e.substr(3,1),o=e.substr(4,1),t+=t,r+=r,n+=n,o+=o),{red:parseInt(t,16),green:parseInt(r,16),blue:parseInt(n,16),alpha:o?parseInt(o,16)/255:1}}const _h={test:mm("#"),parse:Z4,transform:Li.transform},bm={test:e=>Li.test(e)||_h.test(e)||as.test(e),parse:e=>Li.test(e)?Li.parse(e):as.test(e)?as.parse(e):_h.parse(e),transform:e=>iu(e)?e:e.hasOwnProperty("red")?Li.transform(e):as.transform(e)},AT="${c}",MT="${n}";function eD(e){var t,r,n,o;return isNaN(e)&&iu(e)&&((r=(t=e.match(Ws))===null||t===void 0?void 0:t.length)!==null&&r!==void 0?r:0)+((o=(n=e.match(xh))===null||n===void 0?void 0:n.length)!==null&&o!==void 0?o:0)>0}function IT(e){typeof e=="number"&&(e=`${e}`);const t=[];let r=0;const n=e.match(xh);n&&(r=n.length,e=e.replace(xh,AT),t.push(...n.map(bm.parse)));const o=e.match(Ws);return o&&(e=e.replace(Ws,MT),t.push(...o.map(lu.parse))),{values:t,numColors:r,tokenised:e}}function DT(e){return IT(e).values}function LT(e){const{values:t,numColors:r,tokenised:n}=IT(e),o=t.length;return a=>{let i=n;for(let u=0;utypeof e=="number"?0:e;function rD(e){const t=DT(e);return LT(e)(t.map(tD))}const FT={test:eD,parse:DT,createTransformer:LT,getAnimatableNone:rD},nD=new Set(["brightness","contrast","saturate","opacity"]);function oD(e){let[t,r]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[n]=r.match(Ws)||[];if(!n)return e;const o=r.replace(n,"");let a=nD.has(t)?1:0;return n!==r&&(a*=100),t+"("+a+o+")"}const aD=/([a-z-]*)\(.*?\)/g,iD=Object.assign(Object.assign({},FT),{getAnimatableNone:e=>{const t=e.match(aD);return t?t.map(oD).join(" "):e}});sr.alpha=gm;sr.color=bm;sr.complex=FT;sr.degrees=G4;sr.filter=iD;sr.hex=_h;sr.hsla=as;sr.number=lu;sr.percent=$i;sr.progressPercentage=X4;sr.px=K4;sr.rgbUnit=_c;sr.rgba=Li;sr.scale=q4;sr.vh=Y4;sr.vw=Q4;var Ge={},ci={};Object.defineProperty(ci,"__esModule",{value:!0});const zT=1/60*1e3,lD=typeof performance<"u"?()=>performance.now():()=>Date.now(),BT=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(lD()),zT);function sD(e){let t=[],r=[],n=0,o=!1,a=!1;const i=new WeakSet,u={schedule:(f,g=!1,b=!1)=>{const _=b&&o,O=_?t:r;return g&&i.add(f),O.indexOf(f)===-1&&(O.push(f),_&&o&&(n=t.length)),f},cancel:f=>{const g=r.indexOf(f);g!==-1&&r.splice(g,1),i.delete(f)},process:f=>{if(o){a=!0;return}if(o=!0,[t,r]=[r,t],r.length=0,n=t.length,n)for(let g=0;g(e[t]=sD(()=>Hs=!0),e),{}),cD=uu.reduce((e,t)=>{const r=sf[t];return e[t]=(n,o=!1,a=!1)=>(Hs||hD(),r.schedule(n,o,a)),e},{}),dD=uu.reduce((e,t)=>(e[t]=sf[t].cancel,e),{}),fD=uu.reduce((e,t)=>(e[t]=()=>sf[t].process(qi),e),{}),pD=e=>sf[e].process(qi),VT=e=>{Hs=!1,qi.delta=Ch?zT:Math.max(Math.min(e-qi.timestamp,uD),1),qi.timestamp=e,Sh=!0,uu.forEach(pD),Sh=!1,Hs&&(Ch=!1,BT(VT))},hD=()=>{Hs=!0,Ch=!0,Sh||BT(VT)},gD=()=>qi;ci.cancelSync=dD;ci.default=cD;ci.flushSync=fD;ci.getFrameData=gD;Object.defineProperty(Ge,"__esModule",{value:!0});var UT=kT,al=NT,In=sr,uf=ci;function mD(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var bD=mD(uf);const $s=(e,t,r)=>Math.min(Math.max(r,e),t),Hp=.001,vD=.01,xw=10,yD=.05,wD=1;function xD({duration:e=800,bounce:t=.25,velocity:r=0,mass:n=1}){let o,a;al.warning(e<=xw*1e3,"Spring duration must be 10 seconds or less");let i=1-t;i=$s(yD,wD,i),e=$s(vD,xw,e/1e3),i<1?(o=g=>{const b=g*i,_=b*e,O=b-r,S=Th(g,i),C=Math.exp(-_);return Hp-O/S*C},a=g=>{const _=g*i*e,O=_*r+r,S=Math.pow(i,2)*Math.pow(g,2)*e,C=Math.exp(-_),w=Th(Math.pow(g,2),i);return(-o(g)+Hp>0?-1:1)*((O-S)*C)/w}):(o=g=>{const b=Math.exp(-g*e),_=(g-r)*e+1;return-Hp+b*_},a=g=>{const b=Math.exp(-g*e),_=(r-g)*(e*e);return b*_});const u=5/e,f=CD(o,a,u);if(e=e*1e3,isNaN(f))return{stiffness:100,damping:10,duration:e};{const g=Math.pow(f,2)*n;return{stiffness:g,damping:i*2*Math.sqrt(n*g),duration:e}}}const _D=12;function CD(e,t,r){let n=r;for(let o=1;o<_D;o++)n=n-e(n)/t(n);return n}function Th(e,t){return e*Math.sqrt(1-t*t)}const SD=["duration","bounce"],TD=["stiffness","damping","mass"];function _w(e,t){return t.some(r=>e[r]!==void 0)}function OD(e){let t=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!_w(e,TD)&&_w(e,SD)){const r=xD(e);t=Object.assign(Object.assign(Object.assign({},t),r),{velocity:0,mass:1}),t.isResolvedFromDuration=!0}return t}function cf(e){var{from:t=0,to:r=1,restSpeed:n=2,restDelta:o}=e,a=UT.__rest(e,["from","to","restSpeed","restDelta"]);const i={done:!1,value:t};let{stiffness:u,damping:f,mass:g,velocity:b,duration:_,isResolvedFromDuration:O}=OD(a),S=Cw,C=Cw;function w(){const m=b?-(b/1e3):0,d=r-t,l=f/(2*Math.sqrt(u*g)),c=Math.sqrt(u/g)/1e3;if(o===void 0&&(o=Math.min(Math.abs(r-t)/100,.4)),l<1){const s=Th(c,l);S=h=>{const v=Math.exp(-l*c*h);return r-v*((m+l*c*d)/s*Math.sin(s*h)+d*Math.cos(s*h))},C=h=>{const v=Math.exp(-l*c*h);return l*c*v*(Math.sin(s*h)*(m+l*c*d)/s+d*Math.cos(s*h))-v*(Math.cos(s*h)*(m+l*c*d)-s*d*Math.sin(s*h))}}else if(l===1)S=s=>r-Math.exp(-c*s)*(d+(m+c*d)*s);else{const s=c*Math.sqrt(l*l-1);S=h=>{const v=Math.exp(-l*c*h),y=Math.min(s*h,300);return r-v*((m+l*c*d)*Math.sinh(y)+s*d*Math.cosh(y))/s}}}return w(),{next:m=>{const d=S(m);if(O)i.done=m>=_;else{const l=C(m)*1e3,c=Math.abs(l)<=n,s=Math.abs(r-d)<=o;i.done=c&&s}return i.value=i.done?r:d,i},flipTarget:()=>{b=-b,[t,r]=[r,t],w()}}}cf.needsInterpolation=(e,t)=>typeof e=="string"||typeof t=="string";const Cw=e=>0,vm=(e,t,r)=>{const n=t-e;return n===0?1:(r-e)/n},df=(e,t,r)=>-r*e+r*t+e;function $p(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function Sw({hue:e,saturation:t,lightness:r,alpha:n}){e/=360,t/=100,r/=100;let o=0,a=0,i=0;if(!t)o=a=i=r;else{const u=r<.5?r*(1+t):r+t-r*t,f=2*r-u;o=$p(f,u,e+1/3),a=$p(f,u,e),i=$p(f,u,e-1/3)}return{red:Math.round(o*255),green:Math.round(a*255),blue:Math.round(i*255),alpha:n}}const PD=(e,t,r)=>{const n=e*e,o=t*t;return Math.sqrt(Math.max(0,r*(o-n)+n))},kD=[In.hex,In.rgba,In.hsla],Tw=e=>kD.find(t=>t.test(e)),Ow=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,ym=(e,t)=>{let r=Tw(e),n=Tw(t);al.invariant(!!r,Ow(e)),al.invariant(!!n,Ow(t));let o=r.parse(e),a=n.parse(t);r===In.hsla&&(o=Sw(o),r=In.rgba),n===In.hsla&&(a=Sw(a),n=In.rgba);const i=Object.assign({},o);return u=>{for(const f in i)f!=="alpha"&&(i[f]=PD(o[f],a[f],u));return i.alpha=df(o.alpha,a.alpha,u),r.transform(i)}},ED={x:0,y:0,z:0},Oh=e=>typeof e=="number",ND=(e,t)=>r=>t(e(r)),wm=(...e)=>e.reduce(ND);function WT(e,t){return Oh(e)?r=>df(e,t,r):In.color.test(e)?ym(e,t):xm(e,t)}const HT=(e,t)=>{const r=[...e],n=r.length,o=e.map((a,i)=>WT(a,t[i]));return a=>{for(let i=0;i{const r=Object.assign(Object.assign({},e),t),n={};for(const o in r)e[o]!==void 0&&t[o]!==void 0&&(n[o]=WT(e[o],t[o]));return o=>{for(const a in n)r[a]=n[a](o);return r}};function Pw(e){const t=In.complex.parse(e),r=t.length;let n=0,o=0,a=0;for(let i=0;i{const r=In.complex.createTransformer(t),n=Pw(e),o=Pw(t);return n.numHSL===o.numHSL&&n.numRGB===o.numRGB&&n.numNumbers>=o.numNumbers?wm(HT(n.parsed,o.parsed),r):(al.warning(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),i=>`${i>0?t:e}`)},RD=(e,t)=>r=>df(e,t,r);function AD(e){if(typeof e=="number")return RD;if(typeof e=="string")return In.color.test(e)?ym:xm;if(Array.isArray(e))return HT;if(typeof e=="object")return jD}function MD(e,t,r){const n=[],o=r||AD(e[0]),a=e.length-1;for(let i=0;ir(vm(e,t,n))}function DD(e,t){const r=e.length,n=r-1;return o=>{let a=0,i=!1;if(o<=e[0]?i=!0:o>=e[n]&&(a=n-1,i=!0),!i){let f=1;for(;fo||f===n);f++);a=f-1}const u=vm(e[a],e[a+1],o);return t[a](u)}}function _m(e,t,{clamp:r=!0,ease:n,mixer:o}={}){const a=e.length;al.invariant(a===t.length,"Both input and output ranges must be the same length"),al.invariant(!n||!Array.isArray(n)||n.length===a-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),e[0]>e[a-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());const i=MD(t,n,o),u=a===2?ID(e,i):DD(e,i);return r?f=>u($s(e[0],e[a-1],f)):u}const cu=e=>t=>1-e(1-t),ff=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,$T=e=>t=>Math.pow(t,e),Cm=e=>t=>t*t*((e+1)*t-e),qT=e=>{const t=Cm(e);return r=>(r*=2)<1?.5*t(r):.5*(2-Math.pow(2,-10*(r-1)))},GT=1.525,LD=4/11,FD=8/11,zD=9/10,KT=e=>e,Sm=$T(2),BD=cu(Sm),YT=ff(Sm),QT=e=>1-Math.sin(Math.acos(e)),XT=cu(QT),VD=ff(XT),Tm=Cm(GT),UD=cu(Tm),WD=ff(Tm),HD=qT(GT),$D=4356/361,qD=35442/1805,GD=16061/1805,bd=e=>{if(e===1||e===0)return e;const t=e*e;return ee<.5?.5*(1-bd(1-e*2)):.5*bd(e*2-1)+.5;function QD(e,t){return e.map(()=>t||YT).splice(0,e.length-1)}function XD(e){const t=e.length;return e.map((r,n)=>n!==0?n/(t-1):0)}function JD(e,t){return e.map(r=>r*t)}function vs({from:e=0,to:t=1,ease:r,offset:n,duration:o=300}){const a={done:!1,value:e},i=Array.isArray(t)?t:[e,t],u=JD(n&&n.length===i.length?n:XD(i),o);function f(){return _m(u,i,{ease:Array.isArray(r)?r:QD(i,r)})}let g=f();return{next:b=>(a.value=g(b),a.done=b>=o,a),flipTarget:()=>{i.reverse(),g=f()}}}function JT({velocity:e=0,from:t=0,power:r=.8,timeConstant:n=350,restDelta:o=.5,modifyTarget:a}){const i={done:!1,value:t};let u=r*e;const f=t+u,g=a===void 0?f:a(f);return g!==f&&(u=g-t),{next:b=>{const _=-u*Math.exp(-b/n);return i.done=!(_>o||_<-o),i.value=i.done?g:g+_,i},flipTarget:()=>{}}}const kw={keyframes:vs,spring:cf,decay:JT};function ZD(e){if(Array.isArray(e.to))return vs;if(kw[e.type])return kw[e.type];const t=new Set(Object.keys(e));return t.has("ease")||t.has("duration")&&!t.has("dampingRatio")?vs:t.has("dampingRatio")||t.has("stiffness")||t.has("mass")||t.has("damping")||t.has("restSpeed")||t.has("restDelta")?cf:vs}function ZT(e,t,r=0){return e-t-r}function eL(e,t,r=0,n=!0){return n?ZT(t+-e,t,r):t-(e-t)+r}function tL(e,t,r,n){return n?e>=t+r:e<=-r}const rL=e=>{const t=({delta:r})=>e(r);return{start:()=>bD.default.update(t,!0),stop:()=>uf.cancelSync.update(t)}};function eO(e){var t,r,{from:n,autoplay:o=!0,driver:a=rL,elapsed:i=0,repeat:u=0,repeatType:f="loop",repeatDelay:g=0,onPlay:b,onStop:_,onComplete:O,onRepeat:S,onUpdate:C}=e,w=UT.__rest(e,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]);let{to:m}=w,d,l=0,c=w.duration,s,h=!1,v=!0,y;const E=ZD(w);!((r=(t=E).needsInterpolation)===null||r===void 0)&&r.call(t,n,m)&&(y=_m([0,100],[n,m],{clamp:!1}),n=0,m=100);const P=E(Object.assign(Object.assign({},w),{from:n,to:m}));function N(){l++,f==="reverse"?(v=l%2===0,i=eL(i,c,g,v)):(i=ZT(i,c,g),f==="mirror"&&P.flipTarget()),h=!1,S&&S()}function R(){d.stop(),O&&O()}function M(L){if(v||(L=-L),i+=L,!h){const W=P.next(Math.max(0,i));s=W.value,y&&(s=y(s)),h=v?W.done:i<=0}C==null||C(s),h&&(l===0&&(c??(c=i)),l{_==null||_(),d.stop()}}}function tO(e,t){return t?e*(1e3/t):0}function nL({from:e=0,velocity:t=0,min:r,max:n,power:o=.8,timeConstant:a=750,bounceStiffness:i=500,bounceDamping:u=10,restDelta:f=1,modifyTarget:g,driver:b,onUpdate:_,onComplete:O,onStop:S}){let C;function w(c){return r!==void 0&&cn}function m(c){return r===void 0?n:n===void 0||Math.abs(r-c){var h;_==null||_(s),(h=c.onUpdate)===null||h===void 0||h.call(c,s)},onComplete:O,onStop:S}))}function l(c){d(Object.assign({type:"spring",stiffness:i,damping:u,restDelta:f},c))}if(w(e))l({from:e,velocity:t,to:m(e)});else{let c=o*t+e;typeof g<"u"&&(c=g(c));const s=m(c),h=s===r?-1:1;let v,y;const E=P=>{v=y,y=P,t=tO(P-v,uf.getFrameData().delta),(h===1&&P>s||h===-1&&PC==null?void 0:C.stop()}}const rO=e=>e*180/Math.PI,oL=(e,t=ED)=>rO(Math.atan2(t.y-e.y,t.x-e.x)),aL=(e,t)=>{let r=!0;return t===void 0&&(t=e,r=!1),n=>r?n-e+t:(e=n,r=!0,t)},iL=e=>e,Om=(e=iL)=>(t,r,n)=>{const o=r-n,a=-(0-t+1)*(0-e(Math.abs(o)));return o<=0?r+a:r-a},lL=Om(),sL=Om(Math.sqrt),nO=e=>e*Math.PI/180,vd=e=>e.hasOwnProperty("x")&&e.hasOwnProperty("y"),Ph=e=>vd(e)&&e.hasOwnProperty("z"),Yu=(e,t)=>Math.abs(e-t);function uL(e,t){if(Oh(e)&&Oh(t))return Yu(e,t);if(vd(e)&&vd(t)){const r=Yu(e.x,t.x),n=Yu(e.y,t.y),o=Ph(e)&&Ph(t)?Yu(e.z,t.z):0;return Math.sqrt(Math.pow(r,2)+Math.pow(n,2)+Math.pow(o,2))}}const cL=(e,t,r)=>(t=nO(t),{x:r*Math.cos(t)+e.x,y:r*Math.sin(t)+e.y}),oO=(e,t=2)=>(t=Math.pow(10,t),Math.round(e*t)/t),aO=(e,t,r,n=0)=>oO(e+r*(t-e)/Math.max(n,r)),dL=(e=50)=>{let t=0,r=0;return n=>{const o=uf.getFrameData().timestamp,a=o!==r?o-r:0,i=a?aO(t,n,a,e):t;return r=o,t=i,i}},fL=e=>{if(typeof e=="number")return t=>Math.round(t/e)*e;{let t=0;const r=e.length;return n=>{let o=Math.abs(e[0]-n);for(t=1;to)return e[t-1];if(t===r-1)return a;o=i}}}};function pL(e,t){return e/(1e3/t)}const hL=(e,t,r)=>{const n=t-e;return((r-e)%n+n)%n+e},iO=(e,t)=>1-3*t+3*e,lO=(e,t)=>3*t-6*e,sO=e=>3*e,yd=(e,t,r)=>((iO(t,r)*e+lO(t,r))*e+sO(t))*e,uO=(e,t,r)=>3*iO(t,r)*e*e+2*lO(t,r)*e+sO(t),gL=1e-7,mL=10;function bL(e,t,r,n,o){let a,i,u=0;do i=t+(r-t)/2,a=yd(i,n,o)-e,a>0?r=i:t=i;while(Math.abs(a)>gL&&++u=yL?wL(i,_,e,r):O===0?_:bL(i,u,u+Qu,e,r)}return i=>i===0||i===1?i:yd(a(i),t,n)}const _L=(e,t="end")=>r=>{r=t==="end"?Math.min(r,.999):Math.max(r,.001);const n=r*e,o=t==="end"?Math.floor(n):Math.ceil(n);return $s(0,1,o/e)};Ge.angle=oL;Ge.animate=eO;Ge.anticipate=HD;Ge.applyOffset=aL;Ge.attract=lL;Ge.attractExpo=sL;Ge.backIn=Tm;Ge.backInOut=WD;Ge.backOut=UD;Ge.bounceIn=KD;Ge.bounceInOut=YD;Ge.bounceOut=bd;Ge.circIn=QT;Ge.circInOut=VD;Ge.circOut=XT;Ge.clamp=$s;Ge.createAnticipate=qT;Ge.createAttractor=Om;Ge.createBackIn=Cm;Ge.createExpoIn=$T;Ge.cubicBezier=xL;Ge.decay=JT;Ge.degreesToRadians=nO;Ge.distance=uL;Ge.easeIn=Sm;Ge.easeInOut=YT;Ge.easeOut=BD;Ge.inertia=nL;Ge.interpolate=_m;Ge.isPoint=vd;Ge.isPoint3D=Ph;Ge.keyframes=vs;Ge.linear=KT;Ge.mirrorEasing=ff;Ge.mix=df;Ge.mixColor=ym;Ge.mixComplex=xm;Ge.pipe=wm;Ge.pointFromVector=cL;Ge.progress=vm;Ge.radiansToDegrees=rO;Ge.reverseEasing=cu;Ge.smooth=dL;Ge.smoothFrame=aO;Ge.snap=fL;Ge.spring=cf;Ge.steps=_L;Ge.toDecimal=oO;Ge.velocityPerFrame=pL;Ge.velocityPerSecond=tO;Ge.wrap=hL;class CL{setAnimation(t){this.animation=t,t==null||t.finished.then(()=>this.clearAnimation()).catch(()=>{})}clearAnimation(){this.animation=this.generator=void 0}}const qp=new WeakMap;function Pm(e){return qp.has(e)||qp.set(e,{transforms:[],values:new Map}),qp.get(e)}function SL(e,t){return e.has(t)||e.set(t,new CL),e.get(t)}function cO(e,t){e.indexOf(t)===-1&&e.push(t)}function dO(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}const fO=(e,t,r)=>Math.min(Math.max(r,e),t),Ur={duration:.3,delay:0,endDelay:0,repeat:0,easing:"ease"},Ro=e=>typeof e=="number",qs=e=>Array.isArray(e)&&!Ro(e[0]),TL=(e,t,r)=>{const n=t-e;return((r-e)%n+n)%n+e};function pO(e,t){return qs(e)?e[TL(0,e.length,t)]:e}const km=(e,t,r)=>-r*e+r*t+e,Em=()=>{},To=e=>e,pf=(e,t,r)=>t-e===0?1:(r-e)/(t-e);function Nm(e,t){const r=e[e.length-1];for(let n=1;n<=t;n++){const o=pf(0,t,n);e.push(km(r,1,o))}}function jm(e){const t=[0];return Nm(t,e-1),t}function hO(e,t=jm(e.length),r=To){const n=e.length,o=n-t.length;return o>0&&Nm(t,o),a=>{let i=0;for(;iArray.isArray(e)&&Ro(e[0]),wd=e=>typeof e=="object"&&!!e.createAnimation,OL=e=>typeof e=="function",Rm=e=>typeof e=="string",qa={ms:e=>e*1e3,s:e=>e/1e3};function mO(e,t){return t?e*(1e3/t):0}const PL=["","X","Y","Z"],kL=["translate","scale","rotate","skew"],il={x:"translateX",y:"translateY",z:"translateZ"},Ew={syntax:"",initialValue:"0deg",toDefaultUnit:e=>e+"deg"},EL={translate:{syntax:"",initialValue:"0px",toDefaultUnit:e=>e+"px"},rotate:Ew,scale:{syntax:"",initialValue:1,toDefaultUnit:To},skew:Ew},ll=new Map,hf=e=>`--motion-${e}`,xd=["x","y","z"];kL.forEach(e=>{PL.forEach(t=>{xd.push(e+t),ll.set(hf(e+t),EL[e])})});const NL=(e,t)=>xd.indexOf(e)-xd.indexOf(t),jL=new Set(xd),gf=e=>jL.has(e),RL=(e,t)=>{il[t]&&(t=il[t]);const{transforms:r}=Pm(e);cO(r,t),e.style.transform=bO(r)},bO=e=>e.sort(NL).reduce(AL,"").trim(),AL=(e,t)=>`${e} ${t}(var(${hf(t)}))`,kh=e=>e.startsWith("--"),Nw=new Set;function ML(e){if(!Nw.has(e)){Nw.add(e);try{const{syntax:t,initialValue:r}=ll.has(e)?ll.get(e):{};CSS.registerProperty({name:e,inherits:!1,syntax:t,initialValue:r})}catch{}}}const vO=(e,t,r)=>(((1-3*r+3*t)*e+(3*r-6*t))*e+3*t)*e,IL=1e-7,DL=12;function LL(e,t,r,n,o){let a,i,u=0;do i=t+(r-t)/2,a=vO(i,n,o)-e,a>0?r=i:t=i;while(Math.abs(a)>IL&&++uLL(a,0,1,e,r);return a=>a===0||a===1?a:vO(o(a),t,n)}const FL=(e,t="end")=>r=>{r=t==="end"?Math.min(r,.999):Math.max(r,.001);const n=r*e,o=t==="end"?Math.floor(n):Math.ceil(n);return fO(0,1,o/e)},zL={ease:is(.25,.1,.25,1),"ease-in":is(.42,0,1,1),"ease-in-out":is(.42,0,.58,1),"ease-out":is(0,0,.58,1)},BL=/\((.*?)\)/;function Eh(e){if(OL(e))return e;if(gO(e))return is(...e);const t=zL[e];if(t)return t;if(e.startsWith("steps")){const r=BL.exec(e);if(r){const n=r[1].split(",");return FL(parseFloat(n[0]),n[1].trim())}}return To}class VL{constructor(t,r=[0,1],{easing:n,duration:o=Ur.duration,delay:a=Ur.delay,endDelay:i=Ur.endDelay,repeat:u=Ur.repeat,offset:f,direction:g="normal",autoplay:b=!0}={}){if(this.startTime=null,this.rate=1,this.t=0,this.cancelTimestamp=null,this.easing=To,this.duration=0,this.totalDuration=0,this.repeat=0,this.playState="idle",this.finished=new Promise((O,S)=>{this.resolve=O,this.reject=S}),n=n||Ur.easing,wd(n)){const O=n.createAnimation(r);n=O.easing,r=O.keyframes||r,o=O.duration||o}this.repeat=u,this.easing=qs(n)?To:Eh(n),this.updateDuration(o);const _=hO(r,f,qs(n)?n.map(Eh):To);this.tick=O=>{var S;a=a;let C=0;this.pauseTime!==void 0?C=this.pauseTime:C=(O-this.startTime)*this.rate,this.t=C,C/=1e3,C=Math.max(C-a,0),this.playState==="finished"&&this.pauseTime===void 0&&(C=this.totalDuration);const w=C/this.duration;let m=Math.floor(w),d=w%1;!d&&w>=1&&(d=1),d===1&&m--;const l=m%2;(g==="reverse"||g==="alternate"&&l||g==="alternate-reverse"&&!l)&&(d=1-d);const c=C>=this.totalDuration?1:Math.min(d,1),s=_(this.easing(c));t(s),this.pauseTime===void 0&&(this.playState==="finished"||C>=this.totalDuration+i)?(this.playState="finished",(S=this.resolve)===null||S===void 0||S.call(this,s)):this.playState!=="idle"&&(this.frameRequestId=requestAnimationFrame(this.tick))},b&&this.play()}play(){const t=performance.now();this.playState="running",this.pauseTime!==void 0?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t),this.cancelTimestamp=this.startTime,this.pauseTime=void 0,this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState="paused",this.pauseTime=this.t}finish(){this.playState="finished",this.tick(0)}stop(){var t;this.playState="idle",this.frameRequestId!==void 0&&cancelAnimationFrame(this.frameRequestId),(t=this.reject)===null||t===void 0||t.call(this,!1)}cancel(){this.stop(),this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t,this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){this.pauseTime!==void 0||this.rate===0?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}const jw=e=>gO(e)?UL(e):e,UL=([e,t,r,n])=>`cubic-bezier(${e}, ${t}, ${r}, ${n})`,Rw=e=>document.createElement("div").animate(e,{duration:.001}),Aw={cssRegisterProperty:()=>typeof CSS<"u"&&Object.hasOwnProperty.call(CSS,"registerProperty"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate"),partialKeyframes:()=>{try{Rw({opacity:[1]})}catch{return!1}return!0},finished:()=>!!Rw({opacity:[0,1]}).finished},Gp={},Sc={};for(const e in Aw)Sc[e]=()=>(Gp[e]===void 0&&(Gp[e]=Aw[e]()),Gp[e]);function WL(e,t){for(let r=0;rArray.isArray(e)?e:[e];function _d(e){return il[e]&&(e=il[e]),gf(e)?hf(e):e}const Fi={get:(e,t)=>{t=_d(t);let r=kh(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!r&&r!==0){const n=ll.get(t);n&&(r=n.initialValue)}return r},set:(e,t,r)=>{t=_d(t),kh(t)?e.style.setProperty(t,r):e.style[t]=r}};function wO(e,t=!0){if(!(!e||e.playState==="finished"))try{e.stop?e.stop():(t&&e.commitStyles(),e.cancel())}catch{}}function HL(){return window.__MOTION_DEV_TOOLS_RECORD}function mf(e,t,r,n={}){const o=HL(),a=n.record!==!1&&o;let i,{duration:u=Ur.duration,delay:f=Ur.delay,endDelay:g=Ur.endDelay,repeat:b=Ur.repeat,easing:_=Ur.easing,direction:O,offset:S,allowWebkitAcceleration:C=!1}=n;const w=Pm(e);let m=Sc.waapi();const d=gf(t);d&&RL(e,t);const l=_d(t),c=SL(w.values,l),s=ll.get(l);return wO(c.animation,!(wd(_)&&c.generator)&&n.record!==!1),()=>{const h=()=>{var y,E;return(E=(y=Fi.get(e,l))!==null&&y!==void 0?y:s==null?void 0:s.initialValue)!==null&&E!==void 0?E:0};let v=WL(yO(r),h);if(wd(_)){const y=_.createAnimation(v,h,d,l,c);_=y.easing,y.keyframes!==void 0&&(v=y.keyframes),y.duration!==void 0&&(u=y.duration)}if(kh(l)&&(Sc.cssRegisterProperty()?ML(l):m=!1),m){s&&(v=v.map(P=>Ro(P)?s.toDefaultUnit(P):P)),v.length===1&&(!Sc.partialKeyframes()||a)&&v.unshift(h());const y={delay:qa.ms(f),duration:qa.ms(u),endDelay:qa.ms(g),easing:qs(_)?void 0:jw(_),direction:O,iterations:b+1,fill:"both"};i=e.animate({[l]:v,offset:S,easing:qs(_)?_.map(jw):void 0},y),i.finished||(i.finished=new Promise((P,N)=>{i.onfinish=P,i.oncancel=N}));const E=v[v.length-1];i.finished.then(()=>{Fi.set(e,l,E),i.cancel()}).catch(Em),C||(i.playbackRate=1.000001)}else if(d){v=v.map(E=>typeof E=="string"?parseFloat(E):E),v.length===1&&v.unshift(parseFloat(h()));const y=E=>{s&&(E=s.toDefaultUnit(E)),Fi.set(e,l,E)};i=new VL(y,v,Object.assign(Object.assign({},n),{duration:u,easing:_}))}else{const y=v[v.length-1];Fi.set(e,l,s&&Ro(y)?s.toDefaultUnit(y):y)}return a&&o(e,t,v,{duration:u,delay:f,easing:_,repeat:b,offset:S},"motion-one"),c.setAnimation(i),i}}const Am=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function bf(e,t){var r;return typeof e=="string"?t?((r=t[e])!==null&&r!==void 0||(t[e]=document.querySelectorAll(e)),e=t[e]):e=document.querySelectorAll(e):e instanceof Element&&(e=[e]),Array.from(e||[])}const $L=e=>e(),Mm=(e,t,r=Ur.duration)=>new Proxy({animations:e.map($L).filter(Boolean),duration:r,options:t},GL),qL=e=>e.animations[0],GL={get:(e,t)=>{const r=qL(e);switch(t){case"duration":return e.duration;case"currentTime":return qa.s((r==null?void 0:r[t])||0);case"playbackRate":case"playState":return r==null?void 0:r[t];case"finished":return e.finished||(e.finished=Promise.all(e.animations.map(KL)).catch(Em)),e.finished;case"stop":return()=>{e.animations.forEach(n=>wO(n))};case"forEachNative":return n=>{e.animations.forEach(o=>n(o,e))};default:return typeof(r==null?void 0:r[t])>"u"?void 0:()=>e.animations.forEach(n=>n[t]())}},set:(e,t,r)=>{switch(t){case"currentTime":r=qa.ms(r);case"currentTime":case"playbackRate":for(let n=0;ne.finished;function YL(e=.1,{start:t=0,from:r=0,easing:n}={}){return(o,a)=>{const i=Ro(r)?r:QL(r,a),u=Math.abs(i-o);let f=e*u;if(n){const g=a*e;f=Eh(n)(f/g)*g}return t+f}}function QL(e,t){if(e==="first")return 0;{const r=t-1;return e==="last"?r:r/2}}function xO(e,t,r){return typeof e=="function"?e(t,r):e}function XL(e,t,r={}){e=bf(e);const n=e.length,o=[];for(let a=0;at&&o.atmf(...a)).filter(Boolean);return Mm(o,t,(r=n[0])===null||r===void 0?void 0:r[3].duration)}function r3(e,t={}){var{defaultOptions:r={}}=t,n=wl(t,["defaultOptions"]);const o=[],a=new Map,i={},u=new Map;let f=0,g=0,b=0;for(let _=0;_"0",Y);R=$.easing,$.keyframes!==void 0&&(E=$.keyframes),$.duration!==void 0&&(N=$.duration)}const M=xO(w.delay,c,l)||0,D=g+M,L=D+N;let{offset:W=jm(E.length)}=P;W.length===1&&W[0]===0&&(W[1]=1);const U=length-E.length;U>0&&Nm(W,U),E.length===1&&E.unshift(null),ZL(y,E,R,W,D,L),m=Math.max(M+N,m),b=Math.max(L,b)}}f=g,g+=m}return a.forEach((_,O)=>{for(const S in _){const C=_[S];C.sort(e3);const w=[],m=[],d=[];for(let l=0;lt/(2*Math.sqrt(e*r));function l3(e,t,r){return e=t||e>t&&r<=t}const _O=({stiffness:e=Gi.stiffness,damping:t=Gi.damping,mass:r=Gi.mass,from:n=0,to:o=1,velocity:a=0,restSpeed:i,restDistance:u}={})=>{a=a?qa.s(a):0;const f={done:!1,hasReachedTarget:!1,current:n,target:o},g=o-n,b=Math.sqrt(e/r)/1e3,_=i3(e,t,r),O=Math.abs(g)<5;i||(i=O?.01:2),u||(u=O?.005:.5);let S;if(_<1){const C=b*Math.sqrt(1-_*_);S=w=>o-Math.exp(-_*b*w)*((-a+_*b*g)/C*Math.sin(C*w)+g*Math.cos(C*w))}else S=C=>o-Math.exp(-b*C)*(g+(-a+b*g)*C);return C=>{f.current=S(C);const w=C===0?a:Im(S,C,f.current),m=Math.abs(w)<=i,d=Math.abs(o-f.current)<=u;return f.done=m&&d,f.hasReachedTarget=l3(n,o,f.current),f}},s3=({from:e=0,velocity:t=0,power:r=.8,decay:n=.325,bounceDamping:o,bounceStiffness:a,changeTarget:i,min:u,max:f,restDistance:g=.5,restSpeed:b})=>{n=qa.ms(n);const _={hasReachedTarget:!1,done:!1,current:e,target:e},O=y=>u!==void 0&&yf,S=y=>u===void 0?f:f===void 0||Math.abs(u-y)-C*Math.exp(-y/n),l=y=>m+d(y),c=y=>{const E=d(y),P=l(y);_.done=Math.abs(E)<=g,_.current=_.done?m:P};let s,h;const v=y=>{O(_.current)&&(s=y,h=_O({from:_.current,to:S(_.current),velocity:Im(l,y,_.current),damping:o,stiffness:a,restDistance:g,restSpeed:b}))};return v(0),y=>{let E=!1;return!h&&s===void 0&&(E=!0,c(y),v(y)),s!==void 0&&y>s?(_.hasReachedTarget=!0,h(y-s)):(_.hasReachedTarget=!1,!E&&c(y),_)}},Kp=10,u3=1e4;function c3(e,t=To){let r,n=Kp,o=e(0);const a=[t(o.current)];for(;!o.done&&n{const n=new Map,o=(i=0,u=100,f=0,g=!1)=>{const b=`${i}-${u}-${f}-${g}`;return n.has(b)||n.set(b,e(Object.assign({from:i,to:u,velocity:f,restSpeed:g?.05:2,restDistance:g?.01:.5},r))),n.get(b)},a=i=>(t.has(i)||t.set(i,c3(i)),t.get(i));return{createAnimation:(i,u,f,g,b)=>{var _,O;let S;const C=i.length;if(f&&C<=2&&i.every(d3)){const m=i[C-1],d=C===1?null:i[0];let l=0,c=0;const s=b==null?void 0:b.generator;if(s){const{animation:y,generatorStartTime:E}=b,P=(y==null?void 0:y.startTime)||E||0,N=(y==null?void 0:y.currentTime)||performance.now()-P,R=s(N).current;c=(_=d)!==null&&_!==void 0?_:R,(C===1||C===2&&i[0]===null)&&(l=Im(M=>s(M).current,N,R))}else c=(O=d)!==null&&O!==void 0?O:parseFloat(u());const h=o(c,m,l,g==null?void 0:g.includes("scale")),v=a(h);S=Object.assign(Object.assign({},v),{easing:"linear"}),b&&(b.generator=h,b.generatorStartTime=performance.now())}else S={easing:"ease",duration:a(o(0,100)).overshootDuration};return S}}}}const d3=e=>typeof e!="string",f3=CO(_O),p3=CO(s3),h3={any:0,all:1};function SO(e,t,{root:r,margin:n,amount:o="any"}={}){if(typeof IntersectionObserver>"u")return()=>{};const a=bf(e),i=new WeakMap,u=g=>{g.forEach(b=>{const _=i.get(b.target);if(b.isIntersecting!==!!_)if(b.isIntersecting){const O=t(b);typeof O=="function"?i.set(b.target,O):f.unobserve(b.target)}else _&&(_(b),i.delete(b.target))})},f=new IntersectionObserver(u,{root:r,rootMargin:n,threshold:typeof o=="number"?o:h3[o]});return a.forEach(g=>f.observe(g)),()=>f.disconnect()}const Tc=new WeakMap;let Yo;function g3(e,t){if(t){const{inlineSize:r,blockSize:n}=t[0];return{width:r,height:n}}else return e instanceof SVGElement&&"getBBox"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}function m3({target:e,contentRect:t,borderBoxSize:r}){var n;(n=Tc.get(e))===null||n===void 0||n.forEach(o=>{o({target:e,contentSize:t,get size(){return g3(e,r)}})})}function b3(e){e.forEach(m3)}function v3(){typeof ResizeObserver>"u"||(Yo=new ResizeObserver(b3))}function y3(e,t){Yo||v3();const r=bf(e);return r.forEach(n=>{let o=Tc.get(n);o||(o=new Set,Tc.set(n,o)),o.add(t),Yo==null||Yo.observe(n)}),()=>{r.forEach(n=>{const o=Tc.get(n);o==null||o.delete(t),o!=null&&o.size||Yo==null||Yo.unobserve(n)})}}const Oc=new Set;let ys;function w3(){ys=()=>{const e={width:window.innerWidth,height:window.innerHeight},t={target:window,size:e,contentSize:e};Oc.forEach(r=>r(t))},window.addEventListener("resize",ys)}function x3(e){return Oc.add(e),ys||w3(),()=>{Oc.delete(e),!Oc.size&&ys&&(ys=void 0)}}function TO(e,t){return typeof e=="function"?x3(e):y3(e,t)}const _3=50,Iw=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),C3=()=>({time:0,x:Iw(),y:Iw()}),S3={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function Dw(e,t,r,n){const o=r[t],{length:a,position:i}=S3[t],u=o.current,f=r.time;o.current=e["scroll"+i],o.scrollLength=e["scroll"+a]-e["client"+a],o.offset.length=0,o.offset[0]=0,o.offset[1]=o.scrollLength,o.progress=pf(0,o.scrollLength,o.current);const g=n-f;o.velocity=g>_3?0:mO(o.current-u,g)}function T3(e,t,r){Dw(e,"x",t,r),Dw(e,"y",t,r),t.time=r}function O3(e,t){let r={x:0,y:0},n=e;for(;n&&n!==t;)if(n instanceof HTMLElement)r.x+=n.offsetLeft,r.y+=n.offsetTop,n=n.offsetParent;else if(n instanceof SVGGraphicsElement&&"getBBox"in n){const{top:o,left:a}=n.getBBox();for(r.x+=a,r.y+=o;n&&n.tagName!=="svg";)n=n.parentNode}return r}const OO={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},Nh={start:0,center:.5,end:1};function Lw(e,t,r=0){let n=0;if(Nh[e]!==void 0&&(e=Nh[e]),Rm(e)){const o=parseFloat(e);e.endsWith("px")?n=o:e.endsWith("%")?e=o/100:e.endsWith("vw")?n=o/100*document.documentElement.clientWidth:e.endsWith("vh")?n=o/100*document.documentElement.clientHeight:e=o}return Ro(e)&&(n=t*e),r+n}const P3=[0,0];function k3(e,t,r,n){let o=Array.isArray(e)?e:P3,a=0,i=0;return Ro(e)?o=[e,e]:Rm(e)&&(e=e.trim(),e.includes(" ")?o=e.split(" "):o=[e,Nh[e]?e:"0"]),a=Lw(o[0],r,n),i=Lw(o[1],t),a-i}const E3={x:0,y:0};function N3(e,t,r){let{offset:n=OO.All}=r;const{target:o=e,axis:a="y"}=r,i=a==="y"?"height":"width",u=o!==e?O3(o,e):E3,f=o===e?{width:e.scrollWidth,height:e.scrollHeight}:{width:o.clientWidth,height:o.clientHeight},g={width:e.clientWidth,height:e.clientHeight};t[a].offset.length=0;let b=!t[a].interpolate;const _=n.length;for(let O=0;O<_;O++){const S=k3(n[O],g[i],f[i],u[a]);!b&&S!==t[a].interpolatorOffsets[O]&&(b=!0),t[a].offset[O]=S}b&&(t[a].interpolate=hO(jm(_),t[a].offset),t[a].interpolatorOffsets=[...t[a].offset]),t[a].progress=t[a].interpolate(t[a].current)}function j3(e,t=e,r){if(r.x.targetOffset=0,r.y.targetOffset=0,t!==e){let n=t;for(;n&&n!=e;)r.x.targetOffset+=n.offsetLeft,r.y.targetOffset+=n.offsetTop,n=n.offsetParent}r.x.targetLength=t===e?t.scrollWidth:t.clientWidth,r.y.targetLength=t===e?t.scrollHeight:t.clientHeight,r.x.containerLength=e.clientWidth,r.y.containerLength=e.clientHeight}function R3(e,t,r,n={}){const o=n.axis||"y";return{measure:()=>j3(e,n.target,r),update:a=>{T3(e,r,a),(n.offset||n.target)&&N3(e,r,n)},notify:typeof t=="function"?()=>t(r):A3(t,r[o])}}function A3(e,t){return e.pause(),e.forEachNative((r,{easing:n})=>{var o,a;if(r.updateDuration)n||(r.easing=To),r.updateDuration(1);else{const i={duration:1e3};n||(i.easing="linear"),(a=(o=r.effect)===null||o===void 0?void 0:o.updateTiming)===null||a===void 0||a.call(o,i)}}),()=>{e.currentTime=t.progress}}const Xl=new WeakMap,Fw=new WeakMap,Yp=new WeakMap,zw=e=>e===document.documentElement?window:e;function M3(e,t={}){var{container:r=document.documentElement}=t,n=wl(t,["container"]);let o=Yp.get(r);o||(o=new Set,Yp.set(r,o));const a=C3(),i=R3(r,e,a,n);if(o.add(i),!Xl.has(r)){const g=()=>{const _=performance.now();for(const O of o)O.measure();for(const O of o)O.update(_);for(const O of o)O.notify()};Xl.set(r,g);const b=zw(r);window.addEventListener("resize",g,{passive:!0}),r!==document.documentElement&&Fw.set(r,TO(r,g)),b.addEventListener("scroll",g,{passive:!0})}const u=Xl.get(r),f=requestAnimationFrame(u);return()=>{var g;typeof e!="function"&&e.stop(),cancelAnimationFrame(f);const b=Yp.get(r);if(!b||(b.delete(i),b.size))return;const _=Xl.get(r);Xl.delete(r),_&&(zw(r).removeEventListener("scroll",_),(g=Fw.get(r))===null||g===void 0||g(),window.removeEventListener("resize",_))}}function I3(e,t){return typeof e!=typeof t?!0:Array.isArray(e)&&Array.isArray(t)?!D3(e,t):e!==t}function D3(e,t){const r=t.length;if(r!==e.length)return!1;for(let n=0;ne.getDepth()-t.getDepth(),V3=e=>e.animateUpdates(),Vw=e=>e.next(),Uw=(e,t)=>new CustomEvent(e,{detail:{target:t}});function jh(e,t,r){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:r}}))}function Ww(e,t,r){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:r}}))}const U3={isActive:e=>!!e.inView,subscribe:(e,{enable:t,disable:r},{inViewOptions:n={}})=>{const{once:o}=n,a=wl(n,["once"]);return SO(e,i=>{if(t(),Ww(e,"viewenter",i),!o)return u=>{r(),Ww(e,"viewleave",u)}},a)}},Hw=(e,t,r)=>n=>{n.pointerType&&n.pointerType!=="mouse"||(r(),jh(e,t,n))},W3={isActive:e=>!!e.hover,subscribe:(e,{enable:t,disable:r})=>{const n=Hw(e,"hoverstart",t),o=Hw(e,"hoverend",r);return e.addEventListener("pointerenter",n),e.addEventListener("pointerleave",o),()=>{e.removeEventListener("pointerenter",n),e.removeEventListener("pointerleave",o)}}},H3={isActive:e=>!!e.press,subscribe:(e,{enable:t,disable:r})=>{const n=a=>{r(),jh(e,"pressend",a),window.removeEventListener("pointerup",n)},o=a=>{t(),jh(e,"pressstart",a),window.addEventListener("pointerup",n)};return e.addEventListener("pointerdown",o),()=>{e.removeEventListener("pointerdown",o),window.removeEventListener("pointerup",n)}}},Pc={inView:U3,hover:W3,press:H3},$w=["initial","animate",...Object.keys(Pc),"exit"],Rh=new WeakMap;function $3(e={},t){let r,n=t?t.getDepth()+1:0;const o={initial:!0,animate:!0},a={},i={};for(const w of $w)i[w]=typeof e[w]=="string"?e[w]:t==null?void 0:t.getContext()[w];const u=e.initial===!1?"animate":"initial";let f=Bw(e[u]||i[u],e.variants)||{},g=wl(f,["transition"]);const b=Object.assign({},g);function*_(){var w,m;const d=g;g={};const l={};for(const y of $w){if(!o[y])continue;const E=Bw(e[y]);if(E)for(const P in E)P!=="transition"&&(g[P]=E[P],l[P]=Am((m=(w=E.transition)!==null&&w!==void 0?w:e.transition)!==null&&m!==void 0?m:{},P))}const c=new Set([...Object.keys(g),...Object.keys(d)]),s=[];c.forEach(y=>{var E;g[y]===void 0&&(g[y]=b[y]),I3(d[y],g[y])&&((E=b[y])!==null&&E!==void 0||(b[y]=Fi.get(r,y)),s.push(mf(r,y,g[y],l[y])))}),yield;const h=s.map(y=>y()).filter(Boolean);if(!h.length)return;const v=g;r.dispatchEvent(Uw("motionstart",v)),Promise.all(h.map(y=>y.finished)).then(()=>{r.dispatchEvent(Uw("motioncomplete",v))}).catch(Em)}const O=(w,m)=>()=>{o[w]=m,Qp(C)},S=()=>{for(const w in Pc){const m=Pc[w].isActive(e),d=a[w];m&&!d?a[w]=Pc[w].subscribe(r,{enable:O(w,!0),disable:O(w,!1)},e):!m&&d&&(d(),delete a[w])}},C={update:w=>{r&&(e=w,S(),Qp(C))},setActive:(w,m)=>{r&&(o[w]=m,Qp(C))},animateUpdates:_,getDepth:()=>n,getTarget:()=>g,getOptions:()=>e,getContext:()=>i,mount:w=>(r=w,Rh.set(r,C),S(),()=>{Rh.delete(r),z3(C);for(const m in a)a[m]()}),isMounted:()=>!!r};return C}function PO(e){const t={},r=[];for(let n in e){const o=e[n];gf(n)&&(il[n]&&(n=il[n]),r.push(n),n=hf(n));let a=Array.isArray(o)?o[0]:o;const i=ll.get(n);i&&(a=Ro(o)?i.toDefaultUnit(o):o),t[n]=a}return r.length&&(t.transform=bO(r)),t}const q3=e=>`-${e.toLowerCase()}`,G3=e=>e.replace(/[A-Z]/g,q3);function K3(e={}){const t=PO(e);let r="";for(const n in t)r+=n.startsWith("--")?n:G3(n),r+=`: ${t[n]}; `;return r}const Y3=Object.freeze(Object.defineProperty({__proto__:null,ScrollOffset:OO,animate:XL,animateStyle:mf,createMotionState:$3,createStyleString:K3,createStyles:PO,getAnimationData:Pm,getStyleName:_d,glide:p3,inView:SO,mountedStates:Rh,resize:TO,scroll:M3,spring:f3,stagger:YL,style:Fi,timeline:t3,withControls:Mm},Symbol.toStringTag,{value:"Module"})),Q3=Qs(Y3);function X3(e){var t={};return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var J3=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Z3=X3(function(e){return J3.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91});const eF=Object.freeze(Object.defineProperty({__proto__:null,default:Z3},Symbol.toStringTag,{value:"Module"})),tF=Qs(eF);(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=kT,r=j,n=NT,o=sr,a=Ge,i=ci,u=Q3;function f(p){return p&&typeof p=="object"&&"default"in p?p:{default:p}}function g(p){if(p&&p.__esModule)return p;var x=Object.create(null);return p&&Object.keys(p).forEach(function(k){if(k!=="default"){var A=Object.getOwnPropertyDescriptor(p,k);Object.defineProperty(x,k,A.get?A:{enumerable:!0,get:function(){return p[k]}})}}),x.default=p,Object.freeze(x)}var b=g(r),_=f(r),O=f(i),S="production",C=typeof process>"u"||process.env===void 0?S:"production",w=function(p){return{isEnabled:function(x){return p.some(function(k){return!!x[k]})}}},m={measureLayout:w(["layout","layoutId","drag"]),animation:w(["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"]),exit:w(["exit"]),drag:w(["drag","dragControls"]),focus:w(["whileFocus"]),hover:w(["whileHover","onHoverStart","onHoverEnd"]),tap:w(["whileTap","onTap","onTapStart","onTapCancel"]),pan:w(["onPan","onPanStart","onPanSessionStart","onPanEnd"]),inView:w(["whileInView","onViewportEnter","onViewportLeave"])};function d(p){for(var x in p)p[x]!==null&&(x==="projectionNodeConstructor"?m.projectionNodeConstructor=p[x]:m[x].Component=p[x])}var l=r.createContext({strict:!1}),c=Object.keys(m),s=c.length;function h(p,x,k){var A=[],I=r.useContext(l);if(!x)return null;C!=="production"&&k&&I.strict&&n.invariant(!1,"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.");for(var B=0;B"u")return x;var k=new Map;return new Proxy(x,{get:function(A,I){return k.has(I)||k.set(I,x(I)),k.get(I)}})}var Je=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","svg","switch","symbol","text","tspan","use","view"];function Ve(p){return typeof p!="string"||p.includes("-")?!1:!!(Je.indexOf(p)>-1||/[A-Z]/.test(p))}var me={};function te(p){Object.assign(me,p)}var ge=["","X","Y","Z"],_e=["translate","scale","rotate","skew"],Pe=["transformPerspective","x","y","z"];_e.forEach(function(p){return ge.forEach(function(x){return Pe.push(p+x)})});function Ce(p,x){return Pe.indexOf(p)-Pe.indexOf(x)}var we=new Set(Pe);function Ie(p){return we.has(p)}var Ue=new Set(["originX","originY","originZ"]);function Ze(p){return Ue.has(p)}function Bt(p,x){var k=x.layout,A=x.layoutId;return Ie(p)||Ze(p)||(k||A!==void 0)&&(!!me[p]||p==="opacity")}var et=function(p){return!!(p!==null&&typeof p=="object"&&p.getVelocity)},Xt={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"};function qt(p,x,k,A){var I=p.transform,B=p.transformKeys,V=x.enableHardwareAcceleration,F=V===void 0?!0:V,q=x.allowTransformNone,K=q===void 0?!0:q,J="";B.sort(Ce);for(var re=!1,ne=B.length,le=0;le"u"?Kk:Gk;K(q,F.current,x,V)}var qk={some:0,all:1};function Gk(p,x,k,A){var I=A.root,B=A.margin,V=A.amount,F=V===void 0?"some":V,q=A.once;r.useEffect(function(){if(p){var K={root:I==null?void 0:I.current,rootMargin:B,threshold:typeof F=="number"?F:qk[F]},J=function(re){var ne,le=re.isIntersecting;if(x.isInView!==le&&(x.isInView=le,!(q&&!le&&x.hasEnteredView))){le&&(x.hasEnteredView=!0),(ne=k.animationState)===null||ne===void 0||ne.setActive(e.AnimationType.InView,le);var ce=k.getProps(),ve=le?ce.onViewportEnter:ce.onViewportLeave;ve==null||ve(re)}};return Hk(k.getInstance(),K,J)}},[p,I,B,F])}function Kk(p,x,k,A){var I=A.fallback,B=I===void 0?!0:I;r.useEffect(function(){!p||!B||(C!=="production"&&Al(!1,"IntersectionObserver not available on this device. whileInView animations will trigger on mount."),requestAnimationFrame(function(){var V;x.hasEnteredView=!0;var F=k.getProps().onViewportEnter;F==null||F(null),(V=k.animationState)===null||V===void 0||V.setActive(e.AnimationType.InView,!0)}))},[p])}var Fo=function(p){return function(x){return p(x),null}},lb={inView:Fo($k),tap:Fo(_r),focus:Fo(Kt),hover:Fo(Tt)},Yk=0,Qk=function(){return Yk++},sb=function(){return de(Qk)};function Lf(){var p=r.useContext(P);if(p===null)return[!0,null];var x=p.isPresent,k=p.onExitComplete,A=p.register,I=sb();r.useEffect(function(){return A(I)},[]);var B=function(){return k==null?void 0:k(I)};return!x&&k?[!1,B]:[!0]}function Xk(){return Jk(r.useContext(P))}function Jk(p){return p===null?!0:p.isPresent}function ub(p,x){if(!Array.isArray(x))return!1;var k=x.length;if(k!==p.length)return!1;for(var A=0;A-1&&p.splice(k,1)}function dE(p,x,k){var A=t.__read(p),I=A.slice(0),B=x<0?I.length+x:x;if(B>=0&&BWe&&pn,Ho=Array.isArray(Lt)?Lt:[Lt],hn=Ho.reduce(B,{});Rr===!1&&(hn={});var Bl=gt.prevResolvedValues,wi=Bl===void 0?{}:Bl,Nu=t.__assign(t.__assign({},wi),hn),xi=function(Qe){Wo=!0,Ee.delete(Qe),gt.needsAnimating[Qe]=!0};for(var zr in Nu){var yt=hn[zr],Fe=wi[zr];De.hasOwnProperty(zr)||(yt!==Fe?Xr(yt)&&Xr(Fe)?!ub(yt,Fe)||Uo?xi(zr):gt.protectedKeys[zr]=!0:yt!==void 0?xi(zr):Ee.add(zr):yt!==void 0&&Ee.has(zr)?xi(zr):gt.protectedKeys[zr]=!0)}gt.prevProp=Lt,gt.prevResolvedValues=hn,gt.isActive&&(De=t.__assign(t.__assign({},De),hn)),I&&p.blockInitialAnimation&&(Wo=!1),Wo&&!Jr&&ve.push.apply(ve,t.__spreadArray([],t.__read(Ho.map(function(Qe){return{animation:Qe,options:t.__assign({type:ct},J)}})),!1))},ot=0;ot=3;if(!(!le&&!ce)){var ve=ne.point,Ee=i.getFrameData().timestamp;I.history.push(t.__assign(t.__assign({},ve),{timestamp:Ee}));var De=I.handlers,We=De.onStart,tt=De.onMove;le||(We&&We(I.lastMoveEvent,ne),I.startEvent=I.lastMoveEvent),tt&&tt(I.lastMoveEvent,ne)}}},this.handlePointerMove=function(ne,le){if(I.lastMoveEvent=ne,I.lastMoveEventInfo=Jf(le,I.transformPagePoint),Rt(ne)&&ne.buttons===0){I.handlePointerUp(ne,le);return}O.default.update(I.updatePoint,!0)},this.handlePointerUp=function(ne,le){I.end();var ce=I.handlers,ve=ce.onEnd,Ee=ce.onSessionEnd,De=Zf(Jf(le,I.transformPagePoint),I.history);I.startEvent&&ve&&ve(ne,De),Ee&&Ee(ne,De)},!(cn(x)&&x.touches.length>1)){this.handlers=k,this.transformPagePoint=V;var F=mi(x),q=Jf(F,this.transformPagePoint),K=q.point,J=i.getFrameData().timestamp;this.history=[t.__assign(t.__assign({},K),{timestamp:J})];var re=k.onSessionStart;re&&re(x,Zf(q,this.history)),this.removeListeners=a.pipe(Xn(window,"pointermove",this.handlePointerMove),Xn(window,"pointerup",this.handlePointerUp),Xn(window,"pointercancel",this.handlePointerUp))}}return p.prototype.updateHandlers=function(x){this.handlers=x},p.prototype.end=function(){this.removeListeners&&this.removeListeners(),i.cancelSync.update(this.updatePoint)},p}();function Jf(p,x){return x?{point:x(p.point)}:p}function Cb(p,x){return{x:p.x-x.x,y:p.y-x.y}}function Zf(p,x){var k=p.point;return{point:k,delta:Cb(k,Sb(x)),offset:Cb(k,EE(x)),velocity:NE(x,.1)}}function EE(p){return p[0]}function Sb(p){return p[p.length-1]}function NE(p,x){if(p.length<2)return{x:0,y:0};for(var k=p.length-1,A=null,I=Sb(p);k>=0&&(A=p[k],!(I.timestamp-A.timestamp>wu(x)));)k--;if(!A)return{x:0,y:0};var B=(I.timestamp-A.timestamp)/1e3;if(B===0)return{x:0,y:0};var V={x:(I.x-A.x)/B,y:(I.y-A.y)/B};return V.x===1/0&&(V.x=0),V.y===1/0&&(V.y=0),V}function Jn(p){return p.max-p.min}function Tb(p,x,k){return x===void 0&&(x=0),k===void 0&&(k=.01),a.distance(p,x)I&&(p=k?a.mix(I,p,k.max):Math.min(p,I)),p}function Eb(p,x,k){return{min:x!==void 0?p.min+x:void 0,max:k!==void 0?p.max+k-(p.max-p.min):void 0}}function AE(p,x){var k=x.top,A=x.left,I=x.bottom,B=x.right;return{x:Eb(p.x,A,B),y:Eb(p.y,k,I)}}function Nb(p,x){var k,A=x.min-p.min,I=x.max-p.max;return x.max-x.minA?k=a.progress(x.min,x.max-A,p.min):A>I&&(k=a.progress(p.min,p.max-I,x.min)),a.clamp(0,1,k)}function DE(p,x){var k={};return x.min!==void 0&&(k.min=x.min-p.min),x.max!==void 0&&(k.max=x.max-p.min),k}var ep=.35;function LE(p){return p===void 0&&(p=ep),p===!1?p=0:p===!0&&(p=ep),{x:jb(p,"left","right"),y:jb(p,"top","bottom")}}function jb(p,x,k){return{min:Rb(p,x),max:Rb(p,k)}}function Rb(p,x){var k;return typeof p=="number"?p:(k=p[x])!==null&&k!==void 0?k:0}var Ab=function(){return{translate:0,scale:1,origin:0,originPoint:0}},Fl=function(){return{x:Ab(),y:Ab()}},Mb=function(){return{min:0,max:0}},dr=function(){return{x:Mb(),y:Mb()}};function Zn(p){return[p("x"),p("y")]}function Ib(p){var x=p.top,k=p.left,A=p.right,I=p.bottom;return{x:{min:k,max:A},y:{min:x,max:I}}}function FE(p){var x=p.x,k=p.y;return{top:k.min,right:x.max,bottom:k.max,left:x.min}}function zE(p,x){if(!x)return p;var k=x({x:p.left,y:p.top}),A=x({x:p.right,y:p.bottom});return{top:k.y,left:k.x,bottom:A.y,right:A.x}}function tp(p){return p===void 0||p===1}function Db(p){var x=p.scale,k=p.scaleX,A=p.scaleY;return!tp(x)||!tp(k)||!tp(A)}function zo(p){return Db(p)||Lb(p.x)||Lb(p.y)||p.z||p.rotate||p.rotateX||p.rotateY}function Lb(p){return p&&p!=="0%"}function Cu(p,x,k){var A=p-k,I=x*A;return k+I}function Fb(p,x,k,A,I){return I!==void 0&&(p=Cu(p,I,A)),Cu(p,k,A)+x}function rp(p,x,k,A,I){x===void 0&&(x=0),k===void 0&&(k=1),p.min=Fb(p.min,x,k,A,I),p.max=Fb(p.max,x,k,A,I)}function zb(p,x){var k=x.x,A=x.y;rp(p.x,k.translate,k.scale,k.originPoint),rp(p.y,A.translate,A.scale,A.originPoint)}function BE(p,x,k,A){var I,B;A===void 0&&(A=!1);var V=k.length;if(V){x.x=x.y=1;for(var F,q,K=0;Kx?k="y":Math.abs(p.x)>x&&(k="x"),k}function GE(p){var x=p.dragControls,k=p.visualElement,A=de(function(){return new $E(k)});r.useEffect(function(){return x&&x.subscribe(A)},[A,x]),r.useEffect(function(){return A.addListeners()},[A])}function KE(p){var x=p.onPan,k=p.onPanStart,A=p.onPanEnd,I=p.onPanSessionStart,B=p.visualElement,V=x||k||A||I,F=r.useRef(null),q=r.useContext(v).transformPagePoint,K={onSessionStart:I,onStart:k,onMove:x,onEnd:function(re,ne){F.current=null,A&&A(re,ne)}};r.useEffect(function(){F.current!==null&&F.current.updateHandlers(K)});function J(re){F.current=new _b(re,K,{transformPagePoint:q})}Ea(B,"pointerdown",V&&J),Yt(function(){return F.current&&F.current.end()})}var Ub={pan:Fo(KE),drag:Fo(GE)},Tu=["LayoutMeasure","BeforeLayoutMeasure","LayoutUpdate","ViewportBoxUpdate","Update","Render","AnimationComplete","LayoutAnimationComplete","AnimationStart","LayoutAnimationStart","SetAxisTarget","Unmount"];function YE(){var p=Tu.map(function(){return new Ml}),x={},k={clearAllListeners:function(){return p.forEach(function(A){return A.clear()})},updatePropListeners:function(A){Tu.forEach(function(I){var B,V="on"+I,F=A[V];(B=x[I])===null||B===void 0||B.call(x),F&&(x[I]=k[V](F))})}};return p.forEach(function(A,I){k["on"+Tu[I]]=function(B){return A.add(B)},k["notify"+Tu[I]]=function(){for(var B=[],V=0;V=0?window.pageYOffset:null,K=iN(x,p,F);return B.length&&B.forEach(function(J){var re=t.__read(J,2),ne=re[0],le=re[1];p.getValue(ne).set(le)}),p.syncRender(),q!==null&&window.scrollTo({top:q}),{target:K,transitionEnd:A}}else return{target:x,transitionEnd:A}};function sN(p,x,k,A){return rN(x)?lN(p,x,k,A):{target:x,transitionEnd:A}}var uN=function(p,x,k,A){var I=eN(p,x,A);return x=I.target,A=I.transitionEnd,sN(p,x,k,A)};function cN(p){return window.getComputedStyle(p)}var Xb={treeType:"dom",readValueFromInstance:function(p,x){if(Ie(x)){var k=zf(x);return k&&k.default||0}else{var A=cN(p);return(tr(x)?A.getPropertyValue(x):A[x])||0}},sortNodePosition:function(p,x){return p.compareDocumentPosition(x)&2?1:-1},getBaseTarget:function(p,x){var k;return(k=p.style)===null||k===void 0?void 0:k[x]},measureViewportBox:function(p,x){var k=x.transformPagePoint;return Vb(p,k)},resetTransform:function(p,x,k){var A=k.transformTemplate;x.style.transform=A?A({},""):"none",p.scheduleRender()},restoreTransform:function(p,x){p.style.transform=x.style.transform},removeValueFromRenderState:function(p,x){var k=x.vars,A=x.style;delete k[p],delete A[p]},makeTargetAnimatable:function(p,x,k,A){var I=k.transformValues;A===void 0&&(A=!0);var B=x.transition,V=x.transitionEnd,F=t.__rest(x,["transition","transitionEnd"]),q=wb(F,B||{},p);if(I&&(V&&(V=I(V)),F&&(F=I(F)),q&&(q=I(q))),A){Kf(p,F,q);var K=uN(p,F,q,V);V=K.transitionEnd,F=K.target}return t.__assign({transition:B,transitionEnd:V},F)},scrapeMotionValuesFromProps:Sa,build:function(p,x,k,A,I){p.isVisible!==void 0&&(x.style.visibility=p.isVisible?"visible":"hidden"),bt(x,k,A,I.transformTemplate)},render:Fr},dN=Ou(Xb),fN=Ou(t.__assign(t.__assign({},Xb),{getBaseTarget:function(p,x){return p[x]},readValueFromInstance:function(p,x){var k;return Ie(x)?((k=zf(x))===null||k===void 0?void 0:k.default)||0:(x=Pn.has(x)?x:ar(x),p.getAttribute(x))},scrapeMotionValuesFromProps:Ta,build:function(p,x,k,A,I){vt(x,k,A,I.transformTemplate)},render:Qr})),ap=function(p,x){return Ve(p)?fN(x,{enableHardwareAcceleration:!1}):dN(x,{enableHardwareAcceleration:!0})};function Jb(p,x){return x.max===x.min?0:p/(x.max-x.min)*100}var zl={correct:function(p,x){if(!x.target)return p;if(typeof p=="string")if(o.px.test(p))p=parseFloat(p);else return p;var k=Jb(p,x.target.x),A=Jb(p,x.target.y);return"".concat(k,"% ").concat(A,"%")}},Zb="_$css",pN={correct:function(p,x){var k=x.treeScale,A=x.projectionDelta,I=p,B=p.includes("var("),V=[];B&&(p=p.replace(Hb,function(ve){return V.push(ve),Zb}));var F=o.complex.parse(p);if(F.length>5)return I;var q=o.complex.createTransformer(p),K=typeof F[0]!="number"?1:0,J=A.x.scale*k.x,re=A.y.scale*k.y;F[0+K]/=J,F[1+K]/=re;var ne=a.mix(J,re,.5);typeof F[2+K]=="number"&&(F[2+K]/=ne),typeof F[3+K]=="number"&&(F[3+K]/=ne);var le=q(F);if(B){var ce=0;le=le.replace(Zb,function(){var ve=V[ce];return ce++,ve})}return le}},hN=function(p){t.__extends(x,p);function x(){return p!==null&&p.apply(this,arguments)||this}return x.prototype.componentDidMount=function(){var k=this,A=this.props,I=A.visualElement,B=A.layoutGroup,V=A.switchLayoutGroup,F=A.layoutId,q=I.projection;te(mN),q&&(B!=null&&B.group&&B.group.add(q),V!=null&&V.register&&F&&V.register(q),q.root.didUpdate(),q.addEventListener("animationComplete",function(){k.safeToRemove()}),q.setOptions(t.__assign(t.__assign({},q.options),{onExitComplete:function(){return k.safeToRemove()}}))),Te.hasEverUpdated=!0},x.prototype.getSnapshotBeforeUpdate=function(k){var A=this,I=this.props,B=I.layoutDependency,V=I.visualElement,F=I.drag,q=I.isPresent,K=V.projection;return K&&(K.isPresent=q,F||k.layoutDependency!==B||B===void 0?K.willUpdate():this.safeToRemove(),k.isPresent!==q&&(q?K.promote():K.relegate()||O.default.postRender(function(){var J;!((J=K.getStack())===null||J===void 0)&&J.members.length||A.safeToRemove()}))),null},x.prototype.componentDidUpdate=function(){var k=this.props.visualElement.projection;k&&(k.root.didUpdate(),!k.currentAnimation&&k.isLead()&&this.safeToRemove())},x.prototype.componentWillUnmount=function(){var k=this.props,A=k.visualElement,I=k.layoutGroup,B=k.switchLayoutGroup,V=A.projection;V&&(V.scheduleCheckAfterUnmount(),I!=null&&I.group&&I.group.remove(V),B!=null&&B.deregister&&B.deregister(V))},x.prototype.safeToRemove=function(){var k=this.props.safeToRemove;k==null||k()},x.prototype.render=function(){return null},x}(_.default.Component);function gN(p){var x=t.__read(Lf(),2),k=x[0],A=x[1],I=r.useContext(Se);return _.default.createElement(hN,t.__assign({},p,{layoutGroup:I,switchLayoutGroup:r.useContext(je),isPresent:k,safeToRemove:A}))}var mN={borderRadius:t.__assign(t.__assign({},zl),{applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]}),borderTopLeftRadius:zl,borderTopRightRadius:zl,borderBottomLeftRadius:zl,borderBottomRightRadius:zl,boxShadow:pN},ev={measureLayout:gN};function tv(p,x,k){k===void 0&&(k={});var A=et(p)?p:fn(p);return Wf("",A,x,k),{stop:function(){return A.stop()},isAnimating:function(){return A.isAnimating()}}}var rv=["TopLeft","TopRight","BottomLeft","BottomRight"],bN=rv.length,nv=function(p){return typeof p=="string"?parseFloat(p):p},ov=function(p){return typeof p=="number"||o.px.test(p)};function vN(p,x,k,A,I,B){var V,F,q,K;I?(p.opacity=a.mix(0,(V=k.opacity)!==null&&V!==void 0?V:1,yN(A)),p.opacityExit=a.mix((F=x.opacity)!==null&&F!==void 0?F:1,0,wN(A))):B&&(p.opacity=a.mix((q=x.opacity)!==null&&q!==void 0?q:1,(K=k.opacity)!==null&&K!==void 0?K:1,A));for(var J=0;Jx?1:k(a.progress(p,x,A))}}function lv(p,x){p.min=x.min,p.max=x.max}function kn(p,x){lv(p.x,x.x),lv(p.y,x.y)}function sv(p,x,k,A,I){return p-=x,p=Cu(p,1/k,A),I!==void 0&&(p=Cu(p,1/I,A)),p}function xN(p,x,k,A,I,B,V){if(x===void 0&&(x=0),k===void 0&&(k=1),A===void 0&&(A=.5),B===void 0&&(B=p),V===void 0&&(V=p),o.percent.test(x)){x=parseFloat(x);var F=a.mix(V.min,V.max,x/100);x=F-V.min}if(typeof x=="number"){var q=a.mix(B.min,B.max,A);p===B&&(q-=x),p.min=sv(p.min,x,k,q,I),p.max=sv(p.max,x,k,q,I)}}function uv(p,x,k,A,I){var B=t.__read(k,3),V=B[0],F=B[1],q=B[2];xN(p,x[V],x[F],x[q],x.scale,A,I)}var _N=["x","scaleX","originX"],CN=["y","scaleY","originY"];function cv(p,x,k,A){uv(p.x,x,_N,k==null?void 0:k.x,A==null?void 0:A.x),uv(p.y,x,CN,k==null?void 0:k.y,A==null?void 0:A.y)}function dv(p){return p.translate===0&&p.scale===1}function fv(p){return dv(p.x)&&dv(p.y)}function pv(p,x){return p.x.min===x.x.min&&p.x.max===x.x.max&&p.y.min===x.y.min&&p.y.max===x.y.max}var SN=function(){function p(){this.members=[]}return p.prototype.add=function(x){Hf(this.members,x),x.scheduleRender()},p.prototype.remove=function(x){if($f(this.members,x),x===this.prevLead&&(this.prevLead=void 0),x===this.lead){var k=this.members[this.members.length-1];k&&this.promote(k)}},p.prototype.relegate=function(x){var k=this.members.findIndex(function(V){return x===V});if(k===0)return!1;for(var A,I=k;I>=0;I--){var B=this.members[I];if(B.isPresent!==!1){A=B;break}}return A?(this.promote(A),!0):!1},p.prototype.promote=function(x,k){var A,I=this.lead;if(x!==I&&(this.prevLead=I,this.lead=x,x.show(),I)){I.instance&&I.scheduleRender(),x.scheduleRender(),x.resumeFrom=I,k&&(x.resumeFrom.preserveOpacity=!0),I.snapshot&&(x.snapshot=I.snapshot,x.snapshot.latestValues=I.animationValues||I.latestValues,x.snapshot.isShared=!0),!((A=x.root)===null||A===void 0)&&A.isUpdating&&(x.isLayoutDirty=!0);var B=x.options.crossfade;B===!1&&I.hide()}},p.prototype.exitAnimationComplete=function(){this.members.forEach(function(x){var k,A,I,B,V;(A=(k=x.options).onExitComplete)===null||A===void 0||A.call(k),(V=(I=x.resumingFrom)===null||I===void 0?void 0:(B=I.options).onExitComplete)===null||V===void 0||V.call(B)})},p.prototype.scheduleRender=function(){this.members.forEach(function(x){x.instance&&x.scheduleRender(!1)})},p.prototype.removeLeadSnapshot=function(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)},p}(),TN="translate3d(0px, 0px, 0) scale(1, 1) scale(1, 1)";function hv(p,x,k){var A=p.x.translate/x.x,I=p.y.translate/x.y,B="translate3d(".concat(A,"px, ").concat(I,"px, 0) ");if(B+="scale(".concat(1/x.x,", ").concat(1/x.y,") "),k){var V=k.rotate,F=k.rotateX,q=k.rotateY;V&&(B+="rotate(".concat(V,"deg) ")),F&&(B+="rotateX(".concat(F,"deg) ")),q&&(B+="rotateY(".concat(q,"deg) "))}var K=p.x.scale*x.x,J=p.y.scale*x.y;return B+="scale(".concat(K,", ").concat(J,")"),B===TN?"none":B}var ON=function(p,x){return p.depth-x.depth},gv=function(){function p(){this.children=[],this.isDirty=!1}return p.prototype.add=function(x){Hf(this.children,x),this.isDirty=!0},p.prototype.remove=function(x){$f(this.children,x),this.isDirty=!0},p.prototype.forEach=function(x){this.isDirty&&this.children.sort(ON),this.isDirty=!1,this.children.forEach(x)},p}(),mv=1e3;function bv(p){var x=p.attachResizeListener,k=p.defaultParent,A=p.measureScroll,I=p.checkIsScrollRoot,B=p.resetTransform;return function(){function V(F,q,K){var J=this;q===void 0&&(q={}),K===void 0&&(K=k==null?void 0:k()),this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.potentialNodes=new Map,this.checkUpdateFailed=function(){J.isUpdating&&(J.isUpdating=!1,J.clearAllSnapshots())},this.updateProjection=function(){J.nodes.forEach(RN),J.nodes.forEach(AN)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.id=F,this.latestValues=q,this.root=K?K.root||K:this,this.path=K?t.__spreadArray(t.__spreadArray([],t.__read(K.path),!1),[K],!1):[],this.parent=K,this.depth=K?K.depth+1:0,F&&this.root.registerPotentialNode(F,this);for(var re=0;re=0;A--)if(p.path[A].instance){k=p.path[A];break}var I=k&&k!==p.root?k.instance:document,B=I.querySelector('[data-projection-id="'.concat(x,'"]'));B&&p.mount(B,!0)}function xv(p){p.min=Math.round(p.min),p.max=Math.round(p.max)}function _v(p){xv(p.x),xv(p.y)}var BN=bv({attachResizeListener:function(p,x){return go(p,"resize",x)},measureScroll:function(){return{x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}},checkIsScrollRoot:function(){return!0}}),Aa={current:void 0},ip=bv({measureScroll:function(p){return{x:p.scrollLeft,y:p.scrollTop}},defaultParent:function(){if(!Aa.current){var p=new BN(0,{});p.mount(window),p.setOptions({layoutScroll:!0}),Aa.current=p}return Aa.current},resetTransform:function(p,x){p.style.transform=x??"none"},checkIsScrollRoot:function(p){return window.getComputedStyle(p).position==="fixed"}}),Cv=t.__assign(t.__assign(t.__assign(t.__assign({},Xf),lb),Ub),ev),lp=rt(function(p,x){return Pa(p,x,Cv,ap,ip)});function VN(p){return ut(Pa(p,{forwardMotionProps:!1},Cv,ap,ip))}var UN=rt(Pa);function Sv(){var p=r.useRef(!1);return R(function(){return p.current=!0,function(){p.current=!1}},[]),p}function ku(){var p=Sv(),x=t.__read(r.useState(0),2),k=x[0],A=x[1],I=r.useCallback(function(){p.current&&A(k+1)},[k]),B=r.useCallback(function(){return O.default.postRender(I)},[I]);return[B,k]}var sp=function(p){var x=p.children,k=p.initial,A=p.isPresent,I=p.onExitComplete,B=p.custom,V=p.presenceAffectsLayout,F=de(WN),q=sb(),K=r.useMemo(function(){return{id:q,initial:k,isPresent:A,custom:B,onExitComplete:function(J){var re,ne;F.set(J,!0);try{for(var le=t.__values(F.values()),ce=le.next();!ce.done;ce=le.next()){var ve=ce.value;if(!ve)return}}catch(Ee){re={error:Ee}}finally{try{ce&&!ce.done&&(ne=le.return)&&ne.call(le)}finally{if(re)throw re.error}}I==null||I()},register:function(J){return F.set(J,!1),function(){return F.delete(J)}}}},V?void 0:[A]);return r.useMemo(function(){F.forEach(function(J,re){return F.set(re,!1)})},[A]),b.useEffect(function(){!A&&!F.size&&(I==null||I())},[A]),b.createElement(P.Provider,{value:K},x)};function WN(){return new Map}var yi=function(p){return p.key||""};function HN(p,x){p.forEach(function(k){var A=yi(k);x.set(A,k)})}function $N(p){var x=[];return r.Children.forEach(p,function(k){r.isValidElement(k)&&x.push(k)}),x}var qN=function(p){var x=p.children,k=p.custom,A=p.initial,I=A===void 0?!0:A,B=p.onExitComplete,V=p.exitBeforeEnter,F=p.presenceAffectsLayout,q=F===void 0?!0:F,K=t.__read(ku(),1),J=K[0],re=r.useContext(Se).forceRender;re&&(J=re);var ne=Sv(),le=$N(x),ce=le,ve=new Set,Ee=r.useRef(ce),De=r.useRef(new Map).current,We=r.useRef(!0);if(R(function(){We.current=!1,HN(le,De),Ee.current=ce}),Yt(function(){We.current=!0,De.clear(),ve.clear()}),We.current)return b.createElement(b.Fragment,null,ce.map(function(ct){return b.createElement(sp,{key:yi(ct),isPresent:!0,initial:I?void 0:!1,presenceAffectsLayout:q},ct)}));ce=t.__spreadArray([],t.__read(ce),!1);for(var tt=Ee.current.map(yi),ot=le.map(yi),st=tt.length,St=0;St1&&console.warn("You're attempting to animate multiple children within AnimatePresence, but its exitBeforeEnter prop is set to true. This will lead to odd visual behaviour."),b.createElement(b.Fragment,null,ve.size?ce:ce.map(function(ct){return r.cloneElement(ct)}))},Tv=r.createContext(null),GN=function(p){return!p.isLayoutDirty&&p.willUpdate(!1)};function Ov(){var p=new Set,x=new WeakMap,k=function(){return p.forEach(GN)};return{add:function(A){p.add(A),x.set(A,A.addEventListener("willUpdate",k))},remove:function(A){var I;p.delete(A),(I=x.get(A))===null||I===void 0||I(),x.delete(A),k()},dirty:k}}var Pv=function(p){return p===!0},KN=function(p){return Pv(p===!0)||p==="id"},kv=function(p){var x,k,A=p.children,I=p.id,B=p.inheritId,V=p.inherit,F=V===void 0?!0:V;B!==void 0&&(F=B);var q=r.useContext(Se),K=r.useContext(Tv),J=t.__read(ku(),2),re=J[0],ne=J[1],le=r.useRef(null),ce=(x=q.id)!==null&&x!==void 0?x:K;le.current===null&&(KN(F)&&ce&&(I=I?ce+"-"+I:ce),le.current={id:I,group:Pv(F)&&(k=q==null?void 0:q.group)!==null&&k!==void 0?k:Ov()});var ve=r.useMemo(function(){return t.__assign(t.__assign({},le.current),{forceRender:re})},[ne]);return b.createElement(Se.Provider,{value:ve},A)},YN=0,QN=function(p){var x=p.children;return b.useEffect(function(){n.warning(!1,"AnimateSharedLayout is deprecated: https://www.framer.com/docs/guide-upgrade/##shared-layout-animations")},[]),b.createElement(kv,{id:de(function(){return"asl-".concat(YN++)})},x)};function XN(p){var x=p.children,k=p.isValidProp,A=t.__rest(p,["children","isValidProp"]);k&&pt(k),A=t.__assign(t.__assign({},r.useContext(v)),A),A.isStatic=de(function(){return A.isStatic});var I=r.useMemo(function(){return A},[JSON.stringify(A.transition),A.transformPagePoint,A.reducedMotion]);return b.createElement(v.Provider,{value:I},x)}function JN(p){var x=p.children,k=p.features,A=p.strict,I=A===void 0?!1:A,B=t.__read(r.useState(!up(k)),2),V=B[1],F=r.useRef(void 0);if(!up(k)){var q=k.renderer,K=t.__rest(k,["renderer"]);F.current=q,d(K)}return r.useEffect(function(){up(k)&&k().then(function(J){var re=J.renderer,ne=t.__rest(J,["renderer"]);d(ne),F.current=re,V(!0)})},[]),b.createElement(l.Provider,{value:{renderer:F.current,strict:I}},x)}function up(p){return typeof p=="function"}var Ev=r.createContext(null);function ZN(p,x,k,A){if(!A)return p;var I=p.findIndex(function(J){return J.value===x});if(I===-1)return p;var B=A>0?1:-1,V=p[I+B];if(!V)return p;var F=p[I],q=V.layout,K=a.mix(q.min,q.max,.5);return B===1&&F.layout.max+k>K||B===-1&&F.layout.min+k.001?1/p:jj},Vv=!1;function Rj(p){var x=Vo(1),k=Vo(1),A=E();n.invariant(!!(p||A),"If no scale values are provided, useInvertedScale must be used within a child of another motion component."),n.warning(Vv,"useInvertedScale is deprecated and will be removed in 3.0. Use the layout prop instead."),Vv=!0,p?(x=p.scaleX||x,k=p.scaleY||k):A&&(x=A.getValue("scaleX",1),k=A.getValue("scaleY",1));var I=Eu(x,Bv),B=Eu(k,Bv);return{scaleX:I,scaleY:B}}e.AnimatePresence=qN,e.AnimateSharedLayout=QN,e.DeprecatedLayoutGroupContext=Tv,e.DragControls=Fv,e.FlatTree=gv,e.LayoutGroup=kv,e.LayoutGroupContext=Se,e.LazyMotion=JN,e.MotionConfig=XN,e.MotionConfigContext=v,e.MotionContext=y,e.MotionValue=bb,e.PresenceContext=P,e.Reorder=cj,e.SwitchLayoutGroupContext=je,e.addPointerEvent=Xn,e.addScaleCorrector=te,e.animate=tv,e.animateVisualElement=_u,e.animationControls=Dv,e.animations=Xf,e.calcLength=Jn,e.checkTargetForNewValues=Kf,e.createBox=dr,e.createDomMotionComponent=VN,e.createMotionComponent=ut,e.domAnimation=Mv,e.domMax=dj,e.filterProps=po,e.isBrowser=N,e.isDragActive=Me,e.isMotionValue=et,e.isValidMotionProp=wr,e.m=UN,e.makeUseVisualState=Lo,e.motion=lp,e.motionValue=fn,e.resolveMotionValue=ho,e.transform=Nv,e.useAnimation=wj,e.useAnimationControls=Lv,e.useAnimationFrame=Iv,e.useCycle=xj,e.useDeprecatedAnimatedState=Nj,e.useDeprecatedInvertedScale=Rj,e.useDomEvent=Pt,e.useDragControls=Sj,e.useElementScroll=mj,e.useForceUpdate=ku,e.useInView=_j,e.useInstantLayoutTransition=zv,e.useInstantTransition=Oj,e.useIsPresent=Xk,e.useIsomorphicLayoutEffect=R,e.useMotionTemplate=fj,e.useMotionValue=Vo,e.usePresence=Lf,e.useReducedMotion=W,e.useReducedMotionConfig=U,e.useResetProjection=Pj,e.useScroll=cp,e.useSpring=pj,e.useTime=yj,e.useTransform=Eu,e.useUnmountEffect=Yt,e.useVelocity=hj,e.useViewportScroll=bj,e.useVisualElementContext=E,e.visualElement=Ou,e.wrapHandler=bi})(gr);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{AccordionBody:function(){return w},default:function(){return m}});var r=O(j),n=gr,o=O(Xe),a=O(yr),i=O(Be),u=He,f=af,g=ze,b=au;function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.className,s=d.children,h=S(d,["className","children"]),v=(0,f.useAccordion)(),y=v.open,E=v.animate,P=(0,g.useTheme)().accordion,N=P.styles.base;c=c??"";var R=(0,u.twMerge)((0,o.default)((0,i.default)(N.body)),c),M={unmount:{height:"0px",transition:{duration:.2,times:[.4,0,.2,1]}},mount:{height:"auto",transition:{duration:.2,times:[.4,0,.2,1]}}},D={unmount:{transition:{duration:.3,ease:"linear"}},mount:{transition:{duration:.3,ease:"linear"}}},L=(0,a.default)(D,E);return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(n.m.div,{className:"overflow-hidden",initial:"unmount",exit:"unmount",animate:y?"mount":"unmount",variants:M},r.default.createElement(n.m.div,_({},h,{ref:l,className:R,initial:"unmount",exit:"unmount",animate:y?"mount":"unmount",variants:L}),s)))});w.propTypes={className:b.propTypesClassName,children:b.propTypesChildren},w.displayName="MaterialTailwind.AccordionBody";var m=w})(tT);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Accordion:function(){return m},AccordionHeader:function(){return g.AccordionHeader},AccordionBody:function(){return b.AccordionBody},useAccordion:function(){return u.useAccordion},default:function(){return d}});var r=S(j),n=S(Xe),o=He,a=S(Be),i=ze,u=af,f=au,g=eT,b=tT;function _(l,c,s){return c in l?Object.defineProperty(l,c,{value:s,enumerable:!0,configurable:!0,writable:!0}):l[c]=s,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.open,h=l.icon,v=l.animate,y=l.className,E=l.disabled,P=l.children,N=C(l,["open","icon","animate","className","disabled","children"]),R=(0,i.useTheme)().accordion,M=R.defaultProps,D=R.styles.base;h=h??M.icon,v=v??M.animate,y=y??M.className,E=E??M.disabled;var L=(0,o.twMerge)((0,n.default)((0,a.default)(D.container),_({},(0,a.default)(D.disabled),E)),y),W=r.default.useMemo(function(){return{open:s,icon:h,animate:v,disabled:E}},[s,h,v,E]);return r.default.createElement(u.AccordionContextProvider,{value:W},r.default.createElement("div",O({},N,{ref:c,className:L}),P))});m.propTypes={open:f.propTypesOpen,icon:f.propTypesIcon,animate:f.propTypesAnimate,disabled:f.propTypesDisabled,className:f.propTypesClassName,children:f.propTypesChildren},m.displayName="MaterialTailwind.Accordion";var d=Object.assign(m,{Header:g.AccordionHeader,Body:b.AccordionBody})})(E5);var kO={},zt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return r}});function t(n,o,a){var i=n.findIndex(function(u){return u===o});return i>=0?o:a}var r=t})(zt);var vf={},xl=class{constructor(){this.x=0,this.y=0,this.z=0}findFurthestPoint(t,r,n,o,a,i){return this.x=t-n>r/2?0:r,this.y=o-i>a/2?0:a,this.z=Math.hypot(this.x-(t-n),this.y-(o-i)),this.z}appyStyles(t,r,n,o,a){t.classList.add("ripple"),t.style.backgroundColor=r==="dark"?"rgba(0,0,0, 0.2)":"rgba(255,255,255, 0.3)",t.style.borderRadius="50%",t.style.pointerEvents="none",t.style.position="absolute",t.style.left=a.clientX-n.left-o+"px",t.style.top=a.clientY-n.top-o+"px",t.style.width=t.style.height=o*2+"px"}applyAnimation(t){t.animate([{transform:"scale(0)",opacity:1},{transform:"scale(1.5)",opacity:0}],{duration:500,easing:"linear"})}create(t,r){const n=t.currentTarget;n.style.position="relative",n.style.overflow="hidden";const o=n.getBoundingClientRect(),a=this.findFurthestPoint(t.clientX,n.offsetWidth,o.left,t.clientY,n.offsetHeight,o.top),i=document.createElement("span");this.appyStyles(i,r,o,a,t),this.applyAnimation(i),n.appendChild(i),setTimeout(()=>i.remove(),500)}};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{IconButton:function(){return w},default:function(){return m}});var r=O(j),n=O($e),o=O(xl),a=O(Xe),i=He,u=O(zt),f=O(Be),g=ze,b=li;function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,s=d.size,h=d.color,v=d.ripple,y=d.className,E=d.children;d.fullWidth;var P=S(d,["variant","size","color","ripple","className","children","fullWidth"]),N=(0,g.useTheme)().iconButton,R=N.valid,M=N.defaultProps,D=N.styles,L=D.base,W=D.variants,U=D.sizes;c=c??M.variant,s=s??M.size,h=h??M.color,v=v??M.ripple,y=y??M.className;var Y=v!==void 0&&new o.default,$=(0,f.default)(L),z=(0,f.default)(W[(0,u.default)(R.variants,c,"filled")][(0,u.default)(R.colors,h,"gray")]),H=(0,f.default)(U[(0,u.default)(R.sizes,s,"md")]),G=(0,i.twMerge)((0,a.default)($,H,z),y);return r.default.createElement("button",_({},P,{ref:l,className:G,type:P.type||"button",onMouseDown:function(X){var ie=P==null?void 0:P.onMouseDown;return v&&Y.create(X,(c==="filled"||c==="gradient")&&h!=="white"?"light":"dark"),typeof ie=="function"&&ie(X)}}),r.default.createElement("span",{className:"absolute top-1/2 left-1/2 transform -translate-y-1/2 -translate-x-1/2"},E))});w.propTypes={variant:n.default.oneOf(b.propTypesVariant),size:n.default.oneOf(b.propTypesSize),color:n.default.oneOf(b.propTypesColor),ripple:b.propTypesRipple,className:b.propTypesClassName,children:b.propTypesChildren},w.displayName="MaterialTailwind.IconButton";var m=w})(vf);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(c,s){for(var h in s)Object.defineProperty(c,h,{enumerable:!0,get:s[h]})}t(e,{Alert:function(){return d},default:function(){return l}});var r=C(j),n=C($e),o=gr,a=C(Xe),i=C(yr),u=He,f=C(zt),g=C(Be),b=ze,_=Zg,O=C(vf);function S(){return S=Object.assign||function(c){for(var s=1;s=0)&&Object.prototype.propertyIsEnumerable.call(c,v)&&(h[v]=c[v])}return h}function m(c,s){if(c==null)return{};var h={},v=Object.keys(c),y,E;for(E=0;E=0)&&(h[y]=c[y]);return h}var d=r.default.forwardRef(function(c,s){var h=c.variant,v=c.color,y=c.icon,E=c.open,P=c.action,N=c.onClose,R=c.animate,M=c.className,D=c.children,L=w(c,["variant","color","icon","open","action","onClose","animate","className","children"]),W=(0,b.useTheme)().alert,U=W.defaultProps,Y=W.valid,$=W.styles,z=$.base,H=$.variants;h=h??U.variant,v=v??U.color,M=M??U.className,R=R??U.animate,E=E??U.open,P=P??U.action,N=N??U.onClose;var G=(0,g.default)(z.alert),X=(0,g.default)(z.action),ie=(0,g.default)(H[(0,f.default)(Y.variants,h,"filled")][(0,f.default)(Y.colors,v,"gray")]),fe=(0,u.twMerge)((0,a.default)(G,ie),M),pe=(0,a.default)(X),oe={unmount:{opacity:0},mount:{opacity:1}},se=(0,i.default)(oe,R),ee=r.default.createElement("div",{className:"shrink-0"},y),ae=o.AnimatePresence;return r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(ae,null,E&&r.default.createElement(o.m.div,S({},L,{ref:s,role:"alert",className:"".concat(fe," flex"),initial:"unmount",exit:"unmount",animate:E?"mount":"unmount",variants:se}),y&&ee,r.default.createElement("div",{className:"".concat(y?"ml-3":""," mr-12")},D),N&&!P&&r.default.createElement(O.default,{onClick:N,size:"sm",variant:"text",color:h==="outlined"||h==="ghost"?v:"white",className:pe},r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",className:"h-6 w-6",strokeWidth:2},r.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))),P||null)))});d.propTypes={variant:n.default.oneOf(_.propTypesVariant),color:n.default.oneOf(_.propTypesColor),icon:_.propTypesIcon,open:_.propTypesOpen,action:_.propTypesAction,onClose:_.propTypesOnClose,animate:_.propTypesAnimate,className:_.propTypesClassName,children:_.propTypesChildren},d.displayName="MaterialTailwind.Alert";var l=d})(kO);var EO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{Avatar:function(){return w},default:function(){return m}});var r=O(j),n=O($e),o=O(Xe),a=He,i=O(zt),u=O(Be),f=ze,g=em;function b(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,s=d.size,h=d.className,v=d.color,y=d.withBorder,E=S(d,["variant","size","className","color","withBorder"]),P=(0,f.useTheme)().avatar,N=P.valid,R=P.defaultProps,M=P.styles,D=M.base,L=M.variants,W=M.sizes,U=M.borderColor;c=c??R.variant,s=s??R.size,h=h??R.className,y=y??R.withBorder,v=v??R.color;var Y=(0,u.default)(L[(0,i.default)(N.variants,c,"rounded")]),$=(0,u.default)(W[(0,i.default)(N.sizes,s,"md")]),z=(0,u.default)(U[(0,i.default)(N.colors,v,"gray")]),H,G=(0,a.twMerge)((0,o.default)((0,u.default)(D.initial),Y,$,(H={},b(H,(0,u.default)(D.withBorder),y),b(H,z,y),H)),h);return r.default.createElement("img",_({},E,{ref:l,className:G}))});w.propTypes={variant:n.default.oneOf(g.propTypesVariant),size:n.default.oneOf(g.propTypesSize),className:g.propTypesClassName,withBorder:g.propTypesWithBorder,color:n.default.oneOf(g.propTypesColor)},w.displayName="MaterialTailwind.Avatar";var m=w})(EO);var NO={},jO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(f,g){for(var b in g)Object.defineProperty(f,b,{enumerable:!0,get:g[b]})}t(e,{propTypesSeparator:function(){return o},propTypesFullWidth:function(){return a},propTypesClassName:function(){return i},propTypesChildren:function(){return u}});var r=n($e);function n(f){return f&&f.__esModule?f:{default:f}}var o=r.default.node,a=r.default.bool,i=r.default.string,u=r.default.node.isRequired})(jO);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{Breadcrumbs:function(){return w},default:function(){return m}});var r=O(j),n=b(Xe),o=He,a=b(Be),i=ze,u=jO;function f(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}function g(){return g=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=(0,r.forwardRef)(function(d,l){var c=d.separator,s=d.fullWidth,h=d.className,v=d.children,y=S(d,["separator","fullWidth","className","children"]),E=(0,i.useTheme)().breadcrumbs,P=E.defaultProps,N=E.styles.base;c=c??P.separator,s=s??P.fullWidth,h=h??P.className;var R=(0,n.default)((0,a.default)(N.root.initial),f({},(0,a.default)(N.root.fullWidth),s)),M=(0,o.twMerge)((0,n.default)((0,a.default)(N.list)),h),D=(0,n.default)((0,a.default)(N.item.initial)),L=(0,n.default)((0,a.default)(N.separator));return r.default.createElement("nav",{"aria-label":"breadcrumb",className:R},r.default.createElement("ol",g({},y,{ref:l,className:M}),r.Children.map(v,function(W,U){if((0,r.isValidElement)(W)){var Y;return r.default.createElement("li",{className:(0,n.default)(D,f({},(0,a.default)(N.item.disabled),W==null||(Y=W.props)===null||Y===void 0?void 0:Y.disabled))},W,U!==r.Children.count(v)-1&&r.default.createElement("span",{className:L},c))}return null})))});w.propTypes={separator:u.propTypesSeparator,fullWidth:u.propTypesFullWidth,className:u.propTypesClassName,children:u.propTypesChildren},w.displayName="MaterialTailwind.Breadcrumbs";var m=w})(NO);var RO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Button:function(){return m},default:function(){return d}});var r=S(j),n=S($e),o=S(xl),a=S(Xe),i=He,u=S(zt),f=S(Be),g=ze,b=li;function _(l,c,s){return c in l?Object.defineProperty(l,c,{value:s,enumerable:!0,configurable:!0,writable:!0}):l[c]=s,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.variant,h=l.size,v=l.color,y=l.fullWidth,E=l.ripple,P=l.className,N=l.children,R=C(l,["variant","size","color","fullWidth","ripple","className","children"]),M=(0,g.useTheme)().button,D=M.valid,L=M.defaultProps,W=M.styles,U=W.base,Y=W.variants,$=W.sizes;s=s??L.variant,h=h??L.size,v=v??L.color,y=y??L.fullWidth,E=E??L.ripple,P=P??L.className;var z=E!==void 0&&new o.default,H=(0,f.default)(U.initial),G=(0,f.default)(Y[(0,u.default)(D.variants,s,"filled")][(0,u.default)(D.colors,v,"gray")]),X=(0,f.default)($[(0,u.default)(D.sizes,h,"md")]),ie=(0,i.twMerge)((0,a.default)(H,X,G,_({},(0,f.default)(U.fullWidth),y)),P);return r.default.createElement("button",O({},R,{ref:c,className:ie,type:R.type||"button",onMouseDown:function(fe){var pe=R==null?void 0:R.onMouseDown;return E&&z.create(fe,(s==="filled"||s==="gradient")&&v!=="white"?"light":"dark"),typeof pe=="function"&&pe(fe)}}),N)});m.propTypes={variant:n.default.oneOf(b.propTypesVariant),size:n.default.oneOf(b.propTypesSize),color:n.default.oneOf(b.propTypesColor),fullWidth:b.propTypesFullWidth,ripple:b.propTypesRipple,className:b.propTypesClassName,children:b.propTypesChildren},m.displayName="MaterialTailwind.Button";var d=m})(RO);var AO={},MO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{CardHeader:function(){return w},default:function(){return m}});var r=O(j),n=O($e),o=O(Xe),a=He,i=O(zt),u=O(Be),f=ze,g=si;function b(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,s=d.color,h=d.shadow,v=d.floated,y=d.className,E=d.children,P=S(d,["variant","color","shadow","floated","className","children"]),N=(0,f.useTheme)().cardHeader,R=N.defaultProps,M=N.styles,D=N.valid,L=M.base,W=M.variants;c=c??R.variant,s=s??R.color,h=h??R.shadow,v=v??R.floated,y=y??R.className;var U=(0,u.default)(L.initial),Y=(0,u.default)(W[(0,i.default)(D.variants,c,"filled")][(0,i.default)(D.colors,s,"white")]),$=(0,a.twMerge)((0,o.default)(U,Y,b({},(0,u.default)(L.shadow),h),b({},(0,u.default)(L.floated),v)),y);return r.default.createElement("div",_({},P,{ref:l,className:$}),E)});w.propTypes={variant:n.default.oneOf(g.propTypesVariant),color:n.default.oneOf(g.propTypesColor),shadow:g.propTypesShadow,floated:g.propTypesFloated,className:g.propTypesClassName,children:g.propTypesChildren},w.displayName="MaterialTailwind.CardHeader";var m=w})(MO);var IO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{CardBody:function(){return O},default:function(){return S}});var r=g(j),n=g(Xe),o=He,a=g(Be),i=ze,u=si;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function _(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,i.useTheme)().cardBody,s=c.defaultProps,h=c.styles.base;m=m??s.className;var v=(0,o.twMerge)((0,n.default)((0,a.default)(h)),m);return r.default.createElement("div",f({},l,{ref:w,className:v}),d)});O.propTypes={className:u.propTypesClassName,children:u.propTypesChildren},O.displayName="MaterialTailwind.CardBody";var S=O})(IO);var DO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(w,m){for(var d in m)Object.defineProperty(w,d,{enumerable:!0,get:m[d]})}t(e,{CardFooter:function(){return S},default:function(){return C}});var r=b(j),n=b(Xe),o=He,a=b(Be),i=ze,u=si;function f(w,m,d){return m in w?Object.defineProperty(w,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):w[m]=d,w}function g(){return g=Object.assign||function(w){for(var m=1;m=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,s;for(s=0;s=0)&&(d[c]=w[c]);return d}var S=r.default.forwardRef(function(w,m){var d=w.divider,l=w.className,c=w.children,s=_(w,["divider","className","children"]),h=(0,i.useTheme)().cardFooter,v=h.defaultProps,y=h.styles.base;l=l??v.className,d=d??v.divider;var E=(0,o.twMerge)((0,n.default)((0,a.default)(y.initial),f({},(0,a.default)(y.divider),d)),l);return r.default.createElement("div",g({},s,{ref:m,className:E}),c)});S.propTypes={divider:u.propTypesDivider,className:u.propTypesClassName,children:u.propTypesChildren},S.displayName="MaterialTailwind.CardFooter";var C=S})(DO);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(s,h){for(var v in h)Object.defineProperty(s,v,{enumerable:!0,get:h[v]})}t(e,{Card:function(){return l},CardHeader:function(){return g.CardHeader},CardBody:function(){return b.CardBody},CardFooter:function(){return _.CardFooter},default:function(){return c}});var r=w(j),n=w($e),o=w(Xe),a=He,i=w(zt),u=w(Be),f=ze,g=MO,b=IO,_=DO,O=si;function S(s,h,v){return h in s?Object.defineProperty(s,h,{value:v,enumerable:!0,configurable:!0,writable:!0}):s[h]=v,s}function C(){return C=Object.assign||function(s){for(var h=1;h=0)&&Object.prototype.propertyIsEnumerable.call(s,y)&&(v[y]=s[y])}return v}function d(s,h){if(s==null)return{};var v={},y=Object.keys(s),E,P;for(P=0;P=0)&&(v[E]=s[E]);return v}var l=r.default.forwardRef(function(s,h){var v=s.variant,y=s.color,E=s.shadow,P=s.className,N=s.children,R=m(s,["variant","color","shadow","className","children"]),M=(0,f.useTheme)().card,D=M.defaultProps,L=M.styles,W=M.valid,U=L.base,Y=L.variants;v=v??D.variant,y=y??D.color,E=E??D.shadow,P=P??D.className;var $=(0,u.default)(U.initial),z=(0,u.default)(Y[(0,i.default)(W.variants,v,"filled")][(0,i.default)(W.colors,y,"white")]),H=(0,a.twMerge)((0,o.default)($,z,S({},(0,u.default)(U.shadow),E)),P);return r.default.createElement("div",C({},R,{ref:h,className:H}),N)});l.propTypes={variant:n.default.oneOf(O.propTypesVariant),color:n.default.oneOf(O.propTypesColor),shadow:O.propTypesShadow,className:O.propTypesClassName,children:O.propTypesChildren},l.displayName="MaterialTailwind.Card";var c=Object.assign(l,{Header:g.CardHeader,Body:b.CardBody,Footer:_.CardFooter})})(AO);var LO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Checkbox:function(){return m},default:function(){return d}});var r=S(j),n=S($e),o=S(xl),a=S(Xe),i=He,u=S(zt),f=S(Be),g=ze,b=ui;function _(l,c,s){return c in l?Object.defineProperty(l,c,{value:s,enumerable:!0,configurable:!0,writable:!0}):l[c]=s,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.color,h=l.label,v=l.icon,y=l.ripple,E=l.className,P=l.disabled,N=l.containerProps,R=l.labelProps,M=l.iconProps,D=l.inputRef,L=C(l,["color","label","icon","ripple","className","disabled","containerProps","labelProps","iconProps","inputRef"]),W=(0,g.useTheme)().checkbox,U=W.defaultProps,Y=W.valid,$=W.styles,z=$.base,H=$.colors,G=r.default.useId();s=s??U.color,h=h??U.label,v=v??U.icon,y=y??U.ripple,E=E??U.className,P=P??U.disabled,N=N??U.containerProps,R=R??U.labelProps,M=M??U.iconProps;var X=y!==void 0&&new o.default,ie=(0,a.default)((0,f.default)(z.root),_({},(0,f.default)(z.disabled),P)),fe=(0,i.twMerge)((0,a.default)((0,f.default)(z.container)),N==null?void 0:N.className),pe=(0,i.twMerge)((0,a.default)((0,f.default)(z.input),(0,f.default)(H[(0,u.default)(Y.colors,s,"gray")])),E),oe=(0,i.twMerge)((0,a.default)((0,f.default)(z.label)),R==null?void 0:R.className),se=(0,i.twMerge)((0,a.default)((0,f.default)(z.icon)),M==null?void 0:M.className);return r.default.createElement("div",{ref:c,className:ie},r.default.createElement("label",O({},N,{className:fe,htmlFor:L.id||G,onMouseDown:function(ee){var ae=N==null?void 0:N.onMouseDown;return y&&X.create(ee,"dark"),typeof ae=="function"&&ae(ee)}}),r.default.createElement("input",O({},L,{ref:D,type:"checkbox",disabled:P,className:pe,id:L.id||G})),r.default.createElement("span",{className:se},v||r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-3.5 w-3.5",viewBox:"0 0 20 20",fill:"currentColor",stroke:"currentColor",strokeWidth:1},r.default.createElement("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})))),h&&r.default.createElement("label",O({},R,{className:oe,htmlFor:L.id||G}),h))});m.propTypes={color:n.default.oneOf(b.propTypesColor),label:b.propTypesLabel,icon:b.propTypesIcon,ripple:b.propTypesRipple,className:b.propTypesClassName,disabled:b.propTypesDisabled,containerProps:b.propTypesObject,labelProps:b.propTypesObject},m.displayName="MaterialTailwind.Checkbox";var d=m})(LO);var FO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(c,s){for(var h in s)Object.defineProperty(c,h,{enumerable:!0,get:s[h]})}t(e,{Chip:function(){return d},default:function(){return l}});var r=C(j),n=C($e),o=gr,a=C(Xe),i=C(yr),u=He,f=C(zt),g=C(Be),b=ze,_=lm,O=C(vf);function S(){return S=Object.assign||function(c){for(var s=1;s=0)&&Object.prototype.propertyIsEnumerable.call(c,v)&&(h[v]=c[v])}return h}function m(c,s){if(c==null)return{};var h={},v=Object.keys(c),y,E;for(E=0;E=0)&&(h[y]=c[y]);return h}var d=r.default.forwardRef(function(c,s){var h=c.variant,v=c.size,y=c.color,E=c.icon,P=c.open,N=c.onClose,R=c.action,M=c.animate,D=c.className,L=c.value,W=w(c,["variant","size","color","icon","open","onClose","action","animate","className","value"]),U=(0,b.useTheme)().chip,Y=U.defaultProps,$=U.valid,z=U.styles,H=z.base,G=z.variants,X=z.sizes;h=h??Y.variant,v=v??Y.size,y=y??Y.color,D=D??Y.className,M=M??Y.animate,P=P??Y.open,R=R??Y.action,N=N??Y.onClose;var ie=(0,g.default)(H.chip),fe=(0,g.default)(H.action),pe=(0,g.default)(H.icon),oe=(0,g.default)(G[(0,f.default)($.variants,h,"filled")][(0,f.default)($.colors,y,"gray")]),se=(0,g.default)(X[(0,f.default)($.sizes,v,"md")].chip),ee=(0,g.default)(X[(0,f.default)($.sizes,v,"md")].action),ae=(0,g.default)(X[(0,f.default)($.sizes,v,"md")].icon),ue=(0,u.twMerge)((0,a.default)(ie,oe,se),D),de=(0,a.default)(fe,ee),Te=(0,a.default)(pe,ae),xe=(0,a.default)({"ml-4":E&&v==="sm","ml-[18px]":E&&v==="md","ml-5":E&&v==="lg","mr-5":N}),be={unmount:{opacity:0},mount:{opacity:1}},Se=(0,i.default)(be,M),je=r.default.createElement("div",{className:Te},E),qe=o.AnimatePresence;return r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(qe,null,P&&r.default.createElement(o.m.div,S({},W,{ref:s,className:ue,initial:"unmount",exit:"unmount",animate:P?"mount":"unmount",variants:Se}),E&&je,r.default.createElement("span",{className:xe},L),N&&!R&&r.default.createElement(O.default,{onClick:N,size:"sm",variant:"text",color:h==="outlined"||h==="ghost"?y:"white",className:de},r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",className:(0,a.default)({"h-3.5 w-3.5":v==="sm","h-4 w-4":v==="md","h-5 w-5":v==="lg"}),strokeWidth:2},r.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))),R||null)))});d.propTypes={variant:n.default.oneOf(_.propTypesVariant),size:n.default.oneOf(_.propTypesSize),color:n.default.oneOf(_.propTypesColor),icon:_.propTypesIcon,open:_.propTypesOpen,onClose:_.propTypesOnClose,action:_.propTypesAction,animate:_.propTypesAnimate,className:_.propTypesClassName,value:_.propTypesValue},d.displayName="MaterialTailwind.Chip";var l=d})(FO);var zO={},rF=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ci=new WeakMap,Xu=new WeakMap,Ju={},Xp=0,BO=function(e){return e&&(e.host||BO(e.parentNode))},nF=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=BO(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},oF=function(e,t,r,n){var o=nF(t,Array.isArray(e)?e:[e]);Ju[r]||(Ju[r]=new WeakMap);var a=Ju[r],i=[],u=new Set,f=new Set(o),g=function(_){!_||u.has(_)||(u.add(_),g(_.parentNode))};o.forEach(g);var b=function(_){!_||f.has(_)||Array.prototype.forEach.call(_.children,function(O){if(u.has(O))b(O);else try{var S=O.getAttribute(n),C=S!==null&&S!=="false",w=(Ci.get(O)||0)+1,m=(a.get(O)||0)+1;Ci.set(O,w),a.set(O,m),i.push(O),w===1&&C&&Xu.set(O,!0),m===1&&O.setAttribute(r,"true"),C||O.setAttribute(n,"true")}catch(d){console.error("aria-hidden: cannot operate on ",O,d)}})};return b(t),u.clear(),Xp++,function(){i.forEach(function(_){var O=Ci.get(_)-1,S=a.get(_)-1;Ci.set(_,O),a.set(_,S),O||(Xu.has(_)||_.removeAttribute(n),Xu.delete(_)),S||_.removeAttribute(r)}),Xp--,Xp||(Ci=new WeakMap,Ci=new WeakMap,Xu=new WeakMap,Ju={})}},aF=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=t||rF(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),oF(n,o,r,"aria-hidden")):function(){return null}};/*! -* tabbable 6.2.0 -* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var iF=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Ah=iF.join(","),VO=typeof Element>"u",Gs=VO?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Cd=!VO&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e==null?void 0:e.ownerDocument},Sd=function e(t,r){var n;r===void 0&&(r=!0);var o=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"inert"),a=o===""||o==="true",i=a||r&&t&&e(t.parentNode);return i},lF=function(t){var r,n=t==null||(r=t.getAttribute)===null||r===void 0?void 0:r.call(t,"contenteditable");return n===""||n==="true"},sF=function(t,r,n){if(Sd(t))return[];var o=Array.prototype.slice.apply(t.querySelectorAll(Ah));return r&&Gs.call(t,Ah)&&o.unshift(t),o=o.filter(n),o},uF=function e(t,r,n){for(var o=[],a=Array.from(t);a.length;){var i=a.shift();if(!Sd(i,!1))if(i.tagName==="SLOT"){var u=i.assignedElements(),f=u.length?u:i.children,g=e(f,!0,n);n.flatten?o.push.apply(o,g):o.push({scopeParent:i,candidates:g})}else{var b=Gs.call(i,Ah);b&&n.filter(i)&&(r||!t.includes(i))&&o.push(i);var _=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),O=!Sd(_,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(_&&O){var S=e(_===!0?i.children:_.children,!0,n);n.flatten?o.push.apply(o,S):o.push({scopeParent:i,candidates:S})}else a.unshift.apply(a,i.children)}}return o},UO=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},WO=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||lF(t))&&!UO(t)?0:t.tabIndex},cF=function(t,r){var n=WO(t);return n<0&&r&&!UO(t)?0:n},dF=function(t,r){return t.tabIndex===r.tabIndex?t.documentOrder-r.documentOrder:t.tabIndex-r.tabIndex},HO=function(t){return t.tagName==="INPUT"},fF=function(t){return HO(t)&&t.type==="hidden"},pF=function(t){var r=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(n){return n.tagName==="SUMMARY"});return r},hF=function(t,r){for(var n=0;nsummary:first-of-type"),i=a?t.parentElement:t;if(Gs.call(i,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof o=="function"){for(var u=t;t;){var f=t.parentElement,g=Cd(t);if(f&&!f.shadowRoot&&o(f)===!0)return qw(t);t.assignedSlot?t=t.assignedSlot:!f&&g!==t.ownerDocument?t=g.host:t=f}t=u}if(vF(t))return!t.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return qw(t);return!1},wF=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var r=t.parentElement;r;){if(r.tagName==="FIELDSET"&&r.disabled){for(var n=0;n=0)},CF=function e(t){var r=[],n=[];return t.forEach(function(o,a){var i=!!o.scopeParent,u=i?o.scopeParent:o,f=cF(u,i),g=i?e(o.candidates):u;f===0?i?r.push.apply(r,g):r.push(u):n.push({documentOrder:a,tabIndex:f,item:o,isScope:i,content:g})}),n.sort(dF).reduce(function(o,a){return a.isScope?o.push.apply(o,a.content):o.push(a.content),o},[]).concat(r)},Td=function(t,r){r=r||{};var n;return r.getShadowRoot?n=uF([t],r.includeContainer,{filter:Gw.bind(null,r),flatten:!1,getShadowRoot:r.getShadowRoot,shadowRootFilter:_F}):n=sF(t,r.includeContainer,Gw.bind(null,r)),CF(n)};const $O=["top","right","bottom","left"],Kw=["start","end"],Yw=$O.reduce((e,t)=>e.concat(t,t+"-"+Kw[0],t+"-"+Kw[1]),[]),Un=Math.min,kr=Math.max,Od=Math.round,Zu=Math.floor,io=e=>({x:e,y:e}),SF={left:"right",right:"left",bottom:"top",top:"bottom"},TF={start:"end",end:"start"};function Mh(e,t,r){return kr(e,Un(t,r))}function Wn(e,t){return typeof e=="function"?e(t):e}function ln(e){return e.split("-")[0]}function Bn(e){return e.split("-")[1]}function Dm(e){return e==="x"?"y":"x"}function Lm(e){return e==="y"?"height":"width"}const OF=new Set(["top","bottom"]);function Dn(e){return OF.has(ln(e))?"y":"x"}function Fm(e){return Dm(Dn(e))}function qO(e,t,r){r===void 0&&(r=!1);const n=Bn(e),o=Fm(e),a=Lm(o);let i=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=kd(i)),[i,kd(i)]}function PF(e){const t=kd(e);return[Pd(e),t,Pd(t)]}function Pd(e){return e.replace(/start|end/g,t=>TF[t])}const Qw=["left","right"],Xw=["right","left"],kF=["top","bottom"],EF=["bottom","top"];function NF(e,t,r){switch(e){case"top":case"bottom":return r?t?Xw:Qw:t?Qw:Xw;case"left":case"right":return t?kF:EF;default:return[]}}function jF(e,t,r,n){const o=Bn(e);let a=NF(ln(e),r==="start",n);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(Pd)))),a}function kd(e){return e.replace(/left|right|bottom|top/g,t=>SF[t])}function RF(e){return{top:0,right:0,bottom:0,left:0,...e}}function zm(e){return typeof e!="number"?RF(e):{top:e,right:e,bottom:e,left:e}}function sl(e){const{x:t,y:r,width:n,height:o}=e;return{width:n,height:o,top:r,left:t,right:t+n,bottom:r+o,x:t,y:r}}function Jw(e,t,r){let{reference:n,floating:o}=e;const a=Dn(t),i=Fm(t),u=Lm(i),f=ln(t),g=a==="y",b=n.x+n.width/2-o.width/2,_=n.y+n.height/2-o.height/2,O=n[u]/2-o[u]/2;let S;switch(f){case"top":S={x:b,y:n.y-o.height};break;case"bottom":S={x:b,y:n.y+n.height};break;case"right":S={x:n.x+n.width,y:_};break;case"left":S={x:n.x-o.width,y:_};break;default:S={x:n.x,y:n.y}}switch(Bn(t)){case"start":S[i]-=O*(r&&g?-1:1);break;case"end":S[i]+=O*(r&&g?-1:1);break}return S}const AF=async(e,t,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:a=[],platform:i}=r,u=a.filter(Boolean),f=await(i.isRTL==null?void 0:i.isRTL(t));let g=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:b,y:_}=Jw(g,n,f),O=n,S={},C=0;for(let w=0;w({name:"arrow",options:e,async fn(t){const{x:r,y:n,placement:o,rects:a,platform:i,elements:u,middlewareData:f}=t,{element:g,padding:b=0}=Wn(e,t)||{};if(g==null)return{};const _=zm(b),O={x:r,y:n},S=Fm(o),C=Lm(S),w=await i.getDimensions(g),m=S==="y",d=m?"top":"left",l=m?"bottom":"right",c=m?"clientHeight":"clientWidth",s=a.reference[C]+a.reference[S]-O[S]-a.floating[C],h=O[S]-a.reference[S],v=await(i.getOffsetParent==null?void 0:i.getOffsetParent(g));let y=v?v[c]:0;(!y||!await(i.isElement==null?void 0:i.isElement(v)))&&(y=u.floating[c]||a.floating[C]);const E=s/2-h/2,P=y/2-w[C]/2-1,N=Un(_[d],P),R=Un(_[l],P),M=N,D=y-w[C]-R,L=y/2-w[C]/2+E,W=Mh(M,L,D),U=!f.arrow&&Bn(o)!=null&&L!==W&&a.reference[C]/2-(LBn(o)===e),...r.filter(o=>Bn(o)!==e)]:r.filter(o=>ln(o)===o)).filter(o=>e?Bn(o)===e||(t?Pd(o)!==o:!1):!0)}const DF=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var r,n,o;const{rects:a,middlewareData:i,placement:u,platform:f,elements:g}=t,{crossAxis:b=!1,alignment:_,allowedPlacements:O=Yw,autoAlignment:S=!0,...C}=Wn(e,t),w=_!==void 0||O===Yw?IF(_||null,S,O):O,m=await Za(t,C),d=((r=i.autoPlacement)==null?void 0:r.index)||0,l=w[d];if(l==null)return{};const c=qO(l,a,await(f.isRTL==null?void 0:f.isRTL(g.floating)));if(u!==l)return{reset:{placement:w[0]}};const s=[m[ln(l)],m[c[0]],m[c[1]]],h=[...((n=i.autoPlacement)==null?void 0:n.overflows)||[],{placement:l,overflows:s}],v=w[d+1];if(v)return{data:{index:d+1,overflows:h},reset:{placement:v}};const y=h.map(N=>{const R=Bn(N.placement);return[N.placement,R&&b?N.overflows.slice(0,2).reduce((M,D)=>M+D,0):N.overflows[0],N.overflows]}).sort((N,R)=>N[1]-R[1]),P=((o=y.filter(N=>N[2].slice(0,Bn(N[0])?2:3).every(R=>R<=0))[0])==null?void 0:o[0])||y[0][0];return P!==u?{data:{index:d+1,overflows:h},reset:{placement:P}}:{}}}},LF=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,n;const{placement:o,middlewareData:a,rects:i,initialPlacement:u,platform:f,elements:g}=t,{mainAxis:b=!0,crossAxis:_=!0,fallbackPlacements:O,fallbackStrategy:S="bestFit",fallbackAxisSideDirection:C="none",flipAlignment:w=!0,...m}=Wn(e,t);if((r=a.arrow)!=null&&r.alignmentOffset)return{};const d=ln(o),l=Dn(u),c=ln(u)===u,s=await(f.isRTL==null?void 0:f.isRTL(g.floating)),h=O||(c||!w?[kd(u)]:PF(u)),v=C!=="none";!O&&v&&h.push(...jF(u,w,C,s));const y=[u,...h],E=await Za(t,m),P=[];let N=((n=a.flip)==null?void 0:n.overflows)||[];if(b&&P.push(E[d]),_){const L=qO(o,i,s);P.push(E[L[0]],E[L[1]])}if(N=[...N,{placement:o,overflows:P}],!P.every(L=>L<=0)){var R,M;const L=(((R=a.flip)==null?void 0:R.index)||0)+1,W=y[L];if(W&&(!(_==="alignment"?l!==Dn(W):!1)||N.every($=>Dn($.placement)===l?$.overflows[0]>0:!0)))return{data:{index:L,overflows:N},reset:{placement:W}};let U=(M=N.filter(Y=>Y.overflows[0]<=0).sort((Y,$)=>Y.overflows[1]-$.overflows[1])[0])==null?void 0:M.placement;if(!U)switch(S){case"bestFit":{var D;const Y=(D=N.filter($=>{if(v){const z=Dn($.placement);return z===l||z==="y"}return!0}).map($=>[$.placement,$.overflows.filter(z=>z>0).reduce((z,H)=>z+H,0)]).sort(($,z)=>$[1]-z[1])[0])==null?void 0:D[0];Y&&(U=Y);break}case"initialPlacement":U=u;break}if(o!==U)return{reset:{placement:U}}}return{}}}};function Zw(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ex(e){return $O.some(t=>e[t]>=0)}const FF=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:n="referenceHidden",...o}=Wn(e,t);switch(n){case"referenceHidden":{const a=await Za(t,{...o,elementContext:"reference"}),i=Zw(a,r.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:ex(i)}}}case"escaped":{const a=await Za(t,{...o,altBoundary:!0}),i=Zw(a,r.floating);return{data:{escapedOffsets:i,escaped:ex(i)}}}default:return{}}}}};function GO(e){const t=Un(...e.map(a=>a.left)),r=Un(...e.map(a=>a.top)),n=kr(...e.map(a=>a.right)),o=kr(...e.map(a=>a.bottom));return{x:t,y:r,width:n-t,height:o-r}}function zF(e){const t=e.slice().sort((o,a)=>o.y-a.y),r=[];let n=null;for(let o=0;on.height/2?r.push([a]):r[r.length-1].push(a),n=a}return r.map(o=>sl(GO(o)))}const BF=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:r,elements:n,rects:o,platform:a,strategy:i}=t,{padding:u=2,x:f,y:g}=Wn(e,t),b=Array.from(await(a.getClientRects==null?void 0:a.getClientRects(n.reference))||[]),_=zF(b),O=sl(GO(b)),S=zm(u);function C(){if(_.length===2&&_[0].left>_[1].right&&f!=null&&g!=null)return _.find(m=>f>m.left-S.left&&fm.top-S.top&&g=2){if(Dn(r)==="y"){const N=_[0],R=_[_.length-1],M=ln(r)==="top",D=N.top,L=R.bottom,W=M?N.left:R.left,U=M?N.right:R.right,Y=U-W,$=L-D;return{top:D,bottom:L,left:W,right:U,width:Y,height:$,x:W,y:D}}const m=ln(r)==="left",d=kr(..._.map(N=>N.right)),l=Un(..._.map(N=>N.left)),c=_.filter(N=>m?N.left===l:N.right===d),s=c[0].top,h=c[c.length-1].bottom,v=l,y=d,E=y-v,P=h-s;return{top:s,bottom:h,left:v,right:y,width:E,height:P,x:v,y:s}}return O}const w=await a.getElementRects({reference:{getBoundingClientRect:C},floating:n.floating,strategy:i});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},KO=new Set(["left","top"]);async function VF(e,t){const{placement:r,platform:n,elements:o}=e,a=await(n.isRTL==null?void 0:n.isRTL(o.floating)),i=ln(r),u=Bn(r),f=Dn(r)==="y",g=KO.has(i)?-1:1,b=a&&f?-1:1,_=Wn(t,e);let{mainAxis:O,crossAxis:S,alignmentAxis:C}=typeof _=="number"?{mainAxis:_,crossAxis:0,alignmentAxis:null}:{mainAxis:_.mainAxis||0,crossAxis:_.crossAxis||0,alignmentAxis:_.alignmentAxis};return u&&typeof C=="number"&&(S=u==="end"?C*-1:C),f?{x:S*b,y:O*g}:{x:O*g,y:S*b}}const UF=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;const{x:o,y:a,placement:i,middlewareData:u}=t,f=await VF(t,e);return i===((r=u.offset)==null?void 0:r.placement)&&(n=u.arrow)!=null&&n.alignmentOffset?{}:{x:o+f.x,y:a+f.y,data:{...f,placement:i}}}}},WF=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:n,placement:o}=t,{mainAxis:a=!0,crossAxis:i=!1,limiter:u={fn:m=>{let{x:d,y:l}=m;return{x:d,y:l}}},...f}=Wn(e,t),g={x:r,y:n},b=await Za(t,f),_=Dn(ln(o)),O=Dm(_);let S=g[O],C=g[_];if(a){const m=O==="y"?"top":"left",d=O==="y"?"bottom":"right",l=S+b[m],c=S-b[d];S=Mh(l,S,c)}if(i){const m=_==="y"?"top":"left",d=_==="y"?"bottom":"right",l=C+b[m],c=C-b[d];C=Mh(l,C,c)}const w=u.fn({...t,[O]:S,[_]:C});return{...w,data:{x:w.x-r,y:w.y-n,enabled:{[O]:a,[_]:i}}}}}},HF=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:n,placement:o,rects:a,middlewareData:i}=t,{offset:u=0,mainAxis:f=!0,crossAxis:g=!0}=Wn(e,t),b={x:r,y:n},_=Dn(o),O=Dm(_);let S=b[O],C=b[_];const w=Wn(u,t),m=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(f){const c=O==="y"?"height":"width",s=a.reference[O]-a.floating[c]+m.mainAxis,h=a.reference[O]+a.reference[c]-m.mainAxis;Sh&&(S=h)}if(g){var d,l;const c=O==="y"?"width":"height",s=KO.has(ln(o)),h=a.reference[_]-a.floating[c]+(s&&((d=i.offset)==null?void 0:d[_])||0)+(s?0:m.crossAxis),v=a.reference[_]+a.reference[c]+(s?0:((l=i.offset)==null?void 0:l[_])||0)-(s?m.crossAxis:0);Cv&&(C=v)}return{[O]:S,[_]:C}}}},$F=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,n;const{placement:o,rects:a,platform:i,elements:u}=t,{apply:f=()=>{},...g}=Wn(e,t),b=await Za(t,g),_=ln(o),O=Bn(o),S=Dn(o)==="y",{width:C,height:w}=a.floating;let m,d;_==="top"||_==="bottom"?(m=_,d=O===(await(i.isRTL==null?void 0:i.isRTL(u.floating))?"start":"end")?"left":"right"):(d=_,m=O==="end"?"top":"bottom");const l=w-b.top-b.bottom,c=C-b.left-b.right,s=Un(w-b[m],l),h=Un(C-b[d],c),v=!t.middlewareData.shift;let y=s,E=h;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(E=c),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(y=l),v&&!O){const N=kr(b.left,0),R=kr(b.right,0),M=kr(b.top,0),D=kr(b.bottom,0);S?E=C-2*(N!==0||R!==0?N+R:kr(b.left,b.right)):y=w-2*(M!==0||D!==0?M+D:kr(b.top,b.bottom))}await f({...t,availableWidth:E,availableHeight:y});const P=await i.getDimensions(u.floating);return C!==P.width||w!==P.height?{reset:{rects:!0}}:{}}}};function yf(){return typeof window<"u"}function _l(e){return YO(e)?(e.nodeName||"").toLowerCase():"#document"}function on(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function co(e){var t;return(t=(YO(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function YO(e){return yf()?e instanceof Node||e instanceof on(e).Node:!1}function Hn(e){return yf()?e instanceof Element||e instanceof on(e).Element:!1}function so(e){return yf()?e instanceof HTMLElement||e instanceof on(e).HTMLElement:!1}function tx(e){return!yf()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof on(e).ShadowRoot}const qF=new Set(["inline","contents"]);function du(e){const{overflow:t,overflowX:r,overflowY:n,display:o}=$n(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!qF.has(o)}const GF=new Set(["table","td","th"]);function KF(e){return GF.has(_l(e))}const YF=[":popover-open",":modal"];function wf(e){return YF.some(t=>{try{return e.matches(t)}catch{return!1}})}const QF=["transform","translate","scale","rotate","perspective"],XF=["transform","translate","scale","rotate","perspective","filter"],JF=["paint","layout","strict","content"];function Bm(e){const t=Vm(),r=Hn(e)?$n(e):e;return QF.some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||XF.some(n=>(r.willChange||"").includes(n))||JF.some(n=>(r.contain||"").includes(n))}function ZF(e){let t=va(e);for(;so(t)&&!ul(t);){if(Bm(t))return t;if(wf(t))return null;t=va(t)}return null}function Vm(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const e6=new Set(["html","body","#document"]);function ul(e){return e6.has(_l(e))}function $n(e){return on(e).getComputedStyle(e)}function xf(e){return Hn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function va(e){if(_l(e)==="html")return e;const t=e.assignedSlot||e.parentNode||tx(e)&&e.host||co(e);return tx(t)?t.host:t}function QO(e){const t=va(e);return ul(t)?e.ownerDocument?e.ownerDocument.body:e.body:so(t)&&du(t)?t:QO(t)}function Oo(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);const o=QO(e),a=o===((n=e.ownerDocument)==null?void 0:n.body),i=on(o);if(a){const u=Ih(i);return t.concat(i,i.visualViewport||[],du(o)?o:[],u&&r?Oo(u):[])}return t.concat(o,Oo(o,[],r))}function Ih(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function XO(e){const t=$n(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const o=so(e),a=o?e.offsetWidth:r,i=o?e.offsetHeight:n,u=Od(r)!==a||Od(n)!==i;return u&&(r=a,n=i),{width:r,height:n,$:u}}function Um(e){return Hn(e)?e:e.contextElement}function Ki(e){const t=Um(e);if(!so(t))return io(1);const r=t.getBoundingClientRect(),{width:n,height:o,$:a}=XO(t);let i=(a?Od(r.width):r.width)/n,u=(a?Od(r.height):r.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!u||!Number.isFinite(u))&&(u=1),{x:i,y:u}}const t6=io(0);function JO(e){const t=on(e);return!Vm()||!t.visualViewport?t6:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function r6(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==on(e)?!1:t}function ei(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),a=Um(e);let i=io(1);t&&(n?Hn(n)&&(i=Ki(n)):i=Ki(e));const u=r6(a,r,n)?JO(a):io(0);let f=(o.left+u.x)/i.x,g=(o.top+u.y)/i.y,b=o.width/i.x,_=o.height/i.y;if(a){const O=on(a),S=n&&Hn(n)?on(n):n;let C=O,w=Ih(C);for(;w&&n&&S!==C;){const m=Ki(w),d=w.getBoundingClientRect(),l=$n(w),c=d.left+(w.clientLeft+parseFloat(l.paddingLeft))*m.x,s=d.top+(w.clientTop+parseFloat(l.paddingTop))*m.y;f*=m.x,g*=m.y,b*=m.x,_*=m.y,f+=c,g+=s,C=on(w),w=Ih(C)}}return sl({width:b,height:_,x:f,y:g})}function _f(e,t){const r=xf(e).scrollLeft;return t?t.left+r:ei(co(e)).left+r}function ZO(e,t){const r=e.getBoundingClientRect(),n=r.left+t.scrollLeft-_f(e,r),o=r.top+t.scrollTop;return{x:n,y:o}}function n6(e){let{elements:t,rect:r,offsetParent:n,strategy:o}=e;const a=o==="fixed",i=co(n),u=t?wf(t.floating):!1;if(n===i||u&&a)return r;let f={scrollLeft:0,scrollTop:0},g=io(1);const b=io(0),_=so(n);if((_||!_&&!a)&&((_l(n)!=="body"||du(i))&&(f=xf(n)),so(n))){const S=ei(n);g=Ki(n),b.x=S.x+n.clientLeft,b.y=S.y+n.clientTop}const O=i&&!_&&!a?ZO(i,f):io(0);return{width:r.width*g.x,height:r.height*g.y,x:r.x*g.x-f.scrollLeft*g.x+b.x+O.x,y:r.y*g.y-f.scrollTop*g.y+b.y+O.y}}function o6(e){return Array.from(e.getClientRects())}function a6(e){const t=co(e),r=xf(e),n=e.ownerDocument.body,o=kr(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),a=kr(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let i=-r.scrollLeft+_f(e);const u=-r.scrollTop;return $n(n).direction==="rtl"&&(i+=kr(t.clientWidth,n.clientWidth)-o),{width:o,height:a,x:i,y:u}}const rx=25;function i6(e,t){const r=on(e),n=co(e),o=r.visualViewport;let a=n.clientWidth,i=n.clientHeight,u=0,f=0;if(o){a=o.width,i=o.height;const b=Vm();(!b||b&&t==="fixed")&&(u=o.offsetLeft,f=o.offsetTop)}const g=_f(n);if(g<=0){const b=n.ownerDocument,_=b.body,O=getComputedStyle(_),S=b.compatMode==="CSS1Compat"&&parseFloat(O.marginLeft)+parseFloat(O.marginRight)||0,C=Math.abs(n.clientWidth-_.clientWidth-S);C<=rx&&(a-=C)}else g<=rx&&(a+=g);return{width:a,height:i,x:u,y:f}}const l6=new Set(["absolute","fixed"]);function s6(e,t){const r=ei(e,!0,t==="fixed"),n=r.top+e.clientTop,o=r.left+e.clientLeft,a=so(e)?Ki(e):io(1),i=e.clientWidth*a.x,u=e.clientHeight*a.y,f=o*a.x,g=n*a.y;return{width:i,height:u,x:f,y:g}}function nx(e,t,r){let n;if(t==="viewport")n=i6(e,r);else if(t==="document")n=a6(co(e));else if(Hn(t))n=s6(t,r);else{const o=JO(e);n={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return sl(n)}function eP(e,t){const r=va(e);return r===t||!Hn(r)||ul(r)?!1:$n(r).position==="fixed"||eP(r,t)}function u6(e,t){const r=t.get(e);if(r)return r;let n=Oo(e,[],!1).filter(u=>Hn(u)&&_l(u)!=="body"),o=null;const a=$n(e).position==="fixed";let i=a?va(e):e;for(;Hn(i)&&!ul(i);){const u=$n(i),f=Bm(i);!f&&u.position==="fixed"&&(o=null),(a?!f&&!o:!f&&u.position==="static"&&!!o&&l6.has(o.position)||du(i)&&!f&&eP(e,i))?n=n.filter(b=>b!==i):o=u,i=va(i)}return t.set(e,n),n}function c6(e){let{element:t,boundary:r,rootBoundary:n,strategy:o}=e;const i=[...r==="clippingAncestors"?wf(t)?[]:u6(t,this._c):[].concat(r),n],u=i[0],f=i.reduce((g,b)=>{const _=nx(t,b,o);return g.top=kr(_.top,g.top),g.right=Un(_.right,g.right),g.bottom=Un(_.bottom,g.bottom),g.left=kr(_.left,g.left),g},nx(t,u,o));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function d6(e){const{width:t,height:r}=XO(e);return{width:t,height:r}}function f6(e,t,r){const n=so(t),o=co(t),a=r==="fixed",i=ei(e,!0,a,t);let u={scrollLeft:0,scrollTop:0};const f=io(0);function g(){f.x=_f(o)}if(n||!n&&!a)if((_l(t)!=="body"||du(o))&&(u=xf(t)),n){const S=ei(t,!0,a,t);f.x=S.x+t.clientLeft,f.y=S.y+t.clientTop}else o&&g();a&&!n&&o&&g();const b=o&&!n&&!a?ZO(o,u):io(0),_=i.left+u.scrollLeft-f.x-b.x,O=i.top+u.scrollTop-f.y-b.y;return{x:_,y:O,width:i.width,height:i.height}}function Jp(e){return $n(e).position==="static"}function ox(e,t){if(!so(e)||$n(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return co(e)===r&&(r=r.ownerDocument.body),r}function tP(e,t){const r=on(e);if(wf(e))return r;if(!so(e)){let o=va(e);for(;o&&!ul(o);){if(Hn(o)&&!Jp(o))return o;o=va(o)}return r}let n=ox(e,t);for(;n&&KF(n)&&Jp(n);)n=ox(n,t);return n&&ul(n)&&Jp(n)&&!Bm(n)?r:n||ZF(e)||r}const p6=async function(e){const t=this.getOffsetParent||tP,r=this.getDimensions,n=await r(e.floating);return{reference:f6(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function h6(e){return $n(e).direction==="rtl"}const rP={convertOffsetParentRelativeRectToViewportRelativeRect:n6,getDocumentElement:co,getClippingRect:c6,getOffsetParent:tP,getElementRects:p6,getClientRects:o6,getDimensions:d6,getScale:Ki,isElement:Hn,isRTL:h6};function nP(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function g6(e,t){let r=null,n;const o=co(e);function a(){var u;clearTimeout(n),(u=r)==null||u.disconnect(),r=null}function i(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),a();const g=e.getBoundingClientRect(),{left:b,top:_,width:O,height:S}=g;if(u||t(),!O||!S)return;const C=Zu(_),w=Zu(o.clientWidth-(b+O)),m=Zu(o.clientHeight-(_+S)),d=Zu(b),c={rootMargin:-C+"px "+-w+"px "+-m+"px "+-d+"px",threshold:kr(0,Un(1,f))||1};let s=!0;function h(v){const y=v[0].intersectionRatio;if(y!==f){if(!s)return i();y?i(!1,y):n=setTimeout(()=>{i(!1,1e-7)},1e3)}y===1&&!nP(g,e.getBoundingClientRect())&&i(),s=!1}try{r=new IntersectionObserver(h,{...c,root:o.ownerDocument})}catch{r=new IntersectionObserver(h,c)}r.observe(e)}return i(!0),a}function m6(e,t,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=n,g=Um(e),b=o||a?[...g?Oo(g):[],...Oo(t)]:[];b.forEach(d=>{o&&d.addEventListener("scroll",r,{passive:!0}),a&&d.addEventListener("resize",r)});const _=g&&u?g6(g,r):null;let O=-1,S=null;i&&(S=new ResizeObserver(d=>{let[l]=d;l&&l.target===g&&S&&(S.unobserve(t),cancelAnimationFrame(O),O=requestAnimationFrame(()=>{var c;(c=S)==null||c.observe(t)})),r()}),g&&!f&&S.observe(g),S.observe(t));let C,w=f?ei(e):null;f&&m();function m(){const d=ei(e);w&&!nP(w,d)&&r(),w=d,C=requestAnimationFrame(m)}return r(),()=>{var d;b.forEach(l=>{o&&l.removeEventListener("scroll",r),a&&l.removeEventListener("resize",r)}),_==null||_(),(d=S)==null||d.disconnect(),S=null,f&&cancelAnimationFrame(C)}}const kc=Za,oP=UF,b6=DF,v6=WF,y6=LF,w6=$F,x6=FF,ax=MF,_6=BF,C6=HF,aP=(e,t,r)=>{const n=new Map,o={platform:rP,...r},a={...o.platform,_c:n};return AF(e,t,{...o,platform:a})},S6=e=>{const{element:t,padding:r}=e;function n(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return n(t)?t.current!=null?ax({element:t.current,padding:r}).fn(o):{}:t?ax({element:t,padding:r}).fn(o):{}}}};var Ec=typeof document<"u"?j.useLayoutEffect:j.useEffect;function Ed(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!=t.length)return!1;for(n=r;n--!==0;)if(!Ed(e[n],t[n]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[n]))return!1;for(n=r;n--!==0;){const a=o[n];if(!(a==="_owner"&&e.$$typeof)&&!Ed(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function ix(e){const t=j.useRef(e);return Ec(()=>{t.current=e}),t}function T6(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:o,whileElementsMounted:a,open:i}=e,[u,f]=j.useState({x:null,y:null,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[g,b]=j.useState(n);Ed(g,n)||b(n);const _=j.useRef(null),O=j.useRef(null),S=j.useRef(u),C=ix(a),w=ix(o),[m,d]=j.useState(null),[l,c]=j.useState(null),s=j.useCallback(N=>{_.current!==N&&(_.current=N,d(N))},[]),h=j.useCallback(N=>{O.current!==N&&(O.current=N,c(N))},[]),v=j.useCallback(()=>{if(!_.current||!O.current)return;const N={placement:t,strategy:r,middleware:g};w.current&&(N.platform=w.current),aP(_.current,O.current,N).then(R=>{const M={...R,isPositioned:!0};y.current&&!Ed(S.current,M)&&(S.current=M,jo.flushSync(()=>{f(M)}))})},[g,t,r,w]);Ec(()=>{i===!1&&S.current.isPositioned&&(S.current.isPositioned=!1,f(N=>({...N,isPositioned:!1})))},[i]);const y=j.useRef(!1);Ec(()=>(y.current=!0,()=>{y.current=!1}),[]),Ec(()=>{if(m&&l){if(C.current)return C.current(m,l,v);v()}},[m,l,v,C]);const E=j.useMemo(()=>({reference:_,floating:O,setReference:s,setFloating:h}),[s,h]),P=j.useMemo(()=>({reference:m,floating:l}),[m,l]);return j.useMemo(()=>({...u,update:v,refs:E,elements:P,reference:s,floating:h}),[u,v,E,P,s,h])}var Ut=typeof document<"u"?j.useLayoutEffect:j.useEffect;let Zp=!1,O6=0;const lx=()=>"floating-ui-"+O6++;function P6(){const[e,t]=j.useState(()=>Zp?lx():void 0);return Ut(()=>{e==null&&t(lx())},[]),j.useEffect(()=>{Zp||(Zp=!0)},[]),e}const k6=Yh["useId".toString()],Ks=k6||P6;function iP(){const e=new Map;return{emit(t,r){var n;(n=e.get(t))==null||n.forEach(o=>o(r))},on(t,r){e.set(t,[...e.get(t)||[],r])},off(t,r){e.set(t,(e.get(t)||[]).filter(n=>n!==r))}}}const lP=j.createContext(null),sP=j.createContext(null),Cl=()=>{var e;return((e=j.useContext(lP))==null?void 0:e.id)||null},di=()=>j.useContext(sP),E6=e=>{const t=Ks(),r=di(),n=Cl(),o=e||n;return Ut(()=>{const a={id:t,parentId:o};return r==null||r.addNode(a),()=>{r==null||r.removeNode(a)}},[r,t,o]),t},N6=e=>{let{children:t,id:r}=e;const n=Cl();return j.createElement(lP.Provider,{value:j.useMemo(()=>({id:r,parentId:n}),[r,n])},t)},j6=e=>{let{children:t}=e;const r=j.useRef([]),n=j.useCallback(i=>{r.current=[...r.current,i]},[]),o=j.useCallback(i=>{r.current=r.current.filter(u=>u!==i)},[]),a=j.useState(()=>iP())[0];return j.createElement(sP.Provider,{value:j.useMemo(()=>({nodesRef:r,addNode:n,removeNode:o,events:a}),[r,n,o,a])},t)};function Hr(e){return(e==null?void 0:e.ownerDocument)||document}function Wm(){const e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function uP(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(t=>{let{brand:r,version:n}=t;return r+"/"+n}).join(" "):navigator.userAgent}function Hm(e){return Hr(e).defaultView||window}function xn(e){return e?e instanceof Hm(e).Element:!1}function ti(e){return e?e instanceof Hm(e).HTMLElement:!1}function R6(e){if(typeof ShadowRoot>"u")return!1;const t=Hm(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function cP(e){if(e.mozInputSource===0&&e.isTrusted)return!0;const t=/Android/i;return(t.test(Wm())||t.test(uP()))&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function dP(e){return e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType!=="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0}function Dh(){return/apple/i.test(navigator.vendor)}function fP(){return Wm().toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints}function Nd(e,t){const r=["mouse","pen"];return t||r.push("",void 0),r.includes(e)}function _n(e){const t=j.useRef(e);return Ut(()=>{t.current=e}),t}const sx="data-floating-ui-safe-polygon";function Nc(e,t,r){return r&&!Nd(r)?0:typeof e=="number"?e:e==null?void 0:e[t]}const A6=function(e,t){let{enabled:r=!0,delay:n=0,handleClose:o=null,mouseOnly:a=!1,restMs:i=0,move:u=!0}=t===void 0?{}:t;const{open:f,onOpenChange:g,dataRef:b,events:_,elements:{domReference:O,floating:S},refs:C}=e,w=di(),m=Cl(),d=_n(o),l=_n(n),c=j.useRef(),s=j.useRef(),h=j.useRef(),v=j.useRef(),y=j.useRef(!0),E=j.useRef(!1),P=j.useRef(()=>{}),N=j.useCallback(()=>{var L;const W=(L=b.current.openEvent)==null?void 0:L.type;return(W==null?void 0:W.includes("mouse"))&&W!=="mousedown"},[b]);j.useEffect(()=>{if(!r)return;function L(){clearTimeout(s.current),clearTimeout(v.current),y.current=!0}return _.on("dismiss",L),()=>{_.off("dismiss",L)}},[r,_]),j.useEffect(()=>{if(!r||!d.current||!f)return;function L(){N()&&g(!1)}const W=Hr(S).documentElement;return W.addEventListener("mouseleave",L),()=>{W.removeEventListener("mouseleave",L)}},[S,f,g,r,d,b,N]);const R=j.useCallback(function(L){L===void 0&&(L=!0);const W=Nc(l.current,"close",c.current);W&&!h.current?(clearTimeout(s.current),s.current=setTimeout(()=>g(!1),W)):L&&(clearTimeout(s.current),g(!1))},[l,g]),M=j.useCallback(()=>{P.current(),h.current=void 0},[]),D=j.useCallback(()=>{if(E.current){const L=Hr(C.floating.current).body;L.style.pointerEvents="",L.removeAttribute(sx),E.current=!1}},[C]);return j.useEffect(()=>{if(!r)return;function L(){return b.current.openEvent?["click","mousedown"].includes(b.current.openEvent.type):!1}function W($){if(clearTimeout(s.current),y.current=!1,a&&!Nd(c.current)||i>0&&Nc(l.current,"open")===0)return;b.current.openEvent=$;const z=Nc(l.current,"open",c.current);z?s.current=setTimeout(()=>{g(!0)},z):g(!0)}function U($){if(L())return;P.current();const z=Hr(S);if(clearTimeout(v.current),d.current){clearTimeout(s.current),h.current=d.current({...e,tree:w,x:$.clientX,y:$.clientY,onClose(){D(),M(),R()}});const H=h.current;z.addEventListener("mousemove",H),P.current=()=>{z.removeEventListener("mousemove",H)};return}R()}function Y($){L()||d.current==null||d.current({...e,tree:w,x:$.clientX,y:$.clientY,onClose(){M(),R()}})($)}if(xn(O)){const $=O;return f&&$.addEventListener("mouseleave",Y),S==null||S.addEventListener("mouseleave",Y),u&&$.addEventListener("mousemove",W,{once:!0}),$.addEventListener("mouseenter",W),$.addEventListener("mouseleave",U),()=>{f&&$.removeEventListener("mouseleave",Y),S==null||S.removeEventListener("mouseleave",Y),u&&$.removeEventListener("mousemove",W),$.removeEventListener("mouseenter",W),$.removeEventListener("mouseleave",U)}}},[O,S,r,e,a,i,u,R,M,D,g,f,w,l,d,b]),Ut(()=>{var L;if(r&&f&&(L=d.current)!=null&&L.__options.blockPointerEvents&&N()){const Y=Hr(S).body;if(Y.setAttribute(sx,""),Y.style.pointerEvents="none",E.current=!0,xn(O)&&S){var W,U;const $=O,z=w==null||(W=w.nodesRef.current.find(H=>H.id===m))==null||(U=W.context)==null?void 0:U.elements.floating;return z&&(z.style.pointerEvents=""),$.style.pointerEvents="auto",S.style.pointerEvents="auto",()=>{$.style.pointerEvents="",S.style.pointerEvents=""}}}},[r,f,m,S,O,w,d,b,N]),Ut(()=>{f||(c.current=void 0,M(),D())},[f,M,D]),j.useEffect(()=>()=>{M(),clearTimeout(s.current),clearTimeout(v.current),D()},[r,M,D]),j.useMemo(()=>{if(!r)return{};function L(W){c.current=W.pointerType}return{reference:{onPointerDown:L,onPointerEnter:L,onMouseMove(){f||i===0||(clearTimeout(v.current),v.current=setTimeout(()=>{y.current||g(!0)},i))}},floating:{onMouseEnter(){clearTimeout(s.current)},onMouseLeave(){_.emit("dismiss",{type:"mouseLeave",data:{returnFocus:!1}}),R(!1)}}}},[_,r,i,f,g,R])},pP=j.createContext({delay:0,initialDelay:0,timeoutMs:0,currentId:null,setCurrentId:()=>{},setState:()=>{},isInstantPhase:!1}),hP=()=>j.useContext(pP),M6=e=>{let{children:t,delay:r,timeoutMs:n=0}=e;const[o,a]=j.useReducer((f,g)=>({...f,...g}),{delay:r,timeoutMs:n,initialDelay:r,currentId:null,isInstantPhase:!1}),i=j.useRef(null),u=j.useCallback(f=>{a({currentId:f})},[]);return Ut(()=>{o.currentId?i.current===null?i.current=o.currentId:a({isInstantPhase:!0}):(a({isInstantPhase:!1}),i.current=null)},[o.currentId]),j.createElement(pP.Provider,{value:j.useMemo(()=>({...o,setState:a,setCurrentId:u}),[o,a,u])},t)},I6=(e,t)=>{let{open:r,onOpenChange:n}=e,{id:o}=t;const{currentId:a,setCurrentId:i,initialDelay:u,setState:f,timeoutMs:g}=hP();j.useEffect(()=>{a&&(f({delay:{open:1,close:Nc(u,"close")}}),a!==o&&n(!1))},[o,n,f,a,u]),j.useEffect(()=>{function b(){n(!1),f({delay:u,currentId:null})}if(!r&&a===o)if(g){const _=window.setTimeout(b,g);return()=>{clearTimeout(_)}}else b()},[r,f,a,o,n,u,g]),j.useEffect(()=>{r&&i(o)},[r,i,o])};function Ys(){return Ys=Object.assign||function(e){for(var t=1;te==null?void 0:e.focus({preventScroll:r});o?a():ux=requestAnimationFrame(a)}function D6(e,t){var r;let n=[],o=(r=e.find(a=>a.id===t))==null?void 0:r.parentId;for(;o;){const a=e.find(i=>i.id===o);o=a==null?void 0:a.parentId,a&&(n=n.concat(a))}return n}function ws(e,t){let r=e.filter(o=>{var a;return o.parentId===t&&((a=o.context)==null?void 0:a.open)})||[],n=r;for(;n.length;)n=e.filter(o=>{var a;return(a=n)==null?void 0:a.some(i=>{var u;return o.parentId===i.id&&((u=o.context)==null?void 0:u.open)})})||[],r=r.concat(n);return r}function Cf(e){return"composedPath"in e?e.composedPath()[0]:e.target}const L6="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function gP(e){return ti(e)&&e.matches(L6)}function mn(e){e.preventDefault(),e.stopPropagation()}const jd=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function mP(e,t){const r=Td(e,jd());t==="prev"&&r.reverse();const n=r.indexOf(ri(Hr(e)));return r.slice(n+1)[0]}function bP(){return mP(document.body,"next")}function vP(){return mP(document.body,"prev")}function xs(e,t){const r=t||e.currentTarget,n=e.relatedTarget;return!n||!Br(r,n)}function F6(e){Td(e,jd()).forEach(r=>{r.dataset.tabindex=r.getAttribute("tabindex")||"",r.setAttribute("tabindex","-1")})}function z6(e){e.querySelectorAll("[data-tabindex]").forEach(r=>{const n=r.dataset.tabindex;delete r.dataset.tabindex,n?r.setAttribute("tabindex",n):r.removeAttribute("tabindex")})}const B6=Yh["useInsertionEffect".toString()],V6=B6||(e=>e());function Sl(e){const t=j.useRef(()=>{});return V6(()=>{t.current=e}),j.useCallback(function(){for(var r=arguments.length,n=new Array(r),o=0;o(Dh()&&a("button"),document.addEventListener("keydown",cx),()=>{document.removeEventListener("keydown",cx)}),[]),j.createElement("span",Ys({},t,{ref:r,tabIndex:0,role:o,"aria-hidden":o?void 0:!0,"data-floating-ui-focus-guard":"",style:$m,onFocus:i=>{Dh()&&fP()&&!U6(i)?(i.persist(),qm=window.setTimeout(()=>{n(i)},50)):n(i)}}))}),yP=j.createContext(null),wP=function(e){let{id:t,enabled:r=!0}=e===void 0?{}:e;const[n,o]=j.useState(null),a=Ks(),i=xP();return Ut(()=>{if(!r)return;const u=t?document.getElementById(t):null;if(u)u.setAttribute("data-floating-ui-portal",""),o(u);else{const f=document.createElement("div");t!==""&&(f.id=t||a),f.setAttribute("data-floating-ui-portal",""),o(f);const g=(i==null?void 0:i.portalNode)||document.body;return g.appendChild(f),()=>{g.removeChild(f)}}},[t,i,a,r]),n},W6=e=>{let{children:t,id:r,root:n=null,preserveTabOrder:o=!0}=e;const a=wP({id:r,enabled:!n}),[i,u]=j.useState(null),f=j.useRef(null),g=j.useRef(null),b=j.useRef(null),_=j.useRef(null),O=!!i&&!i.modal&&!!(n||a)&&o;return j.useEffect(()=>{if(!a||!o||i!=null&&i.modal)return;function S(C){a&&xs(C)&&(C.type==="focusin"?z6:F6)(a)}return a.addEventListener("focusin",S,!0),a.addEventListener("focusout",S,!0),()=>{a.removeEventListener("focusin",S,!0),a.removeEventListener("focusout",S,!0)}},[a,o,i==null?void 0:i.modal]),j.createElement(yP.Provider,{value:j.useMemo(()=>({preserveTabOrder:o,beforeOutsideRef:f,afterOutsideRef:g,beforeInsideRef:b,afterInsideRef:_,portalNode:a,setFocusManagerState:u}),[o,a])},O&&a&&j.createElement(Rd,{"data-type":"outside",ref:f,onFocus:S=>{if(xs(S,a)){var C;(C=b.current)==null||C.focus()}else{const w=vP()||(i==null?void 0:i.refs.domReference.current);w==null||w.focus()}}}),O&&a&&j.createElement("span",{"aria-owns":a.id,style:$m}),n?jo.createPortal(t,n):a?jo.createPortal(t,a):null,O&&a&&j.createElement(Rd,{"data-type":"outside",ref:g,onFocus:S=>{if(xs(S,a)){var C;(C=_.current)==null||C.focus()}else{const w=bP()||(i==null?void 0:i.refs.domReference.current);w==null||w.focus(),i!=null&&i.closeOnFocusOut&&(i==null||i.onOpenChange(!1))}}}))},xP=()=>j.useContext(yP),H6=j.forwardRef(function(t,r){return j.createElement("button",Ys({},t,{type:"button",ref:r,tabIndex:-1,style:$m}))});function $6(e){let{context:t,children:r,order:n=["content"],guards:o=!0,initialFocus:a=0,returnFocus:i=!0,modal:u=!0,visuallyHiddenDismiss:f=!1,closeOnFocusOut:g=!0}=e;const{refs:b,nodeId:_,onOpenChange:O,events:S,dataRef:C,elements:{domReference:w,floating:m}}=t,d=_n(n),l=di(),c=xP(),[s,h]=j.useState(null),v=typeof a=="number"&&a<0,y=j.useRef(null),E=j.useRef(null),P=j.useRef(!1),N=j.useRef(null),R=j.useRef(!1),M=c!=null,D=w&&w.getAttribute("role")==="combobox"&&gP(w),L=j.useCallback(function($){return $===void 0&&($=m),$?Td($,jd()):[]},[m]),W=j.useCallback($=>{const z=L($);return d.current.map(H=>w&&H==="reference"?w:m&&H==="floating"?m:z).filter(Boolean).flat()},[w,m,d,L]);j.useEffect(()=>{if(!u)return;function $(H){if(H.key==="Tab"){L().length===0&&!D&&mn(H);const G=W(),X=Cf(H);d.current[0]==="reference"&&X===w&&(mn(H),H.shiftKey?Qo(G[G.length-1]):Qo(G[1])),d.current[1]==="floating"&&X===m&&H.shiftKey&&(mn(H),Qo(G[0]))}}const z=Hr(m);return z.addEventListener("keydown",$),()=>{z.removeEventListener("keydown",$)}},[w,m,u,d,b,D,L,W]),j.useEffect(()=>{if(!g)return;function $(){R.current=!0,setTimeout(()=>{R.current=!1})}function z(H){const G=H.relatedTarget,X=!(Br(w,G)||Br(m,G)||Br(G,m)||Br(c==null?void 0:c.portalNode,G)||G!=null&&G.hasAttribute("data-floating-ui-focus-guard")||l&&(ws(l.nodesRef.current,_).find(ie=>{var fe,pe;return Br((fe=ie.context)==null?void 0:fe.elements.floating,G)||Br((pe=ie.context)==null?void 0:pe.elements.domReference,G)})||D6(l.nodesRef.current,_).find(ie=>{var fe,pe;return((fe=ie.context)==null?void 0:fe.elements.floating)===G||((pe=ie.context)==null?void 0:pe.elements.domReference)===G})));G&&X&&!R.current&&G!==N.current&&(P.current=!0,setTimeout(()=>O(!1)))}if(m&&ti(w))return w.addEventListener("focusout",z),w.addEventListener("pointerdown",$),!u&&m.addEventListener("focusout",z),()=>{w.removeEventListener("focusout",z),w.removeEventListener("pointerdown",$),!u&&m.removeEventListener("focusout",z)}},[w,m,u,_,l,c,O,g]),j.useEffect(()=>{var $;const z=Array.from((c==null||($=c.portalNode)==null?void 0:$.querySelectorAll("[data-floating-ui-portal]"))||[]);function H(){return[y.current,E.current].filter(Boolean)}if(m&&u){const G=[m,...z,...H()],X=aF(d.current.includes("reference")||D?G.concat(w||[]):G);return()=>{X()}}},[w,m,u,d,c,D]),j.useEffect(()=>{if(u&&!o&&m){const $=[],z=jd(),H=Td(Hr(m).body,z),G=W(),X=H.filter(ie=>!G.includes(ie));return X.forEach((ie,fe)=>{$[fe]=ie.getAttribute("tabindex"),ie.setAttribute("tabindex","-1")}),()=>{X.forEach((ie,fe)=>{const pe=$[fe];pe==null?ie.removeAttribute("tabindex"):ie.setAttribute("tabindex",pe)})}}},[m,u,o,W]),Ut(()=>{if(!m)return;const $=Hr(m);let z=i,H=!1;const G=ri($),X=C.current;N.current=G;const ie=W(m),fe=(typeof a=="number"?ie[a]:a.current)||m;!v&&Qo(fe,{preventScroll:fe===m});function pe(oe){if(oe.type==="escapeKey"&&b.domReference.current&&(N.current=b.domReference.current),["referencePress","escapeKey"].includes(oe.type))return;const se=oe.data.returnFocus;typeof se=="object"?(z=!0,H=se.preventScroll):z=se}return S.on("dismiss",pe),()=>{if(S.off("dismiss",pe),Br(m,ri($))&&b.domReference.current&&(N.current=b.domReference.current),z&&ti(N.current)&&!P.current)if(!b.domReference.current||R.current)Qo(N.current,{cancelPrevious:!1,preventScroll:H});else{var oe;X.__syncReturnFocus=!0,(oe=N.current)==null||oe.focus({preventScroll:H}),setTimeout(()=>{delete X.__syncReturnFocus})}}},[m,W,a,i,C,b,S,v]),Ut(()=>{if(c)return c.setFocusManagerState({...t,modal:u,closeOnFocusOut:g}),()=>{c.setFocusManagerState(null)}},[c,u,g,t]),Ut(()=>{if(v||!m)return;function $(){h(L().length)}if($(),typeof MutationObserver=="function"){const z=new MutationObserver($);return z.observe(m,{childList:!0,subtree:!0}),()=>{z.disconnect()}}},[m,L,v,b]);const U=o&&(M||u)&&!D;function Y($){return f&&u?j.createElement(H6,{ref:$==="start"?y:E,onClick:()=>O(!1)},typeof f=="string"?f:"Dismiss"):null}return j.createElement(j.Fragment,null,U&&j.createElement(Rd,{"data-type":"inside",ref:c==null?void 0:c.beforeInsideRef,onFocus:$=>{if(u){const H=W();Qo(n[0]==="reference"?H[0]:H[H.length-1])}else if(c!=null&&c.preserveTabOrder&&c.portalNode)if(P.current=!1,xs($,c.portalNode)){const H=bP()||w;H==null||H.focus()}else{var z;(z=c.beforeOutsideRef.current)==null||z.focus()}}}),D?null:Y("start"),j.cloneElement(r,s===0||n.includes("floating")?{tabIndex:0}:{}),Y("end"),U&&j.createElement(Rd,{"data-type":"inside",ref:c==null?void 0:c.afterInsideRef,onFocus:$=>{if(u)Qo(W()[0]);else if(c!=null&&c.preserveTabOrder&&c.portalNode)if(P.current=!0,xs($,c.portalNode)){const H=vP()||w;H==null||H.focus()}else{var z;(z=c.afterOutsideRef.current)==null||z.focus()}}}))}const ec="data-floating-ui-scroll-lock",q6=j.forwardRef(function(t,r){let{lockScroll:n=!1,...o}=t;return Ut(()=>{var a,i;if(!n||document.body.hasAttribute(ec))return;document.body.setAttribute(ec,"");const g=Math.round(document.documentElement.getBoundingClientRect().left)+document.documentElement.scrollLeft?"paddingLeft":"paddingRight",b=window.innerWidth-document.documentElement.clientWidth;if(!/iP(hone|ad|od)|iOS/.test(Wm()))return Object.assign(document.body.style,{overflow:"hidden",[g]:b+"px"}),()=>{document.body.removeAttribute(ec),Object.assign(document.body.style,{overflow:"",[g]:""})};const _=((a=window.visualViewport)==null?void 0:a.offsetLeft)||0,O=((i=window.visualViewport)==null?void 0:i.offsetTop)||0,S=window.pageXOffset,C=window.pageYOffset;return Object.assign(document.body.style,{position:"fixed",overflow:"hidden",top:-(C-Math.floor(O))+"px",left:-(S-Math.floor(_))+"px",right:"0",[g]:b+"px"}),()=>{Object.assign(document.body.style,{position:"",overflow:"",top:"",left:"",right:"",[g]:""}),document.body.removeAttribute(ec),window.scrollTo(S,C)}},[n]),j.createElement("div",Ys({ref:r},o,{style:{position:"fixed",overflow:"auto",top:0,right:0,bottom:0,left:0,...o.style}}))});function dx(e){return ti(e.target)&&e.target.tagName==="BUTTON"}function fx(e){return gP(e)}const G6=function(e,t){let{open:r,onOpenChange:n,dataRef:o,elements:{domReference:a}}=e,{enabled:i=!0,event:u="click",toggle:f=!0,ignoreMouse:g=!1,keyboardHandlers:b=!0}=t===void 0?{}:t;const _=j.useRef();return j.useMemo(()=>i?{reference:{onPointerDown(O){_.current=O.pointerType},onMouseDown(O){O.button===0&&(Nd(_.current,!0)&&g||u!=="click"&&(r?f&&(!o.current.openEvent||o.current.openEvent.type==="mousedown")&&n(!1):(O.preventDefault(),n(!0)),o.current.openEvent=O.nativeEvent))},onClick(O){if(!o.current.__syncReturnFocus){if(u==="mousedown"&&_.current){_.current=void 0;return}Nd(_.current,!0)&&g||(r?f&&(!o.current.openEvent||o.current.openEvent.type==="click")&&n(!1):n(!0),o.current.openEvent=O.nativeEvent)}},onKeyDown(O){_.current=void 0,b&&(dx(O)||(O.key===" "&&!fx(a)&&O.preventDefault(),O.key==="Enter"&&(r?f&&n(!1):n(!0))))},onKeyUp(O){b&&(dx(O)||fx(a)||O.key===" "&&(r?f&&n(!1):n(!0)))}}}:{},[i,o,u,g,b,a,f,r,n])};function jc(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);const r=e;return r.target!=null&&t.contains(r.target)}const K6={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},Y6={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},Q6=function(e){var t,r;return e===void 0&&(e=!0),{escapeKeyBubbles:typeof e=="boolean"?e:(t=e.escapeKey)!=null?t:!0,outsidePressBubbles:typeof e=="boolean"?e:(r=e.outsidePress)!=null?r:!0}},X6=function(e,t){let{open:r,onOpenChange:n,events:o,nodeId:a,elements:{reference:i,domReference:u,floating:f},dataRef:g}=e,{enabled:b=!0,escapeKey:_=!0,outsidePress:O=!0,outsidePressEvent:S="pointerdown",referencePress:C=!1,referencePressEvent:w="pointerdown",ancestorScroll:m=!1,bubbles:d=!0}=t===void 0?{}:t;const l=di(),c=Cl()!=null,s=Sl(typeof O=="function"?O:()=>!1),h=typeof O=="function"?s:O,v=j.useRef(!1),{escapeKeyBubbles:y,outsidePressBubbles:E}=Q6(d);return j.useEffect(()=>{if(!r||!b)return;g.current.__escapeKeyBubbles=y,g.current.__outsidePressBubbles=E;function P(L){if(L.key==="Escape"){const W=l?ws(l.nodesRef.current,a):[];if(W.length>0){let U=!0;if(W.forEach(Y=>{var $;if(($=Y.context)!=null&&$.open&&!Y.context.dataRef.current.__escapeKeyBubbles){U=!1;return}}),!U)return}o.emit("dismiss",{type:"escapeKey",data:{returnFocus:{preventScroll:!1}}}),n(!1)}}function N(L){const W=v.current;if(v.current=!1,W||typeof h=="function"&&!h(L))return;const U=Cf(L);if(ti(U)&&f){const z=f.ownerDocument.defaultView||window,H=U.scrollWidth>U.clientWidth,G=U.scrollHeight>U.clientHeight;let X=G&&L.offsetX>U.clientWidth;if(G&&z.getComputedStyle(U).direction==="rtl"&&(X=L.offsetX<=U.offsetWidth-U.clientWidth),X||H&&L.offsetY>U.clientHeight)return}const Y=l&&ws(l.nodesRef.current,a).some(z=>{var H;return jc(L,(H=z.context)==null?void 0:H.elements.floating)});if(jc(L,f)||jc(L,u)||Y)return;const $=l?ws(l.nodesRef.current,a):[];if($.length>0){let z=!0;if($.forEach(H=>{var G;if((G=H.context)!=null&&G.open&&!H.context.dataRef.current.__outsidePressBubbles){z=!1;return}}),!z)return}o.emit("dismiss",{type:"outsidePress",data:{returnFocus:c?{preventScroll:!0}:cP(L)||dP(L)}}),n(!1)}function R(){n(!1)}const M=Hr(f);_&&M.addEventListener("keydown",P),h&&M.addEventListener(S,N);let D=[];return m&&(xn(u)&&(D=Oo(u)),xn(f)&&(D=D.concat(Oo(f))),!xn(i)&&i&&i.contextElement&&(D=D.concat(Oo(i.contextElement)))),D=D.filter(L=>{var W;return L!==((W=M.defaultView)==null?void 0:W.visualViewport)}),D.forEach(L=>{L.addEventListener("scroll",R,{passive:!0})}),()=>{_&&M.removeEventListener("keydown",P),h&&M.removeEventListener(S,N),D.forEach(L=>{L.removeEventListener("scroll",R)})}},[g,f,u,i,_,h,S,o,l,a,r,n,m,b,y,E,c]),j.useEffect(()=>{v.current=!1},[h,S]),j.useMemo(()=>b?{reference:{[K6[w]]:()=>{C&&(o.emit("dismiss",{type:"referencePress",data:{returnFocus:!1}}),n(!1))}},floating:{[Y6[S]]:()=>{v.current=!0}}}:{},[b,o,C,S,w,n])},J6=function(e,t){let{open:r,onOpenChange:n,dataRef:o,events:a,refs:i,elements:{floating:u,domReference:f}}=e,{enabled:g=!0,keyboardOnly:b=!0}=t===void 0?{}:t;const _=j.useRef(""),O=j.useRef(!1),S=j.useRef();return j.useEffect(()=>{if(!g)return;const w=Hr(u).defaultView||window;function m(){!r&&ti(f)&&f===ri(Hr(f))&&(O.current=!0)}return w.addEventListener("blur",m),()=>{w.removeEventListener("blur",m)}},[u,f,r,g]),j.useEffect(()=>{if(!g)return;function C(w){(w.type==="referencePress"||w.type==="escapeKey")&&(O.current=!0)}return a.on("dismiss",C),()=>{a.off("dismiss",C)}},[a,g]),j.useEffect(()=>()=>{clearTimeout(S.current)},[]),j.useMemo(()=>g?{reference:{onPointerDown(C){let{pointerType:w}=C;_.current=w,O.current=!!(w&&b)},onMouseLeave(){O.current=!1},onFocus(C){var w;O.current||C.type==="focus"&&((w=o.current.openEvent)==null?void 0:w.type)==="mousedown"&&o.current.openEvent&&jc(o.current.openEvent,f)||(o.current.openEvent=C.nativeEvent,n(!0))},onBlur(C){O.current=!1;const w=C.relatedTarget,m=xn(w)&&w.hasAttribute("data-floating-ui-focus-guard")&&w.getAttribute("data-type")==="outside";S.current=setTimeout(()=>{Br(i.floating.current,w)||Br(f,w)||m||n(!1)})}}}:{},[g,b,f,i,o,n])};let px=!1;const Gm="ArrowUp",Sf="ArrowDown",cl="ArrowLeft",fu="ArrowRight";function tc(e,t,r){return Math.floor(e/t)!==r}function Jl(e,t){return t<0||t>=e.current.length}function Or(e,t){let{startingIndex:r=-1,decrement:n=!1,disabledIndices:o,amount:a=1}=t===void 0?{}:t;const i=e.current;let u=r;do{var f,g;u=u+(n?-a:a)}while(u>=0&&u<=i.length-1&&(o?o.includes(u):i[u]==null||(f=i[u])!=null&&f.hasAttribute("disabled")||((g=i[u])==null?void 0:g.getAttribute("aria-disabled"))==="true"));return u}function Tf(e,t,r){switch(e){case"vertical":return t;case"horizontal":return r;default:return t||r}}function hx(e,t){return Tf(t,e===Gm||e===Sf,e===cl||e===fu)}function e0(e,t,r){return Tf(t,e===Sf,r?e===cl:e===fu)||e==="Enter"||e==" "||e===""}function Z6(e,t,r){return Tf(t,r?e===cl:e===fu,e===Sf)}function ez(e,t,r){return Tf(t,r?e===fu:e===cl,e===Gm)}function t0(e,t){return Or(e,{disabledIndices:t})}function gx(e,t){return Or(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}const tz=function(e,t){let{open:r,onOpenChange:n,refs:o,elements:{domReference:a}}=e,{listRef:i,activeIndex:u,onNavigate:f=()=>{},enabled:g=!0,selectedIndex:b=null,allowEscape:_=!1,loop:O=!1,nested:S=!1,rtl:C=!1,virtual:w=!1,focusItemOnOpen:m="auto",focusItemOnHover:d=!0,openOnArrowKeyDown:l=!0,disabledIndices:c=void 0,orientation:s="vertical",cols:h=1,scrollItemIntoView:v=!0}=t===void 0?{listRef:{current:[]},activeIndex:null,onNavigate:()=>{}}:t;const y=Cl(),E=di(),P=Sl(f),N=j.useRef(m),R=j.useRef(b??-1),M=j.useRef(null),D=j.useRef(!0),L=j.useRef(P),W=j.useRef(r),U=j.useRef(!1),Y=j.useRef(!1),$=_n(c),z=_n(r),H=_n(v),[G,X]=j.useState(),ie=j.useCallback(function(oe,se,ee){ee===void 0&&(ee=!1);const ae=oe.current[se.current];w?X(ae==null?void 0:ae.id):Qo(ae,{preventScroll:!0,sync:fP()&&Dh()?px||U.current:!1}),requestAnimationFrame(()=>{const ue=H.current;ue&&ae&&(ee||!D.current)&&(ae.scrollIntoView==null||ae.scrollIntoView(typeof ue=="boolean"?{block:"nearest",inline:"nearest"}:ue))})},[w,H]);Ut(()=>{document.createElement("div").focus({get preventScroll(){return px=!0,!1}})},[]),Ut(()=>{g&&(r?N.current&&b!=null&&(Y.current=!0,P(b)):W.current&&(R.current=-1,L.current(null)))},[g,r,b,P]),Ut(()=>{if(g&&r)if(u==null){if(U.current=!1,b!=null)return;W.current&&(R.current=-1,ie(i,R)),!W.current&&N.current&&(M.current!=null||N.current===!0&&M.current==null)&&(R.current=M.current==null||e0(M.current,s,C)||S?t0(i,$.current):gx(i,$.current),P(R.current))}else Jl(i,u)||(R.current=u,ie(i,R,Y.current),Y.current=!1)},[g,r,u,b,S,i,s,C,P,ie,$]),Ut(()=>{if(g&&W.current&&!r){var oe,se;const ee=E==null||(oe=E.nodesRef.current.find(ae=>ae.id===y))==null||(se=oe.context)==null?void 0:se.elements.floating;ee&&!Br(ee,ri(Hr(ee)))&&ee.focus({preventScroll:!0})}},[g,r,E,y]),Ut(()=>{M.current=null,L.current=P,W.current=r});const fe=u!=null,pe=j.useMemo(()=>{function oe(ee){if(!r)return;const ae=i.current.indexOf(ee);ae!==-1&&P(ae)}return{onFocus(ee){let{currentTarget:ae}=ee;oe(ae)},onClick:ee=>{let{currentTarget:ae}=ee;return ae.focus({preventScroll:!0})},...d&&{onMouseMove(ee){let{currentTarget:ae}=ee;oe(ae)},onPointerLeave(){if(D.current&&(R.current=-1,ie(i,R),jo.flushSync(()=>P(null)),!w)){var ee;(ee=o.floating.current)==null||ee.focus({preventScroll:!0})}}}}},[r,o,ie,d,i,P,w]);return j.useMemo(()=>{if(!g)return{};const oe=$.current;function se(de){if(D.current=!1,U.current=!0,!z.current&&de.currentTarget===o.floating.current)return;if(S&&ez(de.key,s,C)){mn(de),n(!1),ti(a)&&a.focus();return}const Te=R.current,xe=t0(i,oe),be=gx(i,oe);if(de.key==="Home"&&(R.current=xe,P(R.current)),de.key==="End"&&(R.current=be,P(R.current)),h>1){const Se=R.current;if(de.key===Gm){if(mn(de),Se===-1)R.current=be;else if(R.current=Or(i,{startingIndex:Se,amount:h,decrement:!0,disabledIndices:oe}),O&&(Se-hje?nt:nt-h}Jl(i,R.current)&&(R.current=Se),P(R.current)}if(de.key===Sf&&(mn(de),Se===-1?R.current=xe:(R.current=Or(i,{startingIndex:Se,amount:h,disabledIndices:oe}),O&&Se+h>be&&(R.current=Or(i,{startingIndex:Se%h-h,amount:h,disabledIndices:oe}))),Jl(i,R.current)&&(R.current=Se),P(R.current)),s==="both"){const je=Math.floor(Se/h);de.key===fu&&(mn(de),Se%h!==h-1?(R.current=Or(i,{startingIndex:Se,disabledIndices:oe}),O&&tc(R.current,h,je)&&(R.current=Or(i,{startingIndex:Se-Se%h-1,disabledIndices:oe}))):O&&(R.current=Or(i,{startingIndex:Se-Se%h-1,disabledIndices:oe})),tc(R.current,h,je)&&(R.current=Se)),de.key===cl&&(mn(de),Se%h!==0?(R.current=Or(i,{startingIndex:Se,disabledIndices:oe,decrement:!0}),O&&tc(R.current,h,je)&&(R.current=Or(i,{startingIndex:Se+(h-Se%h),decrement:!0,disabledIndices:oe}))):O&&(R.current=Or(i,{startingIndex:Se+(h-Se%h),decrement:!0,disabledIndices:oe})),tc(R.current,h,je)&&(R.current=Se));const qe=Math.floor(be/h)===je;Jl(i,R.current)&&(O&&qe?R.current=de.key===cl?be:Or(i,{startingIndex:Se-Se%h-1,disabledIndices:oe}):R.current=Se),P(R.current);return}}if(hx(de.key,s)){if(mn(de),r&&!w&&ri(de.currentTarget.ownerDocument)===de.currentTarget){R.current=e0(de.key,s,C)?xe:be,P(R.current);return}e0(de.key,s,C)?O?R.current=Te>=be?_&&Te!==i.current.length?-1:xe:Or(i,{startingIndex:Te,disabledIndices:oe}):R.current=Math.min(be,Or(i,{startingIndex:Te,disabledIndices:oe})):O?R.current=Te<=xe?_&&Te!==-1?i.current.length:be:Or(i,{startingIndex:Te,decrement:!0,disabledIndices:oe}):R.current=Math.max(xe,Or(i,{startingIndex:Te,decrement:!0,disabledIndices:oe})),Jl(i,R.current)?P(null):P(R.current)}}function ee(de){m==="auto"&&cP(de.nativeEvent)&&(N.current=!0)}function ae(de){N.current=m,m==="auto"&&dP(de.nativeEvent)&&(N.current=!0)}const ue=w&&r&&fe&&{"aria-activedescendant":G};return{reference:{...ue,onKeyDown(de){D.current=!1;const Te=de.key.indexOf("Arrow")===0;if(w&&r)return se(de);if(!r&&!l&&Te)return;if((Te||de.key==="Enter"||de.key===" "||de.key==="")&&(M.current=de.key),S){Z6(de.key,s,C)&&(mn(de),r?(R.current=t0(i,oe),P(R.current)):n(!0));return}hx(de.key,s)&&(b!=null&&(R.current=b),mn(de),!r&&l?n(!0):se(de),r&&P(R.current))},onFocus(){r&&P(null)},onPointerDown:ae,onMouseDown:ee,onClick:ee},floating:{"aria-orientation":s==="both"?void 0:s,...ue,onKeyDown:se,onPointerMove(){D.current=!0}},item:pe}},[a,o,G,$,z,i,g,s,C,w,r,fe,S,b,l,_,h,O,m,P,n,pe])};function rz(e){return j.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})},e)}const nz=function(e,t){let{open:r}=e,{enabled:n=!0,role:o="dialog"}=t===void 0?{}:t;const a=Ks(),i=Ks();return j.useMemo(()=>{const u={id:a,role:o};return n?o==="tooltip"?{reference:{"aria-describedby":r?a:void 0},floating:u}:{reference:{"aria-expanded":r?"true":"false","aria-haspopup":o==="alertdialog"?"dialog":o,"aria-controls":r?a:void 0,...o==="listbox"&&{role:"combobox"},...o==="menu"&&{id:i}},floating:{...u,...o==="menu"&&{"aria-labelledby":i}}}:{}},[n,o,r,a,i])},mx=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(t,r)=>(r?"-":"")+t.toLowerCase());function oz(e,t){const[r,n]=j.useState(e);return e&&!r&&n(!0),j.useEffect(()=>{if(!e){const o=setTimeout(()=>n(!1),t);return()=>clearTimeout(o)}},[e,t]),r}function _P(e,t){let{open:r,elements:{floating:n}}=e,{duration:o=250}=t===void 0?{}:t;const i=(typeof o=="number"?o:o.close)||0,[u,f]=j.useState(!1),[g,b]=j.useState("unmounted"),_=oz(r,i);return Ut(()=>{u&&!_&&b("unmounted")},[u,_]),Ut(()=>{if(n)if(r){b("initial");const O=requestAnimationFrame(()=>{b("open")});return()=>{cancelAnimationFrame(O)}}else f(!0),b("close")},[r,n]),{isMounted:_,status:g}}function az(e,t){let{initial:r={opacity:0},open:n,close:o,common:a,duration:i=250}=t===void 0?{}:t;const u=e.placement,f=u.split("-")[0],[g,b]=j.useState({}),{isMounted:_,status:O}=_P(e,{duration:i}),S=_n(r),C=_n(n),w=_n(o),m=_n(a),d=typeof i=="number",l=(d?i:i.open)||0,c=(d?i:i.close)||0;return Ut(()=>{const s={side:f,placement:u},h=S.current,v=w.current,y=C.current,E=m.current,P=typeof h=="function"?h(s):h,N=typeof v=="function"?v(s):v,R=typeof E=="function"?E(s):E,M=(typeof y=="function"?y(s):y)||Object.keys(P).reduce((D,L)=>(D[L]="",D),{});if(O==="initial"&&b(D=>({transitionProperty:D.transitionProperty,...R,...P})),O==="open"&&b({transitionProperty:Object.keys(M).map(mx).join(","),transitionDuration:l+"ms",...R,...M}),O==="close"){const D=N||P;b({transitionProperty:Object.keys(D).map(mx).join(","),transitionDuration:c+"ms",...R,...D})}},[f,u,c,w,S,C,m,l,O]),{isMounted:_,styles:g}}const iz=function(e,t){var r;let{open:n,dataRef:o}=e,{listRef:a,activeIndex:i,onMatch:u=()=>{},enabled:f=!0,findMatch:g=null,resetMs:b=1e3,ignoreKeys:_=[],selectedIndex:O=null}=t===void 0?{listRef:{current:[]},activeIndex:null}:t;const S=j.useRef(),C=j.useRef(""),w=j.useRef((r=O??i)!=null?r:-1),m=j.useRef(null),d=Sl(u),l=_n(g),c=_n(_);return Ut(()=>{n&&(clearTimeout(S.current),m.current=null,C.current="")},[n]),Ut(()=>{if(n&&C.current===""){var s;w.current=(s=O??i)!=null?s:-1}},[n,O,i]),j.useMemo(()=>{if(!f)return{};function s(h){const v=Cf(h.nativeEvent);if(xn(v)&&(ri(Hr(v))!==h.currentTarget&&v.closest('[role="dialog"],[role="menu"],[role="listbox"],[role="tree"],[role="grid"]')!==h.currentTarget))return;C.current.length>0&&C.current[0]!==" "&&(o.current.typing=!0,h.key===" "&&mn(h));const y=a.current;if(y==null||c.current.includes(h.key)||h.key.length!==1||h.ctrlKey||h.metaKey||h.altKey)return;y.every(D=>{var L,W;return D?((L=D[0])==null?void 0:L.toLocaleLowerCase())!==((W=D[1])==null?void 0:W.toLocaleLowerCase()):!0})&&C.current===h.key&&(C.current="",w.current=m.current),C.current+=h.key,clearTimeout(S.current),S.current=setTimeout(()=>{C.current="",w.current=m.current,o.current.typing=!1},b);const P=w.current,N=[...y.slice((P||0)+1),...y.slice(0,(P||0)+1)],R=l.current?l.current(N,C.current):N.find(D=>(D==null?void 0:D.toLocaleLowerCase().indexOf(C.current.toLocaleLowerCase()))===0),M=R?y.indexOf(R):-1;M!==-1&&(d(M),m.current=M)}return{reference:{onKeyDown:s},floating:{onKeyDown:s}}},[f,o,a,b,c,l,d])};function bx(e,t){return{...e,rects:{...e.rects,floating:{...e.rects.floating,height:t}}}}const lz=e=>({name:"inner",options:e,async fn(t){const{listRef:r,overflowRef:n,onFallbackChange:o,offset:a=0,index:i=0,minItemsVisible:u=4,referenceOverflowThreshold:f=0,scrollRef:g,...b}=e,{rects:_,elements:{floating:O}}=t,S=r.current[i];if(!S)return{};const C={...t,...await oP(-S.offsetTop-_.reference.height/2-S.offsetHeight/2-a).fn(t)},w=(g==null?void 0:g.current)||O,m=await kc(bx(C,w.scrollHeight),b),d=await kc(C,{...b,elementContext:"reference"}),l=Math.max(0,m.top),c=C.y+l,s=Math.max(0,w.scrollHeight-l-Math.max(0,m.bottom));return w.style.maxHeight=s+"px",w.scrollTop=l,o&&(w.offsetHeight=-f||d.bottom>=-f?jo.flushSync(()=>o(!0)):jo.flushSync(()=>o(!1))),n&&(n.current=await kc(bx({...C,y:c},w.offsetHeight),b)),{y:c}}}),sz=(e,t)=>{let{open:r,elements:n}=e,{enabled:o=!0,overflowRef:a,scrollRef:i,onChange:u}=t;const f=Sl(u),g=j.useRef(!1),b=j.useRef(null),_=j.useRef(null);return j.useEffect(()=>{if(!o)return;function O(C){if(C.ctrlKey||!S||a.current==null)return;const w=C.deltaY,m=a.current.top>=-.5,d=a.current.bottom>=-.5,l=S.scrollHeight-S.clientHeight,c=w<0?-1:1,s=w<0?"max":"min";S.scrollHeight<=S.clientHeight||(!m&&w>0||!d&&w<0?(C.preventDefault(),jo.flushSync(()=>{f(h=>h+Math[s](w,l*c))})):/firefox/i.test(uP())&&(S.scrollTop+=w))}const S=(i==null?void 0:i.current)||n.floating;if(r&&S)return S.addEventListener("wheel",O),requestAnimationFrame(()=>{b.current=S.scrollTop,a.current!=null&&(_.current={...a.current})}),()=>{b.current=null,_.current=null,S.removeEventListener("wheel",O)}},[o,r,n.floating,a,i,f]),j.useMemo(()=>o?{floating:{onKeyDown(){g.current=!0},onWheel(){g.current=!1},onPointerMove(){g.current=!1},onScroll(){const O=(i==null?void 0:i.current)||n.floating;if(!(!a.current||!O||!g.current)){if(b.current!==null){const S=O.scrollTop-b.current;(a.current.bottom<-.5&&S<-1||a.current.top<-.5&&S>1)&&jo.flushSync(()=>f(C=>C+S))}requestAnimationFrame(()=>{b.current=O.scrollTop})}}}}:{},[o,a,n.floating,i,f])};function uz(e,t){const[r,n]=e;let o=!1;const a=t.length;for(let i=0,u=a-1;i=n!=_>=n&&r<=(b-f)*(n-g)/(_-g)+f&&(o=!o)}return o}function cz(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}function dz(e){let{restMs:t=0,buffer:r=.5,blockPointerEvents:n=!1}=e===void 0?{}:e,o,a=!1,i=!1;const u=f=>{let{x:g,y:b,placement:_,elements:O,onClose:S,nodeId:C,tree:w}=f;return function(d){function l(){clearTimeout(o),S()}if(clearTimeout(o),!O.domReference||!O.floating||_==null||g==null||b==null)return;const{clientX:c,clientY:s}=d,h=[c,s],v=Cf(d),y=d.type==="mouseleave",E=Br(O.floating,v),P=Br(O.domReference,v),N=O.domReference.getBoundingClientRect(),R=O.floating.getBoundingClientRect(),M=_.split("-")[0],D=g>R.right-R.width/2,L=b>R.bottom-R.height/2,W=cz(h,N);if(E&&(i=!0),P&&(i=!1),P&&!y){i=!0;return}if(y&&xn(d.relatedTarget)&&Br(O.floating,d.relatedTarget)||w&&ws(w.nodesRef.current,C).some(z=>{let{context:H}=z;return H==null?void 0:H.open}))return;if(M==="top"&&b>=N.bottom-1||M==="bottom"&&b<=N.top+1||M==="left"&&g>=N.right-1||M==="right"&&g<=N.left+1)return l();let U=[];switch(M){case"top":U=[[R.left,N.top+1],[R.left,R.bottom-1],[R.right,R.bottom-1],[R.right,N.top+1]],a=c>=R.left&&c<=R.right&&s>=R.top&&s<=N.top+1;break;case"bottom":U=[[R.left,R.top+1],[R.left,N.bottom-1],[R.right,N.bottom-1],[R.right,R.top+1]],a=c>=R.left&&c<=R.right&&s>=N.bottom-1&&s<=R.bottom;break;case"left":U=[[R.right-1,R.bottom],[R.right-1,R.top],[N.left+1,R.top],[N.left+1,R.bottom]],a=c>=R.left&&c<=N.left+1&&s>=R.top&&s<=R.bottom;break;case"right":U=[[N.right-1,R.bottom],[N.right-1,R.top],[R.left+1,R.top],[R.left+1,R.bottom]],a=c>=N.right-1&&c<=R.right&&s>=R.top&&s<=R.bottom;break}function Y(z){let[H,G]=z;const X=R.width>N.width,ie=R.height>N.height;switch(M){case"top":{const fe=[X?H+r/2:D?H+r*4:H-r*4,G+r+1],pe=[X?H-r/2:D?H+r*4:H-r*4,G+r+1],oe=[[R.left,D||X?R.bottom-r:R.top],[R.right,D?X?R.bottom-r:R.top:R.bottom-r]];return[fe,pe,...oe]}case"bottom":{const fe=[X?H+r/2:D?H+r*4:H-r*4,G-r],pe=[X?H-r/2:D?H+r*4:H-r*4,G-r],oe=[[R.left,D||X?R.top+r:R.bottom],[R.right,D?X?R.top+r:R.bottom:R.top+r]];return[fe,pe,...oe]}case"left":{const fe=[H+r+1,ie?G+r/2:L?G+r*4:G-r*4],pe=[H+r+1,ie?G-r/2:L?G+r*4:G-r*4];return[...[[L||ie?R.right-r:R.left,R.top],[L?ie?R.right-r:R.left:R.right-r,R.bottom]],fe,pe]}case"right":{const fe=[H-r,ie?G+r/2:L?G+r*4:G-r*4],pe=[H-r,ie?G-r/2:L?G+r*4:G-r*4],oe=[[L||ie?R.left+r:R.right,R.top],[L?ie?R.left+r:R.right:R.left+r,R.bottom]];return[fe,pe,...oe]}}}const $=a?U:Y([g,b]);if(!a){if(i&&!W)return l();uz([c,s],$)?t&&!i&&(o=setTimeout(l,t)):l()}}};return u.__options={blockPointerEvents:n},u}function fz(e){e===void 0&&(e={});const{open:t=!1,onOpenChange:r,nodeId:n}=e,o=T6(e),a=di(),i=j.useRef(null),u=j.useRef({}),f=j.useState(()=>iP())[0],[g,b]=j.useState(null),_=j.useCallback(d=>{const l=xn(d)?{getBoundingClientRect:()=>d.getBoundingClientRect(),contextElement:d}:d;o.refs.setReference(l)},[o.refs]),O=j.useCallback(d=>{(xn(d)||d===null)&&(i.current=d,b(d)),(xn(o.refs.reference.current)||o.refs.reference.current===null||d!==null&&!xn(d))&&o.refs.setReference(d)},[o.refs]),S=j.useMemo(()=>({...o.refs,setReference:O,setPositionReference:_,domReference:i}),[o.refs,O,_]),C=j.useMemo(()=>({...o.elements,domReference:g}),[o.elements,g]),w=Sl(r),m=j.useMemo(()=>({...o,refs:S,elements:C,dataRef:u,nodeId:n,events:f,open:t,onOpenChange:w}),[o,n,f,t,w,S,C]);return Ut(()=>{const d=a==null?void 0:a.nodesRef.current.find(l=>l.id===n);d&&(d.context=m)}),j.useMemo(()=>({...o,context:m,refs:S,reference:O,positionReference:_}),[o,S,m,O,_])}function r0(e,t,r){const n=new Map;return{...r==="floating"&&{tabIndex:-1},...e,...t.map(o=>o?o[r]:null).concat(e).reduce((o,a)=>(a&&Object.entries(a).forEach(i=>{let[u,f]=i;if(u.indexOf("on")===0){if(n.has(u)||n.set(u,[]),typeof f=="function"){var g;(g=n.get(u))==null||g.push(f),o[u]=function(){for(var b,_=arguments.length,O=new Array(_),S=0;S<_;S++)O[S]=arguments[S];(b=n.get(u))==null||b.forEach(C=>C(...O))}}}else o[u]=f}),o),{})}}const pz=function(e){e===void 0&&(e=[]);const t=e,r=j.useCallback(a=>r0(a,e,"reference"),t),n=j.useCallback(a=>r0(a,e,"floating"),t),o=j.useCallback(a=>r0(a,e,"item"),e.map(a=>a==null?void 0:a.item));return j.useMemo(()=>({getReferenceProps:r,getFloatingProps:n,getItemProps:o}),[r,n,o])},hz=Object.freeze(Object.defineProperty({__proto__:null,FloatingDelayGroup:M6,FloatingFocusManager:$6,FloatingNode:N6,FloatingOverlay:q6,FloatingPortal:W6,FloatingTree:j6,arrow:S6,autoPlacement:b6,autoUpdate:m6,computePosition:aP,detectOverflow:kc,flip:y6,getOverflowAncestors:Oo,hide:x6,inline:_6,inner:lz,limitShift:C6,offset:oP,platform:rP,safePolygon:dz,shift:v6,size:w6,useClick:G6,useDelayGroup:I6,useDelayGroupContext:hP,useDismiss:X6,useFloating:fz,useFloatingNodeId:E6,useFloatingParentNodeId:Cl,useFloatingPortalNode:wP,useFloatingTree:di,useFocus:J6,useHover:A6,useId:Ks,useInnerOffset:sz,useInteractions:pz,useListNavigation:tz,useMergeRefs:rz,useRole:nz,useTransitionStatus:_P,useTransitionStyles:az,useTypeahead:iz},Symbol.toStringTag,{value:"Module"})),ur=Qs(hz);var CP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{DialogHeader:function(){return O},default:function(){return S}});var r=g(j),n=g(Xe),o=He,a=g(Be),i=ze,u=yl;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function _(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,i.useTheme)().dialogHeader,s=c.defaultProps,h=c.styles.base;m=m??s.className;var v=(0,o.twMerge)((0,n.default)((0,a.default)(h)),m);return r.default.createElement("div",f({},l,{ref:w,className:v}),d)});O.propTypes={className:u.propTypesClassName,children:u.propTypesChildren},O.displayName="MaterialTailwind.DialogHeader";var S=O})(CP);var SP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(w,m){for(var d in m)Object.defineProperty(w,d,{enumerable:!0,get:m[d]})}t(e,{DialogBody:function(){return S},default:function(){return C}});var r=b(j),n=b(Xe),o=He,a=b(Be),i=ze,u=yl;function f(w,m,d){return m in w?Object.defineProperty(w,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):w[m]=d,w}function g(){return g=Object.assign||function(w){for(var m=1;m=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,s;for(s=0;s=0)&&(d[c]=w[c]);return d}var S=r.default.forwardRef(function(w,m){var d=w.divider,l=w.className,c=w.children,s=_(w,["divider","className","children"]),h=(0,i.useTheme)().dialogBody,v=h.defaultProps,y=h.styles.base;l=l??v.className;var E=(0,o.twMerge)((0,n.default)((0,a.default)(y.initial),f({},(0,a.default)(y.divider),d)),l);return r.default.createElement("div",g({},s,{ref:m,className:E}),c)});S.propTypes={divider:u.propTypesDivider,className:u.propTypesClassName,children:u.propTypesChildren},S.displayName="MaterialTailwind.DialogBody";var C=S})(SP);var TP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{DialogFooter:function(){return O},default:function(){return S}});var r=g(j),n=g(Xe),o=He,a=g(Be),i=ze,u=yl;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function _(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,i.useTheme)().dialogFooter,s=c.defaultProps,h=c.styles.base;m=m??s.className;var v=(0,o.twMerge)((0,n.default)((0,a.default)(h)),m);return r.default.createElement("div",f({},l,{ref:w,className:v}),d)});O.propTypes={className:u.propTypesClassName,children:u.propTypesChildren},O.displayName="MaterialTailwind.DialogFooter";var S=O})(TP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(N,R){for(var M in R)Object.defineProperty(N,M,{enumerable:!0,get:R[M]})}t(e,{Dialog:function(){return E},DialogHeader:function(){return S.DialogHeader},DialogBody:function(){return C.DialogBody},DialogFooter:function(){return w.DialogFooter},default:function(){return P}});var r=l(j),n=l($e),o=ur,a=gr,i=l(Xe),u=l(yr),f=He,g=l(zt),b=l(Be),_=ze,O=yl,S=CP,C=SP,w=TP;function m(N,R,M){return R in N?Object.defineProperty(N,R,{value:M,enumerable:!0,configurable:!0,writable:!0}):N[R]=M,N}function d(){return d=Object.assign||function(N){for(var R=1;R=0)&&Object.prototype.propertyIsEnumerable.call(N,D)&&(M[D]=N[D])}return M}function y(N,R){if(N==null)return{};var M={},D=Object.keys(N),L,W;for(W=0;W=0)&&(M[L]=N[L]);return M}var E=r.default.forwardRef(function(N,R){var M=N.open,D=N.handler,L=N.size,W=N.dismiss,U=N.animate,Y=N.className,$=N.children,z=v(N,["open","handler","size","dismiss","animate","className","children"]),H=(0,_.useTheme)().dialog,G=H.defaultProps,X=H.valid,ie=H.styles,fe=ie.base,pe=ie.sizes;D=D??void 0,L=L??G.size,W=W??G.dismiss,U=U??G.animate,Y=Y??G.className;var oe=(0,i.default)((0,b.default)(fe.backdrop)),se=(0,f.twMerge)((0,i.default)((0,b.default)(fe.container),(0,b.default)(pe[(0,g.default)(X.sizes,L,"md")])),Y),ee={unmount:{opacity:0,y:-50,transition:{duration:.3}},mount:{opacity:1,y:0,transition:{duration:.3}}},ae={unmount:{opacity:0,transition:{delay:.2}},mount:{opacity:1}},ue=(0,u.default)(ee,U),de=(0,o.useFloating)({open:M,onOpenChange:D}),Te=de.floating,xe=de.context,be=(0,o.useId)(),Se="".concat(be,"-label"),je="".concat(be,"-description"),qe=(0,o.useInteractions)([(0,o.useClick)(xe),(0,o.useRole)(xe),(0,o.useDismiss)(xe,W)]).getFloatingProps,nt=(0,o.useMergeRefs)([R,Te]),ut=a.AnimatePresence;return r.default.createElement(a.LazyMotion,{features:a.domAnimation},r.default.createElement(o.FloatingPortal,null,r.default.createElement(ut,null,M&&r.default.createElement(o.FloatingOverlay,{style:{zIndex:9999},lockScroll:!0},r.default.createElement(o.FloatingFocusManager,{context:xe},r.default.createElement(a.m.div,{className:L==="xxl"?"":oe,initial:"unmount",exit:"unmount",animate:M?"mount":"unmount",variants:ae,transition:{duration:.2}},r.default.createElement(a.m.div,d({},qe(h(c({},z),{ref:nt,className:se,"aria-labelledby":Se,"aria-describedby":je})),{initial:"unmount",exit:"unmount",animate:M?"mount":"unmount",variants:ue}),$)))))))});E.propTypes={open:O.propTypesOpen,handler:O.propTypesHandler,size:n.default.oneOf(O.propTypesSize),dismiss:O.propTypesDismiss,animate:O.propTypesAnimate,className:O.propTypesClassName,children:O.propTypesChildren},E.displayName="MaterialTailwind.Dialog";var P=Object.assign(E,{Header:S.DialogHeader,Body:C.DialogBody,Footer:w.DialogFooter})})(zO);var OP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{Input:function(){return C},default:function(){return w}});var r=_(j),n=_($e),o=_(Xe),a=_(zt),i=_(Be),u=ze,f=nu;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function S(m,d){if(m==null)return{};var l={},c=Object.keys(m),s,h;for(h=0;h=0)&&(l[s]=m[s]);return l}var C=r.default.forwardRef(function(m,d){var l=m.variant,c=m.color,s=m.size,h=m.label,v=m.error,y=m.success,E=m.icon,P=m.containerProps,N=m.labelProps,R=m.className,M=m.shrink,D=m.inputRef,L=O(m,["variant","color","size","label","error","success","icon","containerProps","labelProps","className","shrink","inputRef"]),W=(0,u.useTheme)().input,U=W.defaultProps,Y=W.valid,$=W.styles,z=$.base,H=$.variants;l=l??U.variant,s=s??U.size,c=c??U.color,h=h??U.label,N=N??U.labelProps,P=P??U.containerProps,R=R??U.className,M=M??U.shrink,E=E??U.icon;var G=H[(0,a.default)(Y.variants,l,"outlined")],X=G.sizes[(0,a.default)(Y.sizes,s,"md")],ie=(0,i.default)(G.error.input),fe=(0,i.default)(G.success.input),pe=(0,i.default)(G.shrink.input),oe=(0,i.default)(G.colors.input[(0,a.default)(Y.colors,c,"gray")]),se=(0,i.default)(G.error.label),ee=(0,i.default)(G.success.label),ae=(0,i.default)(G.shrink.label),ue=(0,i.default)(G.colors.label[(0,a.default)(Y.colors,c,"gray")]),de=(0,o.default)((0,i.default)(z.container),(0,i.default)(X.container),P==null?void 0:P.className),Te=(0,o.default)((0,i.default)(z.input),(0,i.default)(G.base.input),(0,i.default)(X.input),g({},(0,i.default)(G.base.inputWithIcon),E),g({},oe,!v&&!y),g({},ie,v),g({},fe,y),g({},pe,M),R),xe=(0,o.default)((0,i.default)(z.label),(0,i.default)(G.base.label),(0,i.default)(X.label),g({},ue,!v&&!y),g({},se,v),g({},ee,y),g({},ae,M),N==null?void 0:N.className),be=(0,o.default)((0,i.default)(z.icon),(0,i.default)(G.base.icon),(0,i.default)(X.icon)),Se=(0,o.default)((0,i.default)(z.asterisk));return r.default.createElement("div",b({},P,{ref:d,className:de}),E&&r.default.createElement("div",{className:be},E),r.default.createElement("input",b({},L,{ref:D,className:Te,placeholder:(L==null?void 0:L.placeholder)||" "})),r.default.createElement("label",b({},N,{className:xe}),h," ",L.required?r.default.createElement("span",{className:Se},"*"):""))});C.propTypes={variant:n.default.oneOf(f.propTypesVariant),size:n.default.oneOf(f.propTypesSize),color:n.default.oneOf(f.propTypesColor),label:f.propTypesLabel,error:f.propTypesError,success:f.propTypesSuccess,icon:f.propTypesIcon,labelProps:f.propTypesLabelProps,containerProps:f.propTypesContainerProps,shrink:f.propTypesShrink,className:f.propTypesClassName},C.displayName="MaterialTailwind.Input";var w=C})(OP);var PP={},pu={},Tl={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(s,h){for(var v in h)Object.defineProperty(s,v,{enumerable:!0,get:h[v]})}t(e,{propTypesOpen:function(){return g},propTypesHandler:function(){return b},propTypesPlacement:function(){return _},propTypesOffset:function(){return O},propTypesDismiss:function(){return S},propTypesAnimate:function(){return C},propTypesLockScroll:function(){return w},propTypesDisabled:function(){return m},propTypesClassName:function(){return d},propTypesChildren:function(){return l},propTypesContextValue:function(){return c}});var r=a($e),n=Dt;function o(s,h,v){return h in s?Object.defineProperty(s,h,{value:v,enumerable:!0,configurable:!0,writable:!0}):s[h]=v,s}function a(s){return s&&s.__esModule?s:{default:s}}function i(s){for(var h=1;hl.length)&&(c=l.length);for(var s=0,h=new Array(c);s=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,s;for(s=0;s=0)&&(d[c]=w[c]);return d}var S=r.default.forwardRef(function(w,m){var d=w.children,l=_(w,["children"]),c=(0,o.useMenu)(),s=c.getReferenceProps,h=c.reference,v=c.nested,y=(0,n.useMergeRefs)([m,h]);return r.default.cloneElement(d,f({},s(f(b(f({},l),{ref:y,onClick:function(P){P.stopPropagation()}}),v&&{role:"menuitem"}))))});S.propTypes={children:a.propTypesChildren},S.displayName="MaterialTailwind.MenuHandler";var C=S})(EP);var NP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{MenuList:function(){return w},default:function(){return m}});var r=O(j),n=ur,o=gr,a=O(Xe),i=He,u=O(Be),f=ze,g=pu,b=Tl;function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.children,s=d.className,h=S(d,["children","className"]),v=(0,f.useTheme)().menu,y=v.styles.base,E=(0,g.useMenu)(),P=E.open,N=E.handler,R=E.strategy,M=E.x,D=E.y,L=E.floating,W=E.listItemsRef,U=E.getFloatingProps,Y=E.getItemProps,$=E.appliedAnimation,z=E.lockScroll,H=E.context,G=E.activeIndex,X=E.tree,ie=E.allowHover,fe=E.internalAllowHover,pe=E.setActiveIndex,oe=E.nested;s=s??"";var se=(0,i.twMerge)((0,a.default)((0,u.default)(y.menu)),s),ee=(0,n.useMergeRefs)([l,L]),ae=o.AnimatePresence,ue=r.default.createElement(o.m.div,_({},h,{ref:ee,style:{position:R,top:D??0,left:M??0},className:se},U({onKeyDown:function(Te){Te.key==="Tab"&&(N(!1),Te.shiftKey&&Te.preventDefault())}}),{initial:"unmount",exit:"unmount",animate:P?"mount":"unmount",variants:$}),r.default.Children.map(c,function(de,Te){return r.default.isValidElement(de)&&r.default.cloneElement(de,Y({tabIndex:G===Te?0:-1,role:"menuitem",className:de.props.className,ref:function(be){W.current[Te]=be},onClick:function(be){if(de.props.onClick){var Se,je;(je=(Se=de.props).onClick)===null||je===void 0||je.call(Se,be)}X==null||X.events.emit("click")},onMouseEnter:function(){(ie&&P||fe&&P)&&pe(Te)}}))}));return r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(n.FloatingPortal,null,r.default.createElement(ae,null,P&&r.default.createElement(r.default.Fragment,null,z?r.default.createElement(n.FloatingOverlay,{lockScroll:!0},r.default.createElement(n.FloatingFocusManager,{context:H,modal:!oe,initialFocus:oe?-1:0,returnFocus:!oe,visuallyHiddenDismiss:!0},ue)):r.default.createElement(n.FloatingFocusManager,{context:H,modal:!oe,initialFocus:oe?-1:0,returnFocus:!oe,visuallyHiddenDismiss:!0},ue)))))});w.propTypes={className:b.propTypesClassName,children:b.propTypesChildren},w.displayName="MaterialTailwind.MenuList";var m=w})(NP);var jP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(w,m){for(var d in m)Object.defineProperty(w,d,{enumerable:!0,get:m[d]})}t(e,{MenuItem:function(){return S},default:function(){return C}});var r=b(j),n=b(Xe),o=He,a=b(Be),i=ze,u=Tl;function f(w,m,d){return m in w?Object.defineProperty(w,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):w[m]=d,w}function g(){return g=Object.assign||function(w){for(var m=1;m=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,s;for(s=0;s=0)&&(d[c]=w[c]);return d}var S=r.default.forwardRef(function(w,m){var d=w.className,l=d===void 0?"":d,c=w.disabled,s=c===void 0?!1:c,h=w.children,v=_(w,["className","disabled","children"]),y=(0,i.useTheme)().menu,E=y.styles.base,P=(0,o.twMerge)((0,n.default)((0,a.default)(E.item.initial),f({},(0,a.default)(E.item.disabled),s)),l);return r.default.createElement("button",g({},v,{ref:m,role:"menuitem",className:P}),h)});S.propTypes={className:u.propTypesClassName,disabled:u.propTypesDisabled,children:u.propTypesChildren},S.displayName="MaterialTailwind.MenuItem";var C=S})(jP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(S,C){for(var w in C)Object.defineProperty(S,w,{enumerable:!0,get:C[w]})}t(e,{Menu:function(){return _},MenuHandler:function(){return i.MenuHandler},MenuList:function(){return u.MenuList},MenuItem:function(){return f.MenuItem},useMenu:function(){return o.useMenu},default:function(){return O}});var r=b(j),n=ur,o=pu,a=kP,i=EP,u=NP,f=jP;function g(){return g=Object.assign||function(S){for(var C=1;C=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.open,s=d.animate,h=d.className,v=d.children,y=S(d,["open","animate","className","children"]),E;console.error(` will be deprecated in the future versions of @material-tailwind/react use instead. - -More details: https://www.material-tailwind.com/docs/react/collapse - `);var P=r.default.useRef(null),N=(0,g.useTheme)().navbar,R=N.styles,M=R.base.mobileNav;s=s??{},h=h??"";var D=(0,u.twMerge)((0,i.default)((0,f.default)(M)),h),L={unmount:{height:0,opacity:0,transition:{duration:.3,times:"[0.4, 0, 0.2, 1]"}},mount:{opacity:1,height:"".concat((E=P.current)===null||E===void 0?void 0:E.scrollHeight,"px"),transition:{duration:.3,times:"[0.4, 0, 0.2, 1]"}}},W=(0,a.default)(L,s),U=n.AnimatePresence,Y=(0,o.useMergeRefs)([l,P]);return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(U,null,r.default.createElement(n.m.div,_({},y,{ref:Y,className:D,initial:"unmount",exit:"unmount",animate:c?"mount":"unmount",variants:W}),v)))});w.displayName="MaterialTailwind.MobileNav",w.propTypes={open:b.propTypesOpen,animate:b.propTypesAnimate,className:b.propTypesClassName,children:b.propTypesChildren};var m=w})(AP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Navbar:function(){return m},MobileNav:function(){return g.MobileNav},default:function(){return d}});var r=S(j),n=S($e),o=S(Xe),a=He,i=S(zt),u=S(Be),f=ze,g=AP,b=of;function _(l,c,s){return c in l?Object.defineProperty(l,c,{value:s,enumerable:!0,configurable:!0,writable:!0}):l[c]=s,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.variant,h=l.color,v=l.shadow,y=l.blurred,E=l.fullWidth,P=l.className,N=l.children,R=C(l,["variant","color","shadow","blurred","fullWidth","className","children"]),M=(0,f.useTheme)().navbar,D=M.defaultProps,L=M.valid,W=M.styles,U=W.base,Y=W.variants;s=s??D.variant,h=h??D.color,v=v??D.shadow,y=y??D.blurred,E=E??D.fullWidth,P=P??D.className;var $,z=(0,o.default)((0,u.default)(U.navbar.initial),($={},_($,(0,u.default)(U.navbar.shadow),v),_($,(0,u.default)(U.navbar.blurred),y&&h==="white"),_($,(0,u.default)(U.navbar.fullWidth),E),$)),H=(0,o.default)((0,u.default)(Y[(0,i.default)(L.variants,s,"filled")][(0,i.default)(L.colors,h,"white")])),G=(0,a.twMerge)((0,o.default)(z,H),P);return r.default.createElement("nav",O({},R,{ref:c,className:G}),N)});m.propTypes={variant:n.default.oneOf(b.propTypesVariant),color:n.default.oneOf(b.propTypesColor),shadow:b.propTypesShadow,blurred:b.propTypesBlurred,fullWidth:b.propTypesFullWidth,className:b.propTypesClassName,children:b.propTypesChildren},m.displayName="MaterialTailwind.Navbar";var d=Object.assign(m,{MobileNav:g.MobileNav})})(RP);var MP={},Of={},Ol={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{propTypesOpen:function(){return a},propTypesHandler:function(){return i},propTypesPlacement:function(){return u},propTypesOffset:function(){return f},propTypesDismiss:function(){return g},propTypesAnimate:function(){return b},propTypesContent:function(){return _},propTypesInteractive:function(){return O},propTypesClassName:function(){return S},propTypesChildren:function(){return C},propTypesContextValue:function(){return w}});var r=o($e),n=Dt;function o(m){return m&&m.__esModule?m:{default:m}}var a=r.default.bool,i=r.default.func,u=n.propTypesPlacements,f=n.propTypesOffsetType,g=n.propTypesDismissType,b=n.propTypesAnimation,_=r.default.node,O=r.default.bool,S=r.default.string,C=r.default.node.isRequired,w=r.default.shape({open:r.default.bool.isRequired,strategy:r.default.oneOf(["fixed","absolute"]).isRequired,x:r.default.number,y:r.default.number,context:r.default.instanceOf(Object).isRequired,reference:r.default.func.isRequired,floating:r.default.func.isRequired,getReferenceProps:r.default.func.isRequired,getFloatingProps:r.default.func.isRequired,appliedAnimation:b.isRequired,labelId:r.default.string.isRequired,descriptionId:r.default.string.isRequired}).isRequired})(Ol);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(f,g){for(var b in g)Object.defineProperty(f,b,{enumerable:!0,get:g[b]})}t(e,{PopoverContext:function(){return a},usePopover:function(){return i},PopoverContextProvider:function(){return u}});var r=o(j),n=Ol;function o(f){return f&&f.__esModule?f:{default:f}}var a=r.default.createContext(null);a.displayName="MaterialTailwind.PopoverContext";function i(){var f=r.default.useContext(a);if(!f)throw new Error("usePopover() must be used within a Popover. It happens when you use PopoverHandler or PopoverContent components outside the Popover component.");return f}var u=function(f){var g=f.value,b=f.children;return r.default.createElement(a.Provider,{value:g},b)};u.propTypes={value:n.propTypesContextValue,children:n.propTypesChildren},u.displayName="MaterialTailwind.PopoverContextProvider"})(Of);var IP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(w,m){for(var d in m)Object.defineProperty(w,d,{enumerable:!0,get:m[d]})}t(e,{PopoverHandler:function(){return S},default:function(){return C}});var r=u(j),n=ur,o=Of,a=Ol;function i(w,m,d){return m in w?Object.defineProperty(w,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):w[m]=d,w}function u(w){return w&&w.__esModule?w:{default:w}}function f(w){for(var m=1;m=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,s;for(s=0;s=0)&&(d[c]=w[c]);return d}var S=r.default.forwardRef(function(w,m){var d=w.children,l=_(w,["children"]),c=(0,o.usePopover)(),s=c.getReferenceProps,h=c.reference,v=(0,n.useMergeRefs)([m,h]);return r.default.cloneElement(d,f({},s(b(f({},l),{ref:v}))))});S.propTypes={children:a.propTypesChildren},S.displayName="MaterialTailwind.PopoverHandler";var C=S})(IP);var DP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(h,v){for(var y in v)Object.defineProperty(h,y,{enumerable:!0,get:v[y]})}t(e,{PopoverContent:function(){return c},default:function(){return s}});var r=S(j),n=ur,o=gr,a=S(Xe),i=He,u=S(Be),f=ze,g=Of,b=Ol;function _(h,v,y){return v in h?Object.defineProperty(h,v,{value:y,enumerable:!0,configurable:!0,writable:!0}):h[v]=y,h}function O(){return O=Object.assign||function(h){for(var v=1;v=0)&&Object.prototype.propertyIsEnumerable.call(h,E)&&(y[E]=h[E])}return y}function l(h,v){if(h==null)return{};var y={},E=Object.keys(h),P,N;for(N=0;N=0)&&(y[P]=h[P]);return y}var c=r.default.forwardRef(function(h,v){var y=h.children,E=h.className,P=d(h,["children","className"]),N=(0,f.useTheme)().popover,R=N.defaultProps,M=N.styles.base,D=(0,g.usePopover)(),L=D.open,W=D.strategy,U=D.x,Y=D.y,$=D.context,z=D.floating,H=D.getFloatingProps,G=D.appliedAnimation,X=D.labelId,ie=D.descriptionId;E=E??R.className;var fe=(0,i.twMerge)((0,a.default)((0,u.default)(M)),E),pe=(0,n.useMergeRefs)([v,z]),oe=o.AnimatePresence;return r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(n.FloatingPortal,null,r.default.createElement(oe,null,L&&r.default.createElement(n.FloatingFocusManager,{context:$},r.default.createElement(o.m.div,O({},H(m(C({},P),{ref:pe,className:fe,style:{position:W,top:Y??"",left:U??""},"aria-labelledby":X,"aria-describedby":ie})),{initial:"unmount",exit:"unmount",animate:L?"mount":"unmount",variants:G}),y)))))});c.propTypes={className:b.propTypesClassName,children:b.propTypesChildren},c.displayName="MaterialTailwind.PopoverContent";var s=c})(DP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(s,h){for(var v in h)Object.defineProperty(s,v,{enumerable:!0,get:h[v]})}t(e,{Popover:function(){return l},PopoverHandler:function(){return g.PopoverHandler},PopoverContent:function(){return b.PopoverContent},usePopover:function(){return u.usePopover},default:function(){return c}});var r=S(j),n=S($e),o=ur,a=S(yr),i=ze,u=Of,f=Ol,g=IP,b=DP;function _(s,h){(h==null||h>s.length)&&(h=s.length);for(var v=0,y=new Array(h);v=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,s=d.color,h=d.size,v=d.value,y=d.label,E=d.className,P=d.barProps,N=S(d,["variant","color","size","value","label","className","barProps"]),R=(0,f.useTheme)().progress,M=R.defaultProps,D=R.valid,L=R.styles,W=L.base,U=L.variants,Y=L.sizes;c=c??M.variant,s=s??M.color,h=h??M.size,y=y??M.label,E=E??M.className,P=P??M.barProps;var $=(0,u.default)(U[(0,i.default)(D.variants,c,"filled")][(0,i.default)(D.colors,s,"gray")]),z=(0,u.default)(Y[(0,i.default)(D.sizes,h,"md")].container.initial),H=(0,o.default)((0,u.default)(W.container.initial),z),G=(0,u.default)(Y[(0,i.default)(D.sizes,h,"md")].container.withLabel),X=(0,o.default)((0,u.default)(W.container.withLabel),G),ie=(0,u.default)(Y[(0,i.default)(D.sizes,h,"md")].bar),fe=(0,o.default)((0,u.default)(W.bar),ie),pe=(0,a.twMerge)((0,o.default)(H,b({},X,y)),E),oe=(0,a.twMerge)((0,o.default)(fe,$),P==null?void 0:P.className);return r.default.createElement("div",_({},N,{ref:l,className:pe}),r.default.createElement("div",_({},P,{className:oe,style:{width:"".concat(v,"%")}}),y&&"".concat(v,"% ").concat(typeof y=="string"?y:"")))});w.propTypes={variant:n.default.oneOf(g.propTypesVariant),color:n.default.oneOf(g.propTypesColor),size:n.default.oneOf(g.propTypesSize),value:g.propTypesValue,label:g.propTypesLabel,barProps:g.propTypesBarProps,className:g.propTypesClassName},w.displayName="MaterialTailwind.Progress";var m=w})(LP);var FP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Radio:function(){return m},default:function(){return d}});var r=S(j),n=S($e),o=S(xl),a=S(Xe),i=He,u=S(zt),f=S(Be),g=ze,b=ui;function _(l,c,s){return c in l?Object.defineProperty(l,c,{value:s,enumerable:!0,configurable:!0,writable:!0}):l[c]=s,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.color,h=l.label,v=l.icon,y=l.ripple,E=l.className,P=l.disabled,N=l.containerProps,R=l.labelProps,M=l.iconProps,D=l.inputRef,L=C(l,["color","label","icon","ripple","className","disabled","containerProps","labelProps","iconProps","inputRef"]),W=(0,g.useTheme)().radio,U=W.defaultProps,Y=W.valid,$=W.styles,z=$.base,H=$.colors,G=r.default.useId();s=s??U.color,h=h??U.label,v=v??U.icon,y=y??U.ripple,E=E??U.className,P=P??U.disabled,N=N??U.containerProps,R=R??U.labelProps,M=M??U.iconProps;var X=y!==void 0&&new o.default,ie=(0,a.default)((0,f.default)(z.root),_({},(0,f.default)(z.disabled),P)),fe=(0,i.twMerge)((0,a.default)((0,f.default)(z.container)),N==null?void 0:N.className),pe=(0,i.twMerge)((0,a.default)((0,f.default)(z.input),(0,f.default)(H[(0,u.default)(Y.colors,s,"gray")])),E),oe=(0,i.twMerge)((0,a.default)((0,f.default)(z.label)),R==null?void 0:R.className),se=(0,a.default)((0,a.default)((0,f.default)(z.icon)),H[(0,u.default)(Y.colors,s,"gray")].color,M==null?void 0:M.className);return r.default.createElement("div",{ref:c,className:ie},r.default.createElement("label",O({},N,{className:fe,htmlFor:L.id||G,onMouseDown:function(ee){var ae=N==null?void 0:N.onMouseDown;return y&&X.create(ee,"dark"),typeof ae=="function"&&ae(ee)}}),r.default.createElement("input",O({},L,{ref:D,type:"radio",disabled:P,className:pe,id:L.id||G})),r.default.createElement("span",{className:se},v||r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-3.5 w-3.5",viewBox:"0 0 16 16",fill:"currentColor"},r.default.createElement("circle",{"data-name":"ellipse",cx:"8",cy:"8",r:"8"})))),h&&r.default.createElement("label",O({},R,{className:oe,htmlFor:L.id||G}),h))});m.propTypes={color:n.default.oneOf(b.propTypesColor),label:b.propTypesLabel,icon:b.propTypesIcon,ripple:b.propTypesRipple,className:b.propTypesClassName,disabled:b.propTypesDisabled,containerProps:b.propTypesObject,labelProps:b.propTypesObject},m.displayName="MaterialTailwind.Radio";var d=m})(FP);var zP={},Km={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(b,_){for(var O in _)Object.defineProperty(b,O,{enumerable:!0,get:_[O]})}t(e,{SelectContext:function(){return i},useSelect:function(){return u},usePrevious:function(){return f},SelectContextProvider:function(){return g}});var r=a(j),n=gr,o=ou;function a(b){return b&&b.__esModule?b:{default:b}}var i=r.default.createContext(null);i.displayName="MaterialTailwind.SelectContext";function u(){var b=r.default.useContext(i);if(b===null)throw new Error("useSelect() must be used within a Select. It happens when you use SelectOption component outside the Select component.");return b}function f(b){var _=r.default.useRef();return(0,n.useIsomorphicLayoutEffect)(function(){_.current=b},[b]),_.current}var g=function(b){var _=b.value,O=b.children;return r.default.createElement(i.Provider,{value:_},O)};g.propTypes={value:o.propTypesContextValue,children:o.propTypesChildren},g.displayName="MaterialTailwind.SelectContextProvider"})(Km);var BP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{SelectOption:function(){return C},default:function(){return w}});var r=_(j),n=_(Xe),o=He,a=_(Be),i=ze,u=Km,f=ou;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function S(m,d){if(m==null)return{};var l={},c=Object.keys(m),s,h;for(h=0;h=0)&&(l[s]=m[s]);return l}var C=function(m){var d=function(){$(v),G(s),H(!1),ie(null)},l=function(Te){(Te.key==="Enter"||Te.key===" "&&!pe.current.typing)&&(Te.preventDefault(),d())},c=m.value,s=c===void 0?"":c,h=m.index,v=h===void 0?0:h,y=m.disabled,E=y===void 0?!1:y,P=m.className,N=P===void 0?"":P,R=m.children,M=O(m,["value","index","disabled","className","children"]),D=(0,i.useTheme)().select,L=D.styles,W=L.base,U=(0,u.useSelect)(),Y=U.selectedIndex,$=U.setSelectedIndex,z=U.listRef,H=U.setOpen,G=U.onChange,X=U.activeIndex,ie=U.setActiveIndex,fe=U.getItemProps,pe=U.dataRef,oe=(0,a.default)(W.option.initial),se=(0,a.default)(W.option.active),ee=(0,a.default)(W.option.disabled),ae,ue=(0,o.twMerge)((0,n.default)(oe,(ae={},g(ae,se,Y===v),g(ae,ee,E),ae)),N??"");return r.default.createElement("li",b({},M,{role:"option",ref:function(de){return z.current[v]=de},className:ue,disabled:E,tabIndex:X===v?0:1,"aria-selected":X===v&&Y===v,"data-selected":Y===v},fe({onClick:function(de){var Te=M==null?void 0:M.onClick;typeof Te=="function"&&(Te(de),d()),d()},onKeyDown:function(de){var Te=M==null?void 0:M.onKeyDown;typeof Te=="function"&&(Te(de),l(de)),l(de)}})),R)};C.propTypes={value:f.propTypesValue,index:f.propTypesIndex,disabled:f.propTypesDisabled,className:f.propTypesClassName,children:f.propTypesChildren},C.displayName="MaterialTailwind.SelectOption";var w=C})(BP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(z,H){for(var G in H)Object.defineProperty(z,G,{enumerable:!0,get:H[G]})}t(e,{Select:function(){return Y},Option:function(){return C.SelectOption},useSelect:function(){return O.useSelect},usePrevious:function(){return O.usePrevious},default:function(){return $}});var r=s(j),n=s($e),o=ur,a=gr,i=s(Xe),u=He,f=s(yr),g=s(zt),b=s(Be),_=ze,O=Km,S=ou,C=BP;function w(z,H){(H==null||H>z.length)&&(H=z.length);for(var G=0,X=new Array(H);G=0)&&Object.prototype.propertyIsEnumerable.call(z,X)&&(G[X]=z[X])}return G}function D(z,H){if(z==null)return{};var G={},X=Object.keys(z),ie,fe;for(fe=0;fe=0)&&(G[ie]=z[ie]);return G}function L(z,H){return m(z)||v(z,H)||U(z,H)||y()}function W(z){return d(z)||h(z)||U(z)||E()}function U(z,H){if(z){if(typeof z=="string")return w(z,H);var G=Object.prototype.toString.call(z).slice(8,-1);if(G==="Object"&&z.constructor&&(G=z.constructor.name),G==="Map"||G==="Set")return Array.from(G);if(G==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(G))return w(z,H)}}var Y=r.default.forwardRef(function(z,H){var G=z.variant,X=z.color,ie=z.size,fe=z.label,pe=z.error,oe=z.success,se=z.arrow,ee=z.value,ae=z.onChange,ue=z.selected,de=z.offset,Te=z.dismiss,xe=z.animate,be=z.lockScroll,Se=z.labelProps,je=z.menuProps,qe=z.className,nt=z.disabled,ut=z.name,Ye=z.children,rt=z.containerProps,Je=M(z,["variant","color","size","label","error","success","arrow","value","onChange","selected","offset","dismiss","animate","lockScroll","labelProps","menuProps","className","disabled","name","children","containerProps"]),Ve,me=(0,_.useTheme)().select,te=me.defaultProps,ge=me.valid,_e=me.styles,Pe=_e.base,Ce=_e.variants,we=L(r.default.useState("close"),2),Ie=we[0],Ue=we[1];G=G??te.variant,X=X??te.color,ie=ie??te.size,fe=fe??te.label,pe=pe??te.error,oe=oe??te.success,se=se??te.arrow,ee=ee??te.value,ae=ae??te.onChange,ue=ue??te.selected,de=de??te.offset,Te=Te??te.dismiss,xe=xe??te.animate,Se=Se??te.labelProps,je=je??te.menuProps;var Ze;rt=(Ze=(0,f.default)(rt,(te==null?void 0:te.containerProps)||{}))!==null&&Ze!==void 0?Ze:te.containerProps,qe=qe??te.className;var Bt=r.default.useRef([]),et,Xt=r.default.useRef(W((et=r.default.Children.map(Ye,function(Pt){var Kt=Pt.props;return Kt==null?void 0:Kt.value}))!==null&&et!==void 0?et:[])),qt=L(r.default.useState(!1),2),Et=qt[0],tr=qt[1],Jt=L(r.default.useState(null),2),Nt=Jt[0],Nr=Jt[1],bt=L(r.default.useState(0),2),Gt=bt[0],On=bt[1],Gn=L(r.default.useState(!1),2),fo=Gn[0],Kr=Gn[1],Kn=(0,O.usePrevious)(Nt),wr=(0,o.useFloating)({placement:"bottom-start",open:Et,onOpenChange:tr,whileElementsMounted:o.autoUpdate,middleware:[(0,o.offset)(5),(0,o.flip)({padding:10}),(0,o.size)({apply:function(Kt){var Rt=Kt.rects,cn=Kt.elements,jr,dn;Object.assign(cn==null||(jr=cn.floating)===null||jr===void 0?void 0:jr.style,{width:"".concat(Rt==null||(dn=Rt.reference)===null||dn===void 0?void 0:dn.width,"px"),zIndex:99})},padding:20})]}),Yr=wr.x,pt=wr.y,po=wr.strategy,Z=wr.refs,Oe=wr.context;r.default.useEffect(function(){On(Math.max(0,Xt.current.indexOf(ee)+1))},[ee]);var Re=Z.floating,_t=(0,o.useInteractions)([(0,o.useClick)(Oe),(0,o.useRole)(Oe,{role:"listbox"}),(0,o.useDismiss)(Oe,P({},Te)),(0,o.useListNavigation)(Oe,{listRef:Bt,activeIndex:Nt,selectedIndex:Gt,onNavigate:Nr,loop:!0}),(0,o.useTypeahead)(Oe,{listRef:Xt,activeIndex:Nt,selectedIndex:Gt,onMatch:Et?Nr:On})]),jt=_t.getReferenceProps,vt=_t.getFloatingProps,Ct=_t.getItemProps;(0,a.useIsomorphicLayoutEffect)(function(){var Pt=Re.current;if(Et&&fo&&Pt){var Kt=Nt!=null?Bt.current[Nt]:Gt!=null?Bt.current[Gt]:null;if(Kt&&Kn!=null){var Rt,cn,jr=(cn=(Rt=Bt.current[Kn])===null||Rt===void 0?void 0:Rt.offsetHeight)!==null&&cn!==void 0?cn:0,dn=Pt.offsetHeight,ka=Kt.offsetTop,gi=ka+jr;kadn+Pt.scrollTop&&(Pt.scrollTop+=gi-dn-Pt.scrollTop+5)}}},[Et,fo,Kn,Nt]);var cr=r.default.useMemo(function(){return{selectedIndex:Gt,setSelectedIndex:On,listRef:Bt,setOpen:tr,onChange:ae||function(){},activeIndex:Nt,setActiveIndex:Nr,getItemProps:Ct,dataRef:Oe.dataRef}},[Gt,ae,Nt,Ct,Oe.dataRef]);r.default.useEffect(function(){Ue(Et?"open":!Et&&Gt||!Et&&ee?"withValue":"close")},[Et,ee,Gt,ue]);var lt=Ce[(0,g.default)(ge.variants,G,"outlined")],xr=lt.sizes[(0,g.default)(ge.sizes,ie,"md")],Zt=lt.error.select,ar=lt.success.select,Fr=lt.colors.select[(0,g.default)(ge.colors,X,"gray")],Pn=lt.error.label,Qr=lt.success.label,Sa=lt.colors.label[(0,g.default)(ge.colors,X,"gray")],Ta=lt.states[Ie],Yn=(0,i.default)((0,b.default)(Pe.container),(0,b.default)(xr.container),rt==null?void 0:rt.className),Xr=(0,u.twMerge)((0,i.default)((0,b.default)(Pe.select),(0,b.default)(lt.base.select),(0,b.default)(Ta.select),(0,b.default)(xr.select),l({},(0,b.default)(Fr[Ie]),!pe&&!oe),l({},(0,b.default)(Zt.initial),pe),l({},(0,b.default)(Zt.states[Ie]),pe),l({},(0,b.default)(ar.initial),oe),l({},(0,b.default)(ar.states[Ie]),oe)),qe),Qn,hi=(0,u.twMerge)((0,i.default)((0,b.default)(Pe.label),(0,b.default)(lt.base.label),(0,b.default)(Ta.label),(0,b.default)(xr.label.initial),(0,b.default)(xr.label.states[Ie]),l({},(0,b.default)(Sa[Ie]),!pe&&!oe),l({},(0,b.default)(Pn.initial),pe),l({},(0,b.default)(Pn.states[Ie]),pe),l({},(0,b.default)(Qr.initial),oe),l({},(0,b.default)(Qr.states[Ie]),oe)),(Qn=Se.className)!==null&&Qn!==void 0?Qn:""),ho=(0,i.default)((0,b.default)(Pe.arrow.initial),l({},(0,b.default)(Pe.arrow.active),Et)),Do,Lo=(0,u.twMerge)((0,i.default)((0,b.default)(Pe.menu)),(Do=je.className)!==null&&Do!==void 0?Do:""),Oa=(0,i.default)("absolute top-2/4 -translate-y-2/4",G==="outlined"?"left-3 pt-0.5":"left-0 pt-3"),Nl={unmount:{opacity:0,transformOrigin:"top",transform:"scale(0.95)",transition:{duration:.2,times:[.4,0,.2,1]}},mount:{opacity:1,transformOrigin:"top",transform:"scale(1)",transition:{duration:.2,times:[.4,0,.2,1]}}},jl=(0,f.default)(Nl,xe),Pa=a.AnimatePresence;r.default.useEffect(function(){ee&&!ae&&console.error("Warning: You provided a `value` prop to a select component without an `onChange` handler. This will render a read-only select. If the field should be mutable use `onChange` handler with `value` together.")},[ee,ae]);var go=r.default.createElement(o.FloatingFocusManager,{context:Oe,modal:!1},r.default.createElement(a.m.ul,c({},vt(R(P({},je),{ref:Z.setFloating,role:"listbox",className:Lo,style:{position:po,top:pt??0,left:Yr??0,overflow:"auto"},onPointerEnter:function(Kt){var Rt=je==null?void 0:je.onPointerEnter;typeof Rt=="function"&&(Rt(Kt),Kr(!1)),Kr(!1)},onPointerMove:function(Kt){var Rt=je==null?void 0:je.onPointerMove;typeof Rt=="function"&&(Rt(Kt),Kr(!1)),Kr(!1)},onKeyDown:function(Kt){var Rt=je==null?void 0:je.onKeyDown;typeof Rt=="function"&&(Rt(Kt),Kr(!0)),Kr(!0)}})),{initial:"unmount",exit:"unmount",animate:Et?"mount":"unmount",variants:jl}),r.default.Children.map(Ye,function(Pt,Kt){var Rt;return r.default.isValidElement(Pt)&&r.default.cloneElement(Pt,R(P({},Pt.props),{index:((Rt=Pt.props)===null||Rt===void 0?void 0:Rt.index)||Kt+1,id:"material-tailwind-select-".concat(Kt)}))})));return r.default.createElement(O.SelectContextProvider,{value:cr},r.default.createElement("div",c({},rt,{ref:H,className:Yn}),r.default.createElement("button",c({type:"button"},jt(R(P({},Je),{ref:Z.setReference,className:Xr,disabled:nt,name:ut}))),typeof ue=="function"?r.default.createElement("span",{className:Oa},ue(Ye[Gt-1],Gt-1)):ee&&!ae?r.default.createElement("span",{className:Oa},ee):r.default.createElement("span",c({},(Ve=Ye[Gt-1])===null||Ve===void 0?void 0:Ve.props,{className:Oa})),r.default.createElement("div",{className:ho},se??r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},r.default.createElement("path",{fillRule:"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",clipRule:"evenodd"})))),r.default.createElement("label",c({},Se,{className:hi}),fe),r.default.createElement(a.LazyMotion,{features:a.domAnimation},r.default.createElement(Pa,null,Et&&r.default.createElement(r.default.Fragment,null,be?r.default.createElement(o.FloatingOverlay,{lockScroll:!0},go):go)))))});Y.propTypes={variant:n.default.oneOf(S.propTypesVariant),color:n.default.oneOf(S.propTypesColor),size:n.default.oneOf(S.propTypesSize),label:S.propTypesLabel,error:S.propTypesError,success:S.propTypesSuccess,arrow:S.propTypesArrow,value:S.propTypesValue,onChange:S.propTypesOnChange,selected:S.propTypesSelected,offset:S.propTypesOffset,dismiss:S.propTypesDismiss,animate:S.propTypesAnimate,lockScroll:S.propTypesLockScroll,labelProps:S.propTypesLabelProps,menuProps:S.propTypesMenuProps,className:S.propTypesClassName,disabled:S.propTypesDisabled,name:S.propTypesName,children:S.propTypesChildren,containerProps:S.propTypesContainerProps},Y.displayName="MaterialTailwind.Select";var $=Object.assign(Y,{Option:C.SelectOption})})(zP);var VP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Switch:function(){return m},default:function(){return d}});var r=S(j),n=S($e),o=S(xl),a=S(Xe),i=He,u=S(zt),f=S(Be),g=ze,b=ui;function _(l,c,s){return c in l?Object.defineProperty(l,c,{value:s,enumerable:!0,configurable:!0,writable:!0}):l[c]=s,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.color,h=l.label,v=l.ripple,y=l.className,E=l.disabled,P=l.containerProps,N=l.circleProps,R=l.labelProps,M=l.inputRef,D=C(l,["color","label","ripple","className","disabled","containerProps","circleProps","labelProps","inputRef"]),L=(0,g.useTheme)(),W=L.switch,U=W.defaultProps,Y=W.valid,$=W.styles,z=$.base,H=$.colors,G=r.default.useId();s=s??U.color,v=v??U.ripple,y=y??U.className,E=E??U.disabled,P=P??U.containerProps,R=R??U.labelProps,N=N??U.circleProps;var X=v!==void 0&&new o.default,ie=(0,a.default)((0,f.default)(z.root),_({},(0,f.default)(z.disabled),E)),fe=(0,i.twMerge)((0,a.default)((0,f.default)(z.container)),P==null?void 0:P.className),pe=(0,i.twMerge)((0,a.default)((0,f.default)(z.input),(0,f.default)(H[(0,u.default)(Y.colors,s,"gray")])),y),oe=(0,i.twMerge)((0,a.default)((0,f.default)(z.circle),H[(0,u.default)(Y.colors,s,"gray")].circle,H[(0,u.default)(Y.colors,s,"gray")].before),N==null?void 0:N.className),se=(0,a.default)((0,f.default)(z.ripple)),ee=(0,i.twMerge)((0,a.default)((0,f.default)(z.label)),R==null?void 0:R.className);return r.default.createElement("div",{ref:c,className:ie},r.default.createElement("div",O({},P,{className:fe}),r.default.createElement("input",O({},D,{ref:M,type:"checkbox",disabled:E,id:D.id||G,className:pe})),r.default.createElement("label",O({},N,{htmlFor:D.id||G,className:oe}),v&&r.default.createElement("div",{className:se,onMouseDown:function(ae){var ue=P==null?void 0:P.onMouseDown;return v&&X.create(ae,"dark"),typeof ue=="function"&&ue(ae)}}))),h&&r.default.createElement("label",O({},R,{htmlFor:D.id||G,className:ee}),h))});m.propTypes={color:n.default.oneOf(b.propTypesColor),label:b.propTypesLabel,ripple:b.propTypesRipple,className:b.propTypesClassName,disabled:b.propTypesDisabled,containerProps:b.propTypesObject,labelProps:b.propTypesObject,circleProps:b.propTypesObject},m.displayName="MaterialTailwind.Switch";var d=m})(VP);var UP={},Pl={},fi={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(S,C){for(var w in C)Object.defineProperty(S,w,{enumerable:!0,get:C[w]})}t(e,{propTypesId:function(){return a},propTypesValue:function(){return i},propTypesAnimate:function(){return u},propTypesDisabled:function(){return f},propTypesClassName:function(){return g},propTypesOrientation:function(){return b},propTypesIndicator:function(){return _},propTypesChildren:function(){return O}});var r=o($e),n=Dt;function o(S){return S&&S.__esModule?S:{default:S}}var a=r.default.string,i=r.default.oneOfType([r.default.string,r.default.number]).isRequired,u=n.propTypesAnimation,f=r.default.bool,g=r.default.string,b=r.default.oneOf(["horizontal","vertical"]),_=r.default.instanceOf(Object),O=r.default.node.isRequired})(fi);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(P,N){for(var R in N)Object.defineProperty(P,R,{enumerable:!0,get:N[R]})}t(e,{TabsContext:function(){return m},useTabs:function(){return d},TabsContextProvider:function(){return l},setId:function(){return c},setActive:function(){return s},setAnimation:function(){return h},setIndicator:function(){return v},setIsInitial:function(){return y},setOrientation:function(){return E}});var r=u(j),n=fi;function o(P,N){(N==null||N>P.length)&&(N=P.length);for(var R=0,M=new Array(N);R=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.value,s=d.className,h=d.activeClassName,v=d.disabled,y=d.children,E=S(d,["value","className","activeClassName","disabled","children"]),P=(0,u.useTheme)(),N=P.tab,R=N.defaultProps,M=N.styles.base,D=(0,f.useTabs)(),L=D.state,W=D.dispatch,U=L.id,Y=L.active,$=L.indicatorProps;s=s??R.className,h=h??R.activeClassName,v=v??R.disabled;var z,H=(0,a.twMerge)((0,o.default)((0,i.default)(M.tab.initial),(z={},b(z,(0,i.default)(M.tab.disabled),v),b(z,h,Y===c),z)),s),G,X=(0,a.twMerge)((0,o.default)((0,i.default)(M.indicator)),(G=$==null?void 0:$.className)!==null&&G!==void 0?G:"");return r.default.createElement("li",_({},E,{ref:l,role:"tab",className:H,onClick:function(ie){var fe=E==null?void 0:E.onClick;typeof fe=="function"&&((0,f.setActive)(W,c),(0,f.setIsInitial)(W,!1),fe(ie)),(0,f.setIsInitial)(W,!1),(0,f.setActive)(W,c)},"data-value":c}),r.default.createElement("div",{className:"z-20 text-inherit"},y),Y===c&&r.default.createElement(n.motion.div,_({},$,{transition:{duration:.5},className:X,layoutId:U})))});w.propTypes={value:g.propTypesValue,className:g.propTypesClassName,disabled:g.propTypesDisabled,children:g.propTypesChildren},w.displayName="MaterialTailwind.Tab";var m=w})(WP);var HP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{TabsBody:function(){return w},default:function(){return m}});var r=O(j),n=gr,o=O(yr),a=O(Xe),i=He,u=O(Be),f=ze,g=Pl,b=fi;function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.animate,s=d.className,h=d.children,v=S(d,["animate","className","children"]),y=(0,f.useTheme)().tabsBody,E=y.defaultProps,P=y.styles.base,N=(0,g.useTabs)().dispatch;s=s??E.className,c=c??E.animate;var R=(0,i.twMerge)((0,a.default)((0,u.default)(P)),s),M=r.default.useMemo(function(){return{initial:{opacity:0,position:"absolute",top:"0",left:"0",zIndex:1,transition:{duration:0}},unmount:{opacity:0,position:"absolute",top:"0",left:"0",zIndex:1,transition:{duration:.5,times:[.4,0,.2,1]}},mount:{opacity:1,position:"relative",zIndex:2,transition:{duration:.5,times:[.4,0,.2,1]}}}},[]),D=r.default.useMemo(function(){return(0,o.default)(M,c)},[c,M]);return(0,n.useIsomorphicLayoutEffect)(function(){(0,g.setAnimation)(N,D)},[D,N]),r.default.createElement("div",_({},v,{ref:l,className:R}),h)});w.propTypes={animate:b.propTypesAnimate,className:b.propTypesClassName,children:b.propTypesChildren},w.displayName="MaterialTailwind.TabsBody";var m=w})(HP);var $P={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{TabsHeader:function(){return C},default:function(){return w}});var r=_(j),n=_(Xe),o=He,a=_(Be),i=ze,u=Pl,f=fi;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function S(m,d){if(m==null)return{};var l={},c=Object.keys(m),s,h;for(h=0;h=0)&&(l[s]=m[s]);return l}var C=r.default.forwardRef(function(m,d){var l=m.indicatorProps,c=m.className,s=m.children,h=O(m,["indicatorProps","className","children"]),v=(0,i.useTheme)().tabsHeader,y=v.defaultProps,E=v.styles,P=(0,u.useTabs)(),N=P.state,R=P.dispatch,M=N.orientation;r.default.useEffect(function(){(0,u.setIndicator)(R,l)},[R,l]),c=c??y.className;var D=(0,o.twMerge)((0,n.default)((0,a.default)(E.base),g({},E[M]&&(0,a.default)(E[M]),M)),c);return r.default.createElement("nav",null,r.default.createElement("ul",b({},h,{ref:d,role:"tablist",className:D}),s))});C.propTypes={indicatorProps:f.propTypesIndicator,className:f.propTypesClassName,children:f.propTypesChildren},C.displayName="MaterialTailwind.TabsHeader";var w=C})($P);var qP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{TabPanel:function(){return C},default:function(){return w}});var r=_(j),n=gr,o=_(Xe),a=He,i=_(Be),u=ze,f=Pl,g=fi;function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function S(m,d){if(m==null)return{};var l={},c=Object.keys(m),s,h;for(h=0;h=0)&&(l[s]=m[s]);return l}var C=r.default.forwardRef(function(m,d){var l=m.value,c=m.className,s=m.children,h=O(m,["value","className","children"]),v=(0,u.useTheme)().tabPanel,y=v.defaultProps,E=v.styles.base,P=(0,f.useTabs)().state,N=P.active,R=P.appliedAnimation,M=P.isInitial;c=c??y.className;var D=(0,a.twMerge)((0,o.default)((0,i.default)(E)),c),L=n.AnimatePresence;return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(L,{exitBeforeEnter:!0},r.default.createElement(n.m.div,b({},h,{ref:d,role:"tabpanel",className:D,initial:"unmount",exit:"unmount",animate:N===l?"mount":M?"initial":"unmount",variants:R,"data-value":l}),s)))});C.propTypes={value:g.propTypesValue,className:g.propTypesClassName,children:g.propTypesChildren},C.displayName="MaterialTailwind.TabPanel";var w=C})(qP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(s,h){for(var v in h)Object.defineProperty(s,v,{enumerable:!0,get:h[v]})}t(e,{Tabs:function(){return l},Tab:function(){return f.Tab},TabsBody:function(){return g.TabsBody},TabsHeader:function(){return b.TabsHeader},TabPanel:function(){return _.TabPanel},useTabs:function(){return u.useTabs},default:function(){return c}});var r=w(j),n=w(Xe),o=He,a=w(Be),i=ze,u=Pl,f=WP,g=HP,b=$P,_=qP,O=fi;function S(s,h,v){return h in s?Object.defineProperty(s,h,{value:v,enumerable:!0,configurable:!0,writable:!0}):s[h]=v,s}function C(){return C=Object.assign||function(s){for(var h=1;h=0)&&Object.prototype.propertyIsEnumerable.call(s,y)&&(v[y]=s[y])}return v}function d(s,h){if(s==null)return{};var v={},y=Object.keys(s),E,P;for(P=0;P=0)&&(v[E]=s[E]);return v}var l=r.default.forwardRef(function(s,h){var v=s.value,y=s.className,E=s.orientation,P=s.children,N=m(s,["value","className","orientation","children"]),R=(0,i.useTheme)().tabs,M=R.defaultProps,D=R.styles,L=r.default.useId();y=y??M.className,E=E??M.orientation;var W=(0,o.twMerge)((0,n.default)((0,a.default)(D.base),S({},D[E]&&(0,a.default)(D[E]),E)),y);return r.default.createElement(u.TabsContextProvider,{id:L,value:v,orientation:E},r.default.createElement("div",C({},N,{ref:h,className:W}),P))});l.propTypes={id:O.propTypesId,value:O.propTypesValue,className:O.propTypesClassName,orientation:O.propTypesOrientation,children:O.propTypesChildren},l.displayName="MaterialTailwind.Tabs";var c=Object.assign(l,{Tab:f.Tab,Body:g.TabsBody,Header:b.TabsHeader,Panel:_.TabPanel})})(UP);var GP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{Textarea:function(){return C},default:function(){return w}});var r=_(j),n=_($e),o=_(Xe),a=_(zt),i=_(Be),u=ze,f=nu;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function S(m,d){if(m==null)return{};var l={},c=Object.keys(m),s,h;for(h=0;h=0)&&(l[s]=m[s]);return l}var C=r.default.forwardRef(function(m,d){var l=m.variant,c=m.color,s=m.size,h=m.label,v=m.error,y=m.success,E=m.resize,P=m.labelProps,N=m.containerProps,R=m.shrink,M=m.className,D=O(m,["variant","color","size","label","error","success","resize","labelProps","containerProps","shrink","className"]),L=(0,u.useTheme)().textarea,W=L.defaultProps,U=L.valid,Y=L.styles,$=Y.base,z=Y.variants;l=l??W.variant,s=s??W.size,c=c??W.color,h=h??W.label,P=P??W.labelProps,N=N??W.containerProps,R=R??W.shrink,M=M??W.className;var H=z[(0,a.default)(U.variants,l,"outlined")],G=(0,i.default)(H.error.textarea),X=(0,i.default)(H.success.textarea),ie=(0,i.default)(H.shrink.textarea),fe=(0,i.default)(H.colors.textarea[(0,a.default)(U.colors,c,"gray")]),pe=(0,i.default)(H.error.label),oe=(0,i.default)(H.success.label),se=(0,i.default)(H.shrink.label),ee=(0,i.default)(H.colors.label[(0,a.default)(U.colors,c,"gray")]),ae=(0,o.default)((0,i.default)($.container),N==null?void 0:N.className),ue=(0,o.default)((0,i.default)($.textarea),(0,i.default)(H.base.textarea),(0,i.default)(H.sizes[(0,a.default)(U.sizes,s,"md")].textarea),g({},fe,!v&&!y),g({},G,v),g({},X,y),g({},ie,R),E?"":"!resize-none",M),de=(0,o.default)((0,i.default)($.label),(0,i.default)(H.base.label),(0,i.default)(H.sizes[(0,a.default)(U.sizes,s,"md")].label),g({},ee,!v&&!y),g({},pe,v),g({},oe,y),g({},se,R),P==null?void 0:P.className);return r.default.createElement("div",{ref:d,className:ae},r.default.createElement("textarea",b({},D,{className:ue,placeholder:(D==null?void 0:D.placeholder)||" "})),r.default.createElement("label",{className:de},h))});C.propTypes={variant:n.default.oneOf(f.propTypesVariant),size:n.default.oneOf(f.propTypesSize),color:n.default.oneOf(f.propTypesColor),label:f.propTypesLabel,error:f.propTypesError,success:f.propTypesSuccess,resize:f.propTypesResize,labelProps:f.propTypesLabelProps,containerProps:f.propTypesContainerProps,shrink:f.propTypesShrink,className:f.propTypesClassName},C.displayName="MaterialTailwind.Textarea";var w=C})(GP);var KP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(M,D){for(var L in D)Object.defineProperty(M,L,{enumerable:!0,get:D[L]})}t(e,{Tooltip:function(){return N},default:function(){return R}});var r=m(j),n=m($e),o=ur,a=gr,i=m(Xe),u=He,f=m(yr),g=m(Be),b=ze,_=Ol;function O(M,D){(D==null||D>M.length)&&(D=M.length);for(var L=0,W=new Array(D);L=0)&&Object.prototype.propertyIsEnumerable.call(M,W)&&(L[W]=M[W])}return L}function y(M,D){if(M==null)return{};var L={},W=Object.keys(M),U,Y;for(Y=0;Y=0)&&(L[U]=M[U]);return L}function E(M,D){return S(M)||d(M,D)||P(M,D)||l()}function P(M,D){if(M){if(typeof M=="string")return O(M,D);var L=Object.prototype.toString.call(M).slice(8,-1);if(L==="Object"&&M.constructor&&(L=M.constructor.name),L==="Map"||L==="Set")return Array.from(L);if(L==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(L))return O(M,D)}}var N=r.default.forwardRef(function(M,D){var L=M.open,W=M.handler,U=M.content,Y=M.interactive,$=M.placement,z=M.offset,H=M.dismiss,G=M.animate,X=M.className,ie=M.children,fe=v(M,["open","handler","content","interactive","placement","offset","dismiss","animate","className","children"]),pe=(0,b.useTheme)().tooltip,oe=pe.defaultProps,se=pe.styles.base,ee=E(r.default.useState(!1),2),ae=ee[0],ue=ee[1];L=L??ae,W=W??ue,Y=Y??oe.interactive,$=$??oe.placement,z=z??oe.offset,H=H??oe.dismiss,G=G??oe.animate,X=X??oe.className;var de=(0,u.twMerge)((0,i.default)((0,g.default)(se)),X),Te={unmount:{opacity:0},mount:{opacity:1}},xe=(0,f.default)(Te,G),be=(0,o.useFloating)({open:L,onOpenChange:W,middleware:[(0,o.offset)(z),(0,o.flip)(),(0,o.shift)()],placement:$}),Se=be.x,je=be.y,qe=be.reference,nt=be.floating,ut=be.strategy,Ye=be.refs,rt=be.update,Je=be.context,Ve=(0,o.useInteractions)([(0,o.useClick)(Je,{enabled:Y}),(0,o.useFocus)(Je),(0,o.useHover)(Je),(0,o.useRole)(Je,{role:"tooltip"}),(0,o.useDismiss)(Je,H)]),me=Ve.getReferenceProps,te=Ve.getFloatingProps;r.default.useEffect(function(){if(Ye.reference.current&&Ye.floating.current&&L)return(0,o.autoUpdate)(Ye.reference.current,Ye.floating.current,rt)},[L,rt,Ye.reference,Ye.floating]);var ge=(0,o.useMergeRefs)([D,nt]),_e=(0,o.useMergeRefs)([D,qe]),Pe=a.AnimatePresence;return r.default.createElement(r.default.Fragment,null,typeof ie=="string"?r.default.createElement("span",w({},me({ref:_e})),ie):r.default.cloneElement(ie,c({},me(h(c({},ie==null?void 0:ie.props),{ref:_e})))),r.default.createElement(a.LazyMotion,{features:a.domAnimation},r.default.createElement(o.FloatingPortal,null,r.default.createElement(Pe,null,L&&r.default.createElement(a.m.div,w({},te(h(c({},fe),{ref:ge,className:de,style:{position:ut,top:je??"",left:Se??""}})),{initial:"unmount",exit:"unmount",animate:L?"mount":"unmount",variants:xe}),U)))))});N.propTypes={open:_.propTypesOpen,handler:_.propTypesHandler,content:_.propTypesContent,interactive:_.propTypesInteractive,placement:n.default.oneOf(_.propTypesPlacement),offset:_.propTypesOffset,dismiss:_.propTypesDismiss,animate:_.propTypesAnimate,className:_.propTypesClassName,children:_.propTypesChildren},N.displayName="MaterialTailwind.Tooltip";var R=N})(KP);var YP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(c,s){for(var h in s)Object.defineProperty(c,h,{enumerable:!0,get:s[h]})}t(e,{Typography:function(){return d},default:function(){return l}});var r=_(j),n=_($e),o=_(Xe),a=He,i=_(zt),u=_(Be),f=ze,g=um;function b(c,s,h){return s in c?Object.defineProperty(c,s,{value:h,enumerable:!0,configurable:!0,writable:!0}):c[s]=h,c}function _(c){return c&&c.__esModule?c:{default:c}}function O(c){for(var s=1;s=0)&&Object.prototype.propertyIsEnumerable.call(c,v)&&(h[v]=c[v])}return h}function m(c,s){if(c==null)return{};var h={},v=Object.keys(c),y,E;for(E=0;E=0)&&(h[y]=c[y]);return h}var d=r.default.forwardRef(function(c,s){var h=c.variant,v=c.color,y=c.textGradient,E=c.as,P=c.className,N=c.children,R=w(c,["variant","color","textGradient","as","className","children"]),M=(0,f.useTheme)().typography,D=M.defaultProps,L=M.valid,W=M.styles,U=W.variants,Y=W.colors,$=W.textGradient;h=h??D.variant,v=v??D.color,y=y||D.textGradient,E=E??void 0,P=P??D.className;var z=(0,u.default)(U[(0,i.default)(L.variants,h,"paragraph")]),H=Y[(0,i.default)(L.colors,v,"inherit")],G=(0,u.default)($),X=(0,a.twMerge)((0,o.default)(z,b({},H.color,!y),b({},G,y),b({},H.gradient,y)),P),ie;switch(h){case"h1":ie=r.default.createElement(E||"h1",C(O({},R),{ref:s,className:X}),N);break;case"h2":ie=r.default.createElement(E||"h2",C(O({},R),{ref:s,className:X}),N);break;case"h3":ie=r.default.createElement(E||"h3",C(O({},R),{ref:s,className:X}),N);break;case"h4":ie=r.default.createElement(E||"h4",C(O({},R),{ref:s,className:X}),N);break;case"h5":ie=r.default.createElement(E||"h5",C(O({},R),{ref:s,className:X}),N);break;case"h6":ie=r.default.createElement(E||"h6",C(O({},R),{ref:s,className:X}),N);break;case"lead":ie=r.default.createElement(E||"p",C(O({},R),{ref:s,className:X}),N);break;case"paragraph":ie=r.default.createElement(E||"p",C(O({},R),{ref:s,className:X}),N);break;case"small":ie=r.default.createElement(E||"p",C(O({},R),{ref:s,className:X}),N);break;default:ie=r.default.createElement(E||"p",C(O({},R),{ref:s,className:X}),N);break}return ie});d.propTypes={variant:n.default.oneOf(g.propTypesVariant),color:n.default.oneOf(g.propTypesColor),as:g.propTypesAs,textGradient:g.propTypesTextGradient,className:g.propTypesClassName,children:g.propTypesChildren},d.displayName="MaterialTailwind.Typography";var l=d})(YP);var QP={},XP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(g,b){for(var _ in b)Object.defineProperty(g,_,{enumerable:!0,get:b[_]})}t(e,{propTypesClassName:function(){return a},propTypesChildren:function(){return i},propTypesOpen:function(){return u},propTypesAnimate:function(){return f}});var r=o($e),n=Dt;function o(g){return g&&g.__esModule?g:{default:g}}var a=r.default.string,i=r.default.node.isRequired,u=r.default.bool.isRequired,f=n.propTypesAnimation})(XP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{Collapse:function(){return w},default:function(){return m}});var r=O(j),n=gr,o=ur,a=O(yr),i=O(Xe),u=He,f=O(Be),g=ze,b=XP;function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.open,s=d.animate,h=d.className,v=d.children,y=S(d,["open","animate","className","children"]),E=r.default.useRef(null),P=(0,g.useTheme)().collapse,N=P.styles,R=N.base;s=s??{},h=h??"";var M=(0,u.twMerge)((0,i.default)((0,f.default)(R)),h),D={unmount:{height:"0px",transition:{duration:.3,times:[.4,0,.2,1]}},mount:{height:"auto",transition:{duration:.3,times:[.4,0,.2,1]}}},L=(0,a.default)(D,s),W=n.AnimatePresence,U=(0,o.useMergeRefs)([l,E]);return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(W,null,r.default.createElement(n.m.div,_({},y,{ref:U,className:M,initial:"unmount",exit:"unmount",animate:c?"mount":"unmount",variants:L}),v)))});w.displayName="MaterialTailwind.Collapse",w.propTypes={open:b.propTypesOpen,animate:b.propTypesAnimate,className:b.propTypesClassName,children:b.propTypesChildren};var m=w})(QP);var JP={},hu={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(g,b){for(var _ in b)Object.defineProperty(g,_,{enumerable:!0,get:b[_]})}t(e,{propTypesClassName:function(){return o},propTypesDisabled:function(){return a},propTypesSelected:function(){return i},propTypesRipple:function(){return u},propTypesChildren:function(){return f}});var r=n($e);function n(g){return g&&g.__esModule?g:{default:g}}var o=r.default.string,a=r.default.bool,i=r.default.bool,u=r.default.bool,f=r.default.node.isRequired})(hu);var ZP={},Ym={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{ListItemPrefix:function(){return O},default:function(){return S}});var r=g(j),n=ze,o=g(Xe),a=He,i=g(Be),u=hu;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function _(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,n.useTheme)().list,s=c.styles.base,h=(0,a.twMerge)((0,o.default)((0,i.default)(s.itemPrefix)),m);return r.default.createElement("div",f({},l,{ref:w,className:h}),d)});O.propTypes={className:u.propTypesClassName,children:u.propTypesChildren},O.displayName="MaterialTailwind.ListItemPrefix";var S=O})(Ym);var Qm={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{ListItemSuffix:function(){return O},default:function(){return S}});var r=g(j),n=ze,o=g(Xe),a=He,i=g(Be),u=hu;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function _(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,n.useTheme)().list,s=c.styles.base,h=(0,a.twMerge)((0,o.default)((0,i.default)(s.itemSuffix)),m);return r.default.createElement("div",f({},l,{ref:w,className:h}),d)});O.propTypes={className:u.propTypesClassName,children:u.propTypesChildren},O.displayName="MaterialTailwind.ListItemSuffix";var S=O})(Qm);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{ListItem:function(){return m},ListItemPrefix:function(){return g.ListItemPrefix},ListItemSuffix:function(){return b.ListItemSuffix},default:function(){return d}});var r=S(j),n=ze,o=S(xl),a=S(Xe),i=He,u=S(Be),f=hu,g=Ym,b=Qm;function _(l,c,s){return c in l?Object.defineProperty(l,c,{value:s,enumerable:!0,configurable:!0,writable:!0}):l[c]=s,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.className,h=l.disabled,v=l.selected,y=l.ripple,E=l.children,P=C(l,["className","disabled","selected","ripple","children"]),N=(0,n.useTheme)().list,R=N.defaultProps,M=N.styles.base;y=y??R.ripple;var D=y!==void 0&&new o.default,L,W=(0,i.twMerge)((0,a.default)((0,u.default)(M.item.initial),(L={},_(L,(0,u.default)(M.item.disabled),h),_(L,(0,u.default)(M.item.selected),v&&!h),L)),s);return r.default.createElement("div",O({},P,{ref:c,role:"button",tabIndex:0,className:W,onMouseDown:function(U){var Y=P==null?void 0:P.onMouseDown;return y&&D.create(U,"dark"),typeof Y=="function"&&Y(U)}}),E)});m.propTypes={className:f.propTypesClassName,selected:f.propTypesSelected,disabled:f.propTypesDisabled,ripple:f.propTypesRipple,children:f.propTypesChildren},m.displayName="MaterialTailwind.ListItem";var d=Object.assign(m,{Prefix:g.ListItemPrefix,Suffix:b.ListItemSuffix})})(ZP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{List:function(){return w},ListItem:function(){return f.ListItem},ListItemPrefix:function(){return g.ListItemPrefix},ListItemSuffix:function(){return b.ListItemSuffix},default:function(){return m}});var r=O(j),n=ze,o=O(Xe),a=He,i=O(Be),u=hu,f=ZP,g=Ym,b=Qm;function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.className,s=d.children,h=S(d,["className","children"]),v=(0,n.useTheme)().list,y=v.defaultProps,E=v.styles.base;c=c??y.className;var P=(0,a.twMerge)((0,o.default)((0,i.default)(E.list)),c);return r.default.createElement("nav",_({},h,{ref:l,className:P}),s)});w.propTypes={className:u.propTypesClassName,children:u.propTypesChildren},w.displayName="MaterialTailwind.List";var m=Object.assign(w,{Item:f.ListItem,ItemPrefix:g.ListItemPrefix,ItemSuffix:b.ListItemSuffix})})(JP);var ek={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{ButtonGroup:function(){return w},default:function(){return m}});var r=O(j),n=O($e),o=O(Xe),a=He,i=O(zt),u=O(Be),f=ze,g=li;function b(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}function _(){return _=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,s)&&(c[s]=d[s])}return c}function C(d,l){if(d==null)return{};var c={},s=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,s=d.size,h=d.color,v=d.fullWidth,y=d.ripple,E=d.className,P=d.children,N=S(d,["variant","size","color","fullWidth","ripple","className","children"]),R=(0,f.useTheme)().buttonGroup,M=R.defaultProps,D=R.styles,L=R.valid,W=D.base,U=D.dividerColor;c=c??M.variant,s=s??M.size,h=h??M.color,y=y??M.ripple,v=v??M.fullWidth,E=E??M.className;var Y,$=(0,a.twMerge)((0,o.default)((0,u.default)(W.initial),(Y={},b(Y,(0,u.default)(W.fullWidth),v),b(Y,"divide-x",c!=="outlined"),b(Y,(0,u.default)(U[(0,i.default)(L.colors,h,"gray")]),c!=="outlined"),Y)),E);return r.default.createElement("div",_({},N,{ref:l,className:$}),r.default.Children.map(P,function(z,H){var G;return r.default.isValidElement(z)&&r.default.cloneElement(z,{variant:c,size:s,color:h,ripple:y,fullWidth:v,className:(0,a.twMerge)((0,o.default)({"rounded-r-none":H!==r.default.Children.count(P)-1,"border-r-0":H!==r.default.Children.count(P)-1,"rounded-l-none":H!==0}),(G=z.props)===null||G===void 0?void 0:G.className)})}))});w.propTypes={variant:n.default.oneOf(g.propTypesVariant),size:n.default.oneOf(g.propTypesSize),color:n.default.oneOf(g.propTypesColor),fullWidth:g.propTypesFullWidth,ripple:g.propTypesRipple,className:g.propTypesClassName,children:g.propTypesChildren},w.displayName="MaterialTailwind.ButtonGroup";var m=w})(ek);var tk={},rk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{propTypesClassName:function(){return o},propTypesPrevArrow:function(){return a},propTypesNextArrow:function(){return i},propTypesNavigation:function(){return u},propTypesAutoplay:function(){return f},propTypesAutoplayDelay:function(){return g},propTypesTransition:function(){return b},propTypesLoop:function(){return _},propTypesChildren:function(){return O},propTypesSlideRef:function(){return S}});var r=n($e);function n(C){return C&&C.__esModule?C:{default:C}}var o=r.default.string,a=r.default.func,i=r.default.func,u=r.default.func,f=r.default.bool,g=r.default.number,b=r.default.object,_=r.default.bool,O=r.default.node.isRequired,S=r.default.oneOfType([r.default.func,r.default.shape({current:r.default.any})])})(rk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(v,y){for(var E in y)Object.defineProperty(v,E,{enumerable:!0,get:y[E]})}t(e,{Carousel:function(){return s},default:function(){return h}});var r=S(j),n=gr,o=ur,a=S(Xe),i=He,u=S(Be),f=ze,g=rk;function b(v,y){(y==null||y>v.length)&&(y=v.length);for(var E=0,P=new Array(y);E=0)&&Object.prototype.propertyIsEnumerable.call(v,P)&&(E[P]=v[P])}return E}function d(v,y){if(v==null)return{};var E={},P=Object.keys(v),N,R;for(R=0;R=0)&&(E[N]=v[N]);return E}function l(v,y){return _(v)||C(v,y)||c(v,y)||w()}function c(v,y){if(v){if(typeof v=="string")return b(v,y);var E=Object.prototype.toString.call(v).slice(8,-1);if(E==="Object"&&v.constructor&&(E=v.constructor.name),E==="Map"||E==="Set")return Array.from(E);if(E==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E))return b(v,y)}}var s=r.default.forwardRef(function(v,y){var E=v.children,P=v.prevArrow,N=v.nextArrow,R=v.navigation,M=v.autoplay,D=v.autoplayDelay,L=v.transition,W=v.loop,U=v.className,Y=v.slideRef,$=m(v,["children","prevArrow","nextArrow","navigation","autoplay","autoplayDelay","transition","loop","className","slideRef"]),z=(0,f.useTheme)().carousel,H=z.defaultProps,G=z.styles.base,X=(0,n.useMotionValue)(0),ie=r.default.useRef(null),fe=l(r.default.useState(0),2),pe=fe[0],oe=fe[1],se=r.default.Children.toArray(E);U=U??H.className,P=P??H.prevArrow,N=N??H.nextArrow,R=R??H.navigation,M=M??H.autoplay,D=D??H.autoplayDelay,L=L??H.transition,W=W??H.loop;var ee=(0,i.twMerge)((0,a.default)((0,u.default)(G.carousel)),U),ae=(0,i.twMerge)((0,a.default)((0,u.default)(G.slide))),ue=r.default.useCallback(function(){var be;return-pe*(((be=ie.current)===null||be===void 0?void 0:be.clientWidth)||0)},[pe]),de=r.default.useCallback(function(){var be=W?0:pe;oe(pe+1===se.length?be:pe+1)},[pe,W,se.length]),Te=function(){var be=W?se.length-1:0;oe(pe-1<0?be:pe-1)};r.default.useEffect(function(){var be=(0,n.animate)(X,ue(),L);return be.stop},[ue,pe,X,L]),r.default.useEffect(function(){window.addEventListener("resize",function(){(0,n.animate)(X,ue(),L)})},[ue,L,X]),r.default.useEffect(function(){if(M){var be=setInterval(function(){return de()},D);return function(){return clearInterval(be)}}},[M,de,D]);var xe=(0,o.useMergeRefs)([ie,y]);return r.default.createElement("div",O({},$,{ref:xe,className:ee}),se.map(function(be,Se){return r.default.createElement(n.LazyMotion,{key:Se,features:n.domAnimation},r.default.createElement(n.m.div,{ref:Y,className:ae,style:{x:X,left:"".concat(Se*100,"%"),right:"".concat(Se*100,"%")}},be))}),P&&P({loop:W,handlePrev:Te,activeIndex:pe,firstIndex:pe===0}),N&&N({loop:W,handleNext:de,activeIndex:pe,lastIndex:pe===se.length-1}),R&&R({setActiveIndex:oe,activeIndex:pe,length:se.length}))});s.propTypes={className:g.propTypesClassName,children:g.propTypesChildren,nextArrow:g.propTypesNextArrow,prevArrow:g.propTypesPrevArrow,navigation:g.propTypesNavigation,autoplay:g.propTypesAutoplay,autoplayDelay:g.propTypesAutoplayDelay,transition:g.propTypesTransition,loop:g.propTypesLoop,slideRef:g.propTypesSlideRef},s.displayName="MaterialTailwind.Carousel";var h=s})(tk);var nk={},ok={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{propTypesOpen:function(){return a},propTypesSize:function(){return i},propTypesOverlay:function(){return u},propTypesChildren:function(){return f},propTypesPlacement:function(){return g},propTypesOverlayProps:function(){return b},propTypesClassName:function(){return _},propTypesOnClose:function(){return O},propTypesDismiss:function(){return S},propTypesTransition:function(){return C},propTypesOverlayRef:function(){return w}});var r=o($e),n=Dt;function o(m){return m&&m.__esModule?m:{default:m}}var a=r.default.bool.isRequired,i=r.default.number,u=r.default.bool,f=r.default.node.isRequired,g=["top","right","bottom","left"],b=r.default.object,_=r.default.string,O=r.default.func,S=n.propTypesDismissType,C=r.default.object,w=r.default.oneOfType([r.default.func,r.default.shape({current:r.default.any})])})(ok);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(s,h){for(var v in h)Object.defineProperty(s,v,{enumerable:!0,get:h[v]})}t(e,{Drawer:function(){return l},default:function(){return c}});var r=C(j),n=C($e),o=gr,a=ur,i=C(yr),u=C(Xe),f=He,g=C(Be),b=ze,_=ok;function O(s,h,v){return h in s?Object.defineProperty(s,h,{value:v,enumerable:!0,configurable:!0,writable:!0}):s[h]=v,s}function S(){return S=Object.assign||function(s){for(var h=1;h=0)&&Object.prototype.propertyIsEnumerable.call(s,y)&&(v[y]=s[y])}return v}function d(s,h){if(s==null)return{};var v={},y=Object.keys(s),E,P;for(P=0;P=0)&&(v[E]=s[E]);return v}var l=r.default.forwardRef(function(s,h){var v=s.open,y=s.size,E=s.overlay,P=s.children,N=s.placement,R=s.overlayProps,M=s.className,D=s.onClose,L=s.dismiss,W=s.transition,U=s.overlayRef,Y=m(s,["open","size","overlay","children","placement","overlayProps","className","onClose","dismiss","transition","overlayRef"]),$=(0,b.useTheme)().drawer,z=$.defaultProps,H=$.styles.base,G=(0,o.useAnimation)();y=y??z.size,E=E??z.overlay,N=N??z.placement,M=M??z.className,R=R??z.overlayProps,D=D??z.onClose;var X;L=(X=(0,i.default)(z.dismiss,L||{}))!==null&&X!==void 0?X:z.dismiss,W=W??z.transition;var ie=(0,f.twMerge)((0,u.default)((0,g.default)(H.drawer),{"top-0 right-0":N==="right","bottom-0 left-0":N==="bottom","top-0 left-0":N==="top"||N==="left"}),M),fe=(0,f.twMerge)((0,u.default)((0,g.default)(H.overlay)),R==null?void 0:R.className),pe=(0,a.useFloating)({open:v,onOpenChange:D}).context,oe=(0,a.useInteractions)([(0,a.useDismiss)(pe,L)]).getFloatingProps;r.default.useEffect(function(){G.start(v?"open":"close")},[v,G,N]);var se={open:{x:0,y:0},close:{x:N==="left"?-y:N==="right"?y:0,y:N==="top"?-y:N==="bottom"?y:0}},ee={unmount:{opacity:0,transition:{delay:.3}},mount:{opacity:1}};return r.default.createElement(r.default.Fragment,null,r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(o.AnimatePresence,null,E&&v&&r.default.createElement(o.m.div,{ref:U,className:fe,initial:"unmount",exit:"unmount",animate:v?"mount":"unmount",variants:ee,transition:{duration:.3}})),r.default.createElement(o.m.div,S({},oe(w({ref:h},Y)),{className:ie,style:{maxWidth:N==="left"||N==="right"?y:"100%",maxHeight:N==="top"||N==="bottom"?y:"100%",height:N==="left"||N==="right"?"100vh":"100%"},initial:"close",animate:G,variants:se,transition:W}),P)))});l.propTypes={open:_.propTypesOpen,size:_.propTypesSize,overlay:_.propTypesOverlay,children:_.propTypesChildren,placement:n.default.oneOf(_.propTypesPlacement),overlayProps:_.propTypesOverlayProps,className:_.propTypesClassName,onClose:_.propTypesOnClose,dismiss:_.propTypesDismiss,transition:_.propTypesTransition,overlayRef:_.propTypesOverlayRef},l.displayName="MaterialTailwind.Drawer";var c=l})(nk);var ak={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Badge:function(){return m},default:function(){return d}});var r=S(j),n=S($e),o=S(yr),a=S(Xe),i=He,u=S(zt),f=S(Be),g=ze,b=cm;function _(l,c,s){return c in l?Object.defineProperty(l,c,{value:s,enumerable:!0,configurable:!0,writable:!0}):l[c]=s,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.color,h=l.invisible,v=l.withBorder,y=l.overlap,E=l.placement,P=l.className,N=l.content,R=l.children,M=l.containerProps,D=l.containerRef,L=C(l,["color","invisible","withBorder","overlap","placement","className","content","children","containerProps","containerRef"]),W=(0,g.useTheme)().badge,U=W.valid,Y=W.defaultProps,$=W.styles,z=$.base,H=$.placements,G=$.colors;s=s??Y.color,h=h??Y.invisible,v=v??Y.withBorder,y=y??Y.overlap,E=E??Y.placement;var X;P=(X=(0,a.default)(P,Y.className))!==null&&X!==void 0?X:Y.className;var ie;M=(ie=(0,o.default)(M,Y.containerProps||{}))!==null&&ie!==void 0?ie:Y.containerProps;var fe=(0,f.default)(z.badge.initial),pe=(0,f.default)(z.badge.withBorder),oe=(0,f.default)(z.badge.withContent),se=(0,f.default)(G[(0,u.default)(U.colors,s,"red")]),ee=(0,f.default)(H[(0,u.default)(U.placements,E,"top-end")][(0,u.default)(U.overlaps,y,"square")]),ae,ue=(0,i.twMerge)((0,a.default)(fe,ee,se,(ae={},_(ae,pe,v),_(ae,oe,N),ae)),P),de=(0,i.twMerge)((0,a.default)((0,f.default)(z.container),M==null?void 0:M.className));return r.default.createElement("div",O({ref:D},M,{className:de}),R,!h&&r.default.createElement("span",O({},L,{ref:c,className:ue}),N))});m.propTypes={color:n.default.oneOf(b.propTypesColor),invisible:b.propTypesInvisible,withBorder:b.propTypesWithBorder,overlap:n.default.oneOf(b.propTypesOverlap),className:b.propTypesClassName,content:b.propTypesContent,children:b.propTypesChildren,placement:n.default.oneOf(b.propTypesPlacement),containerProps:b.propTypesContainerProps,containerRef:b.propTypesContainerRef},m.displayName="MaterialTailwind.Badge";var d=m})(ak);var ik={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(N,R){for(var M in R)Object.defineProperty(N,M,{enumerable:!0,get:R[M]})}t(e,{Rating:function(){return E},default:function(){return P}});var r=C(j),n=C($e),o=C(Xe),a=He,i=C(zt),u=C(Be),f=ze,g=dm;function b(N,R){(R==null||R>N.length)&&(R=N.length);for(var M=0,D=new Array(R);M=0)&&Object.prototype.propertyIsEnumerable.call(N,D)&&(M[D]=N[D])}return M}function s(N,R){if(N==null)return{};var M={},D=Object.keys(N),L,W;for(W=0;W=0)&&(M[L]=N[L]);return M}function h(N,R){return _(N)||m(N,R)||y(N,R)||d()}function v(N){return O(N)||w(N)||y(N)||l()}function y(N,R){if(N){if(typeof N=="string")return b(N,R);var M=Object.prototype.toString.call(N).slice(8,-1);if(M==="Object"&&N.constructor&&(M=N.constructor.name),M==="Map"||M==="Set")return Array.from(M);if(M==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(M))return b(N,R)}}var E=r.default.forwardRef(function(N,R){var M=N.count,D=N.value,L=N.ratedIcon,W=N.unratedIcon,U=N.ratedColor,Y=N.unratedColor,$=N.className,z=N.onChange,H=N.readonly,G=c(N,["count","value","ratedIcon","unratedIcon","ratedColor","unratedColor","className","onChange","readonly"]),X,ie,fe=(0,f.useTheme)().rating,pe=fe.valid,oe=fe.defaultProps,se=fe.styles,ee=se.base,ae=se.colors;M=M??oe.count,D=D??oe.value,L=L??oe.ratedIcon,L=L??oe.ratedIcon,W=W??oe.unratedIcon,U=U??oe.ratedColor,Y=Y??oe.unratedColor,$=$??oe.className,z=z??oe.onChange,H=H??oe.readonly;var ue=h(r.default.useState(function(){return v(Array(D).fill("rated")).concat(v(Array(M-D).fill("un_rated")))}),2),de=ue[0],Te=ue[1],xe=h(r.default.useState(function(){return v(Array(M).fill("un_rated"))}),2),be=xe[0],Se=xe[1],je=h(r.default.useState(!1),2),qe=je[0],nt=je[1],ut=(0,u.default)(ae[(0,i.default)(pe.colors,U,"yellow")]),Ye=(0,u.default)(ae[(0,i.default)(pe.colors,Y,"blue-gray")]),rt=(0,a.twMerge)((0,o.default)((0,u.default)(ee.rating),$)),Je=(0,u.default)(ee.icon),Ve=L,me=W,te=r.default.isValidElement(L)&&r.default.cloneElement(Ve,{className:(0,a.twMerge)((0,o.default)(Je,ut,Ve==null||(X=Ve.props)===null||X===void 0?void 0:X.className))}),ge=r.default.isValidElement(L)&&r.default.cloneElement(me,{className:(0,a.twMerge)((0,o.default)(Je,Ye,me==null||(ie=me.props)===null||ie===void 0?void 0:ie.className))}),_e=!r.default.isValidElement(L)&&r.default.createElement(L,{className:(0,a.twMerge)((0,o.default)(Je,ut))}),Pe=!r.default.isValidElement(L)&&r.default.createElement(W,{className:(0,a.twMerge)((0,o.default)(Je,Ye))}),Ce=function(we){return we.map(function(Ie,Ue){return r.default.createElement("span",{key:Ue,onClick:function(){if(!H){var Ze=de.map(function(Bt,et){return et<=Ue?"rated":"un_rated"});Te(Ze),z&&typeof z=="function"&&z(Ze.filter(function(Bt){return Bt==="rated"}).length)}},onMouseEnter:function(){if(!H){var Ze=be.map(function(Bt,et){return et<=Ue?"rated":"un_rated"});nt(!0),Se(Ze)}},onMouseLeave:function(){return!H&&nt(!1)}},r.default.isValidElement(Ie==="rated"?L:W)?Ie==="rated"?te:ge:Ie==="rated"?_e:Pe)})};return r.default.createElement("div",S({},G,{ref:R,className:rt}),Ce(qe?be:de))});E.propTypes={count:g.propTypesCount,value:g.propTypesValue,ratedIcon:g.propTypesRatedIcon,unratedIcon:g.propTypesUnratedIcon,ratedColor:n.default.oneOf(g.propTypesColor),unratedColor:n.default.oneOf(g.propTypesColor),className:g.propTypesClassName,onChange:g.propTypesOnChange,readonly:g.propTypesReadonly},E.displayName="MaterialTailwind.Rating";var P=E})(ik);var lk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(y,E){for(var P in E)Object.defineProperty(y,P,{enumerable:!0,get:E[P]})}t(e,{Slider:function(){return h},default:function(){return v}});var r=C(j),n=C($e),o=C(yr),a=C(Xe),i=He,u=C(zt),f=C(Be),g=ze,b=fm;function _(y,E){(E==null||E>y.length)&&(E=y.length);for(var P=0,N=new Array(E);P=0)&&Object.prototype.propertyIsEnumerable.call(y,N)&&(P[N]=y[N])}return P}function l(y,E){if(y==null)return{};var P={},N=Object.keys(y),R,M;for(M=0;M=0)&&(P[R]=y[R]);return P}function c(y,E){return O(y)||w(y,E)||s(y,E)||m()}function s(y,E){if(y){if(typeof y=="string")return _(y,E);var P=Object.prototype.toString.call(y).slice(8,-1);if(P==="Object"&&y.constructor&&(P=y.constructor.name),P==="Map"||P==="Set")return Array.from(P);if(P==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(P))return _(y,E)}}var h=r.default.forwardRef(function(y,E){var P=y.color,N=y.size,R=y.className,M=y.trackClassName,D=y.thumbClassName,L=y.barClassName,W=y.value,U=y.defaultValue,Y=y.onChange,$=y.min,z=y.max,H=y.step,G=y.inputRef,X=y.inputProps,ie=d(y,["color","size","className","trackClassName","thumbClassName","barClassName","value","defaultValue","onChange","min","max","step","inputRef","inputProps"]),fe=(0,g.useTheme)().slider,pe=fe.valid,oe=fe.defaultProps,se=fe.styles,ee=se.base,ae=se.sizes,ue=se.colors,de=c(r.default.useState(U||0),2),Te=de[0],xe=de[1];r.default.useMemo(function(){U&&xe(U)},[U]),P=P??oe.color,N=N??oe.size,$=$??oe.min,z=z??oe.max,H=H??oe.step;var be;R=(be=(0,a.default)(oe.className,R))!==null&&be!==void 0?be:oe.className;var Se;D=(Se=(0,a.default)(oe.thumbClassName,D))!==null&&Se!==void 0?Se:oe.thumbClassName;var je;M=(je=(0,a.default)(oe.trackClassName,M))!==null&&je!==void 0?je:oe.trackClassName;var qe;L=(qe=(0,a.default)(oe.barClassName,L))!==null&&qe!==void 0?qe:oe.barClassName;var nt;X=(nt=(0,o.default)(X,(oe==null?void 0:oe.inputProps)||{}))!==null&&nt!==void 0?nt:oe.inputProps;var ut=(0,i.twMerge)((0,a.default)((0,f.default)(ee.container),(0,f.default)(ue[(0,u.default)(pe.colors,P,"gray")]),(0,f.default)(ae[(0,u.default)(pe.sizes,N,"md")].container),R)),Ye=(0,i.twMerge)((0,a.default)((0,f.default)(ee.bar),L)),rt=(0,a.default)((0,f.default)(ee.track),(0,f.default)(ae[(0,u.default)(pe.sizes,N,"md")].track)),Je=(0,a.default)((0,f.default)(ee.thumb),(0,f.default)(ae[(0,u.default)(pe.sizes,N,"md")].thumb)),Ve=(0,a.default)((0,f.default)(ee.slider),(0,i.twMerge)(rt,M),(0,i.twMerge)(Je,D));return r.default.createElement("div",S({},ie,{ref:E,className:ut}),r.default.createElement("label",{className:Ye,style:{width:"".concat(W||Te,"%")}}),r.default.createElement("input",S({ref:G,type:"range",max:z,min:$,step:H,className:Ve},W?{value:W}:null,{defaultValue:U,onChange:function(me){return Y?Y(me):xe(Number(me.target.value))}})))});h.propTypes={color:n.default.oneOf(b.propTypesColor),size:n.default.oneOf(b.propTypesSize),className:b.propTypesClassName,trackClassName:b.propTypesTrackClassName,thumbClassName:b.propTypesThumbClassName,barClassName:b.propTypesBarClassName,defaultValue:b.propTypesDefaultValue,value:b.propTypesValue,onChange:b.propTypesOnChange,min:b.propTypesMin,max:b.propTypesMax,step:b.propTypesStep,inputRef:b.propTypesInputRef,inputProps:b.propTypesInputProps},h.displayName="MaterialTailwind.Slider";var v=h})(lk);var sk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Spinner:function(){return m},default:function(){return d}});var r=_($e),n=S(j),o=_(Xe),a=He,i=_(zt),u=_(Be),f=ze,g=pm;function b(){return b=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=(0,n.forwardRef)(function(l,c){var s=l.color,h=l.className,v=C(l,["color","className"]),y=(0,f.useTheme)().spinner,E=y.defaultProps,P=y.valid,N=y.styles,R=N.base,M=N.colors;s=s??E.color;var D;h=(D=(0,o.default)(E.className,h))!==null&&D!==void 0?D:E.className;var L=(0,u.default)(M[(0,i.default)(P.colors,s,"gray")]),W=(0,a.twMerge)((0,o.default)((0,u.default)(R)),h),U,Y;return n.default.createElement("svg",b({},v,{ref:c,className:W,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:(U=v==null?void 0:v.width)!==null&&U!==void 0?U:24,height:(Y=v==null?void 0:v.height)!==null&&Y!==void 0?Y:24}),n.default.createElement("path",{d:"M32 3C35.8083 3 39.5794 3.75011 43.0978 5.20749C46.6163 6.66488 49.8132 8.80101 52.5061 11.4939C55.199 14.1868 57.3351 17.3837 58.7925 20.9022C60.2499 24.4206 61 28.1917 61 32C61 35.8083 60.2499 39.5794 58.7925 43.0978C57.3351 46.6163 55.199 49.8132 52.5061 52.5061C49.8132 55.199 46.6163 57.3351 43.0978 58.7925C39.5794 60.2499 35.8083 61 32 61C28.1917 61 24.4206 60.2499 20.9022 58.7925C17.3837 57.3351 14.1868 55.199 11.4939 52.5061C8.801 49.8132 6.66487 46.6163 5.20749 43.0978C3.7501 39.5794 3 35.8083 3 32C3 28.1917 3.75011 24.4206 5.2075 20.9022C6.66489 17.3837 8.80101 14.1868 11.4939 11.4939C14.1868 8.80099 17.3838 6.66487 20.9022 5.20749C24.4206 3.7501 28.1917 3 32 3L32 3Z",stroke:"currentColor",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"}),n.default.createElement("path",{d:"M32 3C36.5778 3 41.0906 4.08374 45.1692 6.16256C49.2477 8.24138 52.7762 11.2562 55.466 14.9605C58.1558 18.6647 59.9304 22.9531 60.6448 27.4748C61.3591 31.9965 60.9928 36.6232 59.5759 40.9762",stroke:"currentColor",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round",className:L}))});m.propTypes={color:r.default.oneOf(g.propTypesColor),className:g.propTypesClassName},m.displayName="MaterialTailwind.Spinner";var d=m})(sk);var uk={},gu={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(h,v){for(var y in v)Object.defineProperty(h,y,{enumerable:!0,get:v[y]})}t(e,{useTimelineItem:function(){return l},TimelineItem:function(){return c},default:function(){return s}});var r=b(j),n=He,o=b(Be),a=ze,i=Io;function u(h,v){(v==null||v>h.length)&&(v=h.length);for(var y=0,E=new Array(v);y=0)&&Object.prototype.propertyIsEnumerable.call(h,E)&&(y[E]=h[E])}return y}function C(h,v){if(h==null)return{};var y={},E=Object.keys(h),P,N;for(N=0;N=0)&&(y[P]=h[P]);return y}function w(h,v){return f(h)||_(h,v)||m(h,v)||O()}function m(h,v){if(h){if(typeof h=="string")return u(h,v);var y=Object.prototype.toString.call(h).slice(8,-1);if(y==="Object"&&h.constructor&&(y=h.constructor.name),y==="Map"||y==="Set")return Array.from(y);if(y==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(y))return u(h,v)}}var d=r.default.createContext(0);d.displayName="MaterialTailwind.TimelineItemContext";function l(){var h=r.default.useContext(d);if(!h)throw new Error("useTimelineItemContext() must be used within a TimelineItem. It happens when you use TimelineIcon, TimelineConnector or TimelineBody components outside the TimelineItem component.");return h}var c=r.default.forwardRef(function(h,v){var y=h.className,E=h.children,P=S(h,["className","children"]),N=(0,a.useTheme)().timelineItem,R=N.styles,M=R.base,D=w(r.default.useState(0),2),L=D[0],W=D[1],U=r.default.useMemo(function(){return[L,W]},[L,W]),Y=(0,n.twMerge)((0,o.default)(M),y);return r.default.createElement(d.Provider,{value:U},r.default.createElement("li",g({ref:v},P,{className:Y}),E))});c.propTypes={className:i.propTypeClassName,children:i.propTypeChildren.isRequired},c.displayName="MaterialTailwind.TimelineItem";var s=c})(gu);var ck={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(y,E){for(var P in E)Object.defineProperty(y,P,{enumerable:!0,get:E[P]})}t(e,{TimelineIcon:function(){return h},default:function(){return v}});var r=C(j),n=C($e),o=ur,a=He,i=C(zt),u=C(Be),f=ze,g=gu,b=Io;function _(y,E){(E==null||E>y.length)&&(E=y.length);for(var P=0,N=new Array(E);P=0)&&Object.prototype.propertyIsEnumerable.call(y,N)&&(P[N]=y[N])}return P}function l(y,E){if(y==null)return{};var P={},N=Object.keys(y),R,M;for(M=0;M=0)&&(P[R]=y[R]);return P}function c(y,E){return O(y)||w(y,E)||s(y,E)||m()}function s(y,E){if(y){if(typeof y=="string")return _(y,E);var P=Object.prototype.toString.call(y).slice(8,-1);if(P==="Object"&&y.constructor&&(P=y.constructor.name),P==="Map"||P==="Set")return Array.from(P);if(P==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(P))return _(y,E)}}var h=r.default.forwardRef(function(y,E){var P=y.color,N=y.variant,R=y.className,M=y.children,D=d(y,["color","variant","className","children"]),L=(0,f.useTheme)().timelineIcon,W=L.styles,U=L.valid,Y=W.base,$=W.variants,z=c((0,g.useTimelineItem)(),2),H=z[1],G=r.default.useRef(null),X=(0,o.useMergeRefs)([E,G]);r.default.useEffect(function(){var pe=G.current;if(pe){var oe=pe.getBoundingClientRect().width;return H(oe),function(){H(0)}}},[H,R,M]);var ie=(0,u.default)($[(0,i.default)(U.variants,N,"filled")][(0,i.default)(U.colors,P,"gray")]),fe=(0,a.twMerge)((0,u.default)(Y),ie,R);return r.default.createElement("span",S({ref:X},D,{className:fe}),M)});h.propTypes={children:b.propTypeChildren,className:b.propTypeClassName,color:n.default.oneOf(b.propTypeColor),variant:n.default.oneOf(b.propTypeVariant)},h.displayName="MaterialTailwind.TimelineIcon";var v=h})(ck);var dk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(s,h){for(var v in h)Object.defineProperty(s,v,{enumerable:!0,get:h[v]})}t(e,{TimelineHeader:function(){return l},default:function(){return c}});var r=_(j),n=He,o=_(Be),a=ze,i=gu,u=Io;function f(s,h){(h==null||h>s.length)&&(h=s.length);for(var v=0,y=new Array(h);v=0)&&Object.prototype.propertyIsEnumerable.call(s,y)&&(v[y]=s[y])}return v}function w(s,h){if(s==null)return{};var v={},y=Object.keys(s),E,P;for(P=0;P=0)&&(v[E]=s[E]);return v}function m(s,h){return g(s)||O(s,h)||d(s,h)||S()}function d(s,h){if(s){if(typeof s=="string")return f(s,h);var v=Object.prototype.toString.call(s).slice(8,-1);if(v==="Object"&&s.constructor&&(v=s.constructor.name),v==="Map"||v==="Set")return Array.from(v);if(v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v))return f(s,h)}}var l=r.default.forwardRef(function(s,h){var v=s.className,y=s.children,E=C(s,["className","children"]),P=(0,a.useTheme)().timelineBody,N=P.styles,R=N.base,M=m((0,i.useTimelineItem)(),1),D=M[0],L=(0,n.twMerge)((0,o.default)(R),v);return r.default.createElement("div",b({},E,{ref:h,className:L}),r.default.createElement("span",{className:"pointer-events-none invisible h-full flex-shrink-0",style:{width:"".concat(D,"px")}}),r.default.createElement("div",null,y))});l.propTypes={children:u.propTypeChildren,className:u.propTypeClassName},l.displayName="MaterialTailwind.TimelineHeader";var c=l})(dk);var fk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(S,C){for(var w in C)Object.defineProperty(S,w,{enumerable:!0,get:C[w]})}t(e,{TimelineHeader:function(){return _},default:function(){return O}});var r=f(j),n=He,o=f(Be),a=ze,i=Io;function u(){return u=Object.assign||function(S){for(var C=1;C=0)&&Object.prototype.propertyIsEnumerable.call(S,m)&&(w[m]=S[m])}return w}function b(S,C){if(S==null)return{};var w={},m=Object.keys(S),d,l;for(l=0;l=0)&&(w[d]=S[d]);return w}var _=r.default.forwardRef(function(S,C){var w=S.className,m=S.children,d=g(S,["className","children"]),l=(0,a.useTheme)().timelineHeader,c=l.styles,s=c.base,h=(0,n.twMerge)((0,o.default)(s),w);return r.default.createElement("div",u({},d,{ref:C,className:h}),m)});_.propTypes={children:i.propTypeChildren,className:i.propTypeClassName},_.displayName="MaterialTailwind.TimelineHeader";var O=_})(fk);var pk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(s,h){for(var v in h)Object.defineProperty(s,v,{enumerable:!0,get:h[v]})}t(e,{TimelineConnector:function(){return l},default:function(){return c}});var r=_(j),n=He,o=_(Be),a=ze,i=gu,u=Io;function f(s,h){(h==null||h>s.length)&&(h=s.length);for(var v=0,y=new Array(h);v=0)&&Object.prototype.propertyIsEnumerable.call(s,y)&&(v[y]=s[y])}return v}function w(s,h){if(s==null)return{};var v={},y=Object.keys(s),E,P;for(P=0;P=0)&&(v[E]=s[E]);return v}function m(s,h){return g(s)||O(s,h)||d(s,h)||S()}function d(s,h){if(s){if(typeof s=="string")return f(s,h);var v=Object.prototype.toString.call(s).slice(8,-1);if(v==="Object"&&s.constructor&&(v=s.constructor.name),v==="Map"||v==="Set")return Array.from(v);if(v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v))return f(s,h)}}var l=r.default.forwardRef(function(s,h){var v=s.className,y=s.children,E=C(s,["className","children"]),P,N=(0,a.useTheme)().timelineConnector,R=N.styles,M=R.base,D=m((0,i.useTimelineItem)(),1),L=D[0],W=(0,o.default)(M.line),U=(0,n.twMerge)((0,o.default)(M.container),v);return r.default.createElement("span",b({},E,{ref:h,className:U,style:{top:"".concat(L,"px"),width:"".concat(L,"px"),opacity:L?1:0,height:"calc(100% - ".concat(L,"px)")}}),y&&r.default.isValidElement(y)?r.default.cloneElement(y,{className:(0,n.twMerge)(W,(P=y.props)===null||P===void 0?void 0:P.className)}):r.default.createElement("span",{className:W}))});l.propTypes={children:u.propTypeChildren,className:u.propTypeClassName},l.displayName="MaterialTailwind.TimelineConnector";var c=l})(pk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var s in c)Object.defineProperty(l,s,{enumerable:!0,get:c[s]})}t(e,{Timeline:function(){return m},TimelineItem:function(){return u.default},TimelineIcon:function(){return f.default},TimelineBody:function(){return g.default},TimelineHeader:function(){return b.default},TimelineConnector:function(){return _.default},default:function(){return d}});var r=S(j),n=He,o=S(Be),a=ze,i=Io,u=S(gu),f=S(ck),g=S(dk),b=S(fk),_=S(pk);function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(s[h]=l[h])}return s}function w(l,c){if(l==null)return{};var s={},h=Object.keys(l),v,y;for(y=0;y=0)&&(s[v]=l[v]);return s}var m=r.default.forwardRef(function(l,c){var s=l.className,h=l.children,v=C(l,["className","children"]),y=(0,a.useTheme)().timeline,E=y.styles,P=E.base,N=(0,n.twMerge)((0,o.default)(P),s);return r.default.createElement("ul",O({ref:c},v,{className:N}),h)});m.propTypes={className:i.propTypeClassName,children:i.propTypeChildren},m.displayName="MaterialTailwind.Timeline";var d=Object.assign(m,{Item:u.default,Icon:f.default,Header:b.default,Body:g.default,Connector:_.default})})(uk);var hk={},gk={},Xm={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(g,b){for(var _ in b)Object.defineProperty(g,_,{enumerable:!0,get:b[_]})}t(e,{propTypesActiveStep:function(){return o},propTypesIsLastStep:function(){return a},propTypesIsFirstStep:function(){return i},propTypesChildren:function(){return u},propTypesClassName:function(){return f}});var r=n($e);function n(g){return g&&g.__esModule?g:{default:g}}var o=r.default.number,a=r.default.func,i=r.default.func,u=r.default.node,f=r.default.string})(Xm);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(S,C){for(var w in C)Object.defineProperty(S,w,{enumerable:!0,get:C[w]})}t(e,{Step:function(){return _},default:function(){return O}});var r=f(j),n=He,o=f(Be),a=ze,i=Xm;function u(){return u=Object.assign||function(S){for(var C=1;C=0)&&Object.prototype.propertyIsEnumerable.call(S,m)&&(w[m]=S[m])}return w}function b(S,C){if(S==null)return{};var w={},m=Object.keys(S),d,l;for(l=0;l=0)&&(w[d]=S[d]);return w}var _=r.default.forwardRef(function(S,C){var w=S.className;S.activeClassName,S.completedClassName;var m=S.children,d=g(S,["className","activeClassName","completedClassName","children"]),l=(0,a.useTheme)().step,c=l.styles.base,s=(0,n.twMerge)((0,o.default)(c.initial),w);return r.default.createElement("div",u({},d,{ref:C,className:s}),m)});_.propTypes={className:i.propTypesClassName,activeClassName:i.propTypesClassName,completedClassName:i.propTypesClassName,children:i.propTypesChildren},_.displayName="MaterialTailwind.Step";var O=_})(gk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(P,N){for(var R in N)Object.defineProperty(P,R,{enumerable:!0,get:N[R]})}t(e,{Stepper:function(){return y},Step:function(){return u.default},default:function(){return E}});var r=S(j),n=ur,o=He,a=S(Be),i=ze,u=S(gk),f=Xm;function g(P,N){(N==null||N>P.length)&&(N=P.length);for(var R=0,M=new Array(N);R=0)&&Object.prototype.propertyIsEnumerable.call(P,M)&&(R[M]=P[M])}return R}function s(P,N){if(P==null)return{};var R={},M=Object.keys(P),D,L;for(L=0;L=0)&&(R[D]=P[D]);return R}function h(P,N){return b(P)||C(P,N)||v(P,N)||w()}function v(P,N){if(P){if(typeof P=="string")return g(P,N);var R=Object.prototype.toString.call(P).slice(8,-1);if(R==="Object"&&P.constructor&&(R=P.constructor.name),R==="Map"||R==="Set")return Array.from(R);if(R==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R))return g(P,N)}}var y=r.default.forwardRef(function(P,N){var R=P.activeStep,M=P.isFirstStep,D=P.isLastStep,L=P.className,W=P.lineClassName,U=P.activeLineClassName,Y=P.children,$=c(P,["activeStep","isFirstStep","isLastStep","className","lineClassName","activeLineClassName","children"]),z=(0,i.useTheme)(),H=z.stepper,G=z.step,X=H.styles.base,ie=G.styles,fe=ie.base,pe=r.default.useRef(null),oe=h(r.default.useState(0),2),se=oe[0],ee=oe[1],ae=R===0,ue=Array.isArray(Y)&&R===Y.length-1,de=Array.isArray(Y)&&R>Y.length-1;r.default.useEffect(function(){if(pe.current){var nt=Y,ut=pe.current.getBoundingClientRect().width,Ye=ut/(nt.length-1);ee(Ye)}},[Y]);var Te=r.default.useMemo(function(){if(!de)return se*R},[R,de,se]);(0,n.useMergeRefs)([N,pe]);var xe=(0,o.twMerge)((0,a.default)(X.stepper),L),be=(0,o.twMerge)((0,a.default)(X.line.initial),W),Se=(0,o.twMerge)(be,(0,a.default)(X.line.active),U),je=(0,a.default)(fe.active),qe=(0,a.default)(fe.completed);return r.default.useEffect(function(){D&&typeof D=="function"&&D(ue),M&&typeof M=="function"&&M(ae)},[M,ae,D,ue]),r.default.createElement("div",O({},$,{ref:pe,className:xe}),r.default.createElement("div",{className:be}),r.default.createElement("div",{className:Se,style:{width:"".concat(Te,"px")}}),Array.isArray(Y)?Y.map(function(nt,ut){var Ye,rt;return r.default.cloneElement(nt,l(m({key:ut},nt.props),{className:(0,o.twMerge)(nt.props.className,ut===R?(0,o.twMerge)(je,(Ye=nt.props)===null||Ye===void 0?void 0:Ye.activeClassName):ut=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function S(m,d){if(m==null)return{};var l={},c=Object.keys(m),s,h;for(h=0;h=0)&&(l[s]=m[s]);return l}var C=r.default.forwardRef(function(m,d){var l=m.children,c=O(m,["children"]),s,h=(0,o.useSpeedDial)(),v=h.getReferenceProps,y=h.refs,E=(0,n.useMergeRefs)([d,y.setReference]);return r.default.cloneElement(l,g({},v(_(g({},c),{ref:E,className:(0,a.twMerge)(l==null||(s=l.props)===null||s===void 0?void 0:s.className,c==null?void 0:c.className)}))))});C.propTypes={children:i.propTypesChildren},C.displayName="MaterialTailwind.SpeedDialHandler";var w=C}(o0)),o0}var a0={},yx;function mz(){return yx||(yx=1,function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{SpeedDialContent:function(){return C},default:function(){return w}});var r=_(j),n=gr,o=ur,a=Jm(),i=ze,u=He,f=_(Be),g=mu;function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function S(m,d){if(m==null)return{};var l={},c=Object.keys(m),s,h;for(h=0;h=0)&&(l[s]=m[s]);return l}var C=r.default.forwardRef(function(m,d){var l=m.children,c=m.className,s=O(m,["children","className"]),h=(0,i.useTheme)(),v=h.speedDialContent.styles,y=(0,a.useSpeedDial)(),E=y.x,P=y.y,N=y.refs,R=y.open,M=y.strategy,D=y.getFloatingProps,L=y.animation,W=(0,o.useMergeRefs)([d,N.setFloating]),U=(0,u.twMerge)((0,f.default)(v),c),Y=n.AnimatePresence;return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(Y,null,R&&r.default.createElement("div",b({},s,{ref:W,className:U,style:{position:M,top:P??0,left:E??0}},D()),r.default.Children.map(l,function($){return r.default.createElement(n.m.div,{initial:"unmount",exit:"unmount",animate:R?"mount":"unmount",variants:L},$)}))))});C.propTypes={children:g.propTypesChildren,className:g.propTypesClassName},C.displayName="MaterialTailwind.SpeedDialContent";var w=C}(a0)),a0}var mk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(S,C){for(var w in C)Object.defineProperty(S,w,{enumerable:!0,get:C[w]})}t(e,{SpeedDialAction:function(){return _},default:function(){return O}});var r=f(j),n=ze,o=He,a=f(Be),i=mu;function u(){return u=Object.assign||function(S){for(var C=1;C=0)&&Object.prototype.propertyIsEnumerable.call(S,m)&&(w[m]=S[m])}return w}function b(S,C){if(S==null)return{};var w={},m=Object.keys(S),d,l;for(l=0;l=0)&&(w[d]=S[d]);return w}var _=r.default.forwardRef(function(S,C){var w=S.className,m=S.children,d=g(S,["className","children"]),l=(0,n.useTheme)(),c=l.speedDialAction.styles,s=(0,o.twMerge)((0,a.default)(c),w);return r.default.createElement("button",u({},d,{ref:C,className:s}),m)});_.propTypes={children:i.propTypesChildren,className:i.propTypesClassName},_.displayName="SpeedDialAction";var O=_})(mk);var wx;function Jm(){return wx||(wx=1,function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(h,v){for(var y in v)Object.defineProperty(h,y,{enumerable:!0,get:v[y]})}t(e,{SpeedDialContext:function(){return d},useSpeedDial:function(){return l},SpeedDial:function(){return c},SpeedDialHandler:function(){return u.default},SpeedDialContent:function(){return f.default},SpeedDialAction:function(){return g.default},default:function(){return s}});var r=O(j),n=ur,o=ze,a=O(yr),i=mu,u=O(gz()),f=O(mz()),g=O(mk);function b(h,v){(v==null||v>h.length)&&(v=h.length);for(var y=0,E=new Array(v);y.");return h}function c(h){var v=h.open,y=h.handler,E=h.placement,P=h.offset,N=h.dismiss,R=h.animate,M=h.children,D=(0,o.useTheme)(),L=D.speedDial.defaultProps,W=w(r.default.useState(!1),2),U=W[0],Y=W[1];v=v??U,y=y??Y,E=E??L.placement,P=P??L.offset,N=N??L.dismiss,R=R??L.animate;var $={unmount:{opacity:0,transform:"scale(0.5)",transition:{duration:.2,times:[.4,0,.2,1]}},mount:{opacity:1,transform:"scale(1)",transition:{duration:.2,times:[.4,0,.2,1]}}},z=(0,a.default)($,R),H=(0,n.useFloatingNodeId)(),G=(0,n.useFloating)({open:v,nodeId:H,placement:E,onOpenChange:y,whileElementsMounted:n.autoUpdate,middleware:[(0,n.offset)(P),(0,n.flip)(),(0,n.shift)()]}),X=G.x,ie=G.y,fe=G.strategy,pe=G.refs,oe=G.context,se=(0,n.useInteractions)([(0,n.useHover)(oe,{handleClose:(0,n.safePolygon)()}),(0,n.useDismiss)(oe,N)]),ee=se.getReferenceProps,ae=se.getFloatingProps,ue=r.default.useMemo(function(){return{x:X,y:ie,strategy:fe,refs:pe,open:v,context:oe,getReferenceProps:ee,getFloatingProps:ae,animation:z}},[oe,ae,ee,pe,fe,X,ie,v,z]);return r.default.createElement(d.Provider,{value:ue},r.default.createElement("div",{className:"group"},r.default.createElement(n.FloatingNode,{id:H},M)))}c.propTypes={open:i.propTypesOpen,handler:i.propTypesHanlder,placement:i.propTypesPlacement,offset:i.propTypesOffset,dismiss:i.propTypesDismiss,className:i.propTypesClassName,children:i.propTypesChildren,animate:i.propTypesAnimate},c.displayName="MaterialTailwind.SpeedDial";var s=Object.assign(c,{Handler:u.default,Content:f.default,Action:g.default})}(n0)),n0}(function(e){Object.defineProperty(e,"__esModule",{value:!0}),t(E5,e),t(kO,e),t(EO,e),t(NO,e),t(RO,e),t(AO,e),t(LO,e),t(FO,e),t(zO,e),t(vf,e),t(OP,e),t(PP,e),t(RP,e),t(MP,e),t(LP,e),t(FP,e),t(zP,e),t(VP,e),t(UP,e),t(GP,e),t(KP,e),t(YP,e),t(QP,e),t(JP,e),t(ek,e),t(tk,e),t(nk,e),t(ak,e),t(ik,e),t(lk,e),t(sk,e),t(uk,e),t(hk,e),t(Jm(),e),t(ze,e),t(Jg,e);function t(r,n){return Object.keys(r).forEach(function(o){o!=="default"&&!Object.prototype.hasOwnProperty.call(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:function(){return r[o]}})}),r}})(Q);function bz({title:e,titleId:t,...r},n){return j.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?j.createElement("title",{id:t},e):null,j.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))}const vz=j.forwardRef(bz),bk=vz,Zm=lo.createContext(null);Zm.displayName="MaterialTailwindContext";function yz(e,t){switch(t.type){case"OPEN_SIDENAV":return{...e,openSidenav:t.value};case"SIDENAV_TYPE":return{...e,sidenavType:t.value};case"SIDENAV_COLOR":return{...e,sidenavColor:t.value};case"TRANSPARENT_NAVBAR":return{...e,transparentNavbar:t.value};case"FIXED_NAVBAR":return{...e,fixedNavbar:t.value};case"OPEN_CONFIGURATOR":return{...e,openConfigurator:t.value};default:throw new Error(`Unhandled action type: ${t.type}`)}}function eb({children:e}){const t={openSidenav:!1,sidenavColor:"gray",sidenavType:"white",transparentNavbar:!1,fixedNavbar:!0,openConfigurator:!1},[r,n]=lo.useReducer(yz,t),o=lo.useMemo(()=>[r,n],[r,n]);return T.jsx(Zm.Provider,{value:o,children:e})}function Pf(){const e=lo.useContext(Zm);if(!e)throw new Error("useMaterialTailwindController should be used inside the MaterialTailwindControllerProvider.");return e}eb.displayName="/src/context/index.jsx";eb.propTypes={children:Co.node.isRequired};const vk=(e,t)=>e({type:"OPEN_SIDENAV",value:t}),wz=(e,t)=>e({type:"SIDENAV_COLOR",value:t}),xz=(e,t)=>e({type:"FIXED_NAVBAR",value:t}),tb=(e,t)=>e({type:"OPEN_CONFIGURATOR",value:t}),_z="/assets/stackpulse-846837e9.png";function kf({brandImg:e,brandName:t,routes:r}){const[n,o]=Pf(),{sidenavColor:a,sidenavType:i,openSidenav:u}=n,f={dark:"bg-gradient-to-br from-gray-800 to-gray-900",white:"bg-white shadow-sm",transparent:"bg-transparent"};return T.jsxs("aside",{className:`${f[i]} ${u?"translate-x-0":"-translate-x-80"} fixed inset-0 z-50 my-4 ml-4 h-[calc(100vh-32px)] w-72 rounded-xl transition-transform duration-300 xl:translate-x-0 border border-blue-gray-100`,children:[T.jsxs("div",{className:"relative py-6 px-8 text-right",children:[T.jsx("img",{src:_z,alt:"StackPulse",className:"w-auto"}),T.jsx("span",{className:"mt-1 text-xs text-stormGrey-500 block antialiased font-sans",children:"v0.4"}),T.jsx(Q.IconButton,{variant:"text",size:"sm",ripple:!1,className:"absolute right-0 top-0 grid rounded-br-none rounded-tl-none",onClick:()=>vk(o,!1),children:T.jsx(bk,{strokeWidth:2.5,className:"h-5 w-5 text-black"})})]}),T.jsx("div",{className:"m-4",children:r.map(({layout:g,title:b,pages:_},O)=>T.jsxs("ul",{className:"mb-4 flex flex-col gap-1",children:[b&&T.jsx("li",{className:"mx-3.5 mt-4 mb-2",children:T.jsx(Q.Typography,{variant:"small",color:i==="dark"?"white":"blue-gray",className:"font-black uppercase opacity-75",children:b})}),_.map(({icon:S,name:C,path:w})=>T.jsx("li",{children:T.jsx(NI,{to:`/${g}${w}`,children:({isActive:m})=>T.jsxs(Q.Button,{variant:m?"gradient":"text",color:m?a:i==="dark"?"white":"blue-gray",className:"flex items-center gap-4 px-4 capitalize",fullWidth:!0,children:[S,T.jsx(Q.Typography,{color:"inherit",className:"font-medium capitalize",children:C})]})})},C))]},O))})]})}kf.defaultProps={brandImg:"/img/logo-ct.png",brandName:"Material Tailwind React"};kf.propTypes={brandImg:Co.string,brandName:Co.string,routes:Co.arrayOf(Co.object).isRequired};kf.displayName="/src/widgets/layout/sidnave.jsx";function yk(){const[e,t]=Pf(),{fixedNavbar:r,openSidenav:n}=e,{pathname:o}=_a();return o.split("/").filter(a=>a!==""),T.jsx(Q.Navbar,{color:r?"white":"transparent",className:`rounded-xl transition-all ${r?"sticky top-4 z-40 py-3 shadow-md shadow-blue-gray-500/5":"px-0 py-1"}`,fullWidth:!0,blurred:r,children:T.jsxs("div",{className:"flex justify-between gap-6 flex-row items-center",children:[T.jsx("div",{className:"capitalize"}),T.jsxs("div",{className:"flex items-center",children:[T.jsx(Q.IconButton,{variant:"text",color:"blue-gray",className:"grid xl:hidden",onClick:()=>vk(t,!n),children:T.jsx(DI,{strokeWidth:3,className:"h-6 w-6 text-blue-gray-500"})}),T.jsx(Q.IconButton,{variant:"text",color:"blue-gray",onClick:()=>tb(t,!0),children:T.jsx(k5,{className:"h-5 w-5 text-blue-gray-500 "})})]})]})})}yk.displayName="/src/widgets/layout/dashboard-navbar.jsx";function Cz(e,t){t=Math.pow(10,t);const r=["K","M","B","T"];for(let o=r.length-1;o>=0;o--){var n=Math.pow(10,(o+1)*3);if(n<=e){e=Math.round(e*t/n)/t,e==1e3&&o{fetch("https://api.github.com/repos/creativetimofficial/material-tailwind-dashboard-react").then(g=>g.json()).then(g=>u(Cz(g.stargazers_count,1)))},[]),T.jsxs("aside",{className:`fixed top-0 right-0 z-50 h-screen w-96 bg-white px-2.5 shadow-lg transition-transform duration-300 ${r?"translate-x-0":"translate-x-96"}`,children:[T.jsxs("div",{className:"flex items-start justify-between px-6 pt-8 pb-6",children:[T.jsxs("div",{children:[T.jsx(Q.Typography,{variant:"h5",color:"blue-gray",children:"Dashboard Configurator"}),T.jsx(Q.Typography,{className:"font-normal text-blue-gray-600",children:"See our dashboard options."})]}),T.jsx(Q.IconButton,{variant:"text",color:"blue-gray",onClick:()=>tb(t,!1),children:T.jsx(bk,{strokeWidth:2.5,className:"h-5 w-5"})})]}),T.jsxs("div",{className:"py-4 px-6",children:[T.jsxs("div",{className:"mb-12",children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",children:"Sidenav Colors"}),T.jsx("div",{className:"mt-3 flex items-center gap-2",children:Object.keys(f).map(g=>T.jsx("span",{className:`h-6 w-6 cursor-pointer rounded-full border bg-gradient-to-br transition-transform hover:scale-105 ${f[g]} ${n===g?"border-black":"border-transparent"}`,onClick:()=>wz(t,g)},g))})]}),T.jsxs("div",{className:"mb-12",children:[T.jsx("hr",{}),T.jsxs("div",{className:"flex items-center justify-between py-5",children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",children:"Navbar Fixed"}),T.jsx(Q.Switch,{defaultChecked:!0,id:"navbar-fixed",value:a,onChange:()=>xz(t,!a)})]})]})]})]})}wk.displayName="/src/widgets/layout/configurator.jsx";function xk(){const e=new Date().getFullYear();return T.jsx("footer",{children:T.jsx("div",{className:"flex w-full flex-wrap items-center justify-center md:justify-end",children:T.jsxs(Q.Typography,{variant:"small",className:"mt-1 text-xs text-stormGrey-500 block antialiased font-sans",children:["StackPulse: © ",e," by Michael Böhmländer"]})})})}xk.displayName="/src/widgets/layout/footer.jsx";Co.string,Co.arrayOf(Co.object).isRequired,Co.node;const uo=Object.create(null);uo.open="0";uo.close="1";uo.ping="2";uo.pong="3";uo.message="4";uo.upgrade="5";uo.noop="6";const Rc=Object.create(null);Object.keys(uo).forEach(e=>{Rc[uo[e]]=e});const Fh={type:"error",data:"parser error"},_k=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",Ck=typeof ArrayBuffer=="function",Sk=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,rb=({type:e,data:t},r,n)=>_k&&t instanceof Blob?r?n(t):xx(t,n):Ck&&(t instanceof ArrayBuffer||Sk(t))?r?n(t):xx(new Blob([t]),n):n(uo[e]+(t||"")),xx=(e,t)=>{const r=new FileReader;return r.onload=function(){const n=r.result.split(",")[1];t("b"+(n||""))},r.readAsDataURL(e)};function _x(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let i0;function Sz(e,t){if(_k&&e.data instanceof Blob)return e.data.arrayBuffer().then(_x).then(t);if(Ck&&(e.data instanceof ArrayBuffer||Sk(e.data)))return t(_x(e.data));rb(e,!1,r=>{i0||(i0=new TextEncoder),t(i0.encode(r))})}const Cx="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ls=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,r=e.length,n,o=0,a,i,u,f;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const g=new ArrayBuffer(t),b=new Uint8Array(g);for(n=0;n>4,b[o++]=(i&15)<<4|u>>2,b[o++]=(u&3)<<6|f&63;return g},Oz=typeof ArrayBuffer=="function",nb=(e,t)=>{if(typeof e!="string")return{type:"message",data:Tk(e,t)};const r=e.charAt(0);return r==="b"?{type:"message",data:Pz(e.substring(1),t)}:Rc[r]?e.length>1?{type:Rc[r],data:e.substring(1)}:{type:Rc[r]}:Fh},Pz=(e,t)=>{if(Oz){const r=Tz(e);return Tk(r,t)}else return{base64:!0,data:e}},Tk=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Ok=String.fromCharCode(30),kz=(e,t)=>{const r=e.length,n=new Array(r);let o=0;e.forEach((a,i)=>{rb(a,!1,u=>{n[i]=u,++o===r&&t(n.join(Ok))})})},Ez=(e,t)=>{const r=e.split(Ok),n=[];for(let o=0;o{const n=r.length;let o;if(n<126)o=new Uint8Array(1),new DataView(o.buffer).setUint8(0,n);else if(n<65536){o=new Uint8Array(3);const a=new DataView(o.buffer);a.setUint8(0,126),a.setUint16(1,n)}else{o=new Uint8Array(9);const a=new DataView(o.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(n))}e.data&&typeof e.data!="string"&&(o[0]|=128),t.enqueue(o),t.enqueue(r)})}})}let l0;function rc(e){return e.reduce((t,r)=>t+r.length,0)}function nc(e,t){if(e[0].length===t)return e.shift();const r=new Uint8Array(t);let n=0;for(let o=0;oMath.pow(2,53-32)-1){u.enqueue(Fh);break}o=b*Math.pow(2,32)+g.getUint32(4),n=3}else{if(rc(r)e){u.enqueue(Fh);break}}}})}const Pk=4;function nr(e){if(e)return Rz(e)}function Rz(e){for(var t in nr.prototype)e[t]=nr.prototype[t];return e}nr.prototype.on=nr.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};nr.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this};nr.prototype.off=nr.prototype.removeListener=nr.prototype.removeAllListeners=nr.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var r=this._callbacks["$"+e];if(!r)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var n,o=0;otypeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,r)=>r(t,0))(),yn=(()=>typeof self<"u"?self:typeof window<"u"?window:Function("return this")())(),Az="arraybuffer";function kk(e,...t){return t.reduce((r,n)=>(e.hasOwnProperty(n)&&(r[n]=e[n]),r),{})}const Mz=yn.setTimeout,Iz=yn.clearTimeout;function Nf(e,t){t.useNativeTimers?(e.setTimeoutFn=Mz.bind(yn),e.clearTimeoutFn=Iz.bind(yn)):(e.setTimeoutFn=yn.setTimeout.bind(yn),e.clearTimeoutFn=yn.clearTimeout.bind(yn))}const Dz=1.33;function Lz(e){return typeof e=="string"?Fz(e):Math.ceil((e.byteLength||e.size)*Dz)}function Fz(e){let t=0,r=0;for(let n=0,o=e.length;n=57344?r+=3:(n++,r+=4);return r}function Ek(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function zz(e){let t="";for(let r in e)e.hasOwnProperty(r)&&(t.length&&(t+="&"),t+=encodeURIComponent(r)+"="+encodeURIComponent(e[r]));return t}function Bz(e){let t={},r=e.split("&");for(let n=0,o=r.length;n{this.readyState="paused",t()};if(this._polling||!this.writable){let n=0;this._polling&&(n++,this.once("pollComplete",function(){--n||r()})),this.writable||(n++,this.once("drain",function(){--n||r()}))}else r()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const r=n=>{if(this.readyState==="opening"&&n.type==="open"&&this.onOpen(),n.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(n)};Ez(t,this.socket.binaryType).forEach(r),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,kz(t,r=>{this.doWrite(r,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",r=this.query||{};return this.opts.timestampRequests!==!1&&(r[this.opts.timestampParam]=Ek()),!this.supportsBinary&&!r.sid&&(r.b64=1),this.createUri(t,r)}}let Nk=!1;try{Nk=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const Wz=Nk;function Hz(){}class $z extends Uz{constructor(t){if(super(t),typeof location<"u"){const r=location.protocol==="https:";let n=location.port;n||(n=r?"443":"80"),this.xd=typeof location<"u"&&t.hostname!==location.hostname||n!==t.port}}doWrite(t,r){const n=this.request({method:"POST",data:t});n.on("success",r),n.on("error",(o,a)=>{this.onError("xhr post error",o,a)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(r,n)=>{this.onError("xhr poll error",r,n)}),this.pollXhr=t}}let Yi=class Ac extends nr{constructor(t,r,n){super(),this.createRequest=t,Nf(this,n),this._opts=n,this._method=n.method||"GET",this._uri=r,this._data=n.data!==void 0?n.data:null,this._create()}_create(){var t;const r=kk(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this._opts.xd;const n=this._xhr=this.createRequest(r);try{n.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let o in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(o)&&n.setRequestHeader(o,this._opts.extraHeaders[o])}}catch{}if(this._method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}(t=this._opts.cookieJar)===null||t===void 0||t.addCookies(n),"withCredentials"in n&&(n.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(n.timeout=this._opts.requestTimeout),n.onreadystatechange=()=>{var o;n.readyState===3&&((o=this._opts.cookieJar)===null||o===void 0||o.parseCookies(n.getResponseHeader("set-cookie"))),n.readyState===4&&(n.status===200||n.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof n.status=="number"?n.status:0)},0))},n.send(this._data)}catch(o){this.setTimeoutFn(()=>{this._onError(o)},0);return}typeof document<"u"&&(this._index=Ac.requestsCount++,Ac.requests[this._index]=this)}_onError(t){this.emitReserved("error",t,this._xhr),this._cleanup(!0)}_cleanup(t){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=Hz,t)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Ac.requests[this._index],this._xhr=null}}_onLoad(){const t=this._xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}};Yi.requestsCount=0;Yi.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Sx);else if(typeof addEventListener=="function"){const e="onpagehide"in yn?"pagehide":"unload";addEventListener(e,Sx,!1)}}function Sx(){for(let e in Yi.requests)Yi.requests.hasOwnProperty(e)&&Yi.requests[e].abort()}const qz=function(){const e=jk({xdomain:!1});return e&&e.responseType!==null}();class Gz extends $z{constructor(t){super(t);const r=t&&t.forceBase64;this.supportsBinary=qz&&!r}request(t={}){return Object.assign(t,{xd:this.xd},this.opts),new Yi(jk,this.uri(),t)}}function jk(e){const t=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!t||Wz))return new XMLHttpRequest}catch{}if(!t)try{return new yn[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const Rk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Kz extends ob{get name(){return"websocket"}doOpen(){const t=this.uri(),r=this.opts.protocols,n=Rk?{}:kk(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(t,r,n)}catch(o){return this.emitReserved("error",o)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let r=0;r{try{this.doWrite(n,a)}catch{}o&&Ef(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",r=this.query||{};return this.opts.timestampRequests&&(r[this.opts.timestampParam]=Ek()),this.supportsBinary||(r.b64=1),this.createUri(t,r)}}const s0=yn.WebSocket||yn.MozWebSocket;class Yz extends Kz{createSocket(t,r,n){return Rk?new s0(t,r,n):r?new s0(t,r):new s0(t)}doWrite(t,r){this.ws.send(r)}}class Qz extends ob{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(t){return this.emitReserved("error",t)}this._transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(t=>{const r=jz(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=t.readable.pipeThrough(r).getReader(),o=Nz();o.readable.pipeTo(t.writable),this._writer=o.writable.getWriter();const a=()=>{n.read().then(({done:u,value:f})=>{u||(this.onPacket(f),a())}).catch(u=>{})};a();const i={type:"open"};this.query.sid&&(i.data=`{"sid":"${this.query.sid}"}`),this._writer.write(i).then(()=>this.onOpen())})})}write(t){this.writable=!1;for(let r=0;r{o&&Ef(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var t;(t=this._transport)===null||t===void 0||t.close()}}const Xz={websocket:Yz,webtransport:Qz,polling:Gz},Jz=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Zz=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function zh(e){if(e.length>8e3)throw"URI too long";const t=e,r=e.indexOf("["),n=e.indexOf("]");r!=-1&&n!=-1&&(e=e.substring(0,r)+e.substring(r,n).replace(/:/g,";")+e.substring(n,e.length));let o=Jz.exec(e||""),a={},i=14;for(;i--;)a[Zz[i]]=o[i]||"";return r!=-1&&n!=-1&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a.pathNames=eB(a,a.path),a.queryKey=tB(a,a.query),a}function eB(e,t){const r=/\/{2,9}/g,n=t.replace(r,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&n.splice(0,1),t.slice(-1)=="/"&&n.splice(n.length-1,1),n}function tB(e,t){const r={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,o,a){o&&(r[o]=a)}),r}const Bh=typeof addEventListener=="function"&&typeof removeEventListener=="function",Mc=[];Bh&&addEventListener("offline",()=>{Mc.forEach(e=>e())},!1);class ga extends nr{constructor(t,r){if(super(),this.binaryType=Az,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,t&&typeof t=="object"&&(r=t,t=null),t){const n=zh(t);r.hostname=n.host,r.secure=n.protocol==="https"||n.protocol==="wss",r.port=n.port,n.query&&(r.query=n.query)}else r.host&&(r.hostname=zh(r.host).host);Nf(this,r),this.secure=r.secure!=null?r.secure:typeof location<"u"&&location.protocol==="https:",r.hostname&&!r.port&&(r.port=this.secure?"443":"80"),this.hostname=r.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=r.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},r.transports.forEach(n=>{const o=n.prototype.name;this.transports.push(o),this._transportsByName[o]=n}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},r),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Bz(this.opts.query)),Bh&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},Mc.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){const r=Object.assign({},this.opts.query);r.EIO=Pk,r.transport=t,this.id&&(r.sid=this.id);const n=Object.assign({},this.opts,{query:r,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this._transportsByName[t](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const t=this.opts.rememberUpgrade&&ga.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const r=this.createTransport(t);r.open(),this.setTransport(r)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",r=>this._onClose("transport close",r))}onOpen(){this.readyState="open",ga.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const r=new Error("server error");r.code=t.data,this._onError(r);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data);break}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let r=1;for(let n=0;n0&&r>this._maxPayload)return this.writeBuffer.slice(0,n);r+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,Ef(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),t}write(t,r,n){return this._sendPacket("message",t,r,n),this}send(t,r,n){return this._sendPacket("message",t,r,n),this}_sendPacket(t,r,n,o){if(typeof r=="function"&&(o=r,r=void 0),typeof n=="function"&&(o=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;const a={type:t,data:r,options:n};this.emitReserved("packetCreate",a),this.writeBuffer.push(a),o&&this.once("flush",o),this.flush()}close(){const t=()=>{this._onClose("forced close"),this.transport.close()},r=()=>{this.off("upgrade",r),this.off("upgradeError",r),t()},n=()=>{this.once("upgrade",r),this.once("upgradeError",r)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():t()}):this.upgrading?n():t()),this}_onError(t){if(ga.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",t),this._onClose("transport error",t)}_onClose(t,r){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),Bh&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const n=Mc.indexOf(this._offlineEventListener);n!==-1&&Mc.splice(n,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,r),this.writeBuffer=[],this._prevBufferLen=0}}}ga.protocol=Pk;class rB extends ga{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let t=0;t{n||(r.send([{type:"ping",data:"probe"}]),r.once("packet",_=>{if(!n)if(_.type==="pong"&&_.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",r),!r)return;ga.priorWebsocketSuccess=r.name==="websocket",this.transport.pause(()=>{n||this.readyState!=="closed"&&(b(),this.setTransport(r),r.send([{type:"upgrade"}]),this.emitReserved("upgrade",r),r=null,this.upgrading=!1,this.flush())})}else{const O=new Error("probe error");O.transport=r.name,this.emitReserved("upgradeError",O)}}))};function a(){n||(n=!0,b(),r.close(),r=null)}const i=_=>{const O=new Error("probe error: "+_);O.transport=r.name,a(),this.emitReserved("upgradeError",O)};function u(){i("transport closed")}function f(){i("socket closed")}function g(_){r&&_.name!==r.name&&a()}const b=()=>{r.removeListener("open",o),r.removeListener("error",i),r.removeListener("close",u),this.off("close",f),this.off("upgrading",g)};r.once("open",o),r.once("error",i),r.once("close",u),this.once("close",f),this.once("upgrading",g),this._upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{n||r.open()},200):r.open()}onHandshake(t){this._upgrades=this._filterUpgrades(t.upgrades),super.onHandshake(t)}_filterUpgrades(t){const r=[];for(let n=0;nXz[o]).filter(o=>!!o)),super(t,n)}};function oB(e,t="",r){let n=e;r=r||typeof location<"u"&&location,e==null&&(e=r.protocol+"//"+r.host),typeof e=="string"&&(e.charAt(0)==="/"&&(e.charAt(1)==="/"?e=r.protocol+e:e=r.host+e),/^(https?|wss?):\/\//.test(e)||(typeof r<"u"?e=r.protocol+"//"+e:e="https://"+e),n=zh(e)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const a=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+a+":"+n.port+t,n.href=n.protocol+"://"+a+(r&&r.port===n.port?"":":"+n.port),n}const aB=typeof ArrayBuffer=="function",iB=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Ak=Object.prototype.toString,lB=typeof Blob=="function"||typeof Blob<"u"&&Ak.call(Blob)==="[object BlobConstructor]",sB=typeof File=="function"||typeof File<"u"&&Ak.call(File)==="[object FileConstructor]";function ab(e){return aB&&(e instanceof ArrayBuffer||iB(e))||lB&&e instanceof Blob||sB&&e instanceof File}function Ic(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let r=0,n=e.length;r=0&&e.num{delete this.acks[t];for(let u=0;u{this.io.clearTimeoutFn(a),r.apply(this,u)};i.withError=!0,this.acks[t]=i}emitWithAck(t,...r){return new Promise((n,o)=>{const a=(i,u)=>i?o(i):n(u);a.withError=!0,r.push(a),this.emit(t,...r)})}_addToQueue(t){let r;typeof t[t.length-1]=="function"&&(r=t.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((o,...a)=>n!==this._queue[0]?void 0:(o!==null?n.tryCount>this._opts.retries&&(this._queue.shift(),r&&r(o)):(this._queue.shift(),r&&r(null,...a)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const r=this._queue[0];r.pending&&!t||(r.pending=!0,r.tryCount++,this.flags=r.flags,this.emit.apply(this,r.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:ft.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,r){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,r),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(t=>{if(!this.sendBuffer.some(n=>String(n.id)===t)){const n=this.acks[t];delete this.acks[t],n.withError&&n.call(this,new Error("socket has been disconnected"))}})}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case ft.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case ft.EVENT:case ft.BINARY_EVENT:this.onevent(t);break;case ft.ACK:case ft.BINARY_ACK:this.onack(t);break;case ft.DISCONNECT:this.ondisconnect();break;case ft.CONNECT_ERROR:this.destroy();const n=new Error(t.data.message);n.data=t.data.data,this.emitReserved("connect_error",n);break}}onevent(t){const r=t.data||[];t.id!=null&&r.push(this.ack(t.id)),this.connected?this.emitEvent(r):this.receiveBuffer.push(Object.freeze(r))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const r=this._anyListeners.slice();for(const n of r)n.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const r=this;let n=!1;return function(...o){n||(n=!0,r.packet({type:ft.ACK,id:t,data:o}))}}onack(t){const r=this.acks[t.id];typeof r=="function"&&(delete this.acks[t.id],r.withError&&t.data.unshift(null),r.apply(this,t.data))}onconnect(t,r){this.id=t,this.recovered=r&&this._pid===r,this._pid=r,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:ft.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const r=this._anyListeners;for(let n=0;n0&&e.jitter<=1?e.jitter:0,this.attempts=0}kl.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),r=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+r:e-r}return Math.min(e,this.max)|0};kl.prototype.reset=function(){this.attempts=0};kl.prototype.setMin=function(e){this.ms=e};kl.prototype.setMax=function(e){this.max=e};kl.prototype.setJitter=function(e){this.jitter=e};class Wh extends nr{constructor(t,r){var n;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(r=t,t=void 0),r=r||{},r.path=r.path||"/socket.io",this.opts=r,Nf(this,r),this.reconnection(r.reconnection!==!1),this.reconnectionAttempts(r.reconnectionAttempts||1/0),this.reconnectionDelay(r.reconnectionDelay||1e3),this.reconnectionDelayMax(r.reconnectionDelayMax||5e3),this.randomizationFactor((n=r.randomizationFactor)!==null&&n!==void 0?n:.5),this.backoff=new kl({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(r.timeout==null?2e4:r.timeout),this._readyState="closed",this.uri=t;const o=r.parser||gB;this.encoder=new o.Encoder,this.decoder=new o.Decoder,this._autoConnect=r.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,t||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var r;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(r=this.backoff)===null||r===void 0||r.setMin(t),this)}randomizationFactor(t){var r;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(r=this.backoff)===null||r===void 0||r.setJitter(t),this)}reconnectionDelayMax(t){var r;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(r=this.backoff)===null||r===void 0||r.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new nB(this.uri,this.opts);const r=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const o=An(r,"open",function(){n.onopen(),t&&t()}),a=u=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",u),t?t(u):this.maybeReconnectOnOpen()},i=An(r,"error",a);if(this._timeout!==!1){const u=this._timeout,f=this.setTimeoutFn(()=>{o(),a(new Error("timeout")),r.close()},u);this.opts.autoUnref&&f.unref(),this.subs.push(()=>{this.clearTimeoutFn(f)})}return this.subs.push(o),this.subs.push(i),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(An(t,"ping",this.onping.bind(this)),An(t,"data",this.ondata.bind(this)),An(t,"error",this.onerror.bind(this)),An(t,"close",this.onclose.bind(this)),An(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(r){this.onclose("parse error",r)}}ondecoded(t){Ef(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,r){let n=this.nsps[t];return n?this._autoConnect&&!n.active&&n.connect():(n=new Mk(this,t,r),this.nsps[t]=n),n}_destroy(t){const r=Object.keys(this.nsps);for(const n of r)if(this.nsps[n].active)return;this._close()}_packet(t){const r=this.encoder.encode(t);for(let n=0;nt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(t,r){var n;this.cleanup(),(n=this.engine)===null||n===void 0||n.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,r),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const r=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(o=>{o?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",o)):t.onreconnect()}))},r);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const Zl={};function Dc(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const r=oB(e,t.path||"/socket.io"),n=r.source,o=r.id,a=r.path,i=Zl[o]&&a in Zl[o].nsps,u=t.forceNew||t["force new connection"]||t.multiplex===!1||i;let f;return u?f=new Wh(n,t):(Zl[o]||(Zl[o]=new Wh(n,t)),f=Zl[o]),r.query&&!t.query&&(t.query=r.queryKey),f.socket(r.path,t)}Object.assign(Dc,{Manager:Wh,Socket:Mk,io:Dc,connect:Dc});const Ik=j.createContext(null),u0={success:{container:"border-mossGreen-500/80 bg-mossGreen-900/90 text-white",accent:"bg-mossGreen-400"},warning:{container:"border-warmAmberGlow-500/80 bg-warmAmberGlow-900/90 text-white",accent:"bg-warmAmberGlow-400"},error:{container:"border-sunsetCoral-500/80 bg-sunsetCoral-900/90 text-white",accent:"bg-sunsetCoral-400"},info:{container:"border-arcticBlue-500 bg-arcticBlue-900/90 text-white",accent:"bg-arcticBlue-400"}},bB=6e3;function vB({children:e}){const[t,r]=j.useState([]),n=j.useRef(new Map),o=j.useCallback(u=>{r(g=>g.filter(b=>b.id!==u));const f=n.current.get(u);f&&typeof window<"u"&&window.clearTimeout(f),n.current.delete(u)},[]),a=j.useCallback(({id:u,title:f,description:g,variant:b="info",duration:_=bB}={})=>{const O=u??`${Date.now()}-${Math.random().toString(16).slice(2)}`,S=u0[b]?b:"info";if(r(C=>[...C.filter(m=>m.id!==O),{id:O,title:f,description:g,variant:S}]),_!==null&&_!==1/0&&typeof window<"u"){const C=window.setTimeout(()=>{o(O)},_),w=n.current.get(O);w&&window.clearTimeout(w),n.current.set(O,C)}return O},[o]);j.useEffect(()=>()=>{typeof window>"u"||(n.current.forEach(u=>window.clearTimeout(u)),n.current.clear())},[]);const i=j.useMemo(()=>({showToast:a,dismissToast:o}),[a,o]);return T.jsxs(Ik.Provider,{value:i,children:[e,T.jsx("div",{className:"pointer-events-none fixed right-4 top-4 z-50 flex w-80 max-w-full flex-col gap-3",children:t.map(u=>{const f=u0[u.variant]??u0.info;return T.jsx("div",{className:`pointer-events-auto overflow-hidden rounded-lg border px-4 py-3 shadow-xl backdrop-blur ${f.container}`,children:T.jsxs("div",{className:"flex items-start gap-3",children:[T.jsx("span",{className:`mt-1 h-2 flex-shrink-0 w-2 rounded-full ${f.accent}`}),T.jsxs("div",{className:"flex-1",children:[u.title&&T.jsx("p",{className:"text-sm font-semibold",children:u.title}),u.description&&T.jsx("p",{className:"mt-1 text-sm leading-snug text-white/80",children:u.description})]}),T.jsx("button",{type:"button",onClick:()=>o(u.id),className:"ml-2 rounded-md p-1 text-xs uppercase tracking-wide text-white/60 transition hover:text-white/90",children:"Schließen"})]})},u.id)})})]})}function El(){const e=j.useContext(Ik);if(!e)throw new Error("useToast must be used within a ToastProvider");return e}const Dk=j.createContext(null),yB={maintenance:null,update:null,script:null,ssh:null,loading:!0,error:"",lastUpdated:null};function wB({children:e}){var v,y;const[t,r]=j.useState(yB),n=j.useRef(null),o=j.useRef(!1),a=j.useCallback(E=>{r(P=>({...P,...E}))},[]),i=j.useCallback(async()=>{var E,P;a({loading:!0,error:""});try{const R=(await at.get("/api/maintenance/config")).data??{};a({maintenance:R.maintenance??null,update:R.update??null,script:R.script??null,ssh:R.ssh??null,loading:!1,error:"",lastUpdated:new Date})}catch(N){const R=((P=(E=N.response)==null?void 0:E.data)==null?void 0:P.error)||N.message||"Fehler beim Laden der Wartungsdaten";a({loading:!1,error:R})}},[a]),u=j.useCallback(async()=>{var E,P;try{const R=(await at.get("/api/maintenance/update-status")).data??{};r(M=>({...M,maintenance:R.maintenance??M.maintenance,update:R.update??M.update,error:""}))}catch(N){const R=((P=(E=N.response)==null?void 0:E.data)==null?void 0:P.error)||N.message||"Fehler beim Aktualisieren des Wartungsstatus";r(M=>({...M,error:R}))}},[]);j.useEffect(()=>{i()},[i]),j.useEffect(()=>{var E;if((E=t.update)!=null&&E.running){u();const P=setInterval(()=>{u()},5e3);return n.current=P,()=>clearInterval(P)}n.current&&(clearInterval(n.current),n.current=null)},[(v=t.update)==null?void 0:v.running,u]),j.useEffect(()=>{var P;const E=!!((P=t.update)!=null&&P.running);!E&&o.current&&i(),o.current=E},[(y=t.update)==null?void 0:y.running,i]);const f=j.useCallback(async(E={})=>{await at.post("/api/maintenance/portainer-update",E),await u()},[u]),g=j.useCallback(async E=>{await at.put("/api/maintenance/update-script",{script:E}),await i()},[i]),b=j.useCallback(async()=>{await at.delete("/api/maintenance/update-script"),await i()},[i]),_=j.useCallback(async E=>{await at.put("/api/maintenance/ssh-config",E),await i()},[i]),O=j.useCallback(async()=>{await at.delete("/api/maintenance/ssh-config"),await i()},[i]),S=j.useCallback(async({active:E,message:P}={})=>{var D;const N={active:!!E};P!==void 0&&(N.message=P);const M=((D=(await at.post("/api/maintenance/mode",N)).data)==null?void 0:D.maintenance)??null;return a({maintenance:M,error:""}),M},[a]),C=j.useCallback(async E=>(await at.post("/api/maintenance/test-ssh",E??{})).data,[]),w=j.useCallback(async()=>{const P=(await at.get("/api/auth/superuser/status")).data??{};return{exists:!!P.exists,user:P.user??null}},[]),m=j.useCallback(async()=>(await at.get("/api/setup/status")).data??{},[]),d=j.useCallback(async E=>(await at.delete(`/api/setup/endpoints/${E}`)).data??{success:!1},[]),l=j.useCallback(async E=>(await at.delete(`/api/setup/servers/${E}`)).data??{success:!1},[]),c=j.useCallback(async(E,P)=>(await at.put(`/api/setup/servers/${E}/api-key`,{apiKey:P})).data??{success:!1},[]),s=j.useCallback(async()=>(await at.delete("/api/auth/superuser")).data??{success:!1},[]),h=j.useMemo(()=>({maintenance:t.maintenance,update:t.update,script:t.script,ssh:t.ssh,loading:t.loading,error:t.error,lastUpdated:t.lastUpdated,refreshConfig:i,refreshUpdateStatus:u,setMaintenanceMode:S,triggerUpdate:f,saveScript:g,resetScript:b,saveSshConfig:_,deleteSshConfig:O,testSshConnection:C,fetchSuperuserStatus:w,fetchSetupStatus:m,deleteSetupEndpoint:d,deleteSetupServer:l,updateSetupApiKey:c,removeSuperuserAccount:s}),[t,i,u,S,f,g,b,_,O,C,w,m,d,l,c,s]);return T.jsx(Dk.Provider,{value:h,children:e})}function pi(){const e=j.useContext(Dk);if(!e)throw new Error("useMaintenance must be used within a MaintenanceProvider");return e}const xB=[{value:"10",label:"10"},{value:"25",label:"25"},{value:"50",label:"50"},{value:"100",label:"100"},{value:"all",label:"Alle"}],Ox="50",Lk=j.createContext(null),_B=(e,t)=>{const r=Number(e);if(Number.isFinite(r)&&r>0)return r;const n=Number(t);return Number.isFinite(n)&&n>0?n:1};function CB({children:e,initialPage:t=1,initialPerPage:r=Ox,perPageOptions:n=xB}){const[o,a]=j.useState(t),[i,u]=j.useState(r),[f,g]=j.useState(0),[b,_]=j.useState(0),O=j.useRef(t),S=j.useRef(r),C=j.useMemo(()=>new Set(n.map(R=>String(R.value))),[n]),w=i==="all",m=j.useCallback(()=>w?null:_B(i,r),[i,w,r]),d=j.useCallback((R,M)=>{g(Math.max(0,Number(R)||0)),_(Math.max(0,Number(M)||0))},[]),l=j.useCallback(()=>{a(O.current??1),u(S.current??Ox),g(0),_(0)},[]),c=j.useCallback((R,{resetPage:M=!0}={})=>{if(R==null)return;const D=String(R);C.has(D)&&(u(D),M&&a(1))},[C]),s=j.useCallback(R=>{var D;const M=typeof R=="string"?R:(D=R==null?void 0:R.target)==null?void 0:D.value;c(M,{resetPage:!0})},[c]),h=j.useCallback(R=>{if(w)return;const M=Number(R);if(!Number.isFinite(M)||M<1)return;const D=m();if(!D)return;const L=Math.max(1,Math.ceil((f||0)/D));M>L||a(M)},[w,m,f]),v=j.useMemo(()=>{if(w)return 1;const R=m();return R?Math.max(1,Math.ceil((f||0)/R)):1},[w,m,f]),y=j.useMemo(()=>{if(!f)return 0;if(w)return 1;const R=m();return(o-1)*R+1},[f,w,m,o]),E=j.useMemo(()=>{if(!f)return 0;if(w)return f;const R=m(),M=(o-1)*R+(b||R);return Math.min(f,M)},[f,w,m,o,b]),P=j.useMemo(()=>f?w?`Zeige alle ${f.toLocaleString()} Einträge`:`Zeige ${y.toLocaleString()} – ${E.toLocaleString()} von ${f.toLocaleString()} Einträgen`:"Keine Einträge",[f,w,y,E]),N=j.useMemo(()=>({page:o,perPage:i,perPageOptions:n,perPageIsAll:w,totalItems:f,visibleItems:b,totalPages:v,rangeStart:y,rangeEnd:E,summaryLabel:P,setPage:a,setPerPage:c,setTotals:d,setTotalItems:g,setVisibleItems:_,handlePageChange:h,handlePerPageChange:s,validPerPageValues:C,resetPagination:l}),[o,i,n,w,f,b,v,y,E,P,d,c,h,s,C,l]);return T.jsx(Lk.Provider,{value:N,children:e})}function bu(){const e=j.useContext(Lk);if(!e)throw new Error("usePage must be used within a PageProvider");return e}function jf({disabled:e=!1}){const{summaryLabel:t,perPageIsAll:r,page:n,totalPages:o,handlePageChange:a}=bu();return T.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[T.jsx("span",{children:t}),!r&&T.jsxs("div",{className:"flex items-center gap-2",children:[T.jsx("button",{onClick:()=>a(n-1),disabled:e||n<=1,className:"rounded-md border border-slate-300 p-2.5 text-center text-sm transition-all shadow-sm hover:shadow-lg text-slate-600 hover:text-white hover:bg-slate-800 hover:border-slate-800 focus:text-white focus:bg-slate-800 focus:border-slate-800 active:border-slate-800 active:text-white active:bg-slate-800 disabled:pointer-events-none disabled:opacity-50 disabled:shadow-none",type:"button",children:T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:"h-4 w-4",children:T.jsx("path",{d:"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z"})})}),T.jsxs("p",{className:"text-slate-600",children:["Seite ",T.jsx("strong",{className:"text-slate-800",children:n})," / ",T.jsx("strong",{className:"text-slate-800",children:o})]}),T.jsx("button",{onClick:()=>a(n+1),disabled:e||n>=o,className:"rounded-md border border-slate-300 p-2.5 text-center text-sm transition-all shadow-sm hover:shadow-lg text-slate-600 hover:text-white hover:bg-slate-800 hover:border-slate-800 focus:text-white focus:bg-slate-800 focus:border-slate-800 active:border-slate-800 active:text-white active:bg-slate-800 disabled:pointer-events-none disabled:opacity-50 disabled:shadow-none",type:"button",children:T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:"h-4 w-4",children:T.jsx("path",{d:"M12.97 3.97a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 1 1-1.06-1.06l6.22-6.22H3a.75.75 0 0 1 0-1.5h16.19l-6.22-6.22a.75.75 0 0 1 0-1.06Z"})})})]})]})}const oc="stackSelectionPreference",SB=30*1e3,TB=30*1e3;let Wa={data:null,timestamp:0},ac=null;const ht={QUEUED:"queued",STARTED:"started",SUCCESS:"success",ERROR:"error",INFO:"info"},OB={initializing:"Vorbereitung","activating-maintenance":"Wartungsmodus aktivieren","executing-script":"Skript wird ausgeführt",waiting:"Warte auf Portainer",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},PB=()=>!!Wa.data&&Date.now()-Wa.timestamp{Wa={data:e,timestamp:Date.now()}},kB=e=>Array.isArray(e)?[...e].sort((t,r)=>((t==null?void 0:t.Name)||"").localeCompare((r==null?void 0:r.Name)||"")):[];function EB(){const[e,t]=j.useState(()=>kB(Wa.data)),[r,n]=j.useState(()=>!Wa.data),[o,a]=j.useState(""),[i,u]=j.useState([]),[f,g]=j.useState("all"),[b,_]=j.useState(""),[O,S]=j.useState(!1),[C,w]=j.useState(!1),[m,d]=j.useState(!1),{showToast:l}=El(),{maintenance:c,update:s,script:h,ssh:v}=pi(),y=!!(c!=null&&c.active),E=c==null?void 0:c.message,P=!!(s!=null&&s.running),N=y||P,R=s!=null&&s.stage?OB[s.stage]??s.stage:"–",{page:M,perPage:D,perPageOptions:L,setPage:W,setTotals:U,handlePerPageChange:Y,resetPagination:$}=bu(),z=j.useCallback(()=>{},[]);j.useEffect(()=>()=>$(),[$]),j.useEffect(()=>{N&&(n(!1),t([]),u([]))},[N]);const H=j.useRef(new Map),G=j.useCallback((te,ge)=>{const _e=new Map(te.map(Ce=>[Ce.Id,Ce]));return[...ge].sort((Ce,we)=>Ce.Name.localeCompare(we.Name)).map(Ce=>{const we=_e.get(Ce.Id);if(we&&we.updateStatus==="✅"&&Ce.updateStatus==="⚠️"){const et=Ce.Name?`${Ce.Name} (ID: ${Ce.Id})`:`Stack ${Ce.Id}`;l({variant:"warning",title:"Aktualisierung gefunden",description:et})}let Ie=Ce.redeployPhase??(we==null?void 0:we.redeployPhase)??null;!Ie&&(Ce.redeploying||we!=null&&we.redeploying)&&(Ie=ht.STARTED);const Ue=Ie===ht.QUEUED,Ze=Ie===ht.STARTED;return{...Ce,redeployPhase:Ie,redeployQueued:Ue,redeploying:Ue||Ze,redeployDisabled:Ce.redeployDisabled??(we==null?void 0:we.redeployDisabled)??!1,duplicateName:Ce.duplicateName??(we==null?void 0:we.duplicateName)??!1}})},[l]);j.useEffect(()=>{const te=Dc("/",{path:"/socket.io",transports:["websocket"]});return console.log("🔌 Socket connected"),te.on("redeployStatus",async(ge={})=>{const{stackId:_e}=ge;if(!_e)return;let Pe=_e;if(typeof _e=="string"){const et=Number(_e);Number.isNaN(et)||(Pe=et)}const Ce=ge.redeployPhase??ge.phase;let we=Ce;we?Ce==="started"||Ce==="running"?we=ht.STARTED:Ce==="queued"?we=ht.QUEUED:Ce==="success"?we=ht.SUCCESS:Ce==="error"?we=ht.ERROR:Ce==="info"&&(we=ht.INFO):ge.isRedeploying===!0?we=ht.STARTED:ge.isRedeploying===!1&&(we=ht.SUCCESS);const Ie=H.current.get(Pe)??H.current.get(String(Pe)),Ue=ge.stackName??(Ie==null?void 0:Ie.Name),Ze=Ue?`${Ue} (ID: ${Pe})`:`Stack ${Pe}`;if(console.log(`🔄 Stack ${Pe} Redeploy Update: ${we??"unbekannt"}`),we===ht.STARTED)l({variant:"info",title:"Redeploy gestartet",description:Ze});else if(we===ht.SUCCESS)l({variant:"success",title:"Redeploy abgeschlossen",description:Ze});else if(we===ht.ERROR){const et=ge.message?` – ${ge.message}`:"";l({variant:"error",title:"Redeploy fehlgeschlagen",description:`${Ze}${et}`})}if(t(et=>et.map(Xt=>{if(String(Xt.Id)!==String(Pe))return Xt;const qt=we??Xt.redeployPhase??null,Et=qt===ht.QUEUED,tr=qt===ht.STARTED,Jt=qt===ht.SUCCESS,Nt=qt===ht.ERROR,Nr=Et||tr,bt={...Xt,redeployPhase:qt,redeployQueued:Et,redeploying:Nr};return Jt&&(bt.updateStatus="✅",bt.redeploying=!1,bt.redeployQueued=!1),Nt&&(bt.redeploying=!1,bt.redeployQueued=!1),!Nr&&!Jt&&!Nt&&we===void 0&&(bt.redeploying=!1,bt.redeployQueued=!1,bt.redeployPhase=Xt.redeployPhase??null),bt})),we===ht.SUCCESS||we===ht.ERROR||ge.isRedeploying===!1&&!we)try{const et=await at.get("/api/stacks");Px(et.data),t(Xt=>G(Xt,et.data))}catch(et){console.error("Fehler beim Aktualisieren nach Redeploy:",et)}}),()=>te.disconnect()},[]);const X=j.useCallback(async({force:te=!1,silent:ge=!1}={})=>{if(y||P){ge||n(!1);return}const _e=!!Wa.data;if(!te&&_e&&(t(Ce=>G(Ce,Wa.data)),!ge&&(n(!1),PB())))return;const Pe=!ge&&(!_e||te);Pe&&n(!0);try{(te||!ac)&&(ac=at.get("/api/stacks").then(we=>(Px(we.data),we.data)).finally(()=>{ac=null}));const Ce=await ac;t(we=>G(we,Ce)),a("")}catch(Ce){console.error("❌ Fehler beim Abrufen der Stacks:",Ce),!_e&&!ge&&a("Fehler beim Laden der Stacks")}finally{Pe&&n(!1)}},[y,P,G]);j.useEffect(()=>{X()},[X]),j.useEffect(()=>{if(typeof document>"u"||y||P)return;const te=setInterval(()=>{document.hidden||X({force:!0,silent:!0})},TB);return()=>clearInterval(te)},[X,y,P]),j.useEffect(()=>{if(typeof document>"u"||y||P)return;const te=()=>{document.hidden||X({force:!0,silent:!0})};return document.addEventListener("visibilitychange",te),()=>{document.removeEventListener("visibilitychange",te)}},[X,y,P]),j.useEffect(()=>{u(te=>{const ge=te.filter(_e=>{const Pe=e.find(we=>we.Id===_e);if(!Pe||Pe.updateStatus==="✅"||Pe.redeployDisabled)return!1;const Ce=Pe.redeployPhase;return!(Ce===ht.STARTED||Ce===ht.QUEUED)});return ge.length===te.length?te:ge})},[e]),j.useEffect(()=>{const te=new Map;e.forEach(ge=>{te.set(ge.Id,ge),te.set(String(ge.Id),ge)}),H.current=te},[e]);const ie=b.trim().toLowerCase(),fe=j.useMemo(()=>e.filter(te=>!(f==="current"&&te.updateStatus!=="✅"||f==="outdated"&&te.updateStatus==="✅"||ie&&!`${te.Name??""} ${te.Id??""}`.toLowerCase().includes(ie))),[e,f,ie]),pe=j.useMemo(()=>fe.filter(te=>{if(te.updateStatus==="✅"||te.redeployDisabled)return!1;const ge=te.redeployPhase;return!(ge===ht.STARTED||ge===ht.QUEUED)}),[fe]),oe=j.useMemo(()=>{const te=new Map;return e.forEach(ge=>{te.set(ge.Id,ge)}),te},[e]);j.useMemo(()=>new Set(fe.map(te=>te.Id)),[fe]);const se=j.useMemo(()=>{if(D==="all")return fe;const te=Number(D),ge=(M-1)*te;return fe.slice(ge,ge+te)},[fe,D,M]);j.useEffect(()=>{U(fe.length,se.length)},[fe.length,se.length,U]);const ee=j.useRef({action:"keep",remember:!1}),ae=j.useRef({status:f,search:ie}),ue=j.useRef(!1);j.useEffect(()=>{if(!(typeof window>"u"))try{const te=window.sessionStorage.getItem(oc);if(!te)return;const ge=JSON.parse(te);ge&&(ge.action==="keep"||ge.action==="clear")&&(ee.current={action:ge.action,remember:!0},d(!0))}catch(te){console.error("⚠️ Konnte gespeicherte Auswahl-Einstellung nicht laden:",te),ee.current={action:"keep",remember:!1}}},[]),j.useEffect(()=>{const te=ie;if(!ue.current){ue.current=!0,ae.current={status:f,search:te};return}const ge=ae.current;if(!(ge.status!==f||ge.search!==te)){f==="all"&&te.length===0&&O&&S(!1);return}if(ae.current={status:f,search:te},i.length===0){S(!1);return}if(!(f!=="all"||te.length>0)){S(!1);return}const Ce=ee.current;if(Ce!=null&&Ce.remember){Ce.action==="clear"&&u([]),S(!1);return}w(!!(Ce!=null&&Ce.remember)),S(!0)},[f,ie,i.length,O]),j.useEffect(()=>{i.length===0&&O&&S(!1)},[i.length,O]);const de=f!=="all"||ie.length>0;j.useEffect(()=>{W(1)},[f,ie,W]),j.useEffect(()=>{if(D==="all"){M!==1&&W(1);return}const te=Number(D)||1,ge=Math.max(1,Math.ceil(fe.length/te));M>ge&&W(ge)},[fe.length,D,M,W]);const Te=(te,ge)=>{ge||u(_e=>_e.includes(te)?_e.filter(Pe=>Pe!==te):[..._e,te])},xe=te=>{const ge=C;if(typeof window<"u")try{if(ge){const _e={action:te,remember:!0};window.sessionStorage.setItem(oc,JSON.stringify(_e)),ee.current=_e}else window.sessionStorage.removeItem(oc),ee.current={action:te,remember:!1}}catch(_e){console.error("⚠️ Konnte Auswahl-Einstellung nicht speichern:",_e),ee.current={action:te,remember:!1}}else ee.current={action:te,remember:!1};d(ge),w(ge),te==="clear"&&u([]),S(!1)},be=()=>{if(typeof window<"u")try{window.sessionStorage.removeItem(oc)}catch(te){console.error("⚠️ Konnte gespeicherte Auswahl-Einstellung nicht löschen:",te)}ee.current={action:"keep",remember:!1},d(!1),w(!1),de&&i.length>0&&S(!0)},Se=()=>{u([]),S(!1)},je=te=>{u(ge=>ge.filter(_e=>_e!==te))},qe=async te=>{const ge=H.current.get(te),_e=ge==null?void 0:ge.redeployPhase;if(!(_e===ht.STARTED||_e===ht.QUEUED)){u(Pe=>Pe.filter(Ce=>Ce!==te)),t(Pe=>Pe.map(Ce=>Ce.Id===te?{...Ce,redeployPhase:ht.STARTED,redeploying:!0,redeployQueued:!1}:Ce));try{await at.put(`/api/stacks/${te}/redeploy`)}catch(Pe){if(console.error("❌ Fehler beim Redeploy:",Pe),t(Ce=>Ce.map(we=>we.Id===te?{...we,redeployPhase:null,redeploying:!1,redeployQueued:!1}:we)),!Pe.response){const Ce=H.current.get(te),we=Ce!=null&&Ce.Name?`${Ce.Name} (ID: ${te})`:`Stack ${te}`,Ie=Pe.message||"Unbekannter Fehler";l({variant:"error",title:"Redeploy fehlgeschlagen",description:`${we} – ${Ie}`})}}}},nt=async()=>{var _e,Pe;if(!pe.length)return;const te=pe.map(Ce=>Ce.Id),ge=new Set(te.map(Ce=>String(Ce)));t(Ce=>Ce.map(we=>{const Ie=String(we.Id);return ge.has(Ie)?{...we,redeployPhase:ht.QUEUED,redeploying:!0,redeployQueued:!0}:we}));try{de?await at.put("/api/stacks/redeploy-selection",{stackIds:te}):await at.put("/api/stacks/redeploy-all"),u(Ce=>Ce.filter(we=>!ge.has(String(we))))}catch(Ce){console.error("❌ Fehler beim Redeploy ALL:",Ce),t(Ie=>Ie.map(Ue=>{const Ze=String(Ue.Id);return ge.has(Ze)?{...Ue,redeployPhase:null,redeploying:!1,redeployQueued:!1}:Ue}));const we=((Pe=(_e=Ce.response)==null?void 0:_e.data)==null?void 0:Pe.error)||Ce.message||"Unbekannter Fehler";l({variant:"error",title:"Redeploy ALL fehlgeschlagen",description:we})}},ut=async()=>{var _e,Pe;if(!i.length)return;const te=i.filter(Ce=>{const we=e.find(Ue=>Ue.Id===Ce);if(!we||we.updateStatus==="✅"||we.redeployDisabled)return!1;const Ie=we.redeployPhase;return!(Ie===ht.STARTED||Ie===ht.QUEUED)});if(!te.length){u([]);return}const ge=new Set(te);t(Ce=>Ce.map(we=>ge.has(we.Id)?{...we,redeployPhase:ht.QUEUED,redeploying:!0,redeployQueued:!0}:we));try{await at.put("/api/stacks/redeploy-selection",{stackIds:te}),u(Ce=>Ce.filter(we=>!ge.has(we)))}catch(Ce){console.error("❌ Fehler beim Redeploy Auswahl:",Ce),t(Ie=>Ie.map(Ue=>ge.has(Ue.Id)?{...Ue,redeployPhase:null,redeploying:!1,redeployQueued:!1}:Ue));const we=((Pe=(_e=Ce.response)==null?void 0:_e.data)==null?void 0:Pe.error)||Ce.message||"Unbekannter Fehler";l({variant:"error",title:"Redeploy Auswahl fehlgeschlagen",description:we})}},Ye=i.length>0,rt=pe.length>0,Je=Ye?`Redeploy Auswahl (${i.length})`:"Redeploy Alle",Ve=N||(Ye?O||i.length===0||i.every(te=>{const ge=e.find(Pe=>Pe.Id===te);if(!ge||ge.updateStatus==="✅"||ge.redeployDisabled)return!0;const _e=ge.redeployPhase;return _e===ht.STARTED||_e===ht.QUEUED}):!rt),me=()=>{if(N){l({variant:"warning",title:"Wartungsmodus aktiv",description:"Redeploy-Aktionen sind während des Wartungsmodus deaktiviert."});return}Ye?ut():nt()};return T.jsxs("div",{className:"mt-12 mb-8 flex flex-col gap-12",children:[(y||P)&&T.jsx("div",{className:"rounded-lg border border-cyan-500/60 bg-cyan-900/30 px-4 py-3 text-sm text-bluegray-100",children:T.jsxs("div",{className:"flex flex-col gap-1",children:[T.jsxs("span",{children:["Wartungsmodus aktiv",E?` – ${E}`:P?" – Portainer-Update läuft":"","."]}),P&&T.jsxs("span",{className:"text-xs text-indigo-900",children:["Phase: ",R]})]})}),T.jsxs(Q.Card,{children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"p-4 pt-2 pb-2",children:!r&&!o?T.jsx(Q.Typography,{variant:"h6",color:"white",children:T.jsx("span",{className:"flex items-center gap-2",children:T.jsx("span",{children:"Filter und Optionen"})})}):T.jsx(Q.Typography,{variant:"h6",color:"white",children:T.jsx("span",{className:"flex items-center gap-2",children:T.jsx("span",{children:"Lade Stacks"})})})}),T.jsxs(Q.CardBody,{children:[r?T.jsxs("p",{className:"flex py-6 text-center text-sm font-medium text-gray-400",children:[T.jsx(Q.Spinner,{className:"mr-2 h-4 w-4 flex"}),"Lade Stacks..."]}):o?T.jsx("p",{className:"py-6 text-sm font-medium text-red-400",children:o}):T.jsxs("div",{className:"gap-4",children:[T.jsx("div",{className:"w-full",children:T.jsxs(Q.ButtonGroup,{fullWidth:!0,children:[T.jsx(Q.Button,{onClick:()=>g("all"),children:"Alle"}),T.jsx(Q.Button,{onClick:()=>g("current"),children:"Aktuell"}),T.jsx(Q.Button,{onClick:()=>g("outdated"),children:"Veraltet"})]})}),T.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between mt-8",children:[T.jsx("div",{className:"md:flex-1",children:T.jsx(Q.Input,{value:b,onChange:te=>_(te.target.value),variant:"static",placeholder:"Name oder ID"})}),T.jsx("div",{className:"md:mt-0 mt-8 md:flex-1",children:T.jsx(Q.Select,{variant:"static",label:"Einträge pro Seite",onChange:z,value:D,children:L.map(({value:te,label:ge})=>T.jsx(Q.Option,{value:te,onClick:()=>Y(te),children:ge},te))})})]}),T.jsx("div",{className:"flex items-center justify-end gap-3 mt-5",children:m&&T.jsx("button",{onClick:be,className:"block antialiased font-sans text-sm leading-normal text-inherit text-xs font-medium text-warmAmberGlow-500 underline underline-offset-2 transition hover:text-warmAmberGlow-600",children:"Gespeicherte Entscheidung löschen"})})]}),O&&T.jsx("div",{className:"flex flex-col mt-5",children:T.jsxs("div",{className:"flex flex-col gap-3 rounded-lg border border-arcticBlue-800 bg-arcticBlue-900/90 px-4 py-3 text-arcticBlue-100 md:flex-row md:items-center md:justify-between",children:[T.jsxs("div",{className:"space-y-2 block antialiased font-sans text-sm font-light leading-normal text-inherit",children:[T.jsxs("p",{children:[i.length===1?"1 Stack ist weiterhin ausgewählt.":`${i.length} Stacks sind weiterhin ausgewählt.`," ","Soll die Auswahl entfernt werden?"]}),T.jsxs("label",{className:"flex items-center gap-2",children:[T.jsx("input",{type:"checkbox",checked:C,onChange:te=>w(te.target.checked),className:"h-4 w-4 rounded border border-arcticBlue-400 bg-arcticBlue-900 text-arcticBlue-400 focus:ring-arcticBlue-300"}),T.jsx("span",{className:"text-xs",children:"Einstellung merken (bis Browser geschlossen wird)"})]})]}),T.jsxs("div",{className:"flex gap-2",children:[T.jsx(Q.Button,{onClick:()=>xe("keep"),className:"rounded-md border border-arcticBlue-600 bg-arcticBlue-700 px-4 py-2 font-sans font-bold text-center uppercase transition-all hover:bg-arcticBlue-800",children:"Auswahl behalten"}),T.jsx(Q.Button,{onClick:()=>xe("clear"),className:"rounded-md border border-sunsetCoral-500 bg-sunsetCoral-600 px-4 py-2 font-sans font-bold text-center uppercase transition-all hover:bg-sunsetCoral-600",children:"Auswahl entfernen"})]})]})}),T.jsxs("div",{id:"collect",className:"mt-8 flex flex-col gap-4 md:flex-row md:items-start md:gap-6",children:[i.length>0&&T.jsx("div",{className:"w-full md:order-first order-last md:w-3/4",children:T.jsxs("div",{className:"flex flex-col gap-3 text-sm text-gray-300",children:[T.jsx("div",{className:"flex flex-wrap items-center gap-2",children:i.map(te=>{const ge=oe.get(te),_e=(ge==null?void 0:ge.Name)||`Stack ${te}`;return T.jsxs("button",{type:"button",onClick:()=>je(te),className:"inline-flex items-center gap-2 rounded-full bg-lavenderSmoke-600/80 px-2 py-0.5 text-white transition hover:bg-lavenderSmoke-600/90 focus:outline-none focus:ring-2 focus:ring-lavenderSmoke-400 cursor-pointer",children:[T.jsx("span",{children:_e}),T.jsx("span",{className:"text-xs font-semibold text-lavenderSmoke-200",children:"x"})]},te)})}),T.jsx("button",{type:"button",onClick:Se,className:"md:order-last self-start mt-1 text-xs font-medium text-gray-400 underline underline-offset-2 transition hover:text-gray-200",children:"Auswahl aufheben"})]})}),T.jsx("div",{className:"w-full md:w-1/4 md:ml-auto",children:T.jsx(Q.Button,{className:"w-full bg-arcticBlue-500 hover:bg-arcticBlue-600",onClick:me,disabled:Ve,children:Je})})]})]})]}),T.jsx("div",{className:"grid grid-cols-1 gap-6 md:grid-cols-2",children:se.map(te=>{const ge=te.redeployPhase,_e=ge===ht.QUEUED,Pe=ge===ht.STARTED,Ce=_e||Pe,we=i.includes(te.Id),Ie=te.updateStatus==="✅",Ue=!!te.redeployDisabled,Ze=!Ce&&!Ie&&!Ue;return T.jsx(Q.Card,{children:T.jsxs(Q.CardBody,{className:`flex w-full text-stormGrey-500 items-center justify-between gap-4 rounded-xl shadow-lg transition border - ${we?"border-purple-500 ring-1 ring-purple-500/40":"border-transparent"} - ${!Ze||Ce?"opacity-75 bg-stormGrey-200/20":""}`,children:[T.jsxs("div",{className:"flex items-center space-x-4",id:"left",children:[T.jsx("input",{type:"checkbox",checked:we,onChange:()=>Te(te.Id,!Ze),className:`h-5 w-5 text-purple-500 focus:ring-purple-400 border-gray-600 bg-gray-900 rounded ${Ze?"":"opacity-40 cursor-not-allowed"}`,disabled:!Ze}),T.jsx("div",{className:`w-12 h-12 flex items-center justify-center rounded-full - ${te.updateStatus==="✅"?"bg-mossGreen-600":te.updateStatus==="⚠️"?"bg-warmAmberGlow-400":"bg-sunsetCoral-500"}`}),T.jsxs("div",{children:[T.jsx("p",{className:"text-lg antialiased font-sans font-semibold leading-normal text-inherit",children:te.Name}),T.jsxs("p",{className:"text-sm antialiased font-sans font-light leading-normal text-inherit",children:["ID: ",te.Id]}),te.duplicateName&&T.jsx("p",{className:"text-xs text-amber-700",children:"⚠️ Doppelter Name erkannt"})]})]}),T.jsx("div",{className:"ml-auto flex flex-col items-end gap-1 text-sm",id:"right",children:Pe?T.jsxs(T.Fragment,{children:[T.jsx("span",{className:"antialiased font-sans font-light leading-normal text-xs uppercase tracking-wide text-warmAmberGlow-600",children:"Redeploy"}),T.jsx("span",{className:"text-warmAmberGlow-500",children:"läuft…"})]}):_e?T.jsxs(T.Fragment,{children:[T.jsx("span",{className:"antialiased font-sans font-light leading-normal text-xs uppercase tracking-wide text-warmAmberGlow-600",children:"Redeploy"}),T.jsx("span",{className:"text-warmAmberGlow-500",children:"in Warteliste…"})]}):Ue?T.jsxs(T.Fragment,{children:[T.jsx("span",{className:"antialiased font-sans font-light leading-normal text-xs uppercase tracking-wide text-stormGrey-500",children:"System"}),T.jsx("span",{className:"text-gray-300",children:"Redeploy deaktiviert"})]}):Ie?T.jsxs(T.Fragment,{children:[T.jsx("span",{className:"antialiased font-sans font-light leading-normal text-xs uppercase tracking-wide text-stormGrey-500",children:"Status"}),T.jsx("span",{className:"text-mossGreen-600",children:"Aktuell"})]}):T.jsx(Q.Button,{onClick:()=>qe(te.Id),disabled:Ce,className:"disabled:opacity-50 disabled:cursor-not-allowed",children:"Redeploy"})})]})},te.Id)})}),T.jsx(jf,{disabled:r||!!o})]})}const NB={idle:"Bereit",running:"Läuft",success:"Erfolgreich",error:"Fehlgeschlagen"},es={idle:"bg-stormGrey-700 text-gray-200",running:"bg-arcticBlue-600 text-white",success:"bg-mossGreen-600 text-white",error:"bg-sunsetCoral-600 text-white"},jB={initializing:"Vorbereitung","activating-maintenance":"Wartungsmodus aktivieren","executing-script":"Skript wird ausgeführt",waiting:"Warte auf Portainer",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},RB={info:"text-arcticBlue-700",success:"text-mossGreen-700",warning:"text-warmAmberGlow-700",error:"text-sunsetCoral-700",stdout:"text-stormGrey-700",stderr:"text-warmAmberGlow-700",debug:"text-lavenderSmoke-700"},AB=e=>{if(!e)return"-";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})},Ma=e=>{if(!e&&e!==0)return"-";const r=(n=>{if(n instanceof Date)return n;if(typeof n=="number"){const o=n>1e12?n:n*1e3;return new Date(o)}if(typeof n=="string"){const o=Number(n);if(!Number.isNaN(o)){const a=o>1e12?o:o*1e3;return new Date(a)}return new Date(n)}return null})(e);return!r||Number.isNaN(r.getTime())?String(e):r.toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})},kx=e=>e===1?"Git":e===2?"Compose":e??"-",c0=()=>({host:"",port:"22",username:"",password:"",extraSshArgs:""});function MB(){var Xn,Ea,Rl;const{showToast:e}=El(),{maintenance:t,update:r,script:n,ssh:o,loading:a,error:i,setMaintenanceMode:u,triggerUpdate:f,saveScript:g,resetScript:b,saveSshConfig:_,deleteSshConfig:O,testSshConnection:S,fetchSuperuserStatus:C,fetchSetupStatus:w,deleteSetupEndpoint:m,deleteSetupServer:d,updateSetupApiKey:l,removeSuperuserAccount:c}=pi(),s=!!(t!=null&&t.active),h=t==null?void 0:t.message,v=(Xn=t==null?void 0:t.extra)==null?void 0:Xn.type,y=!!(r!=null&&r.running),[E,P]=j.useState(""),[N,R]=j.useState(!1),[M,D]=j.useState(!1),[L,W]=j.useState(""),[U,Y]=j.useState(!1),[$,z]=j.useState(()=>c0()),[H,G]=j.useState(!1),[X,ie]=j.useState(!1),[fe,pe]=j.useState(!1),[oe,se]=j.useState(!1),[ee,ae]=j.useState(!1),[ue,de]=j.useState(null);j.useEffect(()=>{if(!n)return;const he=n.custom??n.default??n.effective??"";P(he)},[n]),j.useEffect(()=>{if(!o){z(c0()),G(!1),ie(!1),de(null);return}z({host:o.host??"",port:String(o.port??"22"),username:o.username??"",password:"",extraSshArgs:Array.isArray(o.extraSshArgs)?o.extraSshArgs.join(` -`):""}),G(!!o.passwordStored),ie(!1),de(null)},[o]);const Te=j.useMemo(()=>n?n.source==="custom"&&typeof n.custom=="string"?n.custom:n.default??n.effective??"":"",[n]),xe=n?E!==Te:!1,be=(n==null?void 0:n.source)==="custom"?"Benutzerdefiniert":"Standard",[Se,je]=j.useState(!0),[qe,nt]=j.useState(!1),[ut,Ye]=j.useState(null),[rt,Je]=j.useState(""),[Ve,me]=j.useState(!1),[te,ge]=j.useState(null),[_e,Pe]=j.useState(!0),[Ce,we]=j.useState(""),[Ie,Ue]=j.useState({}),[Ze,Bt]=j.useState(null),[et,Xt]=j.useState(null),[qt,Et]=j.useState(null),[tr,Jt]=j.useState([]),[Nt,Nr]=j.useState(!0),[bt,Gt]=j.useState(""),[On,Gn]=j.useState(!1),[fo,Kr]=j.useState(null),[Kn,wr]=j.useState(null),Yr=j.useRef(null),[pt,po]=j.useState(null),[Z,Oe]=j.useState(!0),[Re,_t]=j.useState(""),[jt,vt]=j.useState(!1),[Ct,cr]=j.useState(null),lt=j.useRef(null),xr=j.useCallback(async({silent:he=!1}={})=>{var Ne,Ae;je(!0),Je("");try{const Me=await C(),Ke=!!(Me!=null&&Me.exists);nt(Ke),Ye(Ke?Me.user??null:null)}catch(Me){const Ke=((Ae=(Ne=Me.response)==null?void 0:Ne.data)==null?void 0:Ae.error)||Me.message||"Superuser-Status konnte nicht geladen werden";nt(!1),Ye(null),Je(Ke),he||e({variant:"error",title:"Statusabfrage fehlgeschlagen",description:Ke})}finally{je(!1)}},[C,e]),Zt=j.useCallback(async({silent:he=!1}={})=>{var Ne,Ae;he||Pe(!0),we("");try{const Me=await w();ge(Me),Ue({})}catch(Me){const Ke=((Ae=(Ne=Me.response)==null?void 0:Ne.data)==null?void 0:Ae.error)||Me.message||"Setup-Daten konnten nicht geladen werden";we(Ke),he||e({variant:"error",title:"Setup-Daten",description:Ke})}finally{Pe(!1)}},[w,e]),ar=j.useCallback(async({silent:he=!1}={})=>{if(lt.current)return lt.current;const Ne=(async()=>{var Ae,Me;he?vt(!0):Oe(!0),_t("");try{const Tt=(await at.get("/api/maintenance/portainer-status")).data??{};po(Tt),cr(new Date)}catch(Ke){const Tt=((Me=(Ae=Ke.response)==null?void 0:Ae.data)==null?void 0:Me.error)||Ke.message||"Fehler beim Prüfen des Portainer-Status";_t(Tt),e({variant:"error",title:"Statusaktualisierung fehlgeschlagen",description:Tt})}finally{he?vt(!1):Oe(!1),lt.current=null}})();return lt.current=Ne,Ne},[e]),Fr=j.useCallback(async({silent:he=!1}={})=>{if(s||y){Jt([]),Gt("Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert."),Nr(!1),Gn(!1);return}if(Yr.current)return Yr.current;const Ne=(async()=>{var Ae,Me,Ke;he?Gn(!0):Nr(!0),Gt("");try{const wt=(await at.get("/api/maintenance/duplicates")).data,Yt=Array.isArray(wt)?wt:(wt==null?void 0:wt.items)??[];Jt(Yt),wr(new Date)}catch(Tt){if(((Ae=Tt.response)==null?void 0:Ae.status)===423){const wt="Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert.";Jt([]),Gt(wt),e({variant:"warning",title:"Duplikat-Verwaltung gesperrt",description:wt})}else{const wt=((Ke=(Me=Tt.response)==null?void 0:Me.data)==null?void 0:Ke.error)||Tt.message||"Fehler beim Laden der Wartungsdaten";Gt(wt),e({variant:"error",title:"Duplikate konnten nicht geladen werden",description:wt})}}finally{he?Gn(!1):Nr(!1),Yr.current=null}})();return Yr.current=Ne,Ne},[s,y,e]);j.useEffect(()=>{xr({silent:!0})},[xr]),j.useEffect(()=>{Zt()},[Zt]),j.useEffect(()=>{ar()},[ar]),j.useEffect(()=>{Fr()},[Fr]);const Pn=j.useMemo(()=>{var he;return((he=te==null?void 0:te.servers)==null?void 0:he.items)??[]},[te]),Qr=j.useMemo(()=>{var he;return((he=te==null?void 0:te.endpoints)==null?void 0:he.items)??[]},[te]),Sa=j.useMemo(()=>{var Ne;const he=((Ne=te==null?void 0:te.apiKeys)==null?void 0:Ne.items)??[];return new Map(he.map(Ae=>[Ae.serverId,Ae]))},[te]),Ta=j.useMemo(()=>!!(te!=null&&te.setupComplete),[te]),Yn=j.useMemo(()=>{const he=Array.isArray(tr)?tr.length:0,Ne=Array.isArray(tr)?tr.reduce((Ae,Me)=>{var Ke;return Ae+(((Ke=Me==null?void 0:Me.duplicates)==null?void 0:Ke.length)||0)},0):0;return{groups:he,duplicateCount:Ne}},[tr]),Xr=j.useCallback((he,Ne)=>{z(Ae=>({...Ae,[he]:Ne})),he==="password"&&G(!1)},[]),Qn=j.useMemo(()=>{const he={host:$.host.trim(),port:Number.parseInt($.port,10)||22,username:$.username.trim(),extraSshArgs:($.extraSshArgs||"").split(/\r?\n/).map(Ae=>Ae.trim()).filter(Boolean)},Ne=$.password??"";return Ne?he.password=Ne:H||(he.password=""),he},[$,H]),hi=j.useCallback(async()=>{var he,Ne;if(n)try{R(!0),await g(E),e({variant:"success",title:"Skript gespeichert",description:"Das benutzerdefinierte Portainer-Update-Skript wurde aktualisiert."})}catch(Ae){const Me=((Ne=(he=Ae.response)==null?void 0:he.data)==null?void 0:Ne.error)||Ae.message||"Skript konnte nicht gespeichert werden";e({variant:"error",title:"Speichern fehlgeschlagen",description:Me})}finally{R(!1)}},[g,E,n,e]),ho=j.useCallback(async()=>{var he,Ne;try{R(!0),await b(),e({variant:"info",title:"Standardskript wiederhergestellt",description:"Es wird wieder das Standard-Update-Skript verwendet."})}catch(Ae){const Me=((Ne=(he=Ae.response)==null?void 0:he.data)==null?void 0:Ne.error)||Ae.message||"Standardskript konnte nicht wiederhergestellt werden";e({variant:"error",title:"Zurücksetzen fehlgeschlagen",description:Me})}finally{R(!1)}},[b,e]),Do=j.useCallback(async()=>{var he,Ne;try{pe(!0),await _(Qn),de(null),ie(!1),e({variant:"success",title:"SSH-Konfiguration gespeichert",description:"Verbindungseinstellungen wurden aktualisiert."})}catch(Ae){const Me=((Ne=(he=Ae.response)==null?void 0:he.data)==null?void 0:Ne.error)||Ae.message||"SSH-Konfiguration konnte nicht gespeichert werden";e({variant:"error",title:"Speichern fehlgeschlagen",description:Me})}finally{pe(!1)}},[Qn,_,e]),Lo=j.useCallback(async()=>{var he,Ne;try{se(!0);const Ae=await S(Qn);de({success:!0,timestamp:new Date,details:Ae==null?void 0:Ae.result}),e({variant:"success",title:"SSH-Verbindung erfolgreich",description:"Verbindung zum Portainer-Host wurde hergestellt."})}catch(Ae){const Me=((Ne=(he=Ae.response)==null?void 0:he.data)==null?void 0:Ne.error)||Ae.message||"SSH-Verbindung fehlgeschlagen";de({success:!1,timestamp:new Date,error:Me}),e({variant:"error",title:"SSH-Test fehlgeschlagen",description:Me})}finally{se(!1)}},[Qn,S,e]),Oa=j.useCallback(async()=>{var he,Ne;try{ae(!0),await O(),z(c0()),G(!1),ie(!1),de(null),e({variant:"info",title:"SSH-Konfiguration gelöscht",description:"Die Verbindungseinstellungen wurden zurückgesetzt."})}catch(Ae){const Me=((Ne=(he=Ae.response)==null?void 0:he.data)==null?void 0:Ne.error)||Ae.message||"SSH-Konfiguration konnte nicht gelöscht werden";e({variant:"error",title:"Löschen fehlgeschlagen",description:Me})}finally{ae(!1)}},[O,e]),Nl=j.useCallback(async()=>{var he,Ne,Ae;if(!(Ve||Se||!qe)&&!(typeof window<"u"&&!window.confirm(`Superuser und zugehörige Gruppe wirklich löschen? -Dies setzt die Superuser-Einrichtung zurück.`)))try{me(!0);const Me=await c(),Ke=Number((Me==null?void 0:Me.usersRemoved)??0);e({variant:"success",title:"Superuser gelöscht",description:Ke>1?`${Ke} Konten aus der Superuser-Gruppe wurden entfernt.`:"Superuser-Konto wurde entfernt."}),await xr({silent:!0})}catch(Me){if(((he=Me.response)==null?void 0:he.status)===404)await xr({silent:!0}),e({variant:"info",title:"Kein Superuser vorhanden",description:"Es ist kein Superuser mehr vorhanden."});else{const Tt=((Ae=(Ne=Me.response)==null?void 0:Ne.data)==null?void 0:Ae.error)||Me.message||"Superuser konnte nicht gelöscht werden";e({variant:"error",title:"Löschen fehlgeschlagen",description:Tt})}}finally{me(!1)}},[Ve,Se,qe,c,xr,e]),jl=j.useCallback(async he=>{var Ke,Tt;if(qt===he)return;const Ne=Qr.find(wt=>wt.id===he);if(!Ne)return;const Ae=Ne.name||`Endpoint ${Ne.external_id}`,Me=`Endpoint "${Ae}" wirklich löschen?${Ne.is_default?` -Dieser Endpoint ist aktuell als Standard markiert.`:""}`;if(!(typeof window<"u"&&!window.confirm(Me))){Et(he);try{await m(he),e({variant:"success",title:"Endpoint gelöscht",description:`Endpoint "${Ae}" wurde entfernt.`}),await Zt({silent:!0})}catch(wt){const Yt=((Tt=(Ke=wt.response)==null?void 0:Ke.data)==null?void 0:Tt.error)||wt.message||"Endpoint konnte nicht gelöscht werden.";e({variant:"error",title:"Endpoint löschen fehlgeschlagen",description:Yt})}finally{Et(null)}}},[m,qt,Zt,Qr,e]),Pa=j.useCallback(async he=>{var Tt,wt;if(et===he)return;const Ne=Pn.find(Yt=>Yt.id===he);if(!Ne)return;const Ae=Qr.filter(Yt=>Yt.server_id===he),Me=Ne.name||Ne.url||`Server ${he}`,Ke=[`Server "${Me}" wirklich löschen?`,Ae.length?`Dabei werden ${Ae.length} zugeordnete Endpoint(s) entfernt.`:null,"Das System benötigt anschließend erneut einen gültigen Server/Endpoint im Setup."].filter(Boolean).join(` -`);if(!(typeof window<"u"&&!window.confirm(Ke))){Xt(he);try{await d(he),e({variant:"success",title:"Server gelöscht",description:`Server "${Me}" wurde entfernt.`}),await Zt({silent:!0})}catch(Yt){const _r=((wt=(Tt=Yt.response)==null?void 0:Tt.data)==null?void 0:wt.error)||Yt.message||"Server konnte nicht gelöscht werden.";e({variant:"error",title:"Server löschen fehlgeschlagen",description:_r})}finally{Xt(null)}}},[d,Zt,et,Qr,Pn,e]),go=j.useCallback((he,Ne)=>{Ue(Ae=>({...Ae,[he]:Ne}))},[]),Pt=j.useCallback(async he=>{var Ae,Me;const Ne=(Ie[he]??"").trim();if(!Ne){e({variant:"warning",title:"API-Key fehlt",description:"Bitte gib einen API-Key ein."});return}if(Ze!==he){Bt(he);try{await l(he,Ne),e({variant:"success",title:"API-Key aktualisiert",description:"Der API-Key wurde gespeichert."}),Ue(Ke=>({...Ke,[he]:""})),await Zt({silent:!0})}catch(Ke){const Tt=((Me=(Ae=Ke.response)==null?void 0:Ae.data)==null?void 0:Me.error)||Ke.message||"API-Key konnte nicht aktualisiert werden.";e({variant:"error",title:"Aktualisierung fehlgeschlagen",description:Tt})}finally{Bt(null)}}},[Ie,Ze,Zt,e,l]),Kt=j.useCallback(async he=>{var Ne,Ae;if(!(a||U)&&he!==s){if(y){e({variant:"warning",title:"Aktion nicht möglich",description:"Während eines laufenden Updates kann der Wartungsmodus nicht geändert werden."});return}Y(!0);try{const Me=he&&!!v,Ke={active:he};Me&&h?Ke.message=h:Ke.message=null,await u(Ke),e({variant:he?"info":"success",title:he?"Wartungsmodus aktiviert":"Wartungsmodus deaktiviert",description:he?"Benutzer sehen jetzt die Wartungsseite.":"StackPulse steht wieder zur Verfügung."})}catch(Me){const Ke=((Ae=(Ne=Me.response)==null?void 0:Ne.data)==null?void 0:Ae.error)||Me.message||"Wartungsmodus konnte nicht geändert werden";e({variant:"error",title:"Änderung fehlgeschlagen",description:Ke})}finally{Y(!1)}}},[a,U,s,y,u,h,v,e]),Rt=j.useCallback(async()=>{var Ne,Ae;if(s||y){e({variant:"warning",title:"Update nicht möglich",description:"Während eines aktiven Wartungsmodus kann kein weiteres Update gestartet werden."});return}const he=(pt==null?void 0:pt.latestVersion)??(pt==null?void 0:pt.currentVersion)??"unbekannt";if(!(typeof window<"u"&&!window.confirm(`Portainer-Update starten? -Zielversion: ${he}. -Während des Updates befindet sich StackPulse im Wartungsmodus. -Fortfahren?`)))try{W(""),D(!0),await f(),e({variant:"info",title:"Update gestartet",description:"Das Portainer-Update wurde gestartet."})}catch(Me){const Ke=((Ae=(Ne=Me.response)==null?void 0:Ne.data)==null?void 0:Ae.error)||Me.message||"Portainer-Update konnte nicht gestartet werden";W(Ke),e({variant:"error",title:"Update fehlgeschlagen",description:Ke})}finally{D(!1)}},[s,y,pt,f,e]),cn=j.useCallback(async he=>{var Ke,Tt,wt,Yt;if(!he)return;if(s||y){e({variant:"warning",title:"Aktion nicht möglich",description:"Während des Wartungsmodus sind Bereinigungen deaktiviert."});return}const Ne=(Ke=he.canonical)==null?void 0:Ke.Id;if(!Ne)return;const Ae=(he.duplicates||[]).map(_r=>_r.Id).filter(Boolean);if(!Ae.length)return;const Me=((Tt=he.canonical)==null?void 0:Tt.Name)||he.name||`Stack ${Ne}`;if(!(typeof window<"u"&&!window.confirm(`Bereinigung für "${Me}" starten? -Es werden ${Ae.length} Duplikate entfernt: ${Ae.join(", ")}`))){Kr(String(Ne));try{const mo=(await at.post("/api/maintenance/duplicates/cleanup",{canonicalId:Ne,duplicateIds:Ae})).data??{};if(mo.success===!1)throw new Error(mo.error||"Bereinigung fehlgeschlagen");const Al=Array.isArray(mo.results)?mo.results.filter(Na=>Na.status==="deleted").map(Na=>Na.id):Ae;e({variant:"success",title:"Bereinigung abgeschlossen",description:`${Me} – entfernte IDs: ${Al.join(", ")}`}),await Fr({silent:!0})}catch(_r){const mo=((Yt=(wt=_r.response)==null?void 0:wt.data)==null?void 0:Yt.error)||_r.message||"Bereinigung fehlgeschlagen";e({variant:"error",title:"Bereinigung fehlgeschlagen",description:mo})}finally{Kr(null)}}},[Fr,s,e,y]);t!=null&&t.activatedAt&&Ma(t.activatedAt),t!=null&&t.updatedAt&&Ma(t.updatedAt);const jr=s||y,dn=(r==null?void 0:r.status)??(y?"running":"idle"),ka=NB[dn]??dn,gi=es[dn]??es.idle,mi=r!=null&&r.stage?jB[r.stage]??r.stage:"–",bi=(r==null?void 0:r.logs)??[],Rf=(r==null?void 0:r.targetVersion)??"-",Af=(r==null?void 0:r.resultVersion)??"-",Mf=r!=null&&r.startedAt?Ma(r.startedAt):"-",If=r!=null&&r.finishedAt?Ma(r.finishedAt):"-",vu=(r==null?void 0:r.message)??(y?"Update läuft…":""),yu=y||N||a;return T.jsxs("div",{className:"mt-12 mb-8 flex flex-col gap-12",children:[(s||y)&&T.jsx("div",{className:"rounded-lg border border-cyan-500/60 bg-cyan-900/30 px-4 py-3 text-sm text-bluegray-100",children:T.jsxs("div",{className:"flex flex-col gap-1",children:[T.jsxs("span",{children:["Wartungsmodus aktiv",h?` – ${h}`:y?" – Portainer-Update läuft":"","."]}),y&&T.jsxs("span",{className:"text-xs text-indigo-900",children:["Phase: ",mi]})]})}),T.jsxs(Q.Card,{children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:T.jsx(Q.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:T.jsx("span",{children:"Wartungsmodus"})})}),T.jsxs(Q.CardBody,{className:"flex flex-col gap-4 p-4",children:[T.jsxs("div",{className:"flex items-start justify-between gap-4",children:[T.jsx("div",{className:"space-y-1",children:T.jsx("p",{className:"text-sm antialiased font-sans text-sm font-light leading-normal text-inherit",children:"Schaltet StackPulse für Benutzer in den Wartungsmodus."})}),T.jsx(Q.Switch,{checked:s,disabled:U||a||y,onChange:he=>Kt(he.target.checked),ripple:!1,color:"amber"})]}),U&&T.jsx("p",{className:"text-xs text-stormGrey-500",children:"Wartungsmodus wird aktualisiert…"})]})]}),T.jsxs(Q.Card,{children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:T.jsx(Q.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:T.jsx("span",{children:"Server & Endpoints"})})}),T.jsxs(Q.CardBody,{className:"flex flex-col gap-4 p-4",children:[_e&&T.jsx("p",{className:"text-sm text-stormGrey-500",children:"Daten werden geladen…"}),!_e&&Ce&&T.jsx(Alert,{color:"red",className:"border border-red-200 bg-red-50 text-red-700",children:Ce}),!_e&&!Ce&&T.jsxs("div",{className:"flex flex-col gap-6",children:[T.jsxs("div",{className:"flex flex-col gap-3",children:[T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx(Q.Typography,{variant:"small",color:"blue-gray",className:"font-semibold uppercase",children:"Server"}),T.jsxs(Q.Typography,{variant:"small",color:"blue-gray",children:[Pn.length," vorhanden"]})]}),Pn.length===0?T.jsx("p",{className:"text-sm text-stormGrey-500",children:"Es sind derzeit keine Server hinterlegt."}):T.jsx("div",{className:"flex flex-col gap-3",children:Pn.map(he=>{const Ne=Sa.get(he.id)||null,Ae=!!(Ne!=null&&Ne.hasKey),Me=Ne!=null&&Ne.updatedAt?new Date(Ne.updatedAt).toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):null;return T.jsxs("div",{className:"flex flex-col gap-3 rounded-md border border-blue-gray-100 p-3 md:flex-row md:items-start md:justify-between",children:[T.jsxs("div",{className:"flex flex-col gap-1",children:[T.jsx("p",{className:"text-sm font-medium text-stormGrey-900",children:he.name||"Ohne Namen"}),T.jsx("p",{className:"text-xs text-stormGrey-500 break-all",children:he.url}),T.jsxs("p",{className:"text-xs text-stormGrey-500",children:["API-Key: ",Ae?"vorhanden":"nicht hinterlegt",Me?` (aktualisiert am ${Me})`:""]})]}),T.jsxs("div",{className:"flex w-full flex-col gap-2 md:max-w-xs",children:[T.jsx(Q.Input,{type:"password",label:"Neuer API-Key",value:Ie[he.id]??"",onChange:Ke=>go(he.id,Ke.target.value),disabled:_e||Ze===he.id}),T.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[T.jsx(Q.Button,{variant:"text",color:"red",size:"sm",onClick:()=>Pa(he.id),disabled:_e||et===he.id||qt!==null||Ze===he.id,children:et===he.id?"Lösche…":"Löschen"}),T.jsx(Q.Button,{color:"blue",size:"sm",onClick:()=>Pt(he.id),disabled:_e||Ze===he.id,children:Ze===he.id?"Speichere…":"API-Key speichern"})]})]})]},he.id)})})]}),T.jsxs("div",{className:"flex flex-col gap-3",children:[T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx(Q.Typography,{variant:"small",color:"blue-gray",className:"font-semibold uppercase",children:"Endpoints"}),T.jsxs(Q.Typography,{variant:"small",color:"blue-gray",children:[Qr.length," vorhanden"]})]}),Qr.length===0?T.jsx("p",{className:"text-sm text-stormGrey-500",children:"Es sind derzeit keine Endpoints hinterlegt."}):T.jsx("div",{className:"flex flex-col gap-3",children:Qr.map(he=>T.jsxs("div",{className:"flex flex-col gap-2 rounded-md border border-blue-gray-100 p-3 md:flex-row md:items-center md:justify-between",children:[T.jsxs("div",{children:[T.jsxs("div",{className:"flex items-center gap-2",children:[T.jsx("p",{className:"text-sm font-medium text-stormGrey-900",children:he.name||`Endpoint ${he.external_id}`}),he.is_default?T.jsx("span",{className:"rounded-full bg-arcticBlue-100 px-2 py-0.5 text-[10px] font-semibold text-arcticBlue-700",children:"Standard"}):null]}),T.jsxs("p",{className:"text-xs text-stormGrey-500",children:["ID: ",he.external_id," · Server: ",he.server_name||he.server_url]})]}),T.jsx("div",{className:"flex items-center gap-2",children:T.jsx(Q.Button,{variant:"text",color:"red",size:"sm",onClick:()=>jl(he.id),disabled:_e||qt===he.id||et!==null,children:qt===he.id?"Lösche…":"Löschen"})})]},he.id))})]}),!Ta&&T.jsx(Alert,{color:"amber",className:"border border-amber-200 bg-amber-50 text-amber-800",children:"Das Setup ist aktuell unvollständig. Bitte öffne den Setup-Bereich, um Server, Endpoint und API-Key erneut festzulegen."}),T.jsx("div",{className:"flex items-center justify-end",children:T.jsx(Q.Button,{variant:"outlined",color:"gray",size:"sm",onClick:()=>Zt(),disabled:_e,children:"Aktualisieren"})})]})]})]}),T.jsxs(Q.Card,{children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:T.jsx(Q.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:T.jsx("span",{children:"Superuser"})})}),T.jsxs(Q.CardBody,{className:"flex flex-col gap-4 p-4",children:[T.jsxs("div",{className:"space-y-2",children:[Se&&T.jsx("p",{className:"text-sm text-stormGrey-500",children:"Status wird geladen…"}),!Se&&rt&&T.jsx("p",{className:"text-sm text-sunsetCoral-600",children:rt}),!Se&&!rt&&qe&&T.jsxs("div",{className:"space-y-1",children:[T.jsx("p",{className:"text-sm",children:"Superuser ist angelegt."}),T.jsxs("p",{className:"text-xs text-stormGrey-500",children:["Benutzername: ",T.jsx("span",{className:"font-medium text-stormGrey-900",children:(ut==null?void 0:ut.username)??"unbekannt"}),ut!=null&&ut.email?` - ${ut.email}`:""]})]}),!Se&&!rt&&!qe&&T.jsx("p",{className:"text-sm",children:"Es ist kein Superuser vorhanden."})]}),T.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[T.jsx(Q.Button,{variant:"outlined",color:"gray",onClick:()=>xr(),disabled:Se||Ve,className:"w-full sm:w-auto",children:"Status aktualisieren"}),T.jsx(Q.Button,{color:"red",onClick:Nl,disabled:Se||Ve||!qe,className:"w-full sm:w-auto",children:Ve?"Wird gelöscht…":"Superuser löschen"})]}),T.jsx("p",{className:"text-xs text-stormGrey-500",children:"Entfernt das Superuser-Konto samt zugehöriger Gruppe. Danach kann der Erstbenutzer bei Bedarf erneut angelegt werden."})]})]}),T.jsxs(Q.Card,{children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:T.jsx(Q.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:T.jsx("span",{children:"Portainer"})})}),T.jsxs(Q.CardBody,{className:"flex flex-col gap-4 p-4 pt-0",children:[T.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[T.jsxs("div",{children:[T.jsx("h2",{className:"block antialiased font-sans text-lg font-semibold",children:"Portainer Status"}),T.jsx("p",{className:"block antialiased font-sans text-sm font-light leading-normal text-inherit",children:Z?"Status wird geprüft…":Re||(y?"Portainer wird aktuell aktualisiert.":(pt==null?void 0:pt.updateAvailable)===!0?"Es ist ein Update für Portainer verfügbar.":"Portainer ist auf dem aktuellen Stand.")}),Ct&&!Z&&T.jsxs("p",{className:"mt-1 text-xs text-stormGrey-500 block antialiased font-sans",children:["Stand: ",Ct.toLocaleString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})]})]}),T.jsx("div",{className:"flex items-center gap-3",children:T.jsx(Q.Button,{onClick:()=>ar({silent:!1}),disabled:Z||jt,className:"w-full",children:"Status aktualisieren"})})]}),T.jsx("div",{className:"flex flex-col gap-4 mt-5 space-y-4 block antialiased font-sans text-sm font-light leading-normal text-inherit",children:!Z&&!Re&&pt&&T.jsxs("div",{className:"",children:[T.jsxs("div",{className:"flex items-center justify-between space-y-2",children:[T.jsx("span",{children:"Installierte Version"}),T.jsx("span",{className:"font-medium",children:pt.currentVersion??"Unbekannt"})]}),T.jsxs("div",{className:"flex items-center justify-between space-y-2",children:[T.jsx("span",{children:"Neueste Version"}),T.jsx("span",{className:"font-medium",children:pt.latestVersion??"Unbekannt"})]}),T.jsxs("div",{className:"flex items-center justify-between space-y-2",children:[T.jsx("span",{children:"Status"}),T.jsx("span",{className:`rounded-full px-3 py-0.5 text-xs font-semibold ${pt.updateAvailable===!0?es.error:pt.updateAvailable===!1?es.success:es.idle}`,children:pt.updateAvailable===!0?"Update verfügbar":pt.updateAvailable===!1?"Aktuell":"Unbekannt"})]}),pt.edition&&T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("span",{className:"text-stormGrey-400",children:"Edition"}),T.jsx("span",{className:"font-medium",children:pt.edition})]}),pt.build&&T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("span",{className:"text-stormGrey-400",children:"Build"}),T.jsx("span",{className:"font-medium",children:pt.build})]}),((Ea=pt.errors)==null?void 0:Ea.latestVersion)&&T.jsxs("div",{className:"rounded-md mt-8 border bg-sunsetCoral-600 text-white px-3 py-2 text-xs",children:["Neueste Version konnte nicht ermittelt werden: ",pt.errors.latestVersion]}),((Rl=pt.errors)==null?void 0:Rl.container)&&T.jsxs("div",{className:"rounded-md mt-8 border bg-sunsetCoral-600 text-white px-3 py-2 text-xs",children:["Container-Details konnten nicht ermittelt werden: ",pt.errors.container]})]})}),T.jsxs("div",{className:"mt-6 grid gap-6 lg:grid-cols-2 xl:grid-cols-3",children:[T.jsxs("div",{className:"rounded-md border border-gray-700/20 p-4",children:[T.jsx("div",{className:"flex items-center justify-between",children:T.jsx("h3",{className:"text-sm font-semibold",children:"SSH-Verbindung"})}),T.jsxs("div",{className:"mt-3 grid gap-3 text-sm",children:[T.jsxs("label",{className:"grid gap-1",children:[T.jsx("span",{className:"text-xs uppercase tracking-wide",children:"Host"}),T.jsx("input",{type:"text",value:$.host,onChange:he=>Xr("host",he.target.value),disabled:fe||oe||ee||y,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none"})]}),T.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[T.jsxs("label",{className:"grid gap-1",children:[T.jsx("span",{className:"text-xs uppercase tracking-wide ",children:"Port"}),T.jsx("input",{type:"number",min:"1",value:$.port,onChange:he=>Xr("port",he.target.value),disabled:fe||oe||ee||y,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none"})]}),T.jsxs("label",{className:"grid gap-1",children:[T.jsx("span",{className:"text-xs uppercase tracking-wide ",children:"Benutzer"}),T.jsx("input",{type:"text",value:$.username,onChange:he=>Xr("username",he.target.value),disabled:fe||oe||ee||y,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none"})]})]}),T.jsxs("div",{className:"grid gap-1",children:[T.jsxs("div",{className:"flex items-center justify-between text-xs uppercase tracking-wide ",children:[T.jsx("label",{htmlFor:"maintenance-ssh-password",className:"cursor-pointer",children:"Passwort"}),T.jsx("button",{type:"button",onClick:()=>ie(he=>!he),disabled:fe||oe||ee||y,className:"text-[11px] font-medium text-blue-500 transition hover:text-blue-800 disabled:opacity-50",children:X?"Verbergen":"Anzeigen"})]}),T.jsx("input",{id:"maintenance-ssh-password",type:X?"text":"password",value:$.password,onChange:he=>Xr("password",he.target.value),disabled:fe||oe||ee||y,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none",placeholder:"Passwort für den SSH-Benutzer",autoComplete:"off",spellCheck:!1}),H&&!$.password&&T.jsx("span",{className:"text-[11px] ",children:"Ein Passwort ist gespeichert. Neuer Inhalt ersetzt es oder lösche die Konfiguration unten."})]}),T.jsxs("label",{className:"grid gap-1",children:[T.jsx("span",{className:"text-xs uppercase tracking-wide ",children:"Weitere SSH-Argumente"}),T.jsx("textarea",{rows:3,value:$.extraSshArgs,onChange:he=>Xr("extraSshArgs",he.target.value),disabled:fe||oe||ee||y,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 font-mono text-[11px] focus:border-purple-500 focus:outline-none",placeholder:"je Zeile ein Argument (optional)"})]})]}),T.jsxs("div",{className:"mt-4 grid gap-2",children:[T.jsx(Q.Button,{onClick:Do,disabled:fe||oe||ee||y,className:"mt-3 w-full",children:fe?"Speichern…":"SSH-Konfiguration speichern"}),T.jsx(Q.Button,{onClick:Lo,disabled:fe||oe||ee||y,className:"w-full bg-arcticBlue-500 hover:bg-arcticBlue-600",children:oe?"Test läuft…":"Verbindung testen"}),T.jsx(Q.Button,{onClick:Oa,disabled:fe||oe||ee||y,className:"w-full hover:bg-sunsetCoral-600 bg-sunsetCoral-500",children:ee?"Löschen…":"SSH-Einstellungen löschen"})]}),ue&&T.jsx("p",{className:`mt-3 text-xs ${ue.success?"text-mossGreen-600":"text-sunsetCoral-500"}`,children:ue.success?"SSH-Verbindung erfolgreich.":`SSH-Verbindung fehlgeschlagen: ${ue.error}`})]}),T.jsxs("div",{className:"rounded-md border border-gray-700/20 p-4",children:[T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("h3",{className:"text-sm font-semibold",children:"Update-Skript"}),T.jsxs("span",{className:"text-xs",children:["Quelle: ",be]})]}),T.jsx("textarea",{value:E,onChange:he=>P(he.target.value),rows:10,disabled:N||y,className:"mt-3 w-full rounded-md border border-gray-700/20 px-3 py-2 font-mono text-xs focus:border-purple-500 focus:outline-none"}),T.jsxs("div",{className:"mt-3 grid gap-2",children:[T.jsx(Q.Button,{onClick:hi,disabled:!xe||N||y,className:"mt-3 w-full",children:"Speichern"}),T.jsx(Q.Button,{color:"purple",onClick:ho,disabled:!n||n.source!=="custom"||N||y,className:"w-full hover:bg-sunsetCoral-600 bg-sunsetCoral-500",children:"Standard wiederherstellen"})]}),(n==null?void 0:n.customUpdatedAt)&&T.jsxs("p",{className:"mt-2 text-xs text-stormGrey-500",children:["Zuletzt geändert: ",Ma(n.customUpdatedAt)]})]}),T.jsxs("div",{className:"rounded-md border border-gray-700/20 p-4",children:[T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("h3",{className:"text-sm font-semibold",children:"Update-Status"}),T.jsx("span",{className:`rounded-full px-3 py-0.5 text-xs font-semibold ${gi}`,children:ka})]}),T.jsxs("div",{className:"mt-3 grid gap-2 text-xs",children:[T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("span",{children:"Phase"}),T.jsx("span",{className:"font-medium",children:mi})]}),T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("span",{children:"Ziel-Version"}),T.jsx("span",{className:"font-medium",children:Rf})]}),T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("span",{children:"Installierte Version"}),T.jsx("span",{className:"font-medium",children:Af})]}),T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("span",{children:"Gestartet"}),T.jsx("span",{children:Mf})]}),T.jsxs("div",{className:"flex items-center justify-between",children:[T.jsx("span",{children:"Beendet"}),T.jsx("span",{children:If})]}),vu&&T.jsx("div",{className:"rounded-md border border-mossGreen-700 bg-mossGreen-800 px-3 py-2 text-xs text-white",children:vu}),(r==null?void 0:r.error)&&T.jsx("div",{className:"rounded-md border border-sunsetCoral-500/60 bg-sunsetCoral-900/40 px-3 py-2 text-xs text-white",children:r.error}),L&&T.jsx("div",{className:"rounded-md border border-sunsetCoral-500/60 bg-sunsetCoral-900/40 px-3 py-2 text-xs text-white",children:L})]}),T.jsx("div",{className:"mt-3 h-40 overflow-y-auto rounded-md border border-gray-700/20 bg-gray-950/70 p-3 font-mono text-[11px] leading-relaxed",children:bi.length===0?T.jsx("p",{className:"text-stormGrey-500",children:"Noch keine Protokolle vorhanden."}):bi.map((he,Ne)=>T.jsxs("div",{className:"mb-2 last:mb-0",children:[T.jsxs("span",{className:"text-gray-500",children:["[",AB(he.timestamp),"]"]})," ",T.jsx("span",{className:(RB[he.level]??"text-stormGrey-300")+" whitespace-normal break-words",style:{overflowWrap:"anywhere",wordBreak:"normal"},children:he.message})]},`${he.timestamp}-${Ne}`))}),T.jsx(Q.Button,{onClick:Rt,disabled:yu||M,className:"mt-3 w-full",children:M?"Update wird gestartet…":"Portainer aktualisieren"})]})]})]})]}),T.jsxs(Q.Card,{children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:T.jsx(Q.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:T.jsx("span",{children:"Doppelte Stacks"})})}),T.jsxs(Q.CardBody,{className:"flex flex-col gap-4 p-4",children:[T.jsx("div",{className:"rounded-lg border border-warmAmberGlow-600 bg-warmAmberGlow-700 px-4 py-3 text-sm text-white",children:"Das Entfernen von deppelten Stacks ist noch nicht getestet. Bitte nicht in Produktivumgebungen einsetzen."}),T.jsxs("div",{className:"flex items-start justify-between gap-4",children:[T.jsxs("div",{className:"space-y-1",children:[T.jsx("p",{className:"text-sm antialiased font-sans text-sm font-light leading-normal text-inherit",children:jr?"Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert.":Nt?"Analyse läuft…":Yn.groups===0?"Keine Duplikate gefunden":`${Yn.groups} Stack-Namen mit insgesamt ${Yn.duplicateCount} Duplikaten gefunden`}),Kn&&!Nt&&!jr&&T.jsxs("p",{className:"mt-1 text-xs text-gray-500",children:["Stand: ",Kn.toLocaleString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})]})]}),T.jsx(Q.Button,{onClick:()=>Fr({silent:!1}),disabled:jr||Nt||On||fo!==null,className:"",children:"Aktualisieren"}),bt&&!jr&&T.jsx("div",{className:"rounded-lg border border-sunsetCoral-500/60 bg-sunsetCoral-900/40 px-4 py-3 text-sm text-white",children:bt})]}),Nt?T.jsx("div",{className:"flex flex-col gap-4 p-4",children:"Daten werden geladen…"}):Yn.groups===0||jr?T.jsx("div",{className:"rounded-xl border-mossGreen-500/80 bg-mossGreen-900/90 text-mossGreen-100 p-8 text-center text-sm text-white",children:jr?"Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert.":"Es wurden keine doppelten Stacks gefunden."}):T.jsx("div",{className:"space-y-5",children:tr.map(he=>{var Ke,Tt,wt,Yt;const Ne=(Ke=he==null?void 0:he.canonical)==null?void 0:Ke.Id,Ae=(he==null?void 0:he.duplicates)||[],Me=fo===String(Ne);return T.jsxs("div",{className:"rounded-xl border border-gray-700 bg-gray-800/70 p-6 shadow",children:[T.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-start md:justify-between",children:[T.jsxs("div",{className:"space-y-1",children:[T.jsxs("div",{className:"flex items-center gap-2",children:[T.jsx("h3",{className:"text-lg font-semibold text-white",children:he.name}),T.jsxs("span",{className:"rounded-full bg-amber-500/20 px-3 py-0.5 text-xs font-medium text-amber-200",children:[Ae.length," Duplikat",Ae.length===1?"":"e"]})]}),T.jsxs("p",{className:"text-sm text-gray-300",children:["Behaltener Stack: ID ",Ne," (Endpoint ",((Tt=he==null?void 0:he.canonical)==null?void 0:Tt.EndpointId)??"-",")"]}),T.jsxs("p",{className:"text-xs text-gray-500",children:["Typ: ",kx((wt=he==null?void 0:he.canonical)==null?void 0:wt.Type)," • Erstellt: ",Ma((Yt=he==null?void 0:he.canonical)==null?void 0:Yt.Created)]})]}),T.jsx("button",{type:"button",onClick:()=>cn(he),disabled:jr||Me||On||Nt,className:"self-start rounded-lg bg-sunsetCoral-500 px-4 py-2 text-sm font-semibold text-white transition hover:bg-sunsetCoral-600 disabled:opacity-50",children:Me?"Bereinigung läuft…":`Bereinigen (${Ae.length})`})]}),T.jsx("div",{className:"mt-5 grid gap-3",children:Ae.map(_r=>T.jsx("div",{className:"rounded-lg border border-sunsetCoral-500/40 bg-sunsetCoral-900/20 p-4 text-sm text-white",children:T.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[T.jsxs("span",{className:"font-semibold text-white",children:["ID: ",_r.Id]}),T.jsxs("span",{children:["Endpoint: ",_r.EndpointId??"-"]}),T.jsxs("span",{children:["Typ: ",kx(_r.Type)]}),T.jsxs("span",{children:["Erstellt: ",Ma(_r.Created)]})]})},_r.Id))})]},Ne||he.name)})})]})]})]})}const IB={initializing:"Vorbereitung","activating-maintenance":"Wartungsmodus aktivieren","executing-script":"Skript wird ausgeführt",waiting:"Warte auf Portainer",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},Fa=lo.forwardRef(({value:e,onClick:t,onKeyDown:r,...n},o)=>{const{setOpen:a}=Q.useSelect(),i=j.useCallback(()=>{(typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame:b=>setTimeout(b,0))(()=>{a(!0)})},[a]),u=j.useCallback(g=>{typeof t=="function"&&t(g),i()},[t,i]),f=j.useCallback(g=>{typeof r=="function"&&r(g),(g.key==="Enter"||g.key===" ")&&i()},[r,i]);return T.jsx(Q.Option,{...n,value:e,ref:o,onClick:u,onKeyDown:f})});Fa.displayName="StickyOption";const DB={success:"text-mossGreen-500",warning:"text-warmAmberGlow-500",error:"text-sunsetCoral-500",started:"text-arcticBlue-500",running:"text-arcticBlue-500",info:"text-arcticBlue-500",queued:"text-indigo-500"},LB=e=>{if(!e)return"-";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})},Ex=e=>{if(e)return e.replace("T"," ")},Nx="eventLogFilters",to="__all__",FB="- Alle -",zB=e=>!!(e.categories&&e.categories.length||e.eventTypes&&e.eventTypes.length||e.actions&&e.actions.length||e.statuses&&e.statuses.length||e.entityTypes&&e.entityTypes.length||e.contextTypes&&e.contextTypes.length||e.entityId&&e.entityId.trim()||e.contextId&&e.contextId.trim()||e.search&&e.search.trim()||e.from&&e.from.trim()||e.to&&e.to.trim()),BB=e=>{if(e==null)return"-";if(typeof e=="object")try{return JSON.stringify(e)}catch{return"[Objekt]"}return String(e)},VB=e=>{if(!e||typeof e!="object")return"";const t=Object.entries(e);return t.length?t.map(([r,n])=>`${r}: ${BB(n)}`).join(" • "):""};function UB(){const[e,t]=j.useState([]),[r,n]=j.useState(!0),[o,a]=j.useState(""),[i,u]=j.useState(!1),[f,g]=j.useState([]),[b,_]=j.useState([]),[O,S]=j.useState([]),[C,w]=j.useState([]),[m,d]=j.useState([]),[l,c]=j.useState([]),[s,h]=j.useState([]),[v,y]=j.useState([]),[E,P]=j.useState([]),[N,R]=j.useState([]),[M,D]=j.useState([]),[L,W]=j.useState([]),[U,Y]=j.useState(""),[$,z]=j.useState(""),[H,G]=j.useState(""),[X,ie]=j.useState(""),[fe,pe]=j.useState(""),[oe,se]=j.useState(!1),[ee,ae]=j.useState(!1),[ue,de]=j.useState(!1),[Te,xe]=j.useState(0),{maintenance:be,update:Se}=pi(),je=!!(be!=null&&be.active),qe=be==null?void 0:be.message,nt=!!(Se!=null&&Se.running),ut=Se!=null&&Se.stage?IB[Se.stage]??Se.stage:"–",{page:Ye,perPage:rt,perPageOptions:Je,setPage:Ve,setPerPage:me,setTotals:te,handlePerPageChange:ge,validPerPageValues:_e,resetPagination:Pe}=bu(),Ce=j.useCallback(()=>{},[]);j.useEffect(()=>()=>Pe(),[Pe]);const we=j.useCallback(Z=>{const Oe=Array.isArray(Z)?Z:(Z==null?void 0:Z.items)??[],Re=new Set,_t=new Set,jt=new Set,vt=new Set,Ct=new Set,cr=new Set;Oe.forEach(lt=>{lt.category&&Re.add(lt.category),lt.eventType&&_t.add(lt.eventType),lt.action&&jt.add(lt.action),lt.status&&vt.add(lt.status),lt.entityType&&Ct.add(lt.entityType),lt.contextType&&cr.add(lt.contextType)}),g(Array.from(Re).sort()),_(Array.from(_t).sort()),S(Array.from(jt).sort()),w(Array.from(vt).sort()),d(Array.from(Ct).sort()),c(Array.from(cr).sort()),de(!0)},[]);j.useEffect(()=>{ue&&h(Z=>{const Oe=Z.filter(Re=>f.includes(Re));return Oe.length===Z.length?Z:Oe})},[ue,f]),j.useEffect(()=>{ue&&y(Z=>{const Oe=Z.filter(Re=>b.includes(Re));return Oe.length===Z.length?Z:Oe})},[ue,b]),j.useEffect(()=>{ue&&P(Z=>{const Oe=Z.filter(Re=>O.includes(Re));return Oe.length===Z.length?Z:Oe})},[ue,O]),j.useEffect(()=>{ue&&R(Z=>{const Oe=Z.filter(Re=>C.includes(Re));return Oe.length===Z.length?Z:Oe})},[ue,C]),j.useEffect(()=>{ue&&D(Z=>{const Oe=Z.filter(Re=>m.includes(Re));return Oe.length===Z.length?Z:Oe})},[ue,m]),j.useEffect(()=>{ue&&W(Z=>{const Oe=Z.filter(Re=>l.includes(Re));return Oe.length===Z.length?Z:Oe})},[ue,l]),j.useEffect(()=>{if(typeof window>"u"){ae(!0);return}try{const Z=window.localStorage.getItem(Nx);if(Z){const Oe=JSON.parse(Z),Re=(Oe==null?void 0:Oe.filters)??Oe??{},_t=(Oe==null?void 0:Oe.pagination)??{};h(Re.categories||[]),y(Re.eventTypes||[]),P(Re.actions||[]),R(Re.statuses||[]),D(Re.entityTypes||[]),W(Re.contextTypes||[]),Y(Re.entityId||""),z(Re.contextId||""),G(Re.search||""),ie(Re.from||""),pe(Re.to||""),se(zB(Re));const jt=_t.perPage;if(jt!==void 0){const Ct=String(jt);_e.has(Ct)&&me(Ct,{resetPage:!1})}const vt=_t.page;typeof vt=="number"&&vt>0&&Ve(vt)}}catch(Z){console.error("❌ Fehler beim Laden der gespeicherten Log-Filter:",Z)}finally{ae(!0)}},[Ve,me,_e]);const Ie=j.useCallback(()=>{const Z={};s.length&&(Z.categories=s.join(",")),v.length&&(Z.eventTypes=v.join(",")),E.length&&(Z.actions=E.join(",")),N.length&&(Z.statuses=N.join(",")),M.length&&(Z.entityTypes=M.join(",")),L.length&&(Z.contextTypes=L.join(",")),U.trim()&&(Z.entityId=U.trim()),$.trim()&&(Z.contextId=$.trim()),H.trim()&&(Z.search=H.trim());const Oe=Ex(X);Oe&&(Z.from=Oe);const Re=Ex(fe);return Re&&(Z.to=Re),Z},[s,v,E,N,M,L,U,$,H,X,fe]);j.useEffect(()=>{if(!ee)return;let Z=!1;return at.get("/api/logs",{params:{perPage:"all",page:1}}).then(Oe=>{Z||we(Oe.data)}).catch(Oe=>{Z||console.error("⚠️ Konnte Filteroptionen nicht aktualisieren:",Oe)}),()=>{Z=!0}},[ee,we,Te]);const Ue=j.useMemo(()=>({categories:s,eventTypes:v,actions:E,statuses:N,entityTypes:M,contextTypes:L,entityId:U,contextId:$,search:H,from:X,to:fe}),[s,v,E,N,M,L,U,$,H,X,fe]);j.useEffect(()=>{if(!ee)return;const Z={...Ie()};rt==="all"?(Z.perPage="all",Z.page=1):(Z.perPage=rt,Z.page=Ye);let Oe=!1;return n(!0),a(""),at.get("/api/logs",{params:Z}).then(Re=>{if(Oe)return;const _t=Re.data||{},jt=Array.isArray(_t)?_t:_t.items??[],vt=Array.isArray(_t)?jt.length:_t.total??jt.length;if(t(jt),te(vt,jt.length),rt==="all")Ye!==1&&Ve(1);else{const Ct=Math.max(1,Math.ceil((vt||0)/Number(rt))),cr=Math.min(Math.max(Ye,1),Ct);cr!==Ye&&Ve(cr)}}).catch(Re=>{Oe||(console.error("❌ Fehler beim Laden der Logs:",Re),a("Fehler beim Laden der Logs"))}).finally(()=>{Oe||n(!1)}),()=>{Oe=!0}},[ee,Ie,we,Te,rt,Ye,te]),j.useEffect(()=>{if(ee&&!(typeof window>"u"))try{window.localStorage.setItem(Nx,JSON.stringify({filters:Ue,pagination:{perPage:rt,page:Ye}}))}catch(Z){console.error("⚠️ Konnte Filter nicht speichern:",Z)}},[ee,Ue,rt,Ye]);const Ze=j.useCallback(Z=>Oe=>{var jt;if(typeof Oe=="string"){const vt=Oe;if(vt==="")return;Z(Ct=>vt===to?[]:Ct.includes(vt)?Ct.filter(cr=>cr!==vt):[...Ct,vt]),Ve(1);return}const Re=(jt=Oe==null?void 0:Oe.target)==null?void 0:jt.selectedOptions;if(!Re)return;const _t=Array.from(Re).map(vt=>vt.value);_t.includes(to)?Z([]):Z(_t),Ve(1)},[Ve]),Bt=j.useMemo(()=>Ze(h),[Ze]),et=j.useMemo(()=>Ze(y),[Ze]),Xt=j.useMemo(()=>Ze(P),[Ze]),qt=j.useMemo(()=>Ze(R),[Ze]),Et=j.useMemo(()=>Ze(D),[Ze]),tr=j.useMemo(()=>Ze(W),[Ze]),Jt=(Z,Oe)=>{Z(Re=>Re.filter(_t=>_t!==Oe)),Ve(1)},Nt=()=>{h([]),y([]),P([]),R([]),D([]),W([]),Y(""),z(""),G(""),ie(""),pe(""),se(!1),Ve(1)},Nr=()=>{se(Z=>!Z)},bt=j.useCallback(Z=>[{value:to,label:FB},...Z.filter(Oe=>Oe!==to).map(Oe=>({value:Oe,label:Oe}))],[]),Gt=j.useMemo(()=>bt(f),[bt,f]),On=j.useMemo(()=>bt(b),[bt,b]),Gn=j.useMemo(()=>bt(O),[bt,O]),fo=j.useMemo(()=>bt(C),[bt,C]),Kr=j.useMemo(()=>bt(m),[bt,m]),Kn=j.useMemo(()=>bt(l),[bt,l]),wr=j.useMemo(()=>{let Z=0;return s.length&&(Z+=s.length),v.length&&(Z+=v.length),E.length&&(Z+=E.length),N.length&&(Z+=N.length),M.length&&(Z+=M.length),L.length&&(Z+=L.length),U.trim()&&(Z+=1),$.trim()&&(Z+=1),H.trim()&&(Z+=1),X&&(Z+=1),fe&&(Z+=1),Z},[s,v,E,N,M,L,U,$,H,X,fe]),Yr=async Z=>{if(window.confirm("Diesen Log-Eintrag dauerhaft löschen?")){u(!0),a("");try{await at.delete(`/api/logs/${Z}`),xe(Oe=>Oe+1)}catch(Oe){console.error("❌ Fehler beim Löschen des Logs:",Oe),a("Fehler beim Löschen des Logs")}finally{u(!1)}}},pt=async()=>{if(e.length&&window.confirm("Alle angezeigten Logs (entsprechend Filter) löschen?")){u(!0),a("");try{const Z={...Ie(),ids:e.map(Oe=>Oe.id).join(",")};await at.delete("/api/logs",{params:Z}),xe(Oe=>Oe+1)}catch(Z){console.error("❌ Fehler beim Löschen der gefilterten Logs:",Z),a("Fehler beim Löschen der gefilterten Logs")}finally{u(!1)}}},po=async Z=>{u(!0),a("");try{const Oe=await at.get("/api/logs/export",{params:{...Ie(),format:Z},responseType:"blob"}),Re=Oe.headers["content-type"]||(Z==="sql"?"application/sql":"text/plain"),jt=(Oe.headers["content-disposition"]||"").match(/filename="?([^";]+)"?/i),vt=(jt==null?void 0:jt[1])||`event-logs.${Z}`,Ct=new Blob([Oe.data],{type:Re}),cr=window.URL.createObjectURL(Ct),lt=document.createElement("a");lt.href=cr,lt.download=vt,document.body.appendChild(lt),lt.click(),lt.remove(),window.URL.revokeObjectURL(cr)}catch(Oe){console.error("❌ Fehler beim Export der Logs:",Oe),a("Fehler beim Export der Logs")}finally{u(!1)}};return lo.useState(!1),T.jsxs("div",{className:"mt-12 mb-8",children:[(je||nt)&&T.jsx("div",{className:"rounded-lg border border-cyan-500/60 bg-cyan-900/30 px-4 py-3 text-sm text-bluegray-100",children:T.jsxs("div",{className:"flex flex-col gap-1",children:[T.jsxs("span",{children:["Wartungsmodus aktiv",qe?` – ${qe}`:nt?" – Portainer-Update läuft":"","."]}),nt&&T.jsxs("span",{className:"text-xs text-indigo-900",children:["Phase: ",ut]})]})}),T.jsxs(Q.Card,{children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:T.jsx(Q.Typography,{variant:"h6",color:"white",children:T.jsxs("button",{onClick:Nr,className:"flex w-full items-center justify-between",children:[T.jsxs("span",{className:"flex items-center gap-2",children:[T.jsx("span",{children:"Logs"}),wr>0&&T.jsxs("span",{className:"rounded-full bg-blue-gray-500/80 px-2 py-0.5 text-xs text-white",children:[wr," aktiv"]})]}),T.jsx("span",{className:"text-xs uppercase tracking-wide text-gray-400",children:oe?"Filter ausblenden":"Filter anzeigen"})]})})}),T.jsxs(Q.CardBody,{className:"pt-0",children:[oe&&T.jsxs("div",{className:"mb-8",children:[T.jsxs("div",{className:"flex flex-wrap gap-2",children:[T.jsx(Q.Button,{onClick:()=>po("txt"),disabled:i||r,className:"w-full md:flex-1",children:"Export TXT"}),T.jsx(Q.Button,{onClick:()=>po("sql"),disabled:i||r,className:"w-full md:flex-1",children:"Export SQL"}),T.jsx(Q.Button,{onClick:pt,disabled:i||r||e.length===0,className:"w-full md:flex-1 bg-sunsetCoral-500 hover:bg-sunsetCoral-600",children:"Angezeigte löschen"})]}),T.jsxs("div",{className:"grid gap-6 mt-10",children:[T.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[T.jsxs("div",{className:"grid gap-3",children:[T.jsx(Q.Select,{multiple:!0,onChange:Ce,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Kategorien",children:Gt.map(({value:Z,label:Oe})=>T.jsx(Fa,{value:Z,onClick:()=>Bt(Z),onKeyDown:Re=>{(Re.key==="Enter"||Re.key===" ")&&(Re.preventDefault(),Bt(Z))},className:`text-black-600 ${Z===to?"font-semibold text-black-800":""}`,children:Oe},Z))}),T.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:s.length===0?T.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Kategorien"}):T.jsx("span",{children:s.map(Z=>T.jsx("button",{type:"button",onClick:()=>Jt(h,Z),className:"rounded-full bg-lavenderSmoke-600/80 px-2 py-0.5 text-white transition hover:bg-lavenderSmoke-600/90 focus:outline-none focus:ring-2 focus:ring-lavenderSmoke-400 cursor-pointer",title:"Filter entfernen",children:Z},Z))})})]}),T.jsxs("div",{className:"grid gap-3",children:[T.jsx(Q.Select,{multiple:!0,onChange:Ce,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Event-Typen",children:On.map(({value:Z,label:Oe})=>T.jsx(Fa,{value:Z,onClick:()=>et(Z),onKeyDown:Re=>{(Re.key==="Enter"||Re.key===" ")&&(Re.preventDefault(),et(Z))},className:`text-black-600 ${Z===to?"font-semibold text-black-800":""}`,children:Oe},Z))}),T.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:v.length===0?T.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Event-Typen"}):T.jsx("span",{children:v.map(Z=>T.jsx("button",{type:"button",onClick:()=>Jt(y,Z),className:"rounded-full bg-citrusPunch-600/80 px-2 py-0.5 text-white transition hover:bg-citrusPunch-600/90 focus:outline-none focus:ring-2 focus:ring-citrusPunch-400 cursor-pointer",title:"Filter entfernen",children:Z},Z))})})]})]}),T.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[T.jsxs("div",{className:"grid gap-3",children:[T.jsx(Q.Select,{multiple:!0,onChange:Ce,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Aktionen",children:Gn.map(({value:Z,label:Oe})=>T.jsx(Fa,{value:Z,onClick:()=>Xt(Z),onKeyDown:Re=>{(Re.key==="Enter"||Re.key===" ")&&(Re.preventDefault(),Xt(Z))},className:`text-black-600 ${Z===to?"font-semibold text-black-800":""}`,children:Oe},Z))}),T.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:E.length===0?T.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Aktionen"}):T.jsx("span",{children:E.map(Z=>T.jsx("button",{type:"button",onClick:()=>Jt(P,Z),className:"rounded-full bg-emeraldMist-500/80 px-2 py-0.5 text-white transition hover:bg-emeraldMist-500/90 focus:outline-none focus:ring-2 focus:ring-emeraldMist-400 cursor-pointer",title:"Filter entfernen",children:Z},Z))})})]}),T.jsxs("div",{className:"grid gap-3",children:[T.jsx(Q.Select,{multiple:!0,onChange:Ce,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Status",children:fo.map(({value:Z,label:Oe})=>T.jsx(Fa,{value:Z,onClick:()=>qt(Z),onKeyDown:Re=>{(Re.key==="Enter"||Re.key===" ")&&(Re.preventDefault(),qt(Z))},className:`text-black-600 ${Z===to?"font-semibold text-black-800":""}`,children:Oe},Z))}),T.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:N.length===0?T.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Status"}):T.jsx("span",{children:N.map(Z=>T.jsx("button",{type:"button",onClick:()=>Jt(R,Z),className:"rounded-full bg-copperRust-600/80 px-2 py-0.5 text-white transition hover:bg-copperRust-600/90 focus:outline-none focus:ring-2 focus:ring-copperRust-400 cursor-pointer",title:"Filter entfernen",children:Z},Z))})})]})]}),T.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[T.jsxs("div",{className:"grid gap-3",children:[T.jsx(Q.Select,{multiple:!0,onChange:Ce,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Entitäts-Typen",children:Kr.map(({value:Z,label:Oe})=>T.jsx(Fa,{value:Z,onClick:()=>Et(Z),onKeyDown:Re=>{(Re.key==="Enter"||Re.key===" ")&&(Re.preventDefault(),Et(Z))},className:`text-black-600 ${Z===to?"font-semibold text-black-800":""}`,children:Oe},Z))}),T.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:M.length===0?T.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Entitäten"}):T.jsx("span",{children:M.map(Z=>T.jsx("button",{type:"button",onClick:()=>Jt(D,Z),className:"rounded-full bg-indigo-600/80 px-2 py-0.5 text-white transition hover:bg-indigo-600/90 focus:outline-none focus:ring-2 focus:ring-indigo-400 cursor-pointer",title:"Filter entfernen",children:Z},Z))})})]}),T.jsxs("div",{className:"grid gap-3",children:[T.jsx(Q.Select,{multiple:!0,onChange:Ce,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Kontext",children:Kn.map(({value:Z,label:Oe})=>T.jsx(Fa,{value:Z,onClick:()=>tr(Z),onKeyDown:Re=>{(Re.key==="Enter"||Re.key===" ")&&(Re.preventDefault(),tr(Z))},className:`text-black-600 ${Z===to?"font-semibold text-black-800":""}`,children:Oe},Z))}),T.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:L.length===0?T.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Kontexte"}):T.jsx("span",{children:L.map(Z=>T.jsx("button",{type:"button",onClick:()=>Jt(W,Z),className:"rounded-full bg-sunsetCoral-600/80 px-2 py-0.5 text-white transition hover:bg-sunsetCoral-600/90 focus:outline-none focus:ring-2 focus:ring-sunsetCoral-400 cursor-pointer",title:"Filter entfernen",children:Z},Z))})})]})]}),T.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[T.jsx("div",{className:"md:flex-1",children:T.jsx(Q.Input,{value:U,onChange:Z=>{Y(Z.target.value),Ve(1)},variant:"static",label:"Entitäts-ID",placeholder:"z. B. Stack-ID"})}),T.jsx("div",{className:"md:flex-1",children:T.jsx(Q.Input,{value:$,onChange:Z=>{z(Z.target.value),Ve(1)},variant:"static",label:"Kontext-ID",placeholder:"z. B. Endpoint-ID"})})]}),T.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[T.jsx("div",{className:"md:flex-1",children:T.jsx(Q.Input,{value:H,onChange:Z=>{G(Z.target.value),Ve(1)},variant:"static",label:"Suche (Nachricht & Details)",placeholder:"Freitext"})}),T.jsx("div",{className:"md:mt-0 mt-8 md:flex-1",children:T.jsx(Q.Select,{variant:"static",label:"Einträge pro Seite",onChange:Ce,value:rt,children:Je.map(({value:Z,label:Oe})=>T.jsx(Q.Option,{value:Z,onClick:()=>ge(Z),children:Oe},Z))})})]}),T.jsxs("div",{className:"flex flex-col md:flex-row flex-wrap gap-4",children:[T.jsx("div",{className:"flex-1 min-w-[200px]",children:T.jsx(Q.Input,{type:"datetime-local",variant:"static",label:"Von",value:X,onChange:Z=>{ie(Z.target.value),Ve(1)},className:"w-full"})}),T.jsx("div",{className:"flex-1 min-w-[200px]",children:T.jsx(Q.Input,{type:"datetime-local",variant:"static",label:"Bis",value:fe,onChange:Z=>{pe(Z.target.value),Ve(1)},className:"w-full"})}),T.jsx("div",{className:"flex-1 min-w-[180px]",children:T.jsx(Q.Button,{onClick:Nt,disabled:i||r,className:"w-full",children:"Zurücksetzen"})})]})]})]}),T.jsx("div",{className:"overflow-x-auto rounded-lg border border-blue-gray-50",children:T.jsxs("table",{className:"w-full min-w-[860px] table-auto text-left",children:[T.jsx("thead",{children:T.jsx("tr",{className:"bg-blue-gray-50/50 text-xs uppercase tracking-wide text-stormGrey-400",children:["Zeitpunkt","Kategorie","Status","Entität","Kontext","Nachricht","Details","Aktionen"].map(Z=>T.jsx("th",{className:"px-6 py-4 font-semibold",children:Z},Z))})}),T.jsx("tbody",{children:r?T.jsx("tr",{children:T.jsx("td",{colSpan:8,className:"px-6 py-8 text-center text-stormGrey-400",children:"Logs werden geladen ..."})}):e.length===0?T.jsx("tr",{children:T.jsx("td",{colSpan:8,className:"px-6 py-8 text-center text-stormGrey-400",children:"Keine Logs gefunden."})}):e.map((Z,Oe)=>{const Re=DB[Z.status]||"text-blue-300",_t=Oe===e.length-1?"":"border-b border-blue-gray-50",jt=Z.category||"-",vt=Z.entityName||Z.entityId||"-",Ct=[];Z.entityName&&Z.entityId?Ct.push(`ID: ${Z.entityId}`):!Z.entityName&&Z.entityId&&Ct.push(`ID: ${Z.entityId}`),Z.entityType&&Ct.push(Z.entityType);const cr=Z.contextLabel||Z.contextType||(Z.contextId?`#${Z.contextId}`:"-"),lt=[];Z.contextType&<.push(Z.contextType),Z.contextId&<.push(`#${Z.contextId}`);const xr=VB(Z.metadata),Zt=[];if(Z.actorName||Z.actorId){const ar=Z.actorName?Z.actorName:`#${Z.actorId}`,Fr=Z.actorName&&Z.actorId?` (#${Z.actorId})`:"";Zt.push(`Akteur: ${ar}${Fr}`)}return Z.source&&Zt.push(`Quelle: ${Z.source}`),xr&&Zt.push(xr),Zt.length||Zt.push("-"),T.jsxs("tr",{className:`text-sm text-stormGrey-700 ${_t}`,children:[T.jsx("td",{className:"px-6 py-4 align-top",children:T.jsx(Q.Typography,{variant:"small",className:"block text-xs font-medium text-stormGrey-600",children:LB(Z.timestamp)})}),T.jsx("td",{className:"px-6 py-4 align-top",children:T.jsxs("div",{className:"flex flex-col gap-2",children:[T.jsx("span",{className:"font-medium",children:jt}),T.jsxs("div",{className:"flex flex-wrap gap-2 text-xs text-stormGrey-400",children:[Z.eventType&&T.jsx("span",{className:"rounded-full bg-citrusPunch-600/80 px-2 py-0.5 text-white",children:Z.eventType}),Z.action&&T.jsx("span",{className:"rounded-full bg-emeraldMist-500/80 px-2 py-0.5 text-white",children:Z.action})]})]})}),T.jsxs("td",{className:"px-6 py-4 align-top",children:[T.jsx(Q.Typography,{variant:"small",className:`font-semibold ${Re}`,children:Z.status||"-"}),Z.severity&&T.jsx(Q.Typography,{variant:"small",className:"text-xs text-stormGrey-400",children:Z.severity})]}),T.jsx("td",{className:"px-6 py-4 align-top",children:T.jsxs("div",{className:"flex flex-col gap-1",children:[T.jsx("span",{className:"font-medium break-words",children:vt}),Ct.length>0&&T.jsx("div",{className:"flex flex-col text-xs text-stormGrey-400",children:Ct.map(ar=>T.jsx("span",{className:"break-words",children:ar},ar))})]})}),T.jsx("td",{className:"px-6 py-4 align-top",children:T.jsxs("div",{className:"flex flex-col gap-1",children:[T.jsx("span",{className:"font-medium break-words",children:cr}),lt.length>0&&T.jsx("div",{className:"flex flex-col text-xs text-stormGrey-400",children:lt.map(ar=>T.jsx("span",{className:"break-words",children:ar},ar))})]})}),T.jsx("td",{className:"px-6 py-4 align-top",children:T.jsx(Q.Typography,{variant:"small",className:"break-words",children:Z.message||"-"})}),T.jsx("td",{className:"px-6 py-4 align-top",children:T.jsx("div",{className:"flex flex-col gap-1 text-xs text-stormGrey-500",children:Zt.map((ar,Fr)=>T.jsx("span",{className:"break-words",children:ar},Fr))})}),T.jsx("td",{className:"px-6 py-4 align-top",children:T.jsx(Q.Typography,{variant:"small",children:T.jsx("button",{onClick:()=>Yr(Z.id),disabled:i,className:"rounded-md border border-sunsetCoral-600 px-3 py-1 text-xs text-sunsetCoral-800 transition hover:bg-sunsetCoral-600/20 disabled:opacity-60",children:"Löschen"})})})]},Z.id)})})]})}),T.jsxs("div",{className:"mt-6 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[T.jsx(Q.Typography,{variant:"small",color:"gray",children:""}),T.jsx(jf,{disabled:r&&e.length===0})]})]})]})]})}const WB=e=>Array.isArray(e)?e.map(t=>{if(t&&typeof t=="object"){const r=Number(t.id),n=typeof t.name=="string"?t.name:"";return n?{id:Number.isFinite(r)?r:null,name:n}:null}if(typeof t=="string"){const r=t.trim();return r?{id:null,name:r}:null}return null}).filter(Boolean):[];function HB(){const[e,t]=j.useState([]),[r,n]=j.useState(!1),[o,a]=j.useState(""),[i,u]=j.useState(""),[f,g]=j.useState([]),[b,_]=j.useState(!1),[O,S]=j.useState(""),[C,w]=j.useState(""),[m,d]=j.useState(""),[l,c]=j.useState(""),[s,h]=j.useState(""),[v,y]=j.useState(""),[E,P]=j.useState(!1),[N,R]=j.useState(null),[M,D]=j.useState(null),{showToast:L}=El(),{maintenance:W}=pi(),U=!!(W!=null&&W.active),Y=ii(),$=j.useCallback(()=>{},[]),{page:z,perPage:H,perPageOptions:G,perPageIsAll:X,handlePerPageChange:ie,setPage:fe,setTotals:pe,resetPagination:oe}=bu();j.useEffect(()=>()=>oe(),[oe]);const se=j.useCallback(async()=>{var me,te,ge;n(!0),a("");try{const _e=await at.get("/api/users"),Ce=(Array.isArray((me=_e.data)==null?void 0:me.items)?_e.data.items:[]).map(we=>({id:we.id,username:we.username||"",email:we.email||"",isActive:!!we.isActive,avatarColor:typeof we.avatarColor=="string"?we.avatarColor.trim():null,lastLogin:we.lastLogin||null,createdAt:we.createdAt||null,updatedAt:we.updatedAt||null,groups:WB(we.groups)})).sort((we,Ie)=>we.username.localeCompare(Ie.username,"de-DE"));t(Ce)}catch(_e){const Pe=((ge=(te=_e.response)==null?void 0:te.data)==null?void 0:ge.error)||_e.message||"Unbekannter Fehler";a(Pe),L({variant:"error",title:"Benutzer konnten nicht geladen werden",description:Pe})}finally{n(!1)}},[L]),ee=j.useCallback(async()=>{var me,te,ge;_(!0),S("");try{const _e=await at.get("/api/groups"),Ce=(Array.isArray((me=_e.data)==null?void 0:me.items)?_e.data.items:[]).map(we=>({id:Number(we.id),name:we.name||""})).filter(we=>Number.isFinite(we.id)&&we.id>0&&we.name).filter(we=>we.name.toLowerCase()!=="superuser").sort((we,Ie)=>we.name.localeCompare(Ie.name,"de-DE"));g(Ce)}catch(_e){const Pe=((ge=(te=_e.response)==null?void 0:te.data)==null?void 0:ge.error)||_e.message||"Benutzergruppen konnten nicht geladen werden.";S(Pe),L({variant:"error",title:"Benutzergruppen",description:Pe})}finally{_(!1)}},[L]);j.useEffect(()=>{se()},[se]),j.useEffect(()=>{ee()},[ee]),j.useCallback(()=>{se(),ee()},[se,ee]);const ae=j.useCallback(me=>{u(me.target.value)},[]);j.useCallback(()=>{u("")},[]),j.useEffect(()=>{z!==1&&fe(1)},[i,z,fe]);const ue=j.useMemo(()=>{const me=i.trim().toLowerCase();return me?e.filter(te=>[te.username,te.email,...te.groups.map(_e=>_e.name)].map(_e=>String(_e||"").toLowerCase()).some(_e=>_e.includes(me))):e},[e,i]),de=j.useMemo(()=>{if(X)return null;const me=Number(H);return Number.isFinite(me)&&me>0?me:null},[H,X]),Te=j.useMemo(()=>{if(X||!de)return ue;const me=(z-1)*de;return ue.slice(me,me+de)},[ue,z,X,de]),xe=ue.length,be=Te.length;j.useEffect(()=>{if(X){pe(xe,xe),z!==1&&fe(1);return}const me=Number(H);if(!Number.isFinite(me)||me<=0){pe(xe,xe);return}const te=Math.max(1,Math.ceil(xe/me));if(z>te){fe(te);return}pe(xe,be)},[xe,be,z,H,X,fe,pe]);const Se=j.useCallback(me=>{if(!me)return"–";const te=typeof me=="string"?me.replace(" ","T"):me,ge=new Date(te);return Number.isNaN(ge.getTime())?me:new Intl.DateTimeFormat("de-DE",{dateStyle:"short",timeStyle:"short"}).format(ge)},[]),je=j.useCallback(()=>{w(""),d(""),c(""),h(""),y("")},[]),qe=j.useCallback(async me=>{var Pe,Ce;if(U||!(me!=null&&me.id))return;if(Array.isArray(me==null?void 0:me.groups)?me.groups.some(we=>((we==null?void 0:we.name)||"").toLowerCase()==="superuser"):!1){L({variant:"error",title:"Löschen nicht möglich",description:"Der Superuser kann nicht gelöscht werden."});return}if(!window.confirm(`Benutzer "${me.username}" wirklich löschen?`))return;const _e=Number(me.id);if(!Number.isFinite(_e)||_e<=0){L({variant:"error",title:"Löschen fehlgeschlagen",description:"Ungültige Benutzer-ID."});return}R(_e);try{await at.delete(`/api/users/${_e}`),L({variant:"success",title:"Benutzer gelöscht",description:`Der Benutzer "${me.username}" wurde entfernt.`}),se()}catch(we){const Ie=(Ce=(Pe=we.response)==null?void 0:Pe.data)==null?void 0:Ce.error;let Ue="Der Benutzer konnte nicht gelöscht werden.";Ie==="INVALID_USER_ID"?Ue="Die Benutzer-ID ist ungültig.":Ie==="USER_NOT_FOUND"?Ue="Der Benutzer wurde bereits entfernt.":Ie==="USER_SUPERUSER_PROTECTED"&&(Ue="Der Superuser kann nicht gelöscht werden."),L({variant:"error",title:"Löschen fehlgeschlagen",description:Ue})}finally{R(null)}},[U,L,se]),nt=j.useCallback(async me=>{var Pe,Ce;if(!(me!=null&&me.id))return;if(U){L({variant:"error",title:"Aktion nicht möglich",description:"Im Wartungsmodus können keine Statusänderungen durchgeführt werden."});return}if((Array.isArray(me==null?void 0:me.groups)?me.groups.some(we=>((we==null?void 0:we.name)||"").toLowerCase()==="superuser"):!1)&&me.isActive){L({variant:"error",title:"Änderung nicht möglich",description:"Der Superuser kann nicht deaktiviert werden."});return}const ge=Number(me.id);if(!Number.isFinite(ge)||ge<=0){L({variant:"error",title:"Statusänderung fehlgeschlagen",description:"Ungültige Benutzer-ID."});return}const _e=!me.isActive;D(ge);try{await at.put(`/api/users/${ge}/active`,{isActive:_e}),se(),L({variant:"success",title:"Status aktualisiert",description:`Der Benutzer wurde ${_e?"aktiviert":"deaktiviert"}.`})}catch(we){const Ie=(Ce=(Pe=we.response)==null?void 0:Pe.data)==null?void 0:Ce.error;let Ue="Der Benutzerstatus konnte nicht geändert werden.";Ie==="INVALID_USER_ID"?Ue="Die Benutzer-ID ist ungültig.":Ie==="USER_NOT_FOUND"?Ue="Der Benutzer wurde nicht gefunden.":Ie==="USER_SUPERUSER_PROTECTED"&&(Ue="Der Superuser kann nicht deaktiviert werden."),L({variant:"error",title:"Statusänderung fehlgeschlagen",description:Ue})}finally{D(null)}},[U,L,se]),ut=j.useCallback(async()=>{var ge,_e,Pe,Ce;if(U)return;const me=C.trim();if(!me){y("Benutzername ist erforderlich.");return}const te=typeof l=="string"?l.trim():"";if(te.length<8){y("Passwort muss mindestens 8 Zeichen enthalten.");return}if(!s){y("Bitte eine globale Rolle auswählen.");return}P(!0),y("");try{const we={username:me,password:te,groupId:Number(s)},Ie=m.trim();Ie&&(we.email=Ie);const Ue=await at.post("/api/users",we);je(),se(),L({variant:"success",title:"Benutzer angelegt",description:`Der Benutzer "${((_e=(ge=Ue.data)==null?void 0:ge.item)==null?void 0:_e.username)??me}" wurde erstellt.`})}catch(we){const Ie=(Ce=(Pe=we.response)==null?void 0:Pe.data)==null?void 0:Ce.error;let Ue="Benutzer konnte nicht angelegt werden.";switch(Ie){case"USERNAME_REQUIRED":Ue="Benutzername ist erforderlich.";break;case"INVALID_EMAIL":Ue="Bitte eine gültige E-Mail-Adresse angeben.";break;case"INVALID_PASSWORD":case"PASSWORD_TOO_SHORT":Ue="Passwort muss mindestens 8 Zeichen enthalten.";break;case"INVALID_GROUP_ID":case"GROUP_NOT_FOUND":Ue="Bitte eine gültige globale Rolle auswählen.";break;case"USERNAME_TAKEN":Ue="Benutzername wird bereits verwendet.";break;case"EMAIL_TAKEN":Ue="E-Mail-Adresse wird bereits verwendet.";break}y(Ue),L({variant:"error",title:"Erstellen fehlgeschlagen",description:Ue})}finally{P(!1)}},[U,C,m,l,s,L,je,se]),Ye=f.length>0,rt=U||E||b||!Ye,Je=U||E||b||!Ye,Ve=j.useCallback(me=>{if(me&&me.props&&me.props.children)return me.props.children;if(!s)return"Bitte auswählen";const te=f.find(ge=>String(ge.id)===s);return te?te.name:"Bitte auswählen"},[f,s]);return T.jsx("div",{className:"mt-12",children:T.jsxs(Q.Card,{children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:T.jsx(Q.Typography,{variant:"h6",color:"white",children:T.jsx("span",{children:"Benutzerverwaltung"})})}),T.jsxs(Q.CardBody,{className:"pt-0",children:[U&&T.jsx("div",{className:"mb-4 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Wartungsmodus aktiv – Änderungen sind deaktiviert. Die Liste kann dennoch angezeigt werden."}),T.jsxs("div",{className:"mb-8 rounded-lg border border-blue-gray-100 bg-white p-4 shadow-sm",children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mb-2",children:"Neuen Benutzer anlegen"}),Ye?T.jsxs(T.Fragment,{children:[T.jsx(Q.Typography,{variant:"small",className:"text-sm text-stormGrey-500 mb-4",children:"Benutzername, Passwort (mindestens 8 Zeichen) und eine globale Rolle sind Pflichtfelder."}),v&&T.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:v}),O&&T.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:O}),T.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[T.jsx(Q.Input,{label:"Benutzername",value:C,onChange:me=>w(me.target.value),disabled:U||E,crossOrigin:""}),T.jsx(Q.Input,{label:"E-Mail (optional)",value:m,onChange:me=>d(me.target.value),disabled:U||E,crossOrigin:""}),T.jsx(Q.Input,{type:"password",label:"Passwort",value:l,onChange:me=>c(me.target.value),disabled:U||E,crossOrigin:""}),T.jsxs(Q.Select,{label:"Globale Rolle",variant:"outlined",value:s,onChange:h,disabled:Je,selected:Ve,children:[T.jsx(Q.Option,{value:"",children:"Bitte auswählen"}),f.map(me=>T.jsx(Q.Option,{value:String(me.id),children:me.name},me.id))]})]}),T.jsx("div",{className:"mt-4 text-sm text-stormGrey-500",children:b?"Benutzergruppen werden geladen ...":""}),T.jsxs("div",{className:"mt-4 flex flex-col gap-3 sm:flex-row sm:items-center",children:[T.jsx(Q.Button,{color:"green",onClick:ut,disabled:rt,children:E?"Speichert ...":"Benutzer anlegen"}),T.jsx(Q.Button,{variant:"text",color:"blue-gray",onClick:je,disabled:E,children:"Formular zurücksetzen"})]})]}):T.jsx("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Es existiert keine verfügbare Benutzergruppe. Bitte lege zuerst eine Gruppe an."})]}),T.jsx("div",{className:"mb-8",children:T.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between mt-8",children:[T.jsx("div",{className:"md:flex-1",children:T.jsx(Q.Input,{label:"Suchen nach Name, E-Mail oder Gruppe",value:i,onChange:ae,disabled:r&&!e.length,crossOrigin:""})}),T.jsx("div",{className:"md:mt-0 mt-8 md:flex-1",children:T.jsx(Q.Select,{variant:"static",label:"Einträge pro Seite",onChange:$,value:H,children:G.map(({value:me,label:te})=>T.jsx(Q.Option,{value:me,children:te},me))})})]})}),o&&T.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:o}),T.jsx("div",{className:"overflow-x-auto rounded-lg border border-blue-gray-50",children:T.jsxs("table",{className:"w-full min-w-[720px] table-auto text-left",children:[T.jsx("thead",{children:T.jsxs("tr",{className:"bg-blue-gray-50/50 text-xs uppercase tracking-wide text-stormGrey-400",children:[T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Benutzername"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"E-Mail"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Gruppen"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Status"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Letzte Anmeldung"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Erstellt am"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Aktionen"})]})}),T.jsx("tbody",{children:r&&e.length===0?T.jsx("tr",{children:T.jsx("td",{colSpan:7,className:"px-6 py-8 text-center text-blue-gray-400",children:"Benutzerdaten werden geladen ..."})}):Te.length===0?T.jsx("tr",{children:T.jsx("td",{colSpan:7,className:"px-6 py-8 text-center text-blue-gray-400",children:"Keine Benutzer gefunden."})}):Te.map((me,te)=>{const ge=te===Te.length-1?"":"border-b border-blue-gray-50",_e=Array.isArray(me==null?void 0:me.groups)?me.groups.some(Pe=>((Pe==null?void 0:Pe.name)||"").toLowerCase()==="superuser"):!1;return T.jsxs("tr",{className:`text-sm text-stormGrey-700 ${ge}`,children:[T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",className:"font-medium text-stormGrey-900",children:me.username||"–"})}),T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",children:me.email||"–"})}),T.jsx("td",{className:"px-6 py-4",children:me.groups.length>0?T.jsx("div",{className:"flex flex-wrap gap-2",children:me.groups.map(Pe=>T.jsx(Q.Chip,{value:Pe.name,size:"sm",color:"blue-gray",variant:"ghost"},Pe.id??Pe.name))}):T.jsx("span",{className:"text-stormGrey-400",children:"–"})}),T.jsx("td",{className:"px-6 py-4",children:T.jsx("button",{type:"button",className:`inline-flex items-center rounded-full px-1 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 ${U?"cursor-not-allowed":"cursor-pointer"}`,onClick:()=>nt(me),disabled:U||M===me.id||Array.isArray(me.groups)&&me.groups.some(Pe=>((Pe==null?void 0:Pe.name)||"").toLowerCase()==="superuser"&&me.isActive),children:T.jsx(Q.Chip,{value:M===me.id?"Wechselt ...":me.isActive?"Aktiv":"Deaktiviert",size:"sm",color:me.isActive?"green":"red",variant:"ghost",className:"pointer-events-none"})})}),T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:Se(me.lastLogin)})}),T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:Se(me.createdAt)})}),T.jsx("td",{className:"px-6 py-4",children:T.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-2",children:[T.jsx(Q.Button,{size:"sm",variant:"outlined",color:"blue-gray",onClick:()=>Y(`/dashboard/users/${me.id}`),children:"Details"}),T.jsx(Q.Button,{size:"sm",variant:"text",color:"red",onClick:()=>qe(me),disabled:U||N===me.id||_e,children:_e?"":N===me.id?"Löscht ...":"Löschen"})]})})]},me.id)})})]})}),T.jsxs("div",{className:"mt-6 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[T.jsx(Q.Typography,{variant:"small",color:"gray",children:""}),T.jsx(jf,{disabled:r&&e.length===0})]})]})]})})}function $B(){const[e,t]=j.useState([]),[r,n]=j.useState(!1),[o,a]=j.useState(""),[i,u]=j.useState(""),[f,g]=j.useState(""),[b,_]=j.useState(""),[O,S]=j.useState(""),[C,w]=j.useState(!1),[m,d]=j.useState(null),{showToast:l}=El(),{maintenance:c}=pi(),s=!!(c!=null&&c.active),h=ii(),{page:v,perPage:y,perPageOptions:E,perPageIsAll:P,handlePerPageChange:N,setPage:R,setTotals:M,resetPagination:D}=bu();j.useEffect(()=>()=>D(),[D]);const L=j.useCallback(()=>{},[]),W=j.useCallback(async()=>{var se,ee,ae;n(!0),a("");try{const ue=await at.get("/api/groups"),Te=(Array.isArray((se=ue.data)==null?void 0:se.items)?ue.data.items:[]).map(xe=>({id:xe.id,name:xe.name||"",description:xe.description||"",avatarColor:xe.avatarColor||null,memberCount:Number(xe.memberCount)||0,members:Array.isArray(xe.members)?xe.members.map(be=>({id:be.id,username:be.username||""})).filter(be=>be.username):[],createdAt:xe.createdAt||null,updatedAt:xe.updatedAt||null})).sort((xe,be)=>xe.name.localeCompare(be.name,"de-DE"));t(Te)}catch(ue){const de=((ae=(ee=ue.response)==null?void 0:ee.data)==null?void 0:ae.error)||ue.message||"Unbekannter Fehler";a(de),l({variant:"error",title:"Benutzergruppen konnten nicht geladen werden",description:de})}finally{n(!1)}},[l]);j.useEffect(()=>{W()},[W]),j.useCallback(()=>{W()},[W]);const U=j.useCallback(se=>{u(se.target.value)},[]);j.useCallback(()=>{u("")},[]),j.useEffect(()=>{v!==1&&R(1)},[i,v,R]);const Y=j.useMemo(()=>{const se=i.trim().toLowerCase();return se?e.filter(ee=>[ee.name,ee.description,...ee.members.map(ue=>ue.username)].map(ue=>String(ue||"").toLowerCase()).some(ue=>ue.includes(se))):e},[e,i]),$=j.useMemo(()=>{if(P)return null;const se=Number(y);return Number.isFinite(se)&&se>0?se:null},[y,P]),z=j.useMemo(()=>{if(P||!$)return Y;const se=(v-1)*$;return Y.slice(se,se+$)},[Y,v,P,$]),H=Y.length,G=z.length;j.useEffect(()=>{if(P){M(H,H),v!==1&&R(1);return}const se=Number(y);if(!Number.isFinite(se)||se<=0){M(H,H);return}const ee=Math.max(1,Math.ceil(H/se));if(v>ee){R(ee);return}M(H,G)},[H,G,v,y,P,R,M]);const X=j.useCallback(se=>{if(!se)return"–";const ee=typeof se=="string"?se.replace(" ","T"):se,ae=new Date(ee);return Number.isNaN(ae.getTime())?se:new Intl.DateTimeFormat("de-DE",{dateStyle:"short",timeStyle:"short"}).format(ae)},[]),ie=j.useCallback(()=>{g(""),_(""),S("")},[]),fe=j.useCallback(async()=>{var ee,ae,ue,de;if(s)return;const se=f.trim();if(!se){S("Gruppenname ist erforderlich.");return}w(!0),S("");try{const Te={name:se},xe=b.trim();xe&&(Te.description=xe);const be=await at.post("/api/groups",Te);l({variant:"success",title:"Gruppe angelegt",description:`Die Benutzergruppe "${((ae=(ee=be.data)==null?void 0:ee.item)==null?void 0:ae.name)??se}" wurde erstellt.`}),ie(),W()}catch(Te){const xe=(de=(ue=Te.response)==null?void 0:ue.data)==null?void 0:de.error;let be="Benutzergruppe konnte nicht angelegt werden.";xe==="GROUP_NAME_REQUIRED"?be="Gruppenname ist erforderlich.":xe==="GROUP_NAME_TAKEN"&&(be="Der Gruppenname wird bereits verwendet."),S(be),l({variant:"error",title:"Erstellen fehlgeschlagen",description:be})}finally{w(!1)}},[s,f,b,l,ie,W]),pe=s||C,oe=j.useCallback(async se=>{var Te,xe;if(s||!(se!=null&&se.id))return;if(((se==null?void 0:se.name)||"").toLowerCase()==="superuser"){l({variant:"error",title:"Löschen nicht möglich",description:"Die Superuser-Gruppe kann nicht gelöscht werden."});return}if((Number(se.memberCount)||0)>0){l({variant:"error",title:"Löschen nicht möglich",description:"Die Gruppe enthält noch Benutzer. Bitte entfernen Sie diese zuerst."});return}if(!window.confirm(`Benutzergruppe "${se.name}" wirklich löschen?`))return;const de=Number(se.id);if(!Number.isFinite(de)||de<=0){l({variant:"error",title:"Löschen fehlgeschlagen",description:"Ungültige Gruppen-ID."});return}d(de);try{await at.delete(`/api/groups/${de}`),l({variant:"success",title:"Gruppe gelöscht",description:`Die Benutzergruppe "${se.name}" wurde entfernt.`}),W()}catch(be){const Se=(xe=(Te=be.response)==null?void 0:Te.data)==null?void 0:xe.error;let je="Die Benutzergruppe konnte nicht gelöscht werden.";Se==="INVALID_GROUP_ID"?je="Die Gruppen-ID ist ungültig.":Se==="GROUP_NOT_FOUND"?je="Die Benutzergruppe wurde bereits entfernt.":Se==="GROUP_HAS_MEMBERS"?je="Die Gruppe enthält noch Benutzer. Bitte entfernen Sie diese zuerst.":Se==="GROUP_SUPERUSER_PROTECTED"&&(je="Die Superuser-Gruppe kann nicht gelöscht werden."),l({variant:"error",title:"Löschen fehlgeschlagen",description:je})}finally{d(null)}},[s,l,W]);return T.jsx("div",{className:"mt-12",children:T.jsxs(Q.Card,{className:"border border-blue-gray-100 shadow-sm",children:[T.jsx(Q.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:T.jsx(Q.Typography,{variant:"h6",color:"white",children:T.jsx("span",{children:"Benutzergruppen"})})}),T.jsxs(Q.CardBody,{className:"pt-0",children:[s&&T.jsx("div",{className:"mb-4 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Wartungsmodus aktiv – Änderungen sind deaktiviert. Die Liste kann dennoch angezeigt werden."}),T.jsxs("div",{className:"mb-8 rounded-lg border border-blue-gray-100 bg-white p-4 shadow-sm",children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mb-2",children:"Neue Benutzergruppe anlegen"}),T.jsx(Q.Typography,{variant:"small",className:"text-sm text-stormGrey-500 mb-4",children:"Der Gruppenname ist Pflicht, die Beschreibung optional."}),O&&T.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:O}),T.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[T.jsx(Q.Input,{label:"Gruppenname",value:f,onChange:se=>g(se.target.value),disabled:pe,crossOrigin:""}),T.jsx(Q.Input,{label:"Beschreibung (optional)",value:b,onChange:se=>_(se.target.value),disabled:pe,crossOrigin:""})]}),T.jsxs("div",{className:"mt-4 flex flex-col gap-3 sm:flex-row sm:items-center",children:[T.jsx(Q.Button,{color:"green",onClick:fe,disabled:pe,children:C?"Speichert ...":"Gruppe anlegen"}),T.jsx(Q.Button,{variant:"text",color:"blue-gray",onClick:ie,disabled:C,children:"Formular zurücksetzen"})]})]}),T.jsx("div",{className:"mb-8",children:T.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[T.jsx("div",{className:"md:flex-1",children:T.jsx(Q.Input,{label:"Suchen nach Name, E-Mail oder Gruppe",value:i,onChange:U,disabled:r&&!e.length,crossOrigin:""})}),T.jsx("div",{className:"md:mt-0 mt-8 md:flex-1",children:T.jsx(Q.Select,{variant:"static",label:"Einträge pro Seite",onChange:L,value:y,children:E.map(({value:se,label:ee})=>T.jsx(Q.Option,{value:se,children:ee},se))})})]})}),o&&T.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:o}),o&&T.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:o}),T.jsx("div",{className:"overflow-x-auto rounded-lg border border-blue-gray-50",children:T.jsxs("table",{className:"w-full min-w-[720px] table-auto text-left",children:[T.jsx("thead",{children:T.jsxs("tr",{className:"bg-blue-gray-50/50 text-xs uppercase tracking-wide text-stormGrey-400",children:[T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Gruppenname"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Beschreibung"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Mitglieder"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Erstellt am"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Zuletzt aktualisiert"}),T.jsx("th",{className:"px-6 py-4 font-semibold",children:"Aktionen"})]})}),T.jsx("tbody",{children:r&&e.length===0?T.jsx("tr",{children:T.jsx("td",{colSpan:6,className:"px-6 py-8 text-center text-stormGrey-400",children:"Gruppen werden geladen ..."})}):z.length===0?T.jsx("tr",{children:T.jsx("td",{colSpan:6,className:"px-6 py-8 text-center text-stormGrey-400",children:"Keine Gruppen gefunden."})}):z.map((se,ee)=>{const ae=ee===z.length-1?"":"border-b border-blue-gray-50",ue=((se==null?void 0:se.name)||"").toLowerCase()==="superuser";return T.jsxs("tr",{className:`text-sm text-stormGrey-700 ${ae}`,children:[T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",className:"font-medium text-stormGrey-900",children:se.name||"–"})}),T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",children:se.description?se.description:T.jsx("span",{className:"text-stormGrey-400",children:"–"})})}),T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:se.memberCount.toLocaleString("de-DE")})}),T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:X(se.createdAt)})}),T.jsx("td",{className:"px-6 py-4",children:T.jsx(Q.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:X(se.updatedAt)})}),T.jsx("td",{className:"px-6 py-4",children:T.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-2",children:[T.jsx(Q.Button,{size:"sm",variant:"outlined",color:"blue-gray",onClick:()=>h(`/dashboard/usergroups/${se.id}`),children:"Details"}),T.jsx(Q.Button,{size:"sm",variant:"text",color:"red",onClick:()=>oe(se),disabled:s||m===se.id||Number(se.memberCount)>0||ue,children:ue?"":m===se.id?"Löscht ...":"Löschen"})]})})]},se.id)})})]})}),T.jsxs("div",{className:"mt-6 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[T.jsx(Q.Typography,{variant:"small",color:"gray",children:!r&&e.length===0?"Noch keine Gruppen angelegt.":`${H.toLocaleString("de-DE")} Gruppen gefunden`}),T.jsx(jf,{disabled:r&&e.length===0})]})]})]})})}const dl={chart:{toolbar:{show:!1}},title:{show:""},dataLabels:{enabled:!1},xaxis:{axisTicks:{show:!1},axisBorder:{show:!1},labels:{style:{colors:"#37474f",fontSize:"13px",fontFamily:"inherit",fontWeight:300}}},yaxis:{labels:{style:{colors:"#37474f",fontSize:"13px",fontFamily:"inherit",fontWeight:300}}},grid:{show:!0,borderColor:"#dddddd",strokeDashArray:5,xaxis:{lines:{show:!0}},padding:{top:5,right:20}},fill:{opacity:.8},tooltip:{theme:"dark"}};({...dl,xaxis:{...dl.xaxis}});({...dl,xaxis:{...dl.xaxis}});({...dl,xaxis:{...dl.xaxis}});const qB=[{title:"account",options:[{checked:!0,label:"Email me when someone follows me"},{checked:!1,label:"Email me when someone answers on my post"},{checked:!0,label:"Email me when someone mentions me"}]},{title:"application",options:[{checked:!1,label:"New launches and projects"},{checked:!0,label:"Monthly product updates"},{checked:!1,label:"Subscribe to newsletter"}]}],Fk=["bg-arcticBlue-600","bg-copperRust-500","bg-sunsetCoral-600","bg-mintTea-400","bg-lavenderSmoke-500","bg-emeraldMist-500","bg-roseQuartz-500","bg-auroraTeal-500","bg-citrusPunch-500","bg-mossGreen-400"],GB=e=>Array.isArray(e)?e.map(t=>{if(t&&typeof t=="object"){const r=Number(t.id),n=typeof t.name=="string"?t.name:"";return n?{id:Number.isFinite(r)?r:null,name:n}:null}if(typeof t=="string"){const r=t.trim();return r?{id:null,name:r}:null}return null}).filter(Boolean):[],jx=e=>({id:(e==null?void 0:e.id)??null,username:(e==null?void 0:e.username)||"",email:(e==null?void 0:e.email)||"",isActive:!!(e!=null&&e.isActive),avatarColor:(e==null?void 0:e.avatarColor)||null,lastLogin:(e==null?void 0:e.lastLogin)||null,createdAt:(e==null?void 0:e.createdAt)||null,updatedAt:(e==null?void 0:e.updatedAt)||null,groups:GB(e==null?void 0:e.groups)}),KB=e=>{if(!e||!Array.isArray(e.groups)||e.groups.length===0)return null;const t=e.groups.map(r=>Number(r.id)).find(r=>Number.isFinite(r)&&r>0);return Number.isFinite(t)?t:null},Go=e=>{if(!e)return{username:"",email:"",password:"",groupId:null,avatarColor:""};const t=KB(e);return{username:e.username||"",email:e.email||"",password:"",groupId:Number.isFinite(t)?t:null,avatarColor:e.avatarColor||""}};function YB(){const{userId:e}=C5(),{showToast:t}=El(),{maintenance:r}=pi(),[n,o]=j.useState(null),[a,i]=j.useState(Go(null)),u=j.useRef(Go(null)),[f,g]=j.useState(!1),[b,_]=j.useState(""),[O,S]=j.useState(!1),[C,w]=j.useState([]),[m,d]=j.useState(!1),[l,c]=j.useState(""),[s,h]=j.useState(!1),[v,y]=j.useState(""),E=!!(r!=null&&r.active),P=j.useMemo(()=>Array.isArray(n==null?void 0:n.groups)?n.groups.some(ee=>((ee==null?void 0:ee.name)||"").toLowerCase()==="superuser"):!1,[n]),N=j.useMemo(()=>{const ee=Number(e);return Number.isFinite(ee)?ee:null},[e]),R=j.useCallback(async()=>{var ee,ae,ue,de;if(!N){_("Ungültige Benutzer-ID."),o(null),i(Go(null)),u.current=Go(null),S(!0);return}g(!0),_("");try{const Te=await at.get(`/api/users/${N}`),xe=jx((ee=Te.data)==null?void 0:ee.item);if(!xe.id)throw new Error("USER_NOT_FOUND");o(xe);const be=Go(xe);u.current={...be},i(be),y("")}catch(Te){const xe=(ue=(ae=Te.response)==null?void 0:ae.data)==null?void 0:ue.error;let be="Benutzerdetails konnten nicht geladen werden.";xe==="USER_NOT_FOUND"?be="Der angeforderte Benutzer wurde nicht gefunden.":xe==="INVALID_USER_ID"?be="Die angegebene Benutzer-ID ist ungültig.":((de=Te.response)==null?void 0:de.status)===404&&(be="Der angeforderte Benutzer existiert nicht."),o(null),u.current=Go(null),i(Go(null)),_(be),t({variant:"error",title:"Fehler beim Laden",description:be})}finally{g(!1),S(!0)}},[N,t]),M=j.useCallback(async()=>{var ee,ae,ue;d(!0),c("");try{const de=await at.get("/api/groups"),xe=(Array.isArray((ee=de.data)==null?void 0:ee.items)?de.data.items:[]).map(be=>({id:Number(be.id),name:be.name||"",description:be.description||"",memberCount:Number.isFinite(Number(be.memberCount))?Number(be.memberCount):0})).filter(be=>Number.isFinite(be.id)&&be.id>0&&be.name).sort((be,Se)=>be.name.localeCompare(Se.name,"de-DE"));w(xe)}catch(de){const Te=((ue=(ae=de.response)==null?void 0:ae.data)==null?void 0:ue.error)||de.message||"Benutzergruppen konnten nicht geladen werden.";c(Te),t({variant:"error",title:"Benutzergruppen",description:Te})}finally{d(!1)}},[t]);j.useEffect(()=>{R()},[R]),j.useEffect(()=>{M()},[M]);const D=j.useMemo(()=>{if(!O||!n)return!1;const ee=u.current;if(!ee)return!1;const ae=ee.username||"",ue=a.username||"",de=ee.email||"",Te=a.email||"",xe=Number.isFinite(ee.groupId)?Number(ee.groupId):null,be=Number.isFinite(a.groupId)?Number(a.groupId):null,Se=ee.avatarColor||"",je=a.avatarColor||"",qe=!!(a.password&&a.password.trim().length>0);return ae!==ue||de!==Te||!P&&xe!==be||Se!==je||qe},[a,O,n,P]),L=j.useCallback(ee=>{var ae;return(ae=ee==null?void 0:ee.props)!=null&&ae.children?ee.props.children:a.avatarColor?a.avatarColor:"Standardfarbe"},[a.avatarColor]),W=j.useCallback(ee=>{const{value:ae}=ee.target;i(ue=>({...ue,username:ae}))},[]),U=j.useCallback(ee=>{const{value:ae}=ee.target;i(ue=>({...ue,email:ae}))},[]),Y=j.useCallback(ee=>{const{value:ae}=ee.target;i(ue=>({...ue,password:ae}))},[]),$=j.useCallback(ee=>{if(!ee){i(ue=>({...ue,groupId:null}));return}const ae=Number(ee);i(ue=>({...ue,groupId:Number.isFinite(ae)&&ae>0?ae:null}))},[]),z=j.useCallback(ee=>{i(ae=>({...ae,avatarColor:ee||""}))},[]),H=j.useCallback(async()=>{var ee,ae,ue,de;if(!(!n||!D)){h(!0),y("");try{const Te={username:a.username,email:a.email,password:a.password,avatarColor:a.avatarColor};P||(Te.groupId=a.groupId);const xe=await at.put(`/api/users/${n.id}`,Te),be=jx(((ee=xe.data)==null?void 0:ee.item)||((ae=xe.data)==null?void 0:ae.user));o(be);const Se=Go(be);u.current={...Se},i(Se),c(""),t({variant:"success",title:"Benutzer gespeichert",description:"Die Änderungen wurden erfolgreich gespeichert."})}catch(Te){const xe=(de=(ue=Te.response)==null?void 0:ue.data)==null?void 0:de.error;let be="Die Benutzerdaten konnten nicht gespeichert werden.";xe==="USERNAME_REQUIRED"?be="Bitte einen Benutzernamen angeben.":xe==="USERNAME_TAKEN"?be="Der Benutzername wird bereits verwendet.":xe==="INVALID_EMAIL"?be="Bitte eine gültige E-Mail-Adresse eingeben.":xe==="EMAIL_TAKEN"?be="Die E-Mail-Adresse wird bereits verwendet.":xe==="INVALID_PASSWORD"?be="Das Passwort ist ungültig.":xe==="PASSWORD_TOO_SHORT"?be="Das Passwort muss mindestens 8 Zeichen enthalten.":xe==="INVALID_AVATAR_COLOR"?be="Bitte eine gültige Avatar-Farbe auswählen.":xe==="GROUP_NOT_FOUND"&&(be="Die ausgewählte Benutzergruppe existiert nicht mehr.",c(be)),y(be),t({variant:"error",title:"Speichern fehlgeschlagen",description:be})}finally{h(!1)}}},[n,D,a,t,P]),G=j.useMemo(()=>{const ee=(a.username||a.email||"").trim();return ee?ee.charAt(0).toUpperCase():"?"},[a.username,a.email]),X=j.useMemo(()=>a.avatarColor?a.avatarColor:(n==null?void 0:n.avatarColor)||"",[a.avatarColor,n]),ie=j.useMemo(()=>Array.isArray(C)?C.filter(ee=>((ee==null?void 0:ee.name)||"").toLowerCase()!=="superuser"):[],[C]);j.useEffect(()=>{if(P)return;const ee=a.groupId?Number(a.groupId):null;ie.some(ue=>Number(ue.id)===ee)||i(ue=>({...ue,groupId:null}))},[ie,a.groupId,P]);const fe=E||s||!n||m,pe=E||s||!n,oe=E||s||!n,se=a.groupId?String(a.groupId):"";return T.jsxs(T.Fragment,{children:[T.jsx("div",{className:"relative mt-8 h-72 w-full overflow-hidden rounded-xl bg-[url('/img/background-image.png')] bg-cover\\tbg-center",children:T.jsx("div",{className:"absolute inset-0 h-full w-full bg-gray-900/75"})}),T.jsx(Q.Card,{className:"mx-3 -mt-16 mb-6 lg:mx-4 border border-blue-gray-100",children:T.jsxs(Q.CardBody,{className:"p-4",children:[T.jsxs("div",{className:"mb-10 flex flex-wrap items-center justify-between gap-6",children:[T.jsxs("div",{className:"flex items-center gap-6",children:[T.jsx("div",{className:`text-black flex h-[74px] w-[74px] items-center justify-center rounded-xl text-3xl font-semibold uppercase shadow-lg shadow-blue-gray-500/40 ${X}`,"aria-label":a.username||"Benutzeravatar",children:G}),T.jsxs("div",{children:[T.jsx(Q.Typography,{variant:"h5",color:"blue-gray",children:a.username||"–"}),T.jsx(Q.Typography,{className:"text-xs font-semibold tracking-wide text-stormGrey-400",children:a.email||"–"})]})]}),D&&T.jsx(Q.Button,{color:"green",className:"normal-case",onClick:H,disabled:E||s,children:s?"Speichert ...":"Änderungen speichern"})]}),f&&!n&&T.jsxs("div",{className:"mb-6 flex items-center gap-3 rounded-lg border border-blue-gray-50 bg-blue-gray-50/50 px-4 py-3 text-sm text-blue-gray-500",children:[T.jsx(Q.Spinner,{className:"h-4 w-4"}),T.jsx("span",{children:"Benutzerdaten werden geladen ..."})]}),b&&!f&&T.jsx("div",{className:"mb-6 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:b}),v&&!f&&T.jsx("div",{className:"mb-6 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:v}),T.jsxs("div",{className:"grid-cols-1 mb-12 grid gap-12 px-4 lg:grid-cols-2 xl:grid-cols-3",children:[T.jsxs("div",{children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mb-4",children:"Allgemeine Einstellungen"}),T.jsxs("div",{className:"mb-6",children:[T.jsx(Q.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Benutzername"}),T.jsx(Q.Input,{value:a.username,onChange:W,placeholder:"Benutzername",disabled:oe,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),T.jsxs("div",{className:"mb-6",children:[T.jsx(Q.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"E-Mail-Adresse"}),T.jsx(Q.Input,{type:"email",value:a.email,onChange:U,placeholder:"benutzer@example.com",disabled:oe,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),T.jsxs("div",{className:"mb-6",children:[T.jsx(Q.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Neues Passwort"}),T.jsx(Q.Input,{type:"password",value:a.password,onChange:Y,placeholder:"Passwort setzen",disabled:oe,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}}),T.jsx(Q.Typography,{className:"mt-1 text-xs text-blue-gray-400",children:"Das Passwort wird nur geändert, wenn ein neuer Wert eingetragen wird."})]}),T.jsxs("div",{className:"mb-6",children:[T.jsx(Q.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Globale Rolle"}),E&&T.jsx("div",{className:"mb-3 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Wartungsmodus aktiv – Änderungen sind deaktiviert."}),l&&!P&&T.jsx("div",{className:"mb-3 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:l}),P?T.jsx(Q.Typography,{className:"block text-xs font-semibold uppercase text-blue-gray-500",children:"Die Rolle für den Superuser kann nicht geändert werden."}):m&&C.length===0?T.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-blue-gray-50 bg-blue-gray-50/50 px-4 py-3 text-sm text-blue-gray-500",children:[T.jsx(Q.Spinner,{className:"h-4 w-4"}),T.jsx("span",{children:"Benutzergruppen werden geladen ..."})]}):ie.length===0?T.jsx(Q.Typography,{className:"block text-xs font-semibold uppercase text-blue-gray-500",children:"Es sind keine weiteren Benutzergruppen vorhanden. Bitte lege zunächst eine neue Gruppe an."}):T.jsx(Q.Select,{label:"Benutzergruppe wählen",value:se,onChange:$,disabled:fe,variant:"outlined",children:ie.map(ee=>T.jsx(Q.Option,{value:String(ee.id),children:ee.name},ee.id))})]}),T.jsxs("div",{className:"mb-6",children:[T.jsx(Q.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Avatar-Farbe"}),T.jsxs(Q.Select,{label:"Avatar-Farbe auswählen",variant:"outlined",value:a.avatarColor,onChange:z,disabled:pe,selected:L,children:[T.jsx(Q.Option,{value:"",children:T.jsxs("span",{className:"flex items-center gap-2",children:[T.jsx("span",{className:"h-4 w-4 rounded border border-blue-gray-100"}),T.jsx("span",{className:"text-xs",children:"Keine"})]})}),Fk.map(ee=>T.jsx(Q.Option,{value:ee,children:T.jsxs("span",{className:"flex items-center gap-2",children:[T.jsx("span",{className:`h-4 w-4 rounded border border-blue-gray-100 ${ee}`}),T.jsx("span",{className:"text-xs",children:ee})]})},ee))]})]})]}),T.jsxs("div",{children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mb-3",children:"Platform Settings"}),T.jsx("div",{className:"flex flex-col gap-12",children:qB.map(({title:ee,options:ae})=>T.jsxs("div",{children:[T.jsx(Q.Typography,{className:"mb-4 block text-xs font-semibold uppercase text-blue-gray-500",children:ee}),T.jsx("div",{className:"flex flex-col gap-6",children:ae.map(({checked:ue,label:de})=>T.jsx(Q.Switch,{id:de,label:de,defaultChecked:ue,labelProps:{className:"text-sm font-normal text-blue-gray-500"}},de))})]},ee))})]})]})]})})]})}const Rx=e=>({id:(e==null?void 0:e.id)??null,name:(e==null?void 0:e.name)||"",description:(e==null?void 0:e.description)||"",avatarColor:(e==null?void 0:e.avatarColor)||null,createdAt:(e==null?void 0:e.createdAt)||null,updatedAt:(e==null?void 0:e.updatedAt)||null,memberCount:Number.isFinite(Number(e==null?void 0:e.memberCount))?Number(e.memberCount):0,members:Array.isArray(e==null?void 0:e.members)?e.members.map(t=>({id:(t==null?void 0:t.id)??null,username:(t==null?void 0:t.username)||""})).filter(t=>t.username):[]}),Ko=e=>e?{name:e.name||"",description:e.description||"",avatarColor:e.avatarColor||""}:{name:"",description:"",avatarColor:""};function QB(){const{groupId:e}=C5(),{showToast:t}=El(),{maintenance:r}=pi(),[n,o]=j.useState(null),[a,i]=j.useState(Ko(null)),u=j.useRef(Ko(null)),[f,g]=j.useState(!1),[b,_]=j.useState(""),[O,S]=j.useState(!1),[C,w]=j.useState(!1),[m,d]=j.useState(""),l=!!(r!=null&&r.active),c=j.useMemo(()=>((n==null?void 0:n.name)||"").toLowerCase()==="superuser",[n]),s=j.useMemo(()=>{const U=Number(e);return Number.isFinite(U)?U:null},[e]),h=j.useCallback(async()=>{var U,Y,$,z;if(!s){_("Ungültige Gruppen-ID."),o(null),i(Ko(null)),u.current=Ko(null),S(!0);return}g(!0),_("");try{const H=await at.get(`/api/groups/${s}`),G=Rx((U=H.data)==null?void 0:U.item);if(!G.id)throw new Error("GROUP_NOT_FOUND");o(G);const X=Ko(G);u.current={...X},i(X),d("")}catch(H){const G=($=(Y=H.response)==null?void 0:Y.data)==null?void 0:$.error;let X="Gruppendetails konnten nicht geladen werden.";G==="GROUP_NOT_FOUND"?X="Die angeforderte Benutzergruppe wurde nicht gefunden.":G==="INVALID_GROUP_ID"?X="Die angegebene Gruppen-ID ist ungültig.":((z=H.response)==null?void 0:z.status)===404&&(X="Die angeforderte Benutzergruppe existiert nicht."),o(null),u.current=Ko(null),i(Ko(null)),_(X),t({variant:"error",title:"Fehler beim Laden",description:X})}finally{g(!1),S(!0)}},[s,t]);j.useEffect(()=>{h()},[h]);const v=j.useMemo(()=>{if(!O||!n)return!1;const U=u.current;if(!U)return!1;const Y=U.name||"",$=a.name||"",z=U.description||"",H=a.description||"",G=U.avatarColor||"",X=a.avatarColor||"";return Y!==$||z!==H||G!==X},[a,O,n]),y=j.useCallback(U=>{const{value:Y}=U.target;i($=>({...$,name:Y}))},[]),E=j.useCallback(U=>{const{value:Y}=U.target;i($=>({...$,description:Y}))},[]),P=j.useCallback(U=>{i(Y=>({...Y,avatarColor:U||""}))},[]),N=j.useCallback(async()=>{var U,Y,$,z;if(!(!n||!v)){w(!0),d("");try{const H={avatarColor:a.avatarColor};c||(H.name=a.name,H.description=a.description);const G=await at.put(`/api/groups/${n.id}`,H),X=Rx(((U=G.data)==null?void 0:U.item)||((Y=G.data)==null?void 0:Y.group));o(X);const ie=Ko(X);u.current={...ie},i(ie),t({variant:"success",title:"Gruppe gespeichert",description:"Die Änderungen wurden erfolgreich gespeichert."})}catch(H){const G=(z=($=H.response)==null?void 0:$.data)==null?void 0:z.error;let X="Die Gruppe konnte nicht gespeichert werden.";G==="GROUP_NAME_REQUIRED"?X="Bitte einen Gruppennamen angeben.":G==="GROUP_NAME_TAKEN"?X="Der Gruppenname wird bereits verwendet.":G==="INVALID_AVATAR_COLOR"?X="Bitte eine gültige Avatar-Farbe auswählen.":G==="GROUP_NOT_FOUND"?X="Die Benutzergruppe wurde nicht gefunden.":G==="GROUP_SUPERUSER_PROTECTED"&&(X="Für die Superuser-Gruppe kann nur die Avatar-Farbe angepasst werden."),d(X),t({variant:"error",title:"Speichern fehlgeschlagen",description:X})}finally{w(!1)}}},[n,v,a,t,c]),R=j.useMemo(()=>{const U=(a.name||a.description||"").trim();return U?U.charAt(0).toUpperCase():"?"},[a.name,a.description]),M=j.useMemo(()=>a.avatarColor?a.avatarColor:(n==null?void 0:n.avatarColor)||"",[a.avatarColor,n]),D=l||C||!n,L=l||C||!n||c,W=a.avatarColor||"";return T.jsxs(T.Fragment,{children:[T.jsx("div",{className:"relative mt-8 h-72 w-full overflow-hidden rounded-xl bg-[url('/img/background-image.png')] bg-cover\\tbg-center",children:T.jsx("div",{className:"absolute inset-0 h-full w-full bg-gray-900/75"})}),T.jsx(Q.Card,{className:"mx-3 -mt-16 mb-6 lg:mx-4 border border-blue-gray-100",children:T.jsxs(Q.CardBody,{className:"p-4",children:[T.jsxs("div",{className:"mb-10 flex flex-wrap items-center justify-between gap-6",children:[T.jsxs("div",{className:"flex items-center gap-6",children:[T.jsx("div",{className:`text-black flex h-[74px] w-[74px] items-center justify-center rounded-xl text-3xl font-semibold uppercase shadow-lg shadow-blue-gray-500/40 ${M}`,"aria-label":a.name||"Gruppenavatar",children:R}),T.jsxs("div",{children:[T.jsx(Q.Typography,{variant:"h5",color:"blue-gray",children:a.name||"–"}),T.jsxs(Q.Typography,{className:"text-xs font-semibold tracking-wide text-stormGrey-400",children:["Gruppen-ID: ",(n==null?void 0:n.id)??"–"]})]})]}),v&&T.jsx(Q.Button,{color:"green",className:"normal-case",onClick:N,disabled:l||C,children:C?"Speichert ...":"Änderungen speichern"})]}),f&&!n&&T.jsxs("div",{className:"mb-6 flex items-center gap-3 rounded-lg border border-blue-gray-50 bg-blue-gray-50/50 px-4 py-3 text-sm text-blue-gray-500",children:[T.jsx(Q.Spinner,{className:"h-4 w-4"}),T.jsx("span",{children:"Gruppendaten werden geladen ..."})]}),b&&!f&&T.jsx("div",{className:"mb-6 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:b}),m&&!f&&T.jsx("div",{className:"mb-6 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:m}),T.jsxs("div",{className:"grid-cols-1 mb-12 grid gap-12 px-4 lg:grid-cols-2 xl:grid-cols-3",children:[T.jsxs("div",{children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mb-4",children:"Gruppendaten"}),(l||c)&&T.jsx("div",{className:"mb-4 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:l?"Wartungsmodus aktiv – Änderungen sind deaktiviert.":"Systemgruppe – Name und Beschreibung sind geschützt."}),T.jsxs("div",{className:"mb-6",children:[T.jsx(Q.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Gruppenname"}),T.jsx(Q.Input,{value:a.name,onChange:y,placeholder:"Gruppenname",disabled:L,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),T.jsxs("div",{className:"mb-6",children:[T.jsx(Q.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Beschreibung"}),T.jsx(Q.Input,{value:a.description,onChange:E,placeholder:"Beschreibung der Gruppe",disabled:L,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),T.jsxs("div",{className:"mb-6",children:[T.jsx(Q.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Avatar-Farbe"}),T.jsxs(Q.Select,{label:"Avatar-Farbe auswählen",variant:"outlined",value:W,onChange:P,disabled:D,selected:U=>{var Y;return(Y=U==null?void 0:U.props)!=null&&Y.children?U.props.children:a.avatarColor?a.avatarColor:"Standardfarbe"},children:[T.jsx(Q.Option,{value:"",children:T.jsxs("span",{className:"flex items-center gap-2",children:[T.jsx("span",{className:"h-4 w-4 rounded border border-blue-gray-100"}),T.jsx("span",{className:"text-xs",children:"Keine"})]})}),Fk.map(U=>T.jsx(Q.Option,{value:U,children:T.jsxs("span",{className:"flex items-center gap-2",children:[T.jsx("span",{className:`h-4 w-4 rounded border border-blue-gray-100 ${U}`}),T.jsx("span",{className:"text-xs",children:U})]})},U))]})]})]}),T.jsxs("div",{children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mb-4",children:"Mitglieder"}),!n||n.members.length===0?T.jsx(Q.Typography,{className:"text-sm text-stormGrey-500",children:"Aktuell sind keine Benutzer dieser Gruppe zugeordnet."}):T.jsx("div",{className:"flex flex-wrap gap-2",children:n.members.map(U=>T.jsx(Q.Chip,{value:U.username,size:"sm",color:"blue-gray",variant:"ghost"},`${n.id}-${U.id}-${U.username}`))}),T.jsx("div",{className:"mt-6 text-xs text-stormGrey-400",children:T.jsxs("p",{children:["Mitglieder insgesamt: ",(n==null?void 0:n.memberCount)??0]})})]})]})]})})]})}const XB="/assets/pattern-68ea7609.png";function JB(){const e=ii(),[t,r]=j.useState(""),[n,o]=j.useState(""),[a,i]=j.useState(!1),[u,f]=j.useState(null),[g,b]=j.useState(!1);j.useEffect(()=>{let O=!0;const S=new AbortController;return(async()=>{try{const w=await fetch("/api/setup/status",{credentials:"include",signal:S.signal});if(w.ok&&!(await w.json()).setupComplete&&O){e("/setup",{replace:!0});return}const m=await fetch("/api/auth/session",{credentials:"include",signal:S.signal});if(m.ok){const d=await m.json();if(d!=null&&d.user&&O){e("/dashboard/stacks",{replace:!0});return}}}catch(w){w.name!=="AbortError"&&console.error("⚠️ [Auth] Initiale Prüfung fehlgeschlagen:",w)}finally{O&&b(!0)}})(),()=>{O=!1,S.abort()}},[e]);const _=j.useCallback(async O=>{if(O.preventDefault(),a)return;f(null);const S=t.trim(),C=n.trim();if(!S||!C){f("Bitte fülle beide Felder aus.");return}i(!0);try{const w=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({identifier:S,password:C})}),m=await w.json().catch(()=>({}));if(!w.ok){if(w.status===401||m.error==="INVALID_CREDENTIALS")f("Ungültige Zugangsdaten.");else if(m.error==="MISSING_CREDENTIALS")f("Bitte fülle beide Felder aus.");else if(m.error==="SETUP_REQUIRED"||m.error==="SUPERUSER_REQUIRED"){e("/setup",{replace:!0});return}else m.error==="USER_INACTIVE"?f("Dieses Konto ist deaktiviert. Bitte wende dich an einen Administrator."):f("Anmeldung fehlgeschlagen. Bitte versuche es erneut.");return}e("/dashboard/stacks",{replace:!0})}catch(w){console.error("⚠️ [Auth] Anmeldung fehlgeschlagen:",w),f("Netzwerkfehler – bitte erneut versuchen.")}finally{i(!1)}},[t,n,a,e]);return g?T.jsxs("section",{className:"m-8 flex gap-4",children:[T.jsxs("div",{className:"w-full lg:w-3/5 mt-24",children:[T.jsxs("div",{className:"text-center",children:[T.jsx(Q.Typography,{variant:"h2",className:"font-bold mb-4",children:"Anmelden"}),T.jsx(Q.Typography,{variant:"paragraph",color:"blue-gray",className:"text-lg font-normal",children:"Gib deine E-Mail oder deinen Benutzernamen sowie dein Passwort ein, um dich anzumelden."})]}),T.jsxs("form",{className:"mt-8 mb-2 mx-auto w-80 max-w-screen-lg lg:w-1/2",onSubmit:_,children:[T.jsxs("div",{className:"mb-1 flex flex-col gap-6",children:[T.jsx(Q.Typography,{variant:"small",color:"blue-gray",className:"-mb-3 font-medium",children:"E-Mail oder Benutzername"}),T.jsx(Q.Input,{size:"lg",placeholder:"E-Mail oder Benutzername",value:t,onChange:O=>r(O.target.value),required:!0,autoFocus:!0,disabled:a,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}}),T.jsx(Q.Typography,{variant:"small",color:"blue-gray",className:"-mb-3 font-medium",children:"Passwort"}),T.jsx(Q.Input,{type:"password",size:"lg",placeholder:"********",value:n,onChange:O=>o(O.target.value),required:!0,disabled:a,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),u&&T.jsx(Q.Alert,{color:"red",className:"mt-2 border border-red-200 bg-red-50 text-red-700",children:u}),T.jsx(Q.Button,{type:"submit",className:"mt-6",fullWidth:!0,disabled:a,children:a?"Anmeldung läuft ...":"Anmelden"})]})]}),T.jsx("div",{className:"w-2/5 h-full hidden lg:block",children:T.jsx("img",{src:XB,className:"h-full w-full object-cover rounded-3xl"})})]}):T.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:T.jsx("span",{className:"text-blue-gray-500",children:"Pruefe Anmeldestatus ..."})})}function ZB(){return T.jsxs("section",{className:"m-8 flex",children:[T.jsx("div",{className:"w-2/5 h-full hidden lg:block",children:T.jsx("img",{src:"/img/pattern.png",className:"h-full w-full object-cover rounded-3xl"})}),T.jsxs("div",{className:"w-full lg:w-3/5 flex flex-col items-center justify-center",children:[T.jsxs("div",{className:"text-center",children:[T.jsx(Q.Typography,{variant:"h2",className:"font-bold mb-4",children:"Join Us Today"}),T.jsx(Q.Typography,{variant:"paragraph",color:"blue-gray",className:"text-lg font-normal",children:"Enter your email and password to register."})]}),T.jsxs("form",{className:"mt-8 mb-2 mx-auto w-80 max-w-screen-lg lg:w-1/2",children:[T.jsxs("div",{className:"mb-1 flex flex-col gap-6",children:[T.jsx(Q.Typography,{variant:"small",color:"blue-gray",className:"-mb-3 font-medium",children:"Your email"}),T.jsx(Q.Input,{size:"lg",placeholder:"name@mail.com",className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),T.jsx(Q.Checkbox,{label:T.jsxs(Q.Typography,{variant:"small",color:"gray",className:"flex items-center justify-start font-medium",children:["I agree the ",T.jsx("a",{href:"#",className:"font-normal text-black transition-colors hover:text-gray-900 underline",children:"Terms and Conditions"})]}),containerProps:{className:"-ml-2.5"}}),T.jsx(Q.Button,{className:"mt-6",fullWidth:!0,children:"Register Now"}),T.jsxs("div",{className:"space-y-4 mt-8",children:[T.jsxs(Q.Button,{size:"lg",color:"white",className:"flex items-center gap-2 justify-center shadow-md",fullWidth:!0,children:[T.jsxs("svg",{width:"17",height:"16",viewBox:"0 0 17 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[T.jsxs("g",{clipPath:"url(#clip0_1156_824)",children:[T.jsx("path",{d:"M16.3442 8.18429C16.3442 7.64047 16.3001 7.09371 16.206 6.55872H8.66016V9.63937H12.9813C12.802 10.6329 12.2258 11.5119 11.3822 12.0704V14.0693H13.9602C15.4741 12.6759 16.3442 10.6182 16.3442 8.18429Z",fill:"#4285F4"}),T.jsx("path",{d:"M8.65974 16.0006C10.8174 16.0006 12.637 15.2922 13.9627 14.0693L11.3847 12.0704C10.6675 12.5584 9.7415 12.8347 8.66268 12.8347C6.5756 12.8347 4.80598 11.4266 4.17104 9.53357H1.51074V11.5942C2.86882 14.2956 5.63494 16.0006 8.65974 16.0006Z",fill:"#34A853"}),T.jsx("path",{d:"M4.16852 9.53356C3.83341 8.53999 3.83341 7.46411 4.16852 6.47054V4.40991H1.51116C0.376489 6.67043 0.376489 9.33367 1.51116 11.5942L4.16852 9.53356Z",fill:"#FBBC04"}),T.jsx("path",{d:"M8.65974 3.16644C9.80029 3.1488 10.9026 3.57798 11.7286 4.36578L14.0127 2.08174C12.5664 0.72367 10.6469 -0.0229773 8.65974 0.000539111C5.63494 0.000539111 2.86882 1.70548 1.51074 4.40987L4.1681 6.4705C4.8001 4.57449 6.57266 3.16644 8.65974 3.16644Z",fill:"#EA4335"})]}),T.jsx("defs",{children:T.jsx("clipPath",{id:"clip0_1156_824",children:T.jsx("rect",{width:"16",height:"16",fill:"white",transform:"translate(0.5)"})})})]}),T.jsx("span",{children:"Sign in With Google"})]}),T.jsxs(Q.Button,{size:"lg",color:"white",className:"flex items-center gap-2 justify-center shadow-md",fullWidth:!0,children:[T.jsx("img",{src:"/img/twitter-logo.svg",height:24,width:24,alt:""}),T.jsx("span",{children:"Sign in With Twitter"})]})]}),T.jsxs(Q.Typography,{variant:"paragraph",className:"text-center text-blue-gray-500 font-medium mt-4",children:["Already have an account?",T.jsx(P5,{to:"/auth/sign-in",className:"text-gray-900 ml-1",children:"Sign in"})]})]})]})]})}const Ia={className:"w-5 h-5 text-inherit"},Hh=[{layout:"dashboard",pages:[{icon:T.jsx(QI,{...Ia}),name:"stacks",path:"/stacks",element:T.jsx(EB,{})},{icon:T.jsx(a4,{...Ia}),name:"wartung",path:"/maintenance",element:T.jsx(MB,{})},{icon:T.jsx(VI,{...Ia}),name:"logs",path:"/logs",element:T.jsx(UB,{})},{icon:T.jsx(r4,{...Ia}),name:"benutzer",path:"/users",element:T.jsx(HB,{})},{icon:T.jsx(ZI,{...Ia}),name:"rechtegruppen",path:"/usergroups",element:T.jsx($B,{})}]},{title:"auth pages",layout:"auth",pages:[{icon:T.jsx(GI,{...Ia}),name:"sign in",path:"/sign-in",element:T.jsx(JB,{})},{icon:T.jsx(HI,{...Ia}),name:"sign up",path:"/sign-up",element:T.jsx(ZB,{})}]}];function zk(){const[e,t]=Pf(),{sidenavType:r}=e,n=_a(),o=ii(),[a,i]=j.useState(!1),[u,f]=j.useState(!0),[g,b]=j.useState(!1),[_,O]=j.useState(!1),S=j.useCallback(async()=>{i(!1);try{const w=await fetch("/api/setup/status",{credentials:"include"});if(!w.ok)throw new Error("STATUS_REQUEST_FAILED");const m=await w.json();f(!m.setupComplete)}catch(w){console.error("⚠️ [Setup] Statusprüfung fehlgeschlagen:",w),f(!0)}finally{i(!0)}},[]),C=j.useCallback(async()=>{b(!1);try{const w=await fetch("/api/auth/session",{credentials:"include"});if(w.status===403){f(!0),O(!1);return}if(!w.ok){O(!1);return}const m=await w.json();O(!!(m!=null&&m.user))}catch(w){console.error("⚠️ [Auth] Sessionprüfung fehlgeschlagen:",w),O(!1)}finally{b(!0)}},[f,O,b]);return j.useEffect(()=>{S()},[S]),j.useEffect(()=>{!a||u||C()},[a,u,C]),j.useEffect(()=>{if(a){if(u){n.pathname!=="/setup"&&o("/setup",{replace:!0});return}if(g){if(!_){n.pathname!=="/auth/sign-in"&&o("/auth/sign-in",{replace:!0});return}(n.pathname==="/setup"||n.pathname.startsWith("/auth/"))&&o("/dashboard/stacks",{replace:!0})}}},[a,u,g,_,n.pathname,o]),a?u?T.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:T.jsx("span",{className:"text-blue-gray-500",children:"Setup erforderlich ..."})}):g?_?T.jsxs("div",{className:"min-h-screen bg-blue-gray-50/50",children:[T.jsx(kf,{routes:Hh,brandImg:r==="dark"?"/img/logo-ct.png":"/img/logo-ct-dark.png"}),T.jsxs("div",{className:"p-4 xl:ml-80",children:[T.jsx(yk,{}),T.jsx(wk,{}),T.jsx(Q.IconButton,{size:"lg",color:"white",className:"fixed bottom-8 right-8 z-40 rounded-full shadow-blue-gray-900/10 xl:hidden",ripple:!1,onClick:()=>tb(t,!0),children:T.jsx(k5,{className:"h-5 w-5"})}),T.jsxs(Qg,{children:[Hh.map(({layout:w,pages:m})=>w==="dashboard"&&m.map(({path:d,element:l})=>T.jsx(_o,{exact:!0,path:d,element:l}))),T.jsx(_o,{path:"users/:userId",element:T.jsx(YB,{})}),T.jsx(_o,{path:"usergroups/:groupId",element:T.jsx(QB,{})})]}),T.jsx("div",{className:"text-blue-gray-600",children:T.jsx(xk,{})})]})]}):T.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:T.jsx("span",{className:"text-blue-gray-500",children:"Weiterleitung zur Anmeldung ..."})}):T.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:T.jsx("span",{className:"text-blue-gray-500",children:"Pruefe Anmeldung ..."})}):T.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:T.jsx("span",{className:"text-blue-gray-500",children:"Pruefe Systemkonfiguration ..."})})}zk.displayName="/src/layout/dashboard.jsx";function Bk(){return T.jsx("div",{className:"relative min-h-screen w-full",children:T.jsx(Qg,{children:Hh.map(({layout:e,pages:t})=>e==="auth"&&t.map(({path:r,element:n})=>T.jsx(_o,{exact:!0,path:r,element:n})))})})}Bk.displayName="/src/layout/Auth.jsx";const eV={superuser:{username:"",email:"",password:""},server:{name:"",url:""},endpoint:{name:"",externalId:"",serverId:""},apiKey:""};function tV(){var xe,be,Se,je,qe,nt,ut,Ye,rt;const e=ii(),[t,r]=j.useState(null),[n,o]=j.useState(!0),[a,i]=j.useState(null),[u,f]=j.useState(eV),[g,b]=j.useState(!1),[_,O]=j.useState(null),[S,C]=j.useState(!1);j.useEffect(()=>{let Je=!0;const Ve=new AbortController;return(async()=>{o(!0),i(null);try{const te=await fetch("/api/setup/status",{signal:Ve.signal,credentials:"include"});if(!te.ok)throw new Error("STATUS_REQUEST_FAILED");const ge=await te.json();if(!Je)return;if(r(ge),ge.setupComplete){e("/auth/sign-in",{replace:!0});return}f(_e=>{var Pe,Ce,we,Ie,Ue,Ze,Bt,et,Xt,qt,Et,tr,Jt,Nt;return{superuser:{username:(Ce=(Pe=ge.envDefaults)==null?void 0:Pe.superuserUsername)!=null&&Ce.length?ge.envDefaults.superuserUsername:_e.superuser.username,email:(Ie=(we=ge.envDefaults)==null?void 0:we.superuserEmail)!=null&&Ie.length?ge.envDefaults.superuserEmail:_e.superuser.email,password:(Ze=(Ue=ge.envDefaults)==null?void 0:Ue.superuserPassword)!=null&&Ze.length?ge.envDefaults.superuserPassword:_e.superuser.password},server:{name:((Bt=ge.envDefaults)==null?void 0:Bt.serverName)||_e.server.name,url:(Xt=(et=ge.envDefaults)==null?void 0:et.serverUrl)!=null&&Xt.length?ge.envDefaults.serverUrl:_e.server.url},endpoint:{name:((qt=ge.envDefaults)==null?void 0:qt.endpointName)||_e.endpoint.name,externalId:(tr=(Et=ge.envDefaults)==null?void 0:Et.endpointExternalId)!=null&&tr.length?ge.envDefaults.endpointExternalId:_e.endpoint.externalId,serverId:_e.endpoint.serverId||""},apiKey:(Nt=(Jt=ge.envDefaults)==null?void 0:Jt.apiKeyValue)!=null&&Nt.length?ge.envDefaults.apiKeyValue:_e.apiKey}})}catch(te){if(te.name==="AbortError")return;console.error("⚠️ [Setup] Status konnte nicht geladen werden:",te),Je&&i("Setup-Status konnte nicht geladen werden. Bitte Seite aktualisieren.")}finally{Je&&o(!1)}})(),()=>{Je=!1,Ve.abort()}},[e]);const w=(t==null?void 0:t.envDefaults)||{},m=w.superuserUsername??"",d=w.superuserEmail??"",l=w.superuserPassword??"",c=w.serverUrl??"",s=w.endpointExternalId??"",h=w.apiKeyValue??"",v=!!((xe=t==null?void 0:t.requirements)!=null&&xe.superuser),y=!!((be=t==null?void 0:t.requirements)!=null&&be.server),E=!!((Se=t==null?void 0:t.requirements)!=null&&Se.endpoint),P=!!((je=t==null?void 0:t.requirements)!=null&&je.apiKey),N=!!((qe=t==null?void 0:t.apiKeys)!=null&&qe.count),R=!!(c||(nt=t==null?void 0:t.servers)!=null&&nt.envProvided),M=!!(s||(ut=t==null?void 0:t.endpoints)!=null&&ut.envProvided),D=!!(h||(Ye=t==null?void 0:t.apiKeys)!=null&&Ye.envProvided),L=y||R,W=E||M,U=P||!N||D,Y=!!m,$=!!d,z=!!l,H=!!w.serverNameFromEnv,G=!!c,X=!!w.endpointNameFromEnv,ie=!!s,fe=!!h,pe=j.useCallback((Je,Ve,{locked:me=!1}={})=>te=>{if(me)return;const ge=te.target.value;f(_e=>({..._e,[Je]:{..._e[Je],[Ve]:ge}}))},[]),oe=j.useMemo(()=>{if(!t)return[];const Je=[];if(v){const{username:Ve,email:me,password:te}=u.superuser;Ve.trim()||Je.push("Benutzername ist erforderlich."),me.trim()||Je.push("E-Mail-Adresse ist erforderlich."),te.trim()||Je.push("Passwort ist erforderlich.")}return y&&!u.server.url.trim()&&Je.push("Server-URL ist erforderlich."),E&&!u.endpoint.externalId.trim()&&Je.push("Endpoint-ID ist erforderlich."),U&&P&&!u.apiKey.trim()&&Je.push("API-Key ist erforderlich."),Je},[u,v,y,E,U,P,t]),se=j.useCallback(async Je=>{if(Je.preventDefault(),g||!t)return;if(O(null),C(!1),oe.length){O(oe.join(" "));return}const Ve={};if(v&&(Ve.superuser={username:u.superuser.username.trim(),email:u.superuser.email.trim(),password:u.superuser.password}),L){const te=u.server.name.trim(),ge=u.server.url.trim();(y||!H&&te||!G&&ge)&&(Ve.server={name:te,url:ge})}if(W){const te=u.endpoint.name.trim(),ge=u.endpoint.externalId.trim(),_e=u.endpoint.serverId?Number(u.endpoint.serverId):void 0;(E||!X&&te||!ie&&ge||_e)&&(Ve.endpoint={name:te||null,externalId:ge||null,serverId:_e})}const me=u.apiKey.trim();(U||me)&&(Ve.apiKey={value:me});try{b(!0);const te=await fetch("/api/setup/complete",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(Ve)});if(!te.ok)switch((await te.json().catch(()=>({}))).error){case"SERVER_DETAILS_REQUIRED":throw new Error("Bitte gib eine gültige Server-URL an.");case"ENDPOINT_DETAILS_REQUIRED":throw new Error("Bitte gib eine gültige Endpoint-ID an.");case"API_KEY_REQUIRED":throw new Error("Bitte gib einen gültigen API-Key an.");case"USERNAME_REQUIRED":throw new Error("Benutzername wird benötigt.");case"EMAIL_INVALID":throw new Error("Bitte gib eine gültige E-Mail-Adresse an.");case"PASSWORD_TOO_SHORT":throw new Error("Passwort muss mindestens 8 Zeichen enthalten.");case"INVALID_PASSWORD":throw new Error("Das Passwort ist ungültig.");case"API_KEY_ENCRYPT_FAILED":throw new Error("API-Key konnte nicht verschlüsselt werden. Bitte erneut versuchen.");case"SUPERUSER_EXISTS":throw new Error("Der Superuser wurde bereits angelegt.");default:throw new Error("Setup konnte nicht abgeschlossen werden. Bitte erneut versuchen.")}const ge=await te.json().catch(()=>({}));r(ge.status),C(!0),setTimeout(()=>{e("/auth/sign-in",{replace:!0})},1500)}catch(te){console.error("⚠️ [Setup] Abschluss fehlgeschlagen:",te),O(te.message||"Setup fehlgeschlagen.")}finally{b(!1)}},[u,e,v,y,E,L,W,U,t,g,oe,H,G,X,ie]);if(n)return T.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:T.jsx("span",{className:"text-blue-gray-500",children:"Lade Setup-Status ..."})});if(a)return T.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:T.jsx(Q.Alert,{color:"red",className:"w-full max-w-lg border border-red-200 bg-red-50 text-red-700",children:a})});if(!t)return T.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:T.jsx("span",{className:"text-blue-gray-500",children:"Keine Setup-Informationen verfügbar."})});const ee=v?T.jsxs(T.Fragment,{children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"font-semibold",children:"Superuser"}),T.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[T.jsx(Q.Input,{label:"Benutzername",required:!0,value:u.superuser.username,onChange:pe("superuser","username",{locked:Y}),disabled:g,readOnly:Y}),T.jsx(Q.Input,{label:"E-Mail-Adresse",required:!0,type:"email",value:u.superuser.email,onChange:pe("superuser","email",{locked:$}),disabled:g,readOnly:$}),T.jsx(Q.Input,{label:"Passwort",required:!0,type:"password",value:u.superuser.password,onChange:pe("superuser","password",{locked:z}),disabled:g,readOnly:z})]})]}):T.jsx(Q.Alert,{color:"green",className:"border border-green-200 bg-green-50 text-green-700",children:"Superuser ist bereits vorhanden."}),ae=L?T.jsxs(T.Fragment,{children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mt-6 font-semibold",children:"Server"}),T.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[T.jsx(Q.Input,{label:"Server-Name",value:u.server.name,onChange:pe("server","name",{locked:H}),readOnly:H,disabled:g}),T.jsx(Q.Input,{label:"Server-URL",required:y,value:u.server.url,onChange:pe("server","url",{locked:G}),readOnly:G,disabled:g})]})]}):null,ue=W?T.jsxs(T.Fragment,{children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mt-6 font-semibold",children:"Endpoint"}),T.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[T.jsx(Q.Input,{label:"Endpoint-Name",value:u.endpoint.name,onChange:pe("endpoint","name",{locked:X}),readOnly:X,disabled:g}),T.jsx(Q.Input,{label:"Endpoint-ID",required:E,value:u.endpoint.externalId,onChange:pe("endpoint","externalId",{locked:ie}),readOnly:ie,disabled:g})]})]}):null,de=U?T.jsxs(T.Fragment,{children:[T.jsx(Q.Typography,{variant:"h6",color:"blue-gray",className:"mt-6 font-semibold",children:"API-Key"}),T.jsx("div",{className:"grid grid-cols-1 gap-4",children:T.jsx(Q.Input,{label:"API-Key",required:P,type:"password",value:u.apiKey,onChange:Je=>{fe||f(Ve=>({...Ve,apiKey:Je.target.value}))},readOnly:fe,disabled:g})})]}):null,Te=!!((rt=t==null?void 0:t.superuser)!=null&&rt.envProvided||R||M||D);return T.jsx("div",{className:"flex min-h-screen w-full items-center justify-center py-10",children:T.jsxs(Q.Card,{className:"w-full max-w-lg border border-blue-gray-100 shadow-sm",children:[T.jsxs(Q.CardHeader,{floated:!1,shadow:!1,className:"mb-0 grid place-items-start gap-2 rounded-none bg-transparent p-6",children:[T.jsx(Q.Typography,{variant:"h4",color:"blue-gray",children:"System Setup"}),T.jsx(Q.Typography,{color:"gray",className:"font-normal",children:"Lege einen Superuser sowie mindestens einen Server mit Endpoint und API-Key fest, um StackPulse zu starten."})]}),T.jsx(Q.CardBody,{className:"pt-0",children:T.jsxs("form",{className:"mt-4 flex flex-col gap-6",onSubmit:se,children:[Te&&T.jsx(Q.Alert,{color:"blue",className:"border border-blue-200 bg-blue-50 text-blue-700",children:"Teile der Konfiguration stammen bereits aus den Umgebungsvariablen."}),ee,ae,ue,de,_&&T.jsx(Q.Alert,{color:"red",className:"border border-red-200 bg-red-50 text-red-700",children:_}),S&&T.jsx(Q.Alert,{color:"green",className:"border border-green-200 bg-green-50 text-green-700",children:"Setup abgeschlossen. Du wirst zum Login weitergeleitet ..."}),T.jsx(Q.Button,{type:"submit",color:"blue",disabled:g||S,children:g?"Setup läuft ...":"Setup abschließen"})]})})]})})}function rV(){return T.jsxs(Qg,{children:[T.jsx(_o,{path:"/dashboard/*",element:T.jsx(zk,{})}),T.jsx(_o,{path:"/auth/*",element:T.jsx(Bk,{})}),T.jsx(_o,{path:"/setup",element:T.jsx(tV,{})}),T.jsx(_o,{path:"*",element:T.jsx(yI,{to:"/dashboard/stacks",replace:!0})})]})}at.defaults.withCredentials=!0;y0.createRoot(document.getElementById("root")).render(T.jsx(lo.StrictMode,{children:T.jsx(PI,{children:T.jsx(wB,{children:T.jsx(vB,{children:T.jsx(CB,{children:T.jsx(Q.ThemeProvider,{children:T.jsx(eb,{children:T.jsx(rV,{})})})})})})})})); diff --git a/backend/public/assets/index-f6cd1c87.css b/backend/public/assets/index-f6cd1c87.css new file mode 100644 index 0000000..0de247e --- /dev/null +++ b/backend/public/assets/index-f6cd1c87.css @@ -0,0 +1 @@ +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#eee}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Roboto,sans-serif;font-feature-settings:normal;font-variation-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#bdbdbd}input::placeholder,textarea::placeholder{opacity:1;color:#bdbdbd}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(33 150 243 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(33 150 243 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 540px){.container{max-width:540px}}@media (min-width: 720px){.container{max-width:720px}}@media (min-width: 960px){.container{max-width:960px}}@media (min-width: 1140px){.container{max-width:1140px}}@media (min-width: 1320px){.container{max-width:1320px}}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.\!invisible{visibility:hidden!important}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.\!absolute{position:absolute!important}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-left-1{left:-.25rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.-top-2{top:-.5rem}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-\[14\%\]{bottom:14%}.bottom-\[4\%\]{bottom:4%}.left-0{left:0}.left-1{left:.25rem}.left-1\.5{left:.375rem}.left-1\/2,.left-2\/4{left:50%}.left-3{left:.75rem}.left-4{left:1rem}.left-\[14\%\]{left:14%}.left-\[2\%\]{left:2%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.right-8{right:2rem}.right-\[14\%\]{right:14%}.right-\[2\%\]{right:2%}.top-0{top:0}.top-1\/2,.top-2\/4{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-\[14\%\]{top:14%}.top-\[4\%\]{top:4%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[2\]{z-index:2}.z-\[9995\]{z-index:9995}.z-\[9999\]{z-index:9999}.z-\[999\]{z-index:999}.order-last{order:9999}.m-0{margin:0}.m-0\.5{margin:.125rem}.m-4{margin:1rem}.m-8{margin:2rem}.mx-0{margin-left:0;margin-right:0}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mx-px{margin-left:1px;margin-right:1px}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-3{margin-bottom:-.75rem}.-ml-1{margin-left:-.25rem}.-ml-2{margin-left:-.5rem}.-ml-2\.5{margin-left:-.625rem}.-mt-16{margin-top:-4rem}.-mt-6{margin-top:-1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-\[18px\]{margin-left:18px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-12{margin-right:3rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mr-5{margin-right:1.25rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-px{margin-top:1px}.box-border{box-sizing:border-box}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!h-5{height:1.25rem!important}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-72{height:18rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[110px\]{height:110px}.h-\[18px\]{height:18px}.h-\[58px\]{height:58px}.h-\[74px\]{height:74px}.h-\[calc\(100vh-32px\)\]{height:calc(100vh - 32px)}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.h-screen{height:100vh}.max-h-96{max-height:24rem}.max-h-\[100vh\]{max-height:100vh}.max-h-\[32px\]{max-height:32px}.max-h-\[40px\]{max-height:40px}.max-h-\[48px\]{max-height:48px}.min-h-\[1\.5rem\]{min-height:1.5rem}.min-h-\[100px\]{min-height:100px}.min-h-\[100vh\]{min-height:100vh}.min-h-\[12px\]{min-height:12px}.min-h-\[200px\]{min-height:200px}.min-h-\[24px\]{min-height:24px}.min-h-\[38px\]{min-height:38px}.min-h-\[48px\]{min-height:48px}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.\!w-5{width:1.25rem!important}.w-0{width:0px}.w-0\.5{width:.125rem}.w-1\/3{width:33.333333%}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-10\/12{width:83.333333%}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/5{width:40%}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[110px\]{width:110px}.w-\[18px\]{width:18px}.w-\[58px\]{width:58px}.w-\[74px\]{width:74px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-screen{width:100vw}.min-w-\[100vw\]{min-width:100vw}.min-w-\[12px\]{min-width:12px}.min-w-\[140px\]{min-width:140px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[240px\]{min-width:240px}.min-w-\[24px\]{min-width:24px}.min-w-\[48px\]{min-width:48px}.min-w-\[640px\]{min-width:640px}.min-w-\[720px\]{min-width:720px}.min-w-\[80\%\]{min-width:80%}.min-w-\[860px\]{min-width:860px}.min-w-\[90\%\]{min-width:90%}.min-w-\[95\%\]{min-width:95%}.max-w-3xl{max-width:48rem}.max-w-\[100vw\]{max-width:100vw}.max-w-\[32px\]{max-width:32px}.max-w-\[40px\]{max-width:40px}.max-w-\[48px\]{max-width:48px}.max-w-\[80\%\]{max-width:80%}.max-w-\[90\%\]{max-width:90%}.max-w-\[95\%\]{max-width:95%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-screen-2xl{max-width:1320px}.max-w-screen-lg{max-width:960px}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.table-auto{table-layout:auto}.-translate-x-1\/2,.-translate-x-2\/4{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-80{--tw-translate-x: -20rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/4{--tw-translate-y: -25%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2\/4{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-2\/4{--tw-translate-x: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-96{--tw-translate-x: 24rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2\/4{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-100{--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.\!resize-none{resize:none!important}.resize-none{resize:none}.resize-y{resize:vertical}.\!resize{resize:both!important}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-10{row-gap:2.5rem}.gap-y-12{row-gap:3rem}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.divide-x>:not([hidden])~:not([hidden]){--tw-divide-x-reverse: 0;border-right-width:calc(1px * var(--tw-divide-x-reverse));border-left-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}.divide-amber-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(255 179 0 / var(--tw-divide-opacity))}.divide-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(30 136 229 / var(--tw-divide-opacity))}.divide-blue-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(236 239 241 / var(--tw-divide-opacity))}.divide-blue-gray-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(84 110 122 / var(--tw-divide-opacity))}.divide-brown-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(109 76 65 / var(--tw-divide-opacity))}.divide-cyan-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(0 172 193 / var(--tw-divide-opacity))}.divide-deep-orange-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(244 81 30 / var(--tw-divide-opacity))}.divide-deep-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(94 53 177 / var(--tw-divide-opacity))}.divide-gray-800>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(66 66 66 / var(--tw-divide-opacity))}.divide-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(22 163 74 / var(--tw-divide-opacity))}.divide-indigo-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(57 73 171 / var(--tw-divide-opacity))}.divide-light-blue-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(3 155 229 / var(--tw-divide-opacity))}.divide-light-green-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(124 179 66 / var(--tw-divide-opacity))}.divide-lime-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(192 202 51 / var(--tw-divide-opacity))}.divide-orange-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(234 88 12 / var(--tw-divide-opacity))}.divide-pink-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(216 27 96 / var(--tw-divide-opacity))}.divide-purple-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(142 36 170 / var(--tw-divide-opacity))}.divide-red-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(229 57 53 / var(--tw-divide-opacity))}.divide-teal-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(0 137 123 / var(--tw-divide-opacity))}.divide-yellow-600>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(253 216 53 / var(--tw-divide-opacity))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.\!overflow-visible{overflow:visible!important}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-full{border-radius:9999px!important}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-\[7px\]{border-radius:7px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-tl-none{border-top-left-radius:0}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-r-0{border-right-width:0px}.border-r-2{border-right-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(255 224 130 / var(--tw-border-opacity))}.border-amber-500{--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.border-arcticBlue-400{--tw-border-opacity: 1;border-color:rgb(102 182 231 / var(--tw-border-opacity))}.border-arcticBlue-500{--tw-border-opacity: 1;border-color:rgb(51 158 222 / var(--tw-border-opacity))}.border-arcticBlue-600{--tw-border-opacity: 1;border-color:rgb(31 134 195 / var(--tw-border-opacity))}.border-arcticBlue-800{--tw-border-opacity: 1;border-color:rgb(15 75 111 / var(--tw-border-opacity))}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(144 202 249 / var(--tw-border-opacity))}.border-blue-500{--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.border-blue-gray-100{--tw-border-opacity: 1;border-color:rgb(207 216 220 / var(--tw-border-opacity))}.border-blue-gray-200{--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.border-blue-gray-400{--tw-border-opacity: 1;border-color:rgb(120 144 156 / var(--tw-border-opacity))}.border-blue-gray-50{--tw-border-opacity: 1;border-color:rgb(236 239 241 / var(--tw-border-opacity))}.border-blue-gray-500{--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.border-blue-gray-700{--tw-border-opacity: 1;border-color:rgb(69 90 100 / var(--tw-border-opacity))}.border-brown-500{--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.border-cyan-500{--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.border-cyan-500\/60{border-color:#00bcd499}.border-deep-orange-500{--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.border-deep-purple-500{--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(238 238 238 / var(--tw-border-opacity))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(117 117 117 / var(--tw-border-opacity))}.border-gray-700{--tw-border-opacity: 1;border-color:rgb(97 97 97 / var(--tw-border-opacity))}.border-gray-700\/20{border-color:#61616133}.border-gray-900{--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.border-green-200{--tw-border-opacity: 1;border-color:rgb(187 247 208 / var(--tw-border-opacity))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.border-indigo-500{--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.border-light-blue-500{--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.border-light-green-500{--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.border-lime-500{--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.border-mossGreen-500\/80{border-color:#60b240cc}.border-mossGreen-700{--tw-border-opacity: 1;border-color:rgb(59 107 39 / var(--tw-border-opacity))}.border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.border-pink-500{--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.border-purple-500{--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(239 154 154 / var(--tw-border-opacity))}.border-red-500{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity))}.border-sunsetCoral-500{--tw-border-opacity: 1;border-color:rgb(255 106 93 / var(--tw-border-opacity))}.border-sunsetCoral-500\/40{border-color:#ff6a5d66}.border-sunsetCoral-500\/60{border-color:#ff6a5d99}.border-sunsetCoral-500\/80{border-color:#ff6a5dcc}.border-sunsetCoral-600{--tw-border-opacity: 1;border-color:rgb(230 80 72 / var(--tw-border-opacity))}.border-teal-500{--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-warmAmberGlow-500\/80{border-color:#ff8f00cc}.border-warmAmberGlow-600{--tw-border-opacity: 1;border-color:rgb(230 118 0 / var(--tw-border-opacity))}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.border-white\/80{border-color:#fffc}.border-yellow-500{--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.\!border-t-blue-gray-200{--tw-border-opacity: 1 !important;border-top-color:rgb(176 190 197 / var(--tw-border-opacity))!important}.\!border-t-transparent{border-top-color:transparent!important}.border-b-blue-gray-100{--tw-border-opacity: 1;border-bottom-color:rgb(207 216 220 / var(--tw-border-opacity))}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.border-t-blue-gray-100{--tw-border-opacity: 1;border-top-color:rgb(207 216 220 / var(--tw-border-opacity))}.border-t-transparent{border-top-color:transparent}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 248 225 / var(--tw-bg-opacity))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(255 193 7 / var(--tw-bg-opacity))}.bg-amber-500\/10{background-color:#ffc1071a}.bg-amber-500\/20{background-color:#ffc10733}.bg-arcticBlue-100{--tw-bg-opacity: 1;background-color:rgb(230 243 251 / var(--tw-bg-opacity))}.bg-arcticBlue-400{--tw-bg-opacity: 1;background-color:rgb(102 182 231 / var(--tw-bg-opacity))}.bg-arcticBlue-500{--tw-bg-opacity: 1;background-color:rgb(51 158 222 / var(--tw-bg-opacity))}.bg-arcticBlue-600{--tw-bg-opacity: 1;background-color:rgb(31 134 195 / var(--tw-bg-opacity))}.bg-arcticBlue-700{--tw-bg-opacity: 1;background-color:rgb(22 105 155 / var(--tw-bg-opacity))}.bg-arcticBlue-900{--tw-bg-opacity: 1;background-color:rgb(8 45 67 / var(--tw-bg-opacity))}.bg-arcticBlue-900\/90{background-color:#082d43e6}.bg-auroraTeal-500{--tw-bg-opacity: 1;background-color:rgb(56 198 204 / var(--tw-bg-opacity))}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(227 242 253 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(33 150 243 / var(--tw-bg-opacity))}.bg-blue-500\/10{background-color:#2196f31a}.bg-blue-500\/20{background-color:#2196f333}.bg-blue-gray-100{--tw-bg-opacity: 1;background-color:rgb(207 216 220 / var(--tw-bg-opacity))}.bg-blue-gray-50{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.bg-blue-gray-50\/40{background-color:#eceff166}.bg-blue-gray-50\/50{background-color:#eceff180}.bg-blue-gray-50\/60{background-color:#eceff199}.bg-blue-gray-500{--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.bg-blue-gray-500\/10{background-color:#607d8b1a}.bg-blue-gray-500\/20{background-color:#607d8b33}.bg-blue-gray-500\/80{background-color:#607d8bcc}.bg-brown-500{--tw-bg-opacity: 1;background-color:rgb(121 85 72 / var(--tw-bg-opacity))}.bg-brown-500\/10{background-color:#7955481a}.bg-brown-500\/20{background-color:#79554833}.bg-citrusPunch-500{--tw-bg-opacity: 1;background-color:rgb(255 214 51 / var(--tw-bg-opacity))}.bg-citrusPunch-600\/80{background-color:#e6bd00cc}.bg-copperRust-500{--tw-bg-opacity: 1;background-color:rgb(141 77 85 / var(--tw-bg-opacity))}.bg-copperRust-600\/80{background-color:#7a444bcc}.bg-current{background-color:currentColor}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity))}.bg-cyan-500\/10{background-color:#00bcd41a}.bg-cyan-500\/20{background-color:#00bcd433}.bg-cyan-900\/30{background-color:#0060644d}.bg-deep-orange-500{--tw-bg-opacity: 1;background-color:rgb(255 87 34 / var(--tw-bg-opacity))}.bg-deep-orange-500\/10{background-color:#ff57221a}.bg-deep-orange-500\/20{background-color:#ff572233}.bg-deep-purple-500{--tw-bg-opacity: 1;background-color:rgb(103 58 183 / var(--tw-bg-opacity))}.bg-deep-purple-500\/10{background-color:#673ab71a}.bg-deep-purple-500\/20{background-color:#673ab733}.bg-emeraldMist-500{--tw-bg-opacity: 1;background-color:rgb(63 181 134 / var(--tw-bg-opacity))}.bg-emeraldMist-500\/80{background-color:#3fb586cc}.bg-gray-300{--tw-bg-opacity: 1;background-color:rgb(224 224 224 / var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(158 158 158 / var(--tw-bg-opacity))}.bg-gray-800\/60{background-color:#42424299}.bg-gray-800\/70{background-color:#424242b3}.bg-gray-800\/80{background-color:#424242cc}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity))}.bg-gray-900\/10{background-color:#2121211a}.bg-gray-900\/40{background-color:#21212166}.bg-gray-900\/75{background-color:#212121bf}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/20{background-color:#22c55e33}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(63 81 181 / var(--tw-bg-opacity))}.bg-indigo-500\/10{background-color:#3f51b51a}.bg-indigo-500\/20{background-color:#3f51b533}.bg-indigo-600\/80{background-color:#3949abcc}.bg-lavenderSmoke-500{--tw-bg-opacity: 1;background-color:rgb(150 112 184 / var(--tw-bg-opacity))}.bg-lavenderSmoke-600\/80{background-color:#7a5894cc}.bg-light-blue-500{--tw-bg-opacity: 1;background-color:rgb(3 169 244 / var(--tw-bg-opacity))}.bg-light-blue-500\/10{background-color:#03a9f41a}.bg-light-blue-500\/20{background-color:#03a9f433}.bg-light-green-500{--tw-bg-opacity: 1;background-color:rgb(139 195 74 / var(--tw-bg-opacity))}.bg-light-green-500\/10{background-color:#8bc34a1a}.bg-light-green-500\/20{background-color:#8bc34a33}.bg-lime-500{--tw-bg-opacity: 1;background-color:rgb(205 220 57 / var(--tw-bg-opacity))}.bg-lime-500\/10{background-color:#cddc391a}.bg-lime-500\/20{background-color:#cddc3933}.bg-mintTea-400{--tw-bg-opacity: 1;background-color:rgb(102 207 201 / var(--tw-bg-opacity))}.bg-mossGreen-400{--tw-bg-opacity: 1;background-color:rgb(140 197 111 / var(--tw-bg-opacity))}.bg-mossGreen-500{--tw-bg-opacity: 1;background-color:rgb(96 178 64 / var(--tw-bg-opacity))}.bg-mossGreen-600{--tw-bg-opacity: 1;background-color:rgb(77 143 51 / var(--tw-bg-opacity))}.bg-mossGreen-800{--tw-bg-opacity: 1;background-color:rgb(42 73 29 / var(--tw-bg-opacity))}.bg-mossGreen-900\/90{background-color:#1c3012e6}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.bg-orange-500\/10{background-color:#f973161a}.bg-orange-500\/20{background-color:#f9731633}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(233 30 99 / var(--tw-bg-opacity))}.bg-pink-500\/10{background-color:#e91e631a}.bg-pink-500\/20{background-color:#e91e6333}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(156 39 176 / var(--tw-bg-opacity))}.bg-purple-500\/10{background-color:#9c27b01a}.bg-purple-500\/20{background-color:#9c27b033}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(255 235 238 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(244 67 54 / var(--tw-bg-opacity))}.bg-red-500\/10{background-color:#f443361a}.bg-red-500\/20{background-color:#f4433633}.bg-roseQuartz-500{--tw-bg-opacity: 1;background-color:rgb(212 91 137 / var(--tw-bg-opacity))}.bg-stormGrey-200\/20{background-color:#d9dce233}.bg-stormGrey-700{--tw-bg-opacity: 1;background-color:rgb(62 68 86 / var(--tw-bg-opacity))}.bg-stormGrey-700\/60{background-color:#3e445699}.bg-sunsetCoral-400{--tw-bg-opacity: 1;background-color:rgb(255 145 137 / var(--tw-bg-opacity))}.bg-sunsetCoral-500{--tw-bg-opacity: 1;background-color:rgb(255 106 93 / var(--tw-bg-opacity))}.bg-sunsetCoral-600{--tw-bg-opacity: 1;background-color:rgb(230 80 72 / var(--tw-bg-opacity))}.bg-sunsetCoral-600\/80{background-color:#e65048cc}.bg-sunsetCoral-900\/20{background-color:#5c1c1a33}.bg-sunsetCoral-900\/40{background-color:#5c1c1a66}.bg-sunsetCoral-900\/90{background-color:#5c1c1ae6}.bg-teal-500{--tw-bg-opacity: 1;background-color:rgb(0 150 136 / var(--tw-bg-opacity))}.bg-teal-500\/10{background-color:#0096881a}.bg-teal-500\/20{background-color:#00968833}.bg-transparent{background-color:transparent}.bg-warmAmberGlow-400{--tw-bg-opacity: 1;background-color:rgb(255 173 77 / var(--tw-bg-opacity))}.bg-warmAmberGlow-700{--tw-bg-opacity: 1;background-color:rgb(179 90 0 / var(--tw-bg-opacity))}.bg-warmAmberGlow-900\/90{background-color:#4d2600e6}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/50{background-color:#ffffff80}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(255 235 59 / var(--tw-bg-opacity))}.bg-yellow-500\/10{background-color:#ffeb3b1a}.bg-yellow-500\/20{background-color:#ffeb3b33}.bg-opacity-60{--tw-bg-opacity: .6}.bg-opacity-80{--tw-bg-opacity: .8}.bg-\[url\(\'\/img\/background-image\.png\'\)\]{background-image:url(/img/background-image.png)}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-tr{background-image:linear-gradient(to top right,var(--tw-gradient-stops))}.from-amber-600{--tw-gradient-from: #ffb300 var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 179 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black{--tw-gradient-from: #000000 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-600{--tw-gradient-from: #1e88e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(30 136 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-gray-600{--tw-gradient-from: #546e7a var(--tw-gradient-from-position);--tw-gradient-to: rgb(84 110 122 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-blue-gray-800{--tw-gradient-from: #37474f var(--tw-gradient-from-position);--tw-gradient-to: rgb(55 71 79 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-brown-600{--tw-gradient-from: #6d4c41 var(--tw-gradient-from-position);--tw-gradient-to: rgb(109 76 65 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-600{--tw-gradient-from: #00acc1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 172 193 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-deep-orange-600{--tw-gradient-from: #f4511e var(--tw-gradient-from-position);--tw-gradient-to: rgb(244 81 30 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-deep-purple-600{--tw-gradient-from: #5e35b1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(94 53 177 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-600{--tw-gradient-from: #757575 var(--tw-gradient-from-position);--tw-gradient-to: rgb(117 117 117 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-800{--tw-gradient-from: #424242 var(--tw-gradient-from-position);--tw-gradient-to: rgb(66 66 66 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from: #212121 var(--tw-gradient-from-position);--tw-gradient-to: rgb(33 33 33 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-400{--tw-gradient-from: #4ade80 var(--tw-gradient-from-position);--tw-gradient-to: rgb(74 222 128 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-green-600{--tw-gradient-from: #16a34a var(--tw-gradient-from-position);--tw-gradient-to: rgb(22 163 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-indigo-600{--tw-gradient-from: #3949ab var(--tw-gradient-from-position);--tw-gradient-to: rgb(57 73 171 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-light-blue-600{--tw-gradient-from: #039be5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(3 155 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-light-green-600{--tw-gradient-from: #7cb342 var(--tw-gradient-from-position);--tw-gradient-to: rgb(124 179 66 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime-600{--tw-gradient-from: #c0ca33 var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 202 51 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-400{--tw-gradient-from: #fb923c var(--tw-gradient-from-position);--tw-gradient-to: rgb(251 146 60 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-orange-600{--tw-gradient-from: #ea580c var(--tw-gradient-from-position);--tw-gradient-to: rgb(234 88 12 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-400{--tw-gradient-from: #ec407a var(--tw-gradient-from-position);--tw-gradient-to: rgb(236 64 122 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-pink-600{--tw-gradient-from: #d81b60 var(--tw-gradient-from-position);--tw-gradient-to: rgb(216 27 96 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-600{--tw-gradient-from: #8e24aa var(--tw-gradient-from-position);--tw-gradient-to: rgb(142 36 170 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-400{--tw-gradient-from: #ef5350 var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 83 80 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-600{--tw-gradient-from: #e53935 var(--tw-gradient-from-position);--tw-gradient-to: rgb(229 57 53 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-teal-600{--tw-gradient-from: #00897b var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 137 123 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-yellow-600{--tw-gradient-from: #fdd835 var(--tw-gradient-from-position);--tw-gradient-to: rgb(253 216 53 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-amber-400{--tw-gradient-to: #ffca28 var(--tw-gradient-to-position)}.to-black{--tw-gradient-to: #000000 var(--tw-gradient-to-position)}.to-blue-400{--tw-gradient-to: #42a5f5 var(--tw-gradient-to-position)}.to-blue-gray-400{--tw-gradient-to: #78909c var(--tw-gradient-to-position)}.to-blue-gray-900{--tw-gradient-to: #263238 var(--tw-gradient-to-position)}.to-brown-400{--tw-gradient-to: #8d6e63 var(--tw-gradient-to-position)}.to-cyan-400{--tw-gradient-to: #26c6da var(--tw-gradient-to-position)}.to-deep-orange-400{--tw-gradient-to: #ff7043 var(--tw-gradient-to-position)}.to-deep-purple-400{--tw-gradient-to: #7e57c2 var(--tw-gradient-to-position)}.to-gray-400{--tw-gradient-to: #bdbdbd var(--tw-gradient-to-position)}.to-gray-800{--tw-gradient-to: #424242 var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to: #212121 var(--tw-gradient-to-position)}.to-green-400{--tw-gradient-to: #4ade80 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to: #16a34a var(--tw-gradient-to-position)}.to-indigo-400{--tw-gradient-to: #5c6bc0 var(--tw-gradient-to-position)}.to-light-blue-400{--tw-gradient-to: #29b6f6 var(--tw-gradient-to-position)}.to-light-green-400{--tw-gradient-to: #9ccc65 var(--tw-gradient-to-position)}.to-lime-400{--tw-gradient-to: #d4e157 var(--tw-gradient-to-position)}.to-orange-400{--tw-gradient-to: #fb923c var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-pink-400{--tw-gradient-to: #ec407a var(--tw-gradient-to-position)}.to-pink-600{--tw-gradient-to: #d81b60 var(--tw-gradient-to-position)}.to-purple-400{--tw-gradient-to: #ab47bc var(--tw-gradient-to-position)}.to-red-400{--tw-gradient-to: #ef5350 var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to: #e53935 var(--tw-gradient-to-position)}.to-teal-400{--tw-gradient-to: #26a69a var(--tw-gradient-to-position)}.to-yellow-400{--tw-gradient-to: #ffee58 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-clip-border{background-clip:border-box}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-cover{-o-object-fit:cover;object-fit:cover}.object-center{-o-object-position:center;object-position:center}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.px-8{padding-left:2rem;padding-right:2rem}.px-px{padding-left:1px;padding-right:1px}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.\!pr-7{padding-right:1.75rem!important}.\!pr-9{padding-right:2.25rem!important}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-6{padding-bottom:1.5rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.pt-\[9px\]{padding-top:9px}.pt-px{padding-top:1px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-start{text-align:start}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-sans{font-family:Roboto,sans-serif}.\!text-\[11px\]{font-size:11px!important}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.\!leading-tight{line-height:1.25!important}.leading-5{line-height:1.25rem}.leading-\[1\.3\]{line-height:1.3}.leading-\[3\.75\]{line-height:3.75}.leading-\[4\.1\]{line-height:4.1}.leading-\[4\.25\]{line-height:4.25}.leading-\[4\.875\]{line-height:4.875}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-normal{letter-spacing:0em}.tracking-wide{letter-spacing:.025em}.\!text-black{--tw-text-opacity: 1 !important;color:rgb(0 0 0 / var(--tw-text-opacity))!important}.\!text-white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity))!important}.text-amber-200{--tw-text-opacity: 1;color:rgb(255 224 130 / var(--tw-text-opacity))}.text-amber-500{--tw-text-opacity: 1;color:rgb(255 193 7 / var(--tw-text-opacity))}.text-amber-700{--tw-text-opacity: 1;color:rgb(255 160 0 / var(--tw-text-opacity))}.text-amber-800{--tw-text-opacity: 1;color:rgb(255 143 0 / var(--tw-text-opacity))}.text-amber-900{--tw-text-opacity: 1;color:rgb(255 111 0 / var(--tw-text-opacity))}.text-arcticBlue-100{--tw-text-opacity: 1;color:rgb(230 243 251 / var(--tw-text-opacity))}.text-arcticBlue-400{--tw-text-opacity: 1;color:rgb(102 182 231 / var(--tw-text-opacity))}.text-arcticBlue-500{--tw-text-opacity: 1;color:rgb(51 158 222 / var(--tw-text-opacity))}.text-arcticBlue-700{--tw-text-opacity: 1;color:rgb(22 105 155 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-blue-300{--tw-text-opacity: 1;color:rgb(100 181 246 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(33 150 243 / var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity: 1;color:rgb(30 136 229 / var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgb(25 118 210 / var(--tw-text-opacity))}.text-blue-900{--tw-text-opacity: 1;color:rgb(13 71 161 / var(--tw-text-opacity))}.text-blue-gray-200{--tw-text-opacity: 1;color:rgb(176 190 197 / var(--tw-text-opacity))}.text-blue-gray-300{--tw-text-opacity: 1;color:rgb(144 164 174 / var(--tw-text-opacity))}.text-blue-gray-400{--tw-text-opacity: 1;color:rgb(120 144 156 / var(--tw-text-opacity))}.text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.text-blue-gray-600{--tw-text-opacity: 1;color:rgb(84 110 122 / var(--tw-text-opacity))}.text-blue-gray-700{--tw-text-opacity: 1;color:rgb(69 90 100 / var(--tw-text-opacity))}.text-blue-gray-800{--tw-text-opacity: 1;color:rgb(55 71 79 / var(--tw-text-opacity))}.text-blue-gray-900{--tw-text-opacity: 1;color:rgb(38 50 56 / var(--tw-text-opacity))}.text-brown-500{--tw-text-opacity: 1;color:rgb(121 85 72 / var(--tw-text-opacity))}.text-brown-700{--tw-text-opacity: 1;color:rgb(93 64 55 / var(--tw-text-opacity))}.text-brown-900{--tw-text-opacity: 1;color:rgb(62 39 35 / var(--tw-text-opacity))}.text-current{color:currentColor}.text-cyan-500{--tw-text-opacity: 1;color:rgb(0 188 212 / var(--tw-text-opacity))}.text-cyan-700{--tw-text-opacity: 1;color:rgb(0 151 167 / var(--tw-text-opacity))}.text-cyan-900{--tw-text-opacity: 1;color:rgb(0 96 100 / var(--tw-text-opacity))}.text-deep-orange-500{--tw-text-opacity: 1;color:rgb(255 87 34 / var(--tw-text-opacity))}.text-deep-orange-700{--tw-text-opacity: 1;color:rgb(230 74 25 / var(--tw-text-opacity))}.text-deep-orange-900{--tw-text-opacity: 1;color:rgb(191 54 12 / var(--tw-text-opacity))}.text-deep-purple-500{--tw-text-opacity: 1;color:rgb(103 58 183 / var(--tw-text-opacity))}.text-deep-purple-700{--tw-text-opacity: 1;color:rgb(81 45 168 / var(--tw-text-opacity))}.text-deep-purple-900{--tw-text-opacity: 1;color:rgb(49 27 146 / var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.text-gray-200{--tw-text-opacity: 1;color:rgb(238 238 238 / var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity: 1;color:rgb(224 224 224 / var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity: 1;color:rgb(189 189 189 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(158 158 158 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(97 97 97 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(33 33 33 / var(--tw-text-opacity))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.text-green-900{--tw-text-opacity: 1;color:rgb(20 83 45 / var(--tw-text-opacity))}.text-indigo-500{--tw-text-opacity: 1;color:rgb(63 81 181 / var(--tw-text-opacity))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(48 63 159 / var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity: 1;color:rgb(26 35 126 / var(--tw-text-opacity))}.text-inherit{color:inherit}.text-lavenderSmoke-200{--tw-text-opacity: 1;color:rgb(236 226 243 / var(--tw-text-opacity))}.text-lavenderSmoke-700{--tw-text-opacity: 1;color:rgb(93 67 115 / var(--tw-text-opacity))}.text-light-blue-500{--tw-text-opacity: 1;color:rgb(3 169 244 / var(--tw-text-opacity))}.text-light-blue-700{--tw-text-opacity: 1;color:rgb(2 136 209 / var(--tw-text-opacity))}.text-light-blue-900{--tw-text-opacity: 1;color:rgb(1 87 155 / var(--tw-text-opacity))}.text-light-green-500{--tw-text-opacity: 1;color:rgb(139 195 74 / var(--tw-text-opacity))}.text-light-green-700{--tw-text-opacity: 1;color:rgb(104 159 56 / var(--tw-text-opacity))}.text-light-green-900{--tw-text-opacity: 1;color:rgb(51 105 30 / var(--tw-text-opacity))}.text-lime-500{--tw-text-opacity: 1;color:rgb(205 220 57 / var(--tw-text-opacity))}.text-lime-700{--tw-text-opacity: 1;color:rgb(175 180 43 / var(--tw-text-opacity))}.text-lime-900{--tw-text-opacity: 1;color:rgb(130 119 23 / var(--tw-text-opacity))}.text-mossGreen-100{--tw-text-opacity: 1;color:rgb(235 245 229 / var(--tw-text-opacity))}.text-mossGreen-500{--tw-text-opacity: 1;color:rgb(96 178 64 / var(--tw-text-opacity))}.text-mossGreen-600{--tw-text-opacity: 1;color:rgb(77 143 51 / var(--tw-text-opacity))}.text-mossGreen-700{--tw-text-opacity: 1;color:rgb(59 107 39 / var(--tw-text-opacity))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.text-orange-700{--tw-text-opacity: 1;color:rgb(194 65 12 / var(--tw-text-opacity))}.text-orange-900{--tw-text-opacity: 1;color:rgb(124 45 18 / var(--tw-text-opacity))}.text-pink-500{--tw-text-opacity: 1;color:rgb(233 30 99 / var(--tw-text-opacity))}.text-pink-700{--tw-text-opacity: 1;color:rgb(194 24 91 / var(--tw-text-opacity))}.text-pink-900{--tw-text-opacity: 1;color:rgb(136 14 79 / var(--tw-text-opacity))}.text-purple-500{--tw-text-opacity: 1;color:rgb(156 39 176 / var(--tw-text-opacity))}.text-purple-700{--tw-text-opacity: 1;color:rgb(123 31 162 / var(--tw-text-opacity))}.text-purple-900{--tw-text-opacity: 1;color:rgb(74 20 140 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(239 83 80 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(244 67 54 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(211 47 47 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(198 40 40 / var(--tw-text-opacity))}.text-red-900{--tw-text-opacity: 1;color:rgb(183 28 28 / var(--tw-text-opacity))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity))}.text-stormGrey-300{--tw-text-opacity: 1;color:rgb(182 187 200 / var(--tw-text-opacity))}.text-stormGrey-400{--tw-text-opacity: 1;color:rgb(139 145 164 / var(--tw-text-opacity))}.text-stormGrey-500{--tw-text-opacity: 1;color:rgb(96 103 128 / var(--tw-text-opacity))}.text-stormGrey-600{--tw-text-opacity: 1;color:rgb(79 85 107 / var(--tw-text-opacity))}.text-stormGrey-700{--tw-text-opacity: 1;color:rgb(62 68 86 / var(--tw-text-opacity))}.text-stormGrey-900{--tw-text-opacity: 1;color:rgb(27 30 41 / var(--tw-text-opacity))}.text-sunsetCoral-500{--tw-text-opacity: 1;color:rgb(255 106 93 / var(--tw-text-opacity))}.text-sunsetCoral-600{--tw-text-opacity: 1;color:rgb(230 80 72 / var(--tw-text-opacity))}.text-sunsetCoral-700{--tw-text-opacity: 1;color:rgb(185 61 56 / var(--tw-text-opacity))}.text-sunsetCoral-800{--tw-text-opacity: 1;color:rgb(138 44 40 / var(--tw-text-opacity))}.text-teal-500{--tw-text-opacity: 1;color:rgb(0 150 136 / var(--tw-text-opacity))}.text-teal-700{--tw-text-opacity: 1;color:rgb(0 121 107 / var(--tw-text-opacity))}.text-teal-900{--tw-text-opacity: 1;color:rgb(0 77 64 / var(--tw-text-opacity))}.text-transparent{color:transparent}.text-warmAmberGlow-500{--tw-text-opacity: 1;color:rgb(255 143 0 / var(--tw-text-opacity))}.text-warmAmberGlow-600{--tw-text-opacity: 1;color:rgb(230 118 0 / var(--tw-text-opacity))}.text-warmAmberGlow-700{--tw-text-opacity: 1;color:rgb(179 90 0 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/60{color:#fff9}.text-white\/80{color:#fffc}.text-yellow-500{--tw-text-opacity: 1;color:rgb(255 235 59 / var(--tw-text-opacity))}.text-yellow-700{--tw-text-opacity: 1;color:rgb(251 192 45 / var(--tw-text-opacity))}.text-yellow-900{--tw-text-opacity: 1;color:rgb(245 127 23 / var(--tw-text-opacity))}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 rgb(0, 0 / 0, 0);--tw-shadow-colored: 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-amber-500\/20{--tw-shadow-color: rgb(255 193 7 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-amber-500\/40{--tw-shadow-color: rgb(255 193 7 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/20{--tw-shadow-color: rgb(33 150 243 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-500\/40{--tw-shadow-color: rgb(33 150 243 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/10{--tw-shadow-color: rgb(96 125 139 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/20{--tw-shadow-color: rgb(96 125 139 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/25{--tw-shadow-color: rgb(96 125 139 / .25);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/40{--tw-shadow-color: rgb(96 125 139 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-500\/5{--tw-shadow-color: rgb(96 125 139 / .05);--tw-shadow: var(--tw-shadow-colored)}.shadow-blue-gray-900\/10{--tw-shadow-color: rgb(38 50 56 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-brown-500\/20{--tw-shadow-color: rgb(121 85 72 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-brown-500\/40{--tw-shadow-color: rgb(121 85 72 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/20{--tw-shadow-color: rgb(0 188 212 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-cyan-500\/40{--tw-shadow-color: rgb(0 188 212 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-deep-orange-500\/20{--tw-shadow-color: rgb(255 87 34 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-deep-orange-500\/40{--tw-shadow-color: rgb(255 87 34 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-deep-purple-500\/20{--tw-shadow-color: rgb(103 58 183 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-deep-purple-500\/40{--tw-shadow-color: rgb(103 58 183 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-gray-900\/10{--tw-shadow-color: rgb(33 33 33 / .1);--tw-shadow: var(--tw-shadow-colored)}.shadow-gray-900\/20{--tw-shadow-color: rgb(33 33 33 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/20{--tw-shadow-color: rgb(34 197 94 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-green-500\/40{--tw-shadow-color: rgb(34 197 94 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-500\/20{--tw-shadow-color: rgb(63 81 181 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-indigo-500\/40{--tw-shadow-color: rgb(63 81 181 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-light-blue-500\/20{--tw-shadow-color: rgb(3 169 244 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-light-blue-500\/40{--tw-shadow-color: rgb(3 169 244 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-light-green-500\/20{--tw-shadow-color: rgb(139 195 74 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-light-green-500\/40{--tw-shadow-color: rgb(139 195 74 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/20{--tw-shadow-color: rgb(205 220 57 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-lime-500\/40{--tw-shadow-color: rgb(205 220 57 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/20{--tw-shadow-color: rgb(249 115 22 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-orange-500\/40{--tw-shadow-color: rgb(249 115 22 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/20{--tw-shadow-color: rgb(233 30 99 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-pink-500\/40{--tw-shadow-color: rgb(233 30 99 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/20{--tw-shadow-color: rgb(156 39 176 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-purple-500\/40{--tw-shadow-color: rgb(156 39 176 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/20{--tw-shadow-color: rgb(244 67 54 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-red-500\/40{--tw-shadow-color: rgb(244 67 54 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/20{--tw-shadow-color: rgb(0 150 136 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-teal-500\/40{--tw-shadow-color: rgb(0 150 136 / .4);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/20{--tw-shadow-color: rgb(255 235 59 / .2);--tw-shadow: var(--tw-shadow-colored)}.shadow-yellow-500\/40{--tw-shadow-color: rgb(255 235 59 / .4);--tw-shadow: var(--tw-shadow-colored)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-0{outline-width:0px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-purple-500\/40{--tw-ring-color: rgb(156 39 176 / .4)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-2xl{--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-saturate-200{--tw-backdrop-saturate: saturate(2);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.content-\[\'\'\]{--tw-content: "";content:var(--tw-content)}.\[-webkit-appearance\:none\]{-webkit-appearance:none}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-md::file-selector-button{border-radius:.375rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-blue-gray-50::file-selector-button{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-semibold::file-selector-button{font-weight:600}.file\:text-blue-gray-700::file-selector-button{--tw-text-opacity: 1;color:rgb(69 90 100 / var(--tw-text-opacity))}.before\:pointer-events-none:before{content:var(--tw-content);pointer-events:none}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:left-2\/4:before{content:var(--tw-content);left:50%}.before\:top-2\/4:before{content:var(--tw-content);top:50%}.before\:mr-1:before{content:var(--tw-content);margin-right:.25rem}.before\:mt-\[6\.5px\]:before{content:var(--tw-content);margin-top:6.5px}.before\:box-border:before{content:var(--tw-content);box-sizing:border-box}.before\:block:before{content:var(--tw-content);display:block}.before\:h-1:before{content:var(--tw-content);height:.25rem}.before\:h-1\.5:before{content:var(--tw-content);height:.375rem}.before\:h-10:before{content:var(--tw-content);height:2.5rem}.before\:h-12:before{content:var(--tw-content);height:3rem}.before\:w-10:before{content:var(--tw-content);width:2.5rem}.before\:w-12:before{content:var(--tw-content);width:3rem}.before\:w-2:before{content:var(--tw-content);width:.5rem}.before\:w-2\.5:before{content:var(--tw-content);width:.625rem}.before\:-translate-x-2\/4:before{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:-translate-y-2\/4:before{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:rounded-tl-md:before{content:var(--tw-content);border-top-left-radius:.375rem}.before\:border-l:before{content:var(--tw-content);border-left-width:1px}.before\:border-l-2:before{content:var(--tw-content);border-left-width:2px}.before\:border-t:before{content:var(--tw-content);border-top-width:1px}.before\:border-t-2:before{content:var(--tw-content);border-top-width:2px}.before\:\!border-blue-gray-200:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(176 190 197 / var(--tw-border-opacity))!important}.before\:border-amber-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.before\:border-black:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.before\:border-blue-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.before\:border-blue-gray-200:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.before\:border-blue-gray-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.before\:border-brown-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.before\:border-cyan-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.before\:border-deep-orange-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.before\:border-deep-purple-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.before\:border-gray-900:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.before\:border-green-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.before\:border-indigo-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.before\:border-light-blue-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.before\:border-light-green-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.before\:border-lime-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.before\:border-orange-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.before\:border-pink-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.before\:border-purple-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.before\:border-red-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.before\:border-teal-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.before\:border-transparent:before{content:var(--tw-content);border-color:transparent}.before\:border-white:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.before\:border-yellow-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.before\:border-l-transparent:before{content:var(--tw-content);border-left-color:transparent}.before\:border-t-transparent:before{content:var(--tw-content);border-top-color:transparent}.before\:bg-blue-gray-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.before\:opacity-0:before{content:var(--tw-content);opacity:0}.before\:transition-all:before{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.before\:content-none:before{--tw-content: none;content:var(--tw-content)}.after\:pointer-events-none:after{content:var(--tw-content);pointer-events:none}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-bottom-0:after{content:var(--tw-content);bottom:-0px}.after\:-bottom-1:after{content:var(--tw-content);bottom:-.25rem}.after\:-bottom-1\.5:after{content:var(--tw-content);bottom:-.375rem}.after\:-bottom-2:after{content:var(--tw-content);bottom:-.5rem}.after\:-bottom-2\.5:after{content:var(--tw-content);bottom:-.625rem}.after\:-bottom-6:after{content:var(--tw-content);bottom:-1.5rem}.after\:left-2\/4:after{content:var(--tw-content);left:50%}.after\:ml-1:after{content:var(--tw-content);margin-left:.25rem}.after\:mt-\[6\.5px\]:after{content:var(--tw-content);margin-top:6.5px}.after\:box-border:after{content:var(--tw-content);box-sizing:border-box}.after\:block:after{content:var(--tw-content);display:block}.after\:h-0:after{content:var(--tw-content);height:0px}.after\:h-1:after{content:var(--tw-content);height:.25rem}.after\:h-1\.5:after{content:var(--tw-content);height:.375rem}.after\:h-4\/6:after{content:var(--tw-content);height:66.666667%}.after\:w-0:after{content:var(--tw-content);width:0px}.after\:w-0\.5:after{content:var(--tw-content);width:.125rem}.after\:w-2:after{content:var(--tw-content);width:.5rem}.after\:w-2\.5:after{content:var(--tw-content);width:.625rem}.after\:w-full:after{content:var(--tw-content);width:100%}.after\:flex-grow:after{content:var(--tw-content);flex-grow:1}.after\:-translate-x-2\/4:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:scale-x-0:after{content:var(--tw-content);--tw-scale-x: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:scale-x-100:after{content:var(--tw-content);--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:rounded-tr-md:after{content:var(--tw-content);border-top-right-radius:.375rem}.after\:border-b-2:after{content:var(--tw-content);border-bottom-width:2px}.after\:border-r:after{content:var(--tw-content);border-right-width:1px}.after\:border-r-2:after{content:var(--tw-content);border-right-width:2px}.after\:border-t:after{content:var(--tw-content);border-top-width:1px}.after\:border-t-2:after{content:var(--tw-content);border-top-width:2px}.after\:\!border-blue-gray-200:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(176 190 197 / var(--tw-border-opacity))!important}.after\:border-amber-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.after\:border-black:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.after\:border-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.after\:border-blue-gray-200:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.after\:border-blue-gray-50:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(236 239 241 / var(--tw-border-opacity))}.after\:border-blue-gray-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.after\:border-brown-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.after\:border-cyan-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.after\:border-deep-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.after\:border-deep-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.after\:border-gray-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(158 158 158 / var(--tw-border-opacity))}.after\:border-gray-900:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.after\:border-green-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.after\:border-indigo-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.after\:border-light-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.after\:border-light-green-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.after\:border-lime-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.after\:border-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.after\:border-pink-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.after\:border-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.after\:border-red-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.after\:border-teal-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.after\:border-transparent:after{content:var(--tw-content);border-color:transparent}.after\:border-white:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.after\:border-yellow-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.after\:border-r-transparent:after{content:var(--tw-content);border-right-color:transparent}.after\:border-t-transparent:after{content:var(--tw-content);border-top-color:transparent}.after\:bg-blue-gray-50:after{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.after\:transition-all:after{content:var(--tw-content);transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:transition-transform:after{content:var(--tw-content);transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.after\:duration-300:after{content:var(--tw-content);transition-duration:.3s}.after\:content-\[\'\'\]:after{--tw-content: "";content:var(--tw-content)}.after\:content-none:after{--tw-content: none;content:var(--tw-content)}.last\:mb-0:last-child{margin-bottom:0}.checked\:border-amber-500:checked{--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.checked\:border-blue-500:checked{--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.checked\:border-blue-gray-500:checked{--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.checked\:border-brown-500:checked{--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.checked\:border-cyan-500:checked{--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.checked\:border-deep-orange-500:checked{--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.checked\:border-deep-purple-500:checked{--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.checked\:border-gray-900:checked{--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.checked\:border-green-500:checked{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.checked\:border-indigo-500:checked{--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.checked\:border-light-blue-500:checked{--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.checked\:border-light-green-500:checked{--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.checked\:border-lime-500:checked{--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.checked\:border-orange-500:checked{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.checked\:border-pink-500:checked{--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.checked\:border-purple-500:checked{--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.checked\:border-red-500:checked{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.checked\:border-teal-500:checked{--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.checked\:border-yellow-500:checked{--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.checked\:bg-amber-500:checked{--tw-bg-opacity: 1;background-color:rgb(255 193 7 / var(--tw-bg-opacity))}.checked\:bg-blue-500:checked{--tw-bg-opacity: 1;background-color:rgb(33 150 243 / var(--tw-bg-opacity))}.checked\:bg-blue-gray-500:checked{--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.checked\:bg-brown-500:checked{--tw-bg-opacity: 1;background-color:rgb(121 85 72 / var(--tw-bg-opacity))}.checked\:bg-cyan-500:checked{--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity))}.checked\:bg-deep-orange-500:checked{--tw-bg-opacity: 1;background-color:rgb(255 87 34 / var(--tw-bg-opacity))}.checked\:bg-deep-purple-500:checked{--tw-bg-opacity: 1;background-color:rgb(103 58 183 / var(--tw-bg-opacity))}.checked\:bg-gray-900:checked{--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity))}.checked\:bg-green-500:checked{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.checked\:bg-indigo-500:checked{--tw-bg-opacity: 1;background-color:rgb(63 81 181 / var(--tw-bg-opacity))}.checked\:bg-light-blue-500:checked{--tw-bg-opacity: 1;background-color:rgb(3 169 244 / var(--tw-bg-opacity))}.checked\:bg-light-green-500:checked{--tw-bg-opacity: 1;background-color:rgb(139 195 74 / var(--tw-bg-opacity))}.checked\:bg-lime-500:checked{--tw-bg-opacity: 1;background-color:rgb(205 220 57 / var(--tw-bg-opacity))}.checked\:bg-orange-500:checked{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.checked\:bg-pink-500:checked{--tw-bg-opacity: 1;background-color:rgb(233 30 99 / var(--tw-bg-opacity))}.checked\:bg-purple-500:checked{--tw-bg-opacity: 1;background-color:rgb(156 39 176 / var(--tw-bg-opacity))}.checked\:bg-red-500:checked{--tw-bg-opacity: 1;background-color:rgb(244 67 54 / var(--tw-bg-opacity))}.checked\:bg-teal-500:checked{--tw-bg-opacity: 1;background-color:rgb(0 150 136 / var(--tw-bg-opacity))}.checked\:bg-yellow-500:checked{--tw-bg-opacity: 1;background-color:rgb(255 235 59 / var(--tw-bg-opacity))}.checked\:before\:bg-amber-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 193 7 / var(--tw-bg-opacity))}.checked\:before\:bg-blue-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(33 150 243 / var(--tw-bg-opacity))}.checked\:before\:bg-blue-gray-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.checked\:before\:bg-brown-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(121 85 72 / var(--tw-bg-opacity))}.checked\:before\:bg-cyan-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity))}.checked\:before\:bg-deep-orange-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 87 34 / var(--tw-bg-opacity))}.checked\:before\:bg-deep-purple-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(103 58 183 / var(--tw-bg-opacity))}.checked\:before\:bg-gray-900:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity))}.checked\:before\:bg-green-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.checked\:before\:bg-indigo-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(63 81 181 / var(--tw-bg-opacity))}.checked\:before\:bg-light-blue-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(3 169 244 / var(--tw-bg-opacity))}.checked\:before\:bg-light-green-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(139 195 74 / var(--tw-bg-opacity))}.checked\:before\:bg-lime-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(205 220 57 / var(--tw-bg-opacity))}.checked\:before\:bg-orange-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.checked\:before\:bg-pink-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(233 30 99 / var(--tw-bg-opacity))}.checked\:before\:bg-purple-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(156 39 176 / var(--tw-bg-opacity))}.checked\:before\:bg-red-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(244 67 54 / var(--tw-bg-opacity))}.checked\:before\:bg-teal-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(0 150 136 / var(--tw-bg-opacity))}.checked\:before\:bg-yellow-500:checked:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 235 59 / var(--tw-bg-opacity))}.placeholder-shown\:border:-moz-placeholder-shown{border-width:1px}.placeholder-shown\:border:placeholder-shown{border-width:1px}.placeholder-shown\:border-blue-gray-200:-moz-placeholder-shown{--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.placeholder-shown\:border-blue-gray-200:placeholder-shown{--tw-border-opacity: 1;border-color:rgb(176 190 197 / var(--tw-border-opacity))}.placeholder-shown\:border-green-500:-moz-placeholder-shown{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.placeholder-shown\:border-green-500:placeholder-shown{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.placeholder-shown\:border-red-500:-moz-placeholder-shown{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.placeholder-shown\:border-red-500:placeholder-shown{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.placeholder-shown\:border-t-blue-gray-200:-moz-placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(176 190 197 / var(--tw-border-opacity))}.placeholder-shown\:border-t-blue-gray-200:placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(176 190 197 / var(--tw-border-opacity))}.placeholder-shown\:border-t-green-500:-moz-placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(34 197 94 / var(--tw-border-opacity))}.placeholder-shown\:border-t-green-500:placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(34 197 94 / var(--tw-border-opacity))}.placeholder-shown\:border-t-red-500:-moz-placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(244 67 54 / var(--tw-border-opacity))}.placeholder-shown\:border-t-red-500:placeholder-shown{--tw-border-opacity: 1;border-top-color:rgb(244 67 54 / var(--tw-border-opacity))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-slate-800:hover{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.hover\:bg-amber-500\/10:hover{background-color:#ffc1071a}.hover\:bg-arcticBlue-600:hover{--tw-bg-opacity: 1;background-color:rgb(31 134 195 / var(--tw-bg-opacity))}.hover\:bg-arcticBlue-800:hover{--tw-bg-opacity: 1;background-color:rgb(15 75 111 / var(--tw-bg-opacity))}.hover\:bg-blue-500\/10:hover{background-color:#2196f31a}.hover\:bg-blue-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.hover\:bg-blue-gray-50\/60:hover{background-color:#eceff199}.hover\:bg-blue-gray-500\/10:hover{background-color:#607d8b1a}.hover\:bg-brown-500\/10:hover{background-color:#7955481a}.hover\:bg-citrusPunch-600\/90:hover{background-color:#e6bd00e6}.hover\:bg-copperRust-600\/90:hover{background-color:#7a444be6}.hover\:bg-cyan-500\/10:hover{background-color:#00bcd41a}.hover\:bg-deep-orange-500\/10:hover{background-color:#ff57221a}.hover\:bg-deep-purple-500\/10:hover{background-color:#673ab71a}.hover\:bg-emeraldMist-500\/90:hover{background-color:#3fb586e6}.hover\:bg-gray-900\/10:hover{background-color:#2121211a}.hover\:bg-green-500\/10:hover{background-color:#22c55e1a}.hover\:bg-indigo-500\/10:hover{background-color:#3f51b51a}.hover\:bg-indigo-600\/90:hover{background-color:#3949abe6}.hover\:bg-lavenderSmoke-600\/90:hover{background-color:#7a5894e6}.hover\:bg-light-blue-500\/10:hover{background-color:#03a9f41a}.hover\:bg-light-green-500\/10:hover{background-color:#8bc34a1a}.hover\:bg-lime-500\/10:hover{background-color:#cddc391a}.hover\:bg-orange-500\/10:hover{background-color:#f973161a}.hover\:bg-pink-500\/10:hover{background-color:#e91e631a}.hover\:bg-purple-500\/10:hover{background-color:#9c27b01a}.hover\:bg-red-500\/10:hover{background-color:#f443361a}.hover\:bg-slate-800:hover{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.hover\:bg-sunsetCoral-600:hover{--tw-bg-opacity: 1;background-color:rgb(230 80 72 / var(--tw-bg-opacity))}.hover\:bg-sunsetCoral-600\/20:hover{background-color:#e6504833}.hover\:bg-sunsetCoral-600\/90:hover{background-color:#e65048e6}.hover\:bg-teal-500\/10:hover{background-color:#0096881a}.hover\:bg-transparent:hover{background-color:transparent}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-yellow-500\/10:hover{background-color:#ffeb3b1a}.hover\:bg-opacity-80:hover{--tw-bg-opacity: .8}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(21 101 192 / var(--tw-text-opacity))}.hover\:text-blue-gray-500:hover{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.hover\:text-blue-gray-900:hover{--tw-text-opacity: 1;color:rgb(38 50 56 / var(--tw-text-opacity))}.hover\:text-gray-200:hover{--tw-text-opacity: 1;color:rgb(238 238 238 / var(--tw-text-opacity))}.hover\:text-gray-900:hover{--tw-text-opacity: 1;color:rgb(33 33 33 / var(--tw-text-opacity))}.hover\:text-light-blue-500:hover{--tw-text-opacity: 1;color:rgb(3 169 244 / var(--tw-text-opacity))}.hover\:text-warmAmberGlow-600:hover{--tw-text-opacity: 1;color:rgb(230 118 0 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:text-white\/90:hover{color:#ffffffe6}.hover\:opacity-75:hover{opacity:.75}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-amber-500\/40:hover{--tw-shadow-color: rgb(255 193 7 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-blue-500\/40:hover{--tw-shadow-color: rgb(33 150 243 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-blue-gray-500\/20:hover{--tw-shadow-color: rgb(96 125 139 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-blue-gray-500\/40:hover{--tw-shadow-color: rgb(96 125 139 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-brown-500\/40:hover{--tw-shadow-color: rgb(121 85 72 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-cyan-500\/40:hover{--tw-shadow-color: rgb(0 188 212 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-deep-orange-500\/40:hover{--tw-shadow-color: rgb(255 87 34 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-deep-purple-500\/40:hover{--tw-shadow-color: rgb(103 58 183 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-gray-900\/20:hover{--tw-shadow-color: rgb(33 33 33 / .2);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-green-500\/40:hover{--tw-shadow-color: rgb(34 197 94 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-indigo-500\/40:hover{--tw-shadow-color: rgb(63 81 181 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-light-blue-500\/40:hover{--tw-shadow-color: rgb(3 169 244 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-light-green-500\/40:hover{--tw-shadow-color: rgb(139 195 74 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-lime-500\/40:hover{--tw-shadow-color: rgb(205 220 57 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-orange-500\/40:hover{--tw-shadow-color: rgb(249 115 22 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-pink-500\/40:hover{--tw-shadow-color: rgb(233 30 99 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-purple-500\/40:hover{--tw-shadow-color: rgb(156 39 176 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-red-500\/40:hover{--tw-shadow-color: rgb(244 67 54 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-teal-500\/40:hover{--tw-shadow-color: rgb(0 150 136 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-yellow-500\/40:hover{--tw-shadow-color: rgb(255 235 59 / .4);--tw-shadow: var(--tw-shadow-colored)}.hover\:file\:bg-blue-gray-100::file-selector-button:hover{--tw-bg-opacity: 1;background-color:rgb(207 216 220 / var(--tw-bg-opacity))}.hover\:before\:opacity-0:hover:before{content:var(--tw-content);opacity:0}.hover\:before\:opacity-10:hover:before{content:var(--tw-content);opacity:.1}.focus\:scale-110:focus{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.focus\:border-2:focus{border-width:2px}.focus\:border-amber-500:focus{--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.focus\:border-black:focus{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.focus\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.focus\:border-blue-gray-500:focus{--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.focus\:border-blue-gray-900:focus{--tw-border-opacity: 1;border-color:rgb(38 50 56 / var(--tw-border-opacity))}.focus\:border-brown-500:focus{--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.focus\:border-cyan-500:focus{--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.focus\:border-deep-orange-500:focus{--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.focus\:border-deep-purple-500:focus{--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.focus\:border-gray-500:focus{--tw-border-opacity: 1;border-color:rgb(158 158 158 / var(--tw-border-opacity))}.focus\:border-gray-900:focus{--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.focus\:border-green-500:focus{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.focus\:border-light-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.focus\:border-light-green-500:focus{--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.focus\:border-lime-500:focus{--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.focus\:border-orange-500:focus{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.focus\:border-pink-500:focus{--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.focus\:border-purple-500:focus{--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.focus\:border-red-500:focus{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.focus\:border-slate-800:focus{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.focus\:border-teal-500:focus{--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.focus\:border-white:focus{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.focus\:border-yellow-500:focus{--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.focus\:\!border-t-gray-900:focus{--tw-border-opacity: 1 !important;border-top-color:rgb(33 33 33 / var(--tw-border-opacity))!important}.focus\:border-t-transparent:focus{border-top-color:transparent}.focus\:bg-blue-gray-50:focus{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.focus\:bg-slate-800:focus{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.focus\:bg-transparent:focus{background-color:transparent}.focus\:bg-opacity-80:focus{--tw-bg-opacity: .8}.focus\:text-blue-gray-500:focus{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.focus\:text-blue-gray-900:focus{--tw-text-opacity: 1;color:rgb(38 50 56 / var(--tw-text-opacity))}.focus\:text-white:focus{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.focus\:opacity-\[0\.85\]:focus{opacity:.85}.focus\:shadow-none:focus{--tw-shadow: 0 0 rgb(0, 0 / 0, 0);--tw-shadow-colored: 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:outline-0:focus{outline-width:0px}.focus\:ring:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-amber-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 224 130 / var(--tw-ring-opacity))}.focus\:ring-arcticBlue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(153 206 239 / var(--tw-ring-opacity))}.focus\:ring-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(144 202 249 / var(--tw-ring-opacity))}.focus\:ring-blue-gray-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(176 190 197 / var(--tw-ring-opacity))}.focus\:ring-brown-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(188 170 164 / var(--tw-ring-opacity))}.focus\:ring-citrusPunch-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 224 102 / var(--tw-ring-opacity))}.focus\:ring-copperRust-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(178 138 134 / var(--tw-ring-opacity))}.focus\:ring-cyan-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(128 222 234 / var(--tw-ring-opacity))}.focus\:ring-deep-orange-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 171 145 / var(--tw-ring-opacity))}.focus\:ring-deep-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(179 157 219 / var(--tw-ring-opacity))}.focus\:ring-emeraldMist-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(110 200 163 / var(--tw-ring-opacity))}.focus\:ring-gray-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(224 224 224 / var(--tw-ring-opacity))}.focus\:ring-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(187 247 208 / var(--tw-ring-opacity))}.focus\:ring-indigo-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(159 168 218 / var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(92 107 192 / var(--tw-ring-opacity))}.focus\:ring-lavenderSmoke-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(184 138 207 / var(--tw-ring-opacity))}.focus\:ring-light-blue-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(129 212 250 / var(--tw-ring-opacity))}.focus\:ring-light-green-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(197 225 165 / var(--tw-ring-opacity))}.focus\:ring-lime-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(230 238 156 / var(--tw-ring-opacity))}.focus\:ring-orange-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(254 215 170 / var(--tw-ring-opacity))}.focus\:ring-pink-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(244 143 177 / var(--tw-ring-opacity))}.focus\:ring-purple-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(206 147 216 / var(--tw-ring-opacity))}.focus\:ring-purple-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(171 71 188 / var(--tw-ring-opacity))}.focus\:ring-red-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 154 154 / var(--tw-ring-opacity))}.focus\:ring-sunsetCoral-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 145 137 / var(--tw-ring-opacity))}.focus\:ring-teal-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(128 203 196 / var(--tw-ring-opacity))}.focus\:ring-white\/50:focus{--tw-ring-color: rgb(255 255 255 / .5)}.focus\:ring-yellow-200:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(255 245 157 / var(--tw-ring-opacity))}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(33 150 243 / var(--tw-ring-opacity))}.active\:scale-100:active{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:border-slate-800:active{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.active\:bg-amber-500\/30:active{background-color:#ffc1074d}.active\:bg-blue-500\/30:active{background-color:#2196f34d}.active\:bg-blue-gray-50:active{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.active\:bg-blue-gray-500\/30:active{background-color:#607d8b4d}.active\:bg-brown-500\/30:active{background-color:#7955484d}.active\:bg-cyan-500\/30:active{background-color:#00bcd44d}.active\:bg-deep-orange-500\/30:active{background-color:#ff57224d}.active\:bg-deep-purple-500\/30:active{background-color:#673ab74d}.active\:bg-gray-900\/20:active{background-color:#21212133}.active\:bg-green-500\/30:active{background-color:#22c55e4d}.active\:bg-indigo-500\/30:active{background-color:#3f51b54d}.active\:bg-light-blue-500\/30:active{background-color:#03a9f44d}.active\:bg-light-green-500\/30:active{background-color:#8bc34a4d}.active\:bg-lime-500\/30:active{background-color:#cddc394d}.active\:bg-orange-500\/30:active{background-color:#f973164d}.active\:bg-pink-500\/30:active{background-color:#e91e634d}.active\:bg-purple-500\/30:active{background-color:#9c27b04d}.active\:bg-red-500\/30:active{background-color:#f443364d}.active\:bg-slate-800:active{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.active\:bg-teal-500\/30:active{background-color:#0096884d}.active\:bg-transparent:active{background-color:transparent}.active\:bg-white\/30:active{background-color:#ffffff4d}.active\:bg-yellow-500\/30:active{background-color:#ffeb3b4d}.active\:bg-opacity-80:active{--tw-bg-opacity: .8}.active\:text-blue-gray-500:active{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.active\:text-blue-gray-900:active{--tw-text-opacity: 1;color:rgb(38 50 56 / var(--tw-text-opacity))}.active\:text-white:active{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.active\:opacity-\[0\.85\]:active{opacity:.85}.active\:shadow-none:active{--tw-shadow: 0 0 rgb(0, 0 / 0, 0);--tw-shadow-colored: 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:resize-none:disabled{resize:none}.disabled\:border-0:disabled{border-width:0px}.disabled\:bg-blue-gray-50:disabled{--tw-bg-opacity: 1;background-color:rgb(236 239 241 / var(--tw-bg-opacity))}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:shadow-none:disabled{--tw-shadow: 0 0 rgb(0, 0 / 0, 0);--tw-shadow-colored: 0 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.peer:checked~.peer-checked\:translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:checked~.peer-checked\:border-amber-500{--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-blue-500{--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-blue-gray-500{--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-brown-500{--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-cyan-500{--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-deep-orange-500{--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-deep-purple-500{--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-gray-900{--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-indigo-500{--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-light-blue-500{--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-light-green-500{--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-lime-500{--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-orange-500{--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-pink-500{--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-purple-500{--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-red-500{--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-teal-500{--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:border-yellow-500{--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.peer:checked~.peer-checked\:opacity-100{opacity:1}.peer:checked~.peer-checked\:before\:bg-amber-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 193 7 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-blue-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(33 150 243 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-blue-gray-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(96 125 139 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-brown-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(121 85 72 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-cyan-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(0 188 212 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-deep-orange-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 87 34 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-deep-purple-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(103 58 183 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-gray-900:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(33 33 33 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-green-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-indigo-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(63 81 181 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-light-blue-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(3 169 244 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-light-green-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(139 195 74 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-lime-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(205 220 57 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-orange-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-pink-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(233 30 99 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-purple-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(156 39 176 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-red-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(244 67 54 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-teal-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(0 150 136 / var(--tw-bg-opacity))}.peer:checked~.peer-checked\:before\:bg-yellow-500:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 235 59 / var(--tw-bg-opacity))}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:text-sm{font-size:.875rem;line-height:1.25rem}.peer:placeholder-shown~.peer-placeholder-shown\:text-sm{font-size:.875rem;line-height:1.25rem}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-\[3\.75\]{line-height:3.75}.peer:placeholder-shown~.peer-placeholder-shown\:leading-\[3\.75\]{line-height:3.75}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-\[4\.1\]{line-height:4.1}.peer:placeholder-shown~.peer-placeholder-shown\:leading-\[4\.1\]{line-height:4.1}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-\[4\.25\]{line-height:4.25}.peer:placeholder-shown~.peer-placeholder-shown\:leading-\[4\.25\]{line-height:4.25}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-\[4\.875\]{line-height:4.875}.peer:placeholder-shown~.peer-placeholder-shown\:leading-\[4\.875\]{line-height:4.875}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:leading-tight{line-height:1.25}.peer:placeholder-shown~.peer-placeholder-shown\:leading-tight{line-height:1.25}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.peer:placeholder-shown~.peer-placeholder-shown\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.peer:placeholder-shown~.peer-placeholder-shown\:text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:text-red-500{--tw-text-opacity: 1;color:rgb(244 67 54 / var(--tw-text-opacity))}.peer:placeholder-shown~.peer-placeholder-shown\:text-red-500{--tw-text-opacity: 1;color:rgb(244 67 54 / var(--tw-text-opacity))}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:before\:border-transparent:before{content:var(--tw-content);border-color:transparent}.peer:placeholder-shown~.peer-placeholder-shown\:before\:border-transparent:before{content:var(--tw-content);border-color:transparent}.peer:-moz-placeholder-shown~.peer-placeholder-shown\:after\:border-transparent:after{content:var(--tw-content);border-color:transparent}.peer:placeholder-shown~.peer-placeholder-shown\:after\:border-transparent:after{content:var(--tw-content);border-color:transparent}.peer:focus~.peer-focus\:text-\[11px\]{font-size:11px}.peer:focus~.peer-focus\:text-sm{font-size:.875rem;line-height:1.25rem}.peer:focus~.peer-focus\:leading-tight{line-height:1.25}.peer:focus~.peer-focus\:text-amber-500{--tw-text-opacity: 1;color:rgb(255 193 7 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-blue-500{--tw-text-opacity: 1;color:rgb(33 150 243 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-brown-500{--tw-text-opacity: 1;color:rgb(121 85 72 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-cyan-500{--tw-text-opacity: 1;color:rgb(0 188 212 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-deep-orange-500{--tw-text-opacity: 1;color:rgb(255 87 34 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-deep-purple-500{--tw-text-opacity: 1;color:rgb(103 58 183 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-gray-900{--tw-text-opacity: 1;color:rgb(33 33 33 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-indigo-500{--tw-text-opacity: 1;color:rgb(63 81 181 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-light-blue-500{--tw-text-opacity: 1;color:rgb(3 169 244 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-light-green-500{--tw-text-opacity: 1;color:rgb(139 195 74 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-lime-500{--tw-text-opacity: 1;color:rgb(205 220 57 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-pink-500{--tw-text-opacity: 1;color:rgb(233 30 99 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-purple-500{--tw-text-opacity: 1;color:rgb(156 39 176 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-red-500{--tw-text-opacity: 1;color:rgb(244 67 54 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-teal-500{--tw-text-opacity: 1;color:rgb(0 150 136 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:text-yellow-500{--tw-text-opacity: 1;color:rgb(255 235 59 / var(--tw-text-opacity))}.peer:focus~.peer-focus\:before\:border-l-2:before{content:var(--tw-content);border-left-width:2px}.peer:focus~.peer-focus\:before\:border-t-2:before{content:var(--tw-content);border-top-width:2px}.peer:focus~.peer-focus\:before\:\!border-amber-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 193 7 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-black:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 0 0 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-blue-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(33 150 243 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-blue-gray-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(96 125 139 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-brown-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(121 85 72 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-cyan-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 188 212 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-deep-orange-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 87 34 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-deep-purple-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(103 58 183 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-gray-900:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(33 33 33 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-green-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(34 197 94 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-indigo-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(63 81 181 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-light-blue-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(3 169 244 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-light-green-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(139 195 74 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-lime-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(205 220 57 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-orange-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(249 115 22 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-pink-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(233 30 99 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-purple-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(156 39 176 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-red-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(244 67 54 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-teal-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 150 136 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-white:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 255 255 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:\!border-yellow-500:before{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 235 59 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:before\:border-green-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:before\:border-red-500:before{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:scale-x-100:after{content:var(--tw-content);--tw-scale-x: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.peer:focus~.peer-focus\:after\:border-r-2:after{content:var(--tw-content);border-right-width:2px}.peer:focus~.peer-focus\:after\:border-t-2:after{content:var(--tw-content);border-top-width:2px}.peer:focus~.peer-focus\:after\:\!border-amber-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 193 7 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-black:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 0 0 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(33 150 243 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-blue-gray-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(96 125 139 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-brown-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(121 85 72 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-cyan-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 188 212 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-deep-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 87 34 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-deep-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(103 58 183 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-gray-900:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(33 33 33 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-green-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(34 197 94 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-indigo-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(63 81 181 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-light-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(3 169 244 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-light-green-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(139 195 74 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-lime-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(205 220 57 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(249 115 22 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-pink-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(233 30 99 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(156 39 176 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-red-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(244 67 54 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-teal-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(0 150 136 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-white:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 255 255 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:\!border-yellow-500:after{content:var(--tw-content);--tw-border-opacity: 1 !important;border-color:rgb(255 235 59 / var(--tw-border-opacity))!important}.peer:focus~.peer-focus\:after\:border-amber-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 193 7 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-black:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 150 243 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-blue-gray-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(96 125 139 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-brown-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(121 85 72 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-cyan-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 188 212 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-deep-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 87 34 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-deep-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(103 58 183 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-gray-900:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(33 33 33 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-green-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-indigo-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(63 81 181 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-light-blue-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(3 169 244 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-light-green-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(139 195 74 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-lime-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(205 220 57 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-orange-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(249 115 22 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-pink-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(233 30 99 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-purple-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(156 39 176 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-red-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(244 67 54 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-teal-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(0 150 136 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-white:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity))}.peer:focus~.peer-focus\:after\:border-yellow-500:after{content:var(--tw-content);--tw-border-opacity: 1;border-color:rgb(255 235 59 / var(--tw-border-opacity))}.peer:disabled~.peer-disabled\:text-blue-gray-400{--tw-text-opacity: 1;color:rgb(120 144 156 / var(--tw-text-opacity))}.peer:disabled~.peer-disabled\:text-transparent{color:transparent}.peer:disabled~.peer-disabled\:before\:border-transparent:before{content:var(--tw-content);border-color:transparent}.peer:disabled~.peer-disabled\:after\:border-transparent:after{content:var(--tw-content);border-color:transparent}.peer:disabled:-moz-placeholder-shown~.peer-disabled\:peer-placeholder-shown\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}.peer:disabled:placeholder-shown~.peer-disabled\:peer-placeholder-shown\:text-blue-gray-500{--tw-text-opacity: 1;color:rgb(96 125 139 / var(--tw-text-opacity))}@media (min-width: 540px){.sm\:w-auto{width:auto}.sm\:max-w-xs{max-width:20rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-2{gap:.5rem}.sm\:text-right{text-align:right}}@media (min-width: 720px){.md\:order-first{order:-9999}.md\:order-last{order:9999}.md\:ml-auto{margin-left:auto}.md\:mt-0{margin-top:0}.md\:w-1\/2{width:50%}.md\:w-1\/4{width:25%}.md\:w-2\/3{width:66.666667%}.md\:w-3\/4{width:75%}.md\:w-3\/5{width:60%}.md\:w-5\/6{width:83.333333%}.md\:w-auto{width:auto}.md\:min-w-\[60\%\]{min-width:60%}.md\:min-w-\[66\.666667\%\]{min-width:66.666667%}.md\:min-w-\[75\%\]{min-width:75%}.md\:min-w-\[83\.333333\%\]{min-width:83.333333%}.md\:max-w-\[60\%\]{max-width:60%}.md\:max-w-\[66\.666667\%\]{max-width:66.666667%}.md\:max-w-\[75\%\]{max-width:75%}.md\:max-w-\[83\.333333\%\]{max-width:83.333333%}.md\:max-w-xs{max-width:20rem}.md\:flex-1{flex:1 1 0%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-start{align-items:flex-start}.md\:items-center{align-items:center}.md\:justify-end{justify-content:flex-end}.md\:justify-between{justify-content:space-between}.md\:gap-3{gap:.75rem}.md\:gap-6{gap:1.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width: 960px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:mx-4{margin-left:1rem;margin-right:1rem}.lg\:mb-0{margin-bottom:0}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline-block{display:inline-block}.lg\:hidden{display:none}.lg\:w-1\/2,.lg\:w-2\/4{width:50%}.lg\:w-2\/5{width:40%}.lg\:w-3\/4{width:75%}.lg\:w-3\/5{width:60%}.lg\:min-w-\[40\%\]{min-width:40%}.lg\:min-w-\[50\%\]{min-width:50%}.lg\:min-w-\[60\%\]{min-width:60%}.lg\:min-w-\[75\%\]{min-width:75%}.lg\:max-w-\[40\%\]{max-width:40%}.lg\:max-w-\[50\%\]{max-width:50%}.lg\:max-w-\[60\%\]{max-width:60%}.lg\:max-w-\[75\%\]{max-width:75%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:gap-6{gap:1.5rem}}@media (min-width: 1140px){.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:col-span-3{grid-column:span 3 / span 3}.xl\:ml-80{margin-left:20rem}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1320px){.\32xl\:w-1\/3{width:33.333333%}.\32xl\:w-1\/4{width:25%}.\32xl\:w-2\/5{width:40%}.\32xl\:w-3\/4{width:75%}.\32xl\:w-3\/5{width:60%}.\32xl\:min-w-\[25\%\]{min-width:25%}.\32xl\:min-w-\[33\.333333\%\]{min-width:33.333333%}.\32xl\:min-w-\[40\%\]{min-width:40%}.\32xl\:min-w-\[60\%\]{min-width:60%}.\32xl\:min-w-\[75\%\]{min-width:75%}.\32xl\:max-w-\[25\%\]{max-width:25%}.\32xl\:max-w-\[33\.333333\%\]{max-width:33.333333%}.\32xl\:max-w-\[40\%\]{max-width:40%}.\32xl\:max-w-\[60\%\]{max-width:60%}.\32xl\:max-w-\[75\%\]{max-width:75%}}.\[\&\:\:-moz-range-thumb\]\:relative::-moz-range-thumb{position:relative}.\[\&\:\:-moz-range-thumb\]\:z-20::-moz-range-thumb{z-index:20}.\[\&\:\:-moz-range-thumb\]\:-mt-1::-moz-range-thumb{margin-top:-.25rem}.\[\&\:\:-moz-range-thumb\]\:-mt-\[3px\]::-moz-range-thumb{margin-top:-3px}.\[\&\:\:-moz-range-thumb\]\:h-2\.5::-moz-range-thumb{height:.625rem}.\[\&\:\:-moz-range-thumb\]\:h-3\.5::-moz-range-thumb{height:.875rem}.\[\&\:\:-moz-range-thumb\]\:h-5::-moz-range-thumb{height:1.25rem}.\[\&\:\:-moz-range-thumb\]\:w-2\.5::-moz-range-thumb{width:.625rem}.\[\&\:\:-moz-range-thumb\]\:w-3\.5::-moz-range-thumb{width:.875rem}.\[\&\:\:-moz-range-thumb\]\:w-5::-moz-range-thumb{width:1.25rem}.\[\&\:\:-moz-range-thumb\]\:appearance-none::-moz-range-thumb{-moz-appearance:none;-webkit-appearance:none;appearance:none}.\[\&\:\:-moz-range-thumb\]\:rounded-full::-moz-range-thumb{border-radius:9999px}.\[\&\:\:-moz-range-thumb\]\:border-0::-moz-range-thumb{border-width:0px}.\[\&\:\:-moz-range-thumb\]\:bg-white::-moz-range-thumb{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\[\&\:\:-moz-range-thumb\]\:ring-2::-moz-range-thumb{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\:\:-moz-range-thumb\]\:ring-current::-moz-range-thumb{--tw-ring-color: currentColor}.\[\&\:\:-moz-range-thumb\]\:\[-webkit-appearance\:none\]::-moz-range-thumb{-webkit-appearance:none}.\[\&\:\:-moz-range-track\]\:h-full::-moz-range-track{height:100%}.\[\&\:\:-moz-range-track\]\:rounded-full::-moz-range-track{border-radius:9999px}.\[\&\:\:-moz-range-track\]\:bg-blue-gray-100::-moz-range-track{--tw-bg-opacity: 1;background-color:rgb(207 216 220 / var(--tw-bg-opacity))}.\[\&\:\:-webkit-slider-runnable-track\]\:h-full::-webkit-slider-runnable-track{height:100%}.\[\&\:\:-webkit-slider-runnable-track\]\:rounded-full::-webkit-slider-runnable-track{border-radius:9999px}.\[\&\:\:-webkit-slider-runnable-track\]\:bg-blue-gray-100::-webkit-slider-runnable-track{--tw-bg-opacity: 1;background-color:rgb(207 216 220 / var(--tw-bg-opacity))}.\[\&\:\:-webkit-slider-thumb\]\:relative::-webkit-slider-thumb{position:relative}.\[\&\:\:-webkit-slider-thumb\]\:z-20::-webkit-slider-thumb{z-index:20}.\[\&\:\:-webkit-slider-thumb\]\:-mt-1::-webkit-slider-thumb{margin-top:-.25rem}.\[\&\:\:-webkit-slider-thumb\]\:-mt-\[3px\]::-webkit-slider-thumb{margin-top:-3px}.\[\&\:\:-webkit-slider-thumb\]\:h-2\.5::-webkit-slider-thumb{height:.625rem}.\[\&\:\:-webkit-slider-thumb\]\:h-3\.5::-webkit-slider-thumb{height:.875rem}.\[\&\:\:-webkit-slider-thumb\]\:h-5::-webkit-slider-thumb{height:1.25rem}.\[\&\:\:-webkit-slider-thumb\]\:w-2\.5::-webkit-slider-thumb{width:.625rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3\.5::-webkit-slider-thumb{width:.875rem}.\[\&\:\:-webkit-slider-thumb\]\:w-5::-webkit-slider-thumb{width:1.25rem}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\[\&\:\:-webkit-slider-thumb\]\:border-0::-webkit-slider-thumb{border-width:0px}.\[\&\:\:-webkit-slider-thumb\]\:bg-white::-webkit-slider-thumb{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.\[\&\:\:-webkit-slider-thumb\]\:ring-2::-webkit-slider-thumb{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.\[\&\:\:-webkit-slider-thumb\]\:ring-current::-webkit-slider-thumb{--tw-ring-color: currentColor}.\[\&\:\:-webkit-slider-thumb\]\:\[-webkit-appearance\:none\]::-webkit-slider-thumb{-webkit-appearance:none} diff --git a/backend/public/assets/index-f91011a0.js b/backend/public/assets/index-f91011a0.js new file mode 100644 index 0000000..99703eb --- /dev/null +++ b/backend/public/assets/index-f91011a0.js @@ -0,0 +1,94 @@ +function Vj(e,t){for(var r=0;rn[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function r(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(o){if(o.ep)return;o.ep=!0;const a=r(o);fetch(o.href,a)}})();function Yw(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ou(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var o=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,o.get?o:{enumerable:!0,get:function(){return e[n]}})}),r}var Qw={exports:{}},Hd={},Xw={exports:{}},vt={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var au=Symbol.for("react.element"),Uj=Symbol.for("react.portal"),Wj=Symbol.for("react.fragment"),$j=Symbol.for("react.strict_mode"),Hj=Symbol.for("react.profiler"),qj=Symbol.for("react.provider"),Gj=Symbol.for("react.context"),Kj=Symbol.for("react.forward_ref"),Yj=Symbol.for("react.suspense"),Qj=Symbol.for("react.memo"),Xj=Symbol.for("react.lazy"),oy=Symbol.iterator;function Zj(e){return e===null||typeof e!="object"?null:(e=oy&&e[oy]||e["@@iterator"],typeof e=="function"?e:null)}var Zw={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Jw=Object.assign,e_={};function yl(e,t,r){this.props=e,this.context=t,this.refs=e_,this.updater=r||Zw}yl.prototype.isReactComponent={};yl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};yl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function t_(){}t_.prototype=yl.prototype;function sg(e,t,r){this.props=e,this.context=t,this.refs=e_,this.updater=r||Zw}var ug=sg.prototype=new t_;ug.constructor=sg;Jw(ug,yl.prototype);ug.isPureReactComponent=!0;var ay=Array.isArray,r_=Object.prototype.hasOwnProperty,cg={current:null},n_={key:!0,ref:!0,__self:!0,__source:!0};function o_(e,t,r){var n,o={},a=null,i=null;if(t!=null)for(n in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(a=""+t.key),t)r_.call(t,n)&&!n_.hasOwnProperty(n)&&(o[n]=t[n]);var s=arguments.length-2;if(s===1)o.children=r;else if(1t=>{const r=u2.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),to=e=>(e=e.toLowerCase(),t=>qd(t)===e),Gd=e=>t=>typeof t===e,{isArray:xl}=Array,Ns=Gd("undefined");function c2(e){return e!==null&&!Ns(e)&&e.constructor!==null&&!Ns(e.constructor)&&sn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const l_=to("ArrayBuffer");function d2(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&l_(e.buffer),t}const f2=Gd("string"),sn=Gd("function"),s_=Gd("number"),Kd=e=>e!==null&&typeof e=="object",p2=e=>e===!0||e===!1,xc=e=>{if(qd(e)!=="object")return!1;const t=pg(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},h2=to("Date"),g2=to("File"),m2=to("Blob"),b2=to("FileList"),v2=e=>Kd(e)&&sn(e.pipe),y2=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||sn(e.append)&&((t=qd(e))==="formdata"||t==="object"&&sn(e.toString)&&e.toString()==="[object FormData]"))},x2=to("URLSearchParams"),[w2,_2,S2,C2]=["ReadableStream","Request","Response","Headers"].map(to),T2=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function iu(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,o;if(typeof e!="object"&&(e=[e]),xl(e))for(n=0,o=e.length;n0;)if(o=r[n],t===o.toLowerCase())return o;return null}const Ua=(()=>typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global)(),c_=e=>!Ns(e)&&e!==Ua;function kh(){const{caseless:e}=c_(this)&&this||{},t={},r=(n,o)=>{const a=e&&u_(t,o)||o;xc(t[a])&&xc(n)?t[a]=kh(t[a],n):xc(n)?t[a]=kh({},n):xl(n)?t[a]=n.slice():t[a]=n};for(let n=0,o=arguments.length;n(iu(t,(o,a)=>{r&&sn(o)?e[a]=i_(o,r):e[a]=o},{allOwnKeys:n}),e),P2=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),k2=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},E2=(e,t,r,n)=>{let o,a,i;const s={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),a=o.length;a-- >0;)i=o[a],(!n||n(i,e,t))&&!s[i]&&(t[i]=e[i],s[i]=!0);e=r!==!1&&pg(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},N2=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},j2=e=>{if(!e)return null;if(xl(e))return e;let t=e.length;if(!s_(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},R2=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&pg(Uint8Array)),A2=(e,t)=>{const n=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=n.next())&&!o.done;){const a=o.value;t.call(e,a[0],a[1])}},M2=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},I2=to("HTMLFormElement"),D2=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,o){return n.toUpperCase()+o}),ly=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),L2=to("RegExp"),d_=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};iu(r,(o,a)=>{let i;(i=t(o,a,e))!==!1&&(n[a]=i||o)}),Object.defineProperties(e,n)},F2=e=>{d_(e,(t,r)=>{if(sn(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(sn(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},z2=(e,t)=>{const r={},n=o=>{o.forEach(a=>{r[a]=!0})};return xl(e)?n(e):n(String(e).split(t)),r},B2=()=>{},V2=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,Ep="abcdefghijklmnopqrstuvwxyz",sy="0123456789",f_={DIGIT:sy,ALPHA:Ep,ALPHA_DIGIT:Ep+Ep.toUpperCase()+sy},U2=(e=16,t=f_.ALPHA_DIGIT)=>{let r="";const{length:n}=t;for(;e--;)r+=t[Math.random()*n|0];return r};function W2(e){return!!(e&&sn(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const $2=e=>{const t=new Array(10),r=(n,o)=>{if(Kd(n)){if(t.indexOf(n)>=0)return;if(!("toJSON"in n)){t[o]=n;const a=xl(n)?[]:{};return iu(n,(i,s)=>{const f=r(i,o+1);!Ns(f)&&(a[s]=f)}),t[o]=void 0,a}}return n};return r(e,0)},H2=to("AsyncFunction"),q2=e=>e&&(Kd(e)||sn(e))&&sn(e.then)&&sn(e.catch),p_=((e,t)=>e?setImmediate:t?((r,n)=>(Ua.addEventListener("message",({source:o,data:a})=>{o===Ua&&a===r&&n.length&&n.shift()()},!1),o=>{n.push(o),Ua.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",sn(Ua.postMessage)),G2=typeof queueMicrotask<"u"?queueMicrotask.bind(Ua):typeof process<"u"&&process.nextTick||p_,_e={isArray:xl,isArrayBuffer:l_,isBuffer:c2,isFormData:y2,isArrayBufferView:d2,isString:f2,isNumber:s_,isBoolean:p2,isObject:Kd,isPlainObject:xc,isReadableStream:w2,isRequest:_2,isResponse:S2,isHeaders:C2,isUndefined:Ns,isDate:h2,isFile:g2,isBlob:m2,isRegExp:L2,isFunction:sn,isStream:v2,isURLSearchParams:x2,isTypedArray:R2,isFileList:b2,forEach:iu,merge:kh,extend:O2,trim:T2,stripBOM:P2,inherits:k2,toFlatObject:E2,kindOf:qd,kindOfTest:to,endsWith:N2,toArray:j2,forEachEntry:A2,matchAll:M2,isHTMLForm:I2,hasOwnProperty:ly,hasOwnProp:ly,reduceDescriptors:d_,freezeMethods:F2,toObjectSet:z2,toCamelCase:D2,noop:B2,toFiniteNumber:V2,findKey:u_,global:Ua,isContextDefined:c_,ALPHABET:f_,generateString:U2,isSpecCompliantForm:W2,toJSONObject:$2,isAsyncFn:H2,isThenable:q2,setImmediate:p_,asap:G2};function ct(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}_e.inherits(ct,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:_e.toJSONObject(this.config),code:this.code,status:this.status}}});const h_=ct.prototype,g_={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{g_[e]={value:e}});Object.defineProperties(ct,g_);Object.defineProperty(h_,"isAxiosError",{value:!0});ct.from=(e,t,r,n,o,a)=>{const i=Object.create(h_);return _e.toFlatObject(e,i,function(f){return f!==Error.prototype},s=>s!=="isAxiosError"),ct.call(i,e.message,t,r,n,o),i.cause=e,i.name=e.name,a&&Object.assign(i,a),i};const K2=null;function Eh(e){return _e.isPlainObject(e)||_e.isArray(e)}function m_(e){return _e.endsWith(e,"[]")?e.slice(0,-2):e}function uy(e,t,r){return e?e.concat(t).map(function(o,a){return o=m_(o),!r&&a?"["+o+"]":o}).join(r?".":""):t}function Y2(e){return _e.isArray(e)&&!e.some(Eh)}const Q2=_e.toFlatObject(_e,{},null,function(t){return/^is[A-Z]/.test(t)});function Yd(e,t,r){if(!_e.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=_e.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(w,m){return!_e.isUndefined(m[w])});const n=r.metaTokens,o=r.visitor||b,a=r.dots,i=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&_e.isSpecCompliantForm(t);if(!_e.isFunction(o))throw new TypeError("visitor must be a function");function g(C){if(C===null)return"";if(_e.isDate(C))return C.toISOString();if(!f&&_e.isBlob(C))throw new ct("Blob is not supported. Use a Buffer instead.");return _e.isArrayBuffer(C)||_e.isTypedArray(C)?f&&typeof Blob=="function"?new Blob([C]):Buffer.from(C):C}function b(C,w,m){let d=C;if(C&&!m&&typeof C=="object"){if(_e.endsWith(w,"{}"))w=n?w:w.slice(0,-2),C=JSON.stringify(C);else if(_e.isArray(C)&&Y2(C)||(_e.isFileList(C)||_e.endsWith(w,"[]"))&&(d=_e.toArray(C)))return w=m_(w),d.forEach(function(c,u){!(_e.isUndefined(c)||c===null)&&t.append(i===!0?uy([w],u,a):i===null?w:w+"[]",g(c))}),!1}return Eh(C)?!0:(t.append(uy(m,w,a),g(C)),!1)}const S=[],O=Object.assign(Q2,{defaultVisitor:b,convertValue:g,isVisitable:Eh});function T(C,w){if(!_e.isUndefined(C)){if(S.indexOf(C)!==-1)throw Error("Circular reference detected in "+w.join("."));S.push(C),_e.forEach(C,function(d,l){(!(_e.isUndefined(d)||d===null)&&o.call(t,d,_e.isString(l)?l.trim():l,w,O))===!0&&T(d,w?w.concat(l):[l])}),S.pop()}}if(!_e.isObject(e))throw new TypeError("data must be an object");return T(e),t}function cy(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function hg(e,t){this._pairs=[],e&&Yd(e,this,t)}const b_=hg.prototype;b_.append=function(t,r){this._pairs.push([t,r])};b_.toString=function(t){const r=t?function(n){return t.call(this,n,cy)}:cy;return this._pairs.map(function(o){return r(o[0])+"="+r(o[1])},"").join("&")};function X2(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function v_(e,t,r){if(!t)return e;const n=r&&r.encode||X2,o=r&&r.serialize;let a;if(o?a=o(t,r):a=_e.isURLSearchParams(t)?t.toString():new hg(t,r).toString(n),a){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+a}return e}class Z2{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){_e.forEach(this.handlers,function(n){n!==null&&t(n)})}}const dy=Z2,y_={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},J2=typeof URLSearchParams<"u"?URLSearchParams:hg,eR=typeof FormData<"u"?FormData:null,tR=typeof Blob<"u"?Blob:null,rR={isBrowser:!0,classes:{URLSearchParams:J2,FormData:eR,Blob:tR},protocols:["http","https","file","blob","url","data"]},gg=typeof window<"u"&&typeof document<"u",Nh=typeof navigator=="object"&&navigator||void 0,nR=gg&&(!Nh||["ReactNative","NativeScript","NS"].indexOf(Nh.product)<0),oR=(()=>typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function")(),aR=gg&&window.location.href||"http://localhost",iR=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:gg,hasStandardBrowserEnv:nR,hasStandardBrowserWebWorkerEnv:oR,navigator:Nh,origin:aR},Symbol.toStringTag,{value:"Module"})),un={...iR,...rR};function lR(e,t){return Yd(e,new un.classes.URLSearchParams,Object.assign({visitor:function(r,n,o,a){return un.isNode&&_e.isBuffer(r)?(this.append(n,r.toString("base64")),!1):a.defaultVisitor.apply(this,arguments)}},t))}function sR(e){return _e.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function uR(e){const t={},r=Object.keys(e);let n;const o=r.length;let a;for(n=0;n=r.length;return i=!i&&_e.isArray(o)?o.length:i,f?(_e.hasOwnProp(o,i)?o[i]=[o[i],n]:o[i]=n,!s):((!o[i]||!_e.isObject(o[i]))&&(o[i]=[]),t(r,n,o[i],a)&&_e.isArray(o[i])&&(o[i]=uR(o[i])),!s)}if(_e.isFormData(e)&&_e.isFunction(e.entries)){const r={};return _e.forEachEntry(e,(n,o)=>{t(sR(n),o,r,0)}),r}return null}function cR(e,t,r){if(_e.isString(e))try{return(t||JSON.parse)(e),_e.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const mg={transitional:y_,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",o=n.indexOf("application/json")>-1,a=_e.isObject(t);if(a&&_e.isHTMLForm(t)&&(t=new FormData(t)),_e.isFormData(t))return o?JSON.stringify(x_(t)):t;if(_e.isArrayBuffer(t)||_e.isBuffer(t)||_e.isStream(t)||_e.isFile(t)||_e.isBlob(t)||_e.isReadableStream(t))return t;if(_e.isArrayBufferView(t))return t.buffer;if(_e.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(a){if(n.indexOf("application/x-www-form-urlencoded")>-1)return lR(t,this.formSerializer).toString();if((s=_e.isFileList(t))||n.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return Yd(s?{"files[]":t}:t,f&&new f,this.formSerializer)}}return a||o?(r.setContentType("application/json",!1),cR(t)):t}],transformResponse:[function(t){const r=this.transitional||mg.transitional,n=r&&r.forcedJSONParsing,o=this.responseType==="json";if(_e.isResponse(t)||_e.isReadableStream(t))return t;if(t&&_e.isString(t)&&(n&&!this.responseType||o)){const i=!(r&&r.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(s){if(i)throw s.name==="SyntaxError"?ct.from(s,ct.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:un.classes.FormData,Blob:un.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};_e.forEach(["delete","get","head","post","put","patch"],e=>{mg.headers[e]={}});const bg=mg,dR=_e.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),fR=e=>{const t={};let r,n,o;return e&&e.split(` +`).forEach(function(i){o=i.indexOf(":"),r=i.substring(0,o).trim().toLowerCase(),n=i.substring(o+1).trim(),!(!r||t[r]&&dR[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},fy=Symbol("internals");function Ql(e){return e&&String(e).trim().toLowerCase()}function wc(e){return e===!1||e==null?e:_e.isArray(e)?e.map(wc):String(e)}function pR(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const hR=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Np(e,t,r,n,o){if(_e.isFunction(n))return n.call(this,t,r);if(o&&(t=r),!!_e.isString(t)){if(_e.isString(n))return t.indexOf(n)!==-1;if(_e.isRegExp(n))return n.test(t)}}function gR(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function mR(e,t){const r=_e.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(o,a,i){return this[n].call(this,t,o,a,i)},configurable:!0})})}class Qd{constructor(t){t&&this.set(t)}set(t,r,n){const o=this;function a(s,f,g){const b=Ql(f);if(!b)throw new Error("header name must be a non-empty string");const S=_e.findKey(o,b);(!S||o[S]===void 0||g===!0||g===void 0&&o[S]!==!1)&&(o[S||f]=wc(s))}const i=(s,f)=>_e.forEach(s,(g,b)=>a(g,b,f));if(_e.isPlainObject(t)||t instanceof this.constructor)i(t,r);else if(_e.isString(t)&&(t=t.trim())&&!hR(t))i(fR(t),r);else if(_e.isHeaders(t))for(const[s,f]of t.entries())a(f,s,n);else t!=null&&a(r,t,n);return this}get(t,r){if(t=Ql(t),t){const n=_e.findKey(this,t);if(n){const o=this[n];if(!r)return o;if(r===!0)return pR(o);if(_e.isFunction(r))return r.call(this,o,n);if(_e.isRegExp(r))return r.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=Ql(t),t){const n=_e.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||Np(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let o=!1;function a(i){if(i=Ql(i),i){const s=_e.findKey(n,i);s&&(!r||Np(n,n[s],s,r))&&(delete n[s],o=!0)}}return _e.isArray(t)?t.forEach(a):a(t),o}clear(t){const r=Object.keys(this);let n=r.length,o=!1;for(;n--;){const a=r[n];(!t||Np(this,this[a],a,t,!0))&&(delete this[a],o=!0)}return o}normalize(t){const r=this,n={};return _e.forEach(this,(o,a)=>{const i=_e.findKey(n,a);if(i){r[i]=wc(o),delete r[a];return}const s=t?gR(a):String(a).trim();s!==a&&delete r[a],r[s]=wc(o),n[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return _e.forEach(this,(n,o)=>{n!=null&&n!==!1&&(r[o]=t&&_e.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...r){const n=new this(t);return r.forEach(o=>n.set(o)),n}static accessor(t){const n=(this[fy]=this[fy]={accessors:{}}).accessors,o=this.prototype;function a(i){const s=Ql(i);n[s]||(mR(o,i),n[s]=!0)}return _e.isArray(t)?t.forEach(a):a(t),this}}Qd.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);_e.reduceDescriptors(Qd.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});_e.freezeMethods(Qd);const qn=Qd;function jp(e,t){const r=this||bg,n=t||r,o=qn.from(n.headers);let a=n.data;return _e.forEach(e,function(s){a=s.call(r,a,o.normalize(),t?t.status:void 0)}),o.normalize(),a}function w_(e){return!!(e&&e.__CANCEL__)}function wl(e,t,r){ct.call(this,e??"canceled",ct.ERR_CANCELED,t,r),this.name="CanceledError"}_e.inherits(wl,ct,{__CANCEL__:!0});function __(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new ct("Request failed with status code "+r.status,[ct.ERR_BAD_REQUEST,ct.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function bR(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function vR(e,t){e=e||10;const r=new Array(e),n=new Array(e);let o=0,a=0,i;return t=t!==void 0?t:1e3,function(f){const g=Date.now(),b=n[a];i||(i=g),r[o]=f,n[o]=g;let S=a,O=0;for(;S!==o;)O+=r[S++],S=S%e;if(o=(o+1)%e,o===a&&(a=(a+1)%e),g-i{r=b,o=null,a&&(clearTimeout(a),a=null),e.apply(null,g)};return[(...g)=>{const b=Date.now(),S=b-r;S>=n?i(g,b):(o=g,a||(a=setTimeout(()=>{a=null,i(o)},n-S)))},()=>o&&i(o)]}const Yc=(e,t,r=3)=>{let n=0;const o=vR(50,250);return yR(a=>{const i=a.loaded,s=a.lengthComputable?a.total:void 0,f=i-n,g=o(f),b=i<=s;n=i;const S={loaded:i,total:s,progress:s?i/s:void 0,bytes:f,rate:g||void 0,estimated:g&&s&&b?(s-i)/g:void 0,event:a,lengthComputable:s!=null,[t?"download":"upload"]:!0};e(S)},r)},py=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},hy=e=>(...t)=>_e.asap(()=>e(...t)),xR=un.hasStandardBrowserEnv?function(){const t=un.navigator&&/(msie|trident)/i.test(un.navigator.userAgent),r=document.createElement("a");let n;function o(a){let i=a;return t&&(r.setAttribute("href",i),i=r.href),r.setAttribute("href",i),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return n=o(window.location.href),function(i){const s=_e.isString(i)?o(i):i;return s.protocol===n.protocol&&s.host===n.host}}():function(){return function(){return!0}}(),wR=un.hasStandardBrowserEnv?{write(e,t,r,n,o,a){const i=[e+"="+encodeURIComponent(t)];_e.isNumber(r)&&i.push("expires="+new Date(r).toGMTString()),_e.isString(n)&&i.push("path="+n),_e.isString(o)&&i.push("domain="+o),a===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function _R(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function SR(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function S_(e,t){return e&&!_R(t)?SR(e,t):t}const gy=e=>e instanceof qn?{...e}:e;function Xa(e,t){t=t||{};const r={};function n(g,b,S){return _e.isPlainObject(g)&&_e.isPlainObject(b)?_e.merge.call({caseless:S},g,b):_e.isPlainObject(b)?_e.merge({},b):_e.isArray(b)?b.slice():b}function o(g,b,S){if(_e.isUndefined(b)){if(!_e.isUndefined(g))return n(void 0,g,S)}else return n(g,b,S)}function a(g,b){if(!_e.isUndefined(b))return n(void 0,b)}function i(g,b){if(_e.isUndefined(b)){if(!_e.isUndefined(g))return n(void 0,g)}else return n(void 0,b)}function s(g,b,S){if(S in t)return n(g,b);if(S in e)return n(void 0,g)}const f={url:a,method:a,data:a,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:s,headers:(g,b)=>o(gy(g),gy(b),!0)};return _e.forEach(Object.keys(Object.assign({},e,t)),function(b){const S=f[b]||o,O=S(e[b],t[b],b);_e.isUndefined(O)&&S!==s||(r[b]=O)}),r}const C_=e=>{const t=Xa({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:o,xsrfCookieName:a,headers:i,auth:s}=t;t.headers=i=qn.from(i),t.url=v_(S_(t.baseURL,t.url),e.params,e.paramsSerializer),s&&i.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):"")));let f;if(_e.isFormData(r)){if(un.hasStandardBrowserEnv||un.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if((f=i.getContentType())!==!1){const[g,...b]=f?f.split(";").map(S=>S.trim()).filter(Boolean):[];i.setContentType([g||"multipart/form-data",...b].join("; "))}}if(un.hasStandardBrowserEnv&&(n&&_e.isFunction(n)&&(n=n(t)),n||n!==!1&&xR(t.url))){const g=o&&a&&wR.read(a);g&&i.set(o,g)}return t},CR=typeof XMLHttpRequest<"u",TR=CR&&function(e){return new Promise(function(r,n){const o=C_(e);let a=o.data;const i=qn.from(o.headers).normalize();let{responseType:s,onUploadProgress:f,onDownloadProgress:g}=o,b,S,O,T,C;function w(){T&&T(),C&&C(),o.cancelToken&&o.cancelToken.unsubscribe(b),o.signal&&o.signal.removeEventListener("abort",b)}let m=new XMLHttpRequest;m.open(o.method.toUpperCase(),o.url,!0),m.timeout=o.timeout;function d(){if(!m)return;const c=qn.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),h={data:!s||s==="text"||s==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:c,config:e,request:m};__(function(y){r(y),w()},function(y){n(y),w()},h),m=null}"onloadend"in m?m.onloadend=d:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(d)},m.onabort=function(){m&&(n(new ct("Request aborted",ct.ECONNABORTED,e,m)),m=null)},m.onerror=function(){n(new ct("Network Error",ct.ERR_NETWORK,e,m)),m=null},m.ontimeout=function(){let u=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const h=o.transitional||y_;o.timeoutErrorMessage&&(u=o.timeoutErrorMessage),n(new ct(u,h.clarifyTimeoutError?ct.ETIMEDOUT:ct.ECONNABORTED,e,m)),m=null},a===void 0&&i.setContentType(null),"setRequestHeader"in m&&_e.forEach(i.toJSON(),function(u,h){m.setRequestHeader(h,u)}),_e.isUndefined(o.withCredentials)||(m.withCredentials=!!o.withCredentials),s&&s!=="json"&&(m.responseType=o.responseType),g&&([O,C]=Yc(g,!0),m.addEventListener("progress",O)),f&&m.upload&&([S,T]=Yc(f),m.upload.addEventListener("progress",S),m.upload.addEventListener("loadend",T)),(o.cancelToken||o.signal)&&(b=c=>{m&&(n(!c||c.type?new wl(null,e,m):c),m.abort(),m=null)},o.cancelToken&&o.cancelToken.subscribe(b),o.signal&&(o.signal.aborted?b():o.signal.addEventListener("abort",b)));const l=bR(o.url);if(l&&un.protocols.indexOf(l)===-1){n(new ct("Unsupported protocol "+l+":",ct.ERR_BAD_REQUEST,e));return}m.send(a||null)})},OR=(e,t)=>{let r=new AbortController,n;const o=function(f){if(!n){n=!0,i();const g=f instanceof Error?f:this.reason;r.abort(g instanceof ct?g:new wl(g instanceof Error?g.message:g))}};let a=t&&setTimeout(()=>{o(new ct(`timeout ${t} of ms exceeded`,ct.ETIMEDOUT))},t);const i=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(f=>{f&&(f.removeEventListener?f.removeEventListener("abort",o):f.unsubscribe(o))}),e=null)};e.forEach(f=>f&&f.addEventListener&&f.addEventListener("abort",o));const{signal:s}=r;return s.unsubscribe=i,[s,()=>{a&&clearTimeout(a),a=null}]},PR=OR,kR=function*(e,t){let r=e.byteLength;if(!t||r{const a=ER(e,t,o);let i=0,s,f=g=>{s||(s=!0,n&&n(g))};return new ReadableStream({async pull(g){try{const{done:b,value:S}=await a.next();if(b){f(),g.close();return}let O=S.byteLength;if(r){let T=i+=O;r(T)}g.enqueue(new Uint8Array(S))}catch(b){throw f(b),b}},cancel(g){return f(g),a.return()}},{highWaterMark:2})},Xd=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",T_=Xd&&typeof ReadableStream=="function",jh=Xd&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),O_=(e,...t)=>{try{return!!e(...t)}catch{return!1}},NR=T_&&O_(()=>{let e=!1;const t=new Request(un.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),by=64*1024,Rh=T_&&O_(()=>_e.isReadableStream(new Response("").body)),Qc={stream:Rh&&(e=>e.body)};Xd&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Qc[t]&&(Qc[t]=_e.isFunction(e[t])?r=>r[t]():(r,n)=>{throw new ct(`Response type '${t}' is not supported`,ct.ERR_NOT_SUPPORT,n)})})})(new Response);const jR=async e=>{if(e==null)return 0;if(_e.isBlob(e))return e.size;if(_e.isSpecCompliantForm(e))return(await new Request(e).arrayBuffer()).byteLength;if(_e.isArrayBufferView(e)||_e.isArrayBuffer(e))return e.byteLength;if(_e.isURLSearchParams(e)&&(e=e+""),_e.isString(e))return(await jh(e)).byteLength},RR=async(e,t)=>{const r=_e.toFiniteNumber(e.getContentLength());return r??jR(t)},AR=Xd&&(async e=>{let{url:t,method:r,data:n,signal:o,cancelToken:a,timeout:i,onDownloadProgress:s,onUploadProgress:f,responseType:g,headers:b,withCredentials:S="same-origin",fetchOptions:O}=C_(e);g=g?(g+"").toLowerCase():"text";let[T,C]=o||a||i?PR([o,a],i):[],w,m;const d=()=>{!w&&setTimeout(()=>{T&&T.unsubscribe()}),w=!0};let l;try{if(f&&NR&&r!=="get"&&r!=="head"&&(l=await RR(b,n))!==0){let y=new Request(t,{method:"POST",body:n,duplex:"half"}),E;if(_e.isFormData(n)&&(E=y.headers.get("content-type"))&&b.setContentType(E),y.body){const[P,N]=py(l,Yc(hy(f)));n=my(y.body,by,P,N,jh)}}_e.isString(S)||(S=S?"include":"omit");const c="credentials"in Request.prototype;m=new Request(t,{...O,signal:T,method:r.toUpperCase(),headers:b.normalize().toJSON(),body:n,duplex:"half",credentials:c?S:void 0});let u=await fetch(m);const h=Rh&&(g==="stream"||g==="response");if(Rh&&(s||h)){const y={};["status","statusText","headers"].forEach(R=>{y[R]=u[R]});const E=_e.toFiniteNumber(u.headers.get("content-length")),[P,N]=s&&py(E,Yc(hy(s),!0))||[];u=new Response(my(u.body,by,P,()=>{N&&N(),h&&d()},jh),y)}g=g||"text";let v=await Qc[_e.findKey(Qc,g)||"text"](u,e);return!h&&d(),C&&C(),await new Promise((y,E)=>{__(y,E,{data:v,headers:qn.from(u.headers),status:u.status,statusText:u.statusText,config:e,request:m})})}catch(c){throw d(),c&&c.name==="TypeError"&&/fetch/i.test(c.message)?Object.assign(new ct("Network Error",ct.ERR_NETWORK,e,m),{cause:c.cause||c}):ct.from(c,c&&c.code,e,m)}}),Ah={http:K2,xhr:TR,fetch:AR};_e.forEach(Ah,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const vy=e=>`- ${e}`,MR=e=>_e.isFunction(e)||e===null||e===!1,P_={getAdapter:e=>{e=_e.isArray(e)?e:[e];const{length:t}=e;let r,n;const o={};for(let a=0;a`adapter ${s} `+(f===!1?"is not supported by the environment":"is not available in the build"));let i=t?a.length>1?`since : +`+a.map(vy).join(` +`):" "+vy(a[0]):"as no adapter specified";throw new ct("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return n},adapters:Ah};function Rp(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new wl(null,e)}function yy(e){return Rp(e),e.headers=qn.from(e.headers),e.data=jp.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),P_.getAdapter(e.adapter||bg.adapter)(e).then(function(n){return Rp(e),n.data=jp.call(e,e.transformResponse,n),n.headers=qn.from(n.headers),n},function(n){return w_(n)||(Rp(e),n&&n.response&&(n.response.data=jp.call(e,e.transformResponse,n.response),n.response.headers=qn.from(n.response.headers))),Promise.reject(n)})}const k_="1.7.5",vg={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{vg[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}});const xy={};vg.transitional=function(t,r,n){function o(a,i){return"[Axios v"+k_+"] Transitional option '"+a+"'"+i+(n?". "+n:"")}return(a,i,s)=>{if(t===!1)throw new ct(o(i," has been removed"+(r?" in "+r:"")),ct.ERR_DEPRECATED);return r&&!xy[i]&&(xy[i]=!0,console.warn(o(i," has been deprecated since v"+r+" and will be removed in the near future"))),t?t(a,i,s):!0}};function IR(e,t,r){if(typeof e!="object")throw new ct("options must be an object",ct.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let o=n.length;for(;o-- >0;){const a=n[o],i=t[a];if(i){const s=e[a],f=s===void 0||i(s,a,e);if(f!==!0)throw new ct("option "+a+" must be "+f,ct.ERR_BAD_OPTION_VALUE);continue}if(r!==!0)throw new ct("Unknown option "+a,ct.ERR_BAD_OPTION)}}const Mh={assertOptions:IR,validators:vg},Jo=Mh.validators;class Xc{constructor(t){this.defaults=t,this.interceptors={request:new dy,response:new dy}}async request(t,r){try{return await this._request(t,r)}catch(n){if(n instanceof Error){let o;Error.captureStackTrace?Error.captureStackTrace(o={}):o=new Error;const a=o.stack?o.stack.replace(/^.+\n/,""):"";try{n.stack?a&&!String(n.stack).endsWith(a.replace(/^.+\n.+\n/,""))&&(n.stack+=` +`+a):n.stack=a}catch{}}throw n}}_request(t,r){typeof t=="string"?(r=r||{},r.url=t):r=t||{},r=Xa(this.defaults,r);const{transitional:n,paramsSerializer:o,headers:a}=r;n!==void 0&&Mh.assertOptions(n,{silentJSONParsing:Jo.transitional(Jo.boolean),forcedJSONParsing:Jo.transitional(Jo.boolean),clarifyTimeoutError:Jo.transitional(Jo.boolean)},!1),o!=null&&(_e.isFunction(o)?r.paramsSerializer={serialize:o}:Mh.assertOptions(o,{encode:Jo.function,serialize:Jo.function},!0)),r.method=(r.method||this.defaults.method||"get").toLowerCase();let i=a&&_e.merge(a.common,a[r.method]);a&&_e.forEach(["delete","get","head","post","put","patch","common"],C=>{delete a[C]}),r.headers=qn.concat(i,a);const s=[];let f=!0;this.interceptors.request.forEach(function(w){typeof w.runWhen=="function"&&w.runWhen(r)===!1||(f=f&&w.synchronous,s.unshift(w.fulfilled,w.rejected))});const g=[];this.interceptors.response.forEach(function(w){g.push(w.fulfilled,w.rejected)});let b,S=0,O;if(!f){const C=[yy.bind(this),void 0];for(C.unshift.apply(C,s),C.push.apply(C,g),O=C.length,b=Promise.resolve(r);S{if(!n._listeners)return;let a=n._listeners.length;for(;a-- >0;)n._listeners[a](o);n._listeners=null}),this.promise.then=o=>{let a;const i=new Promise(s=>{n.subscribe(s),a=s}).then(o);return i.cancel=function(){n.unsubscribe(a)},i},t(function(a,i,s){n.reason||(n.reason=new wl(a,i,s),r(n.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const r=this._listeners.indexOf(t);r!==-1&&this._listeners.splice(r,1)}static source(){let t;return{token:new yg(function(o){t=o}),cancel:t}}}const DR=yg;function LR(e){return function(r){return e.apply(null,r)}}function FR(e){return _e.isObject(e)&&e.isAxiosError===!0}const Ih={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ih).forEach(([e,t])=>{Ih[t]=e});const zR=Ih;function E_(e){const t=new _c(e),r=i_(_c.prototype.request,t);return _e.extend(r,_c.prototype,t,{allOwnKeys:!0}),_e.extend(r,t,null,{allOwnKeys:!0}),r.create=function(o){return E_(Xa(e,o))},r}const lr=E_(bg);lr.Axios=_c;lr.CanceledError=wl;lr.CancelToken=DR;lr.isCancel=w_;lr.VERSION=k_;lr.toFormData=Yd;lr.AxiosError=ct;lr.Cancel=lr.CanceledError;lr.all=function(t){return Promise.all(t)};lr.spread=LR;lr.isAxiosError=FR;lr.mergeConfig=Xa;lr.AxiosHeaders=qn;lr.formToJSON=e=>x_(_e.isHTMLForm(e)?new FormData(e):e);lr.getAdapter=P_.getAdapter;lr.HttpStatusCode=zR;lr.default=lr;const nt=lr;var Dh={},N_={exports:{}},hn={},j_={exports:{}},R_={};/** + * @license React + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */(function(e){function t(W,z){var $=W.length;W.push(z);e:for(;0<$;){var q=$-1>>>1,Z=W[q];if(0>>1;qo(ue,$))teo(Se,ue)?(W[q]=Se,W[te]=$,q=te):(W[q]=ue,W[me]=$,q=me);else if(teo(Se,$))W[q]=Se,W[te]=$,q=te;else break e}}return z}function o(W,z){var $=W.sortIndex-z.sortIndex;return $!==0?$:W.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var i=Date,s=i.now();e.unstable_now=function(){return i.now()-s}}var f=[],g=[],b=1,S=null,O=3,T=!1,C=!1,w=!1,m=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,l=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function c(W){for(var z=r(g);z!==null;){if(z.callback===null)n(g);else if(z.startTime<=W)n(g),z.sortIndex=z.expirationTime,t(f,z);else break;z=r(g)}}function u(W){if(w=!1,c(W),!C)if(r(f)!==null)C=!0,H(h);else{var z=r(g);z!==null&&Q(u,z.startTime-W)}}function h(W,z){C=!1,w&&(w=!1,d(E),E=-1),T=!0;var $=O;try{for(c(z),S=r(f);S!==null&&(!(S.expirationTime>z)||W&&!R());){var q=S.callback;if(typeof q=="function"){S.callback=null,O=S.priorityLevel;var Z=q(S.expirationTime<=z);z=e.unstable_now(),typeof Z=="function"?S.callback=Z:S===r(f)&&n(f),c(z)}else n(f);S=r(f)}if(S!==null)var ie=!0;else{var me=r(g);me!==null&&Q(u,me.startTime-z),ie=!1}return ie}finally{S=null,O=$,T=!1}}var v=!1,y=null,E=-1,P=5,N=-1;function R(){return!(e.unstable_now()-NW||125q?(W.sortIndex=$,t(g,W),r(f)===null&&W===r(g)&&(w?(d(E),E=-1):w=!0,Q(u,$-q))):(W.sortIndex=Z,t(f,W),C||T||(C=!0,H(h))),W},e.unstable_shouldYield=R,e.unstable_wrapCallback=function(W){var z=O;return function(){var $=O;O=z;try{return W.apply(this,arguments)}finally{O=$}}}})(R_);j_.exports=R_;var BR=j_.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var A_=k,fn=BR;function Re(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Lh=Object.prototype.hasOwnProperty,VR=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,wy={},_y={};function UR(e){return Lh.call(_y,e)?!0:Lh.call(wy,e)?!1:VR.test(e)?_y[e]=!0:(wy[e]=!0,!1)}function WR(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function $R(e,t,r,n){if(t===null||typeof t>"u"||WR(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ur(e,t,r,n,o,a,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var _r={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){_r[e]=new Ur(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];_r[t]=new Ur(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){_r[e]=new Ur(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){_r[e]=new Ur(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){_r[e]=new Ur(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){_r[e]=new Ur(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){_r[e]=new Ur(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){_r[e]=new Ur(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){_r[e]=new Ur(e,5,!1,e.toLowerCase(),null,!1,!1)});var xg=/[\-:]([a-z])/g;function wg(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(xg,wg);_r[t]=new Ur(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(xg,wg);_r[t]=new Ur(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(xg,wg);_r[t]=new Ur(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){_r[e]=new Ur(e,1,!1,e.toLowerCase(),null,!1,!1)});_r.xlinkHref=new Ur("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){_r[e]=new Ur(e,1,!1,e.toLowerCase(),null,!0,!0)});function _g(e,t,r,n){var o=_r.hasOwnProperty(t)?_r[t]:null;(o!==null?o.type!==0:n||!(2s||o[i]!==a[s]){var f=` +`+o[i].replace(" at new "," at ");return e.displayName&&f.includes("")&&(f=f.replace("",e.displayName)),f}while(1<=i&&0<=s);break}}}finally{Mp=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?us(e):""}function HR(e){switch(e.tag){case 5:return us(e.type);case 16:return us("Lazy");case 13:return us("Suspense");case 19:return us("SuspenseList");case 0:case 2:case 15:return e=Ip(e.type,!1),e;case 11:return e=Ip(e.type.render,!1),e;case 1:return e=Ip(e.type,!0),e;default:return""}}function Vh(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ai:return"Fragment";case Ri:return"Portal";case Fh:return"Profiler";case Sg:return"StrictMode";case zh:return"Suspense";case Bh:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case D_:return(e.displayName||"Context")+".Consumer";case I_:return(e._context.displayName||"Context")+".Provider";case Cg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Tg:return t=e.displayName||null,t!==null?t:Vh(e.type)||"Memo";case aa:t=e._payload,e=e._init;try{return Vh(e(t))}catch{}}return null}function qR(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Vh(t);case 8:return t===Sg?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ca(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function F_(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function GR(e){var t=F_(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Hu(e){e._valueTracker||(e._valueTracker=GR(e))}function z_(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=F_(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function Zc(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Uh(e,t){var r=t.checked;return Zt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Cy(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=Ca(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function B_(e,t){t=t.checked,t!=null&&_g(e,"checked",t,!1)}function Wh(e,t){B_(e,t);var r=Ca(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?$h(e,t.type,r):t.hasOwnProperty("defaultValue")&&$h(e,t.type,Ca(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Ty(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function $h(e,t,r){(t!=="number"||Zc(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var cs=Array.isArray;function qi(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=qu.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Rs(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var ms={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},KR=["Webkit","ms","Moz","O"];Object.keys(ms).forEach(function(e){KR.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ms[t]=ms[e]})});function $_(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||ms.hasOwnProperty(e)&&ms[e]?(""+t).trim():t+"px"}function H_(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,o=$_(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,o):e[r]=o}}var YR=Zt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Gh(e,t){if(t){if(YR[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(Re(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(Re(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(Re(61))}if(t.style!=null&&typeof t.style!="object")throw Error(Re(62))}}function Kh(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Yh=null;function Og(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Qh=null,Gi=null,Ki=null;function ky(e){if(e=uu(e)){if(typeof Qh!="function")throw Error(Re(280));var t=e.stateNode;t&&(t=rf(t),Qh(e.stateNode,e.type,t))}}function q_(e){Gi?Ki?Ki.push(e):Ki=[e]:Gi=e}function G_(){if(Gi){var e=Gi,t=Ki;if(Ki=Gi=null,ky(e),t)for(e=0;e>>=0,e===0?32:31-(iA(e)/lA|0)|0}var Gu=64,Ku=4194304;function ds(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function rd(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,o=e.suspendedLanes,a=e.pingedLanes,i=r&268435455;if(i!==0){var s=i&~o;s!==0?n=ds(s):(a&=i,a!==0&&(n=ds(a)))}else i=r&~o,i!==0?n=ds(i):a!==0&&(n=ds(a));if(n===0)return 0;if(t!==0&&t!==n&&!(t&o)&&(o=n&-n,a=t&-t,o>=a||o===16&&(a&4194240)!==0))return t;if(n&4&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function lu(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Gn(t),e[t]=r}function dA(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=vs),Ly=String.fromCharCode(32),Fy=!1;function p5(e,t){switch(e){case"keyup":return zA.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function h5(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Mi=!1;function VA(e,t){switch(e){case"compositionend":return h5(t);case"keypress":return t.which!==32?null:(Fy=!0,Ly);case"textInput":return e=t.data,e===Ly&&Fy?null:e;default:return null}}function UA(e,t){if(Mi)return e==="compositionend"||!Mg&&p5(e,t)?(e=d5(),Cc=jg=ca=null,Mi=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Uy(r)}}function v5(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?v5(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function y5(){for(var e=window,t=Zc();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=Zc(e.document)}return t}function Ig(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function XA(e){var t=y5(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&v5(r.ownerDocument.documentElement,r)){if(n!==null&&Ig(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=r.textContent.length,a=Math.min(n.start,o);n=n.end===void 0?a:Math.min(n.end,o),!e.extend&&a>n&&(o=n,n=a,a=o),o=Wy(r,a);var i=Wy(r,n);o&&i&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),a>n?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,Ii=null,r0=null,xs=null,n0=!1;function $y(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;n0||Ii==null||Ii!==Zc(n)||(n=Ii,"selectionStart"in n&&Ig(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),xs&&Fs(xs,n)||(xs=n,n=ad(r0,"onSelect"),0Fi||(e.current=u0[Fi],u0[Fi]=null,Fi--)}function Lt(e,t){Fi++,u0[Fi]=e.current,e.current=t}var Ta={},Ar=ka(Ta),Zr=ka(!1),Za=Ta;function ol(e,t){var r=e.type.contextTypes;if(!r)return Ta;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var o={},a;for(a in r)o[a]=t[a];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Jr(e){return e=e.childContextTypes,e!=null}function ld(){Bt(Zr),Bt(Ar)}function Xy(e,t,r){if(Ar.current!==Ta)throw Error(Re(168));Lt(Ar,t),Lt(Zr,r)}function k5(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var o in n)if(!(o in t))throw Error(Re(108,qR(e)||"Unknown",o));return Zt({},r,n)}function sd(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ta,Za=Ar.current,Lt(Ar,e),Lt(Zr,Zr.current),!0}function Zy(e,t,r){var n=e.stateNode;if(!n)throw Error(Re(169));r?(e=k5(e,t,Za),n.__reactInternalMemoizedMergedChildContext=e,Bt(Zr),Bt(Ar),Lt(Ar,e)):Bt(Zr),Lt(Zr,r)}var Eo=null,nf=!1,Yp=!1;function E5(e){Eo===null?Eo=[e]:Eo.push(e)}function uM(e){nf=!0,E5(e)}function Ea(){if(!Yp&&Eo!==null){Yp=!0;var e=0,t=kt;try{var r=Eo;for(kt=1;e>=i,o-=i,No=1<<32-Gn(t)+o|r<E?(P=y,y=null):P=y.sibling;var N=O(d,y,c[E],u);if(N===null){y===null&&(y=P);break}e&&y&&N.alternate===null&&t(d,y),l=a(N,l,E),v===null?h=N:v.sibling=N,v=N,y=P}if(E===c.length)return r(d,y),Ht&&za(d,E),h;if(y===null){for(;EE?(P=y,y=null):P=y.sibling;var R=O(d,y,N.value,u);if(R===null){y===null&&(y=P);break}e&&y&&R.alternate===null&&t(d,y),l=a(R,l,E),v===null?h=R:v.sibling=R,v=R,y=P}if(N.done)return r(d,y),Ht&&za(d,E),h;if(y===null){for(;!N.done;E++,N=c.next())N=S(d,N.value,u),N!==null&&(l=a(N,l,E),v===null?h=N:v.sibling=N,v=N);return Ht&&za(d,E),h}for(y=n(d,y);!N.done;E++,N=c.next())N=T(y,d,E,N.value,u),N!==null&&(e&&N.alternate!==null&&y.delete(N.key===null?E:N.key),l=a(N,l,E),v===null?h=N:v.sibling=N,v=N);return e&&y.forEach(function(M){return t(d,M)}),Ht&&za(d,E),h}function m(d,l,c,u){if(typeof c=="object"&&c!==null&&c.type===Ai&&c.key===null&&(c=c.props.children),typeof c=="object"&&c!==null){switch(c.$$typeof){case $u:e:{for(var h=c.key,v=l;v!==null;){if(v.key===h){if(h=c.type,h===Ai){if(v.tag===7){r(d,v.sibling),l=o(v,c.props.children),l.return=d,d=l;break e}}else if(v.elementType===h||typeof h=="object"&&h!==null&&h.$$typeof===aa&&ax(h)===v.type){r(d,v.sibling),l=o(v,c.props),l.ref=rs(d,v,c),l.return=d,d=l;break e}r(d,v);break}else t(d,v);v=v.sibling}c.type===Ai?(l=Ya(c.props.children,d.mode,u,c.key),l.return=d,d=l):(u=Rc(c.type,c.key,c.props,null,d.mode,u),u.ref=rs(d,l,c),u.return=d,d=u)}return i(d);case Ri:e:{for(v=c.key;l!==null;){if(l.key===v)if(l.tag===4&&l.stateNode.containerInfo===c.containerInfo&&l.stateNode.implementation===c.implementation){r(d,l.sibling),l=o(l,c.children||[]),l.return=d,d=l;break e}else{r(d,l);break}else t(d,l);l=l.sibling}l=nh(c,d.mode,u),l.return=d,d=l}return i(d);case aa:return v=c._init,m(d,l,v(c._payload),u)}if(cs(c))return C(d,l,c,u);if(Xl(c))return w(d,l,c,u);tc(d,c)}return typeof c=="string"&&c!==""||typeof c=="number"?(c=""+c,l!==null&&l.tag===6?(r(d,l.sibling),l=o(l,c),l.return=d,d=l):(r(d,l),l=rh(c,d.mode,u),l.return=d,d=l),i(d)):r(d,l)}return m}var il=L5(!0),F5=L5(!1),cu={},ho=ka(cu),Us=ka(cu),Ws=ka(cu);function Ha(e){if(e===cu)throw Error(Re(174));return e}function $g(e,t){switch(Lt(Ws,t),Lt(Us,e),Lt(ho,cu),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:qh(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=qh(t,e)}Bt(ho),Lt(ho,t)}function ll(){Bt(ho),Bt(Us),Bt(Ws)}function z5(e){Ha(Ws.current);var t=Ha(ho.current),r=qh(t,e.type);t!==r&&(Lt(Us,e),Lt(ho,r))}function Hg(e){Us.current===e&&(Bt(ho),Bt(Us))}var Kt=ka(0);function hd(e){for(var t=e;t!==null;){if(t.tag===13){var r=t.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Qp=[];function qg(){for(var e=0;er?r:4,e(!0);var n=Xp.transition;Xp.transition={};try{e(!1),t()}finally{kt=r,Xp.transition=n}}function t1(){return An().memoizedState}function pM(e,t,r){var n=ya(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},r1(e))n1(t,r);else if(r=A5(e,t,r,n),r!==null){var o=Br();Kn(r,e,n,o),o1(r,t,n)}}function hM(e,t,r){var n=ya(e),o={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(r1(e))n1(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,s=a(i,r);if(o.hasEagerState=!0,o.eagerState=s,Qn(s,i)){var f=t.interleaved;f===null?(o.next=o,Ug(t)):(o.next=f.next,f.next=o),t.interleaved=o;return}}catch{}finally{}r=A5(e,t,o,n),r!==null&&(o=Br(),Kn(r,e,n,o),o1(r,t,n))}}function r1(e){var t=e.alternate;return e===Qt||t!==null&&t===Qt}function n1(e,t){ws=gd=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function o1(e,t,r){if(r&4194240){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,kg(e,r)}}var md={readContext:Rn,useCallback:Pr,useContext:Pr,useEffect:Pr,useImperativeHandle:Pr,useInsertionEffect:Pr,useLayoutEffect:Pr,useMemo:Pr,useReducer:Pr,useRef:Pr,useState:Pr,useDebugValue:Pr,useDeferredValue:Pr,useTransition:Pr,useMutableSource:Pr,useSyncExternalStore:Pr,useId:Pr,unstable_isNewReconciler:!1},gM={readContext:Rn,useCallback:function(e,t){return uo().memoizedState=[e,t===void 0?null:t],e},useContext:Rn,useEffect:lx,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,kc(4194308,4,Q5.bind(null,t,e),r)},useLayoutEffect:function(e,t){return kc(4194308,4,e,t)},useInsertionEffect:function(e,t){return kc(4,2,e,t)},useMemo:function(e,t){var r=uo();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=uo();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=pM.bind(null,Qt,e),[n.memoizedState,e]},useRef:function(e){var t=uo();return e={current:e},t.memoizedState=e},useState:ix,useDebugValue:Xg,useDeferredValue:function(e){return uo().memoizedState=e},useTransition:function(){var e=ix(!1),t=e[0];return e=fM.bind(null,e[1]),uo().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=Qt,o=uo();if(Ht){if(r===void 0)throw Error(Re(407));r=r()}else{if(r=t(),br===null)throw Error(Re(349));ei&30||U5(n,t,r)}o.memoizedState=r;var a={value:r,getSnapshot:t};return o.queue=a,lx($5.bind(null,n,a,e),[e]),n.flags|=2048,qs(9,W5.bind(null,n,a,r,t),void 0,null),r},useId:function(){var e=uo(),t=br.identifierPrefix;if(Ht){var r=jo,n=No;r=(n&~(1<<32-Gn(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=$s++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=i.createElement(r,{is:n.is}):(e=i.createElement(r),r==="select"&&(i=e,n.multiple?i.multiple=!0:n.size&&(i.size=n.size))):e=i.createElementNS(e,r),e[co]=t,e[Vs]=n,p1(e,t,!1,!1),t.stateNode=e;e:{switch(i=Kh(r,n),r){case"dialog":Ft("cancel",e),Ft("close",e),o=n;break;case"iframe":case"object":case"embed":Ft("load",e),o=n;break;case"video":case"audio":for(o=0;oul&&(t.flags|=128,n=!0,ns(a,!1),t.lanes=4194304)}else{if(!n)if(e=hd(i),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),ns(a,!0),a.tail===null&&a.tailMode==="hidden"&&!i.alternate&&!Ht)return kr(t),null}else 2*nr()-a.renderingStartTime>ul&&r!==1073741824&&(t.flags|=128,n=!0,ns(a,!1),t.lanes=4194304);a.isBackwards?(i.sibling=t.child,t.child=i):(r=a.last,r!==null?r.sibling=i:t.child=i,a.last=i)}return a.tail!==null?(t=a.tail,a.rendering=t,a.tail=t.sibling,a.renderingStartTime=nr(),t.sibling=null,r=Kt.current,Lt(Kt,n?r&1|2:r&1),t):(kr(t),null);case 22:case 23:return nm(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&t.mode&1?on&1073741824&&(kr(t),t.subtreeFlags&6&&(t.flags|=8192)):kr(t),null;case 24:return null;case 25:return null}throw Error(Re(156,t.tag))}function SM(e,t){switch(Lg(t),t.tag){case 1:return Jr(t.type)&&ld(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ll(),Bt(Zr),Bt(Ar),qg(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Hg(t),null;case 13:if(Bt(Kt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(Re(340));al()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Bt(Kt),null;case 4:return ll(),null;case 10:return Vg(t.type._context),null;case 22:case 23:return nm(),null;case 24:return null;default:return null}}var nc=!1,jr=!1,CM=typeof WeakSet=="function"?WeakSet:Set,$e=null;function Ui(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){rr(e,t,n)}else r.current=null}function w0(e,t,r){try{r()}catch(n){rr(e,t,n)}}var mx=!1;function TM(e,t){if(o0=nd,e=y5(),Ig(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var i=0,s=-1,f=-1,g=0,b=0,S=e,O=null;t:for(;;){for(var T;S!==r||o!==0&&S.nodeType!==3||(s=i+o),S!==a||n!==0&&S.nodeType!==3||(f=i+n),S.nodeType===3&&(i+=S.nodeValue.length),(T=S.firstChild)!==null;)O=S,S=T;for(;;){if(S===e)break t;if(O===r&&++g===o&&(s=i),O===a&&++b===n&&(f=i),(T=S.nextSibling)!==null)break;S=O,O=S.parentNode}S=T}r=s===-1||f===-1?null:{start:s,end:f}}else r=null}r=r||{start:0,end:0}}else r=null;for(a0={focusedElem:e,selectionRange:r},nd=!1,$e=t;$e!==null;)if(t=$e,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,$e=e;else for(;$e!==null;){t=$e;try{var C=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(C!==null){var w=C.memoizedProps,m=C.memoizedState,d=t.stateNode,l=d.getSnapshotBeforeUpdate(t.elementType===t.type?w:Bn(t.type,w),m);d.__reactInternalSnapshotBeforeUpdate=l}break;case 3:var c=t.stateNode.containerInfo;c.nodeType===1?c.textContent="":c.nodeType===9&&c.documentElement&&c.removeChild(c.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(Re(163))}}catch(u){rr(t,t.return,u)}if(e=t.sibling,e!==null){e.return=t.return,$e=e;break}$e=t.return}return C=mx,mx=!1,C}function _s(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var o=n=n.next;do{if((o.tag&e)===e){var a=o.destroy;o.destroy=void 0,a!==void 0&&w0(t,r,a)}o=o.next}while(o!==n)}}function lf(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function _0(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function m1(e){var t=e.alternate;t!==null&&(e.alternate=null,m1(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[co],delete t[Vs],delete t[s0],delete t[lM],delete t[sM])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function b1(e){return e.tag===5||e.tag===3||e.tag===4}function bx(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||b1(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function S0(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=id));else if(n!==4&&(e=e.child,e!==null))for(S0(e,t,r),e=e.sibling;e!==null;)S0(e,t,r),e=e.sibling}function C0(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(C0(e,t,r),e=e.sibling;e!==null;)C0(e,t,r),e=e.sibling}var xr=null,Vn=!1;function ea(e,t,r){for(r=r.child;r!==null;)v1(e,t,r),r=r.sibling}function v1(e,t,r){if(po&&typeof po.onCommitFiberUnmount=="function")try{po.onCommitFiberUnmount(Zd,r)}catch{}switch(r.tag){case 5:jr||Ui(r,t);case 6:var n=xr,o=Vn;xr=null,ea(e,t,r),xr=n,Vn=o,xr!==null&&(Vn?(e=xr,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):xr.removeChild(r.stateNode));break;case 18:xr!==null&&(Vn?(e=xr,r=r.stateNode,e.nodeType===8?Kp(e.parentNode,r):e.nodeType===1&&Kp(e,r),Ds(e)):Kp(xr,r.stateNode));break;case 4:n=xr,o=Vn,xr=r.stateNode.containerInfo,Vn=!0,ea(e,t,r),xr=n,Vn=o;break;case 0:case 11:case 14:case 15:if(!jr&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){o=n=n.next;do{var a=o,i=a.destroy;a=a.tag,i!==void 0&&(a&2||a&4)&&w0(r,t,i),o=o.next}while(o!==n)}ea(e,t,r);break;case 1:if(!jr&&(Ui(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(s){rr(r,t,s)}ea(e,t,r);break;case 21:ea(e,t,r);break;case 22:r.mode&1?(jr=(n=jr)||r.memoizedState!==null,ea(e,t,r),jr=n):ea(e,t,r);break;default:ea(e,t,r)}}function vx(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new CM),t.forEach(function(n){var o=MM.bind(null,e,n);r.has(n)||(r.add(n),n.then(o,o))})}}function Fn(e,t){var r=t.deletions;if(r!==null)for(var n=0;no&&(o=i),n&=~a}if(n=o,n=nr()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*PM(n/1960))-n,10e?16:e,da===null)var n=!1;else{if(e=da,da=null,yd=0,Ct&6)throw Error(Re(331));var o=Ct;for(Ct|=4,$e=e.current;$e!==null;){var a=$e,i=a.child;if($e.flags&16){var s=a.deletions;if(s!==null){for(var f=0;fnr()-tm?Ka(e,0):em|=r),en(e,t)}function O1(e,t){t===0&&(e.mode&1?(t=Ku,Ku<<=1,!(Ku&130023424)&&(Ku=4194304)):t=1);var r=Br();e=Lo(e,t),e!==null&&(lu(e,t,r),en(e,r))}function AM(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),O1(e,r)}function MM(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(Re(314))}n!==null&&n.delete(t),O1(e,r)}var P1;P1=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Zr.current)Qr=!0;else{if(!(e.lanes&r)&&!(t.flags&128))return Qr=!1,wM(e,t,r);Qr=!!(e.flags&131072)}else Qr=!1,Ht&&t.flags&1048576&&N5(t,cd,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;Ec(e,t),e=t.pendingProps;var o=ol(t,Ar.current);Qi(t,r),o=Kg(null,t,n,e,o,r);var a=Yg();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Jr(n)?(a=!0,sd(t)):a=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Wg(t),o.updater=of,t.stateNode=o,o._reactInternals=t,h0(t,n,e,r),t=b0(null,t,n,!0,a,r)):(t.tag=0,Ht&&a&&Dg(t),zr(null,t,o,r),t=t.child),t;case 16:n=t.elementType;e:{switch(Ec(e,t),e=t.pendingProps,o=n._init,n=o(n._payload),t.type=n,o=t.tag=DM(n),e=Bn(n,e),o){case 0:t=m0(null,t,n,e,r);break e;case 1:t=px(null,t,n,e,r);break e;case 11:t=dx(null,t,n,e,r);break e;case 14:t=fx(null,t,n,Bn(n.type,e),r);break e}throw Error(Re(306,n,""))}return t;case 0:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Bn(n,o),m0(e,t,n,o,r);case 1:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Bn(n,o),px(e,t,n,o,r);case 3:e:{if(c1(t),e===null)throw Error(Re(387));n=t.pendingProps,a=t.memoizedState,o=a.element,M5(e,t),pd(t,n,null,r);var i=t.memoizedState;if(n=i.element,a.isDehydrated)if(a={element:n,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){o=sl(Error(Re(423)),t),t=hx(e,t,n,r,o);break e}else if(n!==o){o=sl(Error(Re(424)),t),t=hx(e,t,n,r,o);break e}else for(an=ma(t.stateNode.containerInfo.firstChild),cn=t,Ht=!0,Wn=null,r=F5(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(al(),n===o){t=Fo(e,t,r);break e}zr(e,t,n,r)}t=t.child}return t;case 5:return z5(t),e===null&&d0(t),n=t.type,o=t.pendingProps,a=e!==null?e.memoizedProps:null,i=o.children,i0(n,o)?i=null:a!==null&&i0(n,a)&&(t.flags|=32),u1(e,t),zr(e,t,i,r),t.child;case 6:return e===null&&d0(t),null;case 13:return d1(e,t,r);case 4:return $g(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=il(t,null,n,r):zr(e,t,n,r),t.child;case 11:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Bn(n,o),dx(e,t,n,o,r);case 7:return zr(e,t,t.pendingProps,r),t.child;case 8:return zr(e,t,t.pendingProps.children,r),t.child;case 12:return zr(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,o=t.pendingProps,a=t.memoizedProps,i=o.value,Lt(dd,n._currentValue),n._currentValue=i,a!==null)if(Qn(a.value,i)){if(a.children===o.children&&!Zr.current){t=Fo(e,t,r);break e}}else for(a=t.child,a!==null&&(a.return=t);a!==null;){var s=a.dependencies;if(s!==null){i=a.child;for(var f=s.firstContext;f!==null;){if(f.context===n){if(a.tag===1){f=Ro(-1,r&-r),f.tag=2;var g=a.updateQueue;if(g!==null){g=g.shared;var b=g.pending;b===null?f.next=f:(f.next=b.next,b.next=f),g.pending=f}}a.lanes|=r,f=a.alternate,f!==null&&(f.lanes|=r),f0(a.return,r,t),s.lanes|=r;break}f=f.next}}else if(a.tag===10)i=a.type===t.type?null:a.child;else if(a.tag===18){if(i=a.return,i===null)throw Error(Re(341));i.lanes|=r,s=i.alternate,s!==null&&(s.lanes|=r),f0(i,r,t),i=a.sibling}else i=a.child;if(i!==null)i.return=a;else for(i=a;i!==null;){if(i===t){i=null;break}if(a=i.sibling,a!==null){a.return=i.return,i=a;break}i=i.return}a=i}zr(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,n=t.pendingProps.children,Qi(t,r),o=Rn(o),n=n(o),t.flags|=1,zr(e,t,n,r),t.child;case 14:return n=t.type,o=Bn(n,t.pendingProps),o=Bn(n.type,o),fx(e,t,n,o,r);case 15:return l1(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Bn(n,o),Ec(e,t),t.tag=1,Jr(n)?(e=!0,sd(t)):e=!1,Qi(t,r),D5(t,n,o),h0(t,n,o,r),b0(null,t,n,!0,e,r);case 19:return f1(e,t,r);case 22:return s1(e,t,r)}throw Error(Re(156,t.tag))};function k1(e,t){return e5(e,t)}function IM(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kn(e,t,r,n){return new IM(e,t,r,n)}function am(e){return e=e.prototype,!(!e||!e.isReactComponent)}function DM(e){if(typeof e=="function")return am(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Cg)return 11;if(e===Tg)return 14}return 2}function xa(e,t){var r=e.alternate;return r===null?(r=kn(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function Rc(e,t,r,n,o,a){var i=2;if(n=e,typeof e=="function")am(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Ai:return Ya(r.children,o,a,t);case Sg:i=8,o|=8;break;case Fh:return e=kn(12,r,t,o|2),e.elementType=Fh,e.lanes=a,e;case zh:return e=kn(13,r,t,o),e.elementType=zh,e.lanes=a,e;case Bh:return e=kn(19,r,t,o),e.elementType=Bh,e.lanes=a,e;case L_:return uf(r,o,a,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case I_:i=10;break e;case D_:i=9;break e;case Cg:i=11;break e;case Tg:i=14;break e;case aa:i=16,n=null;break e}throw Error(Re(130,e==null?e:typeof e,""))}return t=kn(i,r,t,o),t.elementType=e,t.type=n,t.lanes=a,t}function Ya(e,t,r,n){return e=kn(7,e,n,t),e.lanes=r,e}function uf(e,t,r,n){return e=kn(22,e,n,t),e.elementType=L_,e.lanes=r,e.stateNode={isHidden:!1},e}function rh(e,t,r){return e=kn(6,e,null,t),e.lanes=r,e}function nh(e,t,r){return t=kn(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function LM(e,t,r,n,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Lp(0),this.expirationTimes=Lp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Lp(0),this.identifierPrefix=n,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function im(e,t,r,n,o,a,i,s,f){return e=new LM(e,t,r,s,f),t===1?(t=1,a===!0&&(t|=8)):t=0,a=kn(3,null,null,t),e.current=a,a.stateNode=e,a.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},Wg(a),e}function FM(e,t,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(R1)}catch(e){console.error(e)}}R1(),N_.exports=hn;var zo=N_.exports,Ox=zo;Dh.createRoot=Ox.createRoot,Dh.hydrateRoot=Ox.hydrateRoot;/** + * @remix-run/router v1.10.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Ks(){return Ks=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function cm(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function $M(){return Math.random().toString(36).substr(2,8)}function kx(e,t){return{usr:e.state,key:e.key,idx:t}}function E0(e,t,r,n){return r===void 0&&(r=null),Ks({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Cl(t):t,{state:r,key:t&&t.key||n||$M()})}function _d(e){let{pathname:t="/",search:r="",hash:n=""}=e;return r&&r!=="?"&&(t+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(t+=n.charAt(0)==="#"?n:"#"+n),t}function Cl(e){let t={};if(e){let r=e.indexOf("#");r>=0&&(t.hash=e.substr(r),e=e.substr(0,r));let n=e.indexOf("?");n>=0&&(t.search=e.substr(n),e=e.substr(0,n)),e&&(t.pathname=e)}return t}function HM(e,t,r,n){n===void 0&&(n={});let{window:o=document.defaultView,v5Compat:a=!1}=n,i=o.history,s=fa.Pop,f=null,g=b();g==null&&(g=0,i.replaceState(Ks({},i.state,{idx:g}),""));function b(){return(i.state||{idx:null}).idx}function S(){s=fa.Pop;let m=b(),d=m==null?null:m-g;g=m,f&&f({action:s,location:w.location,delta:d})}function O(m,d){s=fa.Push;let l=E0(w.location,m,d);r&&r(l,m),g=b()+1;let c=kx(l,g),u=w.createHref(l);try{i.pushState(c,"",u)}catch(h){if(h instanceof DOMException&&h.name==="DataCloneError")throw h;o.location.assign(u)}a&&f&&f({action:s,location:w.location,delta:1})}function T(m,d){s=fa.Replace;let l=E0(w.location,m,d);r&&r(l,m),g=b();let c=kx(l,g),u=w.createHref(l);i.replaceState(c,"",u),a&&f&&f({action:s,location:w.location,delta:0})}function C(m){let d=o.location.origin!=="null"?o.location.origin:o.location.href,l=typeof m=="string"?m:_d(m);return Xt(d,"No window.location.(origin|href) available to create URL for href: "+l),new URL(l,d)}let w={get action(){return s},get location(){return e(o,i)},listen(m){if(f)throw new Error("A history only accepts one active listener");return o.addEventListener(Px,S),f=m,()=>{o.removeEventListener(Px,S),f=null}},createHref(m){return t(o,m)},createURL:C,encodeLocation(m){let d=C(m);return{pathname:d.pathname,search:d.search,hash:d.hash}},push:O,replace:T,go(m){return i.go(m)}};return w}var Ex;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Ex||(Ex={}));function qM(e,t,r){r===void 0&&(r="/");let n=typeof t=="string"?Cl(t):t,o=Ys(n.pathname||"/",r);if(o==null)return null;let a=A1(e);GM(a);let i=null;for(let s=0;i==null&&s{let f={relativePath:s===void 0?a.path||"":s,caseSensitive:a.caseSensitive===!0,childrenIndex:i,route:a};f.relativePath.startsWith("/")&&(Xt(f.relativePath.startsWith(n),'Absolute route path "'+f.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),f.relativePath=f.relativePath.slice(n.length));let g=wa([n,f.relativePath]),b=r.concat(f);a.children&&a.children.length>0&&(Xt(a.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+g+'".')),A1(a.children,t,b,g)),!(a.path==null&&!a.index)&&t.push({path:g,score:eI(g,a.index),routesMeta:b})};return e.forEach((a,i)=>{var s;if(a.path===""||!((s=a.path)!=null&&s.includes("?")))o(a,i);else for(let f of M1(a.path))o(a,i,f)}),t}function M1(e){let t=e.split("/");if(t.length===0)return[];let[r,...n]=t,o=r.endsWith("?"),a=r.replace(/\?$/,"");if(n.length===0)return o?[a,""]:[a];let i=M1(n.join("/")),s=[];return s.push(...i.map(f=>f===""?a:[a,f].join("/"))),o&&s.push(...i),s.map(f=>e.startsWith("/")&&f===""?"/":f)}function GM(e){e.sort((t,r)=>t.score!==r.score?r.score-t.score:tI(t.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const KM=/^:\w+$/,YM=3,QM=2,XM=1,ZM=10,JM=-2,Nx=e=>e==="*";function eI(e,t){let r=e.split("/"),n=r.length;return r.some(Nx)&&(n+=JM),t&&(n+=QM),r.filter(o=>!Nx(o)).reduce((o,a)=>o+(KM.test(a)?YM:a===""?XM:ZM),n)}function tI(e,t){return e.length===t.length&&e.slice(0,-1).every((n,o)=>n===t[o])?e[e.length-1]-t[t.length-1]:0}function rI(e,t){let{routesMeta:r}=e,n={},o="/",a=[];for(let i=0;i{if(b==="*"){let O=s[S]||"";i=a.slice(0,a.length-O.length).replace(/(.)\/+$/,"$1")}return g[b]=aI(s[S]||"",b),g},{}),pathname:a,pathnameBase:i,pattern:e}}function nI(e,t,r){t===void 0&&(t=!1),r===void 0&&(r=!0),cm(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let n=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(i,s)=>(n.push(s),"/([^\\/]+)"));return e.endsWith("*")?(n.push("*"),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),n]}function oI(e){try{return decodeURI(e)}catch(t){return cm(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function aI(e,t){try{return decodeURIComponent(e)}catch(r){return cm(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+r+").")),e}}function Ys(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let r=t.endsWith("/")?t.length-1:t.length,n=e.charAt(r);return n&&n!=="/"?null:e.slice(r)||"/"}function iI(e,t){t===void 0&&(t="/");let{pathname:r,search:n="",hash:o=""}=typeof e=="string"?Cl(e):e;return{pathname:r?r.startsWith("/")?r:lI(r,t):t,search:uI(n),hash:cI(o)}}function lI(e,t){let r=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?r.length>1&&r.pop():o!=="."&&r.push(o)}),r.length>1?r.join("/"):"/"}function oh(e,t,r,n){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function dm(e){return e.filter((t,r)=>r===0||t.route.path&&t.route.path.length>0)}function fm(e,t,r,n){n===void 0&&(n=!1);let o;typeof e=="string"?o=Cl(e):(o=Ks({},e),Xt(!o.pathname||!o.pathname.includes("?"),oh("?","pathname","search",o)),Xt(!o.pathname||!o.pathname.includes("#"),oh("#","pathname","hash",o)),Xt(!o.search||!o.search.includes("#"),oh("#","search","hash",o)));let a=e===""||o.pathname==="",i=a?"/":o.pathname,s;if(n||i==null)s=r;else{let S=t.length-1;if(i.startsWith("..")){let O=i.split("/");for(;O[0]==="..";)O.shift(),S-=1;o.pathname=O.join("/")}s=S>=0?t[S]:"/"}let f=iI(o,s),g=i&&i!=="/"&&i.endsWith("/"),b=(a||i===".")&&r.endsWith("/");return!f.pathname.endsWith("/")&&(g||b)&&(f.pathname+="/"),f}const wa=e=>e.join("/").replace(/\/\/+/g,"/"),sI=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),uI=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,cI=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function dI(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const I1=["post","put","patch","delete"];new Set(I1);const fI=["get",...I1];new Set(fI);/** + * React Router v6.17.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Sd(){return Sd=Object.assign?Object.assign.bind():function(e){for(var t=1;tf.pathnameBase)),i=k.useRef(!1);return F1(()=>{i.current=!0}),k.useCallback(function(f,g){if(g===void 0&&(g={}),!i.current)return;if(typeof f=="number"){r.go(f);return}let b=fm(f,JSON.parse(a),o,g.relative==="path");e==null&&t!=="/"&&(b.pathname=b.pathname==="/"?t:wa([t,b.pathname])),(g.replace?r.replace:r.push)(b,g.state,g)},[t,r,a,o,e])}function z1(){let{matches:e}=k.useContext(Uo),t=e[e.length-1];return t?t.params:{}}function mf(e,t){let{relative:r}=t===void 0?{}:t,{matches:n}=k.useContext(Uo),{pathname:o}=Na(),a=JSON.stringify(dm(n).map(i=>i.pathnameBase));return k.useMemo(()=>fm(e,JSON.parse(a),o,r==="path"),[e,a,o,r])}function gI(e,t){return mI(e,t)}function mI(e,t,r){Tl()||Xt(!1);let{navigator:n}=k.useContext(ui),{matches:o}=k.useContext(Uo),a=o[o.length-1],i=a?a.params:{};a&&a.pathname;let s=a?a.pathnameBase:"/";a&&a.route;let f=Na(),g;if(t){var b;let w=typeof t=="string"?Cl(t):t;s==="/"||(b=w.pathname)!=null&&b.startsWith(s)||Xt(!1),g=w}else g=f;let S=g.pathname||"/",O=s==="/"?S:S.slice(s.length)||"/",T=qM(e,{pathname:O}),C=wI(T&&T.map(w=>Object.assign({},w,{params:Object.assign({},i,w.params),pathname:wa([s,n.encodeLocation?n.encodeLocation(w.pathname).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?s:wa([s,n.encodeLocation?n.encodeLocation(w.pathnameBase).pathname:w.pathnameBase])})),o,r);return t&&C?k.createElement(gf.Provider,{value:{location:Sd({pathname:"/",search:"",hash:"",state:null,key:"default"},g),navigationType:fa.Pop}},C):C}function bI(){let e=TI(),t=dI(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),r=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},a=null;return k.createElement(k.Fragment,null,k.createElement("h2",null,"Unexpected Application Error!"),k.createElement("h3",{style:{fontStyle:"italic"}},t),r?k.createElement("pre",{style:o},r):null,a)}const vI=k.createElement(bI,null);class yI extends k.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,r){return r.location!==t.location||r.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error||r.error,location:r.location,revalidation:t.revalidation||r.revalidation}}componentDidCatch(t,r){console.error("React Router caught the following error during render",t,r)}render(){return this.state.error?k.createElement(Uo.Provider,{value:this.props.routeContext},k.createElement(L1.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function xI(e){let{routeContext:t,match:r,children:n}=e,o=k.useContext(hf);return o&&o.static&&o.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=r.route.id),k.createElement(Uo.Provider,{value:t},n)}function wI(e,t,r){var n;if(t===void 0&&(t=[]),r===void 0&&(r=null),e==null){var o;if((o=r)!=null&&o.errors)e=r.matches;else return null}let a=e,i=(n=r)==null?void 0:n.errors;if(i!=null){let s=a.findIndex(f=>f.route.id&&(i==null?void 0:i[f.route.id]));s>=0||Xt(!1),a=a.slice(0,Math.min(a.length,s+1))}return a.reduceRight((s,f,g)=>{let b=f.route.id?i==null?void 0:i[f.route.id]:null,S=null;r&&(S=f.route.errorElement||vI);let O=t.concat(a.slice(0,g+1)),T=()=>{let C;return b?C=S:f.route.Component?C=k.createElement(f.route.Component,null):f.route.element?C=f.route.element:C=s,k.createElement(xI,{match:f,routeContext:{outlet:s,matches:O,isDataRoute:r!=null},children:C})};return r&&(f.route.ErrorBoundary||f.route.errorElement||g===0)?k.createElement(yI,{location:r.location,revalidation:r.revalidation,component:S,error:b,children:T(),routeContext:{outlet:null,matches:O,isDataRoute:!0}}):T()},null)}var B1=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(B1||{}),Cd=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Cd||{});function _I(e){let t=k.useContext(hf);return t||Xt(!1),t}function SI(e){let t=k.useContext(D1);return t||Xt(!1),t}function CI(e){let t=k.useContext(Uo);return t||Xt(!1),t}function V1(e){let t=CI(),r=t.matches[t.matches.length-1];return r.route.id||Xt(!1),r.route.id}function TI(){var e;let t=k.useContext(L1),r=SI(Cd.UseRouteError),n=V1(Cd.UseRouteError);return t||((e=r.errors)==null?void 0:e[n])}function OI(){let{router:e}=_I(B1.UseNavigateStable),t=V1(Cd.UseNavigateStable),r=k.useRef(!1);return F1(()=>{r.current=!0}),k.useCallback(function(o,a){a===void 0&&(a={}),r.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,Sd({fromRouteId:t},a)))},[e,t])}function PI(e){let{to:t,replace:r,state:n,relative:o}=e;Tl()||Xt(!1);let{matches:a}=k.useContext(Uo),{pathname:i}=Na(),s=yo(),f=fm(t,dm(a).map(b=>b.pathnameBase),i,o==="path"),g=JSON.stringify(f);return k.useEffect(()=>s(JSON.parse(g),{replace:r,state:n,relative:o}),[s,g,o,r,n]),null}function fo(e){Xt(!1)}function kI(e){let{basename:t="/",children:r=null,location:n,navigationType:o=fa.Pop,navigator:a,static:i=!1}=e;Tl()&&Xt(!1);let s=t.replace(/^\/*/,"/"),f=k.useMemo(()=>({basename:s,navigator:a,static:i}),[s,a,i]);typeof n=="string"&&(n=Cl(n));let{pathname:g="/",search:b="",hash:S="",state:O=null,key:T="default"}=n,C=k.useMemo(()=>{let w=Ys(g,s);return w==null?null:{location:{pathname:w,search:b,hash:S,state:O,key:T},navigationType:o}},[s,g,b,S,O,T,o]);return C==null?null:k.createElement(ui.Provider,{value:f},k.createElement(gf.Provider,{children:r,value:C}))}function pm(e){let{children:t,location:r}=e;return gI(j0(t),r)}new Promise(()=>{});function j0(e,t){t===void 0&&(t=[]);let r=[];return k.Children.forEach(e,(n,o)=>{if(!k.isValidElement(n))return;let a=[...t,o];if(n.type===k.Fragment){r.push.apply(r,j0(n.props.children,a));return}n.type!==fo&&Xt(!1),!n.props.index||!n.props.children||Xt(!1);let i={id:n.props.id||a.join("-"),caseSensitive:n.props.caseSensitive,element:n.props.element,Component:n.props.Component,index:n.props.index,path:n.props.path,loader:n.props.loader,action:n.props.action,errorElement:n.props.errorElement,ErrorBoundary:n.props.ErrorBoundary,hasErrorBoundary:n.props.ErrorBoundary!=null||n.props.errorElement!=null,shouldRevalidate:n.props.shouldRevalidate,handle:n.props.handle,lazy:n.props.lazy};n.props.children&&(i.children=j0(n.props.children,a)),r.push(i)}),r}/** + * React Router DOM v6.17.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Td(){return Td=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(r[o]=e[o]);return r}function EI(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function NI(e,t){return e.button===0&&(!t||t==="_self")&&!EI(e)}const jI=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],RI=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],AI=k.createContext({isTransitioning:!1}),MI="startTransition",jx=fg[MI];function II(e){let{basename:t,children:r,future:n,window:o}=e,a=k.useRef();a.current==null&&(a.current=WM({window:o,v5Compat:!0}));let i=a.current,[s,f]=k.useState({action:i.action,location:i.location}),{v7_startTransition:g}=n||{},b=k.useCallback(S=>{g&&jx?jx(()=>f(S)):f(S)},[f,g]);return k.useLayoutEffect(()=>i.listen(b),[i,b]),k.createElement(kI,{basename:t,children:r,location:s.location,navigationType:s.action,navigator:i})}const DI=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",LI=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,W1=k.forwardRef(function(t,r){let{onClick:n,relative:o,reloadDocument:a,replace:i,state:s,target:f,to:g,preventScrollReset:b,unstable_viewTransition:S}=t,O=U1(t,jI),{basename:T}=k.useContext(ui),C,w=!1;if(typeof g=="string"&&LI.test(g)&&(C=g,DI))try{let c=new URL(window.location.href),u=g.startsWith("//")?new URL(c.protocol+g):new URL(g),h=Ys(u.pathname,T);u.origin===c.origin&&h!=null?g=h+u.search+u.hash:w=!0}catch{}let m=pI(g,{relative:o}),d=BI(g,{replace:i,state:s,target:f,preventScrollReset:b,relative:o,unstable_viewTransition:S});function l(c){n&&n(c),c.defaultPrevented||d(c)}return k.createElement("a",Td({},O,{href:C||m,onClick:w||a?n:l,ref:r,target:f}))}),FI=k.forwardRef(function(t,r){let{"aria-current":n="page",caseSensitive:o=!1,className:a="",end:i=!1,style:s,to:f,unstable_viewTransition:g,children:b}=t,S=U1(t,RI),O=mf(f,{relative:S.relative}),T=Na(),C=k.useContext(D1),{navigator:w}=k.useContext(ui),m=C!=null&&VI(O)&&g===!0,d=w.encodeLocation?w.encodeLocation(O).pathname:O.pathname,l=T.pathname,c=C&&C.navigation&&C.navigation.location?C.navigation.location.pathname:null;o||(l=l.toLowerCase(),c=c?c.toLowerCase():null,d=d.toLowerCase());let u=l===d||!i&&l.startsWith(d)&&l.charAt(d.length)==="/",h=c!=null&&(c===d||!i&&c.startsWith(d)&&c.charAt(d.length)==="/"),v={isActive:u,isPending:h,isTransitioning:m},y=u?n:void 0,E;typeof a=="function"?E=a(v):E=[a,u?"active":null,h?"pending":null,m?"transitioning":null].filter(Boolean).join(" ");let P=typeof s=="function"?s(v):s;return k.createElement(W1,Td({},S,{"aria-current":y,className:E,ref:r,style:P,to:f,unstable_viewTransition:g}),typeof b=="function"?b(v):b)});var R0;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(R0||(R0={}));var Rx;(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Rx||(Rx={}));function zI(e){let t=k.useContext(hf);return t||Xt(!1),t}function BI(e,t){let{target:r,replace:n,state:o,preventScrollReset:a,relative:i,unstable_viewTransition:s}=t===void 0?{}:t,f=yo(),g=Na(),b=mf(e,{relative:i});return k.useCallback(S=>{if(NI(S,r)){S.preventDefault();let O=n!==void 0?n:_d(g)===_d(b);f(e,{replace:O,state:o,preventScrollReset:a,relative:i,unstable_viewTransition:s})}},[g,f,b,n,o,r,e,a,i,s])}function VI(e,t){t===void 0&&(t={});let r=k.useContext(AI);r==null&&Xt(!1);let{basename:n}=zI(R0.useViewTransitionState),o=mf(e,{relative:t.relative});if(!r.isTransitioning)return!1;let a=Ys(r.currentLocation.pathname,n)||r.currentLocation.pathname,i=Ys(r.nextLocation.pathname,n)||r.nextLocation.pathname;return N0(o.pathname,i)!=null||N0(o.pathname,a)!=null}function UI({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{fillRule:"evenodd",d:"M7.5 3.75A1.5 1.5 0 006 5.25v13.5a1.5 1.5 0 001.5 1.5h6a1.5 1.5 0 001.5-1.5V15a.75.75 0 011.5 0v3.75a3 3 0 01-3 3h-6a3 3 0 01-3-3V5.25a3 3 0 013-3h6a3 3 0 013 3V9A.75.75 0 0115 9V5.25a1.5 1.5 0 00-1.5-1.5h-6zm5.03 4.72a.75.75 0 010 1.06l-1.72 1.72h10.94a.75.75 0 010 1.5H10.81l1.72 1.72a.75.75 0 11-1.06 1.06l-3-3a.75.75 0 010-1.06l3-3a.75.75 0 011.06 0z",clipRule:"evenodd"}))}const WI=k.forwardRef(UI),$I=WI;function HI({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{fillRule:"evenodd",d:"M3 6.75A.75.75 0 013.75 6h16.5a.75.75 0 010 1.5H3.75A.75.75 0 013 6.75zM3 12a.75.75 0 01.75-.75h16.5a.75.75 0 010 1.5H3.75A.75.75 0 013 12zm0 5.25a.75.75 0 01.75-.75h16.5a.75.75 0 010 1.5H3.75a.75.75 0 01-.75-.75z",clipRule:"evenodd"}))}const qI=k.forwardRef(HI),GI=qI;function KI({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{fillRule:"evenodd",d:"M11.078 2.25c-.917 0-1.699.663-1.85 1.567L9.05 4.889c-.02.12-.115.26-.297.348a7.493 7.493 0 00-.986.57c-.166.115-.334.126-.45.083L6.3 5.508a1.875 1.875 0 00-2.282.819l-.922 1.597a1.875 1.875 0 00.432 2.385l.84.692c.095.078.17.229.154.43a7.598 7.598 0 000 1.139c.015.2-.059.352-.153.43l-.841.692a1.875 1.875 0 00-.432 2.385l.922 1.597a1.875 1.875 0 002.282.818l1.019-.382c.115-.043.283-.031.45.082.312.214.641.405.985.57.182.088.277.228.297.35l.178 1.071c.151.904.933 1.567 1.85 1.567h1.844c.916 0 1.699-.663 1.85-1.567l.178-1.072c.02-.12.114-.26.297-.349.344-.165.673-.356.985-.57.167-.114.335-.125.45-.082l1.02.382a1.875 1.875 0 002.28-.819l.923-1.597a1.875 1.875 0 00-.432-2.385l-.84-.692c-.095-.078-.17-.229-.154-.43a7.614 7.614 0 000-1.139c-.016-.2.059-.352.153-.43l.84-.692c.708-.582.891-1.59.433-2.385l-.922-1.597a1.875 1.875 0 00-2.282-.818l-1.02.382c-.114.043-.282.031-.449-.083a7.49 7.49 0 00-.985-.57c-.183-.087-.277-.227-.297-.348l-.179-1.072a1.875 1.875 0 00-1.85-1.567h-1.843zM12 15.75a3.75 3.75 0 100-7.5 3.75 3.75 0 000 7.5z",clipRule:"evenodd"}))}const YI=k.forwardRef(KI),$1=YI;function QI({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{fillRule:"evenodd",d:"M15.75 1.5a6.75 6.75 0 00-6.651 7.906c.067.39-.032.717-.221.906l-6.5 6.499a3 3 0 00-.878 2.121v2.818c0 .414.336.75.75.75H6a.75.75 0 00.75-.75v-1.5h1.5A.75.75 0 009 19.5V18h1.5a.75.75 0 00.53-.22l2.658-2.658c.19-.189.517-.288.906-.22A6.75 6.75 0 1015.75 1.5zm0 3a.75.75 0 000 1.5A2.25 2.25 0 0118 8.25a.75.75 0 001.5 0 3.75 3.75 0 00-3.75-3.75z",clipRule:"evenodd"}))}const XI=k.forwardRef(QI),ZI=XI;function JI({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{fillRule:"evenodd",d:"M2.625 6.75a1.125 1.125 0 112.25 0 1.125 1.125 0 01-2.25 0zm4.875 0A.75.75 0 018.25 6h12a.75.75 0 010 1.5h-12a.75.75 0 01-.75-.75zM2.625 12a1.125 1.125 0 112.25 0 1.125 1.125 0 01-2.25 0zM7.5 12a.75.75 0 01.75-.75h12a.75.75 0 010 1.5h-12A.75.75 0 017.5 12zm-4.875 5.25a1.125 1.125 0 112.25 0 1.125 1.125 0 01-2.25 0zm4.875 0a.75.75 0 01.75-.75h12a.75.75 0 010 1.5h-12a.75.75 0 01-.75-.75z",clipRule:"evenodd"}))}const e4=k.forwardRef(JI),t4=e4;function r4({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{d:"M5.566 4.657A4.505 4.505 0 016.75 4.5h10.5c.41 0 .806.055 1.183.157A3 3 0 0015.75 3h-7.5a3 3 0 00-2.684 1.657zM2.25 12a3 3 0 013-3h13.5a3 3 0 013 3v6a3 3 0 01-3 3H5.25a3 3 0 01-3-3v-6zM5.25 7.5c-.41 0-.806.055-1.184.157A3 3 0 016.75 6h10.5a3 3 0 012.683 1.657A4.505 4.505 0 0018.75 7.5H5.25z"}))}const n4=k.forwardRef(r4),o4=n4;function a4({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{d:"M5.507 4.048A3 3 0 017.785 3h8.43a3 3 0 012.278 1.048l1.722 2.008A4.533 4.533 0 0019.5 6h-15c-.243 0-.482.02-.715.056l1.722-2.008z"}),k.createElement("path",{fillRule:"evenodd",d:"M1.5 10.5a3 3 0 013-3h15a3 3 0 110 6h-15a3 3 0 01-3-3zm15 0a.75.75 0 11-1.5 0 .75.75 0 011.5 0zm2.25.75a.75.75 0 100-1.5.75.75 0 000 1.5zM4.5 15a3 3 0 100 6h15a3 3 0 100-6h-15zm11.25 3.75a.75.75 0 100-1.5.75.75 0 000 1.5zM19.5 18a.75.75 0 11-1.5 0 .75.75 0 011.5 0z",clipRule:"evenodd"}))}const i4=k.forwardRef(a4),l4=i4;function s4({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{d:"M11.644 1.59a.75.75 0 01.712 0l9.75 5.25a.75.75 0 010 1.32l-9.75 5.25a.75.75 0 01-.712 0l-9.75-5.25a.75.75 0 010-1.32l9.75-5.25z"}),k.createElement("path",{d:"M3.265 10.602l7.668 4.129a2.25 2.25 0 002.134 0l7.668-4.13 1.37.739a.75.75 0 010 1.32l-9.75 5.25a.75.75 0 01-.71 0l-9.75-5.25a.75.75 0 010-1.32l1.37-.738z"}),k.createElement("path",{d:"M10.933 19.231l-7.668-4.13-1.37.739a.75.75 0 000 1.32l9.75 5.25c.221.12.489.12.71 0l9.75-5.25a.75.75 0 000-1.32l-1.37-.738-7.668 4.13a2.25 2.25 0 01-2.134-.001z"}))}const u4=k.forwardRef(s4),c4=u4;function d4({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{fillRule:"evenodd",d:"M8.25 6.75a3.75 3.75 0 117.5 0 3.75 3.75 0 01-7.5 0zM15.75 9.75a3 3 0 116 0 3 3 0 01-6 0zM2.25 9.75a3 3 0 116 0 3 3 0 01-6 0zM6.31 15.117A6.745 6.745 0 0112 12a6.745 6.745 0 016.709 7.498.75.75 0 01-.372.568A12.696 12.696 0 0112 21.75c-2.305 0-4.47-.612-6.337-1.684a.75.75 0 01-.372-.568 6.787 6.787 0 011.019-4.38z",clipRule:"evenodd"}),k.createElement("path",{d:"M5.082 14.254a8.287 8.287 0 00-1.308 5.135 9.687 9.687 0 01-1.764-.44l-.115-.04a.563.563 0 01-.373-.487l-.01-.121a3.75 3.75 0 013.57-4.047zM20.226 19.389a8.287 8.287 0 00-1.308-5.135 3.75 3.75 0 013.57 4.047l-.01.121a.563.563 0 01-.373.486l-.115.04c-.567.2-1.156.349-1.764.441z"}))}const f4=k.forwardRef(d4),p4=f4;function h4({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{fillRule:"evenodd",d:"M7.5 6a4.5 4.5 0 119 0 4.5 4.5 0 01-9 0zM3.751 20.105a8.25 8.25 0 0116.498 0 .75.75 0 01-.437.695A18.683 18.683 0 0112 22.5c-2.786 0-5.433-.608-7.812-1.7a.75.75 0 01-.437-.695z",clipRule:"evenodd"}))}const g4=k.forwardRef(h4),m4=g4;function b4({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{fillRule:"evenodd",d:"M12 6.75a5.25 5.25 0 016.775-5.025.75.75 0 01.313 1.248l-3.32 3.319c.063.475.276.934.641 1.299.365.365.824.578 1.3.64l3.318-3.319a.75.75 0 011.248.313 5.25 5.25 0 01-5.472 6.756c-1.018-.086-1.87.1-2.309.634L7.344 21.3A3.298 3.298 0 112.7 16.657l8.684-7.151c.533-.44.72-1.291.634-2.309A5.342 5.342 0 0112 6.75zM4.117 19.125a.75.75 0 01.75-.75h.008a.75.75 0 01.75.75v.008a.75.75 0 01-.75.75h-.008a.75.75 0 01-.75-.75v-.008z",clipRule:"evenodd"}),k.createElement("path",{d:"M10.076 8.64l-2.201-2.2V4.874a.75.75 0 00-.364-.643l-3.75-2.25a.75.75 0 00-.916.113l-.75.75a.75.75 0 00-.113.916l2.25 3.75a.75.75 0 00.643.364h1.564l2.062 2.062 1.575-1.297z"}),k.createElement("path",{fillRule:"evenodd",d:"M12.556 17.329l4.183 4.182a3.375 3.375 0 004.773-4.773l-3.306-3.305a6.803 6.803 0 01-1.53.043c-.394-.034-.682-.006-.867.042a.589.589 0 00-.167.063l-3.086 3.748zm3.414-1.36a.75.75 0 011.06 0l1.875 1.876a.75.75 0 11-1.06 1.06L15.97 17.03a.75.75 0 010-1.06z",clipRule:"evenodd"}))}const v4=k.forwardRef(b4),y4=v4;var G={},H1={},q1={exports:{}};/*! + Copyright (c) 2018 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/(function(e){(function(){var t={}.hasOwnProperty;function r(){for(var n=[],o=0;oe&&(t=0,n=r,r=new Map)}return{get:function(a){var i=r.get(a);return i!==void 0?i:(i=n.get(a))!==void 0?(o(a,i),i):void 0},set:function(a,i){r.has(a)?r.set(a,i):o(a,i)}}}function _4(e){var t=e.separator||":";return function(r){for(var n=0,o=[],a=0,i=0;i1?t-1:0),n=1;nf.length)&&(g=f.length);for(var b=0,S=new Array(g);bm.length)&&(d=m.length);for(var l=0,c=new Array(d);ll.length)&&(c=l.length);for(var u=0,h=new Array(c);ul.length)&&(c=l.length);for(var u=0,h=new Array(c);uy.length)&&(E=y.length);for(var P=0,N=new Array(E);Pu.length)&&(h=u.length);for(var v=0,y=new Array(h);vd.length)&&(l=d.length);for(var c=0,u=new Array(l);ch.length)&&(v=h.length);for(var y=0,E=new Array(v);yc.length)&&(u=c.length);for(var h=0,v=new Array(u);hT.length)&&(C=T.length);for(var w=0,m=new Array(C);ww.length)&&(m=w.length);for(var d=0,l=new Array(m);d"u"?s[g]=i.cloneUnlessOtherwiseSpecified(f,i):i.isMergeableObject(f)?s[g]=(0,t.default)(o[g],f,i):o.indexOf(f)===-1&&s.push(f)}),s}})(gT);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(T,C){for(var w in C)Object.defineProperty(T,w,{enumerable:!0,get:C[w]})}t(e,{MaterialTailwindTheme:function(){return b},ThemeProvider:function(){return S},useTheme:function(){return O}});var r=g(k),n=s(Ze),o=s(Sr),a=s(gm),i=s(gT);function s(T){return T&&T.__esModule?T:{default:T}}function f(T){if(typeof WeakMap!="function")return null;var C=new WeakMap,w=new WeakMap;return(f=function(m){return m?w:C})(T)}function g(T,C){if(!C&&T&&T.__esModule)return T;if(T===null||typeof T!="object"&&typeof T!="function")return{default:T};var w=f(C);if(w&&w.has(T))return w.get(T);var m={},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var l in T)if(l!=="default"&&Object.prototype.hasOwnProperty.call(T,l)){var c=d?Object.getOwnPropertyDescriptor(T,l):null;c&&(c.get||c.set)?Object.defineProperty(m,l,c):m[l]=T[l]}return m.default=T,w&&w.set(T,m),m}var b=(0,r.createContext)(a.default);b.displayName="MaterialTailwindThemeProvider";function S(T){var C=T.value,w=C===void 0?a.default:C,m=T.children,d=(0,o.default)(a.default,w,{arrayMerge:i.default});return r.default.createElement(b.Provider,{value:d},m)}var O=function(){return(0,r.useContext)(b)};S.propTypes={value:n.default.instanceOf(Object),children:n.default.node.isRequired}})(Ke);var vf={},pu={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(O,T){for(var C in T)Object.defineProperty(O,C,{enumerable:!0,get:T[C]})}t(e,{propTypesOpen:function(){return a},propTypesIcon:function(){return i},propTypesAnimate:function(){return s},propTypesDisabled:function(){return f},propTypesClassName:function(){return g},propTypesValue:function(){return b},propTypesChildren:function(){return S}});var r=o(Ze),n=Vt;function o(O){return O&&O.__esModule?O:{default:O}}var a=r.default.bool.isRequired,i=r.default.node,s=n.propTypesAnimation,f=r.default.bool,g=r.default.string,b=r.default.instanceOf(Object).isRequired,S=r.default.node.isRequired})(pu);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(f,g){for(var b in g)Object.defineProperty(f,b,{enumerable:!0,get:g[b]})}t(e,{AccordionContext:function(){return a},useAccordion:function(){return i},AccordionContextProvider:function(){return s}});var r=o(k),n=pu;function o(f){return f&&f.__esModule?f:{default:f}}var a=r.default.createContext(null);a.displayName="MaterialTailwind.AccordionContext";function i(){var f=r.default.useContext(a);if(!f)throw new Error("useAccordion() must be used within an Accordion. It happens when you use AccordionHeader or AccordionBody components outside the Accordion component.");return f}var s=function(f){var g=f.value,b=f.children;return r.default.createElement(a.Provider,{value:g},b)};s.propTypes={value:n.propTypesValue,children:n.propTypesChildren},s.displayName="MaterialTailwind.AccordionContextProvider"})(vf);var mT={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{AccordionHeader:function(){return C},default:function(){return w}});var r=S(k),n=S(at),o=Xe,a=S(Ye),i=vf,s=Ke,f=pu;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function T(m,d){if(m==null)return{};var l={},c=Object.keys(m),u,h;for(h=0;h=0)&&(l[u]=m[u]);return l}var C=r.default.forwardRef(function(m,d){var l=m.className,c=m.children,u=O(m,["className","children"]),h=(0,i.useAccordion)(),v=h.open,y=h.icon,E=h.disabled,P=(0,s.useTheme)().accordion,N=P.styles.base;l=l??"";var R=(0,o.twMerge)((0,n.default)((0,a.default)(N.header.initial),g({},(0,a.default)(N.header.active),v)),l),M=(0,n.default)((0,a.default)(N.header.icon));return r.default.createElement("button",b({},u,{ref:d,type:"button",disabled:E,className:R}),c,r.default.createElement("span",{className:M},y??(v?r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},r.default.createElement("path",{fillRule:"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z",clipRule:"evenodd"})):r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},r.default.createElement("path",{fillRule:"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z",clipRule:"evenodd"})))))});C.propTypes={className:f.propTypesClassName,children:f.propTypesChildren},C.displayName="MaterialTailwind.AccordionHeader";var w=C})(mT);var bT={},vr={},D0=function(e,t){return D0=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},D0(e,t)};function vT(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");D0(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}var Pd=function(){return Pd=Object.assign||function(t){for(var r,n=1,o=arguments.length;n=0;s--)(i=e[s])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function xT(e,t){return function(r,n){t(r,n,e)}}function wT(e,t,r,n,o,a){function i(d){if(d!==void 0&&typeof d!="function")throw new TypeError("Function expected");return d}for(var s=n.kind,f=s==="getter"?"get":s==="setter"?"set":"value",g=!t&&e?n.static?e:e.prototype:null,b=t||(g?Object.getOwnPropertyDescriptor(g,n.name):{}),S,O=!1,T=r.length-1;T>=0;T--){var C={};for(var w in n)C[w]=w==="access"?{}:n[w];for(var w in n.access)C.access[w]=n.access[w];C.addInitializer=function(d){if(O)throw new TypeError("Cannot add initializers after decoration has completed");a.push(i(d||null))};var m=(0,r[T])(s==="accessor"?{get:b.get,set:b.set}:b[f],C);if(s==="accessor"){if(m===void 0)continue;if(m===null||typeof m!="object")throw new TypeError("Object expected");(S=i(m.get))&&(b.get=S),(S=i(m.set))&&(b.set=S),(S=i(m.init))&&o.unshift(S)}else(S=i(m))&&(s==="field"?o.unshift(S):b[f]=S)}g&&Object.defineProperty(g,n.name,b),O=!0}function _T(e,t,r){for(var n=arguments.length>2,o=0;o0&&a[a.length-1])&&(g[0]===6||g[0]===2)){r=0;continue}if(g[0]===3&&(!a||g[1]>a[0]&&g[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function jm(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,a=[],i;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)a.push(o.value)}catch(s){i={error:s}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(i)throw i.error}}return a}function ET(){for(var e=[],t=0;t1||f(T,w)})},C&&(o[T]=C(o[T])))}function f(T,C){try{g(n[T](C))}catch(w){O(a[0][3],w)}}function g(T){T.value instanceof dl?Promise.resolve(T.value.v).then(b,S):O(a[0][2],T)}function b(T){f("next",T)}function S(T){f("throw",T)}function O(T,C){T(C),a.shift(),a.length&&f(a[0][0],a[0][1])}}function AT(e){var t,r;return t={},n("next"),n("throw",function(o){throw o}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(o,a){t[o]=e[o]?function(i){return(r=!r)?{value:dl(e[o](i)),done:!1}:a?a(i):i}:a}}function MT(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof kd=="function"?kd(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(a){r[a]=e[a]&&function(i){return new Promise(function(s,f){i=e[a](i),o(s,f,i.done,i.value)})}}function o(a,i,s,f){Promise.resolve(f).then(function(g){a({value:g,done:s})},i)}}function IT(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}var J4=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t},L0=function(e){return L0=Object.getOwnPropertyNames||function(t){var r=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[r.length]=n);return r},L0(e)};function DT(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=L0(e),n=0;nr=>Math.max(Math.min(r,t),e),Ts=e=>e%1?Number(e.toFixed(5)):e,Xs=/(-)?([\d]*\.?[\d])+/g,F0=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi,aD=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;function hu(e){return typeof e=="string"}const gu={test:e=>typeof e=="number",parse:parseFloat,transform:e=>e},Rm=Object.assign(Object.assign({},gu),{transform:GT(0,1)}),iD=Object.assign(Object.assign({},gu),{default:1}),mu=e=>({test:t=>hu(t)&&t.endsWith(e)&&t.split(" ").length===1,parse:parseFloat,transform:t=>`${t}${e}`}),lD=mu("deg"),Zi=mu("%"),sD=mu("px"),uD=mu("vh"),cD=mu("vw"),dD=Object.assign(Object.assign({},Zi),{parse:e=>Zi.parse(e)/100,transform:e=>Zi.transform(e*100)}),Am=(e,t)=>r=>!!(hu(r)&&aD.test(r)&&r.startsWith(e)||t&&Object.prototype.hasOwnProperty.call(r,t)),KT=(e,t,r)=>n=>{if(!hu(n))return n;const[o,a,i,s]=n.match(Xs);return{[e]:parseFloat(o),[t]:parseFloat(a),[r]:parseFloat(i),alpha:s!==void 0?parseFloat(s):1}},ps={test:Am("hsl","hue"),parse:KT("hue","saturation","lightness"),transform:({hue:e,saturation:t,lightness:r,alpha:n=1})=>"hsla("+Math.round(e)+", "+Zi.transform(Ts(t))+", "+Zi.transform(Ts(r))+", "+Ts(Rm.transform(n))+")"},fD=GT(0,255),Mc=Object.assign(Object.assign({},gu),{transform:e=>Math.round(fD(e))}),$i={test:Am("rgb","red"),parse:KT("red","green","blue"),transform:({red:e,green:t,blue:r,alpha:n=1})=>"rgba("+Mc.transform(e)+", "+Mc.transform(t)+", "+Mc.transform(r)+", "+Ts(Rm.transform(n))+")"};function pD(e){let t="",r="",n="",o="";return e.length>5?(t=e.substr(1,2),r=e.substr(3,2),n=e.substr(5,2),o=e.substr(7,2)):(t=e.substr(1,1),r=e.substr(2,1),n=e.substr(3,1),o=e.substr(4,1),t+=t,r+=r,n+=n,o+=o),{red:parseInt(t,16),green:parseInt(r,16),blue:parseInt(n,16),alpha:o?parseInt(o,16)/255:1}}const z0={test:Am("#"),parse:pD,transform:$i.transform},Mm={test:e=>$i.test(e)||z0.test(e)||ps.test(e),parse:e=>$i.test(e)?$i.parse(e):ps.test(e)?ps.parse(e):z0.parse(e),transform:e=>hu(e)?e:e.hasOwnProperty("red")?$i.transform(e):ps.transform(e)},YT="${c}",QT="${n}";function hD(e){var t,r,n,o;return isNaN(e)&&hu(e)&&((r=(t=e.match(Xs))===null||t===void 0?void 0:t.length)!==null&&r!==void 0?r:0)+((o=(n=e.match(F0))===null||n===void 0?void 0:n.length)!==null&&o!==void 0?o:0)>0}function XT(e){typeof e=="number"&&(e=`${e}`);const t=[];let r=0;const n=e.match(F0);n&&(r=n.length,e=e.replace(F0,YT),t.push(...n.map(Mm.parse)));const o=e.match(Xs);return o&&(e=e.replace(Xs,QT),t.push(...o.map(gu.parse))),{values:t,numColors:r,tokenised:e}}function ZT(e){return XT(e).values}function JT(e){const{values:t,numColors:r,tokenised:n}=XT(e),o=t.length;return a=>{let i=n;for(let s=0;stypeof e=="number"?0:e;function mD(e){const t=ZT(e);return JT(e)(t.map(gD))}const eO={test:hD,parse:ZT,createTransformer:JT,getAnimatableNone:mD},bD=new Set(["brightness","contrast","saturate","opacity"]);function vD(e){let[t,r]=e.slice(0,-1).split("(");if(t==="drop-shadow")return e;const[n]=r.match(Xs)||[];if(!n)return e;const o=r.replace(n,"");let a=bD.has(t)?1:0;return n!==r&&(a*=100),t+"("+a+o+")"}const yD=/([a-z-]*)\(.*?\)/g,xD=Object.assign(Object.assign({},eO),{getAnimatableNone:e=>{const t=e.match(yD);return t?t.map(vD).join(" "):e}});dr.alpha=Rm;dr.color=Mm;dr.complex=eO;dr.degrees=lD;dr.filter=xD;dr.hex=z0;dr.hsla=ps;dr.number=gu;dr.percent=Zi;dr.progressPercentage=dD;dr.px=sD;dr.rgbUnit=Mc;dr.rgba=$i;dr.scale=iD;dr.vh=uD;dr.vw=cD;var Je={},pi={};Object.defineProperty(pi,"__esModule",{value:!0});const tO=1/60*1e3,wD=typeof performance<"u"?()=>performance.now():()=>Date.now(),rO=typeof window<"u"?e=>window.requestAnimationFrame(e):e=>setTimeout(()=>e(wD()),tO);function _D(e){let t=[],r=[],n=0,o=!1,a=!1;const i=new WeakSet,s={schedule:(f,g=!1,b=!1)=>{const S=b&&o,O=S?t:r;return g&&i.add(f),O.indexOf(f)===-1&&(O.push(f),S&&o&&(n=t.length)),f},cancel:f=>{const g=r.indexOf(f);g!==-1&&r.splice(g,1),i.delete(f)},process:f=>{if(o){a=!0;return}if(o=!0,[t,r]=[r,t],r.length=0,n=t.length,n)for(let g=0;g(e[t]=_D(()=>Zs=!0),e),{}),CD=bu.reduce((e,t)=>{const r=xf[t];return e[t]=(n,o=!1,a=!1)=>(Zs||kD(),r.schedule(n,o,a)),e},{}),TD=bu.reduce((e,t)=>(e[t]=xf[t].cancel,e),{}),OD=bu.reduce((e,t)=>(e[t]=()=>xf[t].process(Ji),e),{}),PD=e=>xf[e].process(Ji),nO=e=>{Zs=!1,Ji.delta=B0?tO:Math.max(Math.min(e-Ji.timestamp,SD),1),Ji.timestamp=e,V0=!0,bu.forEach(PD),V0=!1,Zs&&(B0=!1,rO(nO))},kD=()=>{Zs=!0,B0=!0,V0||rO(nO)},ED=()=>Ji;pi.cancelSync=TD;pi.default=CD;pi.flushSync=OD;pi.getFrameData=ED;Object.defineProperty(Je,"__esModule",{value:!0});var oO=$T,fl=qT,$n=dr,wf=pi;function ND(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var jD=ND(wf);const Js=(e,t,r)=>Math.min(Math.max(r,e),t),ah=.001,RD=.01,Lx=10,AD=.05,MD=1;function ID({duration:e=800,bounce:t=.25,velocity:r=0,mass:n=1}){let o,a;fl.warning(e<=Lx*1e3,"Spring duration must be 10 seconds or less");let i=1-t;i=Js(AD,MD,i),e=Js(RD,Lx,e/1e3),i<1?(o=g=>{const b=g*i,S=b*e,O=b-r,T=U0(g,i),C=Math.exp(-S);return ah-O/T*C},a=g=>{const S=g*i*e,O=S*r+r,T=Math.pow(i,2)*Math.pow(g,2)*e,C=Math.exp(-S),w=U0(Math.pow(g,2),i);return(-o(g)+ah>0?-1:1)*((O-T)*C)/w}):(o=g=>{const b=Math.exp(-g*e),S=(g-r)*e+1;return-ah+b*S},a=g=>{const b=Math.exp(-g*e),S=(r-g)*(e*e);return b*S});const s=5/e,f=LD(o,a,s);if(e=e*1e3,isNaN(f))return{stiffness:100,damping:10,duration:e};{const g=Math.pow(f,2)*n;return{stiffness:g,damping:i*2*Math.sqrt(n*g),duration:e}}}const DD=12;function LD(e,t,r){let n=r;for(let o=1;oe[r]!==void 0)}function BD(e){let t=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},e);if(!Fx(e,zD)&&Fx(e,FD)){const r=ID(e);t=Object.assign(Object.assign(Object.assign({},t),r),{velocity:0,mass:1}),t.isResolvedFromDuration=!0}return t}function _f(e){var{from:t=0,to:r=1,restSpeed:n=2,restDelta:o}=e,a=oO.__rest(e,["from","to","restSpeed","restDelta"]);const i={done:!1,value:t};let{stiffness:s,damping:f,mass:g,velocity:b,duration:S,isResolvedFromDuration:O}=BD(a),T=zx,C=zx;function w(){const m=b?-(b/1e3):0,d=r-t,l=f/(2*Math.sqrt(s*g)),c=Math.sqrt(s/g)/1e3;if(o===void 0&&(o=Math.min(Math.abs(r-t)/100,.4)),l<1){const u=U0(c,l);T=h=>{const v=Math.exp(-l*c*h);return r-v*((m+l*c*d)/u*Math.sin(u*h)+d*Math.cos(u*h))},C=h=>{const v=Math.exp(-l*c*h);return l*c*v*(Math.sin(u*h)*(m+l*c*d)/u+d*Math.cos(u*h))-v*(Math.cos(u*h)*(m+l*c*d)-u*d*Math.sin(u*h))}}else if(l===1)T=u=>r-Math.exp(-c*u)*(d+(m+c*d)*u);else{const u=c*Math.sqrt(l*l-1);T=h=>{const v=Math.exp(-l*c*h),y=Math.min(u*h,300);return r-v*((m+l*c*d)*Math.sinh(y)+u*d*Math.cosh(y))/u}}}return w(),{next:m=>{const d=T(m);if(O)i.done=m>=S;else{const l=C(m)*1e3,c=Math.abs(l)<=n,u=Math.abs(r-d)<=o;i.done=c&&u}return i.value=i.done?r:d,i},flipTarget:()=>{b=-b,[t,r]=[r,t],w()}}}_f.needsInterpolation=(e,t)=>typeof e=="string"||typeof t=="string";const zx=e=>0,Im=(e,t,r)=>{const n=t-e;return n===0?1:(r-e)/n},Sf=(e,t,r)=>-r*e+r*t+e;function ih(e,t,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?e+(t-e)*6*r:r<1/2?t:r<2/3?e+(t-e)*(2/3-r)*6:e}function Bx({hue:e,saturation:t,lightness:r,alpha:n}){e/=360,t/=100,r/=100;let o=0,a=0,i=0;if(!t)o=a=i=r;else{const s=r<.5?r*(1+t):r+t-r*t,f=2*r-s;o=ih(f,s,e+1/3),a=ih(f,s,e),i=ih(f,s,e-1/3)}return{red:Math.round(o*255),green:Math.round(a*255),blue:Math.round(i*255),alpha:n}}const VD=(e,t,r)=>{const n=e*e,o=t*t;return Math.sqrt(Math.max(0,r*(o-n)+n))},UD=[$n.hex,$n.rgba,$n.hsla],Vx=e=>UD.find(t=>t.test(e)),Ux=e=>`'${e}' is not an animatable color. Use the equivalent color code instead.`,Dm=(e,t)=>{let r=Vx(e),n=Vx(t);fl.invariant(!!r,Ux(e)),fl.invariant(!!n,Ux(t));let o=r.parse(e),a=n.parse(t);r===$n.hsla&&(o=Bx(o),r=$n.rgba),n===$n.hsla&&(a=Bx(a),n=$n.rgba);const i=Object.assign({},o);return s=>{for(const f in i)f!=="alpha"&&(i[f]=VD(o[f],a[f],s));return i.alpha=Sf(o.alpha,a.alpha,s),r.transform(i)}},WD={x:0,y:0,z:0},W0=e=>typeof e=="number",$D=(e,t)=>r=>t(e(r)),Lm=(...e)=>e.reduce($D);function aO(e,t){return W0(e)?r=>Sf(e,t,r):$n.color.test(e)?Dm(e,t):Fm(e,t)}const iO=(e,t)=>{const r=[...e],n=r.length,o=e.map((a,i)=>aO(a,t[i]));return a=>{for(let i=0;i{const r=Object.assign(Object.assign({},e),t),n={};for(const o in r)e[o]!==void 0&&t[o]!==void 0&&(n[o]=aO(e[o],t[o]));return o=>{for(const a in n)r[a]=n[a](o);return r}};function Wx(e){const t=$n.complex.parse(e),r=t.length;let n=0,o=0,a=0;for(let i=0;i{const r=$n.complex.createTransformer(t),n=Wx(e),o=Wx(t);return n.numHSL===o.numHSL&&n.numRGB===o.numRGB&&n.numNumbers>=o.numNumbers?Lm(iO(n.parsed,o.parsed),r):(fl.warning(!0,`Complex values '${e}' and '${t}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),i=>`${i>0?t:e}`)},qD=(e,t)=>r=>Sf(e,t,r);function GD(e){if(typeof e=="number")return qD;if(typeof e=="string")return $n.color.test(e)?Dm:Fm;if(Array.isArray(e))return iO;if(typeof e=="object")return HD}function KD(e,t,r){const n=[],o=r||GD(e[0]),a=e.length-1;for(let i=0;ir(Im(e,t,n))}function QD(e,t){const r=e.length,n=r-1;return o=>{let a=0,i=!1;if(o<=e[0]?i=!0:o>=e[n]&&(a=n-1,i=!0),!i){let f=1;for(;fo||f===n);f++);a=f-1}const s=Im(e[a],e[a+1],o);return t[a](s)}}function zm(e,t,{clamp:r=!0,ease:n,mixer:o}={}){const a=e.length;fl.invariant(a===t.length,"Both input and output ranges must be the same length"),fl.invariant(!n||!Array.isArray(n)||n.length===a-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),e[0]>e[a-1]&&(e=[].concat(e),t=[].concat(t),e.reverse(),t.reverse());const i=KD(t,n,o),s=a===2?YD(e,i):QD(e,i);return r?f=>s(Js(e[0],e[a-1],f)):s}const vu=e=>t=>1-e(1-t),Cf=e=>t=>t<=.5?e(2*t)/2:(2-e(2*(1-t)))/2,lO=e=>t=>Math.pow(t,e),Bm=e=>t=>t*t*((e+1)*t-e),sO=e=>{const t=Bm(e);return r=>(r*=2)<1?.5*t(r):.5*(2-Math.pow(2,-10*(r-1)))},uO=1.525,XD=4/11,ZD=8/11,JD=9/10,cO=e=>e,Vm=lO(2),eL=vu(Vm),dO=Cf(Vm),fO=e=>1-Math.sin(Math.acos(e)),pO=vu(fO),tL=Cf(pO),Um=Bm(uO),rL=vu(Um),nL=Cf(Um),oL=sO(uO),aL=4356/361,iL=35442/1805,lL=16061/1805,Ed=e=>{if(e===1||e===0)return e;const t=e*e;return ee<.5?.5*(1-Ed(1-e*2)):.5*Ed(e*2-1)+.5;function cL(e,t){return e.map(()=>t||dO).splice(0,e.length-1)}function dL(e){const t=e.length;return e.map((r,n)=>n!==0?n/(t-1):0)}function fL(e,t){return e.map(r=>r*t)}function Os({from:e=0,to:t=1,ease:r,offset:n,duration:o=300}){const a={done:!1,value:e},i=Array.isArray(t)?t:[e,t],s=fL(n&&n.length===i.length?n:dL(i),o);function f(){return zm(s,i,{ease:Array.isArray(r)?r:cL(i,r)})}let g=f();return{next:b=>(a.value=g(b),a.done=b>=o,a),flipTarget:()=>{i.reverse(),g=f()}}}function hO({velocity:e=0,from:t=0,power:r=.8,timeConstant:n=350,restDelta:o=.5,modifyTarget:a}){const i={done:!1,value:t};let s=r*e;const f=t+s,g=a===void 0?f:a(f);return g!==f&&(s=g-t),{next:b=>{const S=-s*Math.exp(-b/n);return i.done=!(S>o||S<-o),i.value=i.done?g:g+S,i},flipTarget:()=>{}}}const $x={keyframes:Os,spring:_f,decay:hO};function pL(e){if(Array.isArray(e.to))return Os;if($x[e.type])return $x[e.type];const t=new Set(Object.keys(e));return t.has("ease")||t.has("duration")&&!t.has("dampingRatio")?Os:t.has("dampingRatio")||t.has("stiffness")||t.has("mass")||t.has("damping")||t.has("restSpeed")||t.has("restDelta")?_f:Os}function gO(e,t,r=0){return e-t-r}function hL(e,t,r=0,n=!0){return n?gO(t+-e,t,r):t-(e-t)+r}function gL(e,t,r,n){return n?e>=t+r:e<=-r}const mL=e=>{const t=({delta:r})=>e(r);return{start:()=>jD.default.update(t,!0),stop:()=>wf.cancelSync.update(t)}};function mO(e){var t,r,{from:n,autoplay:o=!0,driver:a=mL,elapsed:i=0,repeat:s=0,repeatType:f="loop",repeatDelay:g=0,onPlay:b,onStop:S,onComplete:O,onRepeat:T,onUpdate:C}=e,w=oO.__rest(e,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]);let{to:m}=w,d,l=0,c=w.duration,u,h=!1,v=!0,y;const E=pL(w);!((r=(t=E).needsInterpolation)===null||r===void 0)&&r.call(t,n,m)&&(y=zm([0,100],[n,m],{clamp:!1}),n=0,m=100);const P=E(Object.assign(Object.assign({},w),{from:n,to:m}));function N(){l++,f==="reverse"?(v=l%2===0,i=hL(i,c,g,v)):(i=gO(i,c,g),f==="mirror"&&P.flipTarget()),h=!1,T&&T()}function R(){d.stop(),O&&O()}function M(D){if(v||(D=-D),i+=D,!h){const B=P.next(Math.max(0,i));u=B.value,y&&(u=y(u)),h=v?B.done:i<=0}C==null||C(u),h&&(l===0&&(c??(c=i)),l{S==null||S(),d.stop()}}}function bO(e,t){return t?e*(1e3/t):0}function bL({from:e=0,velocity:t=0,min:r,max:n,power:o=.8,timeConstant:a=750,bounceStiffness:i=500,bounceDamping:s=10,restDelta:f=1,modifyTarget:g,driver:b,onUpdate:S,onComplete:O,onStop:T}){let C;function w(c){return r!==void 0&&cn}function m(c){return r===void 0?n:n===void 0||Math.abs(r-c){var h;S==null||S(u),(h=c.onUpdate)===null||h===void 0||h.call(c,u)},onComplete:O,onStop:T}))}function l(c){d(Object.assign({type:"spring",stiffness:i,damping:s,restDelta:f},c))}if(w(e))l({from:e,velocity:t,to:m(e)});else{let c=o*t+e;typeof g<"u"&&(c=g(c));const u=m(c),h=u===r?-1:1;let v,y;const E=P=>{v=y,y=P,t=bO(P-v,wf.getFrameData().delta),(h===1&&P>u||h===-1&&PC==null?void 0:C.stop()}}const vO=e=>e*180/Math.PI,vL=(e,t=WD)=>vO(Math.atan2(t.y-e.y,t.x-e.x)),yL=(e,t)=>{let r=!0;return t===void 0&&(t=e,r=!1),n=>r?n-e+t:(e=n,r=!0,t)},xL=e=>e,Wm=(e=xL)=>(t,r,n)=>{const o=r-n,a=-(0-t+1)*(0-e(Math.abs(o)));return o<=0?r+a:r-a},wL=Wm(),_L=Wm(Math.sqrt),yO=e=>e*Math.PI/180,Nd=e=>e.hasOwnProperty("x")&&e.hasOwnProperty("y"),$0=e=>Nd(e)&&e.hasOwnProperty("z"),ic=(e,t)=>Math.abs(e-t);function SL(e,t){if(W0(e)&&W0(t))return ic(e,t);if(Nd(e)&&Nd(t)){const r=ic(e.x,t.x),n=ic(e.y,t.y),o=$0(e)&&$0(t)?ic(e.z,t.z):0;return Math.sqrt(Math.pow(r,2)+Math.pow(n,2)+Math.pow(o,2))}}const CL=(e,t,r)=>(t=yO(t),{x:r*Math.cos(t)+e.x,y:r*Math.sin(t)+e.y}),xO=(e,t=2)=>(t=Math.pow(10,t),Math.round(e*t)/t),wO=(e,t,r,n=0)=>xO(e+r*(t-e)/Math.max(n,r)),TL=(e=50)=>{let t=0,r=0;return n=>{const o=wf.getFrameData().timestamp,a=o!==r?o-r:0,i=a?wO(t,n,a,e):t;return r=o,t=i,i}},OL=e=>{if(typeof e=="number")return t=>Math.round(t/e)*e;{let t=0;const r=e.length;return n=>{let o=Math.abs(e[0]-n);for(t=1;to)return e[t-1];if(t===r-1)return a;o=i}}}};function PL(e,t){return e/(1e3/t)}const kL=(e,t,r)=>{const n=t-e;return((r-e)%n+n)%n+e},_O=(e,t)=>1-3*t+3*e,SO=(e,t)=>3*t-6*e,CO=e=>3*e,jd=(e,t,r)=>((_O(t,r)*e+SO(t,r))*e+CO(t))*e,TO=(e,t,r)=>3*_O(t,r)*e*e+2*SO(t,r)*e+CO(t),EL=1e-7,NL=10;function jL(e,t,r,n,o){let a,i,s=0;do i=t+(r-t)/2,a=jd(i,n,o)-e,a>0?r=i:t=i;while(Math.abs(a)>EL&&++s=AL?ML(i,S,e,r):O===0?S:jL(i,s,s+lc,e,r)}return i=>i===0||i===1?i:jd(a(i),t,n)}const DL=(e,t="end")=>r=>{r=t==="end"?Math.min(r,.999):Math.max(r,.001);const n=r*e,o=t==="end"?Math.floor(n):Math.ceil(n);return Js(0,1,o/e)};Je.angle=vL;Je.animate=mO;Je.anticipate=oL;Je.applyOffset=yL;Je.attract=wL;Je.attractExpo=_L;Je.backIn=Um;Je.backInOut=nL;Je.backOut=rL;Je.bounceIn=sL;Je.bounceInOut=uL;Je.bounceOut=Ed;Je.circIn=fO;Je.circInOut=tL;Je.circOut=pO;Je.clamp=Js;Je.createAnticipate=sO;Je.createAttractor=Wm;Je.createBackIn=Bm;Je.createExpoIn=lO;Je.cubicBezier=IL;Je.decay=hO;Je.degreesToRadians=yO;Je.distance=SL;Je.easeIn=Vm;Je.easeInOut=dO;Je.easeOut=eL;Je.inertia=bL;Je.interpolate=zm;Je.isPoint=Nd;Je.isPoint3D=$0;Je.keyframes=Os;Je.linear=cO;Je.mirrorEasing=Cf;Je.mix=Sf;Je.mixColor=Dm;Je.mixComplex=Fm;Je.pipe=Lm;Je.pointFromVector=CL;Je.progress=Im;Je.radiansToDegrees=vO;Je.reverseEasing=vu;Je.smooth=TL;Je.smoothFrame=wO;Je.snap=OL;Je.spring=_f;Je.steps=DL;Je.toDecimal=xO;Je.velocityPerFrame=PL;Je.velocityPerSecond=bO;Je.wrap=kL;class LL{setAnimation(t){this.animation=t,t==null||t.finished.then(()=>this.clearAnimation()).catch(()=>{})}clearAnimation(){this.animation=this.generator=void 0}}const lh=new WeakMap;function $m(e){return lh.has(e)||lh.set(e,{transforms:[],values:new Map}),lh.get(e)}function FL(e,t){return e.has(t)||e.set(t,new LL),e.get(t)}function OO(e,t){e.indexOf(t)===-1&&e.push(t)}function PO(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}const kO=(e,t,r)=>Math.min(Math.max(r,e),t),Yr={duration:.3,delay:0,endDelay:0,repeat:0,easing:"ease"},Bo=e=>typeof e=="number",eu=e=>Array.isArray(e)&&!Bo(e[0]),zL=(e,t,r)=>{const n=t-e;return((r-e)%n+n)%n+e};function EO(e,t){return eu(e)?e[zL(0,e.length,t)]:e}const Hm=(e,t,r)=>-r*e+r*t+e,qm=()=>{},Ao=e=>e,Tf=(e,t,r)=>t-e===0?1:(r-e)/(t-e);function Gm(e,t){const r=e[e.length-1];for(let n=1;n<=t;n++){const o=Tf(0,t,n);e.push(Hm(r,1,o))}}function Km(e){const t=[0];return Gm(t,e-1),t}function NO(e,t=Km(e.length),r=Ao){const n=e.length,o=n-t.length;return o>0&&Gm(t,o),a=>{let i=0;for(;iArray.isArray(e)&&Bo(e[0]),Rd=e=>typeof e=="object"&&!!e.createAnimation,BL=e=>typeof e=="function",Ym=e=>typeof e=="string",Qa={ms:e=>e*1e3,s:e=>e/1e3};function RO(e,t){return t?e*(1e3/t):0}const VL=["","X","Y","Z"],UL=["translate","scale","rotate","skew"],pl={x:"translateX",y:"translateY",z:"translateZ"},Hx={syntax:"",initialValue:"0deg",toDefaultUnit:e=>e+"deg"},WL={translate:{syntax:"",initialValue:"0px",toDefaultUnit:e=>e+"px"},rotate:Hx,scale:{syntax:"",initialValue:1,toDefaultUnit:Ao},skew:Hx},hl=new Map,Of=e=>`--motion-${e}`,Ad=["x","y","z"];UL.forEach(e=>{VL.forEach(t=>{Ad.push(e+t),hl.set(Of(e+t),WL[e])})});const $L=(e,t)=>Ad.indexOf(e)-Ad.indexOf(t),HL=new Set(Ad),Pf=e=>HL.has(e),qL=(e,t)=>{pl[t]&&(t=pl[t]);const{transforms:r}=$m(e);OO(r,t),e.style.transform=AO(r)},AO=e=>e.sort($L).reduce(GL,"").trim(),GL=(e,t)=>`${e} ${t}(var(${Of(t)}))`,H0=e=>e.startsWith("--"),qx=new Set;function KL(e){if(!qx.has(e)){qx.add(e);try{const{syntax:t,initialValue:r}=hl.has(e)?hl.get(e):{};CSS.registerProperty({name:e,inherits:!1,syntax:t,initialValue:r})}catch{}}}const MO=(e,t,r)=>(((1-3*r+3*t)*e+(3*r-6*t))*e+3*t)*e,YL=1e-7,QL=12;function XL(e,t,r,n,o){let a,i,s=0;do i=t+(r-t)/2,a=MO(i,n,o)-e,a>0?r=i:t=i;while(Math.abs(a)>YL&&++sXL(a,0,1,e,r);return a=>a===0||a===1?a:MO(o(a),t,n)}const ZL=(e,t="end")=>r=>{r=t==="end"?Math.min(r,.999):Math.max(r,.001);const n=r*e,o=t==="end"?Math.floor(n):Math.ceil(n);return kO(0,1,o/e)},JL={ease:hs(.25,.1,.25,1),"ease-in":hs(.42,0,1,1),"ease-in-out":hs(.42,0,.58,1),"ease-out":hs(0,0,.58,1)},e3=/\((.*?)\)/;function q0(e){if(BL(e))return e;if(jO(e))return hs(...e);const t=JL[e];if(t)return t;if(e.startsWith("steps")){const r=e3.exec(e);if(r){const n=r[1].split(",");return ZL(parseFloat(n[0]),n[1].trim())}}return Ao}class t3{constructor(t,r=[0,1],{easing:n,duration:o=Yr.duration,delay:a=Yr.delay,endDelay:i=Yr.endDelay,repeat:s=Yr.repeat,offset:f,direction:g="normal",autoplay:b=!0}={}){if(this.startTime=null,this.rate=1,this.t=0,this.cancelTimestamp=null,this.easing=Ao,this.duration=0,this.totalDuration=0,this.repeat=0,this.playState="idle",this.finished=new Promise((O,T)=>{this.resolve=O,this.reject=T}),n=n||Yr.easing,Rd(n)){const O=n.createAnimation(r);n=O.easing,r=O.keyframes||r,o=O.duration||o}this.repeat=s,this.easing=eu(n)?Ao:q0(n),this.updateDuration(o);const S=NO(r,f,eu(n)?n.map(q0):Ao);this.tick=O=>{var T;a=a;let C=0;this.pauseTime!==void 0?C=this.pauseTime:C=(O-this.startTime)*this.rate,this.t=C,C/=1e3,C=Math.max(C-a,0),this.playState==="finished"&&this.pauseTime===void 0&&(C=this.totalDuration);const w=C/this.duration;let m=Math.floor(w),d=w%1;!d&&w>=1&&(d=1),d===1&&m--;const l=m%2;(g==="reverse"||g==="alternate"&&l||g==="alternate-reverse"&&!l)&&(d=1-d);const c=C>=this.totalDuration?1:Math.min(d,1),u=S(this.easing(c));t(u),this.pauseTime===void 0&&(this.playState==="finished"||C>=this.totalDuration+i)?(this.playState="finished",(T=this.resolve)===null||T===void 0||T.call(this,u)):this.playState!=="idle"&&(this.frameRequestId=requestAnimationFrame(this.tick))},b&&this.play()}play(){const t=performance.now();this.playState="running",this.pauseTime!==void 0?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t),this.cancelTimestamp=this.startTime,this.pauseTime=void 0,this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState="paused",this.pauseTime=this.t}finish(){this.playState="finished",this.tick(0)}stop(){var t;this.playState="idle",this.frameRequestId!==void 0&&cancelAnimationFrame(this.frameRequestId),(t=this.reject)===null||t===void 0||t.call(this,!1)}cancel(){this.stop(),this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t,this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){this.pauseTime!==void 0||this.rate===0?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}const Gx=e=>jO(e)?r3(e):e,r3=([e,t,r,n])=>`cubic-bezier(${e}, ${t}, ${r}, ${n})`,Kx=e=>document.createElement("div").animate(e,{duration:.001}),Yx={cssRegisterProperty:()=>typeof CSS<"u"&&Object.hasOwnProperty.call(CSS,"registerProperty"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,"animate"),partialKeyframes:()=>{try{Kx({opacity:[1]})}catch{return!1}return!0},finished:()=>!!Kx({opacity:[0,1]}).finished},sh={},Dc={};for(const e in Yx)Dc[e]=()=>(sh[e]===void 0&&(sh[e]=Yx[e]()),sh[e]);function n3(e,t){for(let r=0;rArray.isArray(e)?e:[e];function Md(e){return pl[e]&&(e=pl[e]),Pf(e)?Of(e):e}const Hi={get:(e,t)=>{t=Md(t);let r=H0(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!r&&r!==0){const n=hl.get(t);n&&(r=n.initialValue)}return r},set:(e,t,r)=>{t=Md(t),H0(t)?e.style.setProperty(t,r):e.style[t]=r}};function DO(e,t=!0){if(!(!e||e.playState==="finished"))try{e.stop?e.stop():(t&&e.commitStyles(),e.cancel())}catch{}}function o3(){return window.__MOTION_DEV_TOOLS_RECORD}function kf(e,t,r,n={}){const o=o3(),a=n.record!==!1&&o;let i,{duration:s=Yr.duration,delay:f=Yr.delay,endDelay:g=Yr.endDelay,repeat:b=Yr.repeat,easing:S=Yr.easing,direction:O,offset:T,allowWebkitAcceleration:C=!1}=n;const w=$m(e);let m=Dc.waapi();const d=Pf(t);d&&qL(e,t);const l=Md(t),c=FL(w.values,l),u=hl.get(l);return DO(c.animation,!(Rd(S)&&c.generator)&&n.record!==!1),()=>{const h=()=>{var y,E;return(E=(y=Hi.get(e,l))!==null&&y!==void 0?y:u==null?void 0:u.initialValue)!==null&&E!==void 0?E:0};let v=n3(IO(r),h);if(Rd(S)){const y=S.createAnimation(v,h,d,l,c);S=y.easing,y.keyframes!==void 0&&(v=y.keyframes),y.duration!==void 0&&(s=y.duration)}if(H0(l)&&(Dc.cssRegisterProperty()?KL(l):m=!1),m){u&&(v=v.map(P=>Bo(P)?u.toDefaultUnit(P):P)),v.length===1&&(!Dc.partialKeyframes()||a)&&v.unshift(h());const y={delay:Qa.ms(f),duration:Qa.ms(s),endDelay:Qa.ms(g),easing:eu(S)?void 0:Gx(S),direction:O,iterations:b+1,fill:"both"};i=e.animate({[l]:v,offset:T,easing:eu(S)?S.map(Gx):void 0},y),i.finished||(i.finished=new Promise((P,N)=>{i.onfinish=P,i.oncancel=N}));const E=v[v.length-1];i.finished.then(()=>{Hi.set(e,l,E),i.cancel()}).catch(qm),C||(i.playbackRate=1.000001)}else if(d){v=v.map(E=>typeof E=="string"?parseFloat(E):E),v.length===1&&v.unshift(parseFloat(h()));const y=E=>{u&&(E=u.toDefaultUnit(E)),Hi.set(e,l,E)};i=new t3(y,v,Object.assign(Object.assign({},n),{duration:s,easing:S}))}else{const y=v[v.length-1];Hi.set(e,l,u&&Bo(y)?u.toDefaultUnit(y):y)}return a&&o(e,t,v,{duration:s,delay:f,easing:S,repeat:b,offset:T},"motion-one"),c.setAnimation(i),i}}const Qm=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function Ef(e,t){var r;return typeof e=="string"?t?((r=t[e])!==null&&r!==void 0||(t[e]=document.querySelectorAll(e)),e=t[e]):e=document.querySelectorAll(e):e instanceof Element&&(e=[e]),Array.from(e||[])}const a3=e=>e(),Xm=(e,t,r=Yr.duration)=>new Proxy({animations:e.map(a3).filter(Boolean),duration:r,options:t},l3),i3=e=>e.animations[0],l3={get:(e,t)=>{const r=i3(e);switch(t){case"duration":return e.duration;case"currentTime":return Qa.s((r==null?void 0:r[t])||0);case"playbackRate":case"playState":return r==null?void 0:r[t];case"finished":return e.finished||(e.finished=Promise.all(e.animations.map(s3)).catch(qm)),e.finished;case"stop":return()=>{e.animations.forEach(n=>DO(n))};case"forEachNative":return n=>{e.animations.forEach(o=>n(o,e))};default:return typeof(r==null?void 0:r[t])>"u"?void 0:()=>e.animations.forEach(n=>n[t]())}},set:(e,t,r)=>{switch(t){case"currentTime":r=Qa.ms(r);case"currentTime":case"playbackRate":for(let n=0;ne.finished;function u3(e=.1,{start:t=0,from:r=0,easing:n}={}){return(o,a)=>{const i=Bo(r)?r:c3(r,a),s=Math.abs(i-o);let f=e*s;if(n){const g=a*e;f=q0(n)(f/g)*g}return t+f}}function c3(e,t){if(e==="first")return 0;{const r=t-1;return e==="last"?r:r/2}}function LO(e,t,r){return typeof e=="function"?e(t,r):e}function d3(e,t,r={}){e=Ef(e);const n=e.length,o=[];for(let a=0;at&&o.atkf(...a)).filter(Boolean);return Xm(o,t,(r=n[0])===null||r===void 0?void 0:r[3].duration)}function m3(e,t={}){var{defaultOptions:r={}}=t,n=Pl(t,["defaultOptions"]);const o=[],a=new Map,i={},s=new Map;let f=0,g=0,b=0;for(let S=0;S"0",Q);R=W.easing,W.keyframes!==void 0&&(E=W.keyframes),W.duration!==void 0&&(N=W.duration)}const M=LO(w.delay,c,l)||0,L=g+M,D=L+N;let{offset:B=Km(E.length)}=P;B.length===1&&B[0]===0&&(B[1]=1);const H=length-E.length;H>0&&Gm(B,H),E.length===1&&E.unshift(null),p3(y,E,R,B,L,D),m=Math.max(M+N,m),b=Math.max(D,b)}}f=g,g+=m}return a.forEach((S,O)=>{for(const T in S){const C=S[T];C.sort(h3);const w=[],m=[],d=[];for(let l=0;lt/(2*Math.sqrt(e*r));function w3(e,t,r){return e=t||e>t&&r<=t}const FO=({stiffness:e=el.stiffness,damping:t=el.damping,mass:r=el.mass,from:n=0,to:o=1,velocity:a=0,restSpeed:i,restDistance:s}={})=>{a=a?Qa.s(a):0;const f={done:!1,hasReachedTarget:!1,current:n,target:o},g=o-n,b=Math.sqrt(e/r)/1e3,S=x3(e,t,r),O=Math.abs(g)<5;i||(i=O?.01:2),s||(s=O?.005:.5);let T;if(S<1){const C=b*Math.sqrt(1-S*S);T=w=>o-Math.exp(-S*b*w)*((-a+S*b*g)/C*Math.sin(C*w)+g*Math.cos(C*w))}else T=C=>o-Math.exp(-b*C)*(g+(-a+b*g)*C);return C=>{f.current=T(C);const w=C===0?a:Zm(T,C,f.current),m=Math.abs(w)<=i,d=Math.abs(o-f.current)<=s;return f.done=m&&d,f.hasReachedTarget=w3(n,o,f.current),f}},_3=({from:e=0,velocity:t=0,power:r=.8,decay:n=.325,bounceDamping:o,bounceStiffness:a,changeTarget:i,min:s,max:f,restDistance:g=.5,restSpeed:b})=>{n=Qa.ms(n);const S={hasReachedTarget:!1,done:!1,current:e,target:e},O=y=>s!==void 0&&yf,T=y=>s===void 0?f:f===void 0||Math.abs(s-y)-C*Math.exp(-y/n),l=y=>m+d(y),c=y=>{const E=d(y),P=l(y);S.done=Math.abs(E)<=g,S.current=S.done?m:P};let u,h;const v=y=>{O(S.current)&&(u=y,h=FO({from:S.current,to:T(S.current),velocity:Zm(l,y,S.current),damping:o,stiffness:a,restDistance:g,restSpeed:b}))};return v(0),y=>{let E=!1;return!h&&u===void 0&&(E=!0,c(y),v(y)),u!==void 0&&y>u?(S.hasReachedTarget=!0,h(y-u)):(S.hasReachedTarget=!1,!E&&c(y),S)}},uh=10,S3=1e4;function C3(e,t=Ao){let r,n=uh,o=e(0);const a=[t(o.current)];for(;!o.done&&n{const n=new Map,o=(i=0,s=100,f=0,g=!1)=>{const b=`${i}-${s}-${f}-${g}`;return n.has(b)||n.set(b,e(Object.assign({from:i,to:s,velocity:f,restSpeed:g?.05:2,restDistance:g?.01:.5},r))),n.get(b)},a=i=>(t.has(i)||t.set(i,C3(i)),t.get(i));return{createAnimation:(i,s,f,g,b)=>{var S,O;let T;const C=i.length;if(f&&C<=2&&i.every(T3)){const m=i[C-1],d=C===1?null:i[0];let l=0,c=0;const u=b==null?void 0:b.generator;if(u){const{animation:y,generatorStartTime:E}=b,P=(y==null?void 0:y.startTime)||E||0,N=(y==null?void 0:y.currentTime)||performance.now()-P,R=u(N).current;c=(S=d)!==null&&S!==void 0?S:R,(C===1||C===2&&i[0]===null)&&(l=Zm(M=>u(M).current,N,R))}else c=(O=d)!==null&&O!==void 0?O:parseFloat(s());const h=o(c,m,l,g==null?void 0:g.includes("scale")),v=a(h);T=Object.assign(Object.assign({},v),{easing:"linear"}),b&&(b.generator=h,b.generatorStartTime=performance.now())}else T={easing:"ease",duration:a(o(0,100)).overshootDuration};return T}}}}const T3=e=>typeof e!="string",O3=zO(FO),P3=zO(_3),k3={any:0,all:1};function BO(e,t,{root:r,margin:n,amount:o="any"}={}){if(typeof IntersectionObserver>"u")return()=>{};const a=Ef(e),i=new WeakMap,s=g=>{g.forEach(b=>{const S=i.get(b.target);if(b.isIntersecting!==!!S)if(b.isIntersecting){const O=t(b);typeof O=="function"?i.set(b.target,O):f.unobserve(b.target)}else S&&(S(b),i.delete(b.target))})},f=new IntersectionObserver(s,{root:r,rootMargin:n,threshold:typeof o=="number"?o:k3[o]});return a.forEach(g=>f.observe(g)),()=>f.disconnect()}const Lc=new WeakMap;let na;function E3(e,t){if(t){const{inlineSize:r,blockSize:n}=t[0];return{width:r,height:n}}else return e instanceof SVGElement&&"getBBox"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}function N3({target:e,contentRect:t,borderBoxSize:r}){var n;(n=Lc.get(e))===null||n===void 0||n.forEach(o=>{o({target:e,contentSize:t,get size(){return E3(e,r)}})})}function j3(e){e.forEach(N3)}function R3(){typeof ResizeObserver>"u"||(na=new ResizeObserver(j3))}function A3(e,t){na||R3();const r=Ef(e);return r.forEach(n=>{let o=Lc.get(n);o||(o=new Set,Lc.set(n,o)),o.add(t),na==null||na.observe(n)}),()=>{r.forEach(n=>{const o=Lc.get(n);o==null||o.delete(t),o!=null&&o.size||na==null||na.unobserve(n)})}}const Fc=new Set;let Ps;function M3(){Ps=()=>{const e={width:window.innerWidth,height:window.innerHeight},t={target:window,size:e,contentSize:e};Fc.forEach(r=>r(t))},window.addEventListener("resize",Ps)}function I3(e){return Fc.add(e),Ps||M3(),()=>{Fc.delete(e),!Fc.size&&Ps&&(Ps=void 0)}}function VO(e,t){return typeof e=="function"?I3(e):A3(e,t)}const D3=50,Xx=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),L3=()=>({time:0,x:Xx(),y:Xx()}),F3={x:{length:"Width",position:"Left"},y:{length:"Height",position:"Top"}};function Zx(e,t,r,n){const o=r[t],{length:a,position:i}=F3[t],s=o.current,f=r.time;o.current=e["scroll"+i],o.scrollLength=e["scroll"+a]-e["client"+a],o.offset.length=0,o.offset[0]=0,o.offset[1]=o.scrollLength,o.progress=Tf(0,o.scrollLength,o.current);const g=n-f;o.velocity=g>D3?0:RO(o.current-s,g)}function z3(e,t,r){Zx(e,"x",t,r),Zx(e,"y",t,r),t.time=r}function B3(e,t){let r={x:0,y:0},n=e;for(;n&&n!==t;)if(n instanceof HTMLElement)r.x+=n.offsetLeft,r.y+=n.offsetTop,n=n.offsetParent;else if(n instanceof SVGGraphicsElement&&"getBBox"in n){const{top:o,left:a}=n.getBBox();for(r.x+=a,r.y+=o;n&&n.tagName!=="svg";)n=n.parentNode}return r}const UO={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},G0={start:0,center:.5,end:1};function Jx(e,t,r=0){let n=0;if(G0[e]!==void 0&&(e=G0[e]),Ym(e)){const o=parseFloat(e);e.endsWith("px")?n=o:e.endsWith("%")?e=o/100:e.endsWith("vw")?n=o/100*document.documentElement.clientWidth:e.endsWith("vh")?n=o/100*document.documentElement.clientHeight:e=o}return Bo(e)&&(n=t*e),r+n}const V3=[0,0];function U3(e,t,r,n){let o=Array.isArray(e)?e:V3,a=0,i=0;return Bo(e)?o=[e,e]:Ym(e)&&(e=e.trim(),e.includes(" ")?o=e.split(" "):o=[e,G0[e]?e:"0"]),a=Jx(o[0],r,n),i=Jx(o[1],t),a-i}const W3={x:0,y:0};function $3(e,t,r){let{offset:n=UO.All}=r;const{target:o=e,axis:a="y"}=r,i=a==="y"?"height":"width",s=o!==e?B3(o,e):W3,f=o===e?{width:e.scrollWidth,height:e.scrollHeight}:{width:o.clientWidth,height:o.clientHeight},g={width:e.clientWidth,height:e.clientHeight};t[a].offset.length=0;let b=!t[a].interpolate;const S=n.length;for(let O=0;OH3(e,n.target,r),update:a=>{z3(e,r,a),(n.offset||n.target)&&$3(e,r,n)},notify:typeof t=="function"?()=>t(r):G3(t,r[o])}}function G3(e,t){return e.pause(),e.forEachNative((r,{easing:n})=>{var o,a;if(r.updateDuration)n||(r.easing=Ao),r.updateDuration(1);else{const i={duration:1e3};n||(i.easing="linear"),(a=(o=r.effect)===null||o===void 0?void 0:o.updateTiming)===null||a===void 0||a.call(o,i)}}),()=>{e.currentTime=t.progress}}const as=new WeakMap,ew=new WeakMap,ch=new WeakMap,tw=e=>e===document.documentElement?window:e;function K3(e,t={}){var{container:r=document.documentElement}=t,n=Pl(t,["container"]);let o=ch.get(r);o||(o=new Set,ch.set(r,o));const a=L3(),i=q3(r,e,a,n);if(o.add(i),!as.has(r)){const g=()=>{const S=performance.now();for(const O of o)O.measure();for(const O of o)O.update(S);for(const O of o)O.notify()};as.set(r,g);const b=tw(r);window.addEventListener("resize",g,{passive:!0}),r!==document.documentElement&&ew.set(r,VO(r,g)),b.addEventListener("scroll",g,{passive:!0})}const s=as.get(r),f=requestAnimationFrame(s);return()=>{var g;typeof e!="function"&&e.stop(),cancelAnimationFrame(f);const b=ch.get(r);if(!b||(b.delete(i),b.size))return;const S=as.get(r);as.delete(r),S&&(tw(r).removeEventListener("scroll",S),(g=ew.get(r))===null||g===void 0||g(),window.removeEventListener("resize",S))}}function Y3(e,t){return typeof e!=typeof t?!0:Array.isArray(e)&&Array.isArray(t)?!Q3(e,t):e!==t}function Q3(e,t){const r=t.length;if(r!==e.length)return!1;for(let n=0;ne.getDepth()-t.getDepth(),tF=e=>e.animateUpdates(),nw=e=>e.next(),ow=(e,t)=>new CustomEvent(e,{detail:{target:t}});function K0(e,t,r){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:r}}))}function aw(e,t,r){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:r}}))}const rF={isActive:e=>!!e.inView,subscribe:(e,{enable:t,disable:r},{inViewOptions:n={}})=>{const{once:o}=n,a=Pl(n,["once"]);return BO(e,i=>{if(t(),aw(e,"viewenter",i),!o)return s=>{r(),aw(e,"viewleave",s)}},a)}},iw=(e,t,r)=>n=>{n.pointerType&&n.pointerType!=="mouse"||(r(),K0(e,t,n))},nF={isActive:e=>!!e.hover,subscribe:(e,{enable:t,disable:r})=>{const n=iw(e,"hoverstart",t),o=iw(e,"hoverend",r);return e.addEventListener("pointerenter",n),e.addEventListener("pointerleave",o),()=>{e.removeEventListener("pointerenter",n),e.removeEventListener("pointerleave",o)}}},oF={isActive:e=>!!e.press,subscribe:(e,{enable:t,disable:r})=>{const n=a=>{r(),K0(e,"pressend",a),window.removeEventListener("pointerup",n)},o=a=>{t(),K0(e,"pressstart",a),window.addEventListener("pointerup",n)};return e.addEventListener("pointerdown",o),()=>{e.removeEventListener("pointerdown",o),window.removeEventListener("pointerup",n)}}},zc={inView:rF,hover:nF,press:oF},lw=["initial","animate",...Object.keys(zc),"exit"],Y0=new WeakMap;function aF(e={},t){let r,n=t?t.getDepth()+1:0;const o={initial:!0,animate:!0},a={},i={};for(const w of lw)i[w]=typeof e[w]=="string"?e[w]:t==null?void 0:t.getContext()[w];const s=e.initial===!1?"animate":"initial";let f=rw(e[s]||i[s],e.variants)||{},g=Pl(f,["transition"]);const b=Object.assign({},g);function*S(){var w,m;const d=g;g={};const l={};for(const y of lw){if(!o[y])continue;const E=rw(e[y]);if(E)for(const P in E)P!=="transition"&&(g[P]=E[P],l[P]=Qm((m=(w=E.transition)!==null&&w!==void 0?w:e.transition)!==null&&m!==void 0?m:{},P))}const c=new Set([...Object.keys(g),...Object.keys(d)]),u=[];c.forEach(y=>{var E;g[y]===void 0&&(g[y]=b[y]),Y3(d[y],g[y])&&((E=b[y])!==null&&E!==void 0||(b[y]=Hi.get(r,y)),u.push(kf(r,y,g[y],l[y])))}),yield;const h=u.map(y=>y()).filter(Boolean);if(!h.length)return;const v=g;r.dispatchEvent(ow("motionstart",v)),Promise.all(h.map(y=>y.finished)).then(()=>{r.dispatchEvent(ow("motioncomplete",v))}).catch(qm)}const O=(w,m)=>()=>{o[w]=m,dh(C)},T=()=>{for(const w in zc){const m=zc[w].isActive(e),d=a[w];m&&!d?a[w]=zc[w].subscribe(r,{enable:O(w,!0),disable:O(w,!1)},e):!m&&d&&(d(),delete a[w])}},C={update:w=>{r&&(e=w,T(),dh(C))},setActive:(w,m)=>{r&&(o[w]=m,dh(C))},animateUpdates:S,getDepth:()=>n,getTarget:()=>g,getOptions:()=>e,getContext:()=>i,mount:w=>(r=w,Y0.set(r,C),T(),()=>{Y0.delete(r),J3(C);for(const m in a)a[m]()}),isMounted:()=>!!r};return C}function WO(e){const t={},r=[];for(let n in e){const o=e[n];Pf(n)&&(pl[n]&&(n=pl[n]),r.push(n),n=Of(n));let a=Array.isArray(o)?o[0]:o;const i=hl.get(n);i&&(a=Bo(o)?i.toDefaultUnit(o):o),t[n]=a}return r.length&&(t.transform=AO(r)),t}const iF=e=>`-${e.toLowerCase()}`,lF=e=>e.replace(/[A-Z]/g,iF);function sF(e={}){const t=WO(e);let r="";for(const n in t)r+=n.startsWith("--")?n:lF(n),r+=`: ${t[n]}; `;return r}const uF=Object.freeze(Object.defineProperty({__proto__:null,ScrollOffset:UO,animate:d3,animateStyle:kf,createMotionState:aF,createStyleString:sF,createStyles:WO,getAnimationData:$m,getStyleName:Md,glide:P3,inView:BO,mountedStates:Y0,resize:VO,scroll:K3,spring:O3,stagger:u3,style:Hi,timeline:g3,withControls:Xm},Symbol.toStringTag,{value:"Module"})),cF=ou(uF);function dF(e){var t={};return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var fF=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,pF=dF(function(e){return fF.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91});const hF=Object.freeze(Object.defineProperty({__proto__:null,default:pF},Symbol.toStringTag,{value:"Module"})),gF=ou(hF);(function(e){Object.defineProperty(e,"__esModule",{value:!0});var t=$T,r=k,n=qT,o=dr,a=Je,i=pi,s=cF;function f(p){return p&&typeof p=="object"&&"default"in p?p:{default:p}}function g(p){if(p&&p.__esModule)return p;var _=Object.create(null);return p&&Object.keys(p).forEach(function(j){if(j!=="default"){var A=Object.getOwnPropertyDescriptor(p,j);Object.defineProperty(_,j,A.get?A:{enumerable:!0,get:function(){return p[j]}})}}),_.default=p,Object.freeze(_)}var b=g(r),S=f(r),O=f(i),T="production",C=typeof process>"u"||process.env===void 0?T:"production",w=function(p){return{isEnabled:function(_){return p.some(function(j){return!!_[j]})}}},m={measureLayout:w(["layout","layoutId","drag"]),animation:w(["animate","exit","variants","whileHover","whileTap","whileFocus","whileDrag","whileInView"]),exit:w(["exit"]),drag:w(["drag","dragControls"]),focus:w(["whileFocus"]),hover:w(["whileHover","onHoverStart","onHoverEnd"]),tap:w(["whileTap","onTap","onTapStart","onTapCancel"]),pan:w(["onPan","onPanStart","onPanSessionStart","onPanEnd"]),inView:w(["whileInView","onViewportEnter","onViewportLeave"])};function d(p){for(var _ in p)p[_]!==null&&(_==="projectionNodeConstructor"?m.projectionNodeConstructor=p[_]:m[_].Component=p[_])}var l=r.createContext({strict:!1}),c=Object.keys(m),u=c.length;function h(p,_,j){var A=[],I=r.useContext(l);if(!_)return null;C!=="production"&&j&&I.strict&&n.invariant(!1,"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.");for(var V=0;V"u")return _;var j=new Map;return new Proxy(_,{get:function(A,I){return j.has(I)||j.set(I,_(I)),j.get(I)}})}var Ge=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","svg","switch","symbol","text","tspan","use","view"];function we(p){return typeof p!="string"||p.includes("-")?!1:!!(Ge.indexOf(p)>-1||/[A-Z]/.test(p))}var Ee={};function ke(p){Object.assign(Ee,p)}var De=["","X","Y","Z"],de=["translate","scale","rotate","skew"],Ae=["transformPerspective","x","y","z"];de.forEach(function(p){return De.forEach(function(_){return Ae.push(p+_)})});function fe(p,_){return Ae.indexOf(p)-Ae.indexOf(_)}var ee=new Set(Ae);function ae(p){return ee.has(p)}var Oe=new Set(["originX","originY","originZ"]);function xe(p){return Oe.has(p)}function pe(p,_){var j=_.layout,A=_.layoutId;return ae(p)||xe(p)||(j||A!==void 0)&&(!!Ee[p]||p==="opacity")}var se=function(p){return!!(p!==null&&typeof p=="object"&&p.getVelocity)},Me={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"};function tt(p,_,j,A){var I=p.transform,V=p.transformKeys,U=_.enableHardwareAcceleration,F=U===void 0?!0:U,K=_.allowTransformNone,Y=K===void 0?!0:K,X="";V.sort(fe);for(var ne=!1,oe=V.length,le=0;le"u"?Nt:Rt;Y(K,F.current,_,U)}var rt={some:0,all:1};function Rt(p,_,j,A){var I=A.root,V=A.margin,U=A.amount,F=U===void 0?"some":U,K=A.once;r.useEffect(function(){if(p){var Y={root:I==null?void 0:I.current,rootMargin:V,threshold:typeof F=="number"?F:rt[F]},X=function(ne){var oe,le=ne.isIntersecting;if(_.isInView!==le&&(_.isInView=le,!(K&&!le&&_.hasEnteredView))){le&&(_.hasEnteredView=!0),(oe=j.animationState)===null||oe===void 0||oe.setActive(e.AnimationType.InView,le);var ce=j.getProps(),ye=le?ce.onViewportEnter:ce.onViewportLeave;ye==null||ye(ne)}};return Ve(j.getInstance(),Y,X)}},[p,I,V,F])}function Nt(p,_,j,A){var I=A.fallback,V=I===void 0?!0:I;r.useEffect(function(){!p||!V||(C!=="production"&&Vl(!1,"IntersectionObserver not available on this device. whileInView animations will trigger on mount."),requestAnimationFrame(function(){var U;_.hasEnteredView=!0;var F=j.getProps().onViewportEnter;F==null||F(null),(U=j.animationState)===null||U===void 0||U.setActive(e.AnimationType.InView,!0)}))},[p])}var Dt=function(p){return function(_){return p(_),null}},yr={inView:Dt(We),tap:Dt(Qf),focus:Dt(tr),hover:Dt(Yf)},qo=0,Xf=function(){return qo++},Ci=function(){return ge(Xf)};function Zf(){var p=r.useContext(P);if(p===null)return[!0,null];var _=p.isPresent,j=p.onExitComplete,A=p.register,I=Ci();r.useEffect(function(){return A(I)},[]);var V=function(){return j==null?void 0:j(I)};return!_&&j?[!1,V]:[!0]}function aE(){return iE(r.useContext(P))}function iE(p){return p===null?!0:p.isPresent}function Tb(p,_){if(!Array.isArray(_))return!1;var j=_.length;if(j!==p.length)return!1;for(var A=0;A-1&&p.splice(j,1)}function yE(p,_,j){var A=t.__read(p),I=A.slice(0),V=_<0?I.length+_:_;if(V>=0&&VQe&&wn,Zo=Array.isArray($t)?$t:[$t],_n=Zo.reduce(V,{});Lr===!1&&(_n={});var Kl=St.prevResolvedValues,Pi=Kl===void 0?{}:Kl,Vu=t.__assign(t.__assign({},Pi),_n),ki=function(ot){Xo=!0,Le.delete(ot),St.needsAnimating[ot]=!0};for(var qr in Vu){var Tt=_n[qr],He=Pi[qr];Ue.hasOwnProperty(qr)||(Tt!==He?_o(Tt)&&_o(He)?!Tb(Tt,He)||Qo?ki(qr):St.protectedKeys[qr]=!0:Tt!==void 0?ki(qr):Le.add(qr):Tt!==void 0&&Le.has(qr)?ki(qr):St.protectedKeys[qr]=!0)}St.prevProp=$t,St.prevResolvedValues=_n,St.isActive&&(Ue=t.__assign(t.__assign({},Ue),_n)),I&&p.blockInitialAnimation&&(Xo=!1),Xo&&!nn&&ye.push.apply(ye,t.__spreadArray([],t.__read(Zo.map(function(ot){return{animation:ot,options:t.__assign({type:gt},X)}})),!1))},ut=0;ut=3;if(!(!le&&!ce)){var ye=oe.point,Le=i.getFrameData().timestamp;I.history.push(t.__assign(t.__assign({},ye),{timestamp:Le}));var Ue=I.handlers,Qe=Ue.onStart,lt=Ue.onMove;le||(Qe&&Qe(I.lastMoveEvent,oe),I.startEvent=I.lastMoveEvent),lt&<(I.lastMoveEvent,oe)}}},this.handlePointerMove=function(oe,le){if(I.lastMoveEvent=oe,I.lastMoveEventInfo=pp(le,I.transformPagePoint),Et(oe)&&oe.buttons===0){I.handlePointerUp(oe,le);return}O.default.update(I.updatePoint,!0)},this.handlePointerUp=function(oe,le){I.end();var ce=I.handlers,ye=ce.onEnd,Le=ce.onSessionEnd,Ue=hp(pp(le,I.transformPagePoint),I.history);I.startEvent&&ye&&ye(oe,Ue),Le&&Le(oe,Ue)},!(Or(_)&&_.touches.length>1)){this.handlers=j,this.transformPagePoint=U;var F=Ll(_),K=pp(F,this.transformPagePoint),Y=K.point,X=i.getFrameData().timestamp;this.history=[t.__assign(t.__assign({},Y),{timestamp:X})];var ne=j.onSessionStart;ne&&ne(_,hp(K,this.history)),this.removeListeners=a.pipe(To(window,"pointermove",this.handlePointerMove),To(window,"pointerup",this.handlePointerUp),To(window,"pointercancel",this.handlePointerUp))}}return p.prototype.updateHandlers=function(_){this.handlers=_},p.prototype.end=function(){this.removeListeners&&this.removeListeners(),i.cancelSync.update(this.updatePoint)},p}();function pp(p,_){return _?{point:_(p.point)}:p}function zb(p,_){return{x:p.x-_.x,y:p.y-_.y}}function hp(p,_){var j=p.point;return{point:j,delta:zb(j,Bb(_)),offset:zb(j,LE(_)),velocity:FE(_,.1)}}function LE(p){return p[0]}function Bb(p){return p[p.length-1]}function FE(p,_){if(p.length<2)return{x:0,y:0};for(var j=p.length-1,A=null,I=Bb(p);j>=0&&(A=p[j],!(I.timestamp-A.timestamp>ju(_)));)j--;if(!A)return{x:0,y:0};var V=(I.timestamp-A.timestamp)/1e3;if(V===0)return{x:0,y:0};var U={x:(I.x-A.x)/V,y:(I.y-A.y)/V};return U.x===1/0&&(U.x=0),U.y===1/0&&(U.y=0),U}function ao(p){return p.max-p.min}function Vb(p,_,j){return _===void 0&&(_=0),j===void 0&&(j=.01),a.distance(p,_)I&&(p=j?a.mix(I,p,j.max):Math.min(p,I)),p}function Hb(p,_,j){return{min:_!==void 0?p.min+_:void 0,max:j!==void 0?p.max+j-(p.max-p.min):void 0}}function VE(p,_){var j=_.top,A=_.left,I=_.bottom,V=_.right;return{x:Hb(p.x,A,V),y:Hb(p.y,j,I)}}function qb(p,_){var j,A=_.min-p.min,I=_.max-p.max;return _.max-_.minA?j=a.progress(_.min,_.max-A,p.min):A>I&&(j=a.progress(p.min,p.max-I,_.min)),a.clamp(0,1,j)}function $E(p,_){var j={};return _.min!==void 0&&(j.min=_.min-p.min),_.max!==void 0&&(j.max=_.max-p.min),j}var gp=.35;function HE(p){return p===void 0&&(p=gp),p===!1?p=0:p===!0&&(p=gp),{x:Gb(p,"left","right"),y:Gb(p,"top","bottom")}}function Gb(p,_,j){return{min:Kb(p,_),max:Kb(p,j)}}function Kb(p,_){var j;return typeof p=="number"?p:(j=p[_])!==null&&j!==void 0?j:0}var Yb=function(){return{translate:0,scale:1,origin:0,originPoint:0}},ql=function(){return{x:Yb(),y:Yb()}},Qb=function(){return{min:0,max:0}},hr=function(){return{x:Qb(),y:Qb()}};function io(p){return[p("x"),p("y")]}function Xb(p){var _=p.top,j=p.left,A=p.right,I=p.bottom;return{x:{min:j,max:A},y:{min:_,max:I}}}function qE(p){var _=p.x,j=p.y;return{top:j.min,right:_.max,bottom:j.max,left:_.min}}function GE(p,_){if(!_)return p;var j=_({x:p.left,y:p.top}),A=_({x:p.right,y:p.bottom});return{top:j.y,left:j.x,bottom:A.y,right:A.x}}function mp(p){return p===void 0||p===1}function Zb(p){var _=p.scale,j=p.scaleX,A=p.scaleY;return!mp(_)||!mp(j)||!mp(A)}function Go(p){return Zb(p)||Jb(p.x)||Jb(p.y)||p.z||p.rotate||p.rotateX||p.rotateY}function Jb(p){return p&&p!=="0%"}function Mu(p,_,j){var A=p-j,I=_*A;return j+I}function ev(p,_,j,A,I){return I!==void 0&&(p=Mu(p,I,A)),Mu(p,j,A)+_}function bp(p,_,j,A,I){_===void 0&&(_=0),j===void 0&&(j=1),p.min=ev(p.min,_,j,A,I),p.max=ev(p.max,_,j,A,I)}function tv(p,_){var j=_.x,A=_.y;bp(p.x,j.translate,j.scale,j.originPoint),bp(p.y,A.translate,A.scale,A.originPoint)}function KE(p,_,j,A){var I,V;A===void 0&&(A=!1);var U=j.length;if(U){_.x=_.y=1;for(var F,K,Y=0;Y_?j="y":Math.abs(p.x)>_&&(j="x"),j}function tN(p){var _=p.dragControls,j=p.visualElement,A=ge(function(){return new JE(j)});r.useEffect(function(){return _&&_.subscribe(A)},[A,_]),r.useEffect(function(){return A.addListeners()},[A])}function rN(p){var _=p.onPan,j=p.onPanStart,A=p.onPanEnd,I=p.onPanSessionStart,V=p.visualElement,U=_||j||A||I,F=r.useRef(null),K=r.useContext(v).transformPagePoint,Y={onSessionStart:I,onStart:j,onMove:_,onEnd:function(ne,oe){F.current=null,A&&A(ne,oe)}};r.useEffect(function(){F.current!==null&&F.current.updateHandlers(Y)});function X(ne){F.current=new Fb(ne,Y,{transformPagePoint:K})}vi(V,"pointerdown",U&&X),wi(function(){return F.current&&F.current.end()})}var ov={pan:Dt(rN),drag:Dt(tN)},Du=["LayoutMeasure","BeforeLayoutMeasure","LayoutUpdate","ViewportBoxUpdate","Update","Render","AnimationComplete","LayoutAnimationComplete","AnimationStart","LayoutAnimationStart","SetAxisTarget","Unmount"];function nN(){var p=Du.map(function(){return new Ul}),_={},j={clearAllListeners:function(){return p.forEach(function(A){return A.clear()})},updatePropListeners:function(A){Du.forEach(function(I){var V,U="on"+I,F=A[U];(V=_[I])===null||V===void 0||V.call(_),F&&(_[I]=j[U](F))})}};return p.forEach(function(A,I){j["on"+Du[I]]=function(V){return A.add(V)},j["notify"+Du[I]]=function(){for(var V=[],U=0;U=0?window.pageYOffset:null,Y=hN(_,p,F);return V.length&&V.forEach(function(X){var ne=t.__read(X,2),oe=ne[0],le=ne[1];p.getValue(oe).set(le)}),p.syncRender(),K!==null&&window.scrollTo({top:K}),{target:Y,transitionEnd:A}}else return{target:_,transitionEnd:A}};function mN(p,_,j,A){return cN(_)?gN(p,_,j,A):{target:_,transitionEnd:A}}var bN=function(p,_,j,A){var I=sN(p,_,A);return _=I.target,A=I.transitionEnd,mN(p,_,j,A)};function vN(p){return window.getComputedStyle(p)}var pv={treeType:"dom",readValueFromInstance:function(p,_){if(ae(_)){var j=ep(_);return j&&j.default||0}else{var A=vN(p);return(pt(_)?A.getPropertyValue(_):A[_])||0}},sortNodePosition:function(p,_){return p.compareDocumentPosition(_)&2?1:-1},getBaseTarget:function(p,_){var j;return(j=p.style)===null||j===void 0?void 0:j[_]},measureViewportBox:function(p,_){var j=_.transformPagePoint;return nv(p,j)},resetTransform:function(p,_,j){var A=j.transformTemplate;_.style.transform=A?A({},""):"none",p.scheduleRender()},restoreTransform:function(p,_){p.style.transform=_.style.transform},removeValueFromRenderState:function(p,_){var j=_.vars,A=_.style;delete j[p],delete A[p]},makeTargetAnimatable:function(p,_,j,A){var I=j.transformValues;A===void 0&&(A=!0);var V=_.transition,U=_.transitionEnd,F=t.__rest(_,["transition","transitionEnd"]),K=Db(F,V||{},p);if(I&&(U&&(U=I(U)),F&&(F=I(F)),K&&(K=I(K))),A){up(p,F,K);var Y=bN(p,F,K,U);U=Y.transitionEnd,F=Y.target}return t.__assign({transition:V,transitionEnd:U},F)},scrapeMotionValuesFromProps:vn,build:function(p,_,j,A,I){p.isVisible!==void 0&&(_.style.visibility=p.isVisible?"visible":"hidden"),er(_,j,A,I.transformTemplate)},render:_t},yN=Lu(pv),xN=Lu(t.__assign(t.__assign({},pv),{getBaseTarget:function(p,_){return p[_]},readValueFromInstance:function(p,_){var j;return ae(_)?((j=ep(_))===null||j===void 0?void 0:j.default)||0:(_=Hr.has(_)?_:xt(_),p.getAttribute(_))},scrapeMotionValuesFromProps:wo,build:function(p,_,j,A,I){Be(_,j,A,I.transformTemplate)},render:or})),xp=function(p,_){return we(p)?xN(_,{enableHardwareAcceleration:!1}):yN(_,{enableHardwareAcceleration:!0})};function hv(p,_){return _.max===_.min?0:p/(_.max-_.min)*100}var Gl={correct:function(p,_){if(!_.target)return p;if(typeof p=="string")if(o.px.test(p))p=parseFloat(p);else return p;var j=hv(p,_.target.x),A=hv(p,_.target.y);return"".concat(j,"% ").concat(A,"%")}},gv="_$css",wN={correct:function(p,_){var j=_.treeScale,A=_.projectionDelta,I=p,V=p.includes("var("),U=[];V&&(p=p.replace(iv,function(ye){return U.push(ye),gv}));var F=o.complex.parse(p);if(F.length>5)return I;var K=o.complex.createTransformer(p),Y=typeof F[0]!="number"?1:0,X=A.x.scale*j.x,ne=A.y.scale*j.y;F[0+Y]/=X,F[1+Y]/=ne;var oe=a.mix(X,ne,.5);typeof F[2+Y]=="number"&&(F[2+Y]/=oe),typeof F[3+Y]=="number"&&(F[3+Y]/=oe);var le=K(F);if(V){var ce=0;le=le.replace(gv,function(){var ye=U[ce];return ce++,ye})}return le}},_N=function(p){t.__extends(_,p);function _(){return p!==null&&p.apply(this,arguments)||this}return _.prototype.componentDidMount=function(){var j=this,A=this.props,I=A.visualElement,V=A.layoutGroup,U=A.switchLayoutGroup,F=A.layoutId,K=I.projection;ke(CN),K&&(V!=null&&V.group&&V.group.add(K),U!=null&&U.register&&F&&U.register(K),K.root.didUpdate(),K.addEventListener("animationComplete",function(){j.safeToRemove()}),K.setOptions(t.__assign(t.__assign({},K.options),{onExitComplete:function(){return j.safeToRemove()}}))),Ce.hasEverUpdated=!0},_.prototype.getSnapshotBeforeUpdate=function(j){var A=this,I=this.props,V=I.layoutDependency,U=I.visualElement,F=I.drag,K=I.isPresent,Y=U.projection;return Y&&(Y.isPresent=K,F||j.layoutDependency!==V||V===void 0?Y.willUpdate():this.safeToRemove(),j.isPresent!==K&&(K?Y.promote():Y.relegate()||O.default.postRender(function(){var X;!((X=Y.getStack())===null||X===void 0)&&X.members.length||A.safeToRemove()}))),null},_.prototype.componentDidUpdate=function(){var j=this.props.visualElement.projection;j&&(j.root.didUpdate(),!j.currentAnimation&&j.isLead()&&this.safeToRemove())},_.prototype.componentWillUnmount=function(){var j=this.props,A=j.visualElement,I=j.layoutGroup,V=j.switchLayoutGroup,U=A.projection;U&&(U.scheduleCheckAfterUnmount(),I!=null&&I.group&&I.group.remove(U),V!=null&&V.deregister&&V.deregister(U))},_.prototype.safeToRemove=function(){var j=this.props.safeToRemove;j==null||j()},_.prototype.render=function(){return null},_}(S.default.Component);function SN(p){var _=t.__read(Zf(),2),j=_[0],A=_[1],I=r.useContext(Te);return S.default.createElement(_N,t.__assign({},p,{layoutGroup:I,switchLayoutGroup:r.useContext(je),isPresent:j,safeToRemove:A}))}var CN={borderRadius:t.__assign(t.__assign({},Gl),{applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]}),borderTopLeftRadius:Gl,borderTopRightRadius:Gl,borderBottomLeftRadius:Gl,borderBottomRightRadius:Gl,boxShadow:wN},mv={measureLayout:SN};function bv(p,_,j){j===void 0&&(j={});var A=se(p)?p:xn(p);return op("",A,_,j),{stop:function(){return A.stop()},isAnimating:function(){return A.isAnimating()}}}var vv=["TopLeft","TopRight","BottomLeft","BottomRight"],TN=vv.length,yv=function(p){return typeof p=="string"?parseFloat(p):p},xv=function(p){return typeof p=="number"||o.px.test(p)};function ON(p,_,j,A,I,V){var U,F,K,Y;I?(p.opacity=a.mix(0,(U=j.opacity)!==null&&U!==void 0?U:1,PN(A)),p.opacityExit=a.mix((F=_.opacity)!==null&&F!==void 0?F:1,0,kN(A))):V&&(p.opacity=a.mix((K=_.opacity)!==null&&K!==void 0?K:1,(Y=j.opacity)!==null&&Y!==void 0?Y:1,A));for(var X=0;X_?1:j(a.progress(p,_,A))}}function Sv(p,_){p.min=_.min,p.max=_.max}function Ln(p,_){Sv(p.x,_.x),Sv(p.y,_.y)}function Cv(p,_,j,A,I){return p-=_,p=Mu(p,1/j,A),I!==void 0&&(p=Mu(p,1/I,A)),p}function EN(p,_,j,A,I,V,U){if(_===void 0&&(_=0),j===void 0&&(j=1),A===void 0&&(A=.5),V===void 0&&(V=p),U===void 0&&(U=p),o.percent.test(_)){_=parseFloat(_);var F=a.mix(U.min,U.max,_/100);_=F-U.min}if(typeof _=="number"){var K=a.mix(V.min,V.max,A);p===V&&(K-=_),p.min=Cv(p.min,_,j,K,I),p.max=Cv(p.max,_,j,K,I)}}function Tv(p,_,j,A,I){var V=t.__read(j,3),U=V[0],F=V[1],K=V[2];EN(p,_[U],_[F],_[K],_.scale,A,I)}var NN=["x","scaleX","originX"],jN=["y","scaleY","originY"];function Ov(p,_,j,A){Tv(p.x,_,NN,j==null?void 0:j.x,A==null?void 0:A.x),Tv(p.y,_,jN,j==null?void 0:j.y,A==null?void 0:A.y)}function Pv(p){return p.translate===0&&p.scale===1}function kv(p){return Pv(p.x)&&Pv(p.y)}function Ev(p,_){return p.x.min===_.x.min&&p.x.max===_.x.max&&p.y.min===_.y.min&&p.y.max===_.y.max}var RN=function(){function p(){this.members=[]}return p.prototype.add=function(_){ap(this.members,_),_.scheduleRender()},p.prototype.remove=function(_){if(ip(this.members,_),_===this.prevLead&&(this.prevLead=void 0),_===this.lead){var j=this.members[this.members.length-1];j&&this.promote(j)}},p.prototype.relegate=function(_){var j=this.members.findIndex(function(U){return _===U});if(j===0)return!1;for(var A,I=j;I>=0;I--){var V=this.members[I];if(V.isPresent!==!1){A=V;break}}return A?(this.promote(A),!0):!1},p.prototype.promote=function(_,j){var A,I=this.lead;if(_!==I&&(this.prevLead=I,this.lead=_,_.show(),I)){I.instance&&I.scheduleRender(),_.scheduleRender(),_.resumeFrom=I,j&&(_.resumeFrom.preserveOpacity=!0),I.snapshot&&(_.snapshot=I.snapshot,_.snapshot.latestValues=I.animationValues||I.latestValues,_.snapshot.isShared=!0),!((A=_.root)===null||A===void 0)&&A.isUpdating&&(_.isLayoutDirty=!0);var V=_.options.crossfade;V===!1&&I.hide()}},p.prototype.exitAnimationComplete=function(){this.members.forEach(function(_){var j,A,I,V,U;(A=(j=_.options).onExitComplete)===null||A===void 0||A.call(j),(U=(I=_.resumingFrom)===null||I===void 0?void 0:(V=I.options).onExitComplete)===null||U===void 0||U.call(V)})},p.prototype.scheduleRender=function(){this.members.forEach(function(_){_.instance&&_.scheduleRender(!1)})},p.prototype.removeLeadSnapshot=function(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)},p}(),AN="translate3d(0px, 0px, 0) scale(1, 1) scale(1, 1)";function Nv(p,_,j){var A=p.x.translate/_.x,I=p.y.translate/_.y,V="translate3d(".concat(A,"px, ").concat(I,"px, 0) ");if(V+="scale(".concat(1/_.x,", ").concat(1/_.y,") "),j){var U=j.rotate,F=j.rotateX,K=j.rotateY;U&&(V+="rotate(".concat(U,"deg) ")),F&&(V+="rotateX(".concat(F,"deg) ")),K&&(V+="rotateY(".concat(K,"deg) "))}var Y=p.x.scale*_.x,X=p.y.scale*_.y;return V+="scale(".concat(Y,", ").concat(X,")"),V===AN?"none":V}var MN=function(p,_){return p.depth-_.depth},jv=function(){function p(){this.children=[],this.isDirty=!1}return p.prototype.add=function(_){ap(this.children,_),this.isDirty=!0},p.prototype.remove=function(_){ip(this.children,_),this.isDirty=!0},p.prototype.forEach=function(_){this.isDirty&&this.children.sort(MN),this.isDirty=!1,this.children.forEach(_)},p}(),Rv=1e3;function Av(p){var _=p.attachResizeListener,j=p.defaultParent,A=p.measureScroll,I=p.checkIsScrollRoot,V=p.resetTransform;return function(){function U(F,K,Y){var X=this;K===void 0&&(K={}),Y===void 0&&(Y=j==null?void 0:j()),this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.potentialNodes=new Map,this.checkUpdateFailed=function(){X.isUpdating&&(X.isUpdating=!1,X.clearAllSnapshots())},this.updateProjection=function(){X.nodes.forEach(BN),X.nodes.forEach(VN)},this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.id=F,this.latestValues=K,this.root=Y?Y.root||Y:this,this.path=Y?t.__spreadArray(t.__spreadArray([],t.__read(Y.path),!1),[Y],!1):[],this.parent=Y,this.depth=Y?Y.depth+1:0,F&&this.root.registerPotentialNode(F,this);for(var ne=0;ne=0;A--)if(p.path[A].instance){j=p.path[A];break}var I=j&&j!==p.root?j.instance:document,V=I.querySelector('[data-projection-id="'.concat(_,'"]'));V&&p.mount(V,!0)}function Lv(p){p.min=Math.round(p.min),p.max=Math.round(p.max)}function Fv(p){Lv(p.x),Lv(p.y)}var KN=Av({attachResizeListener:function(p,_){return Dr(p,"resize",_)},measureScroll:function(){return{x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}},checkIsScrollRoot:function(){return!0}}),La={current:void 0},wp=Av({measureScroll:function(p){return{x:p.scrollLeft,y:p.scrollTop}},defaultParent:function(){if(!La.current){var p=new KN(0,{});p.mount(window),p.setOptions({layoutScroll:!0}),La.current=p}return La.current},resetTransform:function(p,_){p.style.transform=_??"none"},checkIsScrollRoot:function(p){return window.getComputedStyle(p).position==="fixed"}}),zv=t.__assign(t.__assign(t.__assign(t.__assign({},fp),yr),ov),mv),_p=st(function(p,_){return Dn(p,_,zv,xp,wp)});function YN(p){return it(Dn(p,{forwardMotionProps:!1},zv,xp,wp))}var QN=st(Dn);function Bv(){var p=r.useRef(!1);return R(function(){return p.current=!0,function(){p.current=!1}},[]),p}function zu(){var p=Bv(),_=t.__read(r.useState(0),2),j=_[0],A=_[1],I=r.useCallback(function(){p.current&&A(j+1)},[j]),V=r.useCallback(function(){return O.default.postRender(I)},[I]);return[V,j]}var Sp=function(p){var _=p.children,j=p.initial,A=p.isPresent,I=p.onExitComplete,V=p.custom,U=p.presenceAffectsLayout,F=ge(XN),K=Ci(),Y=r.useMemo(function(){return{id:K,initial:j,isPresent:A,custom:V,onExitComplete:function(X){var ne,oe;F.set(X,!0);try{for(var le=t.__values(F.values()),ce=le.next();!ce.done;ce=le.next()){var ye=ce.value;if(!ye)return}}catch(Le){ne={error:Le}}finally{try{ce&&!ce.done&&(oe=le.return)&&oe.call(le)}finally{if(ne)throw ne.error}}I==null||I()},register:function(X){return F.set(X,!1),function(){return F.delete(X)}}}},U?void 0:[A]);return r.useMemo(function(){F.forEach(function(X,ne){return F.set(ne,!1)})},[A]),b.useEffect(function(){!A&&!F.size&&(I==null||I())},[A]),b.createElement(P.Provider,{value:Y},_)};function XN(){return new Map}var Oi=function(p){return p.key||""};function ZN(p,_){p.forEach(function(j){var A=Oi(j);_.set(A,j)})}function JN(p){var _=[];return r.Children.forEach(p,function(j){r.isValidElement(j)&&_.push(j)}),_}var ej=function(p){var _=p.children,j=p.custom,A=p.initial,I=A===void 0?!0:A,V=p.onExitComplete,U=p.exitBeforeEnter,F=p.presenceAffectsLayout,K=F===void 0?!0:F,Y=t.__read(zu(),1),X=Y[0],ne=r.useContext(Te).forceRender;ne&&(X=ne);var oe=Bv(),le=JN(_),ce=le,ye=new Set,Le=r.useRef(ce),Ue=r.useRef(new Map).current,Qe=r.useRef(!0);if(R(function(){Qe.current=!1,ZN(le,Ue),Le.current=ce}),wi(function(){Qe.current=!0,Ue.clear(),ye.clear()}),Qe.current)return b.createElement(b.Fragment,null,ce.map(function(gt){return b.createElement(Sp,{key:Oi(gt),isPresent:!0,initial:I?void 0:!1,presenceAffectsLayout:K},gt)}));ce=t.__spreadArray([],t.__read(ce),!1);for(var lt=Le.current.map(Oi),ut=le.map(Oi),dt=lt.length,jt=0;jt1&&console.warn("You're attempting to animate multiple children within AnimatePresence, but its exitBeforeEnter prop is set to true. This will lead to odd visual behaviour."),b.createElement(b.Fragment,null,ye.size?ce:ce.map(function(gt){return r.cloneElement(gt)}))},Vv=r.createContext(null),tj=function(p){return!p.isLayoutDirty&&p.willUpdate(!1)};function Uv(){var p=new Set,_=new WeakMap,j=function(){return p.forEach(tj)};return{add:function(A){p.add(A),_.set(A,A.addEventListener("willUpdate",j))},remove:function(A){var I;p.delete(A),(I=_.get(A))===null||I===void 0||I(),_.delete(A),j()},dirty:j}}var Wv=function(p){return p===!0},rj=function(p){return Wv(p===!0)||p==="id"},$v=function(p){var _,j,A=p.children,I=p.id,V=p.inheritId,U=p.inherit,F=U===void 0?!0:U;V!==void 0&&(F=V);var K=r.useContext(Te),Y=r.useContext(Vv),X=t.__read(zu(),2),ne=X[0],oe=X[1],le=r.useRef(null),ce=(_=K.id)!==null&&_!==void 0?_:Y;le.current===null&&(rj(F)&&ce&&(I=I?ce+"-"+I:ce),le.current={id:I,group:Wv(F)&&(j=K==null?void 0:K.group)!==null&&j!==void 0?j:Uv()});var ye=r.useMemo(function(){return t.__assign(t.__assign({},le.current),{forceRender:ne})},[oe]);return b.createElement(Te.Provider,{value:ye},A)},nj=0,oj=function(p){var _=p.children;return b.useEffect(function(){n.warning(!1,"AnimateSharedLayout is deprecated: https://www.framer.com/docs/guide-upgrade/##shared-layout-animations")},[]),b.createElement($v,{id:ge(function(){return"asl-".concat(nj++)})},_)};function aj(p){var _=p.children,j=p.isValidProp,A=t.__rest(p,["children","isValidProp"]);j&&Mn(j),A=t.__assign(t.__assign({},r.useContext(v)),A),A.isStatic=ge(function(){return A.isStatic});var I=r.useMemo(function(){return A},[JSON.stringify(A.transition),A.transformPagePoint,A.reducedMotion]);return b.createElement(v.Provider,{value:I},_)}function ij(p){var _=p.children,j=p.features,A=p.strict,I=A===void 0?!1:A,V=t.__read(r.useState(!Cp(j)),2),U=V[1],F=r.useRef(void 0);if(!Cp(j)){var K=j.renderer,Y=t.__rest(j,["renderer"]);F.current=K,d(Y)}return r.useEffect(function(){Cp(j)&&j().then(function(X){var ne=X.renderer,oe=t.__rest(X,["renderer"]);d(oe),F.current=ne,U(!0)})},[]),b.createElement(l.Provider,{value:{renderer:F.current,strict:I}},_)}function Cp(p){return typeof p=="function"}var Hv=r.createContext(null);function lj(p,_,j,A){if(!A)return p;var I=p.findIndex(function(X){return X.value===_});if(I===-1)return p;var V=A>0?1:-1,U=p[I+V];if(!U)return p;var F=p[I],K=U.layout,Y=a.mix(K.min,K.max,.5);return V===1&&F.layout.max+j>Y||V===-1&&F.layout.min+j.001?1/p:zj},ny=!1;function Bj(p){var _=Yo(1),j=Yo(1),A=E();n.invariant(!!(p||A),"If no scale values are provided, useInvertedScale must be used within a child of another motion component."),n.warning(ny,"useInvertedScale is deprecated and will be removed in 3.0. Use the layout prop instead."),ny=!0,p?(_=p.scaleX||_,j=p.scaleY||j):A&&(_=A.getValue("scaleX",1),j=A.getValue("scaleY",1));var I=Bu(_,ry),V=Bu(j,ry);return{scaleX:I,scaleY:V}}e.AnimatePresence=ej,e.AnimateSharedLayout=oj,e.DeprecatedLayoutGroupContext=Vv,e.DragControls=ey,e.FlatTree=jv,e.LayoutGroup=$v,e.LayoutGroupContext=Te,e.LazyMotion=ij,e.MotionConfig=aj,e.MotionConfigContext=v,e.MotionContext=y,e.MotionValue=Ab,e.PresenceContext=P,e.Reorder=vj,e.SwitchLayoutGroupContext=je,e.addPointerEvent=To,e.addScaleCorrector=ke,e.animate=bv,e.animateVisualElement=Au,e.animationControls=Zv,e.animations=fp,e.calcLength=ao,e.checkTargetForNewValues=up,e.createBox=hr,e.createDomMotionComponent=YN,e.createMotionComponent=it,e.domAnimation=Qv,e.domMax=yj,e.filterProps=$r,e.isBrowser=N,e.isDragActive=xi,e.isMotionValue=se,e.isValidMotionProp=Tr,e.m=QN,e.makeUseVisualState=rn,e.motion=_p,e.motionValue=xn,e.resolveMotionValue=So,e.transform=qv,e.useAnimation=kj,e.useAnimationControls=Jv,e.useAnimationFrame=Xv,e.useCycle=Ej,e.useDeprecatedAnimatedState=Fj,e.useDeprecatedInvertedScale=Bj,e.useDomEvent=It,e.useDragControls=Rj,e.useElementScroll=Cj,e.useForceUpdate=zu,e.useInView=Nj,e.useInstantLayoutTransition=ty,e.useInstantTransition=Mj,e.useIsPresent=aE,e.useIsomorphicLayoutEffect=R,e.useMotionTemplate=xj,e.useMotionValue=Yo,e.usePresence=Zf,e.useReducedMotion=B,e.useReducedMotionConfig=H,e.useResetProjection=Ij,e.useScroll=Tp,e.useSpring=wj,e.useTime=Pj,e.useTransform=Bu,e.useUnmountEffect=wi,e.useVelocity=_j,e.useViewportScroll=Tj,e.useVisualElementContext=E,e.visualElement=Lu,e.wrapHandler=Fl})(vr);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{AccordionBody:function(){return w},default:function(){return m}});var r=O(k),n=vr,o=O(at),a=O(Sr),i=O(Ye),s=Xe,f=vf,g=Ke,b=pu;function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.className,u=d.children,h=T(d,["className","children"]),v=(0,f.useAccordion)(),y=v.open,E=v.animate,P=(0,g.useTheme)().accordion,N=P.styles.base;c=c??"";var R=(0,s.twMerge)((0,o.default)((0,i.default)(N.body)),c),M={unmount:{height:"0px",transition:{duration:.2,times:[.4,0,.2,1]}},mount:{height:"auto",transition:{duration:.2,times:[.4,0,.2,1]}}},L={unmount:{transition:{duration:.3,ease:"linear"}},mount:{transition:{duration:.3,ease:"linear"}}},D=(0,a.default)(L,E);return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(n.m.div,{className:"overflow-hidden",initial:"unmount",exit:"unmount",animate:y?"mount":"unmount",variants:M},r.default.createElement(n.m.div,S({},h,{ref:l,className:R,initial:"unmount",exit:"unmount",animate:y?"mount":"unmount",variants:D}),u)))});w.propTypes={className:b.propTypesClassName,children:b.propTypesChildren},w.displayName="MaterialTailwind.AccordionBody";var m=w})(bT);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Accordion:function(){return m},AccordionHeader:function(){return g.AccordionHeader},AccordionBody:function(){return b.AccordionBody},useAccordion:function(){return s.useAccordion},default:function(){return d}});var r=T(k),n=T(at),o=Xe,a=T(Ye),i=Ke,s=vf,f=pu,g=mT,b=bT;function S(l,c,u){return c in l?Object.defineProperty(l,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[c]=u,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.open,h=l.icon,v=l.animate,y=l.className,E=l.disabled,P=l.children,N=C(l,["open","icon","animate","className","disabled","children"]),R=(0,i.useTheme)().accordion,M=R.defaultProps,L=R.styles.base;h=h??M.icon,v=v??M.animate,y=y??M.className,E=E??M.disabled;var D=(0,o.twMerge)((0,n.default)((0,a.default)(L.container),S({},(0,a.default)(L.disabled),E)),y),B=r.default.useMemo(function(){return{open:u,icon:h,animate:v,disabled:E}},[u,h,v,E]);return r.default.createElement(s.AccordionContextProvider,{value:B},r.default.createElement("div",O({},N,{ref:c,className:D}),P))});m.propTypes={open:f.propTypesOpen,icon:f.propTypesIcon,animate:f.propTypesAnimate,disabled:f.propTypesDisabled,className:f.propTypesClassName,children:f.propTypesChildren},m.displayName="MaterialTailwind.Accordion";var d=Object.assign(m,{Header:g.AccordionHeader,Body:b.AccordionBody})})(H1);var $O={},qt={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return r}});function t(n,o,a){var i=n.findIndex(function(s){return s===o});return i>=0?o:a}var r=t})(qt);var Nf={},kl=class{constructor(){this.x=0,this.y=0,this.z=0}findFurthestPoint(t,r,n,o,a,i){return this.x=t-n>r/2?0:r,this.y=o-i>a/2?0:a,this.z=Math.hypot(this.x-(t-n),this.y-(o-i)),this.z}appyStyles(t,r,n,o,a){t.classList.add("ripple"),t.style.backgroundColor=r==="dark"?"rgba(0,0,0, 0.2)":"rgba(255,255,255, 0.3)",t.style.borderRadius="50%",t.style.pointerEvents="none",t.style.position="absolute",t.style.left=a.clientX-n.left-o+"px",t.style.top=a.clientY-n.top-o+"px",t.style.width=t.style.height=o*2+"px"}applyAnimation(t){t.animate([{transform:"scale(0)",opacity:1},{transform:"scale(1.5)",opacity:0}],{duration:500,easing:"linear"})}create(t,r){const n=t.currentTarget;n.style.position="relative",n.style.overflow="hidden";const o=n.getBoundingClientRect(),a=this.findFurthestPoint(t.clientX,n.offsetWidth,o.left,t.clientY,n.offsetHeight,o.top),i=document.createElement("span");this.appyStyles(i,r,o,a,t),this.applyAnimation(i),n.appendChild(i),setTimeout(()=>i.remove(),500)}};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{IconButton:function(){return w},default:function(){return m}});var r=O(k),n=O(Ze),o=O(kl),a=O(at),i=Xe,s=O(qt),f=O(Ye),g=Ke,b=ci;function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,u=d.size,h=d.color,v=d.ripple,y=d.className,E=d.children;d.fullWidth;var P=T(d,["variant","size","color","ripple","className","children","fullWidth"]),N=(0,g.useTheme)().iconButton,R=N.valid,M=N.defaultProps,L=N.styles,D=L.base,B=L.variants,H=L.sizes;c=c??M.variant,u=u??M.size,h=h??M.color,v=v??M.ripple,y=y??M.className;var Q=v!==void 0&&new o.default,W=(0,f.default)(D),z=(0,f.default)(B[(0,s.default)(R.variants,c,"filled")][(0,s.default)(R.colors,h,"gray")]),$=(0,f.default)(H[(0,s.default)(R.sizes,u,"md")]),q=(0,i.twMerge)((0,a.default)(W,$,z),y);return r.default.createElement("button",S({},P,{ref:l,className:q,type:P.type||"button",onMouseDown:function(Z){var ie=P==null?void 0:P.onMouseDown;return v&&Q.create(Z,(c==="filled"||c==="gradient")&&h!=="white"?"light":"dark"),typeof ie=="function"&&ie(Z)}}),r.default.createElement("span",{className:"absolute top-1/2 left-1/2 transform -translate-y-1/2 -translate-x-1/2"},E))});w.propTypes={variant:n.default.oneOf(b.propTypesVariant),size:n.default.oneOf(b.propTypesSize),color:n.default.oneOf(b.propTypesColor),ripple:b.propTypesRipple,className:b.propTypesClassName,children:b.propTypesChildren},w.displayName="MaterialTailwind.IconButton";var m=w})(Nf);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(c,u){for(var h in u)Object.defineProperty(c,h,{enumerable:!0,get:u[h]})}t(e,{Alert:function(){return d},default:function(){return l}});var r=C(k),n=C(Ze),o=vr,a=C(at),i=C(Sr),s=Xe,f=C(qt),g=C(Ye),b=Ke,S=mm,O=C(Nf);function T(){return T=Object.assign||function(c){for(var u=1;u=0)&&Object.prototype.propertyIsEnumerable.call(c,v)&&(h[v]=c[v])}return h}function m(c,u){if(c==null)return{};var h={},v=Object.keys(c),y,E;for(E=0;E=0)&&(h[y]=c[y]);return h}var d=r.default.forwardRef(function(c,u){var h=c.variant,v=c.color,y=c.icon,E=c.open,P=c.action,N=c.onClose,R=c.animate,M=c.className,L=c.children,D=w(c,["variant","color","icon","open","action","onClose","animate","className","children"]),B=(0,b.useTheme)().alert,H=B.defaultProps,Q=B.valid,W=B.styles,z=W.base,$=W.variants;h=h??H.variant,v=v??H.color,M=M??H.className,R=R??H.animate,E=E??H.open,P=P??H.action,N=N??H.onClose;var q=(0,g.default)(z.alert),Z=(0,g.default)(z.action),ie=(0,g.default)($[(0,f.default)(Q.variants,h,"filled")][(0,f.default)(Q.colors,v,"gray")]),me=(0,s.twMerge)((0,a.default)(q,ie),M),ue=(0,a.default)(Z),te={unmount:{opacity:0},mount:{opacity:1}},Se=(0,i.default)(te,R),ve=r.default.createElement("div",{className:"shrink-0"},y),he=o.AnimatePresence;return r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(he,null,E&&r.default.createElement(o.m.div,T({},D,{ref:u,role:"alert",className:"".concat(me," flex"),initial:"unmount",exit:"unmount",animate:E?"mount":"unmount",variants:Se}),y&&ve,r.default.createElement("div",{className:"".concat(y?"ml-3":""," mr-12")},L),N&&!P&&r.default.createElement(O.default,{onClick:N,size:"sm",variant:"text",color:h==="outlined"||h==="ghost"?v:"white",className:ue},r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",className:"h-6 w-6",strokeWidth:2},r.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))),P||null)))});d.propTypes={variant:n.default.oneOf(S.propTypesVariant),color:n.default.oneOf(S.propTypesColor),icon:S.propTypesIcon,open:S.propTypesOpen,action:S.propTypesAction,onClose:S.propTypesOnClose,animate:S.propTypesAnimate,className:S.propTypesClassName,children:S.propTypesChildren},d.displayName="MaterialTailwind.Alert";var l=d})($O);var HO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{Avatar:function(){return w},default:function(){return m}});var r=O(k),n=O(Ze),o=O(at),a=Xe,i=O(qt),s=O(Ye),f=Ke,g=bm;function b(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,u=d.size,h=d.className,v=d.color,y=d.withBorder,E=T(d,["variant","size","className","color","withBorder"]),P=(0,f.useTheme)().avatar,N=P.valid,R=P.defaultProps,M=P.styles,L=M.base,D=M.variants,B=M.sizes,H=M.borderColor;c=c??R.variant,u=u??R.size,h=h??R.className,y=y??R.withBorder,v=v??R.color;var Q=(0,s.default)(D[(0,i.default)(N.variants,c,"rounded")]),W=(0,s.default)(B[(0,i.default)(N.sizes,u,"md")]),z=(0,s.default)(H[(0,i.default)(N.colors,v,"gray")]),$,q=(0,a.twMerge)((0,o.default)((0,s.default)(L.initial),Q,W,($={},b($,(0,s.default)(L.withBorder),y),b($,z,y),$)),h);return r.default.createElement("img",S({},E,{ref:l,className:q}))});w.propTypes={variant:n.default.oneOf(g.propTypesVariant),size:n.default.oneOf(g.propTypesSize),className:g.propTypesClassName,withBorder:g.propTypesWithBorder,color:n.default.oneOf(g.propTypesColor)},w.displayName="MaterialTailwind.Avatar";var m=w})(HO);var qO={},GO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(f,g){for(var b in g)Object.defineProperty(f,b,{enumerable:!0,get:g[b]})}t(e,{propTypesSeparator:function(){return o},propTypesFullWidth:function(){return a},propTypesClassName:function(){return i},propTypesChildren:function(){return s}});var r=n(Ze);function n(f){return f&&f.__esModule?f:{default:f}}var o=r.default.node,a=r.default.bool,i=r.default.string,s=r.default.node.isRequired})(GO);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{Breadcrumbs:function(){return w},default:function(){return m}});var r=O(k),n=b(at),o=Xe,a=b(Ye),i=Ke,s=GO;function f(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}function g(){return g=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=(0,r.forwardRef)(function(d,l){var c=d.separator,u=d.fullWidth,h=d.className,v=d.children,y=T(d,["separator","fullWidth","className","children"]),E=(0,i.useTheme)().breadcrumbs,P=E.defaultProps,N=E.styles.base;c=c??P.separator,u=u??P.fullWidth,h=h??P.className;var R=(0,n.default)((0,a.default)(N.root.initial),f({},(0,a.default)(N.root.fullWidth),u)),M=(0,o.twMerge)((0,n.default)((0,a.default)(N.list)),h),L=(0,n.default)((0,a.default)(N.item.initial)),D=(0,n.default)((0,a.default)(N.separator));return r.default.createElement("nav",{"aria-label":"breadcrumb",className:R},r.default.createElement("ol",g({},y,{ref:l,className:M}),r.Children.map(v,function(B,H){if((0,r.isValidElement)(B)){var Q;return r.default.createElement("li",{className:(0,n.default)(L,f({},(0,a.default)(N.item.disabled),B==null||(Q=B.props)===null||Q===void 0?void 0:Q.disabled))},B,H!==r.Children.count(v)-1&&r.default.createElement("span",{className:D},c))}return null})))});w.propTypes={separator:s.propTypesSeparator,fullWidth:s.propTypesFullWidth,className:s.propTypesClassName,children:s.propTypesChildren},w.displayName="MaterialTailwind.Breadcrumbs";var m=w})(qO);var KO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Button:function(){return m},default:function(){return d}});var r=T(k),n=T(Ze),o=T(kl),a=T(at),i=Xe,s=T(qt),f=T(Ye),g=Ke,b=ci;function S(l,c,u){return c in l?Object.defineProperty(l,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[c]=u,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.variant,h=l.size,v=l.color,y=l.fullWidth,E=l.ripple,P=l.className,N=l.children,R=C(l,["variant","size","color","fullWidth","ripple","className","children"]),M=(0,g.useTheme)().button,L=M.valid,D=M.defaultProps,B=M.styles,H=B.base,Q=B.variants,W=B.sizes;u=u??D.variant,h=h??D.size,v=v??D.color,y=y??D.fullWidth,E=E??D.ripple,P=P??D.className;var z=E!==void 0&&new o.default,$=(0,f.default)(H.initial),q=(0,f.default)(Q[(0,s.default)(L.variants,u,"filled")][(0,s.default)(L.colors,v,"gray")]),Z=(0,f.default)(W[(0,s.default)(L.sizes,h,"md")]),ie=(0,i.twMerge)((0,a.default)($,Z,q,S({},(0,f.default)(H.fullWidth),y)),P);return r.default.createElement("button",O({},R,{ref:c,className:ie,type:R.type||"button",onMouseDown:function(me){var ue=R==null?void 0:R.onMouseDown;return E&&z.create(me,(u==="filled"||u==="gradient")&&v!=="white"?"light":"dark"),typeof ue=="function"&&ue(me)}}),N)});m.propTypes={variant:n.default.oneOf(b.propTypesVariant),size:n.default.oneOf(b.propTypesSize),color:n.default.oneOf(b.propTypesColor),fullWidth:b.propTypesFullWidth,ripple:b.propTypesRipple,className:b.propTypesClassName,children:b.propTypesChildren},m.displayName="MaterialTailwind.Button";var d=m})(KO);var YO={},QO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{CardHeader:function(){return w},default:function(){return m}});var r=O(k),n=O(Ze),o=O(at),a=Xe,i=O(qt),s=O(Ye),f=Ke,g=di;function b(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,u=d.color,h=d.shadow,v=d.floated,y=d.className,E=d.children,P=T(d,["variant","color","shadow","floated","className","children"]),N=(0,f.useTheme)().cardHeader,R=N.defaultProps,M=N.styles,L=N.valid,D=M.base,B=M.variants;c=c??R.variant,u=u??R.color,h=h??R.shadow,v=v??R.floated,y=y??R.className;var H=(0,s.default)(D.initial),Q=(0,s.default)(B[(0,i.default)(L.variants,c,"filled")][(0,i.default)(L.colors,u,"white")]),W=(0,a.twMerge)((0,o.default)(H,Q,b({},(0,s.default)(D.shadow),h),b({},(0,s.default)(D.floated),v)),y);return r.default.createElement("div",S({},P,{ref:l,className:W}),E)});w.propTypes={variant:n.default.oneOf(g.propTypesVariant),color:n.default.oneOf(g.propTypesColor),shadow:g.propTypesShadow,floated:g.propTypesFloated,className:g.propTypesClassName,children:g.propTypesChildren},w.displayName="MaterialTailwind.CardHeader";var m=w})(QO);var XO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{CardBody:function(){return O},default:function(){return T}});var r=g(k),n=g(at),o=Xe,a=g(Ye),i=Ke,s=di;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function S(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,i.useTheme)().cardBody,u=c.defaultProps,h=c.styles.base;m=m??u.className;var v=(0,o.twMerge)((0,n.default)((0,a.default)(h)),m);return r.default.createElement("div",f({},l,{ref:w,className:v}),d)});O.propTypes={className:s.propTypesClassName,children:s.propTypesChildren},O.displayName="MaterialTailwind.CardBody";var T=O})(XO);var ZO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(w,m){for(var d in m)Object.defineProperty(w,d,{enumerable:!0,get:m[d]})}t(e,{CardFooter:function(){return T},default:function(){return C}});var r=b(k),n=b(at),o=Xe,a=b(Ye),i=Ke,s=di;function f(w,m,d){return m in w?Object.defineProperty(w,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):w[m]=d,w}function g(){return g=Object.assign||function(w){for(var m=1;m=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,u;for(u=0;u=0)&&(d[c]=w[c]);return d}var T=r.default.forwardRef(function(w,m){var d=w.divider,l=w.className,c=w.children,u=S(w,["divider","className","children"]),h=(0,i.useTheme)().cardFooter,v=h.defaultProps,y=h.styles.base;l=l??v.className,d=d??v.divider;var E=(0,o.twMerge)((0,n.default)((0,a.default)(y.initial),f({},(0,a.default)(y.divider),d)),l);return r.default.createElement("div",g({},u,{ref:m,className:E}),c)});T.propTypes={divider:s.propTypesDivider,className:s.propTypesClassName,children:s.propTypesChildren},T.displayName="MaterialTailwind.CardFooter";var C=T})(ZO);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(u,h){for(var v in h)Object.defineProperty(u,v,{enumerable:!0,get:h[v]})}t(e,{Card:function(){return l},CardHeader:function(){return g.CardHeader},CardBody:function(){return b.CardBody},CardFooter:function(){return S.CardFooter},default:function(){return c}});var r=w(k),n=w(Ze),o=w(at),a=Xe,i=w(qt),s=w(Ye),f=Ke,g=QO,b=XO,S=ZO,O=di;function T(u,h,v){return h in u?Object.defineProperty(u,h,{value:v,enumerable:!0,configurable:!0,writable:!0}):u[h]=v,u}function C(){return C=Object.assign||function(u){for(var h=1;h=0)&&Object.prototype.propertyIsEnumerable.call(u,y)&&(v[y]=u[y])}return v}function d(u,h){if(u==null)return{};var v={},y=Object.keys(u),E,P;for(P=0;P=0)&&(v[E]=u[E]);return v}var l=r.default.forwardRef(function(u,h){var v=u.variant,y=u.color,E=u.shadow,P=u.className,N=u.children,R=m(u,["variant","color","shadow","className","children"]),M=(0,f.useTheme)().card,L=M.defaultProps,D=M.styles,B=M.valid,H=D.base,Q=D.variants;v=v??L.variant,y=y??L.color,E=E??L.shadow,P=P??L.className;var W=(0,s.default)(H.initial),z=(0,s.default)(Q[(0,i.default)(B.variants,v,"filled")][(0,i.default)(B.colors,y,"white")]),$=(0,a.twMerge)((0,o.default)(W,z,T({},(0,s.default)(H.shadow),E)),P);return r.default.createElement("div",C({},R,{ref:h,className:$}),N)});l.propTypes={variant:n.default.oneOf(O.propTypesVariant),color:n.default.oneOf(O.propTypesColor),shadow:O.propTypesShadow,className:O.propTypesClassName,children:O.propTypesChildren},l.displayName="MaterialTailwind.Card";var c=Object.assign(l,{Header:g.CardHeader,Body:b.CardBody,Footer:S.CardFooter})})(YO);var JO={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Checkbox:function(){return m},default:function(){return d}});var r=T(k),n=T(Ze),o=T(kl),a=T(at),i=Xe,s=T(qt),f=T(Ye),g=Ke,b=fi;function S(l,c,u){return c in l?Object.defineProperty(l,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[c]=u,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.color,h=l.label,v=l.icon,y=l.ripple,E=l.className,P=l.disabled,N=l.containerProps,R=l.labelProps,M=l.iconProps,L=l.inputRef,D=C(l,["color","label","icon","ripple","className","disabled","containerProps","labelProps","iconProps","inputRef"]),B=(0,g.useTheme)().checkbox,H=B.defaultProps,Q=B.valid,W=B.styles,z=W.base,$=W.colors,q=r.default.useId();u=u??H.color,h=h??H.label,v=v??H.icon,y=y??H.ripple,E=E??H.className,P=P??H.disabled,N=N??H.containerProps,R=R??H.labelProps,M=M??H.iconProps;var Z=y!==void 0&&new o.default,ie=(0,a.default)((0,f.default)(z.root),S({},(0,f.default)(z.disabled),P)),me=(0,i.twMerge)((0,a.default)((0,f.default)(z.container)),N==null?void 0:N.className),ue=(0,i.twMerge)((0,a.default)((0,f.default)(z.input),(0,f.default)($[(0,s.default)(Q.colors,u,"gray")])),E),te=(0,i.twMerge)((0,a.default)((0,f.default)(z.label)),R==null?void 0:R.className),Se=(0,i.twMerge)((0,a.default)((0,f.default)(z.icon)),M==null?void 0:M.className);return r.default.createElement("div",{ref:c,className:ie},r.default.createElement("label",O({},N,{className:me,htmlFor:D.id||q,onMouseDown:function(ve){var he=N==null?void 0:N.onMouseDown;return y&&Z.create(ve,"dark"),typeof he=="function"&&he(ve)}}),r.default.createElement("input",O({},D,{ref:L,type:"checkbox",disabled:P,className:ue,id:D.id||q})),r.default.createElement("span",{className:Se},v||r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-3.5 w-3.5",viewBox:"0 0 20 20",fill:"currentColor",stroke:"currentColor",strokeWidth:1},r.default.createElement("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})))),h&&r.default.createElement("label",O({},R,{className:te,htmlFor:D.id||q}),h))});m.propTypes={color:n.default.oneOf(b.propTypesColor),label:b.propTypesLabel,icon:b.propTypesIcon,ripple:b.propTypesRipple,className:b.propTypesClassName,disabled:b.propTypesDisabled,containerProps:b.propTypesObject,labelProps:b.propTypesObject},m.displayName="MaterialTailwind.Checkbox";var d=m})(JO);var eP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(c,u){for(var h in u)Object.defineProperty(c,h,{enumerable:!0,get:u[h]})}t(e,{Chip:function(){return d},default:function(){return l}});var r=C(k),n=C(Ze),o=vr,a=C(at),i=C(Sr),s=Xe,f=C(qt),g=C(Ye),b=Ke,S=Cm,O=C(Nf);function T(){return T=Object.assign||function(c){for(var u=1;u=0)&&Object.prototype.propertyIsEnumerable.call(c,v)&&(h[v]=c[v])}return h}function m(c,u){if(c==null)return{};var h={},v=Object.keys(c),y,E;for(E=0;E=0)&&(h[y]=c[y]);return h}var d=r.default.forwardRef(function(c,u){var h=c.variant,v=c.size,y=c.color,E=c.icon,P=c.open,N=c.onClose,R=c.action,M=c.animate,L=c.className,D=c.value,B=w(c,["variant","size","color","icon","open","onClose","action","animate","className","value"]),H=(0,b.useTheme)().chip,Q=H.defaultProps,W=H.valid,z=H.styles,$=z.base,q=z.variants,Z=z.sizes;h=h??Q.variant,v=v??Q.size,y=y??Q.color,L=L??Q.className,M=M??Q.animate,P=P??Q.open,R=R??Q.action,N=N??Q.onClose;var ie=(0,g.default)($.chip),me=(0,g.default)($.action),ue=(0,g.default)($.icon),te=(0,g.default)(q[(0,f.default)(W.variants,h,"filled")][(0,f.default)(W.colors,y,"gray")]),Se=(0,g.default)(Z[(0,f.default)(W.sizes,v,"md")].chip),ve=(0,g.default)(Z[(0,f.default)(W.sizes,v,"md")].action),he=(0,g.default)(Z[(0,f.default)(W.sizes,v,"md")].icon),re=(0,s.twMerge)((0,a.default)(ie,te,Se),L),ge=(0,a.default)(me,ve),Ce=(0,a.default)(ue,he),Ne=(0,a.default)({"ml-4":E&&v==="sm","ml-[18px]":E&&v==="md","ml-5":E&&v==="lg","mr-5":N}),Pe={unmount:{opacity:0},mount:{opacity:1}},Te=(0,i.default)(Pe,M),je=r.default.createElement("div",{className:Ce},E),ze=o.AnimatePresence;return r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(ze,null,P&&r.default.createElement(o.m.div,T({},B,{ref:u,className:re,initial:"unmount",exit:"unmount",animate:P?"mount":"unmount",variants:Te}),E&&je,r.default.createElement("span",{className:Ne},D),N&&!R&&r.default.createElement(O.default,{onClick:N,size:"sm",variant:"text",color:h==="outlined"||h==="ghost"?y:"white",className:ge},r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",className:(0,a.default)({"h-3.5 w-3.5":v==="sm","h-4 w-4":v==="md","h-5 w-5":v==="lg"}),strokeWidth:2},r.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))),R||null)))});d.propTypes={variant:n.default.oneOf(S.propTypesVariant),size:n.default.oneOf(S.propTypesSize),color:n.default.oneOf(S.propTypesColor),icon:S.propTypesIcon,open:S.propTypesOpen,onClose:S.propTypesOnClose,action:S.propTypesAction,animate:S.propTypesAnimate,className:S.propTypesClassName,value:S.propTypesValue},d.displayName="MaterialTailwind.Chip";var l=d})(eP);var tP={},mF=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ni=new WeakMap,sc=new WeakMap,uc={},fh=0,rP=function(e){return e&&(e.host||rP(e.parentNode))},bF=function(e,t){return t.map(function(r){if(e.contains(r))return r;var n=rP(r);return n&&e.contains(n)?n:(console.error("aria-hidden",r,"in not contained inside",e,". Doing nothing"),null)}).filter(function(r){return!!r})},vF=function(e,t,r,n){var o=bF(t,Array.isArray(e)?e:[e]);uc[r]||(uc[r]=new WeakMap);var a=uc[r],i=[],s=new Set,f=new Set(o),g=function(S){!S||s.has(S)||(s.add(S),g(S.parentNode))};o.forEach(g);var b=function(S){!S||f.has(S)||Array.prototype.forEach.call(S.children,function(O){if(s.has(O))b(O);else try{var T=O.getAttribute(n),C=T!==null&&T!=="false",w=(Ni.get(O)||0)+1,m=(a.get(O)||0)+1;Ni.set(O,w),a.set(O,m),i.push(O),w===1&&C&&sc.set(O,!0),m===1&&O.setAttribute(r,"true"),C||O.setAttribute(n,"true")}catch(d){console.error("aria-hidden: cannot operate on ",O,d)}})};return b(t),s.clear(),fh++,function(){i.forEach(function(S){var O=Ni.get(S)-1,T=a.get(S)-1;Ni.set(S,O),a.set(S,T),O||(sc.has(S)||S.removeAttribute(n),sc.delete(S)),T||S.removeAttribute(r)}),fh--,fh||(Ni=new WeakMap,Ni=new WeakMap,sc=new WeakMap,uc={})}},yF=function(e,t,r){r===void 0&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),o=t||mF(e);return o?(n.push.apply(n,Array.from(o.querySelectorAll("[aria-live], script"))),vF(n,o,r,"aria-hidden")):function(){return null}};/*! +* tabbable 6.2.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var xF=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],Q0=xF.join(","),nP=typeof Element>"u",tu=nP?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,Id=!nP&&Element.prototype.getRootNode?function(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}:function(e){return e==null?void 0:e.ownerDocument},Dd=function e(t,r){var n;r===void 0&&(r=!0);var o=t==null||(n=t.getAttribute)===null||n===void 0?void 0:n.call(t,"inert"),a=o===""||o==="true",i=a||r&&t&&e(t.parentNode);return i},wF=function(t){var r,n=t==null||(r=t.getAttribute)===null||r===void 0?void 0:r.call(t,"contenteditable");return n===""||n==="true"},_F=function(t,r,n){if(Dd(t))return[];var o=Array.prototype.slice.apply(t.querySelectorAll(Q0));return r&&tu.call(t,Q0)&&o.unshift(t),o=o.filter(n),o},SF=function e(t,r,n){for(var o=[],a=Array.from(t);a.length;){var i=a.shift();if(!Dd(i,!1))if(i.tagName==="SLOT"){var s=i.assignedElements(),f=s.length?s:i.children,g=e(f,!0,n);n.flatten?o.push.apply(o,g):o.push({scopeParent:i,candidates:g})}else{var b=tu.call(i,Q0);b&&n.filter(i)&&(r||!t.includes(i))&&o.push(i);var S=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),O=!Dd(S,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(S&&O){var T=e(S===!0?i.children:S.children,!0,n);n.flatten?o.push.apply(o,T):o.push({scopeParent:i,candidates:T})}else a.unshift.apply(a,i.children)}}return o},oP=function(t){return!isNaN(parseInt(t.getAttribute("tabindex"),10))},aP=function(t){if(!t)throw new Error("No node provided");return t.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(t.tagName)||wF(t))&&!oP(t)?0:t.tabIndex},CF=function(t,r){var n=aP(t);return n<0&&r&&!oP(t)?0:n},TF=function(t,r){return t.tabIndex===r.tabIndex?t.documentOrder-r.documentOrder:t.tabIndex-r.tabIndex},iP=function(t){return t.tagName==="INPUT"},OF=function(t){return iP(t)&&t.type==="hidden"},PF=function(t){var r=t.tagName==="DETAILS"&&Array.prototype.slice.apply(t.children).some(function(n){return n.tagName==="SUMMARY"});return r},kF=function(t,r){for(var n=0;nsummary:first-of-type"),i=a?t.parentElement:t;if(tu.call(i,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof o=="function"){for(var s=t;t;){var f=t.parentElement,g=Id(t);if(f&&!f.shadowRoot&&o(f)===!0)return sw(t);t.assignedSlot?t=t.assignedSlot:!f&&g!==t.ownerDocument?t=g.host:t=f}t=s}if(RF(t))return!t.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return sw(t);return!1},MF=function(t){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(t.tagName))for(var r=t.parentElement;r;){if(r.tagName==="FIELDSET"&&r.disabled){for(var n=0;n=0)},LF=function e(t){var r=[],n=[];return t.forEach(function(o,a){var i=!!o.scopeParent,s=i?o.scopeParent:o,f=CF(s,i),g=i?e(o.candidates):s;f===0?i?r.push.apply(r,g):r.push(s):n.push({documentOrder:a,tabIndex:f,item:o,isScope:i,content:g})}),n.sort(TF).reduce(function(o,a){return a.isScope?o.push.apply(o,a.content):o.push(a.content),o},[]).concat(r)},Ld=function(t,r){r=r||{};var n;return r.getShadowRoot?n=SF([t],r.includeContainer,{filter:uw.bind(null,r),flatten:!1,getShadowRoot:r.getShadowRoot,shadowRootFilter:DF}):n=_F(t,r.includeContainer,uw.bind(null,r)),LF(n)};const lP=["top","right","bottom","left"],cw=["start","end"],dw=lP.reduce((e,t)=>e.concat(t,t+"-"+cw[0],t+"-"+cw[1]),[]),Xn=Math.min,Rr=Math.max,Fd=Math.round,cc=Math.floor,go=e=>({x:e,y:e}),FF={left:"right",right:"left",bottom:"top",top:"bottom"},zF={start:"end",end:"start"};function X0(e,t,r){return Rr(e,Xn(t,r))}function Zn(e,t){return typeof e=="function"?e(t):e}function pn(e){return e.split("-")[0]}function Yn(e){return e.split("-")[1]}function Jm(e){return e==="x"?"y":"x"}function eb(e){return e==="y"?"height":"width"}const BF=new Set(["top","bottom"]);function Hn(e){return BF.has(pn(e))?"y":"x"}function tb(e){return Jm(Hn(e))}function sP(e,t,r){r===void 0&&(r=!1);const n=Yn(e),o=tb(e),a=eb(o);let i=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Bd(i)),[i,Bd(i)]}function VF(e){const t=Bd(e);return[zd(e),t,zd(t)]}function zd(e){return e.replace(/start|end/g,t=>zF[t])}const fw=["left","right"],pw=["right","left"],UF=["top","bottom"],WF=["bottom","top"];function $F(e,t,r){switch(e){case"top":case"bottom":return r?t?pw:fw:t?fw:pw;case"left":case"right":return t?UF:WF;default:return[]}}function HF(e,t,r,n){const o=Yn(e);let a=$F(pn(e),r==="start",n);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(zd)))),a}function Bd(e){return e.replace(/left|right|bottom|top/g,t=>FF[t])}function qF(e){return{top:0,right:0,bottom:0,left:0,...e}}function rb(e){return typeof e!="number"?qF(e):{top:e,right:e,bottom:e,left:e}}function gl(e){const{x:t,y:r,width:n,height:o}=e;return{width:n,height:o,top:r,left:t,right:t+n,bottom:r+o,x:t,y:r}}function hw(e,t,r){let{reference:n,floating:o}=e;const a=Hn(t),i=tb(t),s=eb(i),f=pn(t),g=a==="y",b=n.x+n.width/2-o.width/2,S=n.y+n.height/2-o.height/2,O=n[s]/2-o[s]/2;let T;switch(f){case"top":T={x:b,y:n.y-o.height};break;case"bottom":T={x:b,y:n.y+n.height};break;case"right":T={x:n.x+n.width,y:S};break;case"left":T={x:n.x-o.width,y:S};break;default:T={x:n.x,y:n.y}}switch(Yn(t)){case"start":T[i]-=O*(r&&g?-1:1);break;case"end":T[i]+=O*(r&&g?-1:1);break}return T}const GF=async(e,t,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:a=[],platform:i}=r,s=a.filter(Boolean),f=await(i.isRTL==null?void 0:i.isRTL(t));let g=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:b,y:S}=hw(g,n,f),O=n,T={},C=0;for(let w=0;w({name:"arrow",options:e,async fn(t){const{x:r,y:n,placement:o,rects:a,platform:i,elements:s,middlewareData:f}=t,{element:g,padding:b=0}=Zn(e,t)||{};if(g==null)return{};const S=rb(b),O={x:r,y:n},T=tb(o),C=eb(T),w=await i.getDimensions(g),m=T==="y",d=m?"top":"left",l=m?"bottom":"right",c=m?"clientHeight":"clientWidth",u=a.reference[C]+a.reference[T]-O[T]-a.floating[C],h=O[T]-a.reference[T],v=await(i.getOffsetParent==null?void 0:i.getOffsetParent(g));let y=v?v[c]:0;(!y||!await(i.isElement==null?void 0:i.isElement(v)))&&(y=s.floating[c]||a.floating[C]);const E=u/2-h/2,P=y/2-w[C]/2-1,N=Xn(S[d],P),R=Xn(S[l],P),M=N,L=y-w[C]-R,D=y/2-w[C]/2+E,B=X0(M,D,L),H=!f.arrow&&Yn(o)!=null&&D!==B&&a.reference[C]/2-(DYn(o)===e),...r.filter(o=>Yn(o)!==e)]:r.filter(o=>pn(o)===o)).filter(o=>e?Yn(o)===e||(t?zd(o)!==o:!1):!0)}const QF=function(e){return e===void 0&&(e={}),{name:"autoPlacement",options:e,async fn(t){var r,n,o;const{rects:a,middlewareData:i,placement:s,platform:f,elements:g}=t,{crossAxis:b=!1,alignment:S,allowedPlacements:O=dw,autoAlignment:T=!0,...C}=Zn(e,t),w=S!==void 0||O===dw?YF(S||null,T,O):O,m=await ni(t,C),d=((r=i.autoPlacement)==null?void 0:r.index)||0,l=w[d];if(l==null)return{};const c=sP(l,a,await(f.isRTL==null?void 0:f.isRTL(g.floating)));if(s!==l)return{reset:{placement:w[0]}};const u=[m[pn(l)],m[c[0]],m[c[1]]],h=[...((n=i.autoPlacement)==null?void 0:n.overflows)||[],{placement:l,overflows:u}],v=w[d+1];if(v)return{data:{index:d+1,overflows:h},reset:{placement:v}};const y=h.map(N=>{const R=Yn(N.placement);return[N.placement,R&&b?N.overflows.slice(0,2).reduce((M,L)=>M+L,0):N.overflows[0],N.overflows]}).sort((N,R)=>N[1]-R[1]),P=((o=y.filter(N=>N[2].slice(0,Yn(N[0])?2:3).every(R=>R<=0))[0])==null?void 0:o[0])||y[0][0];return P!==s?{data:{index:d+1,overflows:h},reset:{placement:P}}:{}}}},XF=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var r,n;const{placement:o,middlewareData:a,rects:i,initialPlacement:s,platform:f,elements:g}=t,{mainAxis:b=!0,crossAxis:S=!0,fallbackPlacements:O,fallbackStrategy:T="bestFit",fallbackAxisSideDirection:C="none",flipAlignment:w=!0,...m}=Zn(e,t);if((r=a.arrow)!=null&&r.alignmentOffset)return{};const d=pn(o),l=Hn(s),c=pn(s)===s,u=await(f.isRTL==null?void 0:f.isRTL(g.floating)),h=O||(c||!w?[Bd(s)]:VF(s)),v=C!=="none";!O&&v&&h.push(...HF(s,w,C,u));const y=[s,...h],E=await ni(t,m),P=[];let N=((n=a.flip)==null?void 0:n.overflows)||[];if(b&&P.push(E[d]),S){const D=sP(o,i,u);P.push(E[D[0]],E[D[1]])}if(N=[...N,{placement:o,overflows:P}],!P.every(D=>D<=0)){var R,M;const D=(((R=a.flip)==null?void 0:R.index)||0)+1,B=y[D];if(B&&(!(S==="alignment"?l!==Hn(B):!1)||N.every(W=>Hn(W.placement)===l?W.overflows[0]>0:!0)))return{data:{index:D,overflows:N},reset:{placement:B}};let H=(M=N.filter(Q=>Q.overflows[0]<=0).sort((Q,W)=>Q.overflows[1]-W.overflows[1])[0])==null?void 0:M.placement;if(!H)switch(T){case"bestFit":{var L;const Q=(L=N.filter(W=>{if(v){const z=Hn(W.placement);return z===l||z==="y"}return!0}).map(W=>[W.placement,W.overflows.filter(z=>z>0).reduce((z,$)=>z+$,0)]).sort((W,z)=>W[1]-z[1])[0])==null?void 0:L[0];Q&&(H=Q);break}case"initialPlacement":H=s;break}if(o!==H)return{reset:{placement:H}}}return{}}}};function gw(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function mw(e){return lP.some(t=>e[t]>=0)}const ZF=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){const{rects:r}=t,{strategy:n="referenceHidden",...o}=Zn(e,t);switch(n){case"referenceHidden":{const a=await ni(t,{...o,elementContext:"reference"}),i=gw(a,r.reference);return{data:{referenceHiddenOffsets:i,referenceHidden:mw(i)}}}case"escaped":{const a=await ni(t,{...o,altBoundary:!0}),i=gw(a,r.floating);return{data:{escapedOffsets:i,escaped:mw(i)}}}default:return{}}}}};function uP(e){const t=Xn(...e.map(a=>a.left)),r=Xn(...e.map(a=>a.top)),n=Rr(...e.map(a=>a.right)),o=Rr(...e.map(a=>a.bottom));return{x:t,y:r,width:n-t,height:o-r}}function JF(e){const t=e.slice().sort((o,a)=>o.y-a.y),r=[];let n=null;for(let o=0;on.height/2?r.push([a]):r[r.length-1].push(a),n=a}return r.map(o=>gl(uP(o)))}const e6=function(e){return e===void 0&&(e={}),{name:"inline",options:e,async fn(t){const{placement:r,elements:n,rects:o,platform:a,strategy:i}=t,{padding:s=2,x:f,y:g}=Zn(e,t),b=Array.from(await(a.getClientRects==null?void 0:a.getClientRects(n.reference))||[]),S=JF(b),O=gl(uP(b)),T=rb(s);function C(){if(S.length===2&&S[0].left>S[1].right&&f!=null&&g!=null)return S.find(m=>f>m.left-T.left&&fm.top-T.top&&g=2){if(Hn(r)==="y"){const N=S[0],R=S[S.length-1],M=pn(r)==="top",L=N.top,D=R.bottom,B=M?N.left:R.left,H=M?N.right:R.right,Q=H-B,W=D-L;return{top:L,bottom:D,left:B,right:H,width:Q,height:W,x:B,y:L}}const m=pn(r)==="left",d=Rr(...S.map(N=>N.right)),l=Xn(...S.map(N=>N.left)),c=S.filter(N=>m?N.left===l:N.right===d),u=c[0].top,h=c[c.length-1].bottom,v=l,y=d,E=y-v,P=h-u;return{top:u,bottom:h,left:v,right:y,width:E,height:P,x:v,y:u}}return O}const w=await a.getElementRects({reference:{getBoundingClientRect:C},floating:n.floating,strategy:i});return o.reference.x!==w.reference.x||o.reference.y!==w.reference.y||o.reference.width!==w.reference.width||o.reference.height!==w.reference.height?{reset:{rects:w}}:{}}}},cP=new Set(["left","top"]);async function t6(e,t){const{placement:r,platform:n,elements:o}=e,a=await(n.isRTL==null?void 0:n.isRTL(o.floating)),i=pn(r),s=Yn(r),f=Hn(r)==="y",g=cP.has(i)?-1:1,b=a&&f?-1:1,S=Zn(t,e);let{mainAxis:O,crossAxis:T,alignmentAxis:C}=typeof S=="number"?{mainAxis:S,crossAxis:0,alignmentAxis:null}:{mainAxis:S.mainAxis||0,crossAxis:S.crossAxis||0,alignmentAxis:S.alignmentAxis};return s&&typeof C=="number"&&(T=s==="end"?C*-1:C),f?{x:T*b,y:O*g}:{x:O*g,y:T*b}}const r6=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var r,n;const{x:o,y:a,placement:i,middlewareData:s}=t,f=await t6(t,e);return i===((r=s.offset)==null?void 0:r.placement)&&(n=s.arrow)!=null&&n.alignmentOffset?{}:{x:o+f.x,y:a+f.y,data:{...f,placement:i}}}}},n6=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){const{x:r,y:n,placement:o}=t,{mainAxis:a=!0,crossAxis:i=!1,limiter:s={fn:m=>{let{x:d,y:l}=m;return{x:d,y:l}}},...f}=Zn(e,t),g={x:r,y:n},b=await ni(t,f),S=Hn(pn(o)),O=Jm(S);let T=g[O],C=g[S];if(a){const m=O==="y"?"top":"left",d=O==="y"?"bottom":"right",l=T+b[m],c=T-b[d];T=X0(l,T,c)}if(i){const m=S==="y"?"top":"left",d=S==="y"?"bottom":"right",l=C+b[m],c=C-b[d];C=X0(l,C,c)}const w=s.fn({...t,[O]:T,[S]:C});return{...w,data:{x:w.x-r,y:w.y-n,enabled:{[O]:a,[S]:i}}}}}},o6=function(e){return e===void 0&&(e={}),{options:e,fn(t){const{x:r,y:n,placement:o,rects:a,middlewareData:i}=t,{offset:s=0,mainAxis:f=!0,crossAxis:g=!0}=Zn(e,t),b={x:r,y:n},S=Hn(o),O=Jm(S);let T=b[O],C=b[S];const w=Zn(s,t),m=typeof w=="number"?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(f){const c=O==="y"?"height":"width",u=a.reference[O]-a.floating[c]+m.mainAxis,h=a.reference[O]+a.reference[c]-m.mainAxis;Th&&(T=h)}if(g){var d,l;const c=O==="y"?"width":"height",u=cP.has(pn(o)),h=a.reference[S]-a.floating[c]+(u&&((d=i.offset)==null?void 0:d[S])||0)+(u?0:m.crossAxis),v=a.reference[S]+a.reference[c]+(u?0:((l=i.offset)==null?void 0:l[S])||0)-(u?m.crossAxis:0);Cv&&(C=v)}return{[O]:T,[S]:C}}}},a6=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var r,n;const{placement:o,rects:a,platform:i,elements:s}=t,{apply:f=()=>{},...g}=Zn(e,t),b=await ni(t,g),S=pn(o),O=Yn(o),T=Hn(o)==="y",{width:C,height:w}=a.floating;let m,d;S==="top"||S==="bottom"?(m=S,d=O===(await(i.isRTL==null?void 0:i.isRTL(s.floating))?"start":"end")?"left":"right"):(d=S,m=O==="end"?"top":"bottom");const l=w-b.top-b.bottom,c=C-b.left-b.right,u=Xn(w-b[m],l),h=Xn(C-b[d],c),v=!t.middlewareData.shift;let y=u,E=h;if((r=t.middlewareData.shift)!=null&&r.enabled.x&&(E=c),(n=t.middlewareData.shift)!=null&&n.enabled.y&&(y=l),v&&!O){const N=Rr(b.left,0),R=Rr(b.right,0),M=Rr(b.top,0),L=Rr(b.bottom,0);T?E=C-2*(N!==0||R!==0?N+R:Rr(b.left,b.right)):y=w-2*(M!==0||L!==0?M+L:Rr(b.top,b.bottom))}await f({...t,availableWidth:E,availableHeight:y});const P=await i.getDimensions(s.floating);return C!==P.width||w!==P.height?{reset:{rects:!0}}:{}}}};function jf(){return typeof window<"u"}function El(e){return dP(e)?(e.nodeName||"").toLowerCase():"#document"}function dn(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function xo(e){var t;return(t=(dP(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function dP(e){return jf()?e instanceof Node||e instanceof dn(e).Node:!1}function Jn(e){return jf()?e instanceof Element||e instanceof dn(e).Element:!1}function bo(e){return jf()?e instanceof HTMLElement||e instanceof dn(e).HTMLElement:!1}function bw(e){return!jf()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof dn(e).ShadowRoot}const i6=new Set(["inline","contents"]);function yu(e){const{overflow:t,overflowX:r,overflowY:n,display:o}=eo(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!i6.has(o)}const l6=new Set(["table","td","th"]);function s6(e){return l6.has(El(e))}const u6=[":popover-open",":modal"];function Rf(e){return u6.some(t=>{try{return e.matches(t)}catch{return!1}})}const c6=["transform","translate","scale","rotate","perspective"],d6=["transform","translate","scale","rotate","perspective","filter"],f6=["paint","layout","strict","content"];function nb(e){const t=ob(),r=Jn(e)?eo(e):e;return c6.some(n=>r[n]?r[n]!=="none":!1)||(r.containerType?r.containerType!=="normal":!1)||!t&&(r.backdropFilter?r.backdropFilter!=="none":!1)||!t&&(r.filter?r.filter!=="none":!1)||d6.some(n=>(r.willChange||"").includes(n))||f6.some(n=>(r.contain||"").includes(n))}function p6(e){let t=Oa(e);for(;bo(t)&&!ml(t);){if(nb(t))return t;if(Rf(t))return null;t=Oa(t)}return null}function ob(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}const h6=new Set(["html","body","#document"]);function ml(e){return h6.has(El(e))}function eo(e){return dn(e).getComputedStyle(e)}function Af(e){return Jn(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Oa(e){if(El(e)==="html")return e;const t=e.assignedSlot||e.parentNode||bw(e)&&e.host||xo(e);return bw(t)?t.host:t}function fP(e){const t=Oa(e);return ml(t)?e.ownerDocument?e.ownerDocument.body:e.body:bo(t)&&yu(t)?t:fP(t)}function Mo(e,t,r){var n;t===void 0&&(t=[]),r===void 0&&(r=!0);const o=fP(e),a=o===((n=e.ownerDocument)==null?void 0:n.body),i=dn(o);if(a){const s=Z0(i);return t.concat(i,i.visualViewport||[],yu(o)?o:[],s&&r?Mo(s):[])}return t.concat(o,Mo(o,[],r))}function Z0(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function pP(e){const t=eo(e);let r=parseFloat(t.width)||0,n=parseFloat(t.height)||0;const o=bo(e),a=o?e.offsetWidth:r,i=o?e.offsetHeight:n,s=Fd(r)!==a||Fd(n)!==i;return s&&(r=a,n=i),{width:r,height:n,$:s}}function ab(e){return Jn(e)?e:e.contextElement}function tl(e){const t=ab(e);if(!bo(t))return go(1);const r=t.getBoundingClientRect(),{width:n,height:o,$:a}=pP(t);let i=(a?Fd(r.width):r.width)/n,s=(a?Fd(r.height):r.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!s||!Number.isFinite(s))&&(s=1),{x:i,y:s}}const g6=go(0);function hP(e){const t=dn(e);return!ob()||!t.visualViewport?g6:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function m6(e,t,r){return t===void 0&&(t=!1),!r||t&&r!==dn(e)?!1:t}function oi(e,t,r,n){t===void 0&&(t=!1),r===void 0&&(r=!1);const o=e.getBoundingClientRect(),a=ab(e);let i=go(1);t&&(n?Jn(n)&&(i=tl(n)):i=tl(e));const s=m6(a,r,n)?hP(a):go(0);let f=(o.left+s.x)/i.x,g=(o.top+s.y)/i.y,b=o.width/i.x,S=o.height/i.y;if(a){const O=dn(a),T=n&&Jn(n)?dn(n):n;let C=O,w=Z0(C);for(;w&&n&&T!==C;){const m=tl(w),d=w.getBoundingClientRect(),l=eo(w),c=d.left+(w.clientLeft+parseFloat(l.paddingLeft))*m.x,u=d.top+(w.clientTop+parseFloat(l.paddingTop))*m.y;f*=m.x,g*=m.y,b*=m.x,S*=m.y,f+=c,g+=u,C=dn(w),w=Z0(C)}}return gl({width:b,height:S,x:f,y:g})}function Mf(e,t){const r=Af(e).scrollLeft;return t?t.left+r:oi(xo(e)).left+r}function gP(e,t){const r=e.getBoundingClientRect(),n=r.left+t.scrollLeft-Mf(e,r),o=r.top+t.scrollTop;return{x:n,y:o}}function b6(e){let{elements:t,rect:r,offsetParent:n,strategy:o}=e;const a=o==="fixed",i=xo(n),s=t?Rf(t.floating):!1;if(n===i||s&&a)return r;let f={scrollLeft:0,scrollTop:0},g=go(1);const b=go(0),S=bo(n);if((S||!S&&!a)&&((El(n)!=="body"||yu(i))&&(f=Af(n)),bo(n))){const T=oi(n);g=tl(n),b.x=T.x+n.clientLeft,b.y=T.y+n.clientTop}const O=i&&!S&&!a?gP(i,f):go(0);return{width:r.width*g.x,height:r.height*g.y,x:r.x*g.x-f.scrollLeft*g.x+b.x+O.x,y:r.y*g.y-f.scrollTop*g.y+b.y+O.y}}function v6(e){return Array.from(e.getClientRects())}function y6(e){const t=xo(e),r=Af(e),n=e.ownerDocument.body,o=Rr(t.scrollWidth,t.clientWidth,n.scrollWidth,n.clientWidth),a=Rr(t.scrollHeight,t.clientHeight,n.scrollHeight,n.clientHeight);let i=-r.scrollLeft+Mf(e);const s=-r.scrollTop;return eo(n).direction==="rtl"&&(i+=Rr(t.clientWidth,n.clientWidth)-o),{width:o,height:a,x:i,y:s}}const vw=25;function x6(e,t){const r=dn(e),n=xo(e),o=r.visualViewport;let a=n.clientWidth,i=n.clientHeight,s=0,f=0;if(o){a=o.width,i=o.height;const b=ob();(!b||b&&t==="fixed")&&(s=o.offsetLeft,f=o.offsetTop)}const g=Mf(n);if(g<=0){const b=n.ownerDocument,S=b.body,O=getComputedStyle(S),T=b.compatMode==="CSS1Compat"&&parseFloat(O.marginLeft)+parseFloat(O.marginRight)||0,C=Math.abs(n.clientWidth-S.clientWidth-T);C<=vw&&(a-=C)}else g<=vw&&(a+=g);return{width:a,height:i,x:s,y:f}}const w6=new Set(["absolute","fixed"]);function _6(e,t){const r=oi(e,!0,t==="fixed"),n=r.top+e.clientTop,o=r.left+e.clientLeft,a=bo(e)?tl(e):go(1),i=e.clientWidth*a.x,s=e.clientHeight*a.y,f=o*a.x,g=n*a.y;return{width:i,height:s,x:f,y:g}}function yw(e,t,r){let n;if(t==="viewport")n=x6(e,r);else if(t==="document")n=y6(xo(e));else if(Jn(t))n=_6(t,r);else{const o=hP(e);n={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return gl(n)}function mP(e,t){const r=Oa(e);return r===t||!Jn(r)||ml(r)?!1:eo(r).position==="fixed"||mP(r,t)}function S6(e,t){const r=t.get(e);if(r)return r;let n=Mo(e,[],!1).filter(s=>Jn(s)&&El(s)!=="body"),o=null;const a=eo(e).position==="fixed";let i=a?Oa(e):e;for(;Jn(i)&&!ml(i);){const s=eo(i),f=nb(i);!f&&s.position==="fixed"&&(o=null),(a?!f&&!o:!f&&s.position==="static"&&!!o&&w6.has(o.position)||yu(i)&&!f&&mP(e,i))?n=n.filter(b=>b!==i):o=s,i=Oa(i)}return t.set(e,n),n}function C6(e){let{element:t,boundary:r,rootBoundary:n,strategy:o}=e;const i=[...r==="clippingAncestors"?Rf(t)?[]:S6(t,this._c):[].concat(r),n],s=i[0],f=i.reduce((g,b)=>{const S=yw(t,b,o);return g.top=Rr(S.top,g.top),g.right=Xn(S.right,g.right),g.bottom=Xn(S.bottom,g.bottom),g.left=Rr(S.left,g.left),g},yw(t,s,o));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function T6(e){const{width:t,height:r}=pP(e);return{width:t,height:r}}function O6(e,t,r){const n=bo(t),o=xo(t),a=r==="fixed",i=oi(e,!0,a,t);let s={scrollLeft:0,scrollTop:0};const f=go(0);function g(){f.x=Mf(o)}if(n||!n&&!a)if((El(t)!=="body"||yu(o))&&(s=Af(t)),n){const T=oi(t,!0,a,t);f.x=T.x+t.clientLeft,f.y=T.y+t.clientTop}else o&&g();a&&!n&&o&&g();const b=o&&!n&&!a?gP(o,s):go(0),S=i.left+s.scrollLeft-f.x-b.x,O=i.top+s.scrollTop-f.y-b.y;return{x:S,y:O,width:i.width,height:i.height}}function ph(e){return eo(e).position==="static"}function xw(e,t){if(!bo(e)||eo(e).position==="fixed")return null;if(t)return t(e);let r=e.offsetParent;return xo(e)===r&&(r=r.ownerDocument.body),r}function bP(e,t){const r=dn(e);if(Rf(e))return r;if(!bo(e)){let o=Oa(e);for(;o&&!ml(o);){if(Jn(o)&&!ph(o))return o;o=Oa(o)}return r}let n=xw(e,t);for(;n&&s6(n)&&ph(n);)n=xw(n,t);return n&&ml(n)&&ph(n)&&!nb(n)?r:n||p6(e)||r}const P6=async function(e){const t=this.getOffsetParent||bP,r=this.getDimensions,n=await r(e.floating);return{reference:O6(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}};function k6(e){return eo(e).direction==="rtl"}const vP={convertOffsetParentRelativeRectToViewportRelativeRect:b6,getDocumentElement:xo,getClippingRect:C6,getOffsetParent:bP,getElementRects:P6,getClientRects:v6,getDimensions:T6,getScale:tl,isElement:Jn,isRTL:k6};function yP(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function E6(e,t){let r=null,n;const o=xo(e);function a(){var s;clearTimeout(n),(s=r)==null||s.disconnect(),r=null}function i(s,f){s===void 0&&(s=!1),f===void 0&&(f=1),a();const g=e.getBoundingClientRect(),{left:b,top:S,width:O,height:T}=g;if(s||t(),!O||!T)return;const C=cc(S),w=cc(o.clientWidth-(b+O)),m=cc(o.clientHeight-(S+T)),d=cc(b),c={rootMargin:-C+"px "+-w+"px "+-m+"px "+-d+"px",threshold:Rr(0,Xn(1,f))||1};let u=!0;function h(v){const y=v[0].intersectionRatio;if(y!==f){if(!u)return i();y?i(!1,y):n=setTimeout(()=>{i(!1,1e-7)},1e3)}y===1&&!yP(g,e.getBoundingClientRect())&&i(),u=!1}try{r=new IntersectionObserver(h,{...c,root:o.ownerDocument})}catch{r=new IntersectionObserver(h,c)}r.observe(e)}return i(!0),a}function N6(e,t,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:s=typeof IntersectionObserver=="function",animationFrame:f=!1}=n,g=ab(e),b=o||a?[...g?Mo(g):[],...Mo(t)]:[];b.forEach(d=>{o&&d.addEventListener("scroll",r,{passive:!0}),a&&d.addEventListener("resize",r)});const S=g&&s?E6(g,r):null;let O=-1,T=null;i&&(T=new ResizeObserver(d=>{let[l]=d;l&&l.target===g&&T&&(T.unobserve(t),cancelAnimationFrame(O),O=requestAnimationFrame(()=>{var c;(c=T)==null||c.observe(t)})),r()}),g&&!f&&T.observe(g),T.observe(t));let C,w=f?oi(e):null;f&&m();function m(){const d=oi(e);w&&!yP(w,d)&&r(),w=d,C=requestAnimationFrame(m)}return r(),()=>{var d;b.forEach(l=>{o&&l.removeEventListener("scroll",r),a&&l.removeEventListener("resize",r)}),S==null||S(),(d=T)==null||d.disconnect(),T=null,f&&cancelAnimationFrame(C)}}const Bc=ni,xP=r6,j6=QF,R6=n6,A6=XF,M6=a6,I6=ZF,ww=KF,D6=e6,L6=o6,wP=(e,t,r)=>{const n=new Map,o={platform:vP,...r},a={...o.platform,_c:n};return GF(e,t,{...o,platform:a})},F6=e=>{const{element:t,padding:r}=e;function n(o){return Object.prototype.hasOwnProperty.call(o,"current")}return{name:"arrow",options:e,fn(o){return n(t)?t.current!=null?ww({element:t.current,padding:r}).fn(o):{}:t?ww({element:t,padding:r}).fn(o):{}}}};var Vc=typeof document<"u"?k.useLayoutEffect:k.useEffect;function Vd(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let r,n,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(r=e.length,r!=t.length)return!1;for(n=r;n--!==0;)if(!Vd(e[n],t[n]))return!1;return!0}if(o=Object.keys(e),r=o.length,r!==Object.keys(t).length)return!1;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(t,o[n]))return!1;for(n=r;n--!==0;){const a=o[n];if(!(a==="_owner"&&e.$$typeof)&&!Vd(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function _w(e){const t=k.useRef(e);return Vc(()=>{t.current=e}),t}function z6(e){e===void 0&&(e={});const{placement:t="bottom",strategy:r="absolute",middleware:n=[],platform:o,whileElementsMounted:a,open:i}=e,[s,f]=k.useState({x:null,y:null,strategy:r,placement:t,middlewareData:{},isPositioned:!1}),[g,b]=k.useState(n);Vd(g,n)||b(n);const S=k.useRef(null),O=k.useRef(null),T=k.useRef(s),C=_w(a),w=_w(o),[m,d]=k.useState(null),[l,c]=k.useState(null),u=k.useCallback(N=>{S.current!==N&&(S.current=N,d(N))},[]),h=k.useCallback(N=>{O.current!==N&&(O.current=N,c(N))},[]),v=k.useCallback(()=>{if(!S.current||!O.current)return;const N={placement:t,strategy:r,middleware:g};w.current&&(N.platform=w.current),wP(S.current,O.current,N).then(R=>{const M={...R,isPositioned:!0};y.current&&!Vd(T.current,M)&&(T.current=M,zo.flushSync(()=>{f(M)}))})},[g,t,r,w]);Vc(()=>{i===!1&&T.current.isPositioned&&(T.current.isPositioned=!1,f(N=>({...N,isPositioned:!1})))},[i]);const y=k.useRef(!1);Vc(()=>(y.current=!0,()=>{y.current=!1}),[]),Vc(()=>{if(m&&l){if(C.current)return C.current(m,l,v);v()}},[m,l,v,C]);const E=k.useMemo(()=>({reference:S,floating:O,setReference:u,setFloating:h}),[u,h]),P=k.useMemo(()=>({reference:m,floating:l}),[m,l]);return k.useMemo(()=>({...s,update:v,refs:E,elements:P,reference:u,floating:h}),[s,v,E,P,u,h])}var Yt=typeof document<"u"?k.useLayoutEffect:k.useEffect;let hh=!1,B6=0;const Sw=()=>"floating-ui-"+B6++;function V6(){const[e,t]=k.useState(()=>hh?Sw():void 0);return Yt(()=>{e==null&&t(Sw())},[]),k.useEffect(()=>{hh||(hh=!0)},[]),e}const U6=fg["useId".toString()],ru=U6||V6;function _P(){const e=new Map;return{emit(t,r){var n;(n=e.get(t))==null||n.forEach(o=>o(r))},on(t,r){e.set(t,[...e.get(t)||[],r])},off(t,r){e.set(t,(e.get(t)||[]).filter(n=>n!==r))}}}const SP=k.createContext(null),CP=k.createContext(null),Nl=()=>{var e;return((e=k.useContext(SP))==null?void 0:e.id)||null},hi=()=>k.useContext(CP),W6=e=>{const t=ru(),r=hi(),n=Nl(),o=e||n;return Yt(()=>{const a={id:t,parentId:o};return r==null||r.addNode(a),()=>{r==null||r.removeNode(a)}},[r,t,o]),t},$6=e=>{let{children:t,id:r}=e;const n=Nl();return k.createElement(SP.Provider,{value:k.useMemo(()=>({id:r,parentId:n}),[r,n])},t)},H6=e=>{let{children:t}=e;const r=k.useRef([]),n=k.useCallback(i=>{r.current=[...r.current,i]},[]),o=k.useCallback(i=>{r.current=r.current.filter(s=>s!==i)},[]),a=k.useState(()=>_P())[0];return k.createElement(CP.Provider,{value:k.useMemo(()=>({nodesRef:r,addNode:n,removeNode:o,events:a}),[r,n,o,a])},t)};function Xr(e){return(e==null?void 0:e.ownerDocument)||document}function ib(){const e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function TP(){const e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(t=>{let{brand:r,version:n}=t;return r+"/"+n}).join(" "):navigator.userAgent}function lb(e){return Xr(e).defaultView||window}function En(e){return e?e instanceof lb(e).Element:!1}function ai(e){return e?e instanceof lb(e).HTMLElement:!1}function q6(e){if(typeof ShadowRoot>"u")return!1;const t=lb(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function OP(e){if(e.mozInputSource===0&&e.isTrusted)return!0;const t=/Android/i;return(t.test(ib())||t.test(TP()))&&e.pointerType?e.type==="click"&&e.buttons===1:e.detail===0&&!e.pointerType}function PP(e){return e.width===0&&e.height===0||e.width===1&&e.height===1&&e.pressure===0&&e.detail===0&&e.pointerType!=="mouse"||e.width<1&&e.height<1&&e.pressure===0&&e.detail===0}function J0(){return/apple/i.test(navigator.vendor)}function kP(){return ib().toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints}function Ud(e,t){const r=["mouse","pen"];return t||r.push("",void 0),r.includes(e)}function Nn(e){const t=k.useRef(e);return Yt(()=>{t.current=e}),t}const Cw="data-floating-ui-safe-polygon";function Uc(e,t,r){return r&&!Ud(r)?0:typeof e=="number"?e:e==null?void 0:e[t]}const G6=function(e,t){let{enabled:r=!0,delay:n=0,handleClose:o=null,mouseOnly:a=!1,restMs:i=0,move:s=!0}=t===void 0?{}:t;const{open:f,onOpenChange:g,dataRef:b,events:S,elements:{domReference:O,floating:T},refs:C}=e,w=hi(),m=Nl(),d=Nn(o),l=Nn(n),c=k.useRef(),u=k.useRef(),h=k.useRef(),v=k.useRef(),y=k.useRef(!0),E=k.useRef(!1),P=k.useRef(()=>{}),N=k.useCallback(()=>{var D;const B=(D=b.current.openEvent)==null?void 0:D.type;return(B==null?void 0:B.includes("mouse"))&&B!=="mousedown"},[b]);k.useEffect(()=>{if(!r)return;function D(){clearTimeout(u.current),clearTimeout(v.current),y.current=!0}return S.on("dismiss",D),()=>{S.off("dismiss",D)}},[r,S]),k.useEffect(()=>{if(!r||!d.current||!f)return;function D(){N()&&g(!1)}const B=Xr(T).documentElement;return B.addEventListener("mouseleave",D),()=>{B.removeEventListener("mouseleave",D)}},[T,f,g,r,d,b,N]);const R=k.useCallback(function(D){D===void 0&&(D=!0);const B=Uc(l.current,"close",c.current);B&&!h.current?(clearTimeout(u.current),u.current=setTimeout(()=>g(!1),B)):D&&(clearTimeout(u.current),g(!1))},[l,g]),M=k.useCallback(()=>{P.current(),h.current=void 0},[]),L=k.useCallback(()=>{if(E.current){const D=Xr(C.floating.current).body;D.style.pointerEvents="",D.removeAttribute(Cw),E.current=!1}},[C]);return k.useEffect(()=>{if(!r)return;function D(){return b.current.openEvent?["click","mousedown"].includes(b.current.openEvent.type):!1}function B(W){if(clearTimeout(u.current),y.current=!1,a&&!Ud(c.current)||i>0&&Uc(l.current,"open")===0)return;b.current.openEvent=W;const z=Uc(l.current,"open",c.current);z?u.current=setTimeout(()=>{g(!0)},z):g(!0)}function H(W){if(D())return;P.current();const z=Xr(T);if(clearTimeout(v.current),d.current){clearTimeout(u.current),h.current=d.current({...e,tree:w,x:W.clientX,y:W.clientY,onClose(){L(),M(),R()}});const $=h.current;z.addEventListener("mousemove",$),P.current=()=>{z.removeEventListener("mousemove",$)};return}R()}function Q(W){D()||d.current==null||d.current({...e,tree:w,x:W.clientX,y:W.clientY,onClose(){M(),R()}})(W)}if(En(O)){const W=O;return f&&W.addEventListener("mouseleave",Q),T==null||T.addEventListener("mouseleave",Q),s&&W.addEventListener("mousemove",B,{once:!0}),W.addEventListener("mouseenter",B),W.addEventListener("mouseleave",H),()=>{f&&W.removeEventListener("mouseleave",Q),T==null||T.removeEventListener("mouseleave",Q),s&&W.removeEventListener("mousemove",B),W.removeEventListener("mouseenter",B),W.removeEventListener("mouseleave",H)}}},[O,T,r,e,a,i,s,R,M,L,g,f,w,l,d,b]),Yt(()=>{var D;if(r&&f&&(D=d.current)!=null&&D.__options.blockPointerEvents&&N()){const Q=Xr(T).body;if(Q.setAttribute(Cw,""),Q.style.pointerEvents="none",E.current=!0,En(O)&&T){var B,H;const W=O,z=w==null||(B=w.nodesRef.current.find($=>$.id===m))==null||(H=B.context)==null?void 0:H.elements.floating;return z&&(z.style.pointerEvents=""),W.style.pointerEvents="auto",T.style.pointerEvents="auto",()=>{W.style.pointerEvents="",T.style.pointerEvents=""}}}},[r,f,m,T,O,w,d,b,N]),Yt(()=>{f||(c.current=void 0,M(),L())},[f,M,L]),k.useEffect(()=>()=>{M(),clearTimeout(u.current),clearTimeout(v.current),L()},[r,M,L]),k.useMemo(()=>{if(!r)return{};function D(B){c.current=B.pointerType}return{reference:{onPointerDown:D,onPointerEnter:D,onMouseMove(){f||i===0||(clearTimeout(v.current),v.current=setTimeout(()=>{y.current||g(!0)},i))}},floating:{onMouseEnter(){clearTimeout(u.current)},onMouseLeave(){S.emit("dismiss",{type:"mouseLeave",data:{returnFocus:!1}}),R(!1)}}}},[S,r,i,f,g,R])},EP=k.createContext({delay:0,initialDelay:0,timeoutMs:0,currentId:null,setCurrentId:()=>{},setState:()=>{},isInstantPhase:!1}),NP=()=>k.useContext(EP),K6=e=>{let{children:t,delay:r,timeoutMs:n=0}=e;const[o,a]=k.useReducer((f,g)=>({...f,...g}),{delay:r,timeoutMs:n,initialDelay:r,currentId:null,isInstantPhase:!1}),i=k.useRef(null),s=k.useCallback(f=>{a({currentId:f})},[]);return Yt(()=>{o.currentId?i.current===null?i.current=o.currentId:a({isInstantPhase:!0}):(a({isInstantPhase:!1}),i.current=null)},[o.currentId]),k.createElement(EP.Provider,{value:k.useMemo(()=>({...o,setState:a,setCurrentId:s}),[o,a,s])},t)},Y6=(e,t)=>{let{open:r,onOpenChange:n}=e,{id:o}=t;const{currentId:a,setCurrentId:i,initialDelay:s,setState:f,timeoutMs:g}=NP();k.useEffect(()=>{a&&(f({delay:{open:1,close:Uc(s,"close")}}),a!==o&&n(!1))},[o,n,f,a,s]),k.useEffect(()=>{function b(){n(!1),f({delay:s,currentId:null})}if(!r&&a===o)if(g){const S=window.setTimeout(b,g);return()=>{clearTimeout(S)}}else b()},[r,f,a,o,n,s,g]),k.useEffect(()=>{r&&i(o)},[r,i,o])};function nu(){return nu=Object.assign||function(e){for(var t=1;te==null?void 0:e.focus({preventScroll:r});o?a():Tw=requestAnimationFrame(a)}function Q6(e,t){var r;let n=[],o=(r=e.find(a=>a.id===t))==null?void 0:r.parentId;for(;o;){const a=e.find(i=>i.id===o);o=a==null?void 0:a.parentId,a&&(n=n.concat(a))}return n}function ks(e,t){let r=e.filter(o=>{var a;return o.parentId===t&&((a=o.context)==null?void 0:a.open)})||[],n=r;for(;n.length;)n=e.filter(o=>{var a;return(a=n)==null?void 0:a.some(i=>{var s;return o.parentId===i.id&&((s=o.context)==null?void 0:s.open)})})||[],r=r.concat(n);return r}function If(e){return"composedPath"in e?e.composedPath()[0]:e.target}const X6="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function jP(e){return ai(e)&&e.matches(X6)}function Cn(e){e.preventDefault(),e.stopPropagation()}const Wd=()=>({getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"});function RP(e,t){const r=Ld(e,Wd());t==="prev"&&r.reverse();const n=r.indexOf(ii(Xr(e)));return r.slice(n+1)[0]}function AP(){return RP(document.body,"next")}function MP(){return RP(document.body,"prev")}function Es(e,t){const r=t||e.currentTarget,n=e.relatedTarget;return!n||!Gr(r,n)}function Z6(e){Ld(e,Wd()).forEach(r=>{r.dataset.tabindex=r.getAttribute("tabindex")||"",r.setAttribute("tabindex","-1")})}function J6(e){e.querySelectorAll("[data-tabindex]").forEach(r=>{const n=r.dataset.tabindex;delete r.dataset.tabindex,n?r.setAttribute("tabindex",n):r.removeAttribute("tabindex")})}const ez=fg["useInsertionEffect".toString()],tz=ez||(e=>e());function jl(e){const t=k.useRef(()=>{});return tz(()=>{t.current=e}),k.useCallback(function(){for(var r=arguments.length,n=new Array(r),o=0;o(J0()&&a("button"),document.addEventListener("keydown",Ow),()=>{document.removeEventListener("keydown",Ow)}),[]),k.createElement("span",nu({},t,{ref:r,tabIndex:0,role:o,"aria-hidden":o?void 0:!0,"data-floating-ui-focus-guard":"",style:sb,onFocus:i=>{J0()&&kP()&&!rz(i)?(i.persist(),ub=window.setTimeout(()=>{n(i)},50)):n(i)}}))}),IP=k.createContext(null),DP=function(e){let{id:t,enabled:r=!0}=e===void 0?{}:e;const[n,o]=k.useState(null),a=ru(),i=LP();return Yt(()=>{if(!r)return;const s=t?document.getElementById(t):null;if(s)s.setAttribute("data-floating-ui-portal",""),o(s);else{const f=document.createElement("div");t!==""&&(f.id=t||a),f.setAttribute("data-floating-ui-portal",""),o(f);const g=(i==null?void 0:i.portalNode)||document.body;return g.appendChild(f),()=>{g.removeChild(f)}}},[t,i,a,r]),n},nz=e=>{let{children:t,id:r,root:n=null,preserveTabOrder:o=!0}=e;const a=DP({id:r,enabled:!n}),[i,s]=k.useState(null),f=k.useRef(null),g=k.useRef(null),b=k.useRef(null),S=k.useRef(null),O=!!i&&!i.modal&&!!(n||a)&&o;return k.useEffect(()=>{if(!a||!o||i!=null&&i.modal)return;function T(C){a&&Es(C)&&(C.type==="focusin"?J6:Z6)(a)}return a.addEventListener("focusin",T,!0),a.addEventListener("focusout",T,!0),()=>{a.removeEventListener("focusin",T,!0),a.removeEventListener("focusout",T,!0)}},[a,o,i==null?void 0:i.modal]),k.createElement(IP.Provider,{value:k.useMemo(()=>({preserveTabOrder:o,beforeOutsideRef:f,afterOutsideRef:g,beforeInsideRef:b,afterInsideRef:S,portalNode:a,setFocusManagerState:s}),[o,a])},O&&a&&k.createElement($d,{"data-type":"outside",ref:f,onFocus:T=>{if(Es(T,a)){var C;(C=b.current)==null||C.focus()}else{const w=MP()||(i==null?void 0:i.refs.domReference.current);w==null||w.focus()}}}),O&&a&&k.createElement("span",{"aria-owns":a.id,style:sb}),n?zo.createPortal(t,n):a?zo.createPortal(t,a):null,O&&a&&k.createElement($d,{"data-type":"outside",ref:g,onFocus:T=>{if(Es(T,a)){var C;(C=S.current)==null||C.focus()}else{const w=AP()||(i==null?void 0:i.refs.domReference.current);w==null||w.focus(),i!=null&&i.closeOnFocusOut&&(i==null||i.onOpenChange(!1))}}}))},LP=()=>k.useContext(IP),oz=k.forwardRef(function(t,r){return k.createElement("button",nu({},t,{type:"button",ref:r,tabIndex:-1,style:sb}))});function az(e){let{context:t,children:r,order:n=["content"],guards:o=!0,initialFocus:a=0,returnFocus:i=!0,modal:s=!0,visuallyHiddenDismiss:f=!1,closeOnFocusOut:g=!0}=e;const{refs:b,nodeId:S,onOpenChange:O,events:T,dataRef:C,elements:{domReference:w,floating:m}}=t,d=Nn(n),l=hi(),c=LP(),[u,h]=k.useState(null),v=typeof a=="number"&&a<0,y=k.useRef(null),E=k.useRef(null),P=k.useRef(!1),N=k.useRef(null),R=k.useRef(!1),M=c!=null,L=w&&w.getAttribute("role")==="combobox"&&jP(w),D=k.useCallback(function(W){return W===void 0&&(W=m),W?Ld(W,Wd()):[]},[m]),B=k.useCallback(W=>{const z=D(W);return d.current.map($=>w&&$==="reference"?w:m&&$==="floating"?m:z).filter(Boolean).flat()},[w,m,d,D]);k.useEffect(()=>{if(!s)return;function W($){if($.key==="Tab"){D().length===0&&!L&&Cn($);const q=B(),Z=If($);d.current[0]==="reference"&&Z===w&&(Cn($),$.shiftKey?oa(q[q.length-1]):oa(q[1])),d.current[1]==="floating"&&Z===m&&$.shiftKey&&(Cn($),oa(q[0]))}}const z=Xr(m);return z.addEventListener("keydown",W),()=>{z.removeEventListener("keydown",W)}},[w,m,s,d,b,L,D,B]),k.useEffect(()=>{if(!g)return;function W(){R.current=!0,setTimeout(()=>{R.current=!1})}function z($){const q=$.relatedTarget,Z=!(Gr(w,q)||Gr(m,q)||Gr(q,m)||Gr(c==null?void 0:c.portalNode,q)||q!=null&&q.hasAttribute("data-floating-ui-focus-guard")||l&&(ks(l.nodesRef.current,S).find(ie=>{var me,ue;return Gr((me=ie.context)==null?void 0:me.elements.floating,q)||Gr((ue=ie.context)==null?void 0:ue.elements.domReference,q)})||Q6(l.nodesRef.current,S).find(ie=>{var me,ue;return((me=ie.context)==null?void 0:me.elements.floating)===q||((ue=ie.context)==null?void 0:ue.elements.domReference)===q})));q&&Z&&!R.current&&q!==N.current&&(P.current=!0,setTimeout(()=>O(!1)))}if(m&&ai(w))return w.addEventListener("focusout",z),w.addEventListener("pointerdown",W),!s&&m.addEventListener("focusout",z),()=>{w.removeEventListener("focusout",z),w.removeEventListener("pointerdown",W),!s&&m.removeEventListener("focusout",z)}},[w,m,s,S,l,c,O,g]),k.useEffect(()=>{var W;const z=Array.from((c==null||(W=c.portalNode)==null?void 0:W.querySelectorAll("[data-floating-ui-portal]"))||[]);function $(){return[y.current,E.current].filter(Boolean)}if(m&&s){const q=[m,...z,...$()],Z=yF(d.current.includes("reference")||L?q.concat(w||[]):q);return()=>{Z()}}},[w,m,s,d,c,L]),k.useEffect(()=>{if(s&&!o&&m){const W=[],z=Wd(),$=Ld(Xr(m).body,z),q=B(),Z=$.filter(ie=>!q.includes(ie));return Z.forEach((ie,me)=>{W[me]=ie.getAttribute("tabindex"),ie.setAttribute("tabindex","-1")}),()=>{Z.forEach((ie,me)=>{const ue=W[me];ue==null?ie.removeAttribute("tabindex"):ie.setAttribute("tabindex",ue)})}}},[m,s,o,B]),Yt(()=>{if(!m)return;const W=Xr(m);let z=i,$=!1;const q=ii(W),Z=C.current;N.current=q;const ie=B(m),me=(typeof a=="number"?ie[a]:a.current)||m;!v&&oa(me,{preventScroll:me===m});function ue(te){if(te.type==="escapeKey"&&b.domReference.current&&(N.current=b.domReference.current),["referencePress","escapeKey"].includes(te.type))return;const Se=te.data.returnFocus;typeof Se=="object"?(z=!0,$=Se.preventScroll):z=Se}return T.on("dismiss",ue),()=>{if(T.off("dismiss",ue),Gr(m,ii(W))&&b.domReference.current&&(N.current=b.domReference.current),z&&ai(N.current)&&!P.current)if(!b.domReference.current||R.current)oa(N.current,{cancelPrevious:!1,preventScroll:$});else{var te;Z.__syncReturnFocus=!0,(te=N.current)==null||te.focus({preventScroll:$}),setTimeout(()=>{delete Z.__syncReturnFocus})}}},[m,B,a,i,C,b,T,v]),Yt(()=>{if(c)return c.setFocusManagerState({...t,modal:s,closeOnFocusOut:g}),()=>{c.setFocusManagerState(null)}},[c,s,g,t]),Yt(()=>{if(v||!m)return;function W(){h(D().length)}if(W(),typeof MutationObserver=="function"){const z=new MutationObserver(W);return z.observe(m,{childList:!0,subtree:!0}),()=>{z.disconnect()}}},[m,D,v,b]);const H=o&&(M||s)&&!L;function Q(W){return f&&s?k.createElement(oz,{ref:W==="start"?y:E,onClick:()=>O(!1)},typeof f=="string"?f:"Dismiss"):null}return k.createElement(k.Fragment,null,H&&k.createElement($d,{"data-type":"inside",ref:c==null?void 0:c.beforeInsideRef,onFocus:W=>{if(s){const $=B();oa(n[0]==="reference"?$[0]:$[$.length-1])}else if(c!=null&&c.preserveTabOrder&&c.portalNode)if(P.current=!1,Es(W,c.portalNode)){const $=AP()||w;$==null||$.focus()}else{var z;(z=c.beforeOutsideRef.current)==null||z.focus()}}}),L?null:Q("start"),k.cloneElement(r,u===0||n.includes("floating")?{tabIndex:0}:{}),Q("end"),H&&k.createElement($d,{"data-type":"inside",ref:c==null?void 0:c.afterInsideRef,onFocus:W=>{if(s)oa(B()[0]);else if(c!=null&&c.preserveTabOrder&&c.portalNode)if(P.current=!0,Es(W,c.portalNode)){const $=MP()||w;$==null||$.focus()}else{var z;(z=c.afterOutsideRef.current)==null||z.focus()}}}))}const dc="data-floating-ui-scroll-lock",iz=k.forwardRef(function(t,r){let{lockScroll:n=!1,...o}=t;return Yt(()=>{var a,i;if(!n||document.body.hasAttribute(dc))return;document.body.setAttribute(dc,"");const g=Math.round(document.documentElement.getBoundingClientRect().left)+document.documentElement.scrollLeft?"paddingLeft":"paddingRight",b=window.innerWidth-document.documentElement.clientWidth;if(!/iP(hone|ad|od)|iOS/.test(ib()))return Object.assign(document.body.style,{overflow:"hidden",[g]:b+"px"}),()=>{document.body.removeAttribute(dc),Object.assign(document.body.style,{overflow:"",[g]:""})};const S=((a=window.visualViewport)==null?void 0:a.offsetLeft)||0,O=((i=window.visualViewport)==null?void 0:i.offsetTop)||0,T=window.pageXOffset,C=window.pageYOffset;return Object.assign(document.body.style,{position:"fixed",overflow:"hidden",top:-(C-Math.floor(O))+"px",left:-(T-Math.floor(S))+"px",right:"0",[g]:b+"px"}),()=>{Object.assign(document.body.style,{position:"",overflow:"",top:"",left:"",right:"",[g]:""}),document.body.removeAttribute(dc),window.scrollTo(T,C)}},[n]),k.createElement("div",nu({ref:r},o,{style:{position:"fixed",overflow:"auto",top:0,right:0,bottom:0,left:0,...o.style}}))});function Pw(e){return ai(e.target)&&e.target.tagName==="BUTTON"}function kw(e){return jP(e)}const lz=function(e,t){let{open:r,onOpenChange:n,dataRef:o,elements:{domReference:a}}=e,{enabled:i=!0,event:s="click",toggle:f=!0,ignoreMouse:g=!1,keyboardHandlers:b=!0}=t===void 0?{}:t;const S=k.useRef();return k.useMemo(()=>i?{reference:{onPointerDown(O){S.current=O.pointerType},onMouseDown(O){O.button===0&&(Ud(S.current,!0)&&g||s!=="click"&&(r?f&&(!o.current.openEvent||o.current.openEvent.type==="mousedown")&&n(!1):(O.preventDefault(),n(!0)),o.current.openEvent=O.nativeEvent))},onClick(O){if(!o.current.__syncReturnFocus){if(s==="mousedown"&&S.current){S.current=void 0;return}Ud(S.current,!0)&&g||(r?f&&(!o.current.openEvent||o.current.openEvent.type==="click")&&n(!1):n(!0),o.current.openEvent=O.nativeEvent)}},onKeyDown(O){S.current=void 0,b&&(Pw(O)||(O.key===" "&&!kw(a)&&O.preventDefault(),O.key==="Enter"&&(r?f&&n(!1):n(!0))))},onKeyUp(O){b&&(Pw(O)||kw(a)||O.key===" "&&(r?f&&n(!1):n(!0)))}}}:{},[i,o,s,g,b,a,f,r,n])};function Wc(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);const r=e;return r.target!=null&&t.contains(r.target)}const sz={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},uz={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},cz=function(e){var t,r;return e===void 0&&(e=!0),{escapeKeyBubbles:typeof e=="boolean"?e:(t=e.escapeKey)!=null?t:!0,outsidePressBubbles:typeof e=="boolean"?e:(r=e.outsidePress)!=null?r:!0}},dz=function(e,t){let{open:r,onOpenChange:n,events:o,nodeId:a,elements:{reference:i,domReference:s,floating:f},dataRef:g}=e,{enabled:b=!0,escapeKey:S=!0,outsidePress:O=!0,outsidePressEvent:T="pointerdown",referencePress:C=!1,referencePressEvent:w="pointerdown",ancestorScroll:m=!1,bubbles:d=!0}=t===void 0?{}:t;const l=hi(),c=Nl()!=null,u=jl(typeof O=="function"?O:()=>!1),h=typeof O=="function"?u:O,v=k.useRef(!1),{escapeKeyBubbles:y,outsidePressBubbles:E}=cz(d);return k.useEffect(()=>{if(!r||!b)return;g.current.__escapeKeyBubbles=y,g.current.__outsidePressBubbles=E;function P(D){if(D.key==="Escape"){const B=l?ks(l.nodesRef.current,a):[];if(B.length>0){let H=!0;if(B.forEach(Q=>{var W;if((W=Q.context)!=null&&W.open&&!Q.context.dataRef.current.__escapeKeyBubbles){H=!1;return}}),!H)return}o.emit("dismiss",{type:"escapeKey",data:{returnFocus:{preventScroll:!1}}}),n(!1)}}function N(D){const B=v.current;if(v.current=!1,B||typeof h=="function"&&!h(D))return;const H=If(D);if(ai(H)&&f){const z=f.ownerDocument.defaultView||window,$=H.scrollWidth>H.clientWidth,q=H.scrollHeight>H.clientHeight;let Z=q&&D.offsetX>H.clientWidth;if(q&&z.getComputedStyle(H).direction==="rtl"&&(Z=D.offsetX<=H.offsetWidth-H.clientWidth),Z||$&&D.offsetY>H.clientHeight)return}const Q=l&&ks(l.nodesRef.current,a).some(z=>{var $;return Wc(D,($=z.context)==null?void 0:$.elements.floating)});if(Wc(D,f)||Wc(D,s)||Q)return;const W=l?ks(l.nodesRef.current,a):[];if(W.length>0){let z=!0;if(W.forEach($=>{var q;if((q=$.context)!=null&&q.open&&!$.context.dataRef.current.__outsidePressBubbles){z=!1;return}}),!z)return}o.emit("dismiss",{type:"outsidePress",data:{returnFocus:c?{preventScroll:!0}:OP(D)||PP(D)}}),n(!1)}function R(){n(!1)}const M=Xr(f);S&&M.addEventListener("keydown",P),h&&M.addEventListener(T,N);let L=[];return m&&(En(s)&&(L=Mo(s)),En(f)&&(L=L.concat(Mo(f))),!En(i)&&i&&i.contextElement&&(L=L.concat(Mo(i.contextElement)))),L=L.filter(D=>{var B;return D!==((B=M.defaultView)==null?void 0:B.visualViewport)}),L.forEach(D=>{D.addEventListener("scroll",R,{passive:!0})}),()=>{S&&M.removeEventListener("keydown",P),h&&M.removeEventListener(T,N),L.forEach(D=>{D.removeEventListener("scroll",R)})}},[g,f,s,i,S,h,T,o,l,a,r,n,m,b,y,E,c]),k.useEffect(()=>{v.current=!1},[h,T]),k.useMemo(()=>b?{reference:{[sz[w]]:()=>{C&&(o.emit("dismiss",{type:"referencePress",data:{returnFocus:!1}}),n(!1))}},floating:{[uz[T]]:()=>{v.current=!0}}}:{},[b,o,C,T,w,n])},fz=function(e,t){let{open:r,onOpenChange:n,dataRef:o,events:a,refs:i,elements:{floating:s,domReference:f}}=e,{enabled:g=!0,keyboardOnly:b=!0}=t===void 0?{}:t;const S=k.useRef(""),O=k.useRef(!1),T=k.useRef();return k.useEffect(()=>{if(!g)return;const w=Xr(s).defaultView||window;function m(){!r&&ai(f)&&f===ii(Xr(f))&&(O.current=!0)}return w.addEventListener("blur",m),()=>{w.removeEventListener("blur",m)}},[s,f,r,g]),k.useEffect(()=>{if(!g)return;function C(w){(w.type==="referencePress"||w.type==="escapeKey")&&(O.current=!0)}return a.on("dismiss",C),()=>{a.off("dismiss",C)}},[a,g]),k.useEffect(()=>()=>{clearTimeout(T.current)},[]),k.useMemo(()=>g?{reference:{onPointerDown(C){let{pointerType:w}=C;S.current=w,O.current=!!(w&&b)},onMouseLeave(){O.current=!1},onFocus(C){var w;O.current||C.type==="focus"&&((w=o.current.openEvent)==null?void 0:w.type)==="mousedown"&&o.current.openEvent&&Wc(o.current.openEvent,f)||(o.current.openEvent=C.nativeEvent,n(!0))},onBlur(C){O.current=!1;const w=C.relatedTarget,m=En(w)&&w.hasAttribute("data-floating-ui-focus-guard")&&w.getAttribute("data-type")==="outside";T.current=setTimeout(()=>{Gr(i.floating.current,w)||Gr(f,w)||m||n(!1)})}}}:{},[g,b,f,i,o,n])};let Ew=!1;const cb="ArrowUp",Df="ArrowDown",bl="ArrowLeft",xu="ArrowRight";function fc(e,t,r){return Math.floor(e/t)!==r}function is(e,t){return t<0||t>=e.current.length}function Nr(e,t){let{startingIndex:r=-1,decrement:n=!1,disabledIndices:o,amount:a=1}=t===void 0?{}:t;const i=e.current;let s=r;do{var f,g;s=s+(n?-a:a)}while(s>=0&&s<=i.length-1&&(o?o.includes(s):i[s]==null||(f=i[s])!=null&&f.hasAttribute("disabled")||((g=i[s])==null?void 0:g.getAttribute("aria-disabled"))==="true"));return s}function Lf(e,t,r){switch(e){case"vertical":return t;case"horizontal":return r;default:return t||r}}function Nw(e,t){return Lf(t,e===cb||e===Df,e===bl||e===xu)}function gh(e,t,r){return Lf(t,e===Df,r?e===bl:e===xu)||e==="Enter"||e==" "||e===""}function pz(e,t,r){return Lf(t,r?e===bl:e===xu,e===Df)}function hz(e,t,r){return Lf(t,r?e===xu:e===bl,e===cb)}function mh(e,t){return Nr(e,{disabledIndices:t})}function jw(e,t){return Nr(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}const gz=function(e,t){let{open:r,onOpenChange:n,refs:o,elements:{domReference:a}}=e,{listRef:i,activeIndex:s,onNavigate:f=()=>{},enabled:g=!0,selectedIndex:b=null,allowEscape:S=!1,loop:O=!1,nested:T=!1,rtl:C=!1,virtual:w=!1,focusItemOnOpen:m="auto",focusItemOnHover:d=!0,openOnArrowKeyDown:l=!0,disabledIndices:c=void 0,orientation:u="vertical",cols:h=1,scrollItemIntoView:v=!0}=t===void 0?{listRef:{current:[]},activeIndex:null,onNavigate:()=>{}}:t;const y=Nl(),E=hi(),P=jl(f),N=k.useRef(m),R=k.useRef(b??-1),M=k.useRef(null),L=k.useRef(!0),D=k.useRef(P),B=k.useRef(r),H=k.useRef(!1),Q=k.useRef(!1),W=Nn(c),z=Nn(r),$=Nn(v),[q,Z]=k.useState(),ie=k.useCallback(function(te,Se,ve){ve===void 0&&(ve=!1);const he=te.current[Se.current];w?Z(he==null?void 0:he.id):oa(he,{preventScroll:!0,sync:kP()&&J0()?Ew||H.current:!1}),requestAnimationFrame(()=>{const re=$.current;re&&he&&(ve||!L.current)&&(he.scrollIntoView==null||he.scrollIntoView(typeof re=="boolean"?{block:"nearest",inline:"nearest"}:re))})},[w,$]);Yt(()=>{document.createElement("div").focus({get preventScroll(){return Ew=!0,!1}})},[]),Yt(()=>{g&&(r?N.current&&b!=null&&(Q.current=!0,P(b)):B.current&&(R.current=-1,D.current(null)))},[g,r,b,P]),Yt(()=>{if(g&&r)if(s==null){if(H.current=!1,b!=null)return;B.current&&(R.current=-1,ie(i,R)),!B.current&&N.current&&(M.current!=null||N.current===!0&&M.current==null)&&(R.current=M.current==null||gh(M.current,u,C)||T?mh(i,W.current):jw(i,W.current),P(R.current))}else is(i,s)||(R.current=s,ie(i,R,Q.current),Q.current=!1)},[g,r,s,b,T,i,u,C,P,ie,W]),Yt(()=>{if(g&&B.current&&!r){var te,Se;const ve=E==null||(te=E.nodesRef.current.find(he=>he.id===y))==null||(Se=te.context)==null?void 0:Se.elements.floating;ve&&!Gr(ve,ii(Xr(ve)))&&ve.focus({preventScroll:!0})}},[g,r,E,y]),Yt(()=>{M.current=null,D.current=P,B.current=r});const me=s!=null,ue=k.useMemo(()=>{function te(ve){if(!r)return;const he=i.current.indexOf(ve);he!==-1&&P(he)}return{onFocus(ve){let{currentTarget:he}=ve;te(he)},onClick:ve=>{let{currentTarget:he}=ve;return he.focus({preventScroll:!0})},...d&&{onMouseMove(ve){let{currentTarget:he}=ve;te(he)},onPointerLeave(){if(L.current&&(R.current=-1,ie(i,R),zo.flushSync(()=>P(null)),!w)){var ve;(ve=o.floating.current)==null||ve.focus({preventScroll:!0})}}}}},[r,o,ie,d,i,P,w]);return k.useMemo(()=>{if(!g)return{};const te=W.current;function Se(ge){if(L.current=!1,H.current=!0,!z.current&&ge.currentTarget===o.floating.current)return;if(T&&hz(ge.key,u,C)){Cn(ge),n(!1),ai(a)&&a.focus();return}const Ce=R.current,Ne=mh(i,te),Pe=jw(i,te);if(ge.key==="Home"&&(R.current=Ne,P(R.current)),ge.key==="End"&&(R.current=Pe,P(R.current)),h>1){const Te=R.current;if(ge.key===cb){if(Cn(ge),Te===-1)R.current=Pe;else if(R.current=Nr(i,{startingIndex:Te,amount:h,decrement:!0,disabledIndices:te}),O&&(Te-hje?qe:qe-h}is(i,R.current)&&(R.current=Te),P(R.current)}if(ge.key===Df&&(Cn(ge),Te===-1?R.current=Ne:(R.current=Nr(i,{startingIndex:Te,amount:h,disabledIndices:te}),O&&Te+h>Pe&&(R.current=Nr(i,{startingIndex:Te%h-h,amount:h,disabledIndices:te}))),is(i,R.current)&&(R.current=Te),P(R.current)),u==="both"){const je=Math.floor(Te/h);ge.key===xu&&(Cn(ge),Te%h!==h-1?(R.current=Nr(i,{startingIndex:Te,disabledIndices:te}),O&&fc(R.current,h,je)&&(R.current=Nr(i,{startingIndex:Te-Te%h-1,disabledIndices:te}))):O&&(R.current=Nr(i,{startingIndex:Te-Te%h-1,disabledIndices:te})),fc(R.current,h,je)&&(R.current=Te)),ge.key===bl&&(Cn(ge),Te%h!==0?(R.current=Nr(i,{startingIndex:Te,disabledIndices:te,decrement:!0}),O&&fc(R.current,h,je)&&(R.current=Nr(i,{startingIndex:Te+(h-Te%h),decrement:!0,disabledIndices:te}))):O&&(R.current=Nr(i,{startingIndex:Te+(h-Te%h),decrement:!0,disabledIndices:te})),fc(R.current,h,je)&&(R.current=Te));const ze=Math.floor(Pe/h)===je;is(i,R.current)&&(O&&ze?R.current=ge.key===bl?Pe:Nr(i,{startingIndex:Te-Te%h-1,disabledIndices:te}):R.current=Te),P(R.current);return}}if(Nw(ge.key,u)){if(Cn(ge),r&&!w&&ii(ge.currentTarget.ownerDocument)===ge.currentTarget){R.current=gh(ge.key,u,C)?Ne:Pe,P(R.current);return}gh(ge.key,u,C)?O?R.current=Ce>=Pe?S&&Ce!==i.current.length?-1:Ne:Nr(i,{startingIndex:Ce,disabledIndices:te}):R.current=Math.min(Pe,Nr(i,{startingIndex:Ce,disabledIndices:te})):O?R.current=Ce<=Ne?S&&Ce!==-1?i.current.length:Pe:Nr(i,{startingIndex:Ce,decrement:!0,disabledIndices:te}):R.current=Math.max(Ne,Nr(i,{startingIndex:Ce,decrement:!0,disabledIndices:te})),is(i,R.current)?P(null):P(R.current)}}function ve(ge){m==="auto"&&OP(ge.nativeEvent)&&(N.current=!0)}function he(ge){N.current=m,m==="auto"&&PP(ge.nativeEvent)&&(N.current=!0)}const re=w&&r&&me&&{"aria-activedescendant":q};return{reference:{...re,onKeyDown(ge){L.current=!1;const Ce=ge.key.indexOf("Arrow")===0;if(w&&r)return Se(ge);if(!r&&!l&&Ce)return;if((Ce||ge.key==="Enter"||ge.key===" "||ge.key==="")&&(M.current=ge.key),T){pz(ge.key,u,C)&&(Cn(ge),r?(R.current=mh(i,te),P(R.current)):n(!0));return}Nw(ge.key,u)&&(b!=null&&(R.current=b),Cn(ge),!r&&l?n(!0):Se(ge),r&&P(R.current))},onFocus(){r&&P(null)},onPointerDown:he,onMouseDown:ve,onClick:ve},floating:{"aria-orientation":u==="both"?void 0:u,...re,onKeyDown:Se,onPointerMove(){L.current=!0}},item:ue}},[a,o,q,W,z,i,g,u,C,w,r,me,T,b,l,S,h,O,m,P,n,ue])};function mz(e){return k.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(r=>{typeof r=="function"?r(t):r!=null&&(r.current=t)})},e)}const bz=function(e,t){let{open:r}=e,{enabled:n=!0,role:o="dialog"}=t===void 0?{}:t;const a=ru(),i=ru();return k.useMemo(()=>{const s={id:a,role:o};return n?o==="tooltip"?{reference:{"aria-describedby":r?a:void 0},floating:s}:{reference:{"aria-expanded":r?"true":"false","aria-haspopup":o==="alertdialog"?"dialog":o,"aria-controls":r?a:void 0,...o==="listbox"&&{role:"combobox"},...o==="menu"&&{id:i}},floating:{...s,...o==="menu"&&{"aria-labelledby":i}}}:{}},[n,o,r,a,i])},Rw=e=>e.replace(/[A-Z]+(?![a-z])|[A-Z]/g,(t,r)=>(r?"-":"")+t.toLowerCase());function vz(e,t){const[r,n]=k.useState(e);return e&&!r&&n(!0),k.useEffect(()=>{if(!e){const o=setTimeout(()=>n(!1),t);return()=>clearTimeout(o)}},[e,t]),r}function FP(e,t){let{open:r,elements:{floating:n}}=e,{duration:o=250}=t===void 0?{}:t;const i=(typeof o=="number"?o:o.close)||0,[s,f]=k.useState(!1),[g,b]=k.useState("unmounted"),S=vz(r,i);return Yt(()=>{s&&!S&&b("unmounted")},[s,S]),Yt(()=>{if(n)if(r){b("initial");const O=requestAnimationFrame(()=>{b("open")});return()=>{cancelAnimationFrame(O)}}else f(!0),b("close")},[r,n]),{isMounted:S,status:g}}function yz(e,t){let{initial:r={opacity:0},open:n,close:o,common:a,duration:i=250}=t===void 0?{}:t;const s=e.placement,f=s.split("-")[0],[g,b]=k.useState({}),{isMounted:S,status:O}=FP(e,{duration:i}),T=Nn(r),C=Nn(n),w=Nn(o),m=Nn(a),d=typeof i=="number",l=(d?i:i.open)||0,c=(d?i:i.close)||0;return Yt(()=>{const u={side:f,placement:s},h=T.current,v=w.current,y=C.current,E=m.current,P=typeof h=="function"?h(u):h,N=typeof v=="function"?v(u):v,R=typeof E=="function"?E(u):E,M=(typeof y=="function"?y(u):y)||Object.keys(P).reduce((L,D)=>(L[D]="",L),{});if(O==="initial"&&b(L=>({transitionProperty:L.transitionProperty,...R,...P})),O==="open"&&b({transitionProperty:Object.keys(M).map(Rw).join(","),transitionDuration:l+"ms",...R,...M}),O==="close"){const L=N||P;b({transitionProperty:Object.keys(L).map(Rw).join(","),transitionDuration:c+"ms",...R,...L})}},[f,s,c,w,T,C,m,l,O]),{isMounted:S,styles:g}}const xz=function(e,t){var r;let{open:n,dataRef:o}=e,{listRef:a,activeIndex:i,onMatch:s=()=>{},enabled:f=!0,findMatch:g=null,resetMs:b=1e3,ignoreKeys:S=[],selectedIndex:O=null}=t===void 0?{listRef:{current:[]},activeIndex:null}:t;const T=k.useRef(),C=k.useRef(""),w=k.useRef((r=O??i)!=null?r:-1),m=k.useRef(null),d=jl(s),l=Nn(g),c=Nn(S);return Yt(()=>{n&&(clearTimeout(T.current),m.current=null,C.current="")},[n]),Yt(()=>{if(n&&C.current===""){var u;w.current=(u=O??i)!=null?u:-1}},[n,O,i]),k.useMemo(()=>{if(!f)return{};function u(h){const v=If(h.nativeEvent);if(En(v)&&(ii(Xr(v))!==h.currentTarget&&v.closest('[role="dialog"],[role="menu"],[role="listbox"],[role="tree"],[role="grid"]')!==h.currentTarget))return;C.current.length>0&&C.current[0]!==" "&&(o.current.typing=!0,h.key===" "&&Cn(h));const y=a.current;if(y==null||c.current.includes(h.key)||h.key.length!==1||h.ctrlKey||h.metaKey||h.altKey)return;y.every(L=>{var D,B;return L?((D=L[0])==null?void 0:D.toLocaleLowerCase())!==((B=L[1])==null?void 0:B.toLocaleLowerCase()):!0})&&C.current===h.key&&(C.current="",w.current=m.current),C.current+=h.key,clearTimeout(T.current),T.current=setTimeout(()=>{C.current="",w.current=m.current,o.current.typing=!1},b);const P=w.current,N=[...y.slice((P||0)+1),...y.slice(0,(P||0)+1)],R=l.current?l.current(N,C.current):N.find(L=>(L==null?void 0:L.toLocaleLowerCase().indexOf(C.current.toLocaleLowerCase()))===0),M=R?y.indexOf(R):-1;M!==-1&&(d(M),m.current=M)}return{reference:{onKeyDown:u},floating:{onKeyDown:u}}},[f,o,a,b,c,l,d])};function Aw(e,t){return{...e,rects:{...e.rects,floating:{...e.rects.floating,height:t}}}}const wz=e=>({name:"inner",options:e,async fn(t){const{listRef:r,overflowRef:n,onFallbackChange:o,offset:a=0,index:i=0,minItemsVisible:s=4,referenceOverflowThreshold:f=0,scrollRef:g,...b}=e,{rects:S,elements:{floating:O}}=t,T=r.current[i];if(!T)return{};const C={...t,...await xP(-T.offsetTop-S.reference.height/2-T.offsetHeight/2-a).fn(t)},w=(g==null?void 0:g.current)||O,m=await Bc(Aw(C,w.scrollHeight),b),d=await Bc(C,{...b,elementContext:"reference"}),l=Math.max(0,m.top),c=C.y+l,u=Math.max(0,w.scrollHeight-l-Math.max(0,m.bottom));return w.style.maxHeight=u+"px",w.scrollTop=l,o&&(w.offsetHeight=-f||d.bottom>=-f?zo.flushSync(()=>o(!0)):zo.flushSync(()=>o(!1))),n&&(n.current=await Bc(Aw({...C,y:c},w.offsetHeight),b)),{y:c}}}),_z=(e,t)=>{let{open:r,elements:n}=e,{enabled:o=!0,overflowRef:a,scrollRef:i,onChange:s}=t;const f=jl(s),g=k.useRef(!1),b=k.useRef(null),S=k.useRef(null);return k.useEffect(()=>{if(!o)return;function O(C){if(C.ctrlKey||!T||a.current==null)return;const w=C.deltaY,m=a.current.top>=-.5,d=a.current.bottom>=-.5,l=T.scrollHeight-T.clientHeight,c=w<0?-1:1,u=w<0?"max":"min";T.scrollHeight<=T.clientHeight||(!m&&w>0||!d&&w<0?(C.preventDefault(),zo.flushSync(()=>{f(h=>h+Math[u](w,l*c))})):/firefox/i.test(TP())&&(T.scrollTop+=w))}const T=(i==null?void 0:i.current)||n.floating;if(r&&T)return T.addEventListener("wheel",O),requestAnimationFrame(()=>{b.current=T.scrollTop,a.current!=null&&(S.current={...a.current})}),()=>{b.current=null,S.current=null,T.removeEventListener("wheel",O)}},[o,r,n.floating,a,i,f]),k.useMemo(()=>o?{floating:{onKeyDown(){g.current=!0},onWheel(){g.current=!1},onPointerMove(){g.current=!1},onScroll(){const O=(i==null?void 0:i.current)||n.floating;if(!(!a.current||!O||!g.current)){if(b.current!==null){const T=O.scrollTop-b.current;(a.current.bottom<-.5&&T<-1||a.current.top<-.5&&T>1)&&zo.flushSync(()=>f(C=>C+T))}requestAnimationFrame(()=>{b.current=O.scrollTop})}}}}:{},[o,a,n.floating,i,f])};function Sz(e,t){const[r,n]=e;let o=!1;const a=t.length;for(let i=0,s=a-1;i=n!=S>=n&&r<=(b-f)*(n-g)/(S-g)+f&&(o=!o)}return o}function Cz(e,t){return e[0]>=t.x&&e[0]<=t.x+t.width&&e[1]>=t.y&&e[1]<=t.y+t.height}function Tz(e){let{restMs:t=0,buffer:r=.5,blockPointerEvents:n=!1}=e===void 0?{}:e,o,a=!1,i=!1;const s=f=>{let{x:g,y:b,placement:S,elements:O,onClose:T,nodeId:C,tree:w}=f;return function(d){function l(){clearTimeout(o),T()}if(clearTimeout(o),!O.domReference||!O.floating||S==null||g==null||b==null)return;const{clientX:c,clientY:u}=d,h=[c,u],v=If(d),y=d.type==="mouseleave",E=Gr(O.floating,v),P=Gr(O.domReference,v),N=O.domReference.getBoundingClientRect(),R=O.floating.getBoundingClientRect(),M=S.split("-")[0],L=g>R.right-R.width/2,D=b>R.bottom-R.height/2,B=Cz(h,N);if(E&&(i=!0),P&&(i=!1),P&&!y){i=!0;return}if(y&&En(d.relatedTarget)&&Gr(O.floating,d.relatedTarget)||w&&ks(w.nodesRef.current,C).some(z=>{let{context:$}=z;return $==null?void 0:$.open}))return;if(M==="top"&&b>=N.bottom-1||M==="bottom"&&b<=N.top+1||M==="left"&&g>=N.right-1||M==="right"&&g<=N.left+1)return l();let H=[];switch(M){case"top":H=[[R.left,N.top+1],[R.left,R.bottom-1],[R.right,R.bottom-1],[R.right,N.top+1]],a=c>=R.left&&c<=R.right&&u>=R.top&&u<=N.top+1;break;case"bottom":H=[[R.left,R.top+1],[R.left,N.bottom-1],[R.right,N.bottom-1],[R.right,R.top+1]],a=c>=R.left&&c<=R.right&&u>=N.bottom-1&&u<=R.bottom;break;case"left":H=[[R.right-1,R.bottom],[R.right-1,R.top],[N.left+1,R.top],[N.left+1,R.bottom]],a=c>=R.left&&c<=N.left+1&&u>=R.top&&u<=R.bottom;break;case"right":H=[[N.right-1,R.bottom],[N.right-1,R.top],[R.left+1,R.top],[R.left+1,R.bottom]],a=c>=N.right-1&&c<=R.right&&u>=R.top&&u<=R.bottom;break}function Q(z){let[$,q]=z;const Z=R.width>N.width,ie=R.height>N.height;switch(M){case"top":{const me=[Z?$+r/2:L?$+r*4:$-r*4,q+r+1],ue=[Z?$-r/2:L?$+r*4:$-r*4,q+r+1],te=[[R.left,L||Z?R.bottom-r:R.top],[R.right,L?Z?R.bottom-r:R.top:R.bottom-r]];return[me,ue,...te]}case"bottom":{const me=[Z?$+r/2:L?$+r*4:$-r*4,q-r],ue=[Z?$-r/2:L?$+r*4:$-r*4,q-r],te=[[R.left,L||Z?R.top+r:R.bottom],[R.right,L?Z?R.top+r:R.bottom:R.top+r]];return[me,ue,...te]}case"left":{const me=[$+r+1,ie?q+r/2:D?q+r*4:q-r*4],ue=[$+r+1,ie?q-r/2:D?q+r*4:q-r*4];return[...[[D||ie?R.right-r:R.left,R.top],[D?ie?R.right-r:R.left:R.right-r,R.bottom]],me,ue]}case"right":{const me=[$-r,ie?q+r/2:D?q+r*4:q-r*4],ue=[$-r,ie?q-r/2:D?q+r*4:q-r*4],te=[[D||ie?R.left+r:R.right,R.top],[D?ie?R.left+r:R.right:R.left+r,R.bottom]];return[me,ue,...te]}}}const W=a?H:Q([g,b]);if(!a){if(i&&!B)return l();Sz([c,u],W)?t&&!i&&(o=setTimeout(l,t)):l()}}};return s.__options={blockPointerEvents:n},s}function Oz(e){e===void 0&&(e={});const{open:t=!1,onOpenChange:r,nodeId:n}=e,o=z6(e),a=hi(),i=k.useRef(null),s=k.useRef({}),f=k.useState(()=>_P())[0],[g,b]=k.useState(null),S=k.useCallback(d=>{const l=En(d)?{getBoundingClientRect:()=>d.getBoundingClientRect(),contextElement:d}:d;o.refs.setReference(l)},[o.refs]),O=k.useCallback(d=>{(En(d)||d===null)&&(i.current=d,b(d)),(En(o.refs.reference.current)||o.refs.reference.current===null||d!==null&&!En(d))&&o.refs.setReference(d)},[o.refs]),T=k.useMemo(()=>({...o.refs,setReference:O,setPositionReference:S,domReference:i}),[o.refs,O,S]),C=k.useMemo(()=>({...o.elements,domReference:g}),[o.elements,g]),w=jl(r),m=k.useMemo(()=>({...o,refs:T,elements:C,dataRef:s,nodeId:n,events:f,open:t,onOpenChange:w}),[o,n,f,t,w,T,C]);return Yt(()=>{const d=a==null?void 0:a.nodesRef.current.find(l=>l.id===n);d&&(d.context=m)}),k.useMemo(()=>({...o,context:m,refs:T,reference:O,positionReference:S}),[o,T,m,O,S])}function bh(e,t,r){const n=new Map;return{...r==="floating"&&{tabIndex:-1},...e,...t.map(o=>o?o[r]:null).concat(e).reduce((o,a)=>(a&&Object.entries(a).forEach(i=>{let[s,f]=i;if(s.indexOf("on")===0){if(n.has(s)||n.set(s,[]),typeof f=="function"){var g;(g=n.get(s))==null||g.push(f),o[s]=function(){for(var b,S=arguments.length,O=new Array(S),T=0;TC(...O))}}}else o[s]=f}),o),{})}}const Pz=function(e){e===void 0&&(e=[]);const t=e,r=k.useCallback(a=>bh(a,e,"reference"),t),n=k.useCallback(a=>bh(a,e,"floating"),t),o=k.useCallback(a=>bh(a,e,"item"),e.map(a=>a==null?void 0:a.item));return k.useMemo(()=>({getReferenceProps:r,getFloatingProps:n,getItemProps:o}),[r,n,o])},kz=Object.freeze(Object.defineProperty({__proto__:null,FloatingDelayGroup:K6,FloatingFocusManager:az,FloatingNode:$6,FloatingOverlay:iz,FloatingPortal:nz,FloatingTree:H6,arrow:F6,autoPlacement:j6,autoUpdate:N6,computePosition:wP,detectOverflow:Bc,flip:A6,getOverflowAncestors:Mo,hide:I6,inline:D6,inner:wz,limitShift:L6,offset:xP,platform:vP,safePolygon:Tz,shift:R6,size:M6,useClick:lz,useDelayGroup:Y6,useDelayGroupContext:NP,useDismiss:dz,useFloating:Oz,useFloatingNodeId:W6,useFloatingParentNodeId:Nl,useFloatingPortalNode:DP,useFloatingTree:hi,useFocus:fz,useHover:G6,useId:ru,useInnerOffset:_z,useInteractions:Pz,useListNavigation:gz,useMergeRefs:mz,useRole:bz,useTransitionStatus:FP,useTransitionStyles:yz,useTypeahead:xz},Symbol.toStringTag,{value:"Module"})),fr=ou(kz);var zP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{DialogHeader:function(){return O},default:function(){return T}});var r=g(k),n=g(at),o=Xe,a=g(Ye),i=Ke,s=Ol;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function S(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,i.useTheme)().dialogHeader,u=c.defaultProps,h=c.styles.base;m=m??u.className;var v=(0,o.twMerge)((0,n.default)((0,a.default)(h)),m);return r.default.createElement("div",f({},l,{ref:w,className:v}),d)});O.propTypes={className:s.propTypesClassName,children:s.propTypesChildren},O.displayName="MaterialTailwind.DialogHeader";var T=O})(zP);var BP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(w,m){for(var d in m)Object.defineProperty(w,d,{enumerable:!0,get:m[d]})}t(e,{DialogBody:function(){return T},default:function(){return C}});var r=b(k),n=b(at),o=Xe,a=b(Ye),i=Ke,s=Ol;function f(w,m,d){return m in w?Object.defineProperty(w,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):w[m]=d,w}function g(){return g=Object.assign||function(w){for(var m=1;m=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,u;for(u=0;u=0)&&(d[c]=w[c]);return d}var T=r.default.forwardRef(function(w,m){var d=w.divider,l=w.className,c=w.children,u=S(w,["divider","className","children"]),h=(0,i.useTheme)().dialogBody,v=h.defaultProps,y=h.styles.base;l=l??v.className;var E=(0,o.twMerge)((0,n.default)((0,a.default)(y.initial),f({},(0,a.default)(y.divider),d)),l);return r.default.createElement("div",g({},u,{ref:m,className:E}),c)});T.propTypes={divider:s.propTypesDivider,className:s.propTypesClassName,children:s.propTypesChildren},T.displayName="MaterialTailwind.DialogBody";var C=T})(BP);var VP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{DialogFooter:function(){return O},default:function(){return T}});var r=g(k),n=g(at),o=Xe,a=g(Ye),i=Ke,s=Ol;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function S(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,i.useTheme)().dialogFooter,u=c.defaultProps,h=c.styles.base;m=m??u.className;var v=(0,o.twMerge)((0,n.default)((0,a.default)(h)),m);return r.default.createElement("div",f({},l,{ref:w,className:v}),d)});O.propTypes={className:s.propTypesClassName,children:s.propTypesChildren},O.displayName="MaterialTailwind.DialogFooter";var T=O})(VP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(N,R){for(var M in R)Object.defineProperty(N,M,{enumerable:!0,get:R[M]})}t(e,{Dialog:function(){return E},DialogHeader:function(){return T.DialogHeader},DialogBody:function(){return C.DialogBody},DialogFooter:function(){return w.DialogFooter},default:function(){return P}});var r=l(k),n=l(Ze),o=fr,a=vr,i=l(at),s=l(Sr),f=Xe,g=l(qt),b=l(Ye),S=Ke,O=Ol,T=zP,C=BP,w=VP;function m(N,R,M){return R in N?Object.defineProperty(N,R,{value:M,enumerable:!0,configurable:!0,writable:!0}):N[R]=M,N}function d(){return d=Object.assign||function(N){for(var R=1;R=0)&&Object.prototype.propertyIsEnumerable.call(N,L)&&(M[L]=N[L])}return M}function y(N,R){if(N==null)return{};var M={},L=Object.keys(N),D,B;for(B=0;B=0)&&(M[D]=N[D]);return M}var E=r.default.forwardRef(function(N,R){var M=N.open,L=N.handler,D=N.size,B=N.dismiss,H=N.animate,Q=N.className,W=N.children,z=v(N,["open","handler","size","dismiss","animate","className","children"]),$=(0,S.useTheme)().dialog,q=$.defaultProps,Z=$.valid,ie=$.styles,me=ie.base,ue=ie.sizes;L=L??void 0,D=D??q.size,B=B??q.dismiss,H=H??q.animate,Q=Q??q.className;var te=(0,i.default)((0,b.default)(me.backdrop)),Se=(0,f.twMerge)((0,i.default)((0,b.default)(me.container),(0,b.default)(ue[(0,g.default)(Z.sizes,D,"md")])),Q),ve={unmount:{opacity:0,y:-50,transition:{duration:.3}},mount:{opacity:1,y:0,transition:{duration:.3}}},he={unmount:{opacity:0,transition:{delay:.2}},mount:{opacity:1}},re=(0,s.default)(ve,H),ge=(0,o.useFloating)({open:M,onOpenChange:L}),Ce=ge.floating,Ne=ge.context,Pe=(0,o.useId)(),Te="".concat(Pe,"-label"),je="".concat(Pe,"-description"),ze=(0,o.useInteractions)([(0,o.useClick)(Ne),(0,o.useRole)(Ne),(0,o.useDismiss)(Ne,B)]).getFloatingProps,qe=(0,o.useMergeRefs)([R,Ce]),it=a.AnimatePresence;return r.default.createElement(a.LazyMotion,{features:a.domAnimation},r.default.createElement(o.FloatingPortal,null,r.default.createElement(it,null,M&&r.default.createElement(o.FloatingOverlay,{style:{zIndex:9999},lockScroll:!0},r.default.createElement(o.FloatingFocusManager,{context:Ne},r.default.createElement(a.m.div,{className:D==="xxl"?"":te,initial:"unmount",exit:"unmount",animate:M?"mount":"unmount",variants:he,transition:{duration:.2}},r.default.createElement(a.m.div,d({},ze(h(c({},z),{ref:qe,className:Se,"aria-labelledby":Te,"aria-describedby":je})),{initial:"unmount",exit:"unmount",animate:M?"mount":"unmount",variants:re}),W)))))))});E.propTypes={open:O.propTypesOpen,handler:O.propTypesHandler,size:n.default.oneOf(O.propTypesSize),dismiss:O.propTypesDismiss,animate:O.propTypesAnimate,className:O.propTypesClassName,children:O.propTypesChildren},E.displayName="MaterialTailwind.Dialog";var P=Object.assign(E,{Header:T.DialogHeader,Body:C.DialogBody,Footer:w.DialogFooter})})(tP);var UP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{Input:function(){return C},default:function(){return w}});var r=S(k),n=S(Ze),o=S(at),a=S(qt),i=S(Ye),s=Ke,f=du;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function T(m,d){if(m==null)return{};var l={},c=Object.keys(m),u,h;for(h=0;h=0)&&(l[u]=m[u]);return l}var C=r.default.forwardRef(function(m,d){var l=m.variant,c=m.color,u=m.size,h=m.label,v=m.error,y=m.success,E=m.icon,P=m.containerProps,N=m.labelProps,R=m.className,M=m.shrink,L=m.inputRef,D=O(m,["variant","color","size","label","error","success","icon","containerProps","labelProps","className","shrink","inputRef"]),B=(0,s.useTheme)().input,H=B.defaultProps,Q=B.valid,W=B.styles,z=W.base,$=W.variants;l=l??H.variant,u=u??H.size,c=c??H.color,h=h??H.label,N=N??H.labelProps,P=P??H.containerProps,R=R??H.className,M=M??H.shrink,E=E??H.icon;var q=$[(0,a.default)(Q.variants,l,"outlined")],Z=q.sizes[(0,a.default)(Q.sizes,u,"md")],ie=(0,i.default)(q.error.input),me=(0,i.default)(q.success.input),ue=(0,i.default)(q.shrink.input),te=(0,i.default)(q.colors.input[(0,a.default)(Q.colors,c,"gray")]),Se=(0,i.default)(q.error.label),ve=(0,i.default)(q.success.label),he=(0,i.default)(q.shrink.label),re=(0,i.default)(q.colors.label[(0,a.default)(Q.colors,c,"gray")]),ge=(0,o.default)((0,i.default)(z.container),(0,i.default)(Z.container),P==null?void 0:P.className),Ce=(0,o.default)((0,i.default)(z.input),(0,i.default)(q.base.input),(0,i.default)(Z.input),g({},(0,i.default)(q.base.inputWithIcon),E),g({},te,!v&&!y),g({},ie,v),g({},me,y),g({},ue,M),R),Ne=(0,o.default)((0,i.default)(z.label),(0,i.default)(q.base.label),(0,i.default)(Z.label),g({},re,!v&&!y),g({},Se,v),g({},ve,y),g({},he,M),N==null?void 0:N.className),Pe=(0,o.default)((0,i.default)(z.icon),(0,i.default)(q.base.icon),(0,i.default)(Z.icon)),Te=(0,o.default)((0,i.default)(z.asterisk));return r.default.createElement("div",b({},P,{ref:d,className:ge}),E&&r.default.createElement("div",{className:Pe},E),r.default.createElement("input",b({},D,{ref:L,className:Ce,placeholder:(D==null?void 0:D.placeholder)||" "})),r.default.createElement("label",b({},N,{className:Ne}),h," ",D.required?r.default.createElement("span",{className:Te},"*"):""))});C.propTypes={variant:n.default.oneOf(f.propTypesVariant),size:n.default.oneOf(f.propTypesSize),color:n.default.oneOf(f.propTypesColor),label:f.propTypesLabel,error:f.propTypesError,success:f.propTypesSuccess,icon:f.propTypesIcon,labelProps:f.propTypesLabelProps,containerProps:f.propTypesContainerProps,shrink:f.propTypesShrink,className:f.propTypesClassName},C.displayName="MaterialTailwind.Input";var w=C})(UP);var WP={},wu={},Rl={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(u,h){for(var v in h)Object.defineProperty(u,v,{enumerable:!0,get:h[v]})}t(e,{propTypesOpen:function(){return g},propTypesHandler:function(){return b},propTypesPlacement:function(){return S},propTypesOffset:function(){return O},propTypesDismiss:function(){return T},propTypesAnimate:function(){return C},propTypesLockScroll:function(){return w},propTypesDisabled:function(){return m},propTypesClassName:function(){return d},propTypesChildren:function(){return l},propTypesContextValue:function(){return c}});var r=a(Ze),n=Vt;function o(u,h,v){return h in u?Object.defineProperty(u,h,{value:v,enumerable:!0,configurable:!0,writable:!0}):u[h]=v,u}function a(u){return u&&u.__esModule?u:{default:u}}function i(u){for(var h=1;hl.length)&&(c=l.length);for(var u=0,h=new Array(c);u=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,u;for(u=0;u=0)&&(d[c]=w[c]);return d}var T=r.default.forwardRef(function(w,m){var d=w.children,l=S(w,["children"]),c=(0,o.useMenu)(),u=c.getReferenceProps,h=c.reference,v=c.nested,y=(0,n.useMergeRefs)([m,h]);return r.default.cloneElement(d,f({},u(f(b(f({},l),{ref:y,onClick:function(P){P.stopPropagation()}}),v&&{role:"menuitem"}))))});T.propTypes={children:a.propTypesChildren},T.displayName="MaterialTailwind.MenuHandler";var C=T})(HP);var qP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{MenuList:function(){return w},default:function(){return m}});var r=O(k),n=fr,o=vr,a=O(at),i=Xe,s=O(Ye),f=Ke,g=wu,b=Rl;function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.children,u=d.className,h=T(d,["children","className"]),v=(0,f.useTheme)().menu,y=v.styles.base,E=(0,g.useMenu)(),P=E.open,N=E.handler,R=E.strategy,M=E.x,L=E.y,D=E.floating,B=E.listItemsRef,H=E.getFloatingProps,Q=E.getItemProps,W=E.appliedAnimation,z=E.lockScroll,$=E.context,q=E.activeIndex,Z=E.tree,ie=E.allowHover,me=E.internalAllowHover,ue=E.setActiveIndex,te=E.nested;u=u??"";var Se=(0,i.twMerge)((0,a.default)((0,s.default)(y.menu)),u),ve=(0,n.useMergeRefs)([l,D]),he=o.AnimatePresence,re=r.default.createElement(o.m.div,S({},h,{ref:ve,style:{position:R,top:L??0,left:M??0},className:Se},H({onKeyDown:function(Ce){Ce.key==="Tab"&&(N(!1),Ce.shiftKey&&Ce.preventDefault())}}),{initial:"unmount",exit:"unmount",animate:P?"mount":"unmount",variants:W}),r.default.Children.map(c,function(ge,Ce){return r.default.isValidElement(ge)&&r.default.cloneElement(ge,Q({tabIndex:q===Ce?0:-1,role:"menuitem",className:ge.props.className,ref:function(Pe){B.current[Ce]=Pe},onClick:function(Pe){if(ge.props.onClick){var Te,je;(je=(Te=ge.props).onClick)===null||je===void 0||je.call(Te,Pe)}Z==null||Z.events.emit("click")},onMouseEnter:function(){(ie&&P||me&&P)&&ue(Ce)}}))}));return r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(n.FloatingPortal,null,r.default.createElement(he,null,P&&r.default.createElement(r.default.Fragment,null,z?r.default.createElement(n.FloatingOverlay,{lockScroll:!0},r.default.createElement(n.FloatingFocusManager,{context:$,modal:!te,initialFocus:te?-1:0,returnFocus:!te,visuallyHiddenDismiss:!0},re)):r.default.createElement(n.FloatingFocusManager,{context:$,modal:!te,initialFocus:te?-1:0,returnFocus:!te,visuallyHiddenDismiss:!0},re)))))});w.propTypes={className:b.propTypesClassName,children:b.propTypesChildren},w.displayName="MaterialTailwind.MenuList";var m=w})(qP);var GP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(w,m){for(var d in m)Object.defineProperty(w,d,{enumerable:!0,get:m[d]})}t(e,{MenuItem:function(){return T},default:function(){return C}});var r=b(k),n=b(at),o=Xe,a=b(Ye),i=Ke,s=Rl;function f(w,m,d){return m in w?Object.defineProperty(w,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):w[m]=d,w}function g(){return g=Object.assign||function(w){for(var m=1;m=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,u;for(u=0;u=0)&&(d[c]=w[c]);return d}var T=r.default.forwardRef(function(w,m){var d=w.className,l=d===void 0?"":d,c=w.disabled,u=c===void 0?!1:c,h=w.children,v=S(w,["className","disabled","children"]),y=(0,i.useTheme)().menu,E=y.styles.base,P=(0,o.twMerge)((0,n.default)((0,a.default)(E.item.initial),f({},(0,a.default)(E.item.disabled),u)),l);return r.default.createElement("button",g({},v,{ref:m,role:"menuitem",className:P}),h)});T.propTypes={className:s.propTypesClassName,disabled:s.propTypesDisabled,children:s.propTypesChildren},T.displayName="MaterialTailwind.MenuItem";var C=T})(GP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(T,C){for(var w in C)Object.defineProperty(T,w,{enumerable:!0,get:C[w]})}t(e,{Menu:function(){return S},MenuHandler:function(){return i.MenuHandler},MenuList:function(){return s.MenuList},MenuItem:function(){return f.MenuItem},useMenu:function(){return o.useMenu},default:function(){return O}});var r=b(k),n=fr,o=wu,a=$P,i=HP,s=qP,f=GP;function g(){return g=Object.assign||function(T){for(var C=1;C=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.open,u=d.animate,h=d.className,v=d.children,y=T(d,["open","animate","className","children"]),E;console.error(` will be deprecated in the future versions of @material-tailwind/react use instead. + +More details: https://www.material-tailwind.com/docs/react/collapse + `);var P=r.default.useRef(null),N=(0,g.useTheme)().navbar,R=N.styles,M=R.base.mobileNav;u=u??{},h=h??"";var L=(0,s.twMerge)((0,i.default)((0,f.default)(M)),h),D={unmount:{height:0,opacity:0,transition:{duration:.3,times:"[0.4, 0, 0.2, 1]"}},mount:{opacity:1,height:"".concat((E=P.current)===null||E===void 0?void 0:E.scrollHeight,"px"),transition:{duration:.3,times:"[0.4, 0, 0.2, 1]"}}},B=(0,a.default)(D,u),H=n.AnimatePresence,Q=(0,o.useMergeRefs)([l,P]);return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(H,null,r.default.createElement(n.m.div,S({},y,{ref:Q,className:L,initial:"unmount",exit:"unmount",animate:c?"mount":"unmount",variants:B}),v)))});w.displayName="MaterialTailwind.MobileNav",w.propTypes={open:b.propTypesOpen,animate:b.propTypesAnimate,className:b.propTypesClassName,children:b.propTypesChildren};var m=w})(YP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Navbar:function(){return m},MobileNav:function(){return g.MobileNav},default:function(){return d}});var r=T(k),n=T(Ze),o=T(at),a=Xe,i=T(qt),s=T(Ye),f=Ke,g=YP,b=bf;function S(l,c,u){return c in l?Object.defineProperty(l,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[c]=u,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.variant,h=l.color,v=l.shadow,y=l.blurred,E=l.fullWidth,P=l.className,N=l.children,R=C(l,["variant","color","shadow","blurred","fullWidth","className","children"]),M=(0,f.useTheme)().navbar,L=M.defaultProps,D=M.valid,B=M.styles,H=B.base,Q=B.variants;u=u??L.variant,h=h??L.color,v=v??L.shadow,y=y??L.blurred,E=E??L.fullWidth,P=P??L.className;var W,z=(0,o.default)((0,s.default)(H.navbar.initial),(W={},S(W,(0,s.default)(H.navbar.shadow),v),S(W,(0,s.default)(H.navbar.blurred),y&&h==="white"),S(W,(0,s.default)(H.navbar.fullWidth),E),W)),$=(0,o.default)((0,s.default)(Q[(0,i.default)(D.variants,u,"filled")][(0,i.default)(D.colors,h,"white")])),q=(0,a.twMerge)((0,o.default)(z,$),P);return r.default.createElement("nav",O({},R,{ref:c,className:q}),N)});m.propTypes={variant:n.default.oneOf(b.propTypesVariant),color:n.default.oneOf(b.propTypesColor),shadow:b.propTypesShadow,blurred:b.propTypesBlurred,fullWidth:b.propTypesFullWidth,className:b.propTypesClassName,children:b.propTypesChildren},m.displayName="MaterialTailwind.Navbar";var d=Object.assign(m,{MobileNav:g.MobileNav})})(KP);var QP={},Ff={},Al={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{propTypesOpen:function(){return a},propTypesHandler:function(){return i},propTypesPlacement:function(){return s},propTypesOffset:function(){return f},propTypesDismiss:function(){return g},propTypesAnimate:function(){return b},propTypesContent:function(){return S},propTypesInteractive:function(){return O},propTypesClassName:function(){return T},propTypesChildren:function(){return C},propTypesContextValue:function(){return w}});var r=o(Ze),n=Vt;function o(m){return m&&m.__esModule?m:{default:m}}var a=r.default.bool,i=r.default.func,s=n.propTypesPlacements,f=n.propTypesOffsetType,g=n.propTypesDismissType,b=n.propTypesAnimation,S=r.default.node,O=r.default.bool,T=r.default.string,C=r.default.node.isRequired,w=r.default.shape({open:r.default.bool.isRequired,strategy:r.default.oneOf(["fixed","absolute"]).isRequired,x:r.default.number,y:r.default.number,context:r.default.instanceOf(Object).isRequired,reference:r.default.func.isRequired,floating:r.default.func.isRequired,getReferenceProps:r.default.func.isRequired,getFloatingProps:r.default.func.isRequired,appliedAnimation:b.isRequired,labelId:r.default.string.isRequired,descriptionId:r.default.string.isRequired}).isRequired})(Al);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(f,g){for(var b in g)Object.defineProperty(f,b,{enumerable:!0,get:g[b]})}t(e,{PopoverContext:function(){return a},usePopover:function(){return i},PopoverContextProvider:function(){return s}});var r=o(k),n=Al;function o(f){return f&&f.__esModule?f:{default:f}}var a=r.default.createContext(null);a.displayName="MaterialTailwind.PopoverContext";function i(){var f=r.default.useContext(a);if(!f)throw new Error("usePopover() must be used within a Popover. It happens when you use PopoverHandler or PopoverContent components outside the Popover component.");return f}var s=function(f){var g=f.value,b=f.children;return r.default.createElement(a.Provider,{value:g},b)};s.propTypes={value:n.propTypesContextValue,children:n.propTypesChildren},s.displayName="MaterialTailwind.PopoverContextProvider"})(Ff);var XP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(w,m){for(var d in m)Object.defineProperty(w,d,{enumerable:!0,get:m[d]})}t(e,{PopoverHandler:function(){return T},default:function(){return C}});var r=s(k),n=fr,o=Ff,a=Al;function i(w,m,d){return m in w?Object.defineProperty(w,m,{value:d,enumerable:!0,configurable:!0,writable:!0}):w[m]=d,w}function s(w){return w&&w.__esModule?w:{default:w}}function f(w){for(var m=1;m=0)&&Object.prototype.propertyIsEnumerable.call(w,l)&&(d[l]=w[l])}return d}function O(w,m){if(w==null)return{};var d={},l=Object.keys(w),c,u;for(u=0;u=0)&&(d[c]=w[c]);return d}var T=r.default.forwardRef(function(w,m){var d=w.children,l=S(w,["children"]),c=(0,o.usePopover)(),u=c.getReferenceProps,h=c.reference,v=(0,n.useMergeRefs)([m,h]);return r.default.cloneElement(d,f({},u(b(f({},l),{ref:v}))))});T.propTypes={children:a.propTypesChildren},T.displayName="MaterialTailwind.PopoverHandler";var C=T})(XP);var ZP={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(h,v){for(var y in v)Object.defineProperty(h,y,{enumerable:!0,get:v[y]})}t(e,{PopoverContent:function(){return c},default:function(){return u}});var r=T(k),n=fr,o=vr,a=T(at),i=Xe,s=T(Ye),f=Ke,g=Ff,b=Al;function S(h,v,y){return v in h?Object.defineProperty(h,v,{value:y,enumerable:!0,configurable:!0,writable:!0}):h[v]=y,h}function O(){return O=Object.assign||function(h){for(var v=1;v=0)&&Object.prototype.propertyIsEnumerable.call(h,E)&&(y[E]=h[E])}return y}function l(h,v){if(h==null)return{};var y={},E=Object.keys(h),P,N;for(N=0;N=0)&&(y[P]=h[P]);return y}var c=r.default.forwardRef(function(h,v){var y=h.children,E=h.className,P=d(h,["children","className"]),N=(0,f.useTheme)().popover,R=N.defaultProps,M=N.styles.base,L=(0,g.usePopover)(),D=L.open,B=L.strategy,H=L.x,Q=L.y,W=L.context,z=L.floating,$=L.getFloatingProps,q=L.appliedAnimation,Z=L.labelId,ie=L.descriptionId;E=E??R.className;var me=(0,i.twMerge)((0,a.default)((0,s.default)(M)),E),ue=(0,n.useMergeRefs)([v,z]),te=o.AnimatePresence;return r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(n.FloatingPortal,null,r.default.createElement(te,null,D&&r.default.createElement(n.FloatingFocusManager,{context:W},r.default.createElement(o.m.div,O({},$(m(C({},P),{ref:ue,className:me,style:{position:B,top:Q??"",left:H??""},"aria-labelledby":Z,"aria-describedby":ie})),{initial:"unmount",exit:"unmount",animate:D?"mount":"unmount",variants:q}),y)))))});c.propTypes={className:b.propTypesClassName,children:b.propTypesChildren},c.displayName="MaterialTailwind.PopoverContent";var u=c})(ZP);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(u,h){for(var v in h)Object.defineProperty(u,v,{enumerable:!0,get:h[v]})}t(e,{Popover:function(){return l},PopoverHandler:function(){return g.PopoverHandler},PopoverContent:function(){return b.PopoverContent},usePopover:function(){return s.usePopover},default:function(){return c}});var r=T(k),n=T(Ze),o=fr,a=T(Sr),i=Ke,s=Ff,f=Al,g=XP,b=ZP;function S(u,h){(h==null||h>u.length)&&(h=u.length);for(var v=0,y=new Array(h);v=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,u=d.color,h=d.size,v=d.value,y=d.label,E=d.className,P=d.barProps,N=T(d,["variant","color","size","value","label","className","barProps"]),R=(0,f.useTheme)().progress,M=R.defaultProps,L=R.valid,D=R.styles,B=D.base,H=D.variants,Q=D.sizes;c=c??M.variant,u=u??M.color,h=h??M.size,y=y??M.label,E=E??M.className,P=P??M.barProps;var W=(0,s.default)(H[(0,i.default)(L.variants,c,"filled")][(0,i.default)(L.colors,u,"gray")]),z=(0,s.default)(Q[(0,i.default)(L.sizes,h,"md")].container.initial),$=(0,o.default)((0,s.default)(B.container.initial),z),q=(0,s.default)(Q[(0,i.default)(L.sizes,h,"md")].container.withLabel),Z=(0,o.default)((0,s.default)(B.container.withLabel),q),ie=(0,s.default)(Q[(0,i.default)(L.sizes,h,"md")].bar),me=(0,o.default)((0,s.default)(B.bar),ie),ue=(0,a.twMerge)((0,o.default)($,b({},Z,y)),E),te=(0,a.twMerge)((0,o.default)(me,W),P==null?void 0:P.className);return r.default.createElement("div",S({},N,{ref:l,className:ue}),r.default.createElement("div",S({},P,{className:te,style:{width:"".concat(v,"%")}}),y&&"".concat(v,"% ").concat(typeof y=="string"?y:"")))});w.propTypes={variant:n.default.oneOf(g.propTypesVariant),color:n.default.oneOf(g.propTypesColor),size:n.default.oneOf(g.propTypesSize),value:g.propTypesValue,label:g.propTypesLabel,barProps:g.propTypesBarProps,className:g.propTypesClassName},w.displayName="MaterialTailwind.Progress";var m=w})(JP);var ek={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Radio:function(){return m},default:function(){return d}});var r=T(k),n=T(Ze),o=T(kl),a=T(at),i=Xe,s=T(qt),f=T(Ye),g=Ke,b=fi;function S(l,c,u){return c in l?Object.defineProperty(l,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[c]=u,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.color,h=l.label,v=l.icon,y=l.ripple,E=l.className,P=l.disabled,N=l.containerProps,R=l.labelProps,M=l.iconProps,L=l.inputRef,D=C(l,["color","label","icon","ripple","className","disabled","containerProps","labelProps","iconProps","inputRef"]),B=(0,g.useTheme)().radio,H=B.defaultProps,Q=B.valid,W=B.styles,z=W.base,$=W.colors,q=r.default.useId();u=u??H.color,h=h??H.label,v=v??H.icon,y=y??H.ripple,E=E??H.className,P=P??H.disabled,N=N??H.containerProps,R=R??H.labelProps,M=M??H.iconProps;var Z=y!==void 0&&new o.default,ie=(0,a.default)((0,f.default)(z.root),S({},(0,f.default)(z.disabled),P)),me=(0,i.twMerge)((0,a.default)((0,f.default)(z.container)),N==null?void 0:N.className),ue=(0,i.twMerge)((0,a.default)((0,f.default)(z.input),(0,f.default)($[(0,s.default)(Q.colors,u,"gray")])),E),te=(0,i.twMerge)((0,a.default)((0,f.default)(z.label)),R==null?void 0:R.className),Se=(0,a.default)((0,a.default)((0,f.default)(z.icon)),$[(0,s.default)(Q.colors,u,"gray")].color,M==null?void 0:M.className);return r.default.createElement("div",{ref:c,className:ie},r.default.createElement("label",O({},N,{className:me,htmlFor:D.id||q,onMouseDown:function(ve){var he=N==null?void 0:N.onMouseDown;return y&&Z.create(ve,"dark"),typeof he=="function"&&he(ve)}}),r.default.createElement("input",O({},D,{ref:L,type:"radio",disabled:P,className:ue,id:D.id||q})),r.default.createElement("span",{className:Se},v||r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-3.5 w-3.5",viewBox:"0 0 16 16",fill:"currentColor"},r.default.createElement("circle",{"data-name":"ellipse",cx:"8",cy:"8",r:"8"})))),h&&r.default.createElement("label",O({},R,{className:te,htmlFor:D.id||q}),h))});m.propTypes={color:n.default.oneOf(b.propTypesColor),label:b.propTypesLabel,icon:b.propTypesIcon,ripple:b.propTypesRipple,className:b.propTypesClassName,disabled:b.propTypesDisabled,containerProps:b.propTypesObject,labelProps:b.propTypesObject},m.displayName="MaterialTailwind.Radio";var d=m})(ek);var tk={},db={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(b,S){for(var O in S)Object.defineProperty(b,O,{enumerable:!0,get:S[O]})}t(e,{SelectContext:function(){return i},useSelect:function(){return s},usePrevious:function(){return f},SelectContextProvider:function(){return g}});var r=a(k),n=vr,o=fu;function a(b){return b&&b.__esModule?b:{default:b}}var i=r.default.createContext(null);i.displayName="MaterialTailwind.SelectContext";function s(){var b=r.default.useContext(i);if(b===null)throw new Error("useSelect() must be used within a Select. It happens when you use SelectOption component outside the Select component.");return b}function f(b){var S=r.default.useRef();return(0,n.useIsomorphicLayoutEffect)(function(){S.current=b},[b]),S.current}var g=function(b){var S=b.value,O=b.children;return r.default.createElement(i.Provider,{value:S},O)};g.propTypes={value:o.propTypesContextValue,children:o.propTypesChildren},g.displayName="MaterialTailwind.SelectContextProvider"})(db);var rk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{SelectOption:function(){return C},default:function(){return w}});var r=S(k),n=S(at),o=Xe,a=S(Ye),i=Ke,s=db,f=fu;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function T(m,d){if(m==null)return{};var l={},c=Object.keys(m),u,h;for(h=0;h=0)&&(l[u]=m[u]);return l}var C=function(m){var d=function(){W(v),q(u),$(!1),ie(null)},l=function(Ce){(Ce.key==="Enter"||Ce.key===" "&&!ue.current.typing)&&(Ce.preventDefault(),d())},c=m.value,u=c===void 0?"":c,h=m.index,v=h===void 0?0:h,y=m.disabled,E=y===void 0?!1:y,P=m.className,N=P===void 0?"":P,R=m.children,M=O(m,["value","index","disabled","className","children"]),L=(0,i.useTheme)().select,D=L.styles,B=D.base,H=(0,s.useSelect)(),Q=H.selectedIndex,W=H.setSelectedIndex,z=H.listRef,$=H.setOpen,q=H.onChange,Z=H.activeIndex,ie=H.setActiveIndex,me=H.getItemProps,ue=H.dataRef,te=(0,a.default)(B.option.initial),Se=(0,a.default)(B.option.active),ve=(0,a.default)(B.option.disabled),he,re=(0,o.twMerge)((0,n.default)(te,(he={},g(he,Se,Q===v),g(he,ve,E),he)),N??"");return r.default.createElement("li",b({},M,{role:"option",ref:function(ge){return z.current[v]=ge},className:re,disabled:E,tabIndex:Z===v?0:1,"aria-selected":Z===v&&Q===v,"data-selected":Q===v},me({onClick:function(ge){var Ce=M==null?void 0:M.onClick;typeof Ce=="function"&&(Ce(ge),d()),d()},onKeyDown:function(ge){var Ce=M==null?void 0:M.onKeyDown;typeof Ce=="function"&&(Ce(ge),l(ge)),l(ge)}})),R)};C.propTypes={value:f.propTypesValue,index:f.propTypesIndex,disabled:f.propTypesDisabled,className:f.propTypesClassName,children:f.propTypesChildren},C.displayName="MaterialTailwind.SelectOption";var w=C})(rk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(z,$){for(var q in $)Object.defineProperty(z,q,{enumerable:!0,get:$[q]})}t(e,{Select:function(){return Q},Option:function(){return C.SelectOption},useSelect:function(){return O.useSelect},usePrevious:function(){return O.usePrevious},default:function(){return W}});var r=u(k),n=u(Ze),o=fr,a=vr,i=u(at),s=Xe,f=u(Sr),g=u(qt),b=u(Ye),S=Ke,O=db,T=fu,C=rk;function w(z,$){($==null||$>z.length)&&($=z.length);for(var q=0,Z=new Array($);q<$;q++)Z[q]=z[q];return Z}function m(z){if(Array.isArray(z))return z}function d(z){if(Array.isArray(z))return w(z)}function l(z,$,q){return $ in z?Object.defineProperty(z,$,{value:q,enumerable:!0,configurable:!0,writable:!0}):z[$]=q,z}function c(){return c=Object.assign||function(z){for(var $=1;$=0)&&Object.prototype.propertyIsEnumerable.call(z,Z)&&(q[Z]=z[Z])}return q}function L(z,$){if(z==null)return{};var q={},Z=Object.keys(z),ie,me;for(me=0;me=0)&&(q[ie]=z[ie]);return q}function D(z,$){return m(z)||v(z,$)||H(z,$)||y()}function B(z){return d(z)||h(z)||H(z)||E()}function H(z,$){if(z){if(typeof z=="string")return w(z,$);var q=Object.prototype.toString.call(z).slice(8,-1);if(q==="Object"&&z.constructor&&(q=z.constructor.name),q==="Map"||q==="Set")return Array.from(q);if(q==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(q))return w(z,$)}}var Q=r.default.forwardRef(function(z,$){var q=z.variant,Z=z.color,ie=z.size,me=z.label,ue=z.error,te=z.success,Se=z.arrow,ve=z.value,he=z.onChange,re=z.selected,ge=z.offset,Ce=z.dismiss,Ne=z.animate,Pe=z.lockScroll,Te=z.labelProps,je=z.menuProps,ze=z.className,qe=z.disabled,it=z.name,et=z.children,st=z.containerProps,Ge=M(z,["variant","color","size","label","error","success","arrow","value","onChange","selected","offset","dismiss","animate","lockScroll","labelProps","menuProps","className","disabled","name","children","containerProps"]),we,Ee=(0,S.useTheme)().select,ke=Ee.defaultProps,De=Ee.valid,de=Ee.styles,Ae=de.base,fe=de.variants,ee=D(r.default.useState("close"),2),ae=ee[0],Oe=ee[1];q=q??ke.variant,Z=Z??ke.color,ie=ie??ke.size,me=me??ke.label,ue=ue??ke.error,te=te??ke.success,Se=Se??ke.arrow,ve=ve??ke.value,he=he??ke.onChange,re=re??ke.selected,ge=ge??ke.offset,Ce=Ce??ke.dismiss,Ne=Ne??ke.animate,Te=Te??ke.labelProps,je=je??ke.menuProps;var xe;st=(xe=(0,f.default)(st,(ke==null?void 0:ke.containerProps)||{}))!==null&&xe!==void 0?xe:ke.containerProps,ze=ze??ke.className;var pe=r.default.useRef([]),se,Me=r.default.useRef(B((se=r.default.Children.map(et,function(It){var tr=It.props;return tr==null?void 0:tr.value}))!==null&&se!==void 0?se:[])),tt=D(r.default.useState(!1),2),ft=tt[0],pt=tt[1],bt=D(r.default.useState(null),2),ht=bt[0],Jt=bt[1],er=D(r.default.useState(0),2),Ut=er[0],Mr=er[1],Wt=D(r.default.useState(!1),2),Cr=Wt[0],Gt=Wt[1],tn=(0,O.usePrevious)(ht),Tr=(0,o.useFloating)({placement:"bottom-start",open:ft,onOpenChange:pt,whileElementsMounted:o.autoUpdate,middleware:[(0,o.offset)(5),(0,o.flip)({padding:10}),(0,o.size)({apply:function(tr){var Et=tr.rects,Or=tr.elements,yn,no;Object.assign(Or==null||(yn=Or.floating)===null||yn===void 0?void 0:yn.style,{width:"".concat(Et==null||(no=Et.reference)===null||no===void 0?void 0:no.width,"px"),zIndex:99})},padding:20})]}),Wr=Tr.x,Mn=Tr.y,$r=Tr.strategy,bn=Tr.refs,pr=Tr.context;r.default.useEffect(function(){Mr(Math.max(0,Me.current.indexOf(ve)+1))},[ve]);var ro=bn.floating,J=(0,o.useInteractions)([(0,o.useClick)(pr),(0,o.useRole)(pr,{role:"listbox"}),(0,o.useDismiss)(pr,P({},Ce)),(0,o.useListNavigation)(pr,{listRef:pe,activeIndex:ht,selectedIndex:Ut,onNavigate:Jt,loop:!0}),(0,o.useTypeahead)(pr,{listRef:Me,activeIndex:ht,selectedIndex:Ut,onMatch:ft?Jt:Mr})]),Ie=J.getReferenceProps,Be=J.getFloatingProps,Ot=J.getItemProps;(0,a.useIsomorphicLayoutEffect)(function(){var It=ro.current;if(ft&&Cr&&It){var tr=ht!=null?pe.current[ht]:Ut!=null?pe.current[Ut]:null;if(tr&&tn!=null){var Et,Or,yn=(Or=(Et=pe.current[tn])===null||Et===void 0?void 0:Et.offsetHeight)!==null&&Or!==void 0?Or:0,no=It.offsetHeight,Ma=tr.offsetTop,bi=Ma+yn;Mano+It.scrollTop&&(It.scrollTop+=bi-no-It.scrollTop+5)}}},[ft,Cr,tn,ht]);var Mt=r.default.useMemo(function(){return{selectedIndex:Ut,setSelectedIndex:Mr,listRef:pe,setOpen:pt,onChange:he||function(){},activeIndex:ht,setActiveIndex:Jt,getItemProps:Ot,dataRef:pr.dataRef}},[Ut,he,ht,Ot,pr.dataRef]);r.default.useEffect(function(){Oe(ft?"open":!ft&&Ut||!ft&&ve?"withValue":"close")},[ft,ve,Ut,re]);var mt=fe[(0,g.default)(De.variants,q,"outlined")],Pt=mt.sizes[(0,g.default)(De.sizes,ie,"md")],sr=mt.error.select,xt=mt.success.select,_t=mt.colors.select[(0,g.default)(De.colors,Z,"gray")],Hr=mt.error.label,or=mt.success.label,vn=mt.colors.label[(0,g.default)(De.colors,Z,"gray")],wo=mt.states[ae],$o=(0,i.default)((0,b.default)(Ae.container),(0,b.default)(Pt.container),st==null?void 0:st.className),_o=(0,s.twMerge)((0,i.default)((0,b.default)(Ae.select),(0,b.default)(mt.base.select),(0,b.default)(wo.select),(0,b.default)(Pt.select),l({},(0,b.default)(_t[ae]),!ue&&!te),l({},(0,b.default)(sr.initial),ue),l({},(0,b.default)(sr.states[ae]),ue),l({},(0,b.default)(xt.initial),te),l({},(0,b.default)(xt.states[ae]),te)),ze),Ho,Ra=(0,s.twMerge)((0,i.default)((0,b.default)(Ae.label),(0,b.default)(mt.base.label),(0,b.default)(wo.label),(0,b.default)(Pt.label.initial),(0,b.default)(Pt.label.states[ae]),l({},(0,b.default)(vn[ae]),!ue&&!te),l({},(0,b.default)(Hr.initial),ue),l({},(0,b.default)(Hr.states[ae]),ue),l({},(0,b.default)(or.initial),te),l({},(0,b.default)(or.states[ae]),te)),(Ho=Te.className)!==null&&Ho!==void 0?Ho:""),So=(0,i.default)((0,b.default)(Ae.arrow.initial),l({},(0,b.default)(Ae.arrow.active),ft)),In,rn=(0,s.twMerge)((0,i.default)((0,b.default)(Ae.menu)),(In=je.className)!==null&&In!==void 0?In:""),Ir=(0,i.default)("absolute top-2/4 -translate-y-2/4",q==="outlined"?"left-3 pt-0.5":"left-0 pt-3"),Aa={unmount:{opacity:0,transformOrigin:"top",transform:"scale(0.95)",transition:{duration:.2,times:[.4,0,.2,1]}},mount:{opacity:1,transformOrigin:"top",transform:"scale(1)",transition:{duration:.2,times:[.4,0,.2,1]}}},Co=(0,f.default)(Aa,Ne),Dn=a.AnimatePresence;r.default.useEffect(function(){ve&&!he&&console.error("Warning: You provided a `value` prop to a select component without an `onChange` handler. This will render a read-only select. If the field should be mutable use `onChange` handler with `value` together.")},[ve,he]);var Dr=r.default.createElement(o.FloatingFocusManager,{context:pr,modal:!1},r.default.createElement(a.m.ul,c({},Be(R(P({},je),{ref:bn.setFloating,role:"listbox",className:rn,style:{position:$r,top:Mn??0,left:Wr??0,overflow:"auto"},onPointerEnter:function(tr){var Et=je==null?void 0:je.onPointerEnter;typeof Et=="function"&&(Et(tr),Gt(!1)),Gt(!1)},onPointerMove:function(tr){var Et=je==null?void 0:je.onPointerMove;typeof Et=="function"&&(Et(tr),Gt(!1)),Gt(!1)},onKeyDown:function(tr){var Et=je==null?void 0:je.onKeyDown;typeof Et=="function"&&(Et(tr),Gt(!0)),Gt(!0)}})),{initial:"unmount",exit:"unmount",animate:ft?"mount":"unmount",variants:Co}),r.default.Children.map(et,function(It,tr){var Et;return r.default.isValidElement(It)&&r.default.cloneElement(It,R(P({},It.props),{index:((Et=It.props)===null||Et===void 0?void 0:Et.index)||tr+1,id:"material-tailwind-select-".concat(tr)}))})));return r.default.createElement(O.SelectContextProvider,{value:Mt},r.default.createElement("div",c({},st,{ref:$,className:$o}),r.default.createElement("button",c({type:"button"},Ie(R(P({},Ge),{ref:bn.setReference,className:_o,disabled:qe,name:it}))),typeof re=="function"?r.default.createElement("span",{className:Ir},re(et[Ut-1],Ut-1)):ve&&!he?r.default.createElement("span",{className:Ir},ve):r.default.createElement("span",c({},(we=et[Ut-1])===null||we===void 0?void 0:we.props,{className:Ir})),r.default.createElement("div",{className:So},Se??r.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},r.default.createElement("path",{fillRule:"evenodd",d:"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",clipRule:"evenodd"})))),r.default.createElement("label",c({},Te,{className:Ra}),me),r.default.createElement(a.LazyMotion,{features:a.domAnimation},r.default.createElement(Dn,null,ft&&r.default.createElement(r.default.Fragment,null,Pe?r.default.createElement(o.FloatingOverlay,{lockScroll:!0},Dr):Dr)))))});Q.propTypes={variant:n.default.oneOf(T.propTypesVariant),color:n.default.oneOf(T.propTypesColor),size:n.default.oneOf(T.propTypesSize),label:T.propTypesLabel,error:T.propTypesError,success:T.propTypesSuccess,arrow:T.propTypesArrow,value:T.propTypesValue,onChange:T.propTypesOnChange,selected:T.propTypesSelected,offset:T.propTypesOffset,dismiss:T.propTypesDismiss,animate:T.propTypesAnimate,lockScroll:T.propTypesLockScroll,labelProps:T.propTypesLabelProps,menuProps:T.propTypesMenuProps,className:T.propTypesClassName,disabled:T.propTypesDisabled,name:T.propTypesName,children:T.propTypesChildren,containerProps:T.propTypesContainerProps},Q.displayName="MaterialTailwind.Select";var W=Object.assign(Q,{Option:C.SelectOption})})(tk);var nk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Switch:function(){return m},default:function(){return d}});var r=T(k),n=T(Ze),o=T(kl),a=T(at),i=Xe,s=T(qt),f=T(Ye),g=Ke,b=fi;function S(l,c,u){return c in l?Object.defineProperty(l,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[c]=u,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.color,h=l.label,v=l.ripple,y=l.className,E=l.disabled,P=l.containerProps,N=l.circleProps,R=l.labelProps,M=l.inputRef,L=C(l,["color","label","ripple","className","disabled","containerProps","circleProps","labelProps","inputRef"]),D=(0,g.useTheme)(),B=D.switch,H=B.defaultProps,Q=B.valid,W=B.styles,z=W.base,$=W.colors,q=r.default.useId();u=u??H.color,v=v??H.ripple,y=y??H.className,E=E??H.disabled,P=P??H.containerProps,R=R??H.labelProps,N=N??H.circleProps;var Z=v!==void 0&&new o.default,ie=(0,a.default)((0,f.default)(z.root),S({},(0,f.default)(z.disabled),E)),me=(0,i.twMerge)((0,a.default)((0,f.default)(z.container)),P==null?void 0:P.className),ue=(0,i.twMerge)((0,a.default)((0,f.default)(z.input),(0,f.default)($[(0,s.default)(Q.colors,u,"gray")])),y),te=(0,i.twMerge)((0,a.default)((0,f.default)(z.circle),$[(0,s.default)(Q.colors,u,"gray")].circle,$[(0,s.default)(Q.colors,u,"gray")].before),N==null?void 0:N.className),Se=(0,a.default)((0,f.default)(z.ripple)),ve=(0,i.twMerge)((0,a.default)((0,f.default)(z.label)),R==null?void 0:R.className);return r.default.createElement("div",{ref:c,className:ie},r.default.createElement("div",O({},P,{className:me}),r.default.createElement("input",O({},L,{ref:M,type:"checkbox",disabled:E,id:L.id||q,className:ue})),r.default.createElement("label",O({},N,{htmlFor:L.id||q,className:te}),v&&r.default.createElement("div",{className:Se,onMouseDown:function(he){var re=P==null?void 0:P.onMouseDown;return v&&Z.create(he,"dark"),typeof re=="function"&&re(he)}}))),h&&r.default.createElement("label",O({},R,{htmlFor:L.id||q,className:ve}),h))});m.propTypes={color:n.default.oneOf(b.propTypesColor),label:b.propTypesLabel,ripple:b.propTypesRipple,className:b.propTypesClassName,disabled:b.propTypesDisabled,containerProps:b.propTypesObject,labelProps:b.propTypesObject,circleProps:b.propTypesObject},m.displayName="MaterialTailwind.Switch";var d=m})(nk);var ok={},Ml={},gi={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(T,C){for(var w in C)Object.defineProperty(T,w,{enumerable:!0,get:C[w]})}t(e,{propTypesId:function(){return a},propTypesValue:function(){return i},propTypesAnimate:function(){return s},propTypesDisabled:function(){return f},propTypesClassName:function(){return g},propTypesOrientation:function(){return b},propTypesIndicator:function(){return S},propTypesChildren:function(){return O}});var r=o(Ze),n=Vt;function o(T){return T&&T.__esModule?T:{default:T}}var a=r.default.string,i=r.default.oneOfType([r.default.string,r.default.number]).isRequired,s=n.propTypesAnimation,f=r.default.bool,g=r.default.string,b=r.default.oneOf(["horizontal","vertical"]),S=r.default.instanceOf(Object),O=r.default.node.isRequired})(gi);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(P,N){for(var R in N)Object.defineProperty(P,R,{enumerable:!0,get:N[R]})}t(e,{TabsContext:function(){return m},useTabs:function(){return d},TabsContextProvider:function(){return l},setId:function(){return c},setActive:function(){return u},setAnimation:function(){return h},setIndicator:function(){return v},setIsInitial:function(){return y},setOrientation:function(){return E}});var r=s(k),n=gi;function o(P,N){(N==null||N>P.length)&&(N=P.length);for(var R=0,M=new Array(N);R=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.value,u=d.className,h=d.activeClassName,v=d.disabled,y=d.children,E=T(d,["value","className","activeClassName","disabled","children"]),P=(0,s.useTheme)(),N=P.tab,R=N.defaultProps,M=N.styles.base,L=(0,f.useTabs)(),D=L.state,B=L.dispatch,H=D.id,Q=D.active,W=D.indicatorProps;u=u??R.className,h=h??R.activeClassName,v=v??R.disabled;var z,$=(0,a.twMerge)((0,o.default)((0,i.default)(M.tab.initial),(z={},b(z,(0,i.default)(M.tab.disabled),v),b(z,h,Q===c),z)),u),q,Z=(0,a.twMerge)((0,o.default)((0,i.default)(M.indicator)),(q=W==null?void 0:W.className)!==null&&q!==void 0?q:"");return r.default.createElement("li",S({},E,{ref:l,role:"tab",className:$,onClick:function(ie){var me=E==null?void 0:E.onClick;typeof me=="function"&&((0,f.setActive)(B,c),(0,f.setIsInitial)(B,!1),me(ie)),(0,f.setIsInitial)(B,!1),(0,f.setActive)(B,c)},"data-value":c}),r.default.createElement("div",{className:"z-20 text-inherit"},y),Q===c&&r.default.createElement(n.motion.div,S({},W,{transition:{duration:.5},className:Z,layoutId:H})))});w.propTypes={value:g.propTypesValue,className:g.propTypesClassName,disabled:g.propTypesDisabled,children:g.propTypesChildren},w.displayName="MaterialTailwind.Tab";var m=w})(ak);var ik={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{TabsBody:function(){return w},default:function(){return m}});var r=O(k),n=vr,o=O(Sr),a=O(at),i=Xe,s=O(Ye),f=Ke,g=Ml,b=gi;function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.animate,u=d.className,h=d.children,v=T(d,["animate","className","children"]),y=(0,f.useTheme)().tabsBody,E=y.defaultProps,P=y.styles.base,N=(0,g.useTabs)().dispatch;u=u??E.className,c=c??E.animate;var R=(0,i.twMerge)((0,a.default)((0,s.default)(P)),u),M=r.default.useMemo(function(){return{initial:{opacity:0,position:"absolute",top:"0",left:"0",zIndex:1,transition:{duration:0}},unmount:{opacity:0,position:"absolute",top:"0",left:"0",zIndex:1,transition:{duration:.5,times:[.4,0,.2,1]}},mount:{opacity:1,position:"relative",zIndex:2,transition:{duration:.5,times:[.4,0,.2,1]}}}},[]),L=r.default.useMemo(function(){return(0,o.default)(M,c)},[c,M]);return(0,n.useIsomorphicLayoutEffect)(function(){(0,g.setAnimation)(N,L)},[L,N]),r.default.createElement("div",S({},v,{ref:l,className:R}),h)});w.propTypes={animate:b.propTypesAnimate,className:b.propTypesClassName,children:b.propTypesChildren},w.displayName="MaterialTailwind.TabsBody";var m=w})(ik);var lk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{TabsHeader:function(){return C},default:function(){return w}});var r=S(k),n=S(at),o=Xe,a=S(Ye),i=Ke,s=Ml,f=gi;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function T(m,d){if(m==null)return{};var l={},c=Object.keys(m),u,h;for(h=0;h=0)&&(l[u]=m[u]);return l}var C=r.default.forwardRef(function(m,d){var l=m.indicatorProps,c=m.className,u=m.children,h=O(m,["indicatorProps","className","children"]),v=(0,i.useTheme)().tabsHeader,y=v.defaultProps,E=v.styles,P=(0,s.useTabs)(),N=P.state,R=P.dispatch,M=N.orientation;r.default.useEffect(function(){(0,s.setIndicator)(R,l)},[R,l]),c=c??y.className;var L=(0,o.twMerge)((0,n.default)((0,a.default)(E.base),g({},E[M]&&(0,a.default)(E[M]),M)),c);return r.default.createElement("nav",null,r.default.createElement("ul",b({},h,{ref:d,role:"tablist",className:L}),u))});C.propTypes={indicatorProps:f.propTypesIndicator,className:f.propTypesClassName,children:f.propTypesChildren},C.displayName="MaterialTailwind.TabsHeader";var w=C})(lk);var sk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{TabPanel:function(){return C},default:function(){return w}});var r=S(k),n=vr,o=S(at),a=Xe,i=S(Ye),s=Ke,f=Ml,g=gi;function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function T(m,d){if(m==null)return{};var l={},c=Object.keys(m),u,h;for(h=0;h=0)&&(l[u]=m[u]);return l}var C=r.default.forwardRef(function(m,d){var l=m.value,c=m.className,u=m.children,h=O(m,["value","className","children"]),v=(0,s.useTheme)().tabPanel,y=v.defaultProps,E=v.styles.base,P=(0,f.useTabs)().state,N=P.active,R=P.appliedAnimation,M=P.isInitial;c=c??y.className;var L=(0,a.twMerge)((0,o.default)((0,i.default)(E)),c),D=n.AnimatePresence;return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(D,{exitBeforeEnter:!0},r.default.createElement(n.m.div,b({},h,{ref:d,role:"tabpanel",className:L,initial:"unmount",exit:"unmount",animate:N===l?"mount":M?"initial":"unmount",variants:R,"data-value":l}),u)))});C.propTypes={value:g.propTypesValue,className:g.propTypesClassName,children:g.propTypesChildren},C.displayName="MaterialTailwind.TabPanel";var w=C})(sk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(u,h){for(var v in h)Object.defineProperty(u,v,{enumerable:!0,get:h[v]})}t(e,{Tabs:function(){return l},Tab:function(){return f.Tab},TabsBody:function(){return g.TabsBody},TabsHeader:function(){return b.TabsHeader},TabPanel:function(){return S.TabPanel},useTabs:function(){return s.useTabs},default:function(){return c}});var r=w(k),n=w(at),o=Xe,a=w(Ye),i=Ke,s=Ml,f=ak,g=ik,b=lk,S=sk,O=gi;function T(u,h,v){return h in u?Object.defineProperty(u,h,{value:v,enumerable:!0,configurable:!0,writable:!0}):u[h]=v,u}function C(){return C=Object.assign||function(u){for(var h=1;h=0)&&Object.prototype.propertyIsEnumerable.call(u,y)&&(v[y]=u[y])}return v}function d(u,h){if(u==null)return{};var v={},y=Object.keys(u),E,P;for(P=0;P=0)&&(v[E]=u[E]);return v}var l=r.default.forwardRef(function(u,h){var v=u.value,y=u.className,E=u.orientation,P=u.children,N=m(u,["value","className","orientation","children"]),R=(0,i.useTheme)().tabs,M=R.defaultProps,L=R.styles,D=r.default.useId();y=y??M.className,E=E??M.orientation;var B=(0,o.twMerge)((0,n.default)((0,a.default)(L.base),T({},L[E]&&(0,a.default)(L[E]),E)),y);return r.default.createElement(s.TabsContextProvider,{id:D,value:v,orientation:E},r.default.createElement("div",C({},N,{ref:h,className:B}),P))});l.propTypes={id:O.propTypesId,value:O.propTypesValue,className:O.propTypesClassName,orientation:O.propTypesOrientation,children:O.propTypesChildren},l.displayName="MaterialTailwind.Tabs";var c=Object.assign(l,{Tab:f.Tab,Body:g.TabsBody,Header:b.TabsHeader,Panel:S.TabPanel})})(ok);var uk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{Textarea:function(){return C},default:function(){return w}});var r=S(k),n=S(Ze),o=S(at),a=S(qt),i=S(Ye),s=Ke,f=du;function g(m,d,l){return d in m?Object.defineProperty(m,d,{value:l,enumerable:!0,configurable:!0,writable:!0}):m[d]=l,m}function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function T(m,d){if(m==null)return{};var l={},c=Object.keys(m),u,h;for(h=0;h=0)&&(l[u]=m[u]);return l}var C=r.default.forwardRef(function(m,d){var l=m.variant,c=m.color,u=m.size,h=m.label,v=m.error,y=m.success,E=m.resize,P=m.labelProps,N=m.containerProps,R=m.shrink,M=m.className,L=O(m,["variant","color","size","label","error","success","resize","labelProps","containerProps","shrink","className"]),D=(0,s.useTheme)().textarea,B=D.defaultProps,H=D.valid,Q=D.styles,W=Q.base,z=Q.variants;l=l??B.variant,u=u??B.size,c=c??B.color,h=h??B.label,P=P??B.labelProps,N=N??B.containerProps,R=R??B.shrink,M=M??B.className;var $=z[(0,a.default)(H.variants,l,"outlined")],q=(0,i.default)($.error.textarea),Z=(0,i.default)($.success.textarea),ie=(0,i.default)($.shrink.textarea),me=(0,i.default)($.colors.textarea[(0,a.default)(H.colors,c,"gray")]),ue=(0,i.default)($.error.label),te=(0,i.default)($.success.label),Se=(0,i.default)($.shrink.label),ve=(0,i.default)($.colors.label[(0,a.default)(H.colors,c,"gray")]),he=(0,o.default)((0,i.default)(W.container),N==null?void 0:N.className),re=(0,o.default)((0,i.default)(W.textarea),(0,i.default)($.base.textarea),(0,i.default)($.sizes[(0,a.default)(H.sizes,u,"md")].textarea),g({},me,!v&&!y),g({},q,v),g({},Z,y),g({},ie,R),E?"":"!resize-none",M),ge=(0,o.default)((0,i.default)(W.label),(0,i.default)($.base.label),(0,i.default)($.sizes[(0,a.default)(H.sizes,u,"md")].label),g({},ve,!v&&!y),g({},ue,v),g({},te,y),g({},Se,R),P==null?void 0:P.className);return r.default.createElement("div",{ref:d,className:he},r.default.createElement("textarea",b({},L,{className:re,placeholder:(L==null?void 0:L.placeholder)||" "})),r.default.createElement("label",{className:ge},h))});C.propTypes={variant:n.default.oneOf(f.propTypesVariant),size:n.default.oneOf(f.propTypesSize),color:n.default.oneOf(f.propTypesColor),label:f.propTypesLabel,error:f.propTypesError,success:f.propTypesSuccess,resize:f.propTypesResize,labelProps:f.propTypesLabelProps,containerProps:f.propTypesContainerProps,shrink:f.propTypesShrink,className:f.propTypesClassName},C.displayName="MaterialTailwind.Textarea";var w=C})(uk);var ck={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(M,L){for(var D in L)Object.defineProperty(M,D,{enumerable:!0,get:L[D]})}t(e,{Tooltip:function(){return N},default:function(){return R}});var r=m(k),n=m(Ze),o=fr,a=vr,i=m(at),s=Xe,f=m(Sr),g=m(Ye),b=Ke,S=Al;function O(M,L){(L==null||L>M.length)&&(L=M.length);for(var D=0,B=new Array(L);D=0)&&Object.prototype.propertyIsEnumerable.call(M,B)&&(D[B]=M[B])}return D}function y(M,L){if(M==null)return{};var D={},B=Object.keys(M),H,Q;for(Q=0;Q=0)&&(D[H]=M[H]);return D}function E(M,L){return T(M)||d(M,L)||P(M,L)||l()}function P(M,L){if(M){if(typeof M=="string")return O(M,L);var D=Object.prototype.toString.call(M).slice(8,-1);if(D==="Object"&&M.constructor&&(D=M.constructor.name),D==="Map"||D==="Set")return Array.from(D);if(D==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(D))return O(M,L)}}var N=r.default.forwardRef(function(M,L){var D=M.open,B=M.handler,H=M.content,Q=M.interactive,W=M.placement,z=M.offset,$=M.dismiss,q=M.animate,Z=M.className,ie=M.children,me=v(M,["open","handler","content","interactive","placement","offset","dismiss","animate","className","children"]),ue=(0,b.useTheme)().tooltip,te=ue.defaultProps,Se=ue.styles.base,ve=E(r.default.useState(!1),2),he=ve[0],re=ve[1];D=D??he,B=B??re,Q=Q??te.interactive,W=W??te.placement,z=z??te.offset,$=$??te.dismiss,q=q??te.animate,Z=Z??te.className;var ge=(0,s.twMerge)((0,i.default)((0,g.default)(Se)),Z),Ce={unmount:{opacity:0},mount:{opacity:1}},Ne=(0,f.default)(Ce,q),Pe=(0,o.useFloating)({open:D,onOpenChange:B,middleware:[(0,o.offset)(z),(0,o.flip)(),(0,o.shift)()],placement:W}),Te=Pe.x,je=Pe.y,ze=Pe.reference,qe=Pe.floating,it=Pe.strategy,et=Pe.refs,st=Pe.update,Ge=Pe.context,we=(0,o.useInteractions)([(0,o.useClick)(Ge,{enabled:Q}),(0,o.useFocus)(Ge),(0,o.useHover)(Ge),(0,o.useRole)(Ge,{role:"tooltip"}),(0,o.useDismiss)(Ge,$)]),Ee=we.getReferenceProps,ke=we.getFloatingProps;r.default.useEffect(function(){if(et.reference.current&&et.floating.current&&D)return(0,o.autoUpdate)(et.reference.current,et.floating.current,st)},[D,st,et.reference,et.floating]);var De=(0,o.useMergeRefs)([L,qe]),de=(0,o.useMergeRefs)([L,ze]),Ae=a.AnimatePresence;return r.default.createElement(r.default.Fragment,null,typeof ie=="string"?r.default.createElement("span",w({},Ee({ref:de})),ie):r.default.cloneElement(ie,c({},Ee(h(c({},ie==null?void 0:ie.props),{ref:de})))),r.default.createElement(a.LazyMotion,{features:a.domAnimation},r.default.createElement(o.FloatingPortal,null,r.default.createElement(Ae,null,D&&r.default.createElement(a.m.div,w({},ke(h(c({},me),{ref:De,className:ge,style:{position:it,top:je??"",left:Te??""}})),{initial:"unmount",exit:"unmount",animate:D?"mount":"unmount",variants:Ne}),H)))))});N.propTypes={open:S.propTypesOpen,handler:S.propTypesHandler,content:S.propTypesContent,interactive:S.propTypesInteractive,placement:n.default.oneOf(S.propTypesPlacement),offset:S.propTypesOffset,dismiss:S.propTypesDismiss,animate:S.propTypesAnimate,className:S.propTypesClassName,children:S.propTypesChildren},N.displayName="MaterialTailwind.Tooltip";var R=N})(ck);var dk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(c,u){for(var h in u)Object.defineProperty(c,h,{enumerable:!0,get:u[h]})}t(e,{Typography:function(){return d},default:function(){return l}});var r=S(k),n=S(Ze),o=S(at),a=Xe,i=S(qt),s=S(Ye),f=Ke,g=Om;function b(c,u,h){return u in c?Object.defineProperty(c,u,{value:h,enumerable:!0,configurable:!0,writable:!0}):c[u]=h,c}function S(c){return c&&c.__esModule?c:{default:c}}function O(c){for(var u=1;u=0)&&Object.prototype.propertyIsEnumerable.call(c,v)&&(h[v]=c[v])}return h}function m(c,u){if(c==null)return{};var h={},v=Object.keys(c),y,E;for(E=0;E=0)&&(h[y]=c[y]);return h}var d=r.default.forwardRef(function(c,u){var h=c.variant,v=c.color,y=c.textGradient,E=c.as,P=c.className,N=c.children,R=w(c,["variant","color","textGradient","as","className","children"]),M=(0,f.useTheme)().typography,L=M.defaultProps,D=M.valid,B=M.styles,H=B.variants,Q=B.colors,W=B.textGradient;h=h??L.variant,v=v??L.color,y=y||L.textGradient,E=E??void 0,P=P??L.className;var z=(0,s.default)(H[(0,i.default)(D.variants,h,"paragraph")]),$=Q[(0,i.default)(D.colors,v,"inherit")],q=(0,s.default)(W),Z=(0,a.twMerge)((0,o.default)(z,b({},$.color,!y),b({},q,y),b({},$.gradient,y)),P),ie;switch(h){case"h1":ie=r.default.createElement(E||"h1",C(O({},R),{ref:u,className:Z}),N);break;case"h2":ie=r.default.createElement(E||"h2",C(O({},R),{ref:u,className:Z}),N);break;case"h3":ie=r.default.createElement(E||"h3",C(O({},R),{ref:u,className:Z}),N);break;case"h4":ie=r.default.createElement(E||"h4",C(O({},R),{ref:u,className:Z}),N);break;case"h5":ie=r.default.createElement(E||"h5",C(O({},R),{ref:u,className:Z}),N);break;case"h6":ie=r.default.createElement(E||"h6",C(O({},R),{ref:u,className:Z}),N);break;case"lead":ie=r.default.createElement(E||"p",C(O({},R),{ref:u,className:Z}),N);break;case"paragraph":ie=r.default.createElement(E||"p",C(O({},R),{ref:u,className:Z}),N);break;case"small":ie=r.default.createElement(E||"p",C(O({},R),{ref:u,className:Z}),N);break;default:ie=r.default.createElement(E||"p",C(O({},R),{ref:u,className:Z}),N);break}return ie});d.propTypes={variant:n.default.oneOf(g.propTypesVariant),color:n.default.oneOf(g.propTypesColor),as:g.propTypesAs,textGradient:g.propTypesTextGradient,className:g.propTypesClassName,children:g.propTypesChildren},d.displayName="MaterialTailwind.Typography";var l=d})(dk);var fk={},pk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(g,b){for(var S in b)Object.defineProperty(g,S,{enumerable:!0,get:b[S]})}t(e,{propTypesClassName:function(){return a},propTypesChildren:function(){return i},propTypesOpen:function(){return s},propTypesAnimate:function(){return f}});var r=o(Ze),n=Vt;function o(g){return g&&g.__esModule?g:{default:g}}var a=r.default.string,i=r.default.node.isRequired,s=r.default.bool.isRequired,f=n.propTypesAnimation})(pk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{Collapse:function(){return w},default:function(){return m}});var r=O(k),n=vr,o=fr,a=O(Sr),i=O(at),s=Xe,f=O(Ye),g=Ke,b=pk;function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.open,u=d.animate,h=d.className,v=d.children,y=T(d,["open","animate","className","children"]),E=r.default.useRef(null),P=(0,g.useTheme)().collapse,N=P.styles,R=N.base;u=u??{},h=h??"";var M=(0,s.twMerge)((0,i.default)((0,f.default)(R)),h),L={unmount:{height:"0px",transition:{duration:.3,times:[.4,0,.2,1]}},mount:{height:"auto",transition:{duration:.3,times:[.4,0,.2,1]}}},D=(0,a.default)(L,u),B=n.AnimatePresence,H=(0,o.useMergeRefs)([l,E]);return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(B,null,r.default.createElement(n.m.div,S({},y,{ref:H,className:M,initial:"unmount",exit:"unmount",animate:c?"mount":"unmount",variants:D}),v)))});w.displayName="MaterialTailwind.Collapse",w.propTypes={open:b.propTypesOpen,animate:b.propTypesAnimate,className:b.propTypesClassName,children:b.propTypesChildren};var m=w})(fk);var hk={},_u={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(g,b){for(var S in b)Object.defineProperty(g,S,{enumerable:!0,get:b[S]})}t(e,{propTypesClassName:function(){return o},propTypesDisabled:function(){return a},propTypesSelected:function(){return i},propTypesRipple:function(){return s},propTypesChildren:function(){return f}});var r=n(Ze);function n(g){return g&&g.__esModule?g:{default:g}}var o=r.default.string,a=r.default.bool,i=r.default.bool,s=r.default.bool,f=r.default.node.isRequired})(_u);var gk={},fb={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{ListItemPrefix:function(){return O},default:function(){return T}});var r=g(k),n=Ke,o=g(at),a=Xe,i=g(Ye),s=_u;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function S(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,n.useTheme)().list,u=c.styles.base,h=(0,a.twMerge)((0,o.default)((0,i.default)(u.itemPrefix)),m);return r.default.createElement("div",f({},l,{ref:w,className:h}),d)});O.propTypes={className:s.propTypesClassName,children:s.propTypesChildren},O.displayName="MaterialTailwind.ListItemPrefix";var T=O})(fb);var pb={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{ListItemSuffix:function(){return O},default:function(){return T}});var r=g(k),n=Ke,o=g(at),a=Xe,i=g(Ye),s=_u;function f(){return f=Object.assign||function(C){for(var w=1;w=0)&&Object.prototype.propertyIsEnumerable.call(C,d)&&(m[d]=C[d])}return m}function S(C,w){if(C==null)return{};var m={},d=Object.keys(C),l,c;for(c=0;c=0)&&(m[l]=C[l]);return m}var O=r.default.forwardRef(function(C,w){var m=C.className,d=C.children,l=b(C,["className","children"]),c=(0,n.useTheme)().list,u=c.styles.base,h=(0,a.twMerge)((0,o.default)((0,i.default)(u.itemSuffix)),m);return r.default.createElement("div",f({},l,{ref:w,className:h}),d)});O.propTypes={className:s.propTypesClassName,children:s.propTypesChildren},O.displayName="MaterialTailwind.ListItemSuffix";var T=O})(pb);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{ListItem:function(){return m},ListItemPrefix:function(){return g.ListItemPrefix},ListItemSuffix:function(){return b.ListItemSuffix},default:function(){return d}});var r=T(k),n=Ke,o=T(kl),a=T(at),i=Xe,s=T(Ye),f=_u,g=fb,b=pb;function S(l,c,u){return c in l?Object.defineProperty(l,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[c]=u,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.className,h=l.disabled,v=l.selected,y=l.ripple,E=l.children,P=C(l,["className","disabled","selected","ripple","children"]),N=(0,n.useTheme)().list,R=N.defaultProps,M=N.styles.base;y=y??R.ripple;var L=y!==void 0&&new o.default,D,B=(0,i.twMerge)((0,a.default)((0,s.default)(M.item.initial),(D={},S(D,(0,s.default)(M.item.disabled),h),S(D,(0,s.default)(M.item.selected),v&&!h),D)),u);return r.default.createElement("div",O({},P,{ref:c,role:"button",tabIndex:0,className:B,onMouseDown:function(H){var Q=P==null?void 0:P.onMouseDown;return y&&L.create(H,"dark"),typeof Q=="function"&&Q(H)}}),E)});m.propTypes={className:f.propTypesClassName,selected:f.propTypesSelected,disabled:f.propTypesDisabled,ripple:f.propTypesRipple,children:f.propTypesChildren},m.displayName="MaterialTailwind.ListItem";var d=Object.assign(m,{Prefix:g.ListItemPrefix,Suffix:b.ListItemSuffix})})(gk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{List:function(){return w},ListItem:function(){return f.ListItem},ListItemPrefix:function(){return g.ListItemPrefix},ListItemSuffix:function(){return b.ListItemSuffix},default:function(){return m}});var r=O(k),n=Ke,o=O(at),a=Xe,i=O(Ye),s=_u,f=gk,g=fb,b=pb;function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.className,u=d.children,h=T(d,["className","children"]),v=(0,n.useTheme)().list,y=v.defaultProps,E=v.styles.base;c=c??y.className;var P=(0,a.twMerge)((0,o.default)((0,i.default)(E.list)),c);return r.default.createElement("nav",S({},h,{ref:l,className:P}),u)});w.propTypes={className:s.propTypesClassName,children:s.propTypesChildren},w.displayName="MaterialTailwind.List";var m=Object.assign(w,{Item:f.ListItem,ItemPrefix:g.ListItemPrefix,ItemSuffix:b.ListItemSuffix})})(hk);var mk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(d,l){for(var c in l)Object.defineProperty(d,c,{enumerable:!0,get:l[c]})}t(e,{ButtonGroup:function(){return w},default:function(){return m}});var r=O(k),n=O(Ze),o=O(at),a=Xe,i=O(qt),s=O(Ye),f=Ke,g=ci;function b(d,l,c){return l in d?Object.defineProperty(d,l,{value:c,enumerable:!0,configurable:!0,writable:!0}):d[l]=c,d}function S(){return S=Object.assign||function(d){for(var l=1;l=0)&&Object.prototype.propertyIsEnumerable.call(d,u)&&(c[u]=d[u])}return c}function C(d,l){if(d==null)return{};var c={},u=Object.keys(d),h,v;for(v=0;v=0)&&(c[h]=d[h]);return c}var w=r.default.forwardRef(function(d,l){var c=d.variant,u=d.size,h=d.color,v=d.fullWidth,y=d.ripple,E=d.className,P=d.children,N=T(d,["variant","size","color","fullWidth","ripple","className","children"]),R=(0,f.useTheme)().buttonGroup,M=R.defaultProps,L=R.styles,D=R.valid,B=L.base,H=L.dividerColor;c=c??M.variant,u=u??M.size,h=h??M.color,y=y??M.ripple,v=v??M.fullWidth,E=E??M.className;var Q,W=(0,a.twMerge)((0,o.default)((0,s.default)(B.initial),(Q={},b(Q,(0,s.default)(B.fullWidth),v),b(Q,"divide-x",c!=="outlined"),b(Q,(0,s.default)(H[(0,i.default)(D.colors,h,"gray")]),c!=="outlined"),Q)),E);return r.default.createElement("div",S({},N,{ref:l,className:W}),r.default.Children.map(P,function(z,$){var q;return r.default.isValidElement(z)&&r.default.cloneElement(z,{variant:c,size:u,color:h,ripple:y,fullWidth:v,className:(0,a.twMerge)((0,o.default)({"rounded-r-none":$!==r.default.Children.count(P)-1,"border-r-0":$!==r.default.Children.count(P)-1,"rounded-l-none":$!==0}),(q=z.props)===null||q===void 0?void 0:q.className)})}))});w.propTypes={variant:n.default.oneOf(g.propTypesVariant),size:n.default.oneOf(g.propTypesSize),color:n.default.oneOf(g.propTypesColor),fullWidth:g.propTypesFullWidth,ripple:g.propTypesRipple,className:g.propTypesClassName,children:g.propTypesChildren},w.displayName="MaterialTailwind.ButtonGroup";var m=w})(mk);var bk={},vk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(C,w){for(var m in w)Object.defineProperty(C,m,{enumerable:!0,get:w[m]})}t(e,{propTypesClassName:function(){return o},propTypesPrevArrow:function(){return a},propTypesNextArrow:function(){return i},propTypesNavigation:function(){return s},propTypesAutoplay:function(){return f},propTypesAutoplayDelay:function(){return g},propTypesTransition:function(){return b},propTypesLoop:function(){return S},propTypesChildren:function(){return O},propTypesSlideRef:function(){return T}});var r=n(Ze);function n(C){return C&&C.__esModule?C:{default:C}}var o=r.default.string,a=r.default.func,i=r.default.func,s=r.default.func,f=r.default.bool,g=r.default.number,b=r.default.object,S=r.default.bool,O=r.default.node.isRequired,T=r.default.oneOfType([r.default.func,r.default.shape({current:r.default.any})])})(vk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(v,y){for(var E in y)Object.defineProperty(v,E,{enumerable:!0,get:y[E]})}t(e,{Carousel:function(){return u},default:function(){return h}});var r=T(k),n=vr,o=fr,a=T(at),i=Xe,s=T(Ye),f=Ke,g=vk;function b(v,y){(y==null||y>v.length)&&(y=v.length);for(var E=0,P=new Array(y);E=0)&&Object.prototype.propertyIsEnumerable.call(v,P)&&(E[P]=v[P])}return E}function d(v,y){if(v==null)return{};var E={},P=Object.keys(v),N,R;for(R=0;R=0)&&(E[N]=v[N]);return E}function l(v,y){return S(v)||C(v,y)||c(v,y)||w()}function c(v,y){if(v){if(typeof v=="string")return b(v,y);var E=Object.prototype.toString.call(v).slice(8,-1);if(E==="Object"&&v.constructor&&(E=v.constructor.name),E==="Map"||E==="Set")return Array.from(E);if(E==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(E))return b(v,y)}}var u=r.default.forwardRef(function(v,y){var E=v.children,P=v.prevArrow,N=v.nextArrow,R=v.navigation,M=v.autoplay,L=v.autoplayDelay,D=v.transition,B=v.loop,H=v.className,Q=v.slideRef,W=m(v,["children","prevArrow","nextArrow","navigation","autoplay","autoplayDelay","transition","loop","className","slideRef"]),z=(0,f.useTheme)().carousel,$=z.defaultProps,q=z.styles.base,Z=(0,n.useMotionValue)(0),ie=r.default.useRef(null),me=l(r.default.useState(0),2),ue=me[0],te=me[1],Se=r.default.Children.toArray(E);H=H??$.className,P=P??$.prevArrow,N=N??$.nextArrow,R=R??$.navigation,M=M??$.autoplay,L=L??$.autoplayDelay,D=D??$.transition,B=B??$.loop;var ve=(0,i.twMerge)((0,a.default)((0,s.default)(q.carousel)),H),he=(0,i.twMerge)((0,a.default)((0,s.default)(q.slide))),re=r.default.useCallback(function(){var Pe;return-ue*(((Pe=ie.current)===null||Pe===void 0?void 0:Pe.clientWidth)||0)},[ue]),ge=r.default.useCallback(function(){var Pe=B?0:ue;te(ue+1===Se.length?Pe:ue+1)},[ue,B,Se.length]),Ce=function(){var Pe=B?Se.length-1:0;te(ue-1<0?Pe:ue-1)};r.default.useEffect(function(){var Pe=(0,n.animate)(Z,re(),D);return Pe.stop},[re,ue,Z,D]),r.default.useEffect(function(){window.addEventListener("resize",function(){(0,n.animate)(Z,re(),D)})},[re,D,Z]),r.default.useEffect(function(){if(M){var Pe=setInterval(function(){return ge()},L);return function(){return clearInterval(Pe)}}},[M,ge,L]);var Ne=(0,o.useMergeRefs)([ie,y]);return r.default.createElement("div",O({},W,{ref:Ne,className:ve}),Se.map(function(Pe,Te){return r.default.createElement(n.LazyMotion,{key:Te,features:n.domAnimation},r.default.createElement(n.m.div,{ref:Q,className:he,style:{x:Z,left:"".concat(Te*100,"%"),right:"".concat(Te*100,"%")}},Pe))}),P&&P({loop:B,handlePrev:Ce,activeIndex:ue,firstIndex:ue===0}),N&&N({loop:B,handleNext:ge,activeIndex:ue,lastIndex:ue===Se.length-1}),R&&R({setActiveIndex:te,activeIndex:ue,length:Se.length}))});u.propTypes={className:g.propTypesClassName,children:g.propTypesChildren,nextArrow:g.propTypesNextArrow,prevArrow:g.propTypesPrevArrow,navigation:g.propTypesNavigation,autoplay:g.propTypesAutoplay,autoplayDelay:g.propTypesAutoplayDelay,transition:g.propTypesTransition,loop:g.propTypesLoop,slideRef:g.propTypesSlideRef},u.displayName="MaterialTailwind.Carousel";var h=u})(bk);var yk={},xk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{propTypesOpen:function(){return a},propTypesSize:function(){return i},propTypesOverlay:function(){return s},propTypesChildren:function(){return f},propTypesPlacement:function(){return g},propTypesOverlayProps:function(){return b},propTypesClassName:function(){return S},propTypesOnClose:function(){return O},propTypesDismiss:function(){return T},propTypesTransition:function(){return C},propTypesOverlayRef:function(){return w}});var r=o(Ze),n=Vt;function o(m){return m&&m.__esModule?m:{default:m}}var a=r.default.bool.isRequired,i=r.default.number,s=r.default.bool,f=r.default.node.isRequired,g=["top","right","bottom","left"],b=r.default.object,S=r.default.string,O=r.default.func,T=n.propTypesDismissType,C=r.default.object,w=r.default.oneOfType([r.default.func,r.default.shape({current:r.default.any})])})(xk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(u,h){for(var v in h)Object.defineProperty(u,v,{enumerable:!0,get:h[v]})}t(e,{Drawer:function(){return l},default:function(){return c}});var r=C(k),n=C(Ze),o=vr,a=fr,i=C(Sr),s=C(at),f=Xe,g=C(Ye),b=Ke,S=xk;function O(u,h,v){return h in u?Object.defineProperty(u,h,{value:v,enumerable:!0,configurable:!0,writable:!0}):u[h]=v,u}function T(){return T=Object.assign||function(u){for(var h=1;h=0)&&Object.prototype.propertyIsEnumerable.call(u,y)&&(v[y]=u[y])}return v}function d(u,h){if(u==null)return{};var v={},y=Object.keys(u),E,P;for(P=0;P=0)&&(v[E]=u[E]);return v}var l=r.default.forwardRef(function(u,h){var v=u.open,y=u.size,E=u.overlay,P=u.children,N=u.placement,R=u.overlayProps,M=u.className,L=u.onClose,D=u.dismiss,B=u.transition,H=u.overlayRef,Q=m(u,["open","size","overlay","children","placement","overlayProps","className","onClose","dismiss","transition","overlayRef"]),W=(0,b.useTheme)().drawer,z=W.defaultProps,$=W.styles.base,q=(0,o.useAnimation)();y=y??z.size,E=E??z.overlay,N=N??z.placement,M=M??z.className,R=R??z.overlayProps,L=L??z.onClose;var Z;D=(Z=(0,i.default)(z.dismiss,D||{}))!==null&&Z!==void 0?Z:z.dismiss,B=B??z.transition;var ie=(0,f.twMerge)((0,s.default)((0,g.default)($.drawer),{"top-0 right-0":N==="right","bottom-0 left-0":N==="bottom","top-0 left-0":N==="top"||N==="left"}),M),me=(0,f.twMerge)((0,s.default)((0,g.default)($.overlay)),R==null?void 0:R.className),ue=(0,a.useFloating)({open:v,onOpenChange:L}).context,te=(0,a.useInteractions)([(0,a.useDismiss)(ue,D)]).getFloatingProps;r.default.useEffect(function(){q.start(v?"open":"close")},[v,q,N]);var Se={open:{x:0,y:0},close:{x:N==="left"?-y:N==="right"?y:0,y:N==="top"?-y:N==="bottom"?y:0}},ve={unmount:{opacity:0,transition:{delay:.3}},mount:{opacity:1}};return r.default.createElement(r.default.Fragment,null,r.default.createElement(o.LazyMotion,{features:o.domAnimation},r.default.createElement(o.AnimatePresence,null,E&&v&&r.default.createElement(o.m.div,{ref:H,className:me,initial:"unmount",exit:"unmount",animate:v?"mount":"unmount",variants:ve,transition:{duration:.3}})),r.default.createElement(o.m.div,T({},te(w({ref:h},Q)),{className:ie,style:{maxWidth:N==="left"||N==="right"?y:"100%",maxHeight:N==="top"||N==="bottom"?y:"100%",height:N==="left"||N==="right"?"100vh":"100%"},initial:"close",animate:q,variants:Se,transition:B}),P)))});l.propTypes={open:S.propTypesOpen,size:S.propTypesSize,overlay:S.propTypesOverlay,children:S.propTypesChildren,placement:n.default.oneOf(S.propTypesPlacement),overlayProps:S.propTypesOverlayProps,className:S.propTypesClassName,onClose:S.propTypesOnClose,dismiss:S.propTypesDismiss,transition:S.propTypesTransition,overlayRef:S.propTypesOverlayRef},l.displayName="MaterialTailwind.Drawer";var c=l})(yk);var wk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Badge:function(){return m},default:function(){return d}});var r=T(k),n=T(Ze),o=T(Sr),a=T(at),i=Xe,s=T(qt),f=T(Ye),g=Ke,b=Pm;function S(l,c,u){return c in l?Object.defineProperty(l,c,{value:u,enumerable:!0,configurable:!0,writable:!0}):l[c]=u,l}function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.color,h=l.invisible,v=l.withBorder,y=l.overlap,E=l.placement,P=l.className,N=l.content,R=l.children,M=l.containerProps,L=l.containerRef,D=C(l,["color","invisible","withBorder","overlap","placement","className","content","children","containerProps","containerRef"]),B=(0,g.useTheme)().badge,H=B.valid,Q=B.defaultProps,W=B.styles,z=W.base,$=W.placements,q=W.colors;u=u??Q.color,h=h??Q.invisible,v=v??Q.withBorder,y=y??Q.overlap,E=E??Q.placement;var Z;P=(Z=(0,a.default)(P,Q.className))!==null&&Z!==void 0?Z:Q.className;var ie;M=(ie=(0,o.default)(M,Q.containerProps||{}))!==null&&ie!==void 0?ie:Q.containerProps;var me=(0,f.default)(z.badge.initial),ue=(0,f.default)(z.badge.withBorder),te=(0,f.default)(z.badge.withContent),Se=(0,f.default)(q[(0,s.default)(H.colors,u,"red")]),ve=(0,f.default)($[(0,s.default)(H.placements,E,"top-end")][(0,s.default)(H.overlaps,y,"square")]),he,re=(0,i.twMerge)((0,a.default)(me,ve,Se,(he={},S(he,ue,v),S(he,te,N),he)),P),ge=(0,i.twMerge)((0,a.default)((0,f.default)(z.container),M==null?void 0:M.className));return r.default.createElement("div",O({ref:L},M,{className:ge}),R,!h&&r.default.createElement("span",O({},D,{ref:c,className:re}),N))});m.propTypes={color:n.default.oneOf(b.propTypesColor),invisible:b.propTypesInvisible,withBorder:b.propTypesWithBorder,overlap:n.default.oneOf(b.propTypesOverlap),className:b.propTypesClassName,content:b.propTypesContent,children:b.propTypesChildren,placement:n.default.oneOf(b.propTypesPlacement),containerProps:b.propTypesContainerProps,containerRef:b.propTypesContainerRef},m.displayName="MaterialTailwind.Badge";var d=m})(wk);var _k={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(N,R){for(var M in R)Object.defineProperty(N,M,{enumerable:!0,get:R[M]})}t(e,{Rating:function(){return E},default:function(){return P}});var r=C(k),n=C(Ze),o=C(at),a=Xe,i=C(qt),s=C(Ye),f=Ke,g=km;function b(N,R){(R==null||R>N.length)&&(R=N.length);for(var M=0,L=new Array(R);M=0)&&Object.prototype.propertyIsEnumerable.call(N,L)&&(M[L]=N[L])}return M}function u(N,R){if(N==null)return{};var M={},L=Object.keys(N),D,B;for(B=0;B=0)&&(M[D]=N[D]);return M}function h(N,R){return S(N)||m(N,R)||y(N,R)||d()}function v(N){return O(N)||w(N)||y(N)||l()}function y(N,R){if(N){if(typeof N=="string")return b(N,R);var M=Object.prototype.toString.call(N).slice(8,-1);if(M==="Object"&&N.constructor&&(M=N.constructor.name),M==="Map"||M==="Set")return Array.from(M);if(M==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(M))return b(N,R)}}var E=r.default.forwardRef(function(N,R){var M=N.count,L=N.value,D=N.ratedIcon,B=N.unratedIcon,H=N.ratedColor,Q=N.unratedColor,W=N.className,z=N.onChange,$=N.readonly,q=c(N,["count","value","ratedIcon","unratedIcon","ratedColor","unratedColor","className","onChange","readonly"]),Z,ie,me=(0,f.useTheme)().rating,ue=me.valid,te=me.defaultProps,Se=me.styles,ve=Se.base,he=Se.colors;M=M??te.count,L=L??te.value,D=D??te.ratedIcon,D=D??te.ratedIcon,B=B??te.unratedIcon,H=H??te.ratedColor,Q=Q??te.unratedColor,W=W??te.className,z=z??te.onChange,$=$??te.readonly;var re=h(r.default.useState(function(){return v(Array(L).fill("rated")).concat(v(Array(M-L).fill("un_rated")))}),2),ge=re[0],Ce=re[1],Ne=h(r.default.useState(function(){return v(Array(M).fill("un_rated"))}),2),Pe=Ne[0],Te=Ne[1],je=h(r.default.useState(!1),2),ze=je[0],qe=je[1],it=(0,s.default)(he[(0,i.default)(ue.colors,H,"yellow")]),et=(0,s.default)(he[(0,i.default)(ue.colors,Q,"blue-gray")]),st=(0,a.twMerge)((0,o.default)((0,s.default)(ve.rating),W)),Ge=(0,s.default)(ve.icon),we=D,Ee=B,ke=r.default.isValidElement(D)&&r.default.cloneElement(we,{className:(0,a.twMerge)((0,o.default)(Ge,it,we==null||(Z=we.props)===null||Z===void 0?void 0:Z.className))}),De=r.default.isValidElement(D)&&r.default.cloneElement(Ee,{className:(0,a.twMerge)((0,o.default)(Ge,et,Ee==null||(ie=Ee.props)===null||ie===void 0?void 0:ie.className))}),de=!r.default.isValidElement(D)&&r.default.createElement(D,{className:(0,a.twMerge)((0,o.default)(Ge,it))}),Ae=!r.default.isValidElement(D)&&r.default.createElement(B,{className:(0,a.twMerge)((0,o.default)(Ge,et))}),fe=function(ee){return ee.map(function(ae,Oe){return r.default.createElement("span",{key:Oe,onClick:function(){if(!$){var xe=ge.map(function(pe,se){return se<=Oe?"rated":"un_rated"});Ce(xe),z&&typeof z=="function"&&z(xe.filter(function(pe){return pe==="rated"}).length)}},onMouseEnter:function(){if(!$){var xe=Pe.map(function(pe,se){return se<=Oe?"rated":"un_rated"});qe(!0),Te(xe)}},onMouseLeave:function(){return!$&&qe(!1)}},r.default.isValidElement(ae==="rated"?D:B)?ae==="rated"?ke:De:ae==="rated"?de:Ae)})};return r.default.createElement("div",T({},q,{ref:R,className:st}),fe(ze?Pe:ge))});E.propTypes={count:g.propTypesCount,value:g.propTypesValue,ratedIcon:g.propTypesRatedIcon,unratedIcon:g.propTypesUnratedIcon,ratedColor:n.default.oneOf(g.propTypesColor),unratedColor:n.default.oneOf(g.propTypesColor),className:g.propTypesClassName,onChange:g.propTypesOnChange,readonly:g.propTypesReadonly},E.displayName="MaterialTailwind.Rating";var P=E})(_k);var Sk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(y,E){for(var P in E)Object.defineProperty(y,P,{enumerable:!0,get:E[P]})}t(e,{Slider:function(){return h},default:function(){return v}});var r=C(k),n=C(Ze),o=C(Sr),a=C(at),i=Xe,s=C(qt),f=C(Ye),g=Ke,b=Em;function S(y,E){(E==null||E>y.length)&&(E=y.length);for(var P=0,N=new Array(E);P=0)&&Object.prototype.propertyIsEnumerable.call(y,N)&&(P[N]=y[N])}return P}function l(y,E){if(y==null)return{};var P={},N=Object.keys(y),R,M;for(M=0;M=0)&&(P[R]=y[R]);return P}function c(y,E){return O(y)||w(y,E)||u(y,E)||m()}function u(y,E){if(y){if(typeof y=="string")return S(y,E);var P=Object.prototype.toString.call(y).slice(8,-1);if(P==="Object"&&y.constructor&&(P=y.constructor.name),P==="Map"||P==="Set")return Array.from(P);if(P==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(P))return S(y,E)}}var h=r.default.forwardRef(function(y,E){var P=y.color,N=y.size,R=y.className,M=y.trackClassName,L=y.thumbClassName,D=y.barClassName,B=y.value,H=y.defaultValue,Q=y.onChange,W=y.min,z=y.max,$=y.step,q=y.inputRef,Z=y.inputProps,ie=d(y,["color","size","className","trackClassName","thumbClassName","barClassName","value","defaultValue","onChange","min","max","step","inputRef","inputProps"]),me=(0,g.useTheme)().slider,ue=me.valid,te=me.defaultProps,Se=me.styles,ve=Se.base,he=Se.sizes,re=Se.colors,ge=c(r.default.useState(H||0),2),Ce=ge[0],Ne=ge[1];r.default.useMemo(function(){H&&Ne(H)},[H]),P=P??te.color,N=N??te.size,W=W??te.min,z=z??te.max,$=$??te.step;var Pe;R=(Pe=(0,a.default)(te.className,R))!==null&&Pe!==void 0?Pe:te.className;var Te;L=(Te=(0,a.default)(te.thumbClassName,L))!==null&&Te!==void 0?Te:te.thumbClassName;var je;M=(je=(0,a.default)(te.trackClassName,M))!==null&&je!==void 0?je:te.trackClassName;var ze;D=(ze=(0,a.default)(te.barClassName,D))!==null&&ze!==void 0?ze:te.barClassName;var qe;Z=(qe=(0,o.default)(Z,(te==null?void 0:te.inputProps)||{}))!==null&&qe!==void 0?qe:te.inputProps;var it=(0,i.twMerge)((0,a.default)((0,f.default)(ve.container),(0,f.default)(re[(0,s.default)(ue.colors,P,"gray")]),(0,f.default)(he[(0,s.default)(ue.sizes,N,"md")].container),R)),et=(0,i.twMerge)((0,a.default)((0,f.default)(ve.bar),D)),st=(0,a.default)((0,f.default)(ve.track),(0,f.default)(he[(0,s.default)(ue.sizes,N,"md")].track)),Ge=(0,a.default)((0,f.default)(ve.thumb),(0,f.default)(he[(0,s.default)(ue.sizes,N,"md")].thumb)),we=(0,a.default)((0,f.default)(ve.slider),(0,i.twMerge)(st,M),(0,i.twMerge)(Ge,L));return r.default.createElement("div",T({},ie,{ref:E,className:it}),r.default.createElement("label",{className:et,style:{width:"".concat(B||Ce,"%")}}),r.default.createElement("input",T({ref:q,type:"range",max:z,min:W,step:$,className:we},B?{value:B}:null,{defaultValue:H,onChange:function(Ee){return Q?Q(Ee):Ne(Number(Ee.target.value))}})))});h.propTypes={color:n.default.oneOf(b.propTypesColor),size:n.default.oneOf(b.propTypesSize),className:b.propTypesClassName,trackClassName:b.propTypesTrackClassName,thumbClassName:b.propTypesThumbClassName,barClassName:b.propTypesBarClassName,defaultValue:b.propTypesDefaultValue,value:b.propTypesValue,onChange:b.propTypesOnChange,min:b.propTypesMin,max:b.propTypesMax,step:b.propTypesStep,inputRef:b.propTypesInputRef,inputProps:b.propTypesInputProps},h.displayName="MaterialTailwind.Slider";var v=h})(Sk);var Ck={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Spinner:function(){return m},default:function(){return d}});var r=S(Ze),n=T(k),o=S(at),a=Xe,i=S(qt),s=S(Ye),f=Ke,g=Nm;function b(){return b=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=(0,n.forwardRef)(function(l,c){var u=l.color,h=l.className,v=C(l,["color","className"]),y=(0,f.useTheme)().spinner,E=y.defaultProps,P=y.valid,N=y.styles,R=N.base,M=N.colors;u=u??E.color;var L;h=(L=(0,o.default)(E.className,h))!==null&&L!==void 0?L:E.className;var D=(0,s.default)(M[(0,i.default)(P.colors,u,"gray")]),B=(0,a.twMerge)((0,o.default)((0,s.default)(R)),h),H,Q;return n.default.createElement("svg",b({},v,{ref:c,className:B,viewBox:"0 0 64 64",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:(H=v==null?void 0:v.width)!==null&&H!==void 0?H:24,height:(Q=v==null?void 0:v.height)!==null&&Q!==void 0?Q:24}),n.default.createElement("path",{d:"M32 3C35.8083 3 39.5794 3.75011 43.0978 5.20749C46.6163 6.66488 49.8132 8.80101 52.5061 11.4939C55.199 14.1868 57.3351 17.3837 58.7925 20.9022C60.2499 24.4206 61 28.1917 61 32C61 35.8083 60.2499 39.5794 58.7925 43.0978C57.3351 46.6163 55.199 49.8132 52.5061 52.5061C49.8132 55.199 46.6163 57.3351 43.0978 58.7925C39.5794 60.2499 35.8083 61 32 61C28.1917 61 24.4206 60.2499 20.9022 58.7925C17.3837 57.3351 14.1868 55.199 11.4939 52.5061C8.801 49.8132 6.66487 46.6163 5.20749 43.0978C3.7501 39.5794 3 35.8083 3 32C3 28.1917 3.75011 24.4206 5.2075 20.9022C6.66489 17.3837 8.80101 14.1868 11.4939 11.4939C14.1868 8.80099 17.3838 6.66487 20.9022 5.20749C24.4206 3.7501 28.1917 3 32 3L32 3Z",stroke:"currentColor",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round"}),n.default.createElement("path",{d:"M32 3C36.5778 3 41.0906 4.08374 45.1692 6.16256C49.2477 8.24138 52.7762 11.2562 55.466 14.9605C58.1558 18.6647 59.9304 22.9531 60.6448 27.4748C61.3591 31.9965 60.9928 36.6232 59.5759 40.9762",stroke:"currentColor",strokeWidth:"5",strokeLinecap:"round",strokeLinejoin:"round",className:D}))});m.propTypes={color:r.default.oneOf(g.propTypesColor),className:g.propTypesClassName},m.displayName="MaterialTailwind.Spinner";var d=m})(Ck);var Tk={},Su={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(h,v){for(var y in v)Object.defineProperty(h,y,{enumerable:!0,get:v[y]})}t(e,{useTimelineItem:function(){return l},TimelineItem:function(){return c},default:function(){return u}});var r=b(k),n=Xe,o=b(Ye),a=Ke,i=Wo;function s(h,v){(v==null||v>h.length)&&(v=h.length);for(var y=0,E=new Array(v);y=0)&&Object.prototype.propertyIsEnumerable.call(h,E)&&(y[E]=h[E])}return y}function C(h,v){if(h==null)return{};var y={},E=Object.keys(h),P,N;for(N=0;N=0)&&(y[P]=h[P]);return y}function w(h,v){return f(h)||S(h,v)||m(h,v)||O()}function m(h,v){if(h){if(typeof h=="string")return s(h,v);var y=Object.prototype.toString.call(h).slice(8,-1);if(y==="Object"&&h.constructor&&(y=h.constructor.name),y==="Map"||y==="Set")return Array.from(y);if(y==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(y))return s(h,v)}}var d=r.default.createContext(0);d.displayName="MaterialTailwind.TimelineItemContext";function l(){var h=r.default.useContext(d);if(!h)throw new Error("useTimelineItemContext() must be used within a TimelineItem. It happens when you use TimelineIcon, TimelineConnector or TimelineBody components outside the TimelineItem component.");return h}var c=r.default.forwardRef(function(h,v){var y=h.className,E=h.children,P=T(h,["className","children"]),N=(0,a.useTheme)().timelineItem,R=N.styles,M=R.base,L=w(r.default.useState(0),2),D=L[0],B=L[1],H=r.default.useMemo(function(){return[D,B]},[D,B]),Q=(0,n.twMerge)((0,o.default)(M),y);return r.default.createElement(d.Provider,{value:H},r.default.createElement("li",g({ref:v},P,{className:Q}),E))});c.propTypes={className:i.propTypeClassName,children:i.propTypeChildren.isRequired},c.displayName="MaterialTailwind.TimelineItem";var u=c})(Su);var Ok={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(y,E){for(var P in E)Object.defineProperty(y,P,{enumerable:!0,get:E[P]})}t(e,{TimelineIcon:function(){return h},default:function(){return v}});var r=C(k),n=C(Ze),o=fr,a=Xe,i=C(qt),s=C(Ye),f=Ke,g=Su,b=Wo;function S(y,E){(E==null||E>y.length)&&(E=y.length);for(var P=0,N=new Array(E);P=0)&&Object.prototype.propertyIsEnumerable.call(y,N)&&(P[N]=y[N])}return P}function l(y,E){if(y==null)return{};var P={},N=Object.keys(y),R,M;for(M=0;M=0)&&(P[R]=y[R]);return P}function c(y,E){return O(y)||w(y,E)||u(y,E)||m()}function u(y,E){if(y){if(typeof y=="string")return S(y,E);var P=Object.prototype.toString.call(y).slice(8,-1);if(P==="Object"&&y.constructor&&(P=y.constructor.name),P==="Map"||P==="Set")return Array.from(P);if(P==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(P))return S(y,E)}}var h=r.default.forwardRef(function(y,E){var P=y.color,N=y.variant,R=y.className,M=y.children,L=d(y,["color","variant","className","children"]),D=(0,f.useTheme)().timelineIcon,B=D.styles,H=D.valid,Q=B.base,W=B.variants,z=c((0,g.useTimelineItem)(),2),$=z[1],q=r.default.useRef(null),Z=(0,o.useMergeRefs)([E,q]);r.default.useEffect(function(){var ue=q.current;if(ue){var te=ue.getBoundingClientRect().width;return $(te),function(){$(0)}}},[$,R,M]);var ie=(0,s.default)(W[(0,i.default)(H.variants,N,"filled")][(0,i.default)(H.colors,P,"gray")]),me=(0,a.twMerge)((0,s.default)(Q),ie,R);return r.default.createElement("span",T({ref:Z},L,{className:me}),M)});h.propTypes={children:b.propTypeChildren,className:b.propTypeClassName,color:n.default.oneOf(b.propTypeColor),variant:n.default.oneOf(b.propTypeVariant)},h.displayName="MaterialTailwind.TimelineIcon";var v=h})(Ok);var Pk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(u,h){for(var v in h)Object.defineProperty(u,v,{enumerable:!0,get:h[v]})}t(e,{TimelineHeader:function(){return l},default:function(){return c}});var r=S(k),n=Xe,o=S(Ye),a=Ke,i=Su,s=Wo;function f(u,h){(h==null||h>u.length)&&(h=u.length);for(var v=0,y=new Array(h);v=0)&&Object.prototype.propertyIsEnumerable.call(u,y)&&(v[y]=u[y])}return v}function w(u,h){if(u==null)return{};var v={},y=Object.keys(u),E,P;for(P=0;P=0)&&(v[E]=u[E]);return v}function m(u,h){return g(u)||O(u,h)||d(u,h)||T()}function d(u,h){if(u){if(typeof u=="string")return f(u,h);var v=Object.prototype.toString.call(u).slice(8,-1);if(v==="Object"&&u.constructor&&(v=u.constructor.name),v==="Map"||v==="Set")return Array.from(v);if(v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v))return f(u,h)}}var l=r.default.forwardRef(function(u,h){var v=u.className,y=u.children,E=C(u,["className","children"]),P=(0,a.useTheme)().timelineBody,N=P.styles,R=N.base,M=m((0,i.useTimelineItem)(),1),L=M[0],D=(0,n.twMerge)((0,o.default)(R),v);return r.default.createElement("div",b({},E,{ref:h,className:D}),r.default.createElement("span",{className:"pointer-events-none invisible h-full flex-shrink-0",style:{width:"".concat(L,"px")}}),r.default.createElement("div",null,y))});l.propTypes={children:s.propTypeChildren,className:s.propTypeClassName},l.displayName="MaterialTailwind.TimelineHeader";var c=l})(Pk);var kk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(T,C){for(var w in C)Object.defineProperty(T,w,{enumerable:!0,get:C[w]})}t(e,{TimelineHeader:function(){return S},default:function(){return O}});var r=f(k),n=Xe,o=f(Ye),a=Ke,i=Wo;function s(){return s=Object.assign||function(T){for(var C=1;C=0)&&Object.prototype.propertyIsEnumerable.call(T,m)&&(w[m]=T[m])}return w}function b(T,C){if(T==null)return{};var w={},m=Object.keys(T),d,l;for(l=0;l=0)&&(w[d]=T[d]);return w}var S=r.default.forwardRef(function(T,C){var w=T.className,m=T.children,d=g(T,["className","children"]),l=(0,a.useTheme)().timelineHeader,c=l.styles,u=c.base,h=(0,n.twMerge)((0,o.default)(u),w);return r.default.createElement("div",s({},d,{ref:C,className:h}),m)});S.propTypes={children:i.propTypeChildren,className:i.propTypeClassName},S.displayName="MaterialTailwind.TimelineHeader";var O=S})(kk);var Ek={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(u,h){for(var v in h)Object.defineProperty(u,v,{enumerable:!0,get:h[v]})}t(e,{TimelineConnector:function(){return l},default:function(){return c}});var r=S(k),n=Xe,o=S(Ye),a=Ke,i=Su,s=Wo;function f(u,h){(h==null||h>u.length)&&(h=u.length);for(var v=0,y=new Array(h);v=0)&&Object.prototype.propertyIsEnumerable.call(u,y)&&(v[y]=u[y])}return v}function w(u,h){if(u==null)return{};var v={},y=Object.keys(u),E,P;for(P=0;P=0)&&(v[E]=u[E]);return v}function m(u,h){return g(u)||O(u,h)||d(u,h)||T()}function d(u,h){if(u){if(typeof u=="string")return f(u,h);var v=Object.prototype.toString.call(u).slice(8,-1);if(v==="Object"&&u.constructor&&(v=u.constructor.name),v==="Map"||v==="Set")return Array.from(v);if(v==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(v))return f(u,h)}}var l=r.default.forwardRef(function(u,h){var v=u.className,y=u.children,E=C(u,["className","children"]),P,N=(0,a.useTheme)().timelineConnector,R=N.styles,M=R.base,L=m((0,i.useTimelineItem)(),1),D=L[0],B=(0,o.default)(M.line),H=(0,n.twMerge)((0,o.default)(M.container),v);return r.default.createElement("span",b({},E,{ref:h,className:H,style:{top:"".concat(D,"px"),width:"".concat(D,"px"),opacity:D?1:0,height:"calc(100% - ".concat(D,"px)")}}),y&&r.default.isValidElement(y)?r.default.cloneElement(y,{className:(0,n.twMerge)(B,(P=y.props)===null||P===void 0?void 0:P.className)}):r.default.createElement("span",{className:B}))});l.propTypes={children:s.propTypeChildren,className:s.propTypeClassName},l.displayName="MaterialTailwind.TimelineConnector";var c=l})(Ek);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(l,c){for(var u in c)Object.defineProperty(l,u,{enumerable:!0,get:c[u]})}t(e,{Timeline:function(){return m},TimelineItem:function(){return s.default},TimelineIcon:function(){return f.default},TimelineBody:function(){return g.default},TimelineHeader:function(){return b.default},TimelineConnector:function(){return S.default},default:function(){return d}});var r=T(k),n=Xe,o=T(Ye),a=Ke,i=Wo,s=T(Su),f=T(Ok),g=T(Pk),b=T(kk),S=T(Ek);function O(){return O=Object.assign||function(l){for(var c=1;c=0)&&Object.prototype.propertyIsEnumerable.call(l,h)&&(u[h]=l[h])}return u}function w(l,c){if(l==null)return{};var u={},h=Object.keys(l),v,y;for(y=0;y=0)&&(u[v]=l[v]);return u}var m=r.default.forwardRef(function(l,c){var u=l.className,h=l.children,v=C(l,["className","children"]),y=(0,a.useTheme)().timeline,E=y.styles,P=E.base,N=(0,n.twMerge)((0,o.default)(P),u);return r.default.createElement("ul",O({ref:c},v,{className:N}),h)});m.propTypes={className:i.propTypeClassName,children:i.propTypeChildren},m.displayName="MaterialTailwind.Timeline";var d=Object.assign(m,{Item:s.default,Icon:f.default,Header:b.default,Body:g.default,Connector:S.default})})(Tk);var Nk={},jk={},hb={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(g,b){for(var S in b)Object.defineProperty(g,S,{enumerable:!0,get:b[S]})}t(e,{propTypesActiveStep:function(){return o},propTypesIsLastStep:function(){return a},propTypesIsFirstStep:function(){return i},propTypesChildren:function(){return s},propTypesClassName:function(){return f}});var r=n(Ze);function n(g){return g&&g.__esModule?g:{default:g}}var o=r.default.number,a=r.default.func,i=r.default.func,s=r.default.node,f=r.default.string})(hb);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(T,C){for(var w in C)Object.defineProperty(T,w,{enumerable:!0,get:C[w]})}t(e,{Step:function(){return S},default:function(){return O}});var r=f(k),n=Xe,o=f(Ye),a=Ke,i=hb;function s(){return s=Object.assign||function(T){for(var C=1;C=0)&&Object.prototype.propertyIsEnumerable.call(T,m)&&(w[m]=T[m])}return w}function b(T,C){if(T==null)return{};var w={},m=Object.keys(T),d,l;for(l=0;l=0)&&(w[d]=T[d]);return w}var S=r.default.forwardRef(function(T,C){var w=T.className;T.activeClassName,T.completedClassName;var m=T.children,d=g(T,["className","activeClassName","completedClassName","children"]),l=(0,a.useTheme)().step,c=l.styles.base,u=(0,n.twMerge)((0,o.default)(c.initial),w);return r.default.createElement("div",s({},d,{ref:C,className:u}),m)});S.propTypes={className:i.propTypesClassName,activeClassName:i.propTypesClassName,completedClassName:i.propTypesClassName,children:i.propTypesChildren},S.displayName="MaterialTailwind.Step";var O=S})(jk);(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(P,N){for(var R in N)Object.defineProperty(P,R,{enumerable:!0,get:N[R]})}t(e,{Stepper:function(){return y},Step:function(){return s.default},default:function(){return E}});var r=T(k),n=fr,o=Xe,a=T(Ye),i=Ke,s=T(jk),f=hb;function g(P,N){(N==null||N>P.length)&&(N=P.length);for(var R=0,M=new Array(N);R=0)&&Object.prototype.propertyIsEnumerable.call(P,M)&&(R[M]=P[M])}return R}function u(P,N){if(P==null)return{};var R={},M=Object.keys(P),L,D;for(D=0;D=0)&&(R[L]=P[L]);return R}function h(P,N){return b(P)||C(P,N)||v(P,N)||w()}function v(P,N){if(P){if(typeof P=="string")return g(P,N);var R=Object.prototype.toString.call(P).slice(8,-1);if(R==="Object"&&P.constructor&&(R=P.constructor.name),R==="Map"||R==="Set")return Array.from(R);if(R==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(R))return g(P,N)}}var y=r.default.forwardRef(function(P,N){var R=P.activeStep,M=P.isFirstStep,L=P.isLastStep,D=P.className,B=P.lineClassName,H=P.activeLineClassName,Q=P.children,W=c(P,["activeStep","isFirstStep","isLastStep","className","lineClassName","activeLineClassName","children"]),z=(0,i.useTheme)(),$=z.stepper,q=z.step,Z=$.styles.base,ie=q.styles,me=ie.base,ue=r.default.useRef(null),te=h(r.default.useState(0),2),Se=te[0],ve=te[1],he=R===0,re=Array.isArray(Q)&&R===Q.length-1,ge=Array.isArray(Q)&&R>Q.length-1;r.default.useEffect(function(){if(ue.current){var qe=Q,it=ue.current.getBoundingClientRect().width,et=it/(qe.length-1);ve(et)}},[Q]);var Ce=r.default.useMemo(function(){if(!ge)return Se*R},[R,ge,Se]);(0,n.useMergeRefs)([N,ue]);var Ne=(0,o.twMerge)((0,a.default)(Z.stepper),D),Pe=(0,o.twMerge)((0,a.default)(Z.line.initial),B),Te=(0,o.twMerge)(Pe,(0,a.default)(Z.line.active),H),je=(0,a.default)(me.active),ze=(0,a.default)(me.completed);return r.default.useEffect(function(){L&&typeof L=="function"&&L(re),M&&typeof M=="function"&&M(he)},[M,he,L,re]),r.default.createElement("div",O({},W,{ref:ue,className:Ne}),r.default.createElement("div",{className:Pe}),r.default.createElement("div",{className:Te,style:{width:"".concat(Ce,"px")}}),Array.isArray(Q)?Q.map(function(qe,it){var et,st;return r.default.cloneElement(qe,l(m({key:it},qe.props),{className:(0,o.twMerge)(qe.props.className,it===R?(0,o.twMerge)(je,(et=qe.props)===null||et===void 0?void 0:et.activeClassName):it=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function T(m,d){if(m==null)return{};var l={},c=Object.keys(m),u,h;for(h=0;h=0)&&(l[u]=m[u]);return l}var C=r.default.forwardRef(function(m,d){var l=m.children,c=O(m,["children"]),u,h=(0,o.useSpeedDial)(),v=h.getReferenceProps,y=h.refs,E=(0,n.useMergeRefs)([d,y.setReference]);return r.default.cloneElement(l,g({},v(S(g({},c),{ref:E,className:(0,a.twMerge)(l==null||(u=l.props)===null||u===void 0?void 0:u.className,c==null?void 0:c.className)}))))});C.propTypes={children:i.propTypesChildren},C.displayName="MaterialTailwind.SpeedDialHandler";var w=C}(yh)),yh}var xh={},Iw;function Nz(){return Iw||(Iw=1,function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(m,d){for(var l in d)Object.defineProperty(m,l,{enumerable:!0,get:d[l]})}t(e,{SpeedDialContent:function(){return C},default:function(){return w}});var r=S(k),n=vr,o=fr,a=gb(),i=Ke,s=Xe,f=S(Ye),g=Cu;function b(){return b=Object.assign||function(m){for(var d=1;d=0)&&Object.prototype.propertyIsEnumerable.call(m,c)&&(l[c]=m[c])}return l}function T(m,d){if(m==null)return{};var l={},c=Object.keys(m),u,h;for(h=0;h=0)&&(l[u]=m[u]);return l}var C=r.default.forwardRef(function(m,d){var l=m.children,c=m.className,u=O(m,["children","className"]),h=(0,i.useTheme)(),v=h.speedDialContent.styles,y=(0,a.useSpeedDial)(),E=y.x,P=y.y,N=y.refs,R=y.open,M=y.strategy,L=y.getFloatingProps,D=y.animation,B=(0,o.useMergeRefs)([d,N.setFloating]),H=(0,s.twMerge)((0,f.default)(v),c),Q=n.AnimatePresence;return r.default.createElement(n.LazyMotion,{features:n.domAnimation},r.default.createElement(Q,null,R&&r.default.createElement("div",b({},u,{ref:B,className:H,style:{position:M,top:P??0,left:E??0}},L()),r.default.Children.map(l,function(W){return r.default.createElement(n.m.div,{initial:"unmount",exit:"unmount",animate:R?"mount":"unmount",variants:D},W)}))))});C.propTypes={children:g.propTypesChildren,className:g.propTypesClassName},C.displayName="MaterialTailwind.SpeedDialContent";var w=C}(xh)),xh}var Rk={};(function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(T,C){for(var w in C)Object.defineProperty(T,w,{enumerable:!0,get:C[w]})}t(e,{SpeedDialAction:function(){return S},default:function(){return O}});var r=f(k),n=Ke,o=Xe,a=f(Ye),i=Cu;function s(){return s=Object.assign||function(T){for(var C=1;C=0)&&Object.prototype.propertyIsEnumerable.call(T,m)&&(w[m]=T[m])}return w}function b(T,C){if(T==null)return{};var w={},m=Object.keys(T),d,l;for(l=0;l=0)&&(w[d]=T[d]);return w}var S=r.default.forwardRef(function(T,C){var w=T.className,m=T.children,d=g(T,["className","children"]),l=(0,n.useTheme)(),c=l.speedDialAction.styles,u=(0,o.twMerge)((0,a.default)(c),w);return r.default.createElement("button",s({},d,{ref:C,className:u}),m)});S.propTypes={children:i.propTypesChildren,className:i.propTypesClassName},S.displayName="SpeedDialAction";var O=S})(Rk);var Dw;function gb(){return Dw||(Dw=1,function(e){Object.defineProperty(e,"__esModule",{value:!0});function t(h,v){for(var y in v)Object.defineProperty(h,y,{enumerable:!0,get:v[y]})}t(e,{SpeedDialContext:function(){return d},useSpeedDial:function(){return l},SpeedDial:function(){return c},SpeedDialHandler:function(){return s.default},SpeedDialContent:function(){return f.default},SpeedDialAction:function(){return g.default},default:function(){return u}});var r=O(k),n=fr,o=Ke,a=O(Sr),i=Cu,s=O(Ez()),f=O(Nz()),g=O(Rk);function b(h,v){(v==null||v>h.length)&&(v=h.length);for(var y=0,E=new Array(v);y.");return h}function c(h){var v=h.open,y=h.handler,E=h.placement,P=h.offset,N=h.dismiss,R=h.animate,M=h.children,L=(0,o.useTheme)(),D=L.speedDial.defaultProps,B=w(r.default.useState(!1),2),H=B[0],Q=B[1];v=v??H,y=y??Q,E=E??D.placement,P=P??D.offset,N=N??D.dismiss,R=R??D.animate;var W={unmount:{opacity:0,transform:"scale(0.5)",transition:{duration:.2,times:[.4,0,.2,1]}},mount:{opacity:1,transform:"scale(1)",transition:{duration:.2,times:[.4,0,.2,1]}}},z=(0,a.default)(W,R),$=(0,n.useFloatingNodeId)(),q=(0,n.useFloating)({open:v,nodeId:$,placement:E,onOpenChange:y,whileElementsMounted:n.autoUpdate,middleware:[(0,n.offset)(P),(0,n.flip)(),(0,n.shift)()]}),Z=q.x,ie=q.y,me=q.strategy,ue=q.refs,te=q.context,Se=(0,n.useInteractions)([(0,n.useHover)(te,{handleClose:(0,n.safePolygon)()}),(0,n.useDismiss)(te,N)]),ve=Se.getReferenceProps,he=Se.getFloatingProps,re=r.default.useMemo(function(){return{x:Z,y:ie,strategy:me,refs:ue,open:v,context:te,getReferenceProps:ve,getFloatingProps:he,animation:z}},[te,he,ve,ue,me,Z,ie,v,z]);return r.default.createElement(d.Provider,{value:re},r.default.createElement("div",{className:"group"},r.default.createElement(n.FloatingNode,{id:$},M)))}c.propTypes={open:i.propTypesOpen,handler:i.propTypesHanlder,placement:i.propTypesPlacement,offset:i.propTypesOffset,dismiss:i.propTypesDismiss,className:i.propTypesClassName,children:i.propTypesChildren,animate:i.propTypesAnimate},c.displayName="MaterialTailwind.SpeedDial";var u=Object.assign(c,{Handler:s.default,Content:f.default,Action:g.default})}(vh)),vh}(function(e){Object.defineProperty(e,"__esModule",{value:!0}),t(H1,e),t($O,e),t(HO,e),t(qO,e),t(KO,e),t(YO,e),t(JO,e),t(eP,e),t(tP,e),t(Nf,e),t(UP,e),t(WP,e),t(KP,e),t(QP,e),t(JP,e),t(ek,e),t(tk,e),t(nk,e),t(ok,e),t(uk,e),t(ck,e),t(dk,e),t(fk,e),t(hk,e),t(mk,e),t(bk,e),t(yk,e),t(wk,e),t(_k,e),t(Sk,e),t(Ck,e),t(Tk,e),t(Nk,e),t(gb(),e),t(Ke,e),t(gm,e);function t(r,n){return Object.keys(r).forEach(function(o){o!=="default"&&!Object.prototype.hasOwnProperty.call(n,o)&&Object.defineProperty(n,o,{enumerable:!0,get:function(){return r[o]}})}),r}})(G);function jz({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3"}))}const Rz=k.forwardRef(jz),Az=Rz;function Mz({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99"}))}const Iz=k.forwardRef(Mz),Dz=Iz;function Lz({title:e,titleId:t,...r},n){return k.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true",ref:n,"aria-labelledby":t},r),e?k.createElement("title",{id:t},e):null,k.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"}))}const Fz=k.forwardRef(Lz),Ak=Fz,mb=mo.createContext(null);mb.displayName="MaterialTailwindContext";function zz(e,t){switch(t.type){case"OPEN_SIDENAV":return{...e,openSidenav:t.value};case"SIDENAV_TYPE":return{...e,sidenavType:t.value};case"SIDENAV_COLOR":return{...e,sidenavColor:t.value};case"TRANSPARENT_NAVBAR":return{...e,transparentNavbar:t.value};case"FIXED_NAVBAR":return{...e,fixedNavbar:t.value};case"OPEN_CONFIGURATOR":return{...e,openConfigurator:t.value};default:throw new Error(`Unhandled action type: ${t.type}`)}}function bb({children:e}){const t={openSidenav:!1,sidenavColor:"gray",sidenavType:"white",transparentNavbar:!1,fixedNavbar:!0,openConfigurator:!1},[r,n]=mo.useReducer(zz,t),o=mo.useMemo(()=>[r,n],[r,n]);return x.jsx(mb.Provider,{value:o,children:e})}function zf(){const e=mo.useContext(mb);if(!e)throw new Error("useMaterialTailwindController should be used inside the MaterialTailwindControllerProvider.");return e}bb.displayName="/src/context/index.jsx";bb.propTypes={children:ln.node.isRequired};const Mk=(e,t)=>e({type:"OPEN_SIDENAV",value:t}),Bz=(e,t)=>e({type:"SIDENAV_COLOR",value:t}),Vz=(e,t)=>e({type:"FIXED_NAVBAR",value:t}),vb=(e,t)=>e({type:"OPEN_CONFIGURATOR",value:t}),wh={none:0,read:1,full:2},yb=k.createContext(null);yb.displayName="AuthContext";const Uz=e=>!e||typeof e!="object"||Array.isArray(e)?{}:Object.entries(e).reduce((t,[r,n])=>{if(typeof r!="string"||!r)return t;const o=typeof n=="string"?n:String(n??"").trim();return t[r]=o||"none",t},{});function Wz({children:e}){const[t,r]=k.useState({user:null,permissions:{},loading:!1,error:null,lastErrorCode:null,initialized:!1}),n=k.useCallback(g=>{const b=(g==null?void 0:g.user)??null,S=Uz(g==null?void 0:g.permissions);r({user:b,permissions:S,loading:!1,error:null,lastErrorCode:null,initialized:!0})},[]),o=k.useCallback(()=>{r(g=>({user:null,permissions:{},loading:!1,error:null,lastErrorCode:null,initialized:g.initialized||!0}))},[]),a=k.useCallback(async()=>{r(g=>({...g,loading:!0,error:null,lastErrorCode:null}));try{const g=await fetch("/api/auth/session",{credentials:"include"}),b=await g.json().catch(()=>({}));return g.ok?(n(b),{ok:!0,data:b}):(r({user:null,permissions:{},loading:!1,error:(b==null?void 0:b.error)??null,lastErrorCode:(b==null?void 0:b.error)??null,initialized:!0}),{ok:!1,status:g.status,error:(b==null?void 0:b.error)??null})}catch(g){const b=(g==null?void 0:g.message)||"NETWORK_ERROR";return r({user:null,permissions:{},loading:!1,error:b,lastErrorCode:"NETWORK_ERROR",initialized:!0}),{ok:!1,error:b}}},[n]),i=k.useCallback(async()=>{let g=null;try{const b=await fetch("/api/auth/logout",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"}});if(!b.ok){const S=await b.json().catch(()=>({})),O=new Error((S==null?void 0:S.error)||"LOGOUT_FAILED");throw O.code=(S==null?void 0:S.error)||`STATUS_${b.status}`,O}}catch(b){g=b}finally{o()}if(g)throw g},[o]),s=k.useCallback((g,b="full")=>{var C,w;if(!g||(C=t.user)!=null&&C.isSuperuser)return!0;const S=((w=t.permissions)==null?void 0:w[g])??"none",O=wh[S]??0,T=wh[b]??wh.full;return O>=T},[t.permissions,t.user]),f=k.useMemo(()=>({user:t.user,permissions:t.permissions,loading:t.loading,error:t.error,lastErrorCode:t.lastErrorCode,initialized:t.initialized,isAuthenticated:!!t.user,refreshSession:a,setSession:n,clearSession:o,logout:i,hasPermission:s}),[t,a,n,o,i,s]);return x.jsx(yb.Provider,{value:f,children:e})}function mn(){const e=k.useContext(yb);if(!e)throw new Error("useAuth must be used within an AuthProvider");return e}const $z="/assets/stackpulse-846837e9.png";function Bf({brandImg:e,brandName:t,routes:r}){const[n,o]=zf(),{sidenavColor:a,sidenavType:i,openSidenav:s}=n,{initialized:f,hasPermission:g}=mn(),b={dark:"bg-gradient-to-br from-gray-800 to-gray-900",white:"bg-white shadow-sm",transparent:"bg-transparent"};return x.jsxs("aside",{className:`${b[i]} ${s?"translate-x-0":"-translate-x-80"} fixed inset-0 z-50 my-4 ml-4 h-[calc(100vh-32px)] w-72 rounded-xl transition-transform duration-300 xl:translate-x-0 border border-blue-gray-100`,children:[x.jsxs("div",{className:"relative py-6 px-8 text-right",children:[x.jsx("img",{src:$z,alt:"StackPulse",className:"w-auto"}),x.jsx("span",{className:"mt-1 text-xs text-stormGrey-500 block antialiased font-sans",children:"v0.4"}),x.jsx(G.IconButton,{variant:"text",size:"sm",ripple:!1,className:"absolute right-0 top-0 grid rounded-br-none rounded-tl-none",onClick:()=>Mk(o,!1),children:x.jsx(Ak,{strokeWidth:2.5,className:"h-5 w-5 text-black"})})]}),x.jsx("div",{className:"m-4",children:r.map(({layout:S,title:O,pages:T},C)=>{const w=T.filter(({permission:m})=>{if(!m||!m.key)return!0;if(!f)return!1;const d=m.requiredLevel||m.level||"full";return g(m.key,d)});return S!=="dashboard"&&S!=="auth"||w.length===0&&!O?null:x.jsxs("ul",{className:"mb-4 flex flex-col gap-1",children:[O&&x.jsx("li",{className:"mx-3.5 mt-4 mb-2",children:x.jsx(G.Typography,{variant:"small",color:i==="dark"?"white":"blue-gray",className:"font-black uppercase opacity-75",children:O})}),w.map(({icon:m,name:d,path:l})=>x.jsx("li",{children:x.jsx(FI,{to:`/${S}${l}`,children:({isActive:c})=>x.jsxs(G.Button,{variant:c?"gradient":"text",color:c?a:i==="dark"?"white":"blue-gray",className:"flex items-center gap-4 px-4 capitalize",fullWidth:!0,children:[m,x.jsx(G.Typography,{color:"inherit",className:"font-medium capitalize",children:d})]})})},d))]},C)})})]})}Bf.defaultProps={brandImg:"/img/logo-ct.png",brandName:"Material Tailwind React"};Bf.propTypes={brandImg:ln.string,brandName:ln.string,routes:ln.arrayOf(ln.object).isRequired};Bf.displayName="/src/widgets/layout/sidnave.jsx";function Ik(){const[e,t]=zf(),{fixedNavbar:r,openSidenav:n}=e,{pathname:o}=Na();return o.split("/").filter(a=>a!==""),x.jsx(G.Navbar,{color:r?"white":"transparent",className:`rounded-xl transition-all ${r?"sticky top-4 z-40 py-3 shadow-md shadow-blue-gray-500/5":"px-0 py-1"}`,fullWidth:!0,blurred:r,children:x.jsxs("div",{className:"flex justify-between gap-6 flex-row items-center",children:[x.jsx("div",{className:"capitalize"}),x.jsxs("div",{className:"flex items-center",children:[x.jsx(G.IconButton,{variant:"text",color:"blue-gray",className:"grid xl:hidden",onClick:()=>Mk(t,!n),children:x.jsx(GI,{strokeWidth:3,className:"h-6 w-6 text-blue-gray-500"})}),x.jsx(G.IconButton,{variant:"text",color:"blue-gray",onClick:()=>vb(t,!0),children:x.jsx($1,{className:"h-5 w-5 text-blue-gray-500 "})})]})]})})}Ik.displayName="/src/widgets/layout/dashboard-navbar.jsx";function Hz(e,t){t=Math.pow(10,t);const r=["K","M","B","T"];for(let o=r.length-1;o>=0;o--){var n=Math.pow(10,(o+1)*3);if(n<=e){e=Math.round(e*t/n)/t,e==1e3&&o{fetch("https://api.github.com/repos/creativetimofficial/material-tailwind-dashboard-react").then(g=>g.json()).then(g=>s(Hz(g.stargazers_count,1)))},[]),x.jsxs("aside",{className:`fixed top-0 right-0 z-50 h-screen w-96 bg-white px-2.5 shadow-lg transition-transform duration-300 ${r?"translate-x-0":"translate-x-96"}`,children:[x.jsxs("div",{className:"flex items-start justify-between px-6 pt-8 pb-6",children:[x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h5",color:"blue-gray",children:"Dashboard Configurator"}),x.jsx(G.Typography,{className:"font-normal text-blue-gray-600",children:"See our dashboard options."})]}),x.jsx(G.IconButton,{variant:"text",color:"blue-gray",onClick:()=>vb(t,!1),children:x.jsx(Ak,{strokeWidth:2.5,className:"h-5 w-5"})})]}),x.jsxs("div",{className:"py-4 px-6",children:[x.jsxs("div",{className:"mb-12",children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",children:"Sidenav Colors"}),x.jsx("div",{className:"mt-3 flex items-center gap-2",children:Object.keys(f).map(g=>x.jsx("span",{className:`h-6 w-6 cursor-pointer rounded-full border bg-gradient-to-br transition-transform hover:scale-105 ${f[g]} ${n===g?"border-black":"border-transparent"}`,onClick:()=>Bz(t,g)},g))})]}),x.jsxs("div",{className:"mb-12",children:[x.jsx("hr",{}),x.jsxs("div",{className:"flex items-center justify-between py-5",children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",children:"Navbar Fixed"}),x.jsx(G.Switch,{defaultChecked:!0,id:"navbar-fixed",value:a,onChange:()=>Vz(t,!a)})]})]})]})]})}Dk.displayName="/src/widgets/layout/configurator.jsx";function Lk(){const e=new Date().getFullYear();return x.jsx("footer",{children:x.jsx("div",{className:"flex w-full flex-wrap items-center justify-center md:justify-end",children:x.jsxs(G.Typography,{variant:"small",className:"mt-1 text-xs text-stormGrey-500 block antialiased font-sans",children:["StackPulse: © ",e," by Michael Böhmländer"]})})})}Lk.displayName="/src/widgets/layout/footer.jsx";ln.string,ln.arrayOf(ln.object).isRequired,ln.node;const vo=Object.create(null);vo.open="0";vo.close="1";vo.ping="2";vo.pong="3";vo.message="4";vo.upgrade="5";vo.noop="6";const $c=Object.create(null);Object.keys(vo).forEach(e=>{$c[vo[e]]=e});const tg={type:"error",data:"parser error"},Fk=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",zk=typeof ArrayBuffer=="function",Bk=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e&&e.buffer instanceof ArrayBuffer,xb=({type:e,data:t},r,n)=>Fk&&t instanceof Blob?r?n(t):Lw(t,n):zk&&(t instanceof ArrayBuffer||Bk(t))?r?n(t):Lw(new Blob([t]),n):n(vo[e]+(t||"")),Lw=(e,t)=>{const r=new FileReader;return r.onload=function(){const n=r.result.split(",")[1];t("b"+(n||""))},r.readAsDataURL(e)};function Fw(e){return e instanceof Uint8Array?e:e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}let _h;function qz(e,t){if(Fk&&e.data instanceof Blob)return e.data.arrayBuffer().then(Fw).then(t);if(zk&&(e.data instanceof ArrayBuffer||Bk(e.data)))return t(Fw(e.data));xb(e,!1,r=>{_h||(_h=new TextEncoder),t(_h.encode(r))})}const zw="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",gs=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let e=0;e{let t=e.length*.75,r=e.length,n,o=0,a,i,s,f;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);const g=new ArrayBuffer(t),b=new Uint8Array(g);for(n=0;n>4,b[o++]=(i&15)<<4|s>>2,b[o++]=(s&3)<<6|f&63;return g},Kz=typeof ArrayBuffer=="function",wb=(e,t)=>{if(typeof e!="string")return{type:"message",data:Vk(e,t)};const r=e.charAt(0);return r==="b"?{type:"message",data:Yz(e.substring(1),t)}:$c[r]?e.length>1?{type:$c[r],data:e.substring(1)}:{type:$c[r]}:tg},Yz=(e,t)=>{if(Kz){const r=Gz(e);return Vk(r,t)}else return{base64:!0,data:e}},Vk=(e,t)=>{switch(t){case"blob":return e instanceof Blob?e:new Blob([e]);case"arraybuffer":default:return e instanceof ArrayBuffer?e:e.buffer}},Uk=String.fromCharCode(30),Qz=(e,t)=>{const r=e.length,n=new Array(r);let o=0;e.forEach((a,i)=>{xb(a,!1,s=>{n[i]=s,++o===r&&t(n.join(Uk))})})},Xz=(e,t)=>{const r=e.split(Uk),n=[];for(let o=0;o{const n=r.length;let o;if(n<126)o=new Uint8Array(1),new DataView(o.buffer).setUint8(0,n);else if(n<65536){o=new Uint8Array(3);const a=new DataView(o.buffer);a.setUint8(0,126),a.setUint16(1,n)}else{o=new Uint8Array(9);const a=new DataView(o.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(n))}e.data&&typeof e.data!="string"&&(o[0]|=128),t.enqueue(o),t.enqueue(r)})}})}let Sh;function pc(e){return e.reduce((t,r)=>t+r.length,0)}function hc(e,t){if(e[0].length===t)return e.shift();const r=new Uint8Array(t);let n=0;for(let o=0;oMath.pow(2,53-32)-1){s.enqueue(tg);break}o=b*Math.pow(2,32)+g.getUint32(4),n=3}else{if(pc(r)e){s.enqueue(tg);break}}}})}const Wk=4;function ir(e){if(e)return eB(e)}function eB(e){for(var t in ir.prototype)e[t]=ir.prototype[t];return e}ir.prototype.on=ir.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this};ir.prototype.once=function(e,t){function r(){this.off(e,r),t.apply(this,arguments)}return r.fn=t,this.on(e,r),this};ir.prototype.off=ir.prototype.removeListener=ir.prototype.removeAllListeners=ir.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var r=this._callbacks["$"+e];if(!r)return this;if(arguments.length==1)return delete this._callbacks["$"+e],this;for(var n,o=0;otypeof Promise=="function"&&typeof Promise.resolve=="function"?t=>Promise.resolve().then(t):(t,r)=>r(t,0))(),Pn=(()=>typeof self<"u"?self:typeof window<"u"?window:Function("return this")())(),tB="arraybuffer";function $k(e,...t){return t.reduce((r,n)=>(e.hasOwnProperty(n)&&(r[n]=e[n]),r),{})}const rB=Pn.setTimeout,nB=Pn.clearTimeout;function Uf(e,t){t.useNativeTimers?(e.setTimeoutFn=rB.bind(Pn),e.clearTimeoutFn=nB.bind(Pn)):(e.setTimeoutFn=Pn.setTimeout.bind(Pn),e.clearTimeoutFn=Pn.clearTimeout.bind(Pn))}const oB=1.33;function aB(e){return typeof e=="string"?iB(e):Math.ceil((e.byteLength||e.size)*oB)}function iB(e){let t=0,r=0;for(let n=0,o=e.length;n=57344?r+=3:(n++,r+=4);return r}function Hk(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function lB(e){let t="";for(let r in e)e.hasOwnProperty(r)&&(t.length&&(t+="&"),t+=encodeURIComponent(r)+"="+encodeURIComponent(e[r]));return t}function sB(e){let t={},r=e.split("&");for(let n=0,o=r.length;n{this.readyState="paused",t()};if(this._polling||!this.writable){let n=0;this._polling&&(n++,this.once("pollComplete",function(){--n||r()})),this.writable||(n++,this.once("drain",function(){--n||r()}))}else r()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(t){const r=n=>{if(this.readyState==="opening"&&n.type==="open"&&this.onOpen(),n.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(n)};Xz(t,this.socket.binaryType).forEach(r),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const t=()=>{this.write([{type:"close"}])};this.readyState==="open"?t():this.once("open",t)}write(t){this.writable=!1,Qz(t,r=>{this.doWrite(r,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const t=this.opts.secure?"https":"http",r=this.query||{};return this.opts.timestampRequests!==!1&&(r[this.opts.timestampParam]=Hk()),!this.supportsBinary&&!r.sid&&(r.b64=1),this.createUri(t,r)}}let qk=!1;try{qk=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const dB=qk;function fB(){}class pB extends cB{constructor(t){if(super(t),typeof location<"u"){const r=location.protocol==="https:";let n=location.port;n||(n=r?"443":"80"),this.xd=typeof location<"u"&&t.hostname!==location.hostname||n!==t.port}}doWrite(t,r){const n=this.request({method:"POST",data:t});n.on("success",r),n.on("error",(o,a)=>{this.onError("xhr post error",o,a)})}doPoll(){const t=this.request();t.on("data",this.onData.bind(this)),t.on("error",(r,n)=>{this.onError("xhr poll error",r,n)}),this.pollXhr=t}}let rl=class Hc extends ir{constructor(t,r,n){super(),this.createRequest=t,Uf(this,n),this._opts=n,this._method=n.method||"GET",this._uri=r,this._data=n.data!==void 0?n.data:null,this._create()}_create(){var t;const r=$k(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");r.xdomain=!!this._opts.xd;const n=this._xhr=this.createRequest(r);try{n.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let o in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(o)&&n.setRequestHeader(o,this._opts.extraHeaders[o])}}catch{}if(this._method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}(t=this._opts.cookieJar)===null||t===void 0||t.addCookies(n),"withCredentials"in n&&(n.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(n.timeout=this._opts.requestTimeout),n.onreadystatechange=()=>{var o;n.readyState===3&&((o=this._opts.cookieJar)===null||o===void 0||o.parseCookies(n.getResponseHeader("set-cookie"))),n.readyState===4&&(n.status===200||n.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof n.status=="number"?n.status:0)},0))},n.send(this._data)}catch(o){this.setTimeoutFn(()=>{this._onError(o)},0);return}typeof document<"u"&&(this._index=Hc.requestsCount++,Hc.requests[this._index]=this)}_onError(t){this.emitReserved("error",t,this._xhr),this._cleanup(!0)}_cleanup(t){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=fB,t)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Hc.requests[this._index],this._xhr=null}}_onLoad(){const t=this._xhr.responseText;t!==null&&(this.emitReserved("data",t),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}};rl.requestsCount=0;rl.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Bw);else if(typeof addEventListener=="function"){const e="onpagehide"in Pn?"pagehide":"unload";addEventListener(e,Bw,!1)}}function Bw(){for(let e in rl.requests)rl.requests.hasOwnProperty(e)&&rl.requests[e].abort()}const hB=function(){const e=Gk({xdomain:!1});return e&&e.responseType!==null}();class gB extends pB{constructor(t){super(t);const r=t&&t.forceBase64;this.supportsBinary=hB&&!r}request(t={}){return Object.assign(t,{xd:this.xd},this.opts),new rl(Gk,this.uri(),t)}}function Gk(e){const t=e.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!t||dB))return new XMLHttpRequest}catch{}if(!t)try{return new Pn[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const Kk=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class mB extends _b{get name(){return"websocket"}doOpen(){const t=this.uri(),r=this.opts.protocols,n=Kk?{}:$k(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(t,r,n)}catch(o){return this.emitReserved("error",o)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=t=>this.onClose({description:"websocket connection closed",context:t}),this.ws.onmessage=t=>this.onData(t.data),this.ws.onerror=t=>this.onError("websocket error",t)}write(t){this.writable=!1;for(let r=0;r{try{this.doWrite(n,a)}catch{}o&&Vf(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const t=this.opts.secure?"wss":"ws",r=this.query||{};return this.opts.timestampRequests&&(r[this.opts.timestampParam]=Hk()),this.supportsBinary||(r.b64=1),this.createUri(t,r)}}const Ch=Pn.WebSocket||Pn.MozWebSocket;class bB extends mB{createSocket(t,r,n){return Kk?new Ch(t,r,n):r?new Ch(t,r):new Ch(t)}doWrite(t,r){this.ws.send(r)}}class vB extends _b{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(t){return this.emitReserved("error",t)}this._transport.closed.then(()=>{this.onClose()}).catch(t=>{this.onError("webtransport error",t)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(t=>{const r=Jz(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=t.readable.pipeThrough(r).getReader(),o=Zz();o.readable.pipeTo(t.writable),this._writer=o.writable.getWriter();const a=()=>{n.read().then(({done:s,value:f})=>{s||(this.onPacket(f),a())}).catch(s=>{})};a();const i={type:"open"};this.query.sid&&(i.data=`{"sid":"${this.query.sid}"}`),this._writer.write(i).then(()=>this.onOpen())})})}write(t){this.writable=!1;for(let r=0;r{o&&Vf(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var t;(t=this._transport)===null||t===void 0||t.close()}}const yB={websocket:bB,webtransport:vB,polling:gB},xB=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,wB=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function rg(e){if(e.length>8e3)throw"URI too long";const t=e,r=e.indexOf("["),n=e.indexOf("]");r!=-1&&n!=-1&&(e=e.substring(0,r)+e.substring(r,n).replace(/:/g,";")+e.substring(n,e.length));let o=xB.exec(e||""),a={},i=14;for(;i--;)a[wB[i]]=o[i]||"";return r!=-1&&n!=-1&&(a.source=t,a.host=a.host.substring(1,a.host.length-1).replace(/;/g,":"),a.authority=a.authority.replace("[","").replace("]","").replace(/;/g,":"),a.ipv6uri=!0),a.pathNames=_B(a,a.path),a.queryKey=SB(a,a.query),a}function _B(e,t){const r=/\/{2,9}/g,n=t.replace(r,"/").split("/");return(t.slice(0,1)=="/"||t.length===0)&&n.splice(0,1),t.slice(-1)=="/"&&n.splice(n.length-1,1),n}function SB(e,t){const r={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,o,a){o&&(r[o]=a)}),r}const ng=typeof addEventListener=="function"&&typeof removeEventListener=="function",qc=[];ng&&addEventListener("offline",()=>{qc.forEach(e=>e())},!1);class Sa extends ir{constructor(t,r){if(super(),this.binaryType=tB,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,t&&typeof t=="object"&&(r=t,t=null),t){const n=rg(t);r.hostname=n.host,r.secure=n.protocol==="https"||n.protocol==="wss",r.port=n.port,n.query&&(r.query=n.query)}else r.host&&(r.hostname=rg(r.host).host);Uf(this,r),this.secure=r.secure!=null?r.secure:typeof location<"u"&&location.protocol==="https:",r.hostname&&!r.port&&(r.port=this.secure?"443":"80"),this.hostname=r.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=r.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},r.transports.forEach(n=>{const o=n.prototype.name;this.transports.push(o),this._transportsByName[o]=n}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},r),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=sB(this.opts.query)),ng&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},qc.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){const r=Object.assign({},this.opts.query);r.EIO=Wk,r.transport=t,this.id&&(r.sid=this.id);const n=Object.assign({},this.opts,{query:r,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this._transportsByName[t](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const t=this.opts.rememberUpgrade&&Sa.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const r=this.createTransport(t);r.open(),this.setTransport(r)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",r=>this._onClose("transport close",r))}onOpen(){this.readyState="open",Sa.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",t),this.emitReserved("heartbeat"),t.type){case"open":this.onHandshake(JSON.parse(t.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const r=new Error("server error");r.code=t.data,this._onError(r);break;case"message":this.emitReserved("data",t.data),this.emitReserved("message",t.data);break}}onHandshake(t){this.emitReserved("handshake",t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let r=1;for(let n=0;n0&&r>this._maxPayload)return this.writeBuffer.slice(0,n);r+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,Vf(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),t}write(t,r,n){return this._sendPacket("message",t,r,n),this}send(t,r,n){return this._sendPacket("message",t,r,n),this}_sendPacket(t,r,n,o){if(typeof r=="function"&&(o=r,r=void 0),typeof n=="function"&&(o=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;const a={type:t,data:r,options:n};this.emitReserved("packetCreate",a),this.writeBuffer.push(a),o&&this.once("flush",o),this.flush()}close(){const t=()=>{this._onClose("forced close"),this.transport.close()},r=()=>{this.off("upgrade",r),this.off("upgradeError",r),t()},n=()=>{this.once("upgrade",r),this.once("upgradeError",r)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():t()}):this.upgrading?n():t()),this}_onError(t){if(Sa.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",t),this._onClose("transport error",t)}_onClose(t,r){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),ng&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const n=qc.indexOf(this._offlineEventListener);n!==-1&&qc.splice(n,1)}this.readyState="closed",this.id=null,this.emitReserved("close",t,r),this.writeBuffer=[],this._prevBufferLen=0}}}Sa.protocol=Wk;class CB extends Sa{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let t=0;t{n||(r.send([{type:"ping",data:"probe"}]),r.once("packet",S=>{if(!n)if(S.type==="pong"&&S.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",r),!r)return;Sa.priorWebsocketSuccess=r.name==="websocket",this.transport.pause(()=>{n||this.readyState!=="closed"&&(b(),this.setTransport(r),r.send([{type:"upgrade"}]),this.emitReserved("upgrade",r),r=null,this.upgrading=!1,this.flush())})}else{const O=new Error("probe error");O.transport=r.name,this.emitReserved("upgradeError",O)}}))};function a(){n||(n=!0,b(),r.close(),r=null)}const i=S=>{const O=new Error("probe error: "+S);O.transport=r.name,a(),this.emitReserved("upgradeError",O)};function s(){i("transport closed")}function f(){i("socket closed")}function g(S){r&&S.name!==r.name&&a()}const b=()=>{r.removeListener("open",o),r.removeListener("error",i),r.removeListener("close",s),this.off("close",f),this.off("upgrading",g)};r.once("open",o),r.once("error",i),r.once("close",s),this.once("close",f),this.once("upgrading",g),this._upgrades.indexOf("webtransport")!==-1&&t!=="webtransport"?this.setTimeoutFn(()=>{n||r.open()},200):r.open()}onHandshake(t){this._upgrades=this._filterUpgrades(t.upgrades),super.onHandshake(t)}_filterUpgrades(t){const r=[];for(let n=0;nyB[o]).filter(o=>!!o)),super(t,n)}};function OB(e,t="",r){let n=e;r=r||typeof location<"u"&&location,e==null&&(e=r.protocol+"//"+r.host),typeof e=="string"&&(e.charAt(0)==="/"&&(e.charAt(1)==="/"?e=r.protocol+e:e=r.host+e),/^(https?|wss?):\/\//.test(e)||(typeof r<"u"?e=r.protocol+"//"+e:e="https://"+e),n=rg(e)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const a=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+a+":"+n.port+t,n.href=n.protocol+"://"+a+(r&&r.port===n.port?"":":"+n.port),n}const PB=typeof ArrayBuffer=="function",kB=e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,Yk=Object.prototype.toString,EB=typeof Blob=="function"||typeof Blob<"u"&&Yk.call(Blob)==="[object BlobConstructor]",NB=typeof File=="function"||typeof File<"u"&&Yk.call(File)==="[object FileConstructor]";function Sb(e){return PB&&(e instanceof ArrayBuffer||kB(e))||EB&&e instanceof Blob||NB&&e instanceof File}function Gc(e,t){if(!e||typeof e!="object")return!1;if(Array.isArray(e)){for(let r=0,n=e.length;r=0&&e.num{delete this.acks[t];for(let s=0;s{this.io.clearTimeoutFn(a),r.apply(this,s)};i.withError=!0,this.acks[t]=i}emitWithAck(t,...r){return new Promise((n,o)=>{const a=(i,s)=>i?o(i):n(s);a.withError=!0,r.push(a),this.emit(t,...r)})}_addToQueue(t){let r;typeof t[t.length-1]=="function"&&(r=t.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((o,...a)=>n!==this._queue[0]?void 0:(o!==null?n.tryCount>this._opts.retries&&(this._queue.shift(),r&&r(o)):(this._queue.shift(),r&&r(null,...a)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||this._queue.length===0)return;const r=this._queue[0];r.pending&&!t||(r.pending=!0,r.tryCount++,this.flags=r.flags,this.emit.apply(this,r.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){typeof this.auth=="function"?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(t){this.packet({type:yt.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},t):t})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,r){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,r),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(t=>{if(!this.sendBuffer.some(n=>String(n.id)===t)){const n=this.acks[t];delete this.acks[t],n.withError&&n.call(this,new Error("socket has been disconnected"))}})}onpacket(t){if(t.nsp===this.nsp)switch(t.type){case yt.CONNECT:t.data&&t.data.sid?this.onconnect(t.data.sid,t.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case yt.EVENT:case yt.BINARY_EVENT:this.onevent(t);break;case yt.ACK:case yt.BINARY_ACK:this.onack(t);break;case yt.DISCONNECT:this.ondisconnect();break;case yt.CONNECT_ERROR:this.destroy();const n=new Error(t.data.message);n.data=t.data.data,this.emitReserved("connect_error",n);break}}onevent(t){const r=t.data||[];t.id!=null&&r.push(this.ack(t.id)),this.connected?this.emitEvent(r):this.receiveBuffer.push(Object.freeze(r))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const r=this._anyListeners.slice();for(const n of r)n.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&typeof t[t.length-1]=="string"&&(this._lastOffset=t[t.length-1])}ack(t){const r=this;let n=!1;return function(...o){n||(n=!0,r.packet({type:yt.ACK,id:t,data:o}))}}onack(t){const r=this.acks[t.id];typeof r=="function"&&(delete this.acks[t.id],r.withError&&t.data.unshift(null),r.apply(this,t.data))}onconnect(t,r){this.id=t,this.recovered=r&&this._pid===r,this._pid=r,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:yt.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const r=this._anyListeners;for(let n=0;n0&&e.jitter<=1?e.jitter:0,this.attempts=0}Il.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),r=Math.floor(t*this.jitter*e);e=Math.floor(t*10)&1?e+r:e-r}return Math.min(e,this.max)|0};Il.prototype.reset=function(){this.attempts=0};Il.prototype.setMin=function(e){this.ms=e};Il.prototype.setMax=function(e){this.max=e};Il.prototype.setJitter=function(e){this.jitter=e};class ig extends ir{constructor(t,r){var n;super(),this.nsps={},this.subs=[],t&&typeof t=="object"&&(r=t,t=void 0),r=r||{},r.path=r.path||"/socket.io",this.opts=r,Uf(this,r),this.reconnection(r.reconnection!==!1),this.reconnectionAttempts(r.reconnectionAttempts||1/0),this.reconnectionDelay(r.reconnectionDelay||1e3),this.reconnectionDelayMax(r.reconnectionDelayMax||5e3),this.randomizationFactor((n=r.randomizationFactor)!==null&&n!==void 0?n:.5),this.backoff=new Il({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(r.timeout==null?2e4:r.timeout),this._readyState="closed",this.uri=t;const o=r.parser||LB;this.encoder=new o.Encoder,this.decoder=new o.Decoder,this._autoConnect=r.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(t){return arguments.length?(this._reconnection=!!t,t||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(t){return t===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=t,this)}reconnectionDelay(t){var r;return t===void 0?this._reconnectionDelay:(this._reconnectionDelay=t,(r=this.backoff)===null||r===void 0||r.setMin(t),this)}randomizationFactor(t){var r;return t===void 0?this._randomizationFactor:(this._randomizationFactor=t,(r=this.backoff)===null||r===void 0||r.setJitter(t),this)}reconnectionDelayMax(t){var r;return t===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=t,(r=this.backoff)===null||r===void 0||r.setMax(t),this)}timeout(t){return arguments.length?(this._timeout=t,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(t){if(~this._readyState.indexOf("open"))return this;this.engine=new TB(this.uri,this.opts);const r=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const o=Un(r,"open",function(){n.onopen(),t&&t()}),a=s=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",s),t?t(s):this.maybeReconnectOnOpen()},i=Un(r,"error",a);if(this._timeout!==!1){const s=this._timeout,f=this.setTimeoutFn(()=>{o(),a(new Error("timeout")),r.close()},s);this.opts.autoUnref&&f.unref(),this.subs.push(()=>{this.clearTimeoutFn(f)})}return this.subs.push(o),this.subs.push(i),this}connect(t){return this.open(t)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const t=this.engine;this.subs.push(Un(t,"ping",this.onping.bind(this)),Un(t,"data",this.ondata.bind(this)),Un(t,"error",this.onerror.bind(this)),Un(t,"close",this.onclose.bind(this)),Un(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(t){try{this.decoder.add(t)}catch(r){this.onclose("parse error",r)}}ondecoded(t){Vf(()=>{this.emitReserved("packet",t)},this.setTimeoutFn)}onerror(t){this.emitReserved("error",t)}socket(t,r){let n=this.nsps[t];return n?this._autoConnect&&!n.active&&n.connect():(n=new Qk(this,t,r),this.nsps[t]=n),n}_destroy(t){const r=Object.keys(this.nsps);for(const n of r)if(this.nsps[n].active)return;this._close()}_packet(t){const r=this.encoder.encode(t);for(let n=0;nt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(t,r){var n;this.cleanup(),(n=this.engine)===null||n===void 0||n.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",t,r),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const t=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const r=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn(()=>{t.skipReconnect||(this.emitReserved("reconnect_attempt",t.backoff.attempts),!t.skipReconnect&&t.open(o=>{o?(t._reconnecting=!1,t.reconnect(),this.emitReserved("reconnect_error",o)):t.onreconnect()}))},r);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){const t=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",t)}}const ls={};function Kc(e,t){typeof e=="object"&&(t=e,e=void 0),t=t||{};const r=OB(e,t.path||"/socket.io"),n=r.source,o=r.id,a=r.path,i=ls[o]&&a in ls[o].nsps,s=t.forceNew||t["force new connection"]||t.multiplex===!1||i;let f;return s?f=new ig(n,t):(ls[o]||(ls[o]=new ig(n,t)),f=ls[o]),r.query&&!t.query&&(t.query=r.queryKey),f.socket(r.path,t)}Object.assign(Kc,{Manager:ig,Socket:Qk,io:Kc,connect:Kc});const Xk=k.createContext(null),Th={success:{container:"border-mossGreen-500/80 bg-mossGreen-900/90 text-white",accent:"bg-mossGreen-400"},warning:{container:"border-warmAmberGlow-500/80 bg-warmAmberGlow-900/90 text-white",accent:"bg-warmAmberGlow-400"},error:{container:"border-sunsetCoral-500/80 bg-sunsetCoral-900/90 text-white",accent:"bg-sunsetCoral-400"},info:{container:"border-arcticBlue-500 bg-arcticBlue-900/90 text-white",accent:"bg-arcticBlue-400"}},zB=6e3;function BB({children:e}){const[t,r]=k.useState([]),n=k.useRef(new Map),o=k.useCallback(s=>{r(g=>g.filter(b=>b.id!==s));const f=n.current.get(s);f&&typeof window<"u"&&window.clearTimeout(f),n.current.delete(s)},[]),a=k.useCallback(({id:s,title:f,description:g,variant:b="info",duration:S=zB}={})=>{const O=s??`${Date.now()}-${Math.random().toString(16).slice(2)}`,T=Th[b]?b:"info";if(r(C=>[...C.filter(m=>m.id!==O),{id:O,title:f,description:g,variant:T}]),S!==null&&S!==1/0&&typeof window<"u"){const C=window.setTimeout(()=>{o(O)},S),w=n.current.get(O);w&&window.clearTimeout(w),n.current.set(O,C)}return O},[o]);k.useEffect(()=>()=>{typeof window>"u"||(n.current.forEach(s=>window.clearTimeout(s)),n.current.clear())},[]);const i=k.useMemo(()=>({showToast:a,dismissToast:o}),[a,o]);return x.jsxs(Xk.Provider,{value:i,children:[e,x.jsx("div",{className:"pointer-events-none fixed right-4 top-4 z-50 flex w-80 max-w-full flex-col gap-3",children:t.map(s=>{const f=Th[s.variant]??Th.info;return x.jsx("div",{className:`pointer-events-auto overflow-hidden rounded-lg border px-4 py-3 shadow-xl backdrop-blur ${f.container}`,children:x.jsxs("div",{className:"flex items-start gap-3",children:[x.jsx("span",{className:`mt-1 h-2 flex-shrink-0 w-2 rounded-full ${f.accent}`}),x.jsxs("div",{className:"flex-1",children:[s.title&&x.jsx("p",{className:"text-sm font-semibold",children:s.title}),s.description&&x.jsx("p",{className:"mt-1 text-sm leading-snug text-white/80",children:s.description})]}),x.jsx("button",{type:"button",onClick:()=>o(s.id),className:"ml-2 rounded-md p-1 text-xs uppercase tracking-wide text-white/60 transition hover:text-white/90",children:"Schließen"})]})},s.id)})})]})}function Dl(){const e=k.useContext(Xk);if(!e)throw new Error("useToast must be used within a ToastProvider");return e}const Zk=k.createContext(null),VB={maintenance:null,update:null,script:null,ssh:null,loading:!0,error:"",lastUpdated:null};function UB({children:e}){var v,y;const[t,r]=k.useState(VB),n=k.useRef(null),o=k.useRef(!1),a=k.useCallback(E=>{r(P=>({...P,...E}))},[]),i=k.useCallback(async()=>{var E,P;a({loading:!0,error:""});try{const R=(await nt.get("/api/maintenance/config")).data??{};a({maintenance:R.maintenance??null,update:R.update??null,script:R.script??null,ssh:R.ssh??null,loading:!1,error:"",lastUpdated:new Date})}catch(N){const R=((P=(E=N.response)==null?void 0:E.data)==null?void 0:P.error)||N.message||"Fehler beim Laden der Wartungsdaten";a({loading:!1,error:R})}},[a]),s=k.useCallback(async()=>{var E,P;try{const R=(await nt.get("/api/maintenance/update-status")).data??{};r(M=>({...M,maintenance:R.maintenance??M.maintenance,update:R.update??M.update,error:""}))}catch(N){const R=((P=(E=N.response)==null?void 0:E.data)==null?void 0:P.error)||N.message||"Fehler beim Aktualisieren des Wartungsstatus";r(M=>({...M,error:R}))}},[]);k.useEffect(()=>{i()},[i]),k.useEffect(()=>{var E;if((E=t.update)!=null&&E.running){s();const P=setInterval(()=>{s()},5e3);return n.current=P,()=>clearInterval(P)}n.current&&(clearInterval(n.current),n.current=null)},[(v=t.update)==null?void 0:v.running,s]),k.useEffect(()=>{var P;const E=!!((P=t.update)!=null&&P.running);!E&&o.current&&i(),o.current=E},[(y=t.update)==null?void 0:y.running,i]);const f=k.useCallback(async(E={})=>{await nt.post("/api/maintenance/portainer-update",E),await s()},[s]),g=k.useCallback(async E=>{await nt.put("/api/maintenance/update-script",{script:E}),await i()},[i]),b=k.useCallback(async()=>{await nt.delete("/api/maintenance/update-script"),await i()},[i]),S=k.useCallback(async E=>{await nt.put("/api/maintenance/ssh-config",E),await i()},[i]),O=k.useCallback(async()=>{await nt.delete("/api/maintenance/ssh-config"),await i()},[i]),T=k.useCallback(async({active:E,message:P}={})=>{var L;const N={active:!!E};P!==void 0&&(N.message=P);const M=((L=(await nt.post("/api/maintenance/mode",N)).data)==null?void 0:L.maintenance)??null;return a({maintenance:M,error:""}),M},[a]),C=k.useCallback(async E=>(await nt.post("/api/maintenance/test-ssh",E??{})).data,[]),w=k.useCallback(async()=>{const P=(await nt.get("/api/auth/superuser/status")).data??{};return{exists:!!P.exists,user:P.user??null}},[]),m=k.useCallback(async()=>(await nt.get("/api/setup/status")).data??{},[]),d=k.useCallback(async E=>(await nt.delete(`/api/setup/endpoints/${E}`)).data??{success:!1},[]),l=k.useCallback(async E=>(await nt.delete(`/api/setup/servers/${E}`)).data??{success:!1},[]),c=k.useCallback(async(E,P)=>(await nt.put(`/api/setup/servers/${E}/api-key`,{apiKey:P})).data??{success:!1},[]),u=k.useCallback(async()=>(await nt.delete("/api/auth/superuser")).data??{success:!1},[]),h=k.useMemo(()=>({maintenance:t.maintenance,update:t.update,script:t.script,ssh:t.ssh,loading:t.loading,error:t.error,lastUpdated:t.lastUpdated,refreshConfig:i,refreshUpdateStatus:s,setMaintenanceMode:T,triggerUpdate:f,saveScript:g,resetScript:b,saveSshConfig:S,deleteSshConfig:O,testSshConnection:C,fetchSuperuserStatus:w,fetchSetupStatus:m,deleteSetupEndpoint:d,deleteSetupServer:l,updateSetupApiKey:c,removeSuperuserAccount:u}),[t,i,s,T,f,g,b,S,O,C,w,m,d,l,c,u]);return x.jsx(Zk.Provider,{value:h,children:e})}function mi(){const e=k.useContext(Zk);if(!e)throw new Error("useMaintenance must be used within a MaintenanceProvider");return e}const WB=[{value:"10",label:"10"},{value:"25",label:"25"},{value:"50",label:"50"},{value:"100",label:"100"},{value:"all",label:"Alle"}],Uw="50",Jk=k.createContext(null),$B=(e,t)=>{const r=Number(e);if(Number.isFinite(r)&&r>0)return r;const n=Number(t);return Number.isFinite(n)&&n>0?n:1};function HB({children:e,initialPage:t=1,initialPerPage:r=Uw,perPageOptions:n=WB}){const[o,a]=k.useState(t),[i,s]=k.useState(r),[f,g]=k.useState(0),[b,S]=k.useState(0),O=k.useRef(t),T=k.useRef(r),C=k.useMemo(()=>new Set(n.map(R=>String(R.value))),[n]),w=i==="all",m=k.useCallback(()=>w?null:$B(i,r),[i,w,r]),d=k.useCallback((R,M)=>{g(Math.max(0,Number(R)||0)),S(Math.max(0,Number(M)||0))},[]),l=k.useCallback(()=>{a(O.current??1),s(T.current??Uw),g(0),S(0)},[]),c=k.useCallback((R,{resetPage:M=!0}={})=>{if(R==null)return;const L=String(R);C.has(L)&&(s(L),M&&a(1))},[C]),u=k.useCallback(R=>{var L;const M=typeof R=="string"?R:(L=R==null?void 0:R.target)==null?void 0:L.value;c(M,{resetPage:!0})},[c]),h=k.useCallback(R=>{if(w)return;const M=Number(R);if(!Number.isFinite(M)||M<1)return;const L=m();if(!L)return;const D=Math.max(1,Math.ceil((f||0)/L));M>D||a(M)},[w,m,f]),v=k.useMemo(()=>{if(w)return 1;const R=m();return R?Math.max(1,Math.ceil((f||0)/R)):1},[w,m,f]),y=k.useMemo(()=>{if(!f)return 0;if(w)return 1;const R=m();return(o-1)*R+1},[f,w,m,o]),E=k.useMemo(()=>{if(!f)return 0;if(w)return f;const R=m(),M=(o-1)*R+(b||R);return Math.min(f,M)},[f,w,m,o,b]),P=k.useMemo(()=>f?w?`Zeige alle ${f.toLocaleString()} Einträge`:`Zeige ${y.toLocaleString()} – ${E.toLocaleString()} von ${f.toLocaleString()} Einträgen`:"Keine Einträge",[f,w,y,E]),N=k.useMemo(()=>({page:o,perPage:i,perPageOptions:n,perPageIsAll:w,totalItems:f,visibleItems:b,totalPages:v,rangeStart:y,rangeEnd:E,summaryLabel:P,setPage:a,setPerPage:c,setTotals:d,setTotalItems:g,setVisibleItems:S,handlePageChange:h,handlePerPageChange:u,validPerPageValues:C,resetPagination:l}),[o,i,n,w,f,b,v,y,E,P,d,c,h,u,C,l]);return x.jsx(Jk.Provider,{value:N,children:e})}function Tu(){const e=k.useContext(Jk);if(!e)throw new Error("usePage must be used within a PageProvider");return e}function Wf({disabled:e=!1}){const{summaryLabel:t,perPageIsAll:r,page:n,totalPages:o,handlePageChange:a}=Tu();return x.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[x.jsx("span",{children:t}),!r&&x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("button",{onClick:()=>a(n-1),disabled:e||n<=1,className:"rounded-md border border-slate-300 p-2.5 text-center text-sm transition-all shadow-sm hover:shadow-lg text-slate-600 hover:text-white hover:bg-slate-800 hover:border-slate-800 focus:text-white focus:bg-slate-800 focus:border-slate-800 active:border-slate-800 active:text-white active:bg-slate-800 disabled:pointer-events-none disabled:opacity-50 disabled:shadow-none",type:"button",children:x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:"h-4 w-4",children:x.jsx("path",{d:"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z"})})}),x.jsxs("p",{className:"text-slate-600",children:["Seite ",x.jsx("strong",{className:"text-slate-800",children:n})," / ",x.jsx("strong",{className:"text-slate-800",children:o})]}),x.jsx("button",{onClick:()=>a(n+1),disabled:e||n>=o,className:"rounded-md border border-slate-300 p-2.5 text-center text-sm transition-all shadow-sm hover:shadow-lg text-slate-600 hover:text-white hover:bg-slate-800 hover:border-slate-800 focus:text-white focus:bg-slate-800 focus:border-slate-800 active:border-slate-800 active:text-white active:bg-slate-800 disabled:pointer-events-none disabled:opacity-50 disabled:shadow-none",type:"button",children:x.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",className:"h-4 w-4",children:x.jsx("path",{d:"M12.97 3.97a.75.75 0 0 1 1.06 0l7.5 7.5a.75.75 0 0 1 0 1.06l-7.5 7.5a.75.75 0 1 1-1.06-1.06l6.22-6.22H3a.75.75 0 0 1 0-1.5h16.19l-6.22-6.22a.75.75 0 0 1 0-1.06Z"})})})]})]})}const gc="stackSelectionPreference",qB=30*1e3,GB=30*1e3;let qa={data:null,timestamp:0},mc=null;const wt={QUEUED:"queued",STARTED:"started",SUCCESS:"success",ERROR:"error",INFO:"info"},KB={initializing:"Vorbereitung","activating-maintenance":"Wartungsmodus aktivieren","executing-script":"Skript wird ausgeführt",waiting:"Warte auf Portainer",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},YB=()=>!!qa.data&&Date.now()-qa.timestamp{qa={data:e,timestamp:Date.now()}},QB=e=>Array.isArray(e)?[...e].sort((t,r)=>((t==null?void 0:t.Name)||"").localeCompare((r==null?void 0:r.Name)||"")):[];function XB(){const[e,t]=k.useState(()=>QB(qa.data)),[r,n]=k.useState(()=>!qa.data),[o,a]=k.useState(""),[i,s]=k.useState([]),[f,g]=k.useState("all"),[b,S]=k.useState(""),[O,T]=k.useState(!1),[C,w]=k.useState(!1),[m,d]=k.useState(!1),{showToast:l}=Dl(),{maintenance:c,update:u,script:h,ssh:v}=mi(),{hasPermission:y}=mn(),E=y("stacks-redeploy-single","full"),P=y("stacks-redeploy-selection","full"),N=y("stacks-redeploy-all","full"),R=!!(c!=null&&c.active),M=c==null?void 0:c.message,L=!!(u!=null&&u.running),D=R||L,B=u!=null&&u.stage?KB[u.stage]??u.stage:"–",{page:H,perPage:Q,perPageOptions:W,setPage:z,setTotals:$,handlePerPageChange:q,resetPagination:Z}=Tu(),ie=k.useCallback(()=>{},[]);k.useEffect(()=>()=>Z(),[Z]),k.useEffect(()=>{D&&(n(!1),t([]),s([]))},[D]);const me=k.useRef(new Map),ue=k.useCallback((ee,ae)=>{const Oe=new Map(ee.map(pe=>[pe.Id,pe]));return[...ae].sort((pe,se)=>pe.Name.localeCompare(se.Name)).map(pe=>{const se=Oe.get(pe.Id);if(se&&se.updateStatus==="✅"&&pe.updateStatus==="⚠️"){const bt=pe.Name?`${pe.Name} (ID: ${pe.Id})`:`Stack ${pe.Id}`;l({variant:"warning",title:"Aktualisierung gefunden",description:bt})}let Me=pe.redeployPhase??(se==null?void 0:se.redeployPhase)??null;!Me&&(pe.redeploying||se!=null&&se.redeploying)&&(Me=wt.STARTED);const tt=Me===wt.QUEUED,ft=Me===wt.STARTED;return{...pe,redeployPhase:Me,redeployQueued:tt,redeploying:tt||ft,redeployDisabled:pe.redeployDisabled??(se==null?void 0:se.redeployDisabled)??!1,duplicateName:pe.duplicateName??(se==null?void 0:se.duplicateName)??!1}})},[l]);k.useEffect(()=>{const ee=Kc("/",{path:"/socket.io",transports:["websocket"]});return console.log("🔌 Socket connected"),ee.on("redeployStatus",async(ae={})=>{const{stackId:Oe}=ae;if(!Oe)return;let xe=Oe;if(typeof Oe=="string"){const bt=Number(Oe);Number.isNaN(bt)||(xe=bt)}const pe=ae.redeployPhase??ae.phase;let se=pe;se?pe==="started"||pe==="running"?se=wt.STARTED:pe==="queued"?se=wt.QUEUED:pe==="success"?se=wt.SUCCESS:pe==="error"?se=wt.ERROR:pe==="info"&&(se=wt.INFO):ae.isRedeploying===!0?se=wt.STARTED:ae.isRedeploying===!1&&(se=wt.SUCCESS);const Me=me.current.get(xe)??me.current.get(String(xe)),tt=ae.stackName??(Me==null?void 0:Me.Name),ft=tt?`${tt} (ID: ${xe})`:`Stack ${xe}`;if(console.log(`🔄 Stack ${xe} Redeploy Update: ${se??"unbekannt"}`),se===wt.STARTED)l({variant:"info",title:"Redeploy gestartet",description:ft});else if(se===wt.SUCCESS)l({variant:"success",title:"Redeploy abgeschlossen",description:ft});else if(se===wt.ERROR){const bt=ae.message?` – ${ae.message}`:"";l({variant:"error",title:"Redeploy fehlgeschlagen",description:`${ft}${bt}`})}if(t(bt=>bt.map(ht=>{if(String(ht.Id)!==String(xe))return ht;const Jt=se??ht.redeployPhase??null,er=Jt===wt.QUEUED,Ut=Jt===wt.STARTED,Mr=Jt===wt.SUCCESS,Wt=Jt===wt.ERROR,Cr=er||Ut,Gt={...ht,redeployPhase:Jt,redeployQueued:er,redeploying:Cr};return Mr&&(Gt.updateStatus="✅",Gt.redeploying=!1,Gt.redeployQueued=!1),Wt&&(Gt.redeploying=!1,Gt.redeployQueued=!1),!Cr&&!Mr&&!Wt&&se===void 0&&(Gt.redeploying=!1,Gt.redeployQueued=!1,Gt.redeployPhase=ht.redeployPhase??null),Gt})),se===wt.SUCCESS||se===wt.ERROR||ae.isRedeploying===!1&&!se)try{const bt=await nt.get("/api/stacks");Ww(bt.data),t(ht=>ue(ht,bt.data))}catch(bt){console.error("Fehler beim Aktualisieren nach Redeploy:",bt)}}),()=>ee.disconnect()},[]);const te=k.useCallback(async({force:ee=!1,silent:ae=!1}={})=>{if(R||L){ae||n(!1);return}const Oe=!!qa.data;if(!ee&&Oe&&(t(pe=>ue(pe,qa.data)),!ae&&(n(!1),YB())))return;const xe=!ae&&(!Oe||ee);xe&&n(!0);try{(ee||!mc)&&(mc=nt.get("/api/stacks").then(se=>(Ww(se.data),se.data)).finally(()=>{mc=null}));const pe=await mc;t(se=>ue(se,pe)),a("")}catch(pe){console.error("❌ Fehler beim Abrufen der Stacks:",pe),!Oe&&!ae&&a("Fehler beim Laden der Stacks")}finally{xe&&n(!1)}},[R,L,ue]);k.useEffect(()=>{te()},[te]),k.useEffect(()=>{if(typeof document>"u"||R||L)return;const ee=setInterval(()=>{document.hidden||te({force:!0,silent:!0})},GB);return()=>clearInterval(ee)},[te,R,L]),k.useEffect(()=>{if(typeof document>"u"||R||L)return;const ee=()=>{document.hidden||te({force:!0,silent:!0})};return document.addEventListener("visibilitychange",ee),()=>{document.removeEventListener("visibilitychange",ee)}},[te,R,L]),k.useEffect(()=>{s(ee=>{const ae=ee.filter(Oe=>{const xe=e.find(se=>se.Id===Oe);if(!xe||xe.updateStatus==="✅"||xe.redeployDisabled)return!1;const pe=xe.redeployPhase;return!(pe===wt.STARTED||pe===wt.QUEUED)});return ae.length===ee.length?ee:ae})},[e]),k.useEffect(()=>{const ee=new Map;e.forEach(ae=>{ee.set(ae.Id,ae),ee.set(String(ae.Id),ae)}),me.current=ee},[e]);const Se=b.trim().toLowerCase(),ve=k.useMemo(()=>e.filter(ee=>!(f==="current"&&ee.updateStatus!=="✅"||f==="outdated"&&ee.updateStatus==="✅"||Se&&!`${ee.Name??""} ${ee.Id??""}`.toLowerCase().includes(Se))),[e,f,Se]),he=k.useMemo(()=>ve.filter(ee=>{if(ee.updateStatus==="✅"||ee.redeployDisabled)return!1;const ae=ee.redeployPhase;return!(ae===wt.STARTED||ae===wt.QUEUED)}),[ve]),re=k.useMemo(()=>{const ee=new Map;return e.forEach(ae=>{ee.set(ae.Id,ae)}),ee},[e]);k.useMemo(()=>new Set(ve.map(ee=>ee.Id)),[ve]);const ge=k.useMemo(()=>{if(Q==="all")return ve;const ee=Number(Q),ae=(H-1)*ee;return ve.slice(ae,ae+ee)},[ve,Q,H]);k.useEffect(()=>{$(ve.length,ge.length)},[ve.length,ge.length,$]);const Ce=k.useRef({action:"keep",remember:!1}),Ne=k.useRef({status:f,search:Se}),Pe=k.useRef(!1);k.useEffect(()=>{if(!(typeof window>"u"))try{const ee=window.sessionStorage.getItem(gc);if(!ee)return;const ae=JSON.parse(ee);ae&&(ae.action==="keep"||ae.action==="clear")&&(Ce.current={action:ae.action,remember:!0},d(!0))}catch(ee){console.error("⚠️ Konnte gespeicherte Auswahl-Einstellung nicht laden:",ee),Ce.current={action:"keep",remember:!1}}},[]),k.useEffect(()=>{const ee=Se;if(!Pe.current){Pe.current=!0,Ne.current={status:f,search:ee};return}const ae=Ne.current;if(!(ae.status!==f||ae.search!==ee)){f==="all"&&ee.length===0&&O&&T(!1);return}if(Ne.current={status:f,search:ee},i.length===0){T(!1);return}if(!(f!=="all"||ee.length>0)){T(!1);return}const pe=Ce.current;if(pe!=null&&pe.remember){pe.action==="clear"&&s([]),T(!1);return}w(!!(pe!=null&&pe.remember)),T(!0)},[f,Se,i.length,O]),k.useEffect(()=>{i.length===0&&O&&T(!1)},[i.length,O]);const Te=f!=="all"||Se.length>0;k.useEffect(()=>{z(1)},[f,Se,z]),k.useEffect(()=>{if(Q==="all"){H!==1&&z(1);return}const ee=Number(Q)||1,ae=Math.max(1,Math.ceil(ve.length/ee));H>ae&&z(ae)},[ve.length,Q,H,z]);const je=(ee,ae)=>{P&&(ae||s(Oe=>Oe.includes(ee)?Oe.filter(xe=>xe!==ee):[...Oe,ee]))};k.useEffect(()=>{P||(i.length&&s([]),O&&T(!1))},[P,i.length,O]);const ze=ee=>{if(!P)return;const ae=C;if(typeof window<"u")try{if(ae){const Oe={action:ee,remember:!0};window.sessionStorage.setItem(gc,JSON.stringify(Oe)),Ce.current=Oe}else window.sessionStorage.removeItem(gc),Ce.current={action:ee,remember:!1}}catch(Oe){console.error("⚠️ Konnte Auswahl-Einstellung nicht speichern:",Oe),Ce.current={action:ee,remember:!1}}else Ce.current={action:ee,remember:!1};d(ae),w(ae),ee==="clear"&&s([]),T(!1)},qe=()=>{if(P){if(typeof window<"u")try{window.sessionStorage.removeItem(gc)}catch(ee){console.error("⚠️ Konnte gespeicherte Auswahl-Einstellung nicht löschen:",ee)}Ce.current={action:"keep",remember:!1},d(!1),w(!1),Te&&i.length>0&&T(!0)}},it=()=>{P&&(s([]),T(!1))},et=ee=>{P&&s(ae=>ae.filter(Oe=>Oe!==ee))},st=async ee=>{if(!E)return;const ae=me.current.get(ee),Oe=ae==null?void 0:ae.redeployPhase;if(!(Oe===wt.STARTED||Oe===wt.QUEUED)){s(xe=>xe.filter(pe=>pe!==ee)),t(xe=>xe.map(pe=>pe.Id===ee?{...pe,redeployPhase:wt.STARTED,redeploying:!0,redeployQueued:!1}:pe));try{await nt.put(`/api/stacks/${ee}/redeploy`)}catch(xe){if(console.error("❌ Fehler beim Redeploy:",xe),t(pe=>pe.map(se=>se.Id===ee?{...se,redeployPhase:null,redeploying:!1,redeployQueued:!1}:se)),!xe.response){const pe=me.current.get(ee),se=pe!=null&&pe.Name?`${pe.Name} (ID: ${ee})`:`Stack ${ee}`,Me=xe.message||"Unbekannter Fehler";l({variant:"error",title:"Redeploy fehlgeschlagen",description:`${se} – ${Me}`})}}}},Ge=async()=>{var Oe,xe;if(!N||!he.length)return;const ee=he.map(pe=>pe.Id),ae=new Set(ee.map(pe=>String(pe)));t(pe=>pe.map(se=>{const Me=String(se.Id);return ae.has(Me)?{...se,redeployPhase:wt.QUEUED,redeploying:!0,redeployQueued:!0}:se}));try{Te?await nt.put("/api/stacks/redeploy-selection",{stackIds:ee}):await nt.put("/api/stacks/redeploy-all"),s(pe=>pe.filter(se=>!ae.has(String(se))))}catch(pe){console.error("❌ Fehler beim Redeploy ALL:",pe),t(Me=>Me.map(tt=>{const ft=String(tt.Id);return ae.has(ft)?{...tt,redeployPhase:null,redeploying:!1,redeployQueued:!1}:tt}));const se=((xe=(Oe=pe.response)==null?void 0:Oe.data)==null?void 0:xe.error)||pe.message||"Unbekannter Fehler";l({variant:"error",title:"Redeploy ALL fehlgeschlagen",description:se})}},we=async()=>{var Oe,xe;if(!P||!i.length)return;const ee=i.filter(pe=>{const se=e.find(tt=>tt.Id===pe);if(!se||se.updateStatus==="✅"||se.redeployDisabled)return!1;const Me=se.redeployPhase;return!(Me===wt.STARTED||Me===wt.QUEUED)});if(!ee.length){s([]);return}const ae=new Set(ee);t(pe=>pe.map(se=>ae.has(se.Id)?{...se,redeployPhase:wt.QUEUED,redeploying:!0,redeployQueued:!0}:se));try{await nt.put("/api/stacks/redeploy-selection",{stackIds:ee}),s(pe=>pe.filter(se=>!ae.has(se)))}catch(pe){console.error("❌ Fehler beim Redeploy Auswahl:",pe),t(Me=>Me.map(tt=>ae.has(tt.Id)?{...tt,redeployPhase:null,redeploying:!1,redeployQueued:!1}:tt));const se=((xe=(Oe=pe.response)==null?void 0:Oe.data)==null?void 0:xe.error)||pe.message||"Unbekannter Fehler";l({variant:"error",title:"Redeploy Auswahl fehlgeschlagen",description:se})}},Ee=P&&i.length>0,ke=he.length>0,De=P&&Ee||N,de=P&&Ee?`Redeploy Auswahl (${i.length})`:"Redeploy Alle",Ae=D||(P&&Ee?O||i.every(ee=>{const ae=e.find(xe=>xe.Id===ee);if(!ae||ae.updateStatus==="✅"||ae.redeployDisabled)return!0;const Oe=ae.redeployPhase;return Oe===wt.STARTED||Oe===wt.QUEUED}):!N||!ke),fe=()=>{if(D){l({variant:"warning",title:"Wartungsmodus aktiv",description:"Redeploy-Aktionen sind während des Wartungsmodus deaktiviert."});return}P&&Ee?we():N&&Ge()};return x.jsxs("div",{className:"mt-12 mb-8 flex flex-col gap-12",children:[(R||L)&&x.jsx("div",{className:"rounded-lg border border-cyan-500/60 bg-cyan-900/30 px-4 py-3 text-sm text-bluegray-100",children:x.jsxs("div",{className:"flex flex-col gap-1",children:[x.jsxs("span",{children:["Wartungsmodus aktiv",M?` – ${M}`:L?" – Portainer-Update läuft":"","."]}),L&&x.jsxs("span",{className:"text-xs text-indigo-900",children:["Phase: ",B]})]})}),x.jsxs(G.Card,{children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"p-4 pt-2 pb-2",children:!r&&!o?x.jsx(G.Typography,{variant:"h6",color:"white",children:x.jsx("span",{className:"flex items-center gap-2",children:x.jsx("span",{children:"Filter und Optionen"})})}):x.jsx(G.Typography,{variant:"h6",color:"white",children:x.jsx("span",{className:"flex items-center gap-2",children:x.jsx("span",{children:"Lade Stacks"})})})}),x.jsxs(G.CardBody,{children:[r?x.jsxs("p",{className:"flex py-6 text-center text-sm font-medium text-gray-400",children:[x.jsx(G.Spinner,{className:"mr-2 h-4 w-4 flex"}),"Lade Stacks..."]}):o?x.jsx("p",{className:"py-6 text-sm font-medium text-red-400",children:o}):x.jsxs("div",{className:"gap-4",children:[x.jsx("div",{className:"w-full",children:x.jsxs(G.ButtonGroup,{fullWidth:!0,children:[x.jsx(G.Button,{onClick:()=>g("all"),children:"Alle"}),x.jsx(G.Button,{onClick:()=>g("current"),children:"Aktuell"}),x.jsx(G.Button,{onClick:()=>g("outdated"),children:"Veraltet"})]})}),x.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between mt-8",children:[x.jsx("div",{className:"md:flex-1",children:x.jsx(G.Input,{value:b,onChange:ee=>S(ee.target.value),variant:"static",placeholder:"Name oder ID"})}),x.jsx("div",{className:"md:mt-0 mt-8 md:flex-1",children:x.jsx(G.Select,{variant:"static",label:"Einträge pro Seite",onChange:ie,value:Q,children:W.map(({value:ee,label:ae})=>x.jsx(G.Option,{value:ee,onClick:()=>q(ee),children:ae},ee))})})]}),x.jsx("div",{className:"flex items-center justify-end gap-3 mt-5",children:P&&m&&x.jsx("button",{onClick:qe,className:"block antialiased font-sans text-sm leading-normal text-inherit text-xs font-medium text-warmAmberGlow-500 underline underline-offset-2 transition hover:text-warmAmberGlow-600",children:"Gespeicherte Entscheidung löschen"})})]}),P&&O&&x.jsx("div",{className:"flex flex-col mt-5",children:x.jsxs("div",{className:"flex flex-col gap-3 rounded-lg border border-arcticBlue-800 bg-arcticBlue-900/90 px-4 py-3 text-arcticBlue-100 md:flex-row md:items-center md:justify-between",children:[x.jsxs("div",{className:"space-y-2 block antialiased font-sans text-sm font-light leading-normal text-inherit",children:[x.jsxs("p",{children:[i.length===1?"1 Stack ist weiterhin ausgewählt.":`${i.length} Stacks sind weiterhin ausgewählt.`," ","Soll die Auswahl entfernt werden?"]}),x.jsxs("label",{className:"flex items-center gap-2",children:[x.jsx("input",{type:"checkbox",checked:C,onChange:ee=>w(ee.target.checked),className:"h-4 w-4 rounded border border-arcticBlue-400 bg-arcticBlue-900 text-arcticBlue-400 focus:ring-arcticBlue-300"}),x.jsx("span",{className:"text-xs",children:"Einstellung merken (bis Browser geschlossen wird)"})]})]}),x.jsxs("div",{className:"flex gap-2",children:[x.jsx(G.Button,{onClick:()=>ze("keep"),className:"rounded-md border border-arcticBlue-600 bg-arcticBlue-700 px-4 py-2 font-sans font-bold text-center uppercase transition-all hover:bg-arcticBlue-800",children:"Auswahl behalten"}),x.jsx(G.Button,{onClick:()=>ze("clear"),className:"rounded-md border border-sunsetCoral-500 bg-sunsetCoral-600 px-4 py-2 font-sans font-bold text-center uppercase transition-all hover:bg-sunsetCoral-600",children:"Auswahl entfernen"})]})]})}),De&&x.jsxs("div",{id:"collect",className:"mt-8 flex flex-col gap-4 md:flex-row md:items-start md:gap-6",children:[P&&i.length>0&&x.jsx("div",{className:"w-full md:order-first order-last md:w-3/4",children:x.jsxs("div",{className:"flex flex-col gap-3 text-sm text-gray-300",children:[x.jsx("div",{className:"flex flex-wrap items-center gap-2",children:i.map(ee=>{const ae=re.get(ee),Oe=(ae==null?void 0:ae.Name)||`Stack ${ee}`;return x.jsxs("button",{type:"button",onClick:()=>et(ee),className:"inline-flex items-center gap-2 rounded-full bg-lavenderSmoke-600/80 px-2 py-0.5 text-white transition hover:bg-lavenderSmoke-600/90 focus:outline-none focus:ring-2 focus:ring-lavenderSmoke-400 cursor-pointer",children:[x.jsx("span",{children:Oe}),x.jsx("span",{className:"text-xs font-semibold text-lavenderSmoke-200",children:"x"})]},ee)})}),x.jsx("button",{type:"button",onClick:it,className:"md:order-last self-start mt-1 text-xs font-medium text-gray-400 underline underline-offset-2 transition hover:text-gray-200",children:"Auswahl aufheben"})]})}),x.jsx("div",{className:"w-full md:w-1/4 md:ml-auto",children:x.jsx(G.Button,{className:"w-full bg-arcticBlue-500 hover:bg-arcticBlue-600",onClick:fe,disabled:Ae,children:de})})]})]})]}),x.jsx("div",{className:"grid grid-cols-1 gap-6 md:grid-cols-2",children:ge.map(ee=>{const ae=ee.redeployPhase,Oe=ae===wt.QUEUED,xe=ae===wt.STARTED,pe=Oe||xe,se=i.includes(ee.Id),Me=ee.updateStatus==="✅",tt=!!ee.redeployDisabled,ft=!pe&&!Me&&!tt,pt=P&&ft;return x.jsx(G.Card,{children:x.jsxs(G.CardBody,{className:`flex w-full text-stormGrey-500 items-center justify-between gap-4 rounded-xl shadow-lg transition border + ${se?"border-purple-500 ring-1 ring-purple-500/40":"border-transparent"} + ${!ft||pe?"opacity-75 bg-stormGrey-200/20":""}`,children:[x.jsxs("div",{className:"flex items-center space-x-4",id:"left",children:[P&&x.jsx("input",{type:"checkbox",checked:se,onChange:()=>je(ee.Id,!pt),className:`h-5 w-5 text-purple-500 focus:ring-purple-400 border-gray-600 bg-gray-900 rounded ${pt?"":"opacity-40 cursor-not-allowed"}`,disabled:!pt}),x.jsx("div",{className:`w-12 h-12 flex items-center justify-center rounded-full + ${ee.updateStatus==="✅"?"bg-mossGreen-600":ee.updateStatus==="⚠️"?"bg-warmAmberGlow-400":"bg-sunsetCoral-500"}`}),x.jsxs("div",{children:[x.jsx("p",{className:"text-lg antialiased font-sans font-semibold leading-normal text-inherit",children:ee.Name}),x.jsxs("p",{className:"text-sm antialiased font-sans font-light leading-normal text-inherit",children:["ID: ",ee.Id]}),ee.duplicateName&&x.jsx("p",{className:"text-xs text-amber-700",children:"⚠️ Doppelter Name erkannt"})]})]}),x.jsx("div",{className:"ml-auto flex flex-col items-end gap-1 text-sm",id:"right",children:xe?x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"antialiased font-sans font-light leading-normal text-xs uppercase tracking-wide text-warmAmberGlow-600",children:"Redeploy"}),x.jsx("span",{className:"text-warmAmberGlow-500",children:"läuft…"})]}):Oe?x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"antialiased font-sans font-light leading-normal text-xs uppercase tracking-wide text-warmAmberGlow-600",children:"Redeploy"}),x.jsx("span",{className:"text-warmAmberGlow-500",children:"in Warteliste…"})]}):tt?x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"antialiased font-sans font-light leading-normal text-xs uppercase tracking-wide text-stormGrey-500",children:"System"}),x.jsx("span",{className:"text-gray-300",children:"Redeploy deaktiviert"})]}):Me?x.jsxs(x.Fragment,{children:[x.jsx("span",{className:"antialiased font-sans font-light leading-normal text-xs uppercase tracking-wide text-stormGrey-500",children:"Status"}),x.jsx("span",{className:"text-mossGreen-600",children:"Aktuell"})]}):E?x.jsx(G.Button,{onClick:()=>st(ee.Id),disabled:pe,className:"disabled:opacity-50 disabled:cursor-not-allowed",children:"Redeploy"}):null})]})},ee.Id)})}),x.jsx(Wf,{disabled:r||!!o})]})}const ZB={idle:"Bereit",running:"Läuft",success:"Erfolgreich",error:"Fehlgeschlagen"},ss={idle:"bg-stormGrey-700 text-gray-200",running:"bg-arcticBlue-600 text-white",success:"bg-mossGreen-600 text-white",error:"bg-sunsetCoral-600 text-white"},JB={initializing:"Vorbereitung","activating-maintenance":"Wartungsmodus aktivieren","executing-script":"Skript wird ausgeführt",waiting:"Warte auf Portainer",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},eV={info:"text-arcticBlue-700",success:"text-mossGreen-700",warning:"text-warmAmberGlow-700",error:"text-sunsetCoral-700",stdout:"text-stormGrey-700",stderr:"text-warmAmberGlow-700",debug:"text-lavenderSmoke-700"},tV=e=>{if(!e)return"-";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})},Fa=e=>{if(!e&&e!==0)return"-";const r=(n=>{if(n instanceof Date)return n;if(typeof n=="number"){const o=n>1e12?n:n*1e3;return new Date(o)}if(typeof n=="string"){const o=Number(n);if(!Number.isNaN(o)){const a=o>1e12?o:o*1e3;return new Date(a)}return new Date(n)}return null})(e);return!r||Number.isNaN(r.getTime())?String(e):r.toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})},$w=e=>e===1?"Git":e===2?"Compose":e??"-",Oh=()=>({host:"",port:"22",username:"",password:"",extraSshArgs:""});function rV(){var _i,Si,Nu;const{hasPermission:e,user:t}=mn(),r=k.useCallback(()=>{},[]),{maintenance:n,update:o,script:a,ssh:i,loading:s,error:f,setMaintenanceMode:g,triggerUpdate:b,saveScript:S,resetScript:O,saveSshConfig:T,deleteSshConfig:C,testSshConnection:w,fetchSuperuserStatus:m,fetchSetupStatus:d,deleteSetupEndpoint:l,deleteSetupServer:c,updateSetupApiKey:u,removeSuperuserAccount:h}=mi(),v=!!(t!=null&&t.isSuperuser),y=!!(v||e("maintenance-access","read")),E=!!(v||e("maintenance-access","full")),P=!!(v||e("maintenance-server-manage","read")),N=!!(v||e("maintenance-server-manage","full")),R=!!(v||e("maintenance-server-delete","full")),M=!!(v||e("maintenance-portainer","read")),L=!!(v||e("maintenance-update","full")),D=!!(v||e("maintenance-ssh-update","read")),B=!!(v||e("maintenance-ssh-update","full")),H=!!(v||e("maintenance-duplicates","read")),Q=!!(v||e("maintenance-duplicates","full")),W=!!(n!=null&&n.active),z=n==null?void 0:n.message,$=(_i=n==null?void 0:n.extra)==null?void 0:_i.type,q=!!(o!=null&&o.running),[Z,ie]=k.useState(""),[me,ue]=k.useState(!1),[te,Se]=k.useState(!1),[ve,he]=k.useState(""),[re,ge]=k.useState(!1),[Ce,Ne]=k.useState(()=>Oh()),[Pe,Te]=k.useState(!1),[je,ze]=k.useState(!1),[qe,it]=k.useState(!1),[et,st]=k.useState(!1),[Ge,we]=k.useState(!1),[Ee,ke]=k.useState(null);k.useEffect(()=>{if(!a)return;const be=a.custom??a.default??a.effective??"";ie(be)},[a]),k.useEffect(()=>{if(!i){Ne(Oh()),Te(!1),ze(!1),ke(null);return}Ne({host:i.host??"",port:String(i.port??"22"),username:i.username??"",password:"",extraSshArgs:Array.isArray(i.extraSshArgs)?i.extraSshArgs.join(` +`):""}),Te(!!i.passwordStored),ze(!1),ke(null)},[i]);const De=k.useMemo(()=>a?a.source==="custom"&&typeof a.custom=="string"?a.custom:a.default??a.effective??"":"",[a]),de=a?Z!==De:!1,Ae=(a==null?void 0:a.source)==="custom"?"Benutzerdefiniert":"Standard",[fe,ee]=k.useState(!0),[ae,Oe]=k.useState(!1),[xe,pe]=k.useState(null),[se,Me]=k.useState(""),[tt,ft]=k.useState(!1),[pt,bt]=k.useState(null),[ht,Jt]=k.useState(!0),[er,Ut]=k.useState(""),[Mr,Wt]=k.useState({}),[Cr,Gt]=k.useState(null),[tn,Tr]=k.useState(null),[Wr,Mn]=k.useState(null),[$r,bn]=k.useState([]),[pr,ro]=k.useState(!0),[J,Ie]=k.useState(""),[Be,Ot]=k.useState(!1),[Mt,mt]=k.useState(null),[Pt,sr]=k.useState(null),xt=k.useRef(null),[_t,Hr]=k.useState(null),[or,vn]=k.useState(!0),[wo,$o]=k.useState(""),[_o,Ho]=k.useState(!1),[Ra,So]=k.useState(null),In=k.useRef(null),rn=k.useCallback(async({silent:be=!1}={})=>{var Fe,Ve;ee(!0),Me("");try{const We=await m(),rt=!!(We!=null&&We.exists);Oe(rt),pe(rt?We.user??null:null)}catch(We){const rt=((Ve=(Fe=We.response)==null?void 0:Fe.data)==null?void 0:Ve.error)||We.message||"Superuser-Status konnte nicht geladen werden";Oe(!1),pe(null),Me(rt),be||r({variant:"error",title:"Statusabfrage fehlgeschlagen",description:rt})}finally{ee(!1)}},[m,r]),Ir=k.useCallback(async({silent:be=!1}={})=>{var Fe,Ve;be||Jt(!0),Ut("");try{const We=await d();bt(We),Wt({})}catch(We){const rt=((Ve=(Fe=We.response)==null?void 0:Fe.data)==null?void 0:Ve.error)||We.message||"Setup-Daten konnten nicht geladen werden";Ut(rt),be||r({variant:"error",title:"Setup-Daten",description:rt})}finally{Jt(!1)}},[d,r]),Aa=k.useCallback(async({silent:be=!1}={})=>{if(In.current)return In.current;const Fe=(async()=>{var Ve,We;be?Ho(!0):vn(!0),$o("");try{const Rt=(await nt.get("/api/maintenance/portainer-status")).data??{};Hr(Rt),So(new Date)}catch(rt){const Rt=((We=(Ve=rt.response)==null?void 0:Ve.data)==null?void 0:We.error)||rt.message||"Fehler beim Prüfen des Portainer-Status";$o(Rt),r({variant:"error",title:"Statusaktualisierung fehlgeschlagen",description:Rt})}finally{be?Ho(!1):vn(!1),In.current=null}})();return In.current=Fe,Fe},[r]),Co=k.useCallback(async({silent:be=!1}={})=>{if(W||q){bn([]),Ie("Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert."),ro(!1),Ot(!1);return}if(xt.current)return xt.current;const Fe=(async()=>{var Ve,We,rt;be?Ot(!0):ro(!0),Ie("");try{const Nt=(await nt.get("/api/maintenance/duplicates")).data,Dt=Array.isArray(Nt)?Nt:(Nt==null?void 0:Nt.items)??[];bn(Dt),sr(new Date)}catch(Rt){if(((Ve=Rt.response)==null?void 0:Ve.status)===423){const Nt="Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert.";bn([]),Ie(Nt),r({variant:"warning",title:"Duplikat-Verwaltung gesperrt",description:Nt})}else{const Nt=((rt=(We=Rt.response)==null?void 0:We.data)==null?void 0:rt.error)||Rt.message||"Fehler beim Laden der Wartungsdaten";Ie(Nt),r({variant:"error",title:"Duplikate konnten nicht geladen werden",description:Nt})}}finally{be?Ot(!1):ro(!1),xt.current=null}})();return xt.current=Fe,Fe},[W,q,r]);k.useEffect(()=>{rn({silent:!0})},[rn]),k.useEffect(()=>{Ir()},[Ir]),k.useEffect(()=>{Aa()},[Aa]),k.useEffect(()=>{Co()},[Co]);const Dn=k.useMemo(()=>{var be;return((be=pt==null?void 0:pt.servers)==null?void 0:be.items)??[]},[pt]),Dr=k.useMemo(()=>{var be;return((be=pt==null?void 0:pt.endpoints)==null?void 0:be.items)??[]},[pt]),It=k.useMemo(()=>{var Fe;const be=((Fe=pt==null?void 0:pt.apiKeys)==null?void 0:Fe.items)??[];return new Map(be.map(Ve=>[Ve.serverId,Ve]))},[pt]),tr=k.useMemo(()=>!!(pt!=null&&pt.setupComplete),[pt]),Et=k.useMemo(()=>{const be=Array.isArray($r)?$r.length:0,Fe=Array.isArray($r)?$r.reduce((Ve,We)=>{var rt;return Ve+(((rt=We==null?void 0:We.duplicates)==null?void 0:rt.length)||0)},0):0;return{groups:be,duplicateCount:Fe}},[$r]),Or=k.useCallback((be,Fe)=>{B&&(Ne(Ve=>({...Ve,[be]:Fe})),be==="password"&&Te(!1))},[B]),yn=k.useMemo(()=>{const be={host:Ce.host.trim(),port:Number.parseInt(Ce.port,10)||22,username:Ce.username.trim(),extraSshArgs:(Ce.extraSshArgs||"").split(/\r?\n/).map(Ve=>Ve.trim()).filter(Boolean)},Fe=Ce.password??"";return Fe?be.password=Fe:Pe||(be.password=""),be},[Ce,Pe]),no=k.useCallback(async()=>{var be,Fe;if(B&&a)try{ue(!0),await S(Z),r({variant:"success",title:"Skript gespeichert",description:"Das benutzerdefinierte Portainer-Update-Skript wurde aktualisiert."})}catch(Ve){const We=((Fe=(be=Ve.response)==null?void 0:be.data)==null?void 0:Fe.error)||Ve.message||"Skript konnte nicht gespeichert werden";r({variant:"error",title:"Speichern fehlgeschlagen",description:We})}finally{ue(!1)}},[B,S,Z,a,r]),Ma=k.useCallback(async()=>{var be,Fe;if(B)try{ue(!0),await O(),r({variant:"info",title:"Standardskript wiederhergestellt",description:"Es wird wieder das Standard-Update-Skript verwendet."})}catch(Ve){const We=((Fe=(be=Ve.response)==null?void 0:be.data)==null?void 0:Fe.error)||Ve.message||"Standardskript konnte nicht wiederhergestellt werden";r({variant:"error",title:"Zurücksetzen fehlgeschlagen",description:We})}finally{ue(!1)}},[B,O,r]),bi=k.useCallback(async()=>{var be,Fe;if(B)try{it(!0),await T(yn),ke(null),ze(!1),r({variant:"success",title:"SSH-Konfiguration gespeichert",description:"Verbindungseinstellungen wurden aktualisiert."})}catch(Ve){const We=((Fe=(be=Ve.response)==null?void 0:be.data)==null?void 0:Fe.error)||Ve.message||"SSH-Konfiguration konnte nicht gespeichert werden";r({variant:"error",title:"Speichern fehlgeschlagen",description:We})}finally{it(!1)}},[B,yn,T,r]),Ll=k.useCallback(async()=>{var be,Fe;if(B)try{st(!0);const Ve=await w(yn);ke({success:!0,timestamp:new Date,details:Ve==null?void 0:Ve.result}),r({variant:"success",title:"SSH-Verbindung erfolgreich",description:"Verbindung zum Portainer-Host wurde hergestellt."})}catch(Ve){const We=((Fe=(be=Ve.response)==null?void 0:be.data)==null?void 0:Fe.error)||Ve.message||"SSH-Verbindung fehlgeschlagen";ke({success:!1,timestamp:new Date,error:We}),r({variant:"error",title:"SSH-Test fehlgeschlagen",description:We})}finally{st(!1)}},[B,yn,w,r]),Fl=k.useCallback(async()=>{var be,Fe;if(B)try{we(!0),await C(),Ne(Oh()),Te(!1),ze(!1),ke(null),r({variant:"info",title:"SSH-Konfiguration gelöscht",description:"Die Verbindungseinstellungen wurden zurückgesetzt."})}catch(Ve){const We=((Fe=(be=Ve.response)==null?void 0:be.data)==null?void 0:Fe.error)||Ve.message||"SSH-Konfiguration konnte nicht gelöscht werden";r({variant:"error",title:"Löschen fehlgeschlagen",description:We})}finally{we(!1)}},[B,C,r]),$f=k.useCallback(async()=>{var be,Fe,Ve;if(!(tt||fe||!ae)&&!(typeof window<"u"&&!window.confirm(`Superuser und zugehörige Gruppe wirklich löschen? +Dies setzt die Superuser-Einrichtung zurück.`)))try{ft(!0);const We=await h(),rt=Number((We==null?void 0:We.usersRemoved)??0);r({variant:"success",title:"Superuser gelöscht",description:rt>1?`${rt} Konten aus der Superuser-Gruppe wurden entfernt.`:"Superuser-Konto wurde entfernt."}),await rn({silent:!0})}catch(We){if(((be=We.response)==null?void 0:be.status)===404)await rn({silent:!0}),r({variant:"info",title:"Kein Superuser vorhanden",description:"Es ist kein Superuser mehr vorhanden."});else{const Rt=((Ve=(Fe=We.response)==null?void 0:Fe.data)==null?void 0:Ve.error)||We.message||"Superuser konnte nicht gelöscht werden";r({variant:"error",title:"Löschen fehlgeschlagen",description:Rt})}}finally{ft(!1)}},[tt,fe,ae,h,rn,r]),Hf=k.useCallback(async be=>{var rt,Rt;if(!R||Wr===be)return;const Fe=Dr.find(Nt=>Nt.id===be);if(!Fe)return;const Ve=Fe.name||`Endpoint ${Fe.external_id}`,We=`Endpoint "${Ve}" wirklich löschen?${Fe.is_default?` +Dieser Endpoint ist aktuell als Standard markiert.`:""}`;if(!(typeof window<"u"&&!window.confirm(We))){Mn(be);try{await l(be),r({variant:"success",title:"Endpoint gelöscht",description:`Endpoint "${Ve}" wurde entfernt.`}),await Ir({silent:!0})}catch(Nt){const Dt=((Rt=(rt=Nt.response)==null?void 0:rt.data)==null?void 0:Rt.error)||Nt.message||"Endpoint konnte nicht gelöscht werden.";r({variant:"error",title:"Endpoint löschen fehlgeschlagen",description:Dt})}finally{Mn(null)}}},[R,l,Wr,Ir,Dr,r]),qf=k.useCallback(async be=>{var Rt,Nt;if(!R||tn===be)return;const Fe=Dn.find(Dt=>Dt.id===be);if(!Fe)return;const Ve=Dr.filter(Dt=>Dt.server_id===be),We=Fe.name||Fe.url||`Server ${be}`,rt=[`Server "${We}" wirklich löschen?`,Ve.length?`Dabei werden ${Ve.length} zugeordnete Endpoint(s) entfernt.`:null,"Das System benötigt anschließend erneut einen gültigen Server/Endpoint im Setup."].filter(Boolean).join(` +`);if(!(typeof window<"u"&&!window.confirm(rt))){Tr(be);try{await c(be),r({variant:"success",title:"Server gelöscht",description:`Server "${We}" wurde entfernt.`}),await Ir({silent:!0})}catch(Dt){const yr=((Nt=(Rt=Dt.response)==null?void 0:Rt.data)==null?void 0:Nt.error)||Dt.message||"Server konnte nicht gelöscht werden.";r({variant:"error",title:"Server löschen fehlgeschlagen",description:yr})}finally{Tr(null)}}},[R,c,Ir,tn,Dr,Dn,r]),Gf=k.useCallback((be,Fe)=>{N&&Wt(Ve=>({...Ve,[be]:Fe}))},[N]),Kf=k.useCallback(async be=>{var Ve,We;if(!N)return;const Fe=(Mr[be]??"").trim();if(!Fe){r({variant:"warning",title:"API-Key fehlt",description:"Bitte gib einen API-Key ein."});return}if(Cr!==be){Gt(be);try{await u(be,Fe),r({variant:"success",title:"API-Key aktualisiert",description:"Der API-Key wurde gespeichert."}),Wt(rt=>({...rt,[be]:""})),await Ir({silent:!0})}catch(rt){const Rt=((We=(Ve=rt.response)==null?void 0:Ve.data)==null?void 0:We.error)||rt.message||"API-Key konnte nicht aktualisiert werden.";r({variant:"error",title:"Aktualisierung fehlgeschlagen",description:Rt})}finally{Gt(null)}}},[Mr,Cr,N,Ir,r,u]),Ou=k.useCallback(async be=>{var Fe,Ve;if(E&&!(s||re)&&be!==W){if(q){r({variant:"warning",title:"Aktion nicht möglich",description:"Während eines laufenden Updates kann der Wartungsmodus nicht geändert werden."});return}ge(!0);try{const We=be&&!!$,rt={active:be};We&&z?rt.message=z:rt.message=null,await g(rt),r({variant:be?"info":"success",title:be?"Wartungsmodus aktiviert":"Wartungsmodus deaktiviert",description:be?"Benutzer sehen jetzt die Wartungsseite.":"StackPulse steht wieder zur Verfügung."})}catch(We){const rt=((Ve=(Fe=We.response)==null?void 0:Fe.data)==null?void 0:Ve.error)||We.message||"Wartungsmodus konnte nicht geändert werden";r({variant:"error",title:"Änderung fehlgeschlagen",description:rt})}finally{ge(!1)}}},[E,s,re,W,q,g,z,$,r]),To=k.useCallback(async()=>{var Fe,Ve;if(!L)return;if(W||q){r({variant:"warning",title:"Update nicht möglich",description:"Während eines aktiven Wartungsmodus kann kein weiteres Update gestartet werden."});return}const be=(_t==null?void 0:_t.latestVersion)??(_t==null?void 0:_t.currentVersion)??"unbekannt";if(!(typeof window<"u"&&!window.confirm(`Portainer-Update starten? +Zielversion: ${be}. +Während des Updates befindet sich StackPulse im Wartungsmodus. +Fortfahren?`)))try{he(""),Se(!0),await b(),r({variant:"info",title:"Update gestartet",description:"Das Portainer-Update wurde gestartet."})}catch(We){const rt=((Ve=(Fe=We.response)==null?void 0:Fe.data)==null?void 0:Ve.error)||We.message||"Portainer-Update konnte nicht gestartet werden";he(rt),r({variant:"error",title:"Update fehlgeschlagen",description:rt})}finally{Se(!1)}},[L,W,q,_t,b,r]),vi=k.useCallback(async be=>{var rt,Rt,Nt,Dt;if(!Q||!be)return;if(W||q){r({variant:"warning",title:"Aktion nicht möglich",description:"Während des Wartungsmodus sind Bereinigungen deaktiviert."});return}const Fe=(rt=be.canonical)==null?void 0:rt.Id;if(!Fe)return;const Ve=(be.duplicates||[]).map(yr=>yr.Id).filter(Boolean);if(!Ve.length)return;const We=((Rt=be.canonical)==null?void 0:Rt.Name)||be.name||`Stack ${Fe}`;if(!(typeof window<"u"&&!window.confirm(`Bereinigung für "${We}" starten? +Es werden ${Ve.length} Duplikate entfernt: ${Ve.join(", ")}`))){mt(String(Fe));try{const qo=(await nt.post("/api/maintenance/duplicates/cleanup",{canonicalId:Fe,duplicateIds:Ve})).data??{};if(qo.success===!1)throw new Error(qo.error||"Bereinigung fehlgeschlagen");const Xf=Array.isArray(qo.results)?qo.results.filter(Ci=>Ci.status==="deleted").map(Ci=>Ci.id):Ve;r({variant:"success",title:"Bereinigung abgeschlossen",description:`${We} – entfernte IDs: ${Xf.join(", ")}`}),await Co({silent:!0})}catch(yr){const qo=((Dt=(Nt=yr.response)==null?void 0:Nt.data)==null?void 0:Dt.error)||yr.message||"Bereinigung fehlgeschlagen";r({variant:"error",title:"Bereinigung fehlgeschlagen",description:qo})}finally{mt(null)}}},[Q,Co,W,r,q]);n!=null&&n.activatedAt&&Fa(n.activatedAt),n!=null&&n.updatedAt&&Fa(n.updatedAt);const oo=W||q,yi=(o==null?void 0:o.status)??(q?"running":"idle"),Pu=ZB[yi]??yi,ku=ss[yi]??ss.idle,xi=o!=null&&o.stage?JB[o.stage]??o.stage:"–",zl=(o==null?void 0:o.logs)??[],Yf=(o==null?void 0:o.targetVersion)??"-",Eu=(o==null?void 0:o.resultVersion)??"-",wi=o!=null&&o.startedAt?Fa(o.startedAt):"-",Qf=o!=null&&o.finishedAt?Fa(o.finishedAt):"-",Bl=(o==null?void 0:o.message)??(q?"Update läuft…":""),Vl=q||me||s;return y?x.jsxs("div",{className:"mt-12 mb-8 flex flex-col gap-12",children:[(W||q)&&x.jsx("div",{className:"rounded-lg border border-cyan-500/60 bg-cyan-900/30 px-4 py-3 text-sm text-bluegray-100",children:x.jsxs("div",{className:"flex flex-col gap-1",children:[x.jsxs("span",{children:["Wartungsmodus aktiv",z?` – ${z}`:q?" – Portainer-Update läuft":"","."]}),q&&x.jsxs("span",{className:"text-xs text-indigo-900",children:["Phase: ",xi]})]})}),y&&x.jsxs(G.Card,{children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:x.jsx(G.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:x.jsx("span",{children:"Wartungsmodus"})})}),x.jsxs(G.CardBody,{className:"flex flex-col gap-4 p-4",children:[x.jsxs("div",{className:"flex items-start justify-between gap-4",children:[x.jsx("div",{className:"space-y-1",children:x.jsx("p",{className:"text-sm antialiased font-sans text-sm font-light leading-normal text-inherit",children:"Schaltet StackPulse für Benutzer in den Wartungsmodus."})}),x.jsx(G.Switch,{checked:W,disabled:!E||re||s||q,onChange:be=>Ou(be.target.checked),ripple:!1,color:"amber"})]}),re&&x.jsx("p",{className:"text-xs text-stormGrey-500",children:"Wartungsmodus wird aktualisiert…"})]})]}),P&&x.jsxs(G.Card,{children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:x.jsx(G.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:x.jsx("span",{children:"Server & Endpoints"})})}),x.jsxs(G.CardBody,{className:"flex flex-col gap-4 p-4",children:[ht&&x.jsx("p",{className:"text-sm text-stormGrey-500",children:"Daten werden geladen…"}),!ht&&er&&x.jsx(Alert,{color:"red",className:"border border-red-200 bg-red-50 text-red-700",children:er}),!ht&&!er&&x.jsxs("div",{className:"flex flex-col gap-6",children:[x.jsxs("div",{className:"flex flex-col gap-3",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx(G.Typography,{variant:"small",color:"blue-gray",className:"font-semibold uppercase",children:"Server"}),x.jsxs(G.Typography,{variant:"small",color:"blue-gray",children:[Dn.length," vorhanden"]})]}),Dn.length===0?x.jsx("p",{className:"text-sm text-stormGrey-500",children:"Es sind derzeit keine Server hinterlegt."}):x.jsx("div",{className:"flex flex-col gap-3",children:Dn.map(be=>{const Fe=It.get(be.id)||null,Ve=!!(Fe!=null&&Fe.hasKey),We=Fe!=null&&Fe.updatedAt?new Date(Fe.updatedAt).toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):null;return x.jsxs("div",{className:"flex flex-col gap-3 rounded-md border border-blue-gray-100 p-3 md:flex-row md:items-start md:justify-between",children:[x.jsxs("div",{className:"flex flex-col gap-1",children:[x.jsx("p",{className:"text-sm font-medium text-stormGrey-900",children:be.name||"Ohne Namen"}),x.jsx("p",{className:"text-xs text-stormGrey-500 break-all",children:be.url}),x.jsxs("p",{className:"text-xs text-stormGrey-500",children:["API-Key: ",Ve?"vorhanden":"nicht hinterlegt",We?` (aktualisiert am ${We})`:""]})]}),x.jsxs("div",{className:"flex w-full flex-col gap-2 md:max-w-xs",children:[x.jsx(G.Input,{type:"password",label:"Neuer API-Key",value:Mr[be.id]??"",onChange:rt=>Gf(be.id,rt.target.value),disabled:!N||ht||Cr===be.id}),x.jsxs("div",{className:"flex items-center gap-2 justify-end",children:[x.jsx(G.Button,{variant:"text",color:"red",size:"sm",onClick:()=>qf(be.id),disabled:!R||ht||tn===be.id||Wr!==null||Cr===be.id,children:tn===be.id?"Lösche…":"Löschen"}),x.jsx(G.Button,{color:"blue",size:"sm",onClick:()=>Kf(be.id),disabled:!N||ht||Cr===be.id,children:Cr===be.id?"Speichere…":"API-Key speichern"})]})]})]},be.id)})})]}),x.jsxs("div",{className:"flex flex-col gap-3",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx(G.Typography,{variant:"small",color:"blue-gray",className:"font-semibold uppercase",children:"Endpoints"}),x.jsxs(G.Typography,{variant:"small",color:"blue-gray",children:[Dr.length," vorhanden"]})]}),Dr.length===0?x.jsx("p",{className:"text-sm text-stormGrey-500",children:"Es sind derzeit keine Endpoints hinterlegt."}):x.jsx("div",{className:"flex flex-col gap-3",children:Dr.map(be=>x.jsxs("div",{className:"flex flex-col gap-2 rounded-md border border-blue-gray-100 p-3 md:flex-row md:items-center md:justify-between",children:[x.jsxs("div",{children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("p",{className:"text-sm font-medium text-stormGrey-900",children:be.name||`Endpoint ${be.external_id}`}),be.is_default?x.jsx("span",{className:"rounded-full bg-arcticBlue-100 px-2 py-0.5 text-[10px] font-semibold text-arcticBlue-700",children:"Standard"}):null]}),x.jsxs("p",{className:"text-xs text-stormGrey-500",children:["ID: ",be.external_id," · Server: ",be.server_name||be.server_url]})]}),x.jsx("div",{className:"flex items-center gap-2",children:x.jsx(G.Button,{variant:"text",color:"red",size:"sm",onClick:()=>Hf(be.id),disabled:!R||ht||Wr===be.id||tn!==null,children:Wr===be.id?"Lösche…":"Löschen"})})]},be.id))})]}),!tr&&x.jsx(Alert,{color:"amber",className:"border border-amber-200 bg-amber-50 text-amber-800",children:"Das Setup ist aktuell unvollständig. Bitte öffne den Setup-Bereich, um Server, Endpoint und API-Key erneut festzulegen."}),x.jsx("div",{className:"flex items-center justify-end",children:x.jsx(G.Button,{variant:"outlined",color:"gray",size:"sm",onClick:()=>Ir(),disabled:ht,children:"Aktualisieren"})})]})]})]}),P&&x.jsxs(G.Card,{children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:x.jsx(G.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:x.jsx("span",{children:"Superuser"})})}),x.jsxs(G.CardBody,{className:"flex flex-col gap-4 p-4",children:[x.jsxs("div",{className:"space-y-2",children:[fe&&x.jsx("p",{className:"text-sm text-stormGrey-500",children:"Status wird geladen…"}),!fe&&se&&x.jsx("p",{className:"text-sm text-sunsetCoral-600",children:se}),!fe&&!se&&ae&&x.jsxs("div",{className:"space-y-1",children:[x.jsx("p",{className:"text-sm",children:"Superuser ist angelegt."}),x.jsxs("p",{className:"text-xs text-stormGrey-500",children:["Benutzername: ",x.jsx("span",{className:"font-medium text-stormGrey-900",children:(xe==null?void 0:xe.username)??"unbekannt"}),xe!=null&&xe.email?` - ${xe.email}`:""]})]}),!fe&&!se&&!ae&&x.jsx("p",{className:"text-sm",children:"Es ist kein Superuser vorhanden."})]}),x.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:justify-between",children:[x.jsx(G.Button,{variant:"outlined",color:"gray",onClick:()=>rn(),disabled:fe||tt,className:"w-full sm:w-auto",children:"Status aktualisieren"}),x.jsx(G.Button,{color:"red",onClick:$f,disabled:fe||tt||!ae,className:"w-full sm:w-auto",children:tt?"Wird gelöscht…":"Superuser löschen"})]}),x.jsx("p",{className:"text-xs text-stormGrey-500",children:"Entfernt das Superuser-Konto samt zugehöriger Gruppe. Danach kann der Erstbenutzer bei Bedarf erneut angelegt werden."})]})]}),M&&x.jsxs(G.Card,{children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:x.jsx(G.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:x.jsx("span",{children:"Portainer"})})}),x.jsxs(G.CardBody,{className:"flex flex-col gap-4 p-4 pt-0",children:[x.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[x.jsxs("div",{children:[x.jsx("h2",{className:"block antialiased font-sans text-lg font-semibold",children:"Portainer Status"}),x.jsx("p",{className:"block antialiased font-sans text-sm font-light leading-normal text-inherit",children:or?"Status wird geprüft…":wo||(q?"Portainer wird aktuell aktualisiert.":(_t==null?void 0:_t.updateAvailable)===!0?"Es ist ein Update für Portainer verfügbar.":"Portainer ist auf dem aktuellen Stand.")}),Ra&&!or&&x.jsxs("p",{className:"mt-1 text-xs text-stormGrey-500 block antialiased font-sans",children:["Stand: ",Ra.toLocaleString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})]})]}),x.jsx("div",{className:"flex items-center gap-3",children:x.jsx(G.Button,{onClick:()=>Aa({silent:!1}),disabled:or||_o,className:"w-full",children:"Status aktualisieren"})})]}),x.jsx("div",{className:"flex flex-col gap-4 mt-5 space-y-4 block antialiased font-sans text-sm font-light leading-normal text-inherit",children:!or&&!wo&&_t&&x.jsxs("div",{className:"",children:[x.jsxs("div",{className:"flex items-center justify-between space-y-2",children:[x.jsx("span",{children:"Installierte Version"}),x.jsx("span",{className:"font-medium",children:_t.currentVersion??"Unbekannt"})]}),x.jsxs("div",{className:"flex items-center justify-between space-y-2",children:[x.jsx("span",{children:"Neueste Version"}),x.jsx("span",{className:"font-medium",children:_t.latestVersion??"Unbekannt"})]}),x.jsxs("div",{className:"flex items-center justify-between space-y-2",children:[x.jsx("span",{children:"Status"}),x.jsx("span",{className:`rounded-full px-3 py-0.5 text-xs font-semibold ${_t.updateAvailable===!0?ss.error:_t.updateAvailable===!1?ss.success:ss.idle}`,children:_t.updateAvailable===!0?"Update verfügbar":_t.updateAvailable===!1?"Aktuell":"Unbekannt"})]}),_t.edition&&x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("span",{className:"text-stormGrey-400",children:"Edition"}),x.jsx("span",{className:"font-medium",children:_t.edition})]}),_t.build&&x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("span",{className:"text-stormGrey-400",children:"Build"}),x.jsx("span",{className:"font-medium",children:_t.build})]}),((Si=_t.errors)==null?void 0:Si.latestVersion)&&x.jsxs("div",{className:"rounded-md mt-8 border bg-sunsetCoral-600 text-white px-3 py-2 text-xs",children:["Neueste Version konnte nicht ermittelt werden: ",_t.errors.latestVersion]}),((Nu=_t.errors)==null?void 0:Nu.container)&&x.jsxs("div",{className:"rounded-md mt-8 border bg-sunsetCoral-600 text-white px-3 py-2 text-xs",children:["Container-Details konnten nicht ermittelt werden: ",_t.errors.container]})]})}),x.jsxs("div",{className:"mt-6 grid gap-6 lg:grid-cols-2 xl:grid-cols-3",children:[D&&x.jsxs("div",{className:"rounded-md border border-gray-700/20 p-4",children:[x.jsx("div",{className:"flex items-center justify-between",children:x.jsx("h3",{className:"text-sm font-semibold",children:"SSH-Verbindung"})}),x.jsxs("div",{className:"mt-3 grid gap-3 text-sm",children:[x.jsxs("label",{className:"grid gap-1",children:[x.jsx("span",{className:"text-xs uppercase tracking-wide",children:"Host"}),x.jsx("input",{type:"text",value:Ce.host,onChange:be=>Or("host",be.target.value),disabled:!B||qe||et||Ge||q,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none"})]}),x.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[x.jsxs("label",{className:"grid gap-1",children:[x.jsx("span",{className:"text-xs uppercase tracking-wide ",children:"Port"}),x.jsx("input",{type:"number",min:"1",value:Ce.port,onChange:be=>Or("port",be.target.value),disabled:!B||qe||et||Ge||q,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none"})]}),x.jsxs("label",{className:"grid gap-1",children:[x.jsx("span",{className:"text-xs uppercase tracking-wide ",children:"Benutzer"}),x.jsx("input",{type:"text",value:Ce.username,onChange:be=>Or("username",be.target.value),disabled:!B||qe||et||Ge||q,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none"})]})]}),x.jsxs("div",{className:"grid gap-1",children:[x.jsxs("div",{className:"flex items-center justify-between text-xs uppercase tracking-wide ",children:[x.jsx("label",{htmlFor:"maintenance-ssh-password",className:"cursor-pointer",children:"Passwort"}),x.jsx("button",{type:"button",onClick:()=>ze(be=>!be),disabled:!B||qe||et||Ge||q,className:"text-[11px] font-medium text-blue-500 transition hover:text-blue-800 disabled:opacity-50",children:je?"Verbergen":"Anzeigen"})]}),x.jsx("input",{id:"maintenance-ssh-password",type:je?"text":"password",value:Ce.password,onChange:be=>Or("password",be.target.value),disabled:!B||qe||et||Ge||q,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none",placeholder:"Passwort für den SSH-Benutzer",autoComplete:"off",spellCheck:!1}),Pe&&!Ce.password&&x.jsx("span",{className:"text-[11px] ",children:"Ein Passwort ist gespeichert. Neuer Inhalt ersetzt es oder lösche die Konfiguration unten."})]}),x.jsxs("label",{className:"grid gap-1",children:[x.jsx("span",{className:"text-xs uppercase tracking-wide ",children:"Weitere SSH-Argumente"}),x.jsx("textarea",{rows:3,value:Ce.extraSshArgs,onChange:be=>Or("extraSshArgs",be.target.value),disabled:!B||qe||et||Ge||q,className:"w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 font-mono text-[11px] focus:border-purple-500 focus:outline-none",placeholder:"je Zeile ein Argument (optional)"})]})]}),x.jsxs("div",{className:"mt-4 grid gap-2",children:[x.jsx(G.Button,{onClick:bi,disabled:!B||qe||et||Ge||q,className:"mt-3 w-full",children:qe?"Speichern…":"SSH-Konfiguration speichern"}),x.jsx(G.Button,{onClick:Ll,disabled:!B||qe||et||Ge||q,className:"w-full bg-arcticBlue-500 hover:bg-arcticBlue-600",children:et?"Test läuft…":"Verbindung testen"}),x.jsx(G.Button,{onClick:Fl,disabled:!B||qe||et||Ge||q,className:"w-full hover:bg-sunsetCoral-600 bg-sunsetCoral-500",children:Ge?"Löschen…":"SSH-Einstellungen löschen"})]}),Ee&&x.jsx("p",{className:`mt-3 text-xs ${Ee.success?"text-mossGreen-600":"text-sunsetCoral-500"}`,children:Ee.success?"SSH-Verbindung erfolgreich.":`SSH-Verbindung fehlgeschlagen: ${Ee.error}`})]}),D&&x.jsxs("div",{className:"rounded-md border border-gray-700/20 p-4",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("h3",{className:"text-sm font-semibold",children:"Update-Skript"}),x.jsxs("span",{className:"text-xs",children:["Quelle: ",Ae]})]}),x.jsx("textarea",{value:Z,onChange:be=>ie(be.target.value),rows:10,disabled:!B||me||q,className:"mt-3 w-full rounded-md border border-gray-700/20 px-3 py-2 font-mono text-xs focus:border-purple-500 focus:outline-none"}),x.jsxs("div",{className:"mt-3 grid gap-2",children:[x.jsx(G.Button,{onClick:no,disabled:!B||!de||me||q,className:"mt-3 w-full",children:"Speichern"}),x.jsx(G.Button,{color:"purple",onClick:Ma,disabled:!B||!a||a.source!=="custom"||me||q,className:"w-full hover:bg-sunsetCoral-600 bg-sunsetCoral-500",children:"Standard wiederherstellen"})]}),(a==null?void 0:a.customUpdatedAt)&&x.jsxs("p",{className:"mt-2 text-xs text-stormGrey-500",children:["Zuletzt geändert: ",Fa(a.customUpdatedAt)]})]}),D&&x.jsxs("div",{className:"rounded-md border border-gray-700/20 p-4",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("h3",{className:"text-sm font-semibold",children:"Update-Status"}),x.jsx("span",{className:`rounded-full px-3 py-0.5 text-xs font-semibold ${ku}`,children:Pu})]}),x.jsxs("div",{className:"mt-3 grid gap-2 text-xs",children:[x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("span",{children:"Phase"}),x.jsx("span",{className:"font-medium",children:xi})]}),x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("span",{children:"Ziel-Version"}),x.jsx("span",{className:"font-medium",children:Yf})]}),x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("span",{children:"Installierte Version"}),x.jsx("span",{className:"font-medium",children:Eu})]}),x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("span",{children:"Gestartet"}),x.jsx("span",{children:wi})]}),x.jsxs("div",{className:"flex items-center justify-between",children:[x.jsx("span",{children:"Beendet"}),x.jsx("span",{children:Qf})]}),Bl&&x.jsx("div",{className:"rounded-md border border-mossGreen-700 bg-mossGreen-800 px-3 py-2 text-xs text-white",children:Bl}),(o==null?void 0:o.error)&&x.jsx("div",{className:"rounded-md border border-sunsetCoral-500/60 bg-sunsetCoral-900/40 px-3 py-2 text-xs text-white",children:o.error}),ve&&x.jsx("div",{className:"rounded-md border border-sunsetCoral-500/60 bg-sunsetCoral-900/40 px-3 py-2 text-xs text-white",children:ve})]}),x.jsx("div",{className:"mt-3 h-40 overflow-y-auto rounded-md border border-gray-700/20 bg-gray-950/70 p-3 font-mono text-[11px] leading-relaxed",children:zl.length===0?x.jsx("p",{className:"text-stormGrey-500",children:"Noch keine Protokolle vorhanden."}):zl.map((be,Fe)=>x.jsxs("div",{className:"mb-2 last:mb-0",children:[x.jsxs("span",{className:"text-gray-500",children:["[",tV(be.timestamp),"]"]})," ",x.jsx("span",{className:(eV[be.level]??"text-stormGrey-300")+" whitespace-normal break-words",style:{overflowWrap:"anywhere",wordBreak:"normal"},children:be.message})]},`${be.timestamp}-${Fe}`))}),x.jsx(G.Button,{onClick:To,disabled:!L||Vl||te,className:"mt-3 w-full",children:te?"Update wird gestartet…":"Portainer aktualisieren"})]})]})]})]}),H&&x.jsxs(G.Card,{children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:x.jsx(G.Typography,{variant:"h6",color:"white",className:"flex items-center justify-between",children:x.jsx("span",{children:"Doppelte Stacks"})})}),x.jsxs(G.CardBody,{className:"flex flex-col gap-4 p-4",children:[x.jsx("div",{className:"rounded-lg border border-warmAmberGlow-600 bg-warmAmberGlow-700 px-4 py-3 text-sm text-white",children:"Das Entfernen von doppelten Stacks ist noch nicht getestet. Bitte nicht in Produktivumgebungen einsetzen."}),x.jsxs("div",{className:"flex items-start justify-between gap-4",children:[x.jsxs("div",{className:"space-y-1",children:[x.jsx("p",{className:"text-sm antialiased font-sans text-sm font-light leading-normal text-inherit",children:oo?"Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert.":pr?"Analyse läuft…":Et.groups===0?"Keine Duplikate gefunden":`${Et.groups} Stack-Namen mit insgesamt ${Et.duplicateCount} Duplikaten gefunden`}),Pt&&!pr&&!oo&&x.jsxs("p",{className:"mt-1 text-xs text-gray-500",children:["Stand: ",Pt.toLocaleString("de-DE",{hour:"2-digit",minute:"2-digit",second:"2-digit"})]})]}),x.jsx(G.Button,{onClick:()=>Co({silent:!1}),disabled:oo||pr||Be||Mt!==null,className:"",children:"Aktualisieren"}),J&&!oo&&x.jsx("div",{className:"rounded-lg border border-sunsetCoral-500/60 bg-sunsetCoral-900/40 px-4 py-3 text-sm text-white",children:J})]}),pr?x.jsx("div",{className:"flex flex-col gap-4 p-4",children:"Daten werden geladen…"}):Et.groups===0||oo?x.jsx("div",{className:"rounded-xl border-mossGreen-500/80 bg-mossGreen-900/90 text-mossGreen-100 p-8 text-center text-sm text-white",children:oo?"Wartungsmodus aktiv – Duplikat-Verwaltung ist vorübergehend deaktiviert.":"Es wurden keine doppelten Stacks gefunden."}):x.jsx("div",{className:"space-y-5",children:$r.map(be=>{var rt,Rt,Nt,Dt;const Fe=(rt=be==null?void 0:be.canonical)==null?void 0:rt.Id,Ve=(be==null?void 0:be.duplicates)||[],We=Mt===String(Fe);return x.jsxs("div",{className:"rounded-xl border border-gray-700 bg-gray-800/70 p-6 shadow",children:[x.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-start md:justify-between",children:[x.jsxs("div",{className:"space-y-1",children:[x.jsxs("div",{className:"flex items-center gap-2",children:[x.jsx("h3",{className:"text-lg font-semibold text-white",children:be.name}),x.jsxs("span",{className:"rounded-full bg-amber-500/20 px-3 py-0.5 text-xs font-medium text-amber-200",children:[Ve.length," Duplikat",Ve.length===1?"":"e"]})]}),x.jsxs("p",{className:"text-sm text-gray-300",children:["Behaltener Stack: ID ",Fe," (Endpoint ",((Rt=be==null?void 0:be.canonical)==null?void 0:Rt.EndpointId)??"-",")"]}),x.jsxs("p",{className:"text-xs text-gray-500",children:["Typ: ",$w((Nt=be==null?void 0:be.canonical)==null?void 0:Nt.Type)," • Erstellt: ",Fa((Dt=be==null?void 0:be.canonical)==null?void 0:Dt.Created)]})]}),x.jsx("button",{type:"button",onClick:()=>vi(be),disabled:!Q||oo||We||Be||pr,className:"self-start rounded-lg bg-sunsetCoral-500 px-4 py-2 text-sm font-semibold text-white transition hover:bg-sunsetCoral-600 disabled:opacity-50",children:We?"Bereinigung läuft…":`Bereinigen (${Ve.length})`})]}),x.jsx("div",{className:"mt-5 grid gap-3",children:Ve.map(yr=>x.jsx("div",{className:"rounded-lg border border-sunsetCoral-500/40 bg-sunsetCoral-900/20 p-4 text-sm text-white",children:x.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[x.jsxs("span",{className:"font-semibold text-white",children:["ID: ",yr.Id]}),x.jsxs("span",{children:["Endpoint: ",yr.EndpointId??"-"]}),x.jsxs("span",{children:["Typ: ",$w(yr.Type)]}),x.jsxs("span",{children:["Erstellt: ",Fa(yr.Created)]})]})},yr.Id))})]},Fe||be.name)})})]})]})]}):null}const nV={initializing:"Vorbereitung","activating-maintenance":"Wartungsmodus aktivieren","executing-script":"Skript wird ausgeführt",waiting:"Warte auf Portainer",completed:"Abgeschlossen",failed:"Fehlgeschlagen"},Va=mo.forwardRef(({value:e,onClick:t,onKeyDown:r,...n},o)=>{const{setOpen:a}=G.useSelect(),i=k.useCallback(()=>{(typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame:b=>setTimeout(b,0))(()=>{a(!0)})},[a]),s=k.useCallback(g=>{typeof t=="function"&&t(g),i()},[t,i]),f=k.useCallback(g=>{typeof r=="function"&&r(g),(g.key==="Enter"||g.key===" ")&&i()},[r,i]);return x.jsx(G.Option,{...n,value:e,ref:o,onClick:s,onKeyDown:f})});Va.displayName="StickyOption";const oV={success:"text-mossGreen-500",warning:"text-warmAmberGlow-500",error:"text-sunsetCoral-500",started:"text-arcticBlue-500",running:"text-arcticBlue-500",info:"text-arcticBlue-500",queued:"text-indigo-500"},aV=e=>{if(!e)return"-";const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})},Hw=e=>{if(e)return e.replace("T"," ")},qw="eventLogFilters",so="__all__",iV="- Alle -",lV=e=>!!(e.categories&&e.categories.length||e.eventTypes&&e.eventTypes.length||e.actions&&e.actions.length||e.statuses&&e.statuses.length||e.entityTypes&&e.entityTypes.length||e.contextTypes&&e.contextTypes.length||e.entityId&&e.entityId.trim()||e.contextId&&e.contextId.trim()||e.search&&e.search.trim()||e.from&&e.from.trim()||e.to&&e.to.trim()),sV=e=>{if(e==null)return"-";if(typeof e=="object")try{return JSON.stringify(e)}catch{return"[Objekt]"}return String(e)},uV=e=>{if(!e||typeof e!="object")return"";const t=Object.entries(e);return t.length?t.map(([r,n])=>`${r}: ${sV(n)}`).join(" • "):""};function cV(){const[e,t]=k.useState([]),[r,n]=k.useState(!0),[o,a]=k.useState(""),[i,s]=k.useState(!1),[f,g]=k.useState([]),[b,S]=k.useState([]),[O,T]=k.useState([]),[C,w]=k.useState([]),[m,d]=k.useState([]),[l,c]=k.useState([]),[u,h]=k.useState([]),[v,y]=k.useState([]),[E,P]=k.useState([]),[N,R]=k.useState([]),[M,L]=k.useState([]),[D,B]=k.useState([]),[H,Q]=k.useState(""),[W,z]=k.useState(""),[$,q]=k.useState(""),[Z,ie]=k.useState(""),[me,ue]=k.useState(""),[te,Se]=k.useState(!1),[ve,he]=k.useState(!1),[re,ge]=k.useState(!1),[Ce,Ne]=k.useState(0),{maintenance:Pe,update:Te}=mi(),je=!!(Pe!=null&&Pe.active),ze=Pe==null?void 0:Pe.message,qe=!!(Te!=null&&Te.running),it=Te!=null&&Te.stage?nV[Te.stage]??Te.stage:"–",{hasPermission:et}=mn(),st=et("logs-delete","full"),Ge=et("logs-export","full"),{page:we,perPage:Ee,perPageOptions:ke,setPage:De,setPerPage:de,setTotals:Ae,handlePerPageChange:fe,validPerPageValues:ee,resetPagination:ae}=Tu(),Oe=k.useCallback(()=>{},[]);k.useEffect(()=>()=>ae(),[ae]);const xe=k.useCallback(J=>{const Ie=Array.isArray(J)?J:(J==null?void 0:J.items)??[],Be=new Set,Ot=new Set,Mt=new Set,mt=new Set,Pt=new Set,sr=new Set;Ie.forEach(xt=>{xt.category&&Be.add(xt.category),xt.eventType&&Ot.add(xt.eventType),xt.action&&Mt.add(xt.action),xt.status&&mt.add(xt.status),xt.entityType&&Pt.add(xt.entityType),xt.contextType&&sr.add(xt.contextType)}),g(Array.from(Be).sort()),S(Array.from(Ot).sort()),T(Array.from(Mt).sort()),w(Array.from(mt).sort()),d(Array.from(Pt).sort()),c(Array.from(sr).sort()),ge(!0)},[]);k.useEffect(()=>{re&&h(J=>{const Ie=J.filter(Be=>f.includes(Be));return Ie.length===J.length?J:Ie})},[re,f]),k.useEffect(()=>{re&&y(J=>{const Ie=J.filter(Be=>b.includes(Be));return Ie.length===J.length?J:Ie})},[re,b]),k.useEffect(()=>{re&&P(J=>{const Ie=J.filter(Be=>O.includes(Be));return Ie.length===J.length?J:Ie})},[re,O]),k.useEffect(()=>{re&&R(J=>{const Ie=J.filter(Be=>C.includes(Be));return Ie.length===J.length?J:Ie})},[re,C]),k.useEffect(()=>{re&&L(J=>{const Ie=J.filter(Be=>m.includes(Be));return Ie.length===J.length?J:Ie})},[re,m]),k.useEffect(()=>{re&&B(J=>{const Ie=J.filter(Be=>l.includes(Be));return Ie.length===J.length?J:Ie})},[re,l]),k.useEffect(()=>{if(typeof window>"u"){he(!0);return}try{const J=window.localStorage.getItem(qw);if(J){const Ie=JSON.parse(J),Be=(Ie==null?void 0:Ie.filters)??Ie??{},Ot=(Ie==null?void 0:Ie.pagination)??{};h(Be.categories||[]),y(Be.eventTypes||[]),P(Be.actions||[]),R(Be.statuses||[]),L(Be.entityTypes||[]),B(Be.contextTypes||[]),Q(Be.entityId||""),z(Be.contextId||""),q(Be.search||""),ie(Be.from||""),ue(Be.to||""),Se(lV(Be));const Mt=Ot.perPage;if(Mt!==void 0){const Pt=String(Mt);ee.has(Pt)&&de(Pt,{resetPage:!1})}const mt=Ot.page;typeof mt=="number"&&mt>0&&De(mt)}}catch(J){console.error("❌ Fehler beim Laden der gespeicherten Log-Filter:",J)}finally{he(!0)}},[De,de,ee]);const pe=k.useCallback(()=>{const J={};u.length&&(J.categories=u.join(",")),v.length&&(J.eventTypes=v.join(",")),E.length&&(J.actions=E.join(",")),N.length&&(J.statuses=N.join(",")),M.length&&(J.entityTypes=M.join(",")),D.length&&(J.contextTypes=D.join(",")),H.trim()&&(J.entityId=H.trim()),W.trim()&&(J.contextId=W.trim()),$.trim()&&(J.search=$.trim());const Ie=Hw(Z);Ie&&(J.from=Ie);const Be=Hw(me);return Be&&(J.to=Be),J},[u,v,E,N,M,D,H,W,$,Z,me]);k.useEffect(()=>{if(!ve)return;let J=!1;return nt.get("/api/logs",{params:{perPage:"all",page:1}}).then(Ie=>{J||xe(Ie.data)}).catch(Ie=>{J||console.error("⚠️ Konnte Filteroptionen nicht aktualisieren:",Ie)}),()=>{J=!0}},[ve,xe,Ce]);const se=k.useMemo(()=>({categories:u,eventTypes:v,actions:E,statuses:N,entityTypes:M,contextTypes:D,entityId:H,contextId:W,search:$,from:Z,to:me}),[u,v,E,N,M,D,H,W,$,Z,me]);k.useEffect(()=>{if(!ve)return;const J={...pe()};Ee==="all"?(J.perPage="all",J.page=1):(J.perPage=Ee,J.page=we);let Ie=!1;return n(!0),a(""),nt.get("/api/logs",{params:J}).then(Be=>{if(Ie)return;const Ot=Be.data||{},Mt=Array.isArray(Ot)?Ot:Ot.items??[],mt=Array.isArray(Ot)?Mt.length:Ot.total??Mt.length;if(t(Mt),Ae(mt,Mt.length),Ee==="all")we!==1&&De(1);else{const Pt=Math.max(1,Math.ceil((mt||0)/Number(Ee))),sr=Math.min(Math.max(we,1),Pt);sr!==we&&De(sr)}}).catch(Be=>{Ie||(console.error("❌ Fehler beim Laden der Logs:",Be),a("Fehler beim Laden der Logs"))}).finally(()=>{Ie||n(!1)}),()=>{Ie=!0}},[ve,pe,xe,Ce,Ee,we,Ae]),k.useEffect(()=>{if(ve&&!(typeof window>"u"))try{window.localStorage.setItem(qw,JSON.stringify({filters:se,pagination:{perPage:Ee,page:we}}))}catch(J){console.error("⚠️ Konnte Filter nicht speichern:",J)}},[ve,se,Ee,we]);const Me=k.useCallback(J=>Ie=>{var Mt;if(typeof Ie=="string"){const mt=Ie;if(mt==="")return;J(Pt=>mt===so?[]:Pt.includes(mt)?Pt.filter(sr=>sr!==mt):[...Pt,mt]),De(1);return}const Be=(Mt=Ie==null?void 0:Ie.target)==null?void 0:Mt.selectedOptions;if(!Be)return;const Ot=Array.from(Be).map(mt=>mt.value);Ot.includes(so)?J([]):J(Ot),De(1)},[De]),tt=k.useMemo(()=>Me(h),[Me]),ft=k.useMemo(()=>Me(y),[Me]),pt=k.useMemo(()=>Me(P),[Me]),bt=k.useMemo(()=>Me(R),[Me]),ht=k.useMemo(()=>Me(L),[Me]),Jt=k.useMemo(()=>Me(B),[Me]),er=(J,Ie)=>{J(Be=>Be.filter(Ot=>Ot!==Ie)),De(1)},Ut=()=>{h([]),y([]),P([]),R([]),L([]),B([]),Q(""),z(""),q(""),ie(""),ue(""),Se(!1),De(1)},Mr=()=>{Se(J=>!J)},Wt=k.useCallback(J=>[{value:so,label:iV},...J.filter(Ie=>Ie!==so).map(Ie=>({value:Ie,label:Ie}))],[]),Cr=k.useMemo(()=>Wt(f),[Wt,f]),Gt=k.useMemo(()=>Wt(b),[Wt,b]),tn=k.useMemo(()=>Wt(O),[Wt,O]),Tr=k.useMemo(()=>Wt(C),[Wt,C]),Wr=k.useMemo(()=>Wt(m),[Wt,m]),Mn=k.useMemo(()=>Wt(l),[Wt,l]),$r=k.useMemo(()=>{let J=0;return u.length&&(J+=u.length),v.length&&(J+=v.length),E.length&&(J+=E.length),N.length&&(J+=N.length),M.length&&(J+=M.length),D.length&&(J+=D.length),H.trim()&&(J+=1),W.trim()&&(J+=1),$.trim()&&(J+=1),Z&&(J+=1),me&&(J+=1),J},[u,v,E,N,M,D,H,W,$,Z,me]),bn=async J=>{if(!st){a("Dir fehlt die Berechtigung, einzelne Logeinträge zu löschen.");return}if(window.confirm("Diesen Log-Eintrag dauerhaft löschen?")){s(!0),a("");try{await nt.delete(`/api/logs/${J}`),Ne(Ie=>Ie+1)}catch(Ie){console.error("❌ Fehler beim Löschen des Logs:",Ie),a("Fehler beim Löschen des Logs")}finally{s(!1)}}},pr=async()=>{if(!st){a("Dir fehlt die Berechtigung, Logs zu löschen.");return}if(e.length&&window.confirm("Alle angezeigten Logs (entsprechend Filter) löschen?")){s(!0),a("");try{const J={...pe(),ids:e.map(Ie=>Ie.id).join(",")};await nt.delete("/api/logs",{params:J}),Ne(Ie=>Ie+1)}catch(J){console.error("❌ Fehler beim Löschen der gefilterten Logs:",J),a("Fehler beim Löschen der gefilterten Logs")}finally{s(!1)}}},ro=async J=>{if(!Ge){a("Dir fehlt die Berechtigung, Logs zu exportieren.");return}s(!0),a("");try{const Ie=await nt.get("/api/logs/export",{params:{...pe(),format:J},responseType:"blob"}),Be=Ie.headers["content-type"]||(J==="sql"?"application/sql":"text/plain"),Mt=(Ie.headers["content-disposition"]||"").match(/filename="?([^";]+)"?/i),mt=(Mt==null?void 0:Mt[1])||`event-logs.${J}`,Pt=new Blob([Ie.data],{type:Be}),sr=window.URL.createObjectURL(Pt),xt=document.createElement("a");xt.href=sr,xt.download=mt,document.body.appendChild(xt),xt.click(),xt.remove(),window.URL.revokeObjectURL(sr)}catch(Ie){console.error("❌ Fehler beim Export der Logs:",Ie),a("Fehler beim Export der Logs")}finally{s(!1)}};return mo.useState(!1),x.jsxs("div",{className:"mt-12 mb-8 flex flex-col gap-12",children:[(je||qe)&&x.jsx("div",{className:"rounded-lg border border-cyan-500/60 bg-cyan-900/30 px-4 py-3 text-sm text-bluegray-100",children:x.jsxs("div",{className:"flex flex-col gap-1",children:[x.jsxs("span",{children:["Wartungsmodus aktiv",ze?` – ${ze}`:qe?" – Portainer-Update läuft":"","."]}),qe&&x.jsxs("span",{className:"text-xs text-indigo-900",children:["Phase: ",it]})]})}),x.jsxs(G.Card,{children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:x.jsx(G.Typography,{variant:"h6",color:"white",children:x.jsxs("button",{onClick:Mr,className:"flex w-full items-center justify-between",children:[x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{children:"Logs"}),$r>0&&x.jsxs("span",{className:"rounded-full bg-blue-gray-500/80 px-2 py-0.5 text-xs text-white",children:[$r," aktiv"]})]}),x.jsx("span",{className:"text-xs uppercase tracking-wide text-gray-400",children:te?"Filter ausblenden":"Filter anzeigen"})]})})}),x.jsxs(G.CardBody,{className:"pt-0",children:[te&&x.jsxs("div",{className:"mb-8",children:[(Ge||st)&&x.jsxs("div",{className:"flex flex-wrap gap-2",children:[Ge&&x.jsxs(x.Fragment,{children:[x.jsx(G.Button,{onClick:()=>ro("txt"),disabled:i||r,className:"w-full md:flex-1",children:"Export TXT"}),x.jsx(G.Button,{onClick:()=>ro("sql"),disabled:i||r,className:"w-full md:flex-1",children:"Export SQL"})]}),st&&x.jsx(G.Button,{onClick:pr,disabled:i||r||e.length===0,className:"w-full md:flex-1 bg-sunsetCoral-500 hover:bg-sunsetCoral-600",children:"Angezeigte löschen"})]}),x.jsxs("div",{className:"grid gap-6 mt-10",children:[x.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[x.jsxs("div",{className:"grid gap-3",children:[x.jsx(G.Select,{multiple:!0,onChange:Oe,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Kategorien",children:Cr.map(({value:J,label:Ie})=>x.jsx(Va,{value:J,onClick:()=>tt(J),onKeyDown:Be=>{(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),tt(J))},className:`text-black-600 ${J===so?"font-semibold text-black-800":""}`,children:Ie},J))}),x.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:u.length===0?x.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Kategorien"}):x.jsx("span",{children:u.map(J=>x.jsx("button",{type:"button",onClick:()=>er(h,J),className:"rounded-full bg-lavenderSmoke-600/80 px-2 py-0.5 text-white transition hover:bg-lavenderSmoke-600/90 focus:outline-none focus:ring-2 focus:ring-lavenderSmoke-400 cursor-pointer",title:"Filter entfernen",children:J},J))})})]}),x.jsxs("div",{className:"grid gap-3",children:[x.jsx(G.Select,{multiple:!0,onChange:Oe,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Event-Typen",children:Gt.map(({value:J,label:Ie})=>x.jsx(Va,{value:J,onClick:()=>ft(J),onKeyDown:Be=>{(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),ft(J))},className:`text-black-600 ${J===so?"font-semibold text-black-800":""}`,children:Ie},J))}),x.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:v.length===0?x.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Event-Typen"}):x.jsx("span",{children:v.map(J=>x.jsx("button",{type:"button",onClick:()=>er(y,J),className:"rounded-full bg-citrusPunch-600/80 px-2 py-0.5 text-white transition hover:bg-citrusPunch-600/90 focus:outline-none focus:ring-2 focus:ring-citrusPunch-400 cursor-pointer",title:"Filter entfernen",children:J},J))})})]})]}),x.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[x.jsxs("div",{className:"grid gap-3",children:[x.jsx(G.Select,{multiple:!0,onChange:Oe,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Aktionen",children:tn.map(({value:J,label:Ie})=>x.jsx(Va,{value:J,onClick:()=>pt(J),onKeyDown:Be=>{(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),pt(J))},className:`text-black-600 ${J===so?"font-semibold text-black-800":""}`,children:Ie},J))}),x.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:E.length===0?x.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Aktionen"}):x.jsx("span",{children:E.map(J=>x.jsx("button",{type:"button",onClick:()=>er(P,J),className:"rounded-full bg-emeraldMist-500/80 px-2 py-0.5 text-white transition hover:bg-emeraldMist-500/90 focus:outline-none focus:ring-2 focus:ring-emeraldMist-400 cursor-pointer",title:"Filter entfernen",children:J},J))})})]}),x.jsxs("div",{className:"grid gap-3",children:[x.jsx(G.Select,{multiple:!0,onChange:Oe,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Status",children:Tr.map(({value:J,label:Ie})=>x.jsx(Va,{value:J,onClick:()=>bt(J),onKeyDown:Be=>{(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),bt(J))},className:`text-black-600 ${J===so?"font-semibold text-black-800":""}`,children:Ie},J))}),x.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:N.length===0?x.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Status"}):x.jsx("span",{children:N.map(J=>x.jsx("button",{type:"button",onClick:()=>er(R,J),className:"rounded-full bg-copperRust-600/80 px-2 py-0.5 text-white transition hover:bg-copperRust-600/90 focus:outline-none focus:ring-2 focus:ring-copperRust-400 cursor-pointer",title:"Filter entfernen",children:J},J))})})]})]}),x.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[x.jsxs("div",{className:"grid gap-3",children:[x.jsx(G.Select,{multiple:!0,onChange:Oe,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Entitäts-Typen",children:Wr.map(({value:J,label:Ie})=>x.jsx(Va,{value:J,onClick:()=>ht(J),onKeyDown:Be=>{(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),ht(J))},className:`text-black-600 ${J===so?"font-semibold text-black-800":""}`,children:Ie},J))}),x.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:M.length===0?x.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Entitäten"}):x.jsx("span",{children:M.map(J=>x.jsx("button",{type:"button",onClick:()=>er(L,J),className:"rounded-full bg-indigo-600/80 px-2 py-0.5 text-white transition hover:bg-indigo-600/90 focus:outline-none focus:ring-2 focus:ring-indigo-400 cursor-pointer",title:"Filter entfernen",children:J},J))})})]}),x.jsxs("div",{className:"grid gap-3",children:[x.jsx(G.Select,{multiple:!0,onChange:Oe,className:"text-stormGrey-500",variant:"static",dismiss:{itemPress:!1},label:"Kontext",children:Mn.map(({value:J,label:Ie})=>x.jsx(Va,{value:J,onClick:()=>Jt(J),onKeyDown:Be=>{(Be.key==="Enter"||Be.key===" ")&&(Be.preventDefault(),Jt(J))},className:`text-black-600 ${J===so?"font-semibold text-black-800":""}`,children:Ie},J))}),x.jsx("div",{className:"mt-2 mb-2 min-h-[1.5rem] text-xs text-stormGrey-400",children:D.length===0?x.jsx("span",{className:"rounded-full bg-stormGrey-700/60 px-2 py-0.5 text-white",children:"Alle Kontexte"}):x.jsx("span",{children:D.map(J=>x.jsx("button",{type:"button",onClick:()=>er(B,J),className:"rounded-full bg-sunsetCoral-600/80 px-2 py-0.5 text-white transition hover:bg-sunsetCoral-600/90 focus:outline-none focus:ring-2 focus:ring-sunsetCoral-400 cursor-pointer",title:"Filter entfernen",children:J},J))})})]})]}),x.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[x.jsx("div",{className:"md:flex-1",children:x.jsx(G.Input,{value:H,onChange:J=>{Q(J.target.value),De(1)},variant:"static",label:"Entitäts-ID",placeholder:"z. B. Stack-ID"})}),x.jsx("div",{className:"md:flex-1",children:x.jsx(G.Input,{value:W,onChange:J=>{z(J.target.value),De(1)},variant:"static",label:"Kontext-ID",placeholder:"z. B. Endpoint-ID"})})]}),x.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[x.jsx("div",{className:"md:flex-1",children:x.jsx(G.Input,{value:$,onChange:J=>{q(J.target.value),De(1)},variant:"static",label:"Suche (Nachricht & Details)",placeholder:"Freitext"})}),x.jsx("div",{className:"md:mt-0 mt-8 md:flex-1",children:x.jsx(G.Select,{variant:"static",label:"Einträge pro Seite",onChange:Oe,value:Ee,children:ke.map(({value:J,label:Ie})=>x.jsx(G.Option,{value:J,onClick:()=>fe(J),children:Ie},J))})})]}),x.jsxs("div",{className:"flex flex-col md:flex-row flex-wrap gap-4",children:[x.jsx("div",{className:"flex-1 min-w-[200px]",children:x.jsx(G.Input,{type:"datetime-local",variant:"static",label:"Von",value:Z,onChange:J=>{ie(J.target.value),De(1)},className:"w-full"})}),x.jsx("div",{className:"flex-1 min-w-[200px]",children:x.jsx(G.Input,{type:"datetime-local",variant:"static",label:"Bis",value:me,onChange:J=>{ue(J.target.value),De(1)},className:"w-full"})}),x.jsx("div",{className:"flex-1 min-w-[180px]",children:x.jsx(G.Button,{onClick:Ut,disabled:i||r,className:"w-full",children:"Zurücksetzen"})})]})]})]}),x.jsx("div",{className:"overflow-x-auto rounded-lg border border-blue-gray-50",children:x.jsxs("table",{className:"w-full min-w-[860px] table-auto text-left",children:[x.jsx("thead",{children:x.jsx("tr",{className:"bg-blue-gray-50/50 text-xs uppercase tracking-wide text-stormGrey-400",children:["Zeitpunkt","Kategorie","Status","Entität","Kontext","Nachricht","Details","Aktionen"].map(J=>x.jsx("th",{className:"px-6 py-4 font-semibold",children:J},J))})}),x.jsx("tbody",{children:r?x.jsx("tr",{children:x.jsx("td",{colSpan:8,className:"px-6 py-8 text-center text-stormGrey-400",children:"Logs werden geladen ..."})}):e.length===0?x.jsx("tr",{children:x.jsx("td",{colSpan:8,className:"px-6 py-8 text-center text-stormGrey-400",children:"Keine Logs gefunden."})}):e.map((J,Ie)=>{const Be=oV[J.status]||"text-blue-300",Ot=Ie===e.length-1?"":"border-b border-blue-gray-50",Mt=J.category||"-",mt=J.entityName||J.entityId||"-",Pt=[];J.entityName&&J.entityId?Pt.push(`ID: ${J.entityId}`):!J.entityName&&J.entityId&&Pt.push(`ID: ${J.entityId}`),J.entityType&&Pt.push(J.entityType);const sr=J.contextLabel||J.contextType||(J.contextId?`#${J.contextId}`:"-"),xt=[];J.contextType&&xt.push(J.contextType),J.contextId&&xt.push(`#${J.contextId}`);const _t=uV(J.metadata),Hr=[];if(J.actorName||J.actorId){const or=J.actorName?J.actorName:`#${J.actorId}`,vn=J.actorName&&J.actorId?` (#${J.actorId})`:"";Hr.push(`Akteur: ${or}${vn}`)}return J.source&&Hr.push(`Quelle: ${J.source}`),_t&&Hr.push(_t),Hr.length||Hr.push("-"),x.jsxs("tr",{className:`text-sm text-stormGrey-700 ${Ot}`,children:[x.jsx("td",{className:"px-6 py-4 align-top",children:x.jsx(G.Typography,{variant:"small",className:"block text-xs font-medium text-stormGrey-600",children:aV(J.timestamp)})}),x.jsx("td",{className:"px-6 py-4 align-top",children:x.jsxs("div",{className:"flex flex-col gap-2",children:[x.jsx("span",{className:"font-medium",children:Mt}),x.jsxs("div",{className:"flex flex-wrap gap-2 text-xs text-stormGrey-400",children:[J.eventType&&x.jsx("span",{className:"rounded-full bg-citrusPunch-600/80 px-2 py-0.5 text-white",children:J.eventType}),J.action&&x.jsx("span",{className:"rounded-full bg-emeraldMist-500/80 px-2 py-0.5 text-white",children:J.action})]})]})}),x.jsxs("td",{className:"px-6 py-4 align-top",children:[x.jsx(G.Typography,{variant:"small",className:`font-semibold ${Be}`,children:J.status||"-"}),J.severity&&x.jsx(G.Typography,{variant:"small",className:"text-xs text-stormGrey-400",children:J.severity})]}),x.jsx("td",{className:"px-6 py-4 align-top",children:x.jsxs("div",{className:"flex flex-col gap-1",children:[x.jsx("span",{className:"font-medium break-words",children:mt}),Pt.length>0&&x.jsx("div",{className:"flex flex-col text-xs text-stormGrey-400",children:Pt.map(or=>x.jsx("span",{className:"break-words",children:or},or))})]})}),x.jsx("td",{className:"px-6 py-4 align-top",children:x.jsxs("div",{className:"flex flex-col gap-1",children:[x.jsx("span",{className:"font-medium break-words",children:sr}),xt.length>0&&x.jsx("div",{className:"flex flex-col text-xs text-stormGrey-400",children:xt.map(or=>x.jsx("span",{className:"break-words",children:or},or))})]})}),x.jsx("td",{className:"px-6 py-4 align-top",children:x.jsx(G.Typography,{variant:"small",className:"break-words",children:J.message||"-"})}),x.jsx("td",{className:"px-6 py-4 align-top",children:x.jsx("div",{className:"flex flex-col gap-1 text-xs text-stormGrey-500",children:Hr.map((or,vn)=>x.jsx("span",{className:"break-words",children:or},vn))})}),x.jsx("td",{className:"px-6 py-4 align-top",children:st&&x.jsx(G.Typography,{variant:"small",children:x.jsx("button",{onClick:()=>bn(J.id),disabled:i,className:"rounded-md border border-sunsetCoral-600 px-3 py-1 text-xs text-sunsetCoral-800 transition hover:bg-sunsetCoral-600/20 disabled:opacity-60",children:"Löschen"})})})]},J.id)})})]})}),x.jsxs("div",{className:"mt-6 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[x.jsx(G.Typography,{variant:"small",color:"gray",children:""}),x.jsx(Wf,{disabled:r&&e.length===0})]})]})]})]})}const dV=e=>Array.isArray(e)?e.map(t=>{if(t&&typeof t=="object"){const r=Number(t.id),n=typeof t.name=="string"?t.name:"";return n?{id:Number.isFinite(r)?r:null,name:n}:null}if(typeof t=="string"){const r=t.trim();return r?{id:null,name:r}:null}return null}).filter(Boolean):[];function fV(){const[e,t]=k.useState([]),[r,n]=k.useState(!1),[o,a]=k.useState(""),[i,s]=k.useState(""),[f,g]=k.useState([]),[b,S]=k.useState(!1),[O,T]=k.useState(""),[C,w]=k.useState(""),[m,d]=k.useState(""),[l,c]=k.useState(""),[u,h]=k.useState(""),[v,y]=k.useState(""),[E,P]=k.useState(!1),[N,R]=k.useState(null),[M,L]=k.useState(null),{showToast:D}=Dl(),{maintenance:B}=mi(),H=!!(B!=null&&B.active),Q=yo(),W=k.useCallback(()=>{},[]),{hasPermission:z}=mn(),$=z("users-edit","full"),q=z("users-delete","full"),{page:Z,perPage:ie,perPageOptions:me,perPageIsAll:ue,handlePerPageChange:te,setPage:Se,setTotals:ve,resetPagination:he}=Tu();k.useEffect(()=>()=>he(),[he]);const re=k.useCallback(async()=>{var de,Ae,fe;n(!0),a("");try{const ee=await nt.get("/api/users"),Oe=(Array.isArray((de=ee.data)==null?void 0:de.items)?ee.data.items:[]).map(xe=>({id:xe.id,username:xe.username||"",email:xe.email||"",isActive:!!xe.isActive,avatarColor:typeof xe.avatarColor=="string"?xe.avatarColor.trim():null,lastLogin:xe.lastLogin||null,createdAt:xe.createdAt||null,updatedAt:xe.updatedAt||null,groups:dV(xe.groups)})).sort((xe,pe)=>xe.username.localeCompare(pe.username,"de-DE"));t(Oe)}catch(ee){const ae=((fe=(Ae=ee.response)==null?void 0:Ae.data)==null?void 0:fe.error)||ee.message||"Unbekannter Fehler";a(ae),D({variant:"error",title:"Benutzer konnten nicht geladen werden",description:ae})}finally{n(!1)}},[D]),ge=k.useCallback(async()=>{var de,Ae,fe;S(!0),T("");try{const ee=await nt.get("/api/groups"),Oe=(Array.isArray((de=ee.data)==null?void 0:de.items)?ee.data.items:[]).map(xe=>({id:Number(xe.id),name:xe.name||""})).filter(xe=>Number.isFinite(xe.id)&&xe.id>0&&xe.name).filter(xe=>xe.name.toLowerCase()!=="superuser").sort((xe,pe)=>xe.name.localeCompare(pe.name,"de-DE"));g(Oe)}catch(ee){const ae=((fe=(Ae=ee.response)==null?void 0:Ae.data)==null?void 0:fe.error)||ee.message||"Benutzergruppen konnten nicht geladen werden.";T(ae),D({variant:"error",title:"Benutzergruppen",description:ae})}finally{S(!1)}},[D]);k.useEffect(()=>{re()},[re]),k.useEffect(()=>{ge()},[ge]),k.useCallback(()=>{re(),ge()},[re,ge]);const Ce=k.useCallback(de=>{s(de.target.value)},[]);k.useCallback(()=>{s("")},[]),k.useEffect(()=>{Z!==1&&Se(1)},[i,Z,Se]);const Ne=k.useMemo(()=>{const de=i.trim().toLowerCase();return de?e.filter(Ae=>[Ae.username,Ae.email,...Ae.groups.map(ee=>ee.name)].map(ee=>String(ee||"").toLowerCase()).some(ee=>ee.includes(de))):e},[e,i]),Pe=k.useMemo(()=>{if(ue)return null;const de=Number(ie);return Number.isFinite(de)&&de>0?de:null},[ie,ue]),Te=k.useMemo(()=>{if(ue||!Pe)return Ne;const de=(Z-1)*Pe;return Ne.slice(de,de+Pe)},[Ne,Z,ue,Pe]),je=Ne.length,ze=Te.length;k.useEffect(()=>{if(ue){ve(je,je),Z!==1&&Se(1);return}const de=Number(ie);if(!Number.isFinite(de)||de<=0){ve(je,je);return}const Ae=Math.max(1,Math.ceil(je/de));if(Z>Ae){Se(Ae);return}ve(je,ze)},[je,ze,Z,ie,ue,Se,ve]);const qe=k.useCallback(de=>{if(!de)return"–";const Ae=typeof de=="string"?de.replace(" ","T"):de,fe=new Date(Ae);return Number.isNaN(fe.getTime())?de:new Intl.DateTimeFormat("de-DE",{dateStyle:"short",timeStyle:"short"}).format(fe)},[]),it=k.useCallback(()=>{w(""),d(""),c(""),h(""),y("")},[]),et=k.useCallback(async de=>{var ae,Oe;if(H||!(de!=null&&de.id)||!q)return;if(Array.isArray(de==null?void 0:de.groups)?de.groups.some(xe=>((xe==null?void 0:xe.name)||"").toLowerCase()==="superuser"):!1){D({variant:"error",title:"Löschen nicht möglich",description:"Der Superuser kann nicht gelöscht werden."});return}if(!window.confirm(`Benutzer "${de.username}" wirklich löschen?`))return;const ee=Number(de.id);if(!Number.isFinite(ee)||ee<=0){D({variant:"error",title:"Löschen fehlgeschlagen",description:"Ungültige Benutzer-ID."});return}R(ee);try{await nt.delete(`/api/users/${ee}`),D({variant:"success",title:"Benutzer gelöscht",description:`Der Benutzer "${de.username}" wurde entfernt.`}),re()}catch(xe){const pe=(Oe=(ae=xe.response)==null?void 0:ae.data)==null?void 0:Oe.error;let se="Der Benutzer konnte nicht gelöscht werden.";pe==="INVALID_USER_ID"?se="Die Benutzer-ID ist ungültig.":pe==="USER_NOT_FOUND"?se="Der Benutzer wurde bereits entfernt.":pe==="USER_SUPERUSER_PROTECTED"&&(se="Der Superuser kann nicht gelöscht werden."),D({variant:"error",title:"Löschen fehlgeschlagen",description:se})}finally{R(null)}},[H,q,D,re]),st=k.useCallback(async de=>{var ae,Oe;if(!(de!=null&&de.id)||!$)return;if(H){D({variant:"error",title:"Aktion nicht möglich",description:"Im Wartungsmodus können keine Statusänderungen durchgeführt werden."});return}if((Array.isArray(de==null?void 0:de.groups)?de.groups.some(xe=>((xe==null?void 0:xe.name)||"").toLowerCase()==="superuser"):!1)&&de.isActive){D({variant:"error",title:"Änderung nicht möglich",description:"Der Superuser kann nicht deaktiviert werden."});return}const fe=Number(de.id);if(!Number.isFinite(fe)||fe<=0){D({variant:"error",title:"Statusänderung fehlgeschlagen",description:"Ungültige Benutzer-ID."});return}const ee=!de.isActive;L(fe);try{await nt.put(`/api/users/${fe}/active`,{isActive:ee}),re(),D({variant:"success",title:"Status aktualisiert",description:`Der Benutzer wurde ${ee?"aktiviert":"deaktiviert"}.`})}catch(xe){const pe=(Oe=(ae=xe.response)==null?void 0:ae.data)==null?void 0:Oe.error;let se="Der Benutzerstatus konnte nicht geändert werden.";pe==="INVALID_USER_ID"?se="Die Benutzer-ID ist ungültig.":pe==="USER_NOT_FOUND"?se="Der Benutzer wurde nicht gefunden.":pe==="USER_SUPERUSER_PROTECTED"&&(se="Der Superuser kann nicht deaktiviert werden."),D({variant:"error",title:"Statusänderung fehlgeschlagen",description:se})}finally{L(null)}},[H,$,D,re]),Ge=k.useCallback(async()=>{var fe,ee,ae,Oe;if(H)return;if(!$){y("Du verfügst nicht über die Berechtigung zum Anlegen von Benutzern.");return}const de=C.trim();if(!de){y("Benutzername ist erforderlich.");return}const Ae=typeof l=="string"?l.trim():"";if(Ae.length<8){y("Passwort muss mindestens 8 Zeichen enthalten.");return}if(!u){y("Bitte eine globale Rolle auswählen.");return}P(!0),y("");try{const xe={username:de,password:Ae,groupId:Number(u)},pe=m.trim();pe&&(xe.email=pe);const se=await nt.post("/api/users",xe);it(),re(),D({variant:"success",title:"Benutzer angelegt",description:`Der Benutzer "${((ee=(fe=se.data)==null?void 0:fe.item)==null?void 0:ee.username)??de}" wurde erstellt.`})}catch(xe){const pe=(Oe=(ae=xe.response)==null?void 0:ae.data)==null?void 0:Oe.error;let se="Benutzer konnte nicht angelegt werden.";switch(pe){case"USERNAME_REQUIRED":se="Benutzername ist erforderlich.";break;case"INVALID_EMAIL":se="Bitte eine gültige E-Mail-Adresse angeben.";break;case"INVALID_PASSWORD":case"PASSWORD_TOO_SHORT":se="Passwort muss mindestens 8 Zeichen enthalten.";break;case"INVALID_GROUP_ID":case"GROUP_NOT_FOUND":se="Bitte eine gültige globale Rolle auswählen.";break;case"USERNAME_TAKEN":se="Benutzername wird bereits verwendet.";break;case"EMAIL_TAKEN":se="E-Mail-Adresse wird bereits verwendet.";break}y(se),D({variant:"error",title:"Erstellen fehlgeschlagen",description:se})}finally{P(!1)}},[H,$,C,m,l,u,D,it,re]),we=f.length>0,Ee=H||E||b||!we,ke=H||E||b||!we,De=k.useCallback(de=>{if(de&&de.props&&de.props.children)return de.props.children;if(!u)return"Bitte auswählen";const Ae=f.find(fe=>String(fe.id)===u);return Ae?Ae.name:"Bitte auswählen"},[f,u]);return x.jsxs("div",{className:"mt-12 mb-8 flex flex-col gap-12",children:[H&&x.jsx("div",{className:"mb-4 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Wartungsmodus aktiv – Änderungen sind deaktiviert. Die Liste kann dennoch angezeigt werden."}),x.jsxs(G.Card,{children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:x.jsx(G.Typography,{variant:"h6",color:"white",children:x.jsx("span",{children:"Benutzerverwaltung"})})}),x.jsxs(G.CardBody,{className:"pt-0",children:[$&&x.jsxs("div",{className:"mb-8 rounded-lg border border-blue-gray-100 bg-white p-4 shadow-sm",children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mb-2",children:"Neuen Benutzer anlegen"}),we?x.jsxs(x.Fragment,{children:[x.jsx(G.Typography,{variant:"small",className:"text-sm text-stormGrey-500 mb-4",children:"Benutzername, Passwort (mindestens 8 Zeichen) und eine globale Rolle sind Pflichtfelder."}),v&&x.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:v}),O&&x.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:O}),x.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[x.jsx(G.Input,{label:"Benutzername",value:C,onChange:de=>w(de.target.value),disabled:H||E,crossOrigin:""}),x.jsx(G.Input,{label:"E-Mail (optional)",value:m,onChange:de=>d(de.target.value),disabled:H||E,crossOrigin:""}),x.jsx(G.Input,{type:"password",label:"Passwort",value:l,onChange:de=>c(de.target.value),disabled:H||E,crossOrigin:""}),x.jsxs(G.Select,{label:"Globale Rolle",variant:"outlined",value:u,onChange:h,disabled:ke,selected:De,children:[x.jsx(G.Option,{value:"",children:"Bitte auswählen"}),f.map(de=>x.jsx(G.Option,{value:String(de.id),children:de.name},de.id))]})]}),x.jsx("div",{className:"mt-4 text-sm text-stormGrey-500",children:b?"Benutzergruppen werden geladen ...":""}),x.jsxs("div",{className:"mt-4 flex flex-col gap-3 sm:flex-row sm:items-center",children:[x.jsx(G.Button,{color:"green",onClick:Ge,disabled:Ee,children:E?"Speichert ...":"Benutzer anlegen"}),x.jsx(G.Button,{variant:"text",color:"blue-gray",onClick:it,disabled:E,children:"Formular zurücksetzen"})]})]}):x.jsx("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Es existiert keine verfügbare Benutzergruppe. Bitte lege zuerst eine Gruppe an."})]}),x.jsx("div",{className:"mb-8",children:x.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between mt-8",children:[x.jsx("div",{className:"md:flex-1",children:x.jsx(G.Input,{label:"Suchen nach Name, E-Mail oder Gruppe",value:i,onChange:Ce,disabled:r&&!e.length,crossOrigin:""})}),x.jsx("div",{className:"md:mt-0 mt-8 md:flex-1",children:x.jsx(G.Select,{variant:"static",label:"Einträge pro Seite",onChange:W,value:ie,children:me.map(({value:de,label:Ae})=>x.jsx(G.Option,{value:de,children:Ae},de))})})]})}),o&&x.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:o}),x.jsx("div",{className:"overflow-x-auto rounded-lg border border-blue-gray-50",children:x.jsxs("table",{className:"w-full min-w-[720px] table-auto text-left",children:[x.jsx("thead",{children:x.jsxs("tr",{className:"bg-blue-gray-50/50 text-xs uppercase tracking-wide text-stormGrey-400",children:[x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Benutzername"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"E-Mail"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Gruppen"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Status"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Letzte Anmeldung"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Erstellt am"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Aktionen"})]})}),x.jsx("tbody",{children:r&&e.length===0?x.jsx("tr",{children:x.jsx("td",{colSpan:7,className:"px-6 py-8 text-center text-blue-gray-400",children:"Benutzerdaten werden geladen ..."})}):Te.length===0?x.jsx("tr",{children:x.jsx("td",{colSpan:7,className:"px-6 py-8 text-center text-blue-gray-400",children:"Keine Benutzer gefunden."})}):Te.map((de,Ae)=>{const fe=Ae===Te.length-1?"":"border-b border-blue-gray-50",ee=Array.isArray(de==null?void 0:de.groups)?de.groups.some(ae=>((ae==null?void 0:ae.name)||"").toLowerCase()==="superuser"):!1;return x.jsxs("tr",{className:`text-sm text-stormGrey-700 ${fe}`,children:[x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",className:"font-medium text-stormGrey-900",children:de.username||"–"})}),x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",children:de.email||"–"})}),x.jsx("td",{className:"px-6 py-4",children:de.groups.length>0?x.jsx("div",{className:"flex flex-wrap gap-2",children:de.groups.map(ae=>x.jsx(G.Chip,{value:ae.name,size:"sm",color:"blue-gray",variant:"ghost"},ae.id??ae.name))}):x.jsx("span",{className:"text-stormGrey-400",children:"–"})}),x.jsx("td",{className:"px-6 py-4",children:$?x.jsx("button",{type:"button",className:`inline-flex items-center rounded-full px-1 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 ${H?"cursor-not-allowed":"cursor-pointer"}`,onClick:()=>st(de),disabled:H||M===de.id||Array.isArray(de.groups)&&de.groups.some(ae=>((ae==null?void 0:ae.name)||"").toLowerCase()==="superuser"&&de.isActive),children:x.jsx(G.Chip,{value:M===de.id?"Wechselt ...":de.isActive?"Aktiv":"Deaktiviert",size:"sm",color:de.isActive?"green":"red",variant:"ghost",className:"pointer-events-none"})}):x.jsx(G.Chip,{value:de.isActive?"Aktiv":"Deaktiviert",size:"sm",color:de.isActive?"green":"red",variant:"ghost"})}),x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:qe(de.lastLogin)})}),x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:qe(de.createdAt)})}),x.jsx("td",{className:"px-6 py-4",children:x.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-2",children:[x.jsx(G.Button,{size:"sm",variant:"outlined",color:"blue-gray",onClick:()=>Q(`/dashboard/users/${de.id}`),children:"Details"}),q&&!ee&&x.jsx(G.Button,{size:"sm",variant:"text",color:"red",onClick:()=>et(de),disabled:H||N===de.id,children:N===de.id?"Löscht ...":"Löschen"})]})})]},de.id)})})]})}),x.jsxs("div",{className:"mt-6 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[x.jsx(G.Typography,{variant:"small",color:"gray",children:""}),x.jsx(Wf,{disabled:r&&e.length===0})]})]})]})]})}function pV(){const[e,t]=k.useState([]),[r,n]=k.useState(!1),[o,a]=k.useState(""),[i,s]=k.useState(""),[f,g]=k.useState(""),[b,S]=k.useState(""),[O,T]=k.useState(""),[C,w]=k.useState(!1),[m,d]=k.useState(null),{showToast:l}=Dl(),{maintenance:c}=mi(),u=!!(c!=null&&c.active),h=yo(),{hasPermission:v}=mn(),y=v("user-groups-edit","full"),E=v("user-groups-delete","full"),{page:P,perPage:N,perPageOptions:R,perPageIsAll:M,handlePerPageChange:L,setPage:D,setTotals:B,resetPagination:H}=Tu();k.useEffect(()=>()=>H(),[H]);const Q=k.useCallback(()=>{},[]),W=k.useCallback(async()=>{var re,ge,Ce;n(!0),a("");try{const Ne=await nt.get("/api/groups"),Te=(Array.isArray((re=Ne.data)==null?void 0:re.items)?Ne.data.items:[]).map(je=>({id:je.id,name:je.name||"",description:je.description||"",avatarColor:je.avatarColor||null,memberCount:Number(je.memberCount)||0,members:Array.isArray(je.members)?je.members.map(ze=>({id:ze.id,username:ze.username||""})).filter(ze=>ze.username):[],createdAt:je.createdAt||null,updatedAt:je.updatedAt||null})).sort((je,ze)=>je.name.localeCompare(ze.name,"de-DE"));t(Te)}catch(Ne){const Pe=((Ce=(ge=Ne.response)==null?void 0:ge.data)==null?void 0:Ce.error)||Ne.message||"Unbekannter Fehler";a(Pe),l({variant:"error",title:"Benutzergruppen konnten nicht geladen werden",description:Pe})}finally{n(!1)}},[l]);k.useEffect(()=>{W()},[W]),k.useCallback(()=>{W()},[W]);const z=k.useCallback(re=>{s(re.target.value)},[]);k.useCallback(()=>{s("")},[]),k.useEffect(()=>{P!==1&&D(1)},[i,P,D]);const $=k.useMemo(()=>{const re=i.trim().toLowerCase();return re?e.filter(ge=>[ge.name,ge.description,...ge.members.map(Ne=>Ne.username)].map(Ne=>String(Ne||"").toLowerCase()).some(Ne=>Ne.includes(re))):e},[e,i]),q=k.useMemo(()=>{if(M)return null;const re=Number(N);return Number.isFinite(re)&&re>0?re:null},[N,M]),Z=k.useMemo(()=>{if(M||!q)return $;const re=(P-1)*q;return $.slice(re,re+q)},[$,P,M,q]),ie=$.length,me=Z.length;k.useEffect(()=>{if(M){B(ie,ie),P!==1&&D(1);return}const re=Number(N);if(!Number.isFinite(re)||re<=0){B(ie,ie);return}const ge=Math.max(1,Math.ceil(ie/re));if(P>ge){D(ge);return}B(ie,me)},[ie,me,P,N,M,D,B]);const ue=k.useCallback(re=>{if(!re)return"–";const ge=typeof re=="string"?re.replace(" ","T"):re,Ce=new Date(ge);return Number.isNaN(Ce.getTime())?re:new Intl.DateTimeFormat("de-DE",{dateStyle:"short",timeStyle:"short"}).format(Ce)},[]),te=k.useCallback(()=>{g(""),S(""),T("")},[]),Se=k.useCallback(async()=>{var ge,Ce,Ne,Pe;if(u)return;if(!y){T("Du verfügst nicht über die Berechtigung zum Anlegen von Gruppen.");return}const re=f.trim();if(!re){T("Gruppenname ist erforderlich.");return}w(!0),T("");try{const Te={name:re},je=b.trim();je&&(Te.description=je);const ze=await nt.post("/api/groups",Te);l({variant:"success",title:"Gruppe angelegt",description:`Die Benutzergruppe "${((Ce=(ge=ze.data)==null?void 0:ge.item)==null?void 0:Ce.name)??re}" wurde erstellt.`}),te(),W()}catch(Te){const je=(Pe=(Ne=Te.response)==null?void 0:Ne.data)==null?void 0:Pe.error;let ze="Benutzergruppe konnte nicht angelegt werden.";je==="GROUP_NAME_REQUIRED"?ze="Gruppenname ist erforderlich.":je==="GROUP_NAME_TAKEN"&&(ze="Der Gruppenname wird bereits verwendet."),T(ze),l({variant:"error",title:"Erstellen fehlgeschlagen",description:ze})}finally{w(!1)}},[u,y,f,b,l,te,W]),ve=u||C,he=k.useCallback(async re=>{var Te,je;if(u||!(re!=null&&re.id)||!E)return;if(((re==null?void 0:re.name)||"").toLowerCase()==="superuser"){l({variant:"error",title:"Löschen nicht möglich",description:"Die Superuser-Gruppe kann nicht gelöscht werden."});return}if((Number(re.memberCount)||0)>0){l({variant:"error",title:"Löschen nicht möglich",description:"Die Gruppe enthält noch Benutzer. Bitte entfernen Sie diese zuerst."});return}if(!window.confirm(`Benutzergruppe "${re.name}" wirklich löschen?`))return;const Pe=Number(re.id);if(!Number.isFinite(Pe)||Pe<=0){l({variant:"error",title:"Löschen fehlgeschlagen",description:"Ungültige Gruppen-ID."});return}d(Pe);try{await nt.delete(`/api/groups/${Pe}`),l({variant:"success",title:"Gruppe gelöscht",description:`Die Benutzergruppe "${re.name}" wurde entfernt.`}),W()}catch(ze){const qe=(je=(Te=ze.response)==null?void 0:Te.data)==null?void 0:je.error;let it="Die Benutzergruppe konnte nicht gelöscht werden.";qe==="INVALID_GROUP_ID"?it="Die Gruppen-ID ist ungültig.":qe==="GROUP_NOT_FOUND"?it="Die Benutzergruppe wurde bereits entfernt.":qe==="GROUP_HAS_MEMBERS"?it="Die Gruppe enthält noch Benutzer. Bitte entfernen Sie diese zuerst.":qe==="GROUP_SUPERUSER_PROTECTED"&&(it="Die Superuser-Gruppe kann nicht gelöscht werden."),l({variant:"error",title:"Löschen fehlgeschlagen",description:it})}finally{d(null)}},[u,E,l,W]);return x.jsxs("div",{className:"mt-12 mb-8 flex flex-col gap-12",children:[u&&x.jsx("div",{className:"mb-4 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Wartungsmodus aktiv – Änderungen sind deaktiviert. Die Liste kann dennoch angezeigt werden."}),x.jsxs(G.Card,{className:"border border-blue-gray-100 shadow-sm",children:[x.jsx(G.CardHeader,{variant:"gradient",color:"gray",className:"mb-5 p-4",children:x.jsx(G.Typography,{variant:"h6",color:"white",children:x.jsx("span",{children:"Benutzergruppen"})})}),x.jsxs(G.CardBody,{className:"pt-0",children:[y&&x.jsxs("div",{className:"mb-8 rounded-lg border border-blue-gray-100 bg-white p-4 shadow-sm",children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mb-2",children:"Neue Benutzergruppe anlegen"}),x.jsx(G.Typography,{variant:"small",className:"text-sm text-stormGrey-500 mb-4",children:"Der Gruppenname ist Pflicht, die Beschreibung optional."}),O&&x.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:O}),x.jsxs("div",{className:"grid gap-4 md:grid-cols-2",children:[x.jsx(G.Input,{label:"Gruppenname",value:f,onChange:re=>g(re.target.value),disabled:ve,crossOrigin:""}),x.jsx(G.Input,{label:"Beschreibung (optional)",value:b,onChange:re=>S(re.target.value),disabled:ve,crossOrigin:""})]}),x.jsxs("div",{className:"mt-4 flex flex-col gap-3 sm:flex-row sm:items-center",children:[x.jsx(G.Button,{color:"green",onClick:Se,disabled:ve,children:C?"Speichert ...":"Gruppe anlegen"}),x.jsx(G.Button,{variant:"text",color:"blue-gray",onClick:te,disabled:C,children:"Formular zurücksetzen"})]})]}),x.jsx("div",{className:"mb-8",children:x.jsxs("div",{className:"flex flex-col gap-4 md:flex-row md:items-center md:justify-between",children:[x.jsx("div",{className:"md:flex-1",children:x.jsx(G.Input,{label:"Suchen nach Name, E-Mail oder Gruppe",value:i,onChange:z,disabled:r&&!e.length,crossOrigin:""})}),x.jsx("div",{className:"md:mt-0 mt-8 md:flex-1",children:x.jsx(G.Select,{variant:"static",label:"Einträge pro Seite",onChange:Q,value:N,children:R.map(({value:re,label:ge})=>x.jsx(G.Option,{value:re,children:ge},re))})})]})}),o&&x.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:o}),o&&x.jsx("div",{className:"mb-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:o}),x.jsx("div",{className:"overflow-x-auto rounded-lg border border-blue-gray-50",children:x.jsxs("table",{className:"w-full min-w-[720px] table-auto text-left",children:[x.jsx("thead",{children:x.jsxs("tr",{className:"bg-blue-gray-50/50 text-xs uppercase tracking-wide text-stormGrey-400",children:[x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Gruppenname"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Beschreibung"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Mitglieder"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Erstellt am"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Zuletzt aktualisiert"}),x.jsx("th",{className:"px-6 py-4 font-semibold",children:"Aktionen"})]})}),x.jsx("tbody",{children:r&&e.length===0?x.jsx("tr",{children:x.jsx("td",{colSpan:6,className:"px-6 py-8 text-center text-stormGrey-400",children:"Gruppen werden geladen ..."})}):Z.length===0?x.jsx("tr",{children:x.jsx("td",{colSpan:6,className:"px-6 py-8 text-center text-stormGrey-400",children:"Keine Gruppen gefunden."})}):Z.map((re,ge)=>{const Ce=ge===Z.length-1?"":"border-b border-blue-gray-50",Ne=((re==null?void 0:re.name)||"").toLowerCase()==="superuser";return x.jsxs("tr",{className:`text-sm text-stormGrey-700 ${Ce}`,children:[x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",className:"font-medium text-stormGrey-900",children:re.name||"–"})}),x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",children:re.description?re.description:x.jsx("span",{className:"text-stormGrey-400",children:"–"})})}),x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:re.memberCount.toLocaleString("de-DE")})}),x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:ue(re.createdAt)})}),x.jsx("td",{className:"px-6 py-4",children:x.jsx(G.Typography,{variant:"small",className:"antialiased font-sans mb-1 block text-xs font-medium text-stormGrey-600",children:ue(re.updatedAt)})}),x.jsx("td",{className:"px-6 py-4",children:x.jsxs("div",{className:"flex flex-col gap-2 sm:flex-row sm:items-center sm:gap-2",children:[x.jsx(G.Button,{size:"sm",variant:"outlined",color:"blue-gray",onClick:()=>h(`/dashboard/usergroups/${re.id}`),children:"Details"}),E&&!Ne&&x.jsx(G.Button,{size:"sm",variant:"text",color:"red",onClick:()=>he(re),disabled:u||m===re.id||Number(re.memberCount)>0,children:m===re.id?"Löscht ...":"Löschen"})]})})]},re.id)})})]})}),x.jsxs("div",{className:"mt-6 flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[x.jsx(G.Typography,{variant:"small",color:"gray",children:!r&&e.length===0?"Noch keine Gruppen angelegt.":`${ie.toLocaleString("de-DE")} Gruppen gefunden`}),x.jsx(Wf,{disabled:r&&e.length===0})]})]})]})]})}const vl={chart:{toolbar:{show:!1}},title:{show:""},dataLabels:{enabled:!1},xaxis:{axisTicks:{show:!1},axisBorder:{show:!1},labels:{style:{colors:"#37474f",fontSize:"13px",fontFamily:"inherit",fontWeight:300}}},yaxis:{labels:{style:{colors:"#37474f",fontSize:"13px",fontFamily:"inherit",fontWeight:300}}},grid:{show:!0,borderColor:"#dddddd",strokeDashArray:5,xaxis:{lines:{show:!0}},padding:{top:5,right:20}},fill:{opacity:.8},tooltip:{theme:"dark"}};({...vl,xaxis:{...vl.xaxis}});({...vl,xaxis:{...vl.xaxis}});({...vl,xaxis:{...vl.xaxis}});const hV=[{title:"account",options:[{checked:!0,label:"Email me when someone follows me"},{checked:!1,label:"Email me when someone answers on my post"},{checked:!0,label:"Email me when someone mentions me"}]},{title:"application",options:[{checked:!1,label:"New launches and projects"},{checked:!0,label:"Monthly product updates"},{checked:!1,label:"Subscribe to newsletter"}]}],eE=["bg-arcticBlue-600","bg-copperRust-500","bg-sunsetCoral-600","bg-mintTea-400","bg-lavenderSmoke-500","bg-emeraldMist-500","bg-roseQuartz-500","bg-auroraTeal-500","bg-citrusPunch-500","bg-mossGreen-400"],gV=e=>Array.isArray(e)?e.map(t=>{if(t&&typeof t=="object"){const r=Number(t.id),n=typeof t.name=="string"?t.name:"";return n?{id:Number.isFinite(r)?r:null,name:n}:null}if(typeof t=="string"){const r=t.trim();return r?{id:null,name:r}:null}return null}).filter(Boolean):[],Gw=e=>({id:(e==null?void 0:e.id)??null,username:(e==null?void 0:e.username)||"",email:(e==null?void 0:e.email)||"",isActive:!!(e!=null&&e.isActive),avatarColor:(e==null?void 0:e.avatarColor)||null,lastLogin:(e==null?void 0:e.lastLogin)||null,createdAt:(e==null?void 0:e.createdAt)||null,updatedAt:(e==null?void 0:e.updatedAt)||null,groups:gV(e==null?void 0:e.groups),securityPhraseDownloadedAt:(e==null?void 0:e.securityPhraseDownloadedAt)||null}),mV=e=>{if(!e||!Array.isArray(e.groups)||e.groups.length===0)return null;const t=e.groups.map(r=>Number(r.id)).find(r=>Number.isFinite(r)&&r>0);return Number.isFinite(t)?t:null},ta=e=>{if(!e)return{username:"",email:"",password:"",groupId:null,avatarColor:""};const t=mV(e);return{username:e.username||"",email:e.email||"",password:"",groupId:Number.isFinite(t)?t:null,avatarColor:e.avatarColor||""}};function bV(){const{userId:e}=z1(),{showToast:t}=Dl(),{maintenance:r}=mi(),{hasPermission:n,user:o}=mn(),[a,i]=k.useState(null),[s,f]=k.useState(ta(null)),g=k.useRef(ta(null)),[b,S]=k.useState(!1),[O,T]=k.useState(""),[C,w]=k.useState(!1),[m,d]=k.useState([]),[l,c]=k.useState(!1),[u,h]=k.useState(""),[v,y]=k.useState(!1),[E,P]=k.useState(""),[N,R]=k.useState([]),[M,L]=k.useState(null),[D,B]=k.useState(!1),[H,Q]=k.useState(""),[W,z]=k.useState(!1),$=!!(r!=null&&r.active),q=!!(o!=null&&o.isSuperuser||n("users-edit","full")),Z=!!(o!=null&&o.isSuperuser||n("users-edit","read")),ie=!!(o!=null&&o.isSuperuser||n("users-security-phrase","read")),me=!!(o!=null&&o.isSuperuser||n("users-security-phrase","full"));if(!Z)return null;const ue=k.useMemo(()=>Array.isArray(a==null?void 0:a.groups)?a.groups.some(fe=>((fe==null?void 0:fe.name)||"").toLowerCase()==="superuser"):!1,[a]),te=k.useMemo(()=>{const fe=Number(e);return Number.isFinite(fe)?fe:null},[e]),Se=k.useCallback(async()=>{var fe,ee,ae,Oe;if(!te){T("Ungültige Benutzer-ID."),i(null),f(ta(null)),g.current=ta(null),w(!0);return}S(!0),T("");try{const xe=await nt.get(`/api/users/${te}`),pe=Gw((fe=xe.data)==null?void 0:fe.item);if(!pe.id)throw new Error("USER_NOT_FOUND");i(pe),R([]),L(pe.securityPhraseDownloadedAt||null),Q("");const se=ta(pe);g.current={...se},f(se),P("")}catch(xe){const pe=(ae=(ee=xe.response)==null?void 0:ee.data)==null?void 0:ae.error;let se="Benutzerdetails konnten nicht geladen werden.";pe==="USER_NOT_FOUND"?se="Der angeforderte Benutzer wurde nicht gefunden.":pe==="INVALID_USER_ID"?se="Die angegebene Benutzer-ID ist ungültig.":((Oe=xe.response)==null?void 0:Oe.status)===404&&(se="Der angeforderte Benutzer existiert nicht."),i(null),g.current=ta(null),f(ta(null)),T(se),t({variant:"error",title:"Fehler beim Laden",description:se})}finally{S(!1),w(!0)}},[te,t]),ve=k.useCallback(async()=>{var fe,ee,ae;c(!0),h("");try{const Oe=await nt.get("/api/groups"),pe=(Array.isArray((fe=Oe.data)==null?void 0:fe.items)?Oe.data.items:[]).map(se=>({id:Number(se.id),name:se.name||"",description:se.description||"",memberCount:Number.isFinite(Number(se.memberCount))?Number(se.memberCount):0})).filter(se=>Number.isFinite(se.id)&&se.id>0&&se.name).sort((se,Me)=>se.name.localeCompare(Me.name,"de-DE"));d(pe)}catch(Oe){const xe=((ae=(ee=Oe.response)==null?void 0:ee.data)==null?void 0:ae.error)||Oe.message||"Benutzergruppen konnten nicht geladen werden.";h(xe),t({variant:"error",title:"Benutzergruppen",description:xe})}finally{c(!1)}},[t]);k.useEffect(()=>{Se()},[Se]),k.useEffect(()=>{ve()},[ve]);const he=k.useMemo(()=>{if(!C||!a)return!1;const fe=g.current;if(!fe)return!1;const ee=fe.username||"",ae=s.username||"",Oe=fe.email||"",xe=s.email||"",pe=Number.isFinite(fe.groupId)?Number(fe.groupId):null,se=Number.isFinite(s.groupId)?Number(s.groupId):null,Me=fe.avatarColor||"",tt=s.avatarColor||"",ft=!!(s.password&&s.password.trim().length>0);return ee!==ae||Oe!==xe||!ue&&pe!==se||Me!==tt||ft},[s,C,a,ue]),re=k.useCallback(fe=>{var ee;return(ee=fe==null?void 0:fe.props)!=null&&ee.children?fe.props.children:s.avatarColor?s.avatarColor:"Standardfarbe"},[s.avatarColor]),ge=k.useCallback(fe=>{if(!q)return;const{value:ee}=fe.target;f(ae=>({...ae,username:ee}))},[q]),Ce=k.useCallback(fe=>{if(!q)return;const{value:ee}=fe.target;f(ae=>({...ae,email:ee}))},[q]),Ne=k.useCallback(fe=>{if(!q)return;const{value:ee}=fe.target;f(ae=>({...ae,password:ee}))},[q]),Pe=k.useCallback(fe=>{if(!q)return;if(!fe){f(ae=>({...ae,groupId:null}));return}const ee=Number(fe);f(ae=>({...ae,groupId:Number.isFinite(ee)&&ee>0?ee:null}))},[q]),Te=k.useCallback(fe=>{q&&f(ee=>({...ee,avatarColor:fe||""}))},[q]),je=k.useCallback(async()=>{var fe,ee,ae,Oe;if(!(!q||!a||!he)){y(!0),P("");try{const xe={username:s.username,email:s.email,password:s.password,avatarColor:s.avatarColor};ue||(xe.groupId=s.groupId);const pe=await nt.put(`/api/users/${a.id}`,xe),se=Gw(((fe=pe.data)==null?void 0:fe.item)||((ee=pe.data)==null?void 0:ee.user));i(se);const Me=ta(se);g.current={...Me},f(Me),h(""),t({variant:"success",title:"Benutzer gespeichert",description:"Die Änderungen wurden erfolgreich gespeichert."})}catch(xe){const pe=(Oe=(ae=xe.response)==null?void 0:ae.data)==null?void 0:Oe.error;let se="Die Benutzerdaten konnten nicht gespeichert werden.";pe==="USERNAME_REQUIRED"?se="Bitte einen Benutzernamen angeben.":pe==="USERNAME_TAKEN"?se="Der Benutzername wird bereits verwendet.":pe==="INVALID_EMAIL"?se="Bitte eine gültige E-Mail-Adresse eingeben.":pe==="EMAIL_TAKEN"?se="Die E-Mail-Adresse wird bereits verwendet.":pe==="INVALID_PASSWORD"?se="Das Passwort ist ungültig.":pe==="PASSWORD_TOO_SHORT"?se="Das Passwort muss mindestens 8 Zeichen enthalten.":pe==="INVALID_AVATAR_COLOR"?se="Bitte eine gültige Avatar-Farbe auswählen.":pe==="GROUP_NOT_FOUND"&&(se="Die ausgewählte Benutzergruppe existiert nicht mehr.",h(se)),P(se),t({variant:"error",title:"Speichern fehlgeschlagen",description:se})}finally{y(!1)}}},[q,a,he,s,t,ue]),ze=k.useCallback(async()=>{var fe,ee,ae,Oe,xe,pe;if(!(!ie||!te)){B(!0),Q("");try{const se=await nt.get(`/api/users/${te}/security-phrase`),Me=Array.isArray((ee=(fe=se.data)==null?void 0:fe.item)==null?void 0:ee.words)?se.data.item.words:[];R(Me),L(((Oe=(ae=se.data)==null?void 0:ae.item)==null?void 0:Oe.downloadedAt)||null)}catch(se){const Me=(pe=(xe=se.response)==null?void 0:xe.data)==null?void 0:pe.error;let tt="Sicherheitsschlüssel konnte nicht geladen werden.";Me==="USER_NOT_FOUND"?tt="Der Benutzer wurde nicht gefunden.":Me==="INVALID_USER_ID"?tt="Die Benutzer-ID ist ungültig.":Me==="INSUFFICIENT_PERMISSIONS"&&(tt="Keine Berechtigung zum Anzeigen des Sicherheitsschlüssels."),Q(tt),R([]),L(null)}finally{B(!1)}}},[ie,te]),qe=k.useCallback(()=>{D||W||ze()},[ze,W,D]),it=k.useCallback(async()=>{var fe,ee,ae,Oe,xe,pe;if(!(!me||!te||$||W)){z(!0),Q("");try{const se=await nt.post(`/api/users/${te}/security-phrase/renew`),Me=Array.isArray((ee=(fe=se.data)==null?void 0:fe.item)==null?void 0:ee.words)?se.data.item.words:[];R(Me),L(((Oe=(ae=se.data)==null?void 0:ae.item)==null?void 0:Oe.downloadedAt)||null),t({variant:"success",title:"Sicherheitsschlüssel erneuert",description:"Der Benutzer muss den neuen Schlüssel erneut herunterladen."})}catch(se){const Me=(pe=(xe=se.response)==null?void 0:xe.data)==null?void 0:pe.error;let tt="Der Sicherheitsschlüssel konnte nicht erneuert werden.";Me==="USER_NOT_FOUND"?tt="Der Benutzer wurde nicht gefunden.":Me==="INVALID_USER_ID"?tt="Die Benutzer-ID ist ungültig.":Me==="INSUFFICIENT_PERMISSIONS"&&(tt="Keine Berechtigung zum Erneuern des Sicherheitsschlüssels."),Q(tt)}finally{z(!1)}}},[me,te,$,W,t]),et=k.useMemo(()=>{const fe=(s.username||s.email||"").trim();return fe?fe.charAt(0).toUpperCase():"?"},[s.username,s.email]),st=k.useMemo(()=>s.avatarColor?s.avatarColor:(a==null?void 0:a.avatarColor)||"",[s.avatarColor,a]),Ge=k.useMemo(()=>{if(!Array.isArray(N)||N.length===0)return[];const fe=[];for(let ee=0;ee{if(!M)return{text:"Noch nicht heruntergeladen",tone:"text-red-500"};const fe=new Date(M);return Number.isNaN(fe.getTime())?{text:"Zuletzt heruntergeladen: unbekannt",tone:"text-blue-gray-500"}:{text:`Zuletzt heruntergeladen: ${fe.toLocaleString("de-DE")}`,tone:"text-blue-gray-500"}},[M]),Ee=k.useMemo(()=>Array.isArray(m)?m.filter(fe=>((fe==null?void 0:fe.name)||"").toLowerCase()!=="superuser"):[],[m]);k.useEffect(()=>{if(ue)return;const fe=s.groupId?Number(s.groupId):null;Ee.some(ae=>Number(ae.id)===fe)||f(ae=>({...ae,groupId:null}))},[Ee,s.groupId,ue]),k.useEffect(()=>{if(C){if(!ie||!te){R([]),L(null),Q(""),B(!1);return}ze()}},[C,ie,ze,te]);const ke=$||v||!a||!q,De=$||v||!a||l||!q||ue,de=$||v||!a||!q,Ae=s.groupId?String(s.groupId):"";return x.jsx(x.Fragment,{children:x.jsxs("div",{className:"mt-12 flex flex-col gap-12",children:[$&&x.jsx("div",{className:"mb-3 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Wartungsmodus aktiv – Änderungen sind deaktiviert."}),x.jsx("div",{className:"relative h-72 w-full overflow-hidden rounded-xl bg-[url('/img/background-image.png')] bg-cover\\tbg-center",children:x.jsx("div",{className:"absolute inset-0 h-full w-full bg-gray-900/75"})}),x.jsx(G.Card,{className:"mx-3 -mt-16 mb-6 lg:mx-4 border border-blue-gray-100",children:x.jsxs(G.CardBody,{className:"p-4",children:[x.jsxs("div",{className:"mb-10 flex flex-wrap items-center justify-between gap-6",children:[x.jsxs("div",{className:"flex items-center gap-6",children:[x.jsx("div",{className:`text-black flex h-[74px] w-[74px] items-center justify-center rounded-xl text-3xl font-semibold uppercase shadow-lg shadow-blue-gray-500/40 ${st}`,"aria-label":s.username||"Benutzeravatar",children:et}),x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h5",color:"blue-gray",children:s.username||"–"}),x.jsx(G.Typography,{className:"text-xs font-semibold tracking-wide text-stormGrey-400",children:s.email||"–"})]})]}),he&&x.jsx(G.Button,{color:"green",className:"normal-case",onClick:je,disabled:$||v,children:v?"Speichert ...":"Änderungen speichern"})]}),b&&!a&&x.jsxs("div",{className:"mb-6 flex items-center gap-3 rounded-lg border border-blue-gray-50 bg-blue-gray-50/50 px-4 py-3 text-sm text-blue-gray-500",children:[x.jsx(G.Spinner,{className:"h-4 w-4"}),x.jsx("span",{children:"Benutzerdaten werden geladen ..."})]}),O&&!b&&x.jsx("div",{className:"mb-6 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:O}),E&&!b&&x.jsx("div",{className:"mb-6 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:E}),x.jsxs("div",{className:"grid-cols-1 mb-12 grid gap-12 px-4 lg:grid-cols-2 xl:grid-cols-3",children:[x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mb-4",children:"Allgemeine Einstellungen"}),x.jsxs("div",{className:"mb-6",children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Benutzername"}),x.jsx(G.Input,{value:s.username,onChange:ge,placeholder:"Benutzername",disabled:ke,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),x.jsxs("div",{className:"mb-6",children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"E-Mail-Adresse"}),x.jsx(G.Input,{type:"email",value:s.email,onChange:Ce,placeholder:"benutzer@example.com",disabled:ke,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),x.jsxs("div",{className:"mb-6",children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Neues Passwort"}),x.jsx(G.Input,{type:"password",value:s.password,onChange:Ne,placeholder:"Passwort setzen",disabled:ke,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}}),x.jsx(G.Typography,{className:"mt-1 text-xs text-blue-gray-400",children:"Das Passwort wird nur geändert, wenn ein neuer Wert eingetragen wird."})]}),x.jsxs("div",{className:"mb-6",children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Globale Rolle"}),ue?x.jsx(G.Typography,{className:"block text-xs font-semibold uppercase text-blue-gray-500",children:"Die Rolle für den Superuser kann nicht geändert werden."}):l&&m.length===0?x.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-blue-gray-50 bg-blue-gray-50/50 px-4 py-3 text-sm text-blue-gray-500",children:[x.jsx(G.Spinner,{className:"h-4 w-4"}),x.jsx("span",{children:"Benutzergruppen werden geladen ..."})]}):Ee.length===0?x.jsx(G.Typography,{className:"block text-xs font-semibold uppercase text-blue-gray-500",children:"Es sind keine weiteren Benutzergruppen vorhanden. Bitte lege zunächst eine neue Gruppe an."}):x.jsx(G.Select,{label:"Benutzergruppe wählen",value:Ae,onChange:Pe,disabled:De,variant:"outlined",children:Ee.map(fe=>x.jsx(G.Option,{value:String(fe.id),children:fe.name},fe.id))})]}),x.jsxs("div",{className:"mb-6",children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Avatar-Farbe"}),x.jsxs(G.Select,{label:"Avatar-Farbe auswählen",variant:"outlined",value:s.avatarColor,onChange:Te,disabled:de,selected:re,children:[x.jsx(G.Option,{value:"",children:x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{className:"h-4 w-4 rounded border border-blue-gray-100"}),x.jsx("span",{className:"text-xs",children:"Keine"})]})}),eE.map(fe=>x.jsx(G.Option,{value:fe,children:x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{className:`h-4 w-4 rounded border border-blue-gray-100 ${fe}`}),x.jsx("span",{className:"text-xs",children:fe})]})},fe))]})]})]}),x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mb-3",children:"Platform Settings"}),x.jsx("div",{className:"flex flex-col gap-12",children:hV.map(({title:fe,options:ee})=>x.jsxs("div",{children:[x.jsx(G.Typography,{className:"mb-4 block text-xs font-semibold uppercase text-blue-gray-500",children:fe}),x.jsx("div",{className:"flex flex-col gap-6",children:ee.map(({checked:ae,label:Oe})=>x.jsx(G.Switch,{id:Oe,label:Oe,defaultChecked:ae,labelProps:{className:"text-sm font-normal text-blue-gray-500"}},Oe))})]},fe))})]})]}),ie&&x.jsxs("div",{className:"mt-10 border-t border-blue-gray-50 pt-8",children:[x.jsxs("div",{className:"mb-4 flex flex-wrap items-center justify-between gap-4",children:[x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",children:"Sicherheitsschlüssel"}),x.jsx(G.Typography,{className:`text-sm ${we.tone}`,children:we.text})]}),x.jsxs("div",{className:"flex flex-wrap items-center gap-3",children:[x.jsx(G.Button,{variant:"outlined",color:"blue",className:"normal-case",onClick:qe,disabled:!ie||D||W,children:"Aktualisieren"}),me&&x.jsx(G.Button,{color:"red",className:"normal-case",onClick:it,disabled:$||D||W,children:W?"Erneuert ...":"Schlüssel erneuern"})]})]}),D?x.jsxs("div",{className:"flex items-center gap-3 rounded-lg border border-blue-gray-50 bg-blue-gray-50/50 px-4 py-3 text-sm text-blue-gray-500",children:[x.jsx(G.Spinner,{className:"h-4 w-4"}),x.jsx("span",{children:"Sicherheitsschlüssel wird geladen ..."})]}):H?x.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700",children:[x.jsx("span",{children:H}),x.jsx(G.Button,{variant:"text",size:"sm",color:"red",className:"normal-case",onClick:qe,disabled:D||W,children:"Erneut laden"})]}):Ge.length>0?x.jsx("div",{className:"rounded-lg border border-blue-gray-100 bg-blue-gray-50/60 p-4",children:x.jsx("div",{className:"space-y-2 text-center font-mono text-base tracking-wide text-blue-gray-900 md:text-lg",children:Ge.map((fe,ee)=>x.jsx("div",{className:"flex flex-wrap items-center justify-center gap-4",children:fe.map((ae,Oe)=>x.jsx("span",{className:"uppercase",children:ae},`security-phrase-${ee}-${Oe}`))},`security-phrase-row-${ee}`))})}):x.jsx(G.Typography,{className:"text-sm text-blue-gray-500",children:"Kein Sicherheitsschlüssel verfügbar."}),me&&x.jsx(G.Typography,{className:"mt-3 text-sm text-blue-gray-500",children:"Nach dem Erneuern muss der Benutzer den neuen Sicherheitsschlüssel erneut herunterladen."})]})]})})]})})}const Kw=e=>({id:(e==null?void 0:e.id)??null,name:(e==null?void 0:e.name)||"",description:(e==null?void 0:e.description)||"",avatarColor:(e==null?void 0:e.avatarColor)||null,createdAt:(e==null?void 0:e.createdAt)||null,updatedAt:(e==null?void 0:e.updatedAt)||null,memberCount:Number.isFinite(Number(e==null?void 0:e.memberCount))?Number(e.memberCount):0,members:Array.isArray(e==null?void 0:e.members)?e.members.map(t=>({id:(t==null?void 0:t.id)??null,username:(t==null?void 0:t.username)||""})).filter(t=>t.username):[]}),ra=e=>e?{name:e.name||"",description:e.description||"",avatarColor:e.avatarColor||""}:{name:"",description:"",avatarColor:""},Ph=[{value:"full",label:"Vollzugriff"},{value:"read",label:"Nur lesen"},{value:"none",label:"Kein Zugriff"}];function vV(){const{groupId:e}=z1(),{showToast:t}=Dl(),{maintenance:r}=mi(),{hasPermission:n,user:o}=mn(),[a,i]=k.useState(null),[s,f]=k.useState(ra(null)),g=k.useRef(ra(null)),[b,S]=k.useState({}),[O,T]=k.useState(!1),[C,w]=k.useState(""),[m,d]=k.useState(!1),[l,c]=k.useState(!1),[u,h]=k.useState(""),[v,y]=k.useState([]),[E,P]=k.useState({}),[N,R]=k.useState({}),[M,L]=k.useState(!1),[D,B]=k.useState(""),H=!!(r!=null&&r.active),Q=k.useMemo(()=>((a==null?void 0:a.name)||"").toLowerCase()==="superuser",[a]),W=!!(o!=null&&o.isSuperuser),z=!!(W||n("user-groups-edit","full")),$=!!(W||n("user-groups-edit","read")),q=!!(W||n("user-groups-edit","full")),Z=k.useMemo(()=>{const we=Number(e);return Number.isFinite(we)?we:null},[e]),ie=k.useCallback(async we=>{var ke,De,de,Ae;const Ee=Number(we);if(!Number.isFinite(Ee)||Ee<=0){y([]),P({}),R({}),B(""),S({}),L(!1);return}L(!0),B("");try{const fe=await nt.get(`/api/groups/${Ee}/permissions`),ee=Array.isArray((ke=fe.data)==null?void 0:ke.sections)?fe.data.sections:[],ae=(De=fe.data)!=null&&De.values&&typeof fe.data.values=="object"?fe.data.values:{},Oe={},xe={},pe=(Me,tt)=>{if(!Me||typeof Me!="object")return null;const ft=typeof Me.defaultLevel=="string"&&Me.defaultLevel?Me.defaultLevel:"none";Oe[Me.key]=ft;const pt=ae[Me.key];xe[Me.key]=typeof pt=="string"&&pt?pt:ft;const bt=Array.isArray(Me.availableLevels)&&Me.availableLevels.length?Me.availableLevels:Ph.map(Jt=>Jt.value),ht=Array.isArray(Me.dependencies)?Me.dependencies:[];return{...Me,availableLevels:bt,dependencies:ht,sortOrder:typeof Me.sortOrder=="number"?Me.sortOrder:tt}},se=ee.map((Me,tt)=>{const ft=Array.isArray(Me.items)?Me.items.map((bt,ht)=>pe(bt,ht)).filter(Boolean):[],pt=Array.isArray(Me.groups)?Me.groups.map((bt,ht)=>{const Jt=Array.isArray(bt.items)?bt.items.map((er,Ut)=>pe(er,Ut)).filter(Boolean):[];return{...bt,sortOrder:typeof bt.sortOrder=="number"?bt.sortOrder:ht,items:Jt}}):[];return{...Me,sortOrder:typeof Me.sortOrder=="number"?Me.sortOrder:tt,hasNavigation:!!Me.hasNavigation,items:ft,groups:pt}});y(se),R(Oe),P({...xe}),S({...xe})}catch(fe){let ee="Die Berechtigungen konnten nicht geladen werden.";((Ae=(de=fe.response)==null?void 0:de.data)==null?void 0:Ae.error)==="GROUP_NOT_FOUND"&&(ee="Die angeforderte Benutzergruppe wurde nicht gefunden."),B(ee),y([]),P({}),R({}),S({}),t({variant:"error",title:"Fehler beim Laden",description:ee})}finally{L(!1)}},[t]),me=k.useCallback(async()=>{var we,Ee,ke,De;if(!Z){w("Ungültige Gruppen-ID."),i(null),f(ra(null)),g.current=ra(null),y([]),P({}),R({}),B(""),d(!0);return}T(!0),w("");try{const de=await nt.get(`/api/groups/${Z}`),Ae=Kw((we=de.data)==null?void 0:we.item);if(!Ae.id)throw new Error("GROUP_NOT_FOUND");i(Ae);const fe=ra(Ae);g.current={...fe},f(fe),h(""),(Ae.name||"").toLowerCase()==="superuser"?(y([]),P({}),R({}),B(""),S({}),L(!1)):$?ie(Ae.id):(y([]),P({}),R({}),B(""),S({}),L(!1))}catch(de){const Ae=(ke=(Ee=de.response)==null?void 0:Ee.data)==null?void 0:ke.error;let fe="Gruppendetails konnten nicht geladen werden.";Ae==="GROUP_NOT_FOUND"?fe="Die angeforderte Benutzergruppe wurde nicht gefunden.":Ae==="INVALID_GROUP_ID"?fe="Die angegebene Gruppen-ID ist ungültig.":((De=de.response)==null?void 0:De.status)===404&&(fe="Die angeforderte Benutzergruppe existiert nicht."),i(null),g.current=ra(null),f(ra(null)),y([]),P({}),R({}),B(""),L(!1),w(fe),t({variant:"error",title:"Fehler beim Laden",description:fe})}finally{T(!1),d(!0)}},[Z,t,ie,$]);k.useEffect(()=>{me()},[me]);const ue=k.useMemo(()=>{if(!m||!a)return!1;const we=g.current;if(!we)return!1;const Ee=we.name||"",ke=s.name||"",De=we.description||"",de=s.description||"",Ae=we.avatarColor||"",fe=s.avatarColor||"";return Ee!==ke||De!==de||Ae!==fe},[s,m,a]),te=k.useMemo(()=>{if(Q)return!1;const we=b||{},Ee=E||{},ke=new Set([...Object.keys(we),...Object.keys(Ee)]);for(const De of ke){const de=we[De]??null,Ae=Ee[De]??null;if(de!==Ae)return!0}return!1},[E,b,Q]),Se=k.useMemo(()=>ue||te,[ue,te]),ve=k.useCallback(we=>{const{value:Ee}=we.target;f(ke=>({...ke,name:Ee}))},[]),he=k.useCallback(we=>{const{value:Ee}=we.target;f(ke=>({...ke,description:Ee}))},[]),re=k.useCallback(we=>{f(Ee=>({...Ee,avatarColor:we||""}))},[]),ge=k.useCallback(async()=>{var we,Ee,ke,De;if(!(!a||!ue&&!te)&&!(te&&Q)){if(ue&&!z){h("Dir fehlt die Berechtigung, diese Gruppe zu bearbeiten.");return}if(te&&!q){h("Dir fehlt die Berechtigung, die Gruppenrechte anzupassen.");return}c(!0),h("");try{if(ue){const de={avatarColor:s.avatarColor};Q||(de.name=s.name,de.description=s.description);const Ae=await nt.put(`/api/groups/${a.id}`,de),fe=Kw(((we=Ae.data)==null?void 0:we.item)||((Ee=Ae.data)==null?void 0:Ee.group));if(fe!=null&&fe.id){i(fe);const ee=ra(fe);g.current={...ee},f(ee)}}te&&!Q&&(await nt.put(`/api/groups/${a.id}/permissions`,{values:E}),S({...E})),ue?t({variant:"success",title:"Gruppe gespeichert",description:"Die Änderungen wurden erfolgreich gespeichert."}):te&&t({variant:"success",title:"Berechtigungen gespeichert",description:"Die Berechtigungen wurden erfolgreich gespeichert."}),h("")}catch(de){const Ae=(De=(ke=de.response)==null?void 0:ke.data)==null?void 0:De.error;let fe="Die Änderungen konnten nicht gespeichert werden.";Ae==="GROUP_NAME_REQUIRED"?fe="Bitte einen Gruppennamen angeben.":Ae==="GROUP_NAME_TAKEN"?fe="Der Gruppenname wird bereits verwendet.":Ae==="INVALID_AVATAR_COLOR"?fe="Bitte eine gültige Avatar-Farbe auswählen.":Ae==="GROUP_NOT_FOUND"?fe="Die Benutzergruppe wurde nicht gefunden.":Ae==="GROUP_SUPERUSER_PROTECTED"?fe="Für die Superuser-Gruppe können Berechtigungen nicht angepasst werden.":Ae==="PERMISSION_INVALID_PAYLOAD"?fe="Ungültige Berechtigungsdaten übermittelt.":Ae==="PERMISSION_INVALID_LEVEL"?fe="Für mindestens eine Berechtigung wurde ein nicht erlaubter Wert übermittelt.":Ae==="PERMISSION_UNKNOWN_KEY"&&(fe="Es wurde eine unbekannte Berechtigung übermittelt."),h(fe),t({variant:"error",title:"Speichern fehlgeschlagen",description:fe})}finally{c(!1)}}},[a,ue,te,s,t,Q,E,z,q]),Ce=k.useMemo(()=>{const we=(s.name||s.description||"").trim();return we?we.charAt(0).toUpperCase():"?"},[s.name,s.description]),Ne=k.useMemo(()=>s.avatarColor?s.avatarColor:(a==null?void 0:a.avatarColor)||"",[s.avatarColor,a]),Pe=H||l||!a||Q||!z,Te=H||l||!a||!z,je=s.avatarColor||"",ze=k.useCallback((we,Ee)=>{!we||!q||Q||P(ke=>ke[we]===Ee?ke:{...ke,[we]:Ee})},[q,Q]),qe=k.useCallback(we=>we?Object.prototype.hasOwnProperty.call(E,we)?E[we]:Object.prototype.hasOwnProperty.call(N,we)?N[we]:null:null,[E,N]),it=k.useMemo(()=>x.jsx("span",{className:"mx-auto block h-2.5 w-2.5 rounded-full border border-blue-gray-400 bg-black"}),[]),et=k.useMemo(()=>x.jsx("span",{className:"mx-auto block h-2.5 w-2.5 rounded-full border border-blue-gray-700 bg-gray-900"}),[]),st=k.useCallback(we=>!we||!we.key?!1:(Array.isArray(we.dependencies)?we.dependencies:[]).every(ke=>{if(!ke||!ke.key)return!0;const De=qe(ke.key)??"none",de=ke.requiredLevel||"!=none";return de==="!=none"?De!=="none":de.startsWith("!=")?De!==de.substring(2):de.startsWith("=")?De===de.substring(1):de?De===de:!0}),[qe]),Ge=(we,Ee,ke={})=>{if(!st(we))return null;const De=`permission-${Ee}-${we.key}`,de=qe(we.key)??"none",{addTopBorder:Ae=!0}=ke,fe=["flex flex-col gap-2.5 px-4 py-4 md:flex-row md:items-center md:gap-6",Ae?"border-t border-blue-gray-100":""].filter(Boolean).join(" "),ee=new Set(Array.isArray(we.availableLevels)&&we.availableLevels.length?we.availableLevels:Ph.map(ae=>ae.value));return x.jsxs("div",{className:fe,children:[x.jsx("div",{className:"text-sm font-medium leading-5 text-blue-gray-600 md:w-1/2",children:we.label}),x.jsx(G.List,{className:"flex-col gap-1.5 md:ml-auto md:flex-row md:flex-nowrap md:w-1/2 md:items-center md:justify-end md:gap-3",children:Ph.map(ae=>{const Oe=`${De}-${ae.value}`,xe=de===ae.value,pe=!ee.has(ae.value)||M||l||!q||Q;return x.jsx(G.ListItem,{className:"w-full min-w-[140px] p-0 md:w-auto md:flex-1",children:x.jsxs("label",{htmlFor:Oe,className:`inline-flex w-full items-center gap-2 rounded-lg px-3 py-2 min-h-[38px] ${pe?"cursor-not-allowed bg-blue-gray-50/40":"cursor-pointer hover:bg-blue-gray-50/60"}`,children:[x.jsx(G.ListItemPrefix,{className:"flex-shrink-0",children:x.jsx(G.Radio,{id:Oe,name:De,value:ae.value,checked:xe,onChange:()=>ze(we.key,ae.value),disabled:pe,ripple:!1,className:"h-4 w-4 hover:before:opacity-0",containerProps:{className:"p-0"},icon:it,checkedIcon:et})}),x.jsx(G.Typography,{color:"blue-gray",className:`text-sm font-medium leading-5 whitespace-nowrap ${pe?"text-blue-gray-300":"text-blue-gray-600"}`,children:ae.label})]})},`${Ee}-${we.key}-${ae.value}`)})})]},`${Ee}-${we.key}`)};return x.jsx(x.Fragment,{children:x.jsxs("div",{className:"mt-12 flex flex-col gap-12",children:[H&&x.jsx("div",{className:"mb-3 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"Wartungsmodus aktiv – Änderungen sind deaktiviert."}),x.jsx("div",{className:"relative h-72 w-full overflow-hidden rounded-xl bg-[url('/img/background-image.png')] bg-cover\\tbg-center",children:x.jsx("div",{className:"absolute inset-0 h-full w-full bg-gray-900/75"})}),x.jsx(G.Card,{className:"mx-3 -mt-16 mb-6 lg:mx-4 border border-blue-gray-100",children:x.jsxs(G.CardBody,{className:"p-4",children:[x.jsxs("div",{className:"mb-10 flex flex-wrap items-center justify-between gap-6",children:[x.jsxs("div",{className:"flex items-center gap-6",children:[x.jsx("div",{className:`text-black flex h-[74px] w-[74px] items-center justify-center rounded-xl text-3xl font-semibold uppercase shadow-lg shadow-blue-gray-500/40 ${Ne}`,"aria-label":s.name||"Gruppenavatar",children:Ce}),x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h5",color:"blue-gray",children:s.name||"–"}),x.jsxs(G.Typography,{className:"text-xs font-semibold tracking-wide text-stormGrey-400",children:["Gruppen-ID: ",(a==null?void 0:a.id)??"–"]})]})]}),Se&&x.jsx(G.Button,{color:"green",className:"normal-case",onClick:ge,disabled:H||l,children:l?"Speichert ...":"Änderungen speichern"})]}),O&&!a&&x.jsxs("div",{className:"mb-6 flex items-center gap-3 rounded-lg border border-blue-gray-50 bg-blue-gray-50/50 px-4 py-3 text-sm text-blue-gray-500",children:[x.jsx(G.Spinner,{className:"h-4 w-4"}),x.jsx("span",{children:"Gruppendaten werden geladen ..."})]}),C&&!O&&x.jsx("div",{className:"mb-6 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:C}),u&&!O&&x.jsx("div",{className:"mb-6 rounded-lg border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800",children:u}),x.jsxs("div",{className:"grid-cols-1 mb-12 grid gap-12 px-4 lg:grid-cols-2 xl:grid-cols-3",children:[x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mb-4",children:"Gruppendaten"}),(H||Q)&&x.jsx("div",{className:"mb-4 rounded-lg border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:H?"Wartungsmodus aktiv – Änderungen sind deaktiviert.":"Systemgruppe – Name und Beschreibung sind geschützt."}),x.jsxs("div",{className:"mb-6",children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Gruppenname"}),x.jsx(G.Input,{value:s.name,onChange:ve,placeholder:"Gruppenname",disabled:Pe,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),x.jsxs("div",{className:"mb-6",children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Beschreibung"}),x.jsx(G.Input,{value:s.description,onChange:he,placeholder:"Beschreibung der Gruppe",disabled:Pe,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),x.jsxs("div",{className:"mb-6",children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Avatar-Farbe"}),x.jsxs(G.Select,{label:"Avatar-Farbe auswählen",variant:"outlined",value:je,onChange:re,disabled:Te,selected:we=>{var Ee;return(Ee=we==null?void 0:we.props)!=null&&Ee.children?we.props.children:s.avatarColor?s.avatarColor:"Standardfarbe"},children:[x.jsx(G.Option,{value:"",children:x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{className:"h-4 w-4 rounded border border-blue-gray-100"}),x.jsx("span",{className:"text-xs",children:"Keine"})]})}),eE.map(we=>x.jsx(G.Option,{value:we,children:x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx("span",{className:`h-4 w-4 rounded border border-blue-gray-100 ${we}`}),x.jsx("span",{className:"text-xs",children:we})]})},we))]})]})]}),x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mb-4",children:"Mitglieder"}),!a||a.members.length===0?x.jsx(G.Typography,{className:"text-sm text-stormGrey-500",children:"Aktuell sind keine Benutzer dieser Gruppe zugeordnet."}):x.jsx("div",{className:"flex flex-wrap gap-2",children:a.members.map(we=>x.jsx(G.Chip,{value:we.username,size:"sm",color:"blue-gray",variant:"ghost"},`${a.id}-${we.id}-${we.username}`))}),x.jsx("div",{className:"mt-6 text-xs text-stormGrey-400",children:x.jsxs("p",{children:["Mitglieder insgesamt: ",(a==null?void 0:a.memberCount)??0]})})]}),x.jsxs("div",{className:"lg:col-span-2 xl:col-span-3",children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mb-4",children:"Berechtigungen (Ansicht)"}),Q?x.jsx("div",{className:"rounded-xl border border-blue-gray-100 bg-white px-4 py-4 text-sm text-blue-gray-600 shadow-sm",children:"Die Superuser-Gruppe besitzt automatisch Vollzugriff auf alle Bereiche. Berechtigungen können hier nicht angepasst werden."}):$?x.jsxs("div",{className:"rounded-xl border border-blue-gray-100 bg-white shadow-sm",children:[M&&x.jsx("div",{className:"border-b border-blue-gray-100 px-4 py-4",children:x.jsxs("div",{className:"flex items-center gap-3 text-sm text-blue-gray-500",children:[x.jsx(G.Spinner,{className:"h-4 w-4"}),x.jsx("span",{children:"Berechtigungen werden geladen ..."})]})}),!M&&D&&x.jsx("div",{className:"border-b border-blue-gray-100 px-4 py-4 text-sm text-red-700",children:D}),!M&&!D&&(v.length===0?x.jsx("div",{className:"border-b border-blue-gray-100 px-4 py-4 text-sm text-blue-gray-500",children:"Für diese Gruppe sind keine Berechtigungen definiert."}):v.map((we,Ee)=>{const ke=Array.isArray(we.items)?we.items:[],De=Array.isArray(we.groups)?we.groups:[];return x.jsxs("div",{className:Ee===0?"":"border-t border-blue-gray-100",children:[x.jsx("div",{className:"border-b border-blue-gray-100 px-4 py-4",children:x.jsx(G.Typography,{variant:"h6",className:"text-lg font-semibold text-blue-gray-700",children:we.title})}),ke.map((de,Ae)=>Ge(de,we.key||Ee,{addTopBorder:Ae!==0})),De.map((de,Ae)=>{const fe=Array.isArray(de.items)?de.items:[];return fe.some(st)?x.jsxs("div",{className:"border-t border-blue-gray-100",children:[x.jsx("div",{className:"border-b border-blue-gray-100 px-4 py-3",children:x.jsx(G.Typography,{className:"text-sm font-semibold uppercase tracking-wide text-blue-gray-600",children:de.title})}),fe.map((ae,Oe)=>Ge(ae,de.key||`${we.key||Ee}-${Ae}`,{addTopBorder:Oe!==0}))]},de.key||`${we.key||Ee}-${Ae}`):null})]},we.key||Ee)}))]}):null]})]})]})})]})})}const yV=(e=[])=>{if(!Array.isArray(e)||e.length===0)return"";const t=[];for(let r=0;r{if(!Array.isArray(e))return[];const t=[];for(let r=0;rxV(f),[f]),m=k.useCallback(u=>{if(!u)return;const h=new Blob([u],{type:"text/plain;charset=utf-8"}),v=URL.createObjectURL(h),y=document.createElement("a");y.href=v;const E=t!=null&&t.username?`${t.username}-sicherheitsschluessel`:"security-phrase";y.download=`${E}.txt`,document.body.appendChild(y),y.click(),document.body.removeChild(y),URL.revokeObjectURL(v)},[t==null?void 0:t.username]),d=k.useCallback(async()=>{var u,h,v,y,E,P,N;a(!0),s("");try{const R=await nt.get("/api/users/me/security-phrase"),M=Array.isArray((h=(u=R.data)==null?void 0:u.item)==null?void 0:h.words)?R.data.item.words:[];if(!M.length)throw new Error("EMPTY_SECURITY_PHRASE");g(M),T(!1)}catch(R){if(((v=R==null?void 0:R.response)==null?void 0:v.status)===409||((E=(y=R==null?void 0:R.response)==null?void 0:y.data)==null?void 0:E.error)==="SECURITY_PHRASE_ALREADY_DOWNLOADED"){await n(),e("/dashboard/stacks",{replace:!0});return}const M=((N=(P=R==null?void 0:R.response)==null?void 0:P.data)==null?void 0:N.error)||(R==null?void 0:R.message)||"Sicherheitsschlüssel konnte nicht geladen werden.";s(M)}finally{a(!1)}},[e,n]);k.useEffect(()=>{if(!t){e("/auth/sign-in",{replace:!0});return}if(!C){e("/dashboard/stacks",{replace:!0});return}d()},[t,C,d,e]);const l=k.useCallback(()=>{d()},[d]),c=k.useCallback(async()=>{var u,h,v,y,E;if(!(b||!Array.isArray(f)||f.length===0)){S(!0),s("");try{const P=yV(f);m(P);const N=await nt.post("/api/users/me/security-phrase/downloaded"),R=((h=(u=N.data)==null?void 0:u.item)==null?void 0:h.downloadedAt)||null,M=(v=N.data)==null?void 0:v.session;M!=null&&M.user?r(M):await n(),T(!!R),e("/dashboard/stacks",{replace:!0})}catch(P){const N=((E=(y=P==null?void 0:P.response)==null?void 0:y.data)==null?void 0:E.error)||(P==null?void 0:P.message)||"Download konnte nicht bestätigt werden.";s(N)}finally{S(!1)}}},[f,b,m,n,e,r]);return C?x.jsxs("div",{className:"flex min-h-screen flex-col items-center justify-center bg-blue-gray-50/50 px-4 py-10",children:[x.jsxs("div",{className:"mb-6 text-center",children:[x.jsx(G.Typography,{variant:"h2",className:"font-semibold text-blue-gray-800",children:"Sicherheitsschlüssel sichern"}),x.jsx(G.Typography,{color:"blue-gray",className:"mt-2 max-w-3xl text-base",children:"Bitte lade den einmaligen Sicherheitsschlüssel herunter und bewahre ihn sicher auf. Er wird benötigt, um dein Passwort zurückzusetzen. Ohne den Download kannst du die Anwendung nicht weiter nutzen."})]}),x.jsx(G.Card,{className:"w-full max-w-3xl shadow-lg",children:x.jsxs(G.CardBody,{className:"space-y-6",children:[o&&x.jsx("div",{className:"flex items-center justify-center py-10",children:x.jsx(G.Spinner,{className:"h-10 w-10 text-blue-gray-500"})}),!o&&i&&x.jsx(G.Alert,{color:"red",className:"border border-red-200 bg-red-50 text-red-700",icon:x.jsx(Dz,{className:"h-5 w-5"}),children:x.jsxs("div",{className:"flex items-start justify-between gap-4",children:[x.jsxs("div",{children:[x.jsx(G.Typography,{variant:"h6",color:"red",children:"Fehler"}),x.jsx(G.Typography,{color:"red",className:"text-sm",children:i})]}),x.jsx(G.Button,{size:"sm",color:"red",variant:"text",onClick:l,className:"normal-case",children:"Erneut versuchen"})]})}),!o&&!i&&x.jsxs(x.Fragment,{children:[x.jsxs("div",{className:"rounded-lg border border-blue-gray-100 bg-blue-gray-50/60 p-6",children:[x.jsx(G.Typography,{variant:"h5",className:"mb-4 text-blue-gray-800",children:"Deine Sicherheitsphrase"}),x.jsx("div",{className:"space-y-3",children:w.map((u,h)=>x.jsx("div",{className:"flex flex-wrap items-center justify-center gap-4 text-lg font-mono tracking-wide text-blue-gray-900 md:text-xl",children:u.map((v,y)=>x.jsx("span",{className:"uppercase",children:v},`phrase-${h}-${y}`))},`phrase-row-${h}`))})]}),x.jsxs("div",{className:"flex flex-col items-center justify-between gap-4 md:flex-row",children:[x.jsx("div",{className:"text-sm text-blue-gray-600",children:"Der Download startet im TXT-Format. Bewahre die Datei sicher auf – sie kann später nicht erneut angezeigt werden."}),x.jsxs(G.Button,{color:"blue",size:"md",className:"flex items-center gap-2 normal-case",onClick:c,disabled:b||O||f.length===0,children:[x.jsx(Az,{className:"h-5 w-5"}),"Sicherheitsschlüssel herunterladen"]})]})]})]})})]}):null}const _V="/assets/pattern-68ea7609.png";function SV(){const e=yo(),{setSession:t,refreshSession:r}=mn(),[n,o]=k.useState(""),[a,i]=k.useState(""),[s,f]=k.useState(!1),[g,b]=k.useState(null),[S,O]=k.useState(!1);k.useEffect(()=>{let C=!0;const w=new AbortController;return(async()=>{try{const d=await fetch("/api/setup/status",{credentials:"include",signal:w.signal});if(d.ok&&!(await d.json()).setupComplete&&C){e("/setup",{replace:!0});return}const l=await fetch("/api/auth/session",{credentials:"include",signal:w.signal});if(l.ok){const c=await l.json();if(c!=null&&c.user&&t(c),c!=null&&c.user&&C){const u=!!c.user.requiresSecurityPhraseDownload;e(u?"/dashboard/security-phrase":"/dashboard/stacks",{replace:!0});return}}}catch(d){d.name!=="AbortError"&&console.error("⚠️ [Auth] Initiale Prüfung fehlgeschlagen:",d)}finally{C&&O(!0)}})(),()=>{C=!1,w.abort()}},[e,t]);const T=k.useCallback(async C=>{var d,l;if(C.preventDefault(),s)return;b(null);const w=n.trim(),m=a.trim();if(!w||!m){b("Bitte fülle beide Felder aus.");return}f(!0);try{const c=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({identifier:w,password:m})}),u=await c.json().catch(()=>({}));if(!c.ok){if(c.status===401||u.error==="INVALID_CREDENTIALS")b("Ungültige Zugangsdaten.");else if(u.error==="MISSING_CREDENTIALS")b("Bitte fülle beide Felder aus.");else if(u.error==="SETUP_REQUIRED"||u.error==="SUPERUSER_REQUIRED"){e("/setup",{replace:!0});return}else u.error==="USER_INACTIVE"?b("Dieses Konto ist deaktiviert. Bitte wende dich an einen Administrator."):b("Anmeldung fehlgeschlagen. Bitte versuche es erneut.");return}let h=null;if(u!=null&&u.user)t(u),h=u;else{const y=await r();y!=null&&y.ok&&((d=y==null?void 0:y.data)!=null&&d.user)&&(h=y.data)}const v=!!((l=h==null?void 0:h.user)!=null&&l.requiresSecurityPhraseDownload);e(v?"/dashboard/security-phrase":"/dashboard/stacks",{replace:!0})}catch(c){console.error("⚠️ [Auth] Anmeldung fehlgeschlagen:",c),b("Netzwerkfehler – bitte erneut versuchen.")}finally{f(!1)}},[n,a,s,e,r,t]);return S?x.jsxs("section",{className:"m-8 flex gap-4",children:[x.jsxs("div",{className:"w-full lg:w-3/5 mt-24",children:[x.jsxs("div",{className:"text-center",children:[x.jsx(G.Typography,{variant:"h2",className:"font-bold mb-4",children:"Anmelden"}),x.jsx(G.Typography,{variant:"paragraph",color:"blue-gray",className:"text-lg font-normal",children:"Gib deine E-Mail oder deinen Benutzernamen sowie dein Passwort ein, um dich anzumelden."})]}),x.jsxs("form",{className:"mt-8 mb-2 mx-auto w-80 max-w-screen-lg lg:w-1/2",onSubmit:T,children:[x.jsxs("div",{className:"mb-1 flex flex-col gap-6",children:[x.jsx(G.Typography,{variant:"small",color:"blue-gray",className:"-mb-3 font-medium",children:"E-Mail oder Benutzername"}),x.jsx(G.Input,{size:"lg",placeholder:"E-Mail oder Benutzername",value:n,onChange:C=>o(C.target.value),required:!0,autoFocus:!0,disabled:s,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}}),x.jsx(G.Typography,{variant:"small",color:"blue-gray",className:"-mb-3 font-medium",children:"Passwort"}),x.jsx(G.Input,{type:"password",size:"lg",placeholder:"********",value:a,onChange:C=>i(C.target.value),required:!0,disabled:s,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),g&&x.jsx(G.Alert,{color:"red",className:"mt-2 border border-red-200 bg-red-50 text-red-700",children:g}),x.jsx(G.Button,{type:"submit",className:"mt-6",fullWidth:!0,disabled:s,children:s?"Anmeldung läuft ...":"Anmelden"}),x.jsx(G.Typography,{as:"button",type:"button",onClick:()=>e("/auth/forgot-password"),className:"mt-4 text-sm font-medium text-blue-600 transition hover:text-blue-800",children:"Passwort vergessen?"})]})]}),x.jsx("div",{className:"w-2/5 h-full hidden lg:block",children:x.jsx("img",{src:_V,className:"h-full w-full object-cover rounded-3xl"})})]}):x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:x.jsx("span",{className:"text-blue-gray-500",children:"Pruefe Anmeldestatus ..."})})}function CV(){return x.jsxs("section",{className:"m-8 flex",children:[x.jsx("div",{className:"w-2/5 h-full hidden lg:block",children:x.jsx("img",{src:"/img/pattern.png",className:"h-full w-full object-cover rounded-3xl"})}),x.jsxs("div",{className:"w-full lg:w-3/5 flex flex-col items-center justify-center",children:[x.jsxs("div",{className:"text-center",children:[x.jsx(G.Typography,{variant:"h2",className:"font-bold mb-4",children:"Join Us Today"}),x.jsx(G.Typography,{variant:"paragraph",color:"blue-gray",className:"text-lg font-normal",children:"Enter your email and password to register."})]}),x.jsxs("form",{className:"mt-8 mb-2 mx-auto w-80 max-w-screen-lg lg:w-1/2",children:[x.jsxs("div",{className:"mb-1 flex flex-col gap-6",children:[x.jsx(G.Typography,{variant:"small",color:"blue-gray",className:"-mb-3 font-medium",children:"Your email"}),x.jsx(G.Input,{size:"lg",placeholder:"name@mail.com",className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),x.jsx(G.Checkbox,{label:x.jsxs(G.Typography,{variant:"small",color:"gray",className:"flex items-center justify-start font-medium",children:["I agree the ",x.jsx("a",{href:"#",className:"font-normal text-black transition-colors hover:text-gray-900 underline",children:"Terms and Conditions"})]}),containerProps:{className:"-ml-2.5"}}),x.jsx(G.Button,{className:"mt-6",fullWidth:!0,children:"Register Now"}),x.jsxs("div",{className:"space-y-4 mt-8",children:[x.jsxs(G.Button,{size:"lg",color:"white",className:"flex items-center gap-2 justify-center shadow-md",fullWidth:!0,children:[x.jsxs("svg",{width:"17",height:"16",viewBox:"0 0 17 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[x.jsxs("g",{clipPath:"url(#clip0_1156_824)",children:[x.jsx("path",{d:"M16.3442 8.18429C16.3442 7.64047 16.3001 7.09371 16.206 6.55872H8.66016V9.63937H12.9813C12.802 10.6329 12.2258 11.5119 11.3822 12.0704V14.0693H13.9602C15.4741 12.6759 16.3442 10.6182 16.3442 8.18429Z",fill:"#4285F4"}),x.jsx("path",{d:"M8.65974 16.0006C10.8174 16.0006 12.637 15.2922 13.9627 14.0693L11.3847 12.0704C10.6675 12.5584 9.7415 12.8347 8.66268 12.8347C6.5756 12.8347 4.80598 11.4266 4.17104 9.53357H1.51074V11.5942C2.86882 14.2956 5.63494 16.0006 8.65974 16.0006Z",fill:"#34A853"}),x.jsx("path",{d:"M4.16852 9.53356C3.83341 8.53999 3.83341 7.46411 4.16852 6.47054V4.40991H1.51116C0.376489 6.67043 0.376489 9.33367 1.51116 11.5942L4.16852 9.53356Z",fill:"#FBBC04"}),x.jsx("path",{d:"M8.65974 3.16644C9.80029 3.1488 10.9026 3.57798 11.7286 4.36578L14.0127 2.08174C12.5664 0.72367 10.6469 -0.0229773 8.65974 0.000539111C5.63494 0.000539111 2.86882 1.70548 1.51074 4.40987L4.1681 6.4705C4.8001 4.57449 6.57266 3.16644 8.65974 3.16644Z",fill:"#EA4335"})]}),x.jsx("defs",{children:x.jsx("clipPath",{id:"clip0_1156_824",children:x.jsx("rect",{width:"16",height:"16",fill:"white",transform:"translate(0.5)"})})})]}),x.jsx("span",{children:"Sign in With Google"})]}),x.jsxs(G.Button,{size:"lg",color:"white",className:"flex items-center gap-2 justify-center shadow-md",fullWidth:!0,children:[x.jsx("img",{src:"/img/twitter-logo.svg",height:24,width:24,alt:""}),x.jsx("span",{children:"Sign in With Twitter"})]})]}),x.jsxs(G.Typography,{variant:"paragraph",className:"text-center text-blue-gray-500 font-medium mt-4",children:["Already have an account?",x.jsx(W1,{to:"/auth/sign-in",className:"text-gray-900 ml-1",children:"Sign in"})]})]})]})]})}function tE(){const e=yo(),{logout:t}=mn(),[r,n]=k.useState("abmelden..."),[o,a]=k.useState(null);return k.useEffect(()=>{let i=!1;return(async()=>{try{n("Abmeldung läuft …"),a(null),await t()}catch(f){i||(console.error("⚠️ [Auth] Logout fehlgeschlagen:",f),a("Abmeldung fehlgeschlagen. Bitte versuche es erneut."))}finally{i||e("/auth/sign-in",{replace:!0})}})(),()=>{i=!0}},[t,e]),x.jsx("section",{className:"m-8 flex min-h-[60vh] items-center justify-center",children:x.jsx(G.Card,{className:"w-full max-w-md border border-blue-gray-100 shadow-sm",children:x.jsxs(G.CardBody,{className:"space-y-4 text-center",children:[x.jsxs("div",{className:"flex items-center justify-center gap-3",children:[x.jsx(G.Spinner,{className:"h-5 w-5 text-blue-gray-500"}),x.jsx(G.Typography,{color:"blue-gray",className:"text-sm font-medium",children:r})]}),o&&x.jsx(G.Typography,{color:"red",className:"text-sm",children:o}),x.jsx(G.Typography,{className:"text-xs text-blue-gray-400",children:"Du wirst automatisch weitergeleitet …"})]})})})}tE.displayName="/src/pages/auth/sign-out.jsx";const bc=8,rE=e=>String(e||"").trim().toLowerCase(),TV=(e="")=>{const t=String(e||"").replace(/[\r\n\t]+/g," ").trim().toLowerCase();return t?t.split(/\s+/).filter(Boolean):[]},OV=(e=[])=>{const t=e.map(rE).filter(Boolean);return{words:t,canonical:t.join("")}};function PV(){const e=yo(),{showToast:t}=Dl(),[r,n]=k.useState(""),[o,a]=k.useState(Array(bc).fill("")),[i,s]=k.useState(""),[f,g]=k.useState(""),[b,S]=k.useState(""),[O,T]=k.useState(!1),[C,w]=k.useState(""),[m,d]=k.useState(""),[l,c]=k.useState(""),[u,h]=k.useState(!1),[v,y]=k.useState(""),E=k.useMemo(()=>f.trim()?TV(f):o.map(rE).filter(Boolean),[f,o]),P=k.useCallback((D,B)=>{a(H=>{const Q=[...H];return Q[D]=B,Q})},[]),N=k.useCallback(D=>{const[B]=D.target.files||[];if(!B){s(""),g("");return}s(B.name);const H=new FileReader;H.onload=Q=>{var z;const W=String(((z=Q.target)==null?void 0:z.result)||"");g(W),a(Array(bc).fill(""))},H.onerror=()=>{s(""),g(""),t({variant:"error",title:"Datei konnte nicht gelesen werden",description:"Bitte lade die Datei erneut hoch."})},H.readAsText(B)},[t]),R=k.useCallback(async()=>{var W,z,$;S(""),w("");const D=r.trim();if(!D){S("Bitte gib deinen Benutzernamen ein.");return}const B=E,H=!!f.trim();if(!H&&B.length!==bc){S("Bitte gib alle acht Wörter des Sicherheitsschlüssels ein.");return}if(H&&B.length!==bc){S("Die hochgeladene Datei enthält nicht genau acht Wörter.");return}const Q=OV(B);if(!Q.canonical){S("Der Sicherheitsschlüssel ist ungültig oder leer.");return}T(!0);try{const Z=(W=(await nt.post("/api/auth/recover/verify",{username:D,phrase:Q.canonical,words:Q.words})).data)==null?void 0:W.token;if(!Z)throw new Error("TOKEN_MISSING");w(Z),t({variant:"success",title:"Sicherheitsschlüssel bestätigt",description:"Du kannst jetzt ein neues Passwort festlegen."})}catch(q){const Z=($=(z=q.response)==null?void 0:z.data)==null?void 0:$.error;S(Z==="USER_NOT_FOUND"?"Der angegebene Benutzer wurde nicht gefunden.":Z==="PHRASE_MISMATCH"?"Der Sicherheitsschlüssel passt nicht zum Benutzer.":Z==="PHRASE_NOT_INITIALIZED"?"Für diesen Benutzer ist aktuell kein Sicherheitsschlüssel hinterlegt.":Z==="PHRASE_REQUIRED"?"Bitte gib den Sicherheitsschlüssel ein.":Z==="USERNAME_REQUIRED"?"Der Benutzername darf nicht leer sein.":Z==="INVALID_PASSWORD"?"Der Sicherheitsschlüssel ist ungültig.":"Die Sicherheitsprüfung ist fehlgeschlagen. Bitte versuche es erneut.")}finally{T(!1)}},[f,E,t,r]),M=k.useCallback(async()=>{var H,Q;if(y(""),!C){y("Bitte bestätige zuerst deinen Sicherheitsschlüssel.");return}const D=m.trim(),B=l.trim();if(!D||!B){y("Bitte gib das neue Passwort zweimal ein.");return}if(D!==B){y("Die Passwörter stimmen nicht überein.");return}h(!0);try{await nt.post("/api/auth/recover/reset",{token:C,password:D,confirmPassword:B}),t({variant:"success",title:"Passwort aktualisiert",description:"Du kannst dich jetzt mit deinem neuen Passwort anmelden."}),e("/auth/sign-in",{replace:!0})}catch(W){const z=(Q=(H=W.response)==null?void 0:H.data)==null?void 0:Q.error;z==="TOKEN_INVALID_OR_EXPIRED"?(y("Die Wiederherstellungssitzung ist abgelaufen. Bitte starte den Vorgang erneut."),w("")):y(z==="PASSWORD_TOO_SHORT"?"Das Passwort muss mindestens 8 Zeichen enthalten.":z==="PASSWORD_REQUIRED"?"Bitte gib ein neues Passwort ein.":z==="PASSWORD_MISMATCH"?"Die Passwörter stimmen nicht überein.":"Das Passwort konnte nicht zurückgesetzt werden. Bitte versuche es erneut.")}finally{h(!1)}},[l,e,m,t,C]),L=!!C;return x.jsx("section",{className:"m-8 flex justify-center",children:x.jsxs(G.Card,{className:"w-full max-w-3xl",children:[x.jsxs(G.CardHeader,{floated:!1,shadow:!1,className:"rounded-none border-b border-blue-gray-50 bg-white px-6 py-5",children:[x.jsx(G.Typography,{variant:"h4",color:"blue-gray",className:"font-semibold",children:"Passwort zurücksetzen"}),x.jsx(G.Typography,{color:"blue-gray",className:"mt-1 text-sm",children:"Gib deinen Benutzernamen und den Sicherheitsschlüssel (8 Wörter) ein oder lade die gespeicherte Schlüsseldatei."})]}),x.jsxs(G.CardBody,{className:"space-y-8",children:[x.jsxs("div",{className:"space-y-4",children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",children:"Schritt 1: Sicherheitsschlüssel prüfen"}),x.jsxs("div",{children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Benutzername"}),x.jsx(G.Input,{size:"lg",placeholder:"Benutzername",value:r,onChange:D=>n(D.target.value),disabled:L||O,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),x.jsxs("div",{children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Sicherheitsschlüssel eingeben"}),x.jsx("div",{className:"grid grid-cols-1 gap-3 md:grid-cols-4",children:o.map((D,B)=>x.jsx(G.Input,{placeholder:`Wort ${B+1}`,value:D,onChange:H=>P(B,H.target.value),disabled:L||O||!!f.trim(),className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}},`phrase-input-${B}`))})]}),x.jsxs("div",{children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Alternativ: Schlüsseldatei (.txt) hochladen"}),x.jsxs("div",{className:"flex flex-col gap-3 md:flex-row md:items-center",children:[x.jsx("input",{type:"file",accept:".txt",onChange:N,disabled:L||O,className:"block w-full max-w-xs text-sm text-blue-gray-500 file:mr-4 file:rounded-md file:border-0 file:bg-blue-gray-50 file:px-4 file:py-2 file:text-sm file:font-semibold file:text-blue-gray-700 hover:file:bg-blue-gray-100"}),i&&x.jsxs(G.Typography,{className:"text-xs text-blue-gray-500",children:["Ausgewählte Datei: ",x.jsx("span",{className:"font-medium text-blue-gray-700",children:i})]})]})]}),b&&x.jsx(G.Alert,{color:"red",className:"border border-red-200 bg-red-50 text-red-700",children:b}),x.jsxs("div",{className:"flex flex-wrap items-center gap-4",children:[x.jsx(G.Button,{color:"blue",className:"normal-case",onClick:R,disabled:O||L,children:O?x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx(G.Spinner,{className:"h-4 w-4"})," Prüfe Sicherheitsschlüssel ..."]}):"Sicherheitsschlüssel prüfen"}),L&&x.jsx(G.Typography,{className:"text-sm text-blue-gray-500",children:"Die Wiederherstellung bleibt für kurze Zeit aktiv. Bitte setze dein Passwort zeitnah zurück."})]})]}),x.jsxs("div",{className:"space-y-4",children:[x.jsx(G.Typography,{variant:"h6",color:L?"blue-gray":"gray",children:"Schritt 2: Neues Passwort festlegen"}),!L&&x.jsx(G.Typography,{className:"text-sm text-blue-gray-500",children:"Nach erfolgreicher Prüfung des Sicherheitsschlüssels kannst du hier ein neues Passwort vergeben."}),L&&x.jsxs("div",{className:"space-y-4",children:[x.jsxs("div",{children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Neues Passwort"}),x.jsx(G.Input,{type:"password",size:"lg",placeholder:"Neues Passwort",value:m,onChange:D=>d(D.target.value),disabled:u,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),x.jsxs("div",{children:[x.jsx(G.Typography,{className:"mb-2 block text-xs font-semibold uppercase text-blue-gray-500",children:"Passwort bestätigen"}),x.jsx(G.Input,{type:"password",size:"lg",placeholder:"Passwort bestätigen",value:l,onChange:D=>c(D.target.value),disabled:u,className:" !border-t-blue-gray-200 focus:!border-t-gray-900",labelProps:{className:"before:content-none after:content-none"}})]}),v&&x.jsx(G.Alert,{color:"red",className:"border border-red-200 bg-red-50 text-red-700",children:v}),x.jsx(G.Button,{color:"green",className:"normal-case",onClick:M,disabled:u,children:u?x.jsxs("span",{className:"flex items-center gap-2",children:[x.jsx(G.Spinner,{className:"h-4 w-4"})," Speichere Passwort ..."]}):"Neues Passwort speichern"})]})]}),x.jsx("div",{className:"border-t border-blue-gray-50 pt-4",children:x.jsx(G.Typography,{as:"button",type:"button",onClick:()=>e("/auth/sign-in"),className:"text-sm font-medium text-blue-600 transition hover:text-blue-800",children:"Zurück zur Anmeldung"})})]})]})})}function Ga({permission:e,requiredLevel:t="full",loadingFallback:r=null,children:n}){const{initialized:o,loading:a,hasPermission:i}=mn();return e?!o||a?r??x.jsx("div",{className:"flex min-h-[200px] items-center justify-center",children:x.jsx(G.Typography,{variant:"small",color:"blue-gray",children:"Berechtigungen werden geladen …"})}):i(e,t)?n:x.jsx("div",{className:"mt-12 flex items-center justify-center px-4",children:x.jsx(G.Card,{className:"max-w-xl border border-blue-gray-100 shadow-sm",children:x.jsxs(G.CardBody,{className:"space-y-3 text-center",children:[x.jsx(G.Typography,{variant:"h5",color:"blue-gray",children:"Kein Zugriff auf diesen Bereich"}),x.jsxs(G.Typography,{variant:"small",className:"text-blue-gray-500",children:["Für diese Funktion wird die Berechtigung ",x.jsx("code",{children:e})," benötigt."]})]})})}):n}Ga.propTypes={permission:ln.string,requiredLevel:ln.string,loadingFallback:ln.node,children:ln.node.isRequired};const Oo={className:"w-5 h-5 text-inherit"},lg=[{layout:"dashboard",pages:[{icon:x.jsx(c4,{...Oo}),name:"stacks",path:"/stacks",element:x.jsx(XB,{}),permission:null},{icon:x.jsx(y4,{...Oo}),name:"wartung",path:"/maintenance",element:x.jsx(Ga,{permission:"maintenance-access",requiredLevel:"read",children:x.jsx(rV,{})}),permission:{key:"maintenance-access",requiredLevel:"read"}},{icon:x.jsx(t4,{...Oo}),name:"logs",path:"/logs",element:x.jsx(Ga,{permission:"logs-access",requiredLevel:"full",children:x.jsx(cV,{})}),permission:{key:"logs-access",requiredLevel:"full"}},{icon:x.jsx(m4,{...Oo}),name:"benutzer",path:"/users",element:x.jsx(Ga,{permission:"users-access",requiredLevel:"read",children:x.jsx(fV,{})}),permission:{key:"users-access",requiredLevel:"read"}},{icon:x.jsx(p4,{...Oo}),name:"rechtegruppen",path:"/usergroups",element:x.jsx(Ga,{permission:"user-groups-access",requiredLevel:"read",children:x.jsx(pV,{})}),permission:{key:"user-groups-access",requiredLevel:"read"}}]},{title:"auth pages",layout:"auth",pages:[{icon:x.jsx(l4,{...Oo}),name:"sign in",path:"/sign-in",element:x.jsx(SV,{})},{icon:x.jsx(ZI,{...Oo}),name:"passwort vergessen",path:"/forgot-password",element:x.jsx(PV,{})},{icon:x.jsx($I,{...Oo}),name:"log out",path:"/logout",element:x.jsx(tE,{})},{icon:x.jsx(o4,{...Oo}),name:"sign up",path:"/sign-up",element:x.jsx(CV,{})}]}];function nE(){const[e,t]=zf(),{sidenavType:r}=e,n=Na(),o=yo(),[a,i]=k.useState(!1),[s,f]=k.useState(!0),{initialized:g,loading:b,isAuthenticated:S,refreshSession:O,user:T}=mn(),C=k.useCallback(async()=>{i(!1);try{const m=await fetch("/api/setup/status",{credentials:"include"});if(!m.ok)throw new Error("STATUS_REQUEST_FAILED");const d=await m.json();f(!d.setupComplete)}catch(m){console.error("⚠️ [Setup] Statusprüfung fehlgeschlagen:",m),f(!0)}finally{i(!0)}},[]);if(k.useEffect(()=>{C()},[C]),k.useEffect(()=>{!a||s||g||b||O()},[a,s,g,b,O]),k.useEffect(()=>{if(!a)return;if(s){n.pathname!=="/setup"&&o("/setup",{replace:!0});return}if(!g)return;if(!S){n.pathname!=="/auth/sign-in"&&o("/auth/sign-in",{replace:!0});return}const m=!!(T!=null&&T.requiresSecurityPhraseDownload),d=n.pathname==="/dashboard/security-phrase";if(m&&!d){o("/dashboard/security-phrase",{replace:!0});return}!m&&d&&o("/dashboard/stacks",{replace:!0})},[a,s,g,S,n.pathname,o,T==null?void 0:T.requiresSecurityPhraseDownload]),k.useEffect(()=>{if(!a||s||!g||b)return;if(!S){n.pathname!=="/auth/sign-in"&&o("/auth/sign-in",{replace:!0});return}const m=n.pathname.startsWith("/auth/"),d=n.pathname==="/auth/logout";(n.pathname==="/setup"||m&&!d)&&o("/dashboard/stacks",{replace:!0})},[a,s,g,b,S,n.pathname,o]),!a)return x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:x.jsx("span",{className:"text-blue-gray-500",children:"Pruefe Systemkonfiguration ..."})});if(s)return x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:x.jsx("span",{className:"text-blue-gray-500",children:"Setup erforderlich ..."})});if(!g||b)return x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:x.jsx("span",{className:"text-blue-gray-500",children:"Pruefe Anmeldung ..."})});if(!S)return x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:x.jsx("span",{className:"text-blue-gray-500",children:"Weiterleitung zur Anmeldung ..."})});const w=n.pathname==="/dashboard/security-phrase";return x.jsxs("div",{className:"min-h-screen bg-blue-gray-50/50",children:[!w&&x.jsx(Bf,{routes:lg,brandImg:r==="dark"?"/img/logo-ct.png":"/img/logo-ct-dark.png"}),x.jsxs("div",{className:w?"":"p-4 xl:ml-80",children:[!w&&x.jsxs(x.Fragment,{children:[x.jsx(Ik,{}),x.jsx(Dk,{}),x.jsx(G.IconButton,{size:"lg",color:"white",className:"fixed bottom-8 right-8 z-40 rounded-full shadow-blue-gray-900/10 xl:hidden",ripple:!1,onClick:()=>vb(t,!0),children:x.jsx($1,{className:"h-5 w-5"})})]}),x.jsxs(pm,{children:[lg.map(({layout:m,pages:d})=>m==="dashboard"&&d.map(({path:l,element:c})=>x.jsx(fo,{exact:!0,path:l,element:c}))),x.jsx(fo,{path:"security-phrase",element:x.jsx(wV,{})}),x.jsx(fo,{path:"users/:userId",element:x.jsx(Ga,{permission:"users-access",requiredLevel:"read",children:x.jsx(bV,{})})}),x.jsx(fo,{path:"usergroups/:groupId",element:x.jsx(Ga,{permission:"user-groups-access",requiredLevel:"read",children:x.jsx(vV,{})})})]}),!w&&x.jsx("div",{className:"text-blue-gray-600",children:x.jsx(Lk,{})})]})]})}nE.displayName="/src/layout/dashboard.jsx";function oE(){return x.jsx("div",{className:"relative min-h-screen w-full",children:x.jsx(pm,{children:lg.map(({layout:e,pages:t})=>e==="auth"&&t.map(({path:r,element:n})=>x.jsx(fo,{exact:!0,path:r,element:n})))})})}oE.displayName="/src/layout/Auth.jsx";const kV={superuser:{username:"",email:"",password:""},server:{name:"",url:""},endpoint:{name:"",externalId:"",serverId:""},apiKey:""};function EV(){var Ne,Pe,Te,je,ze,qe,it,et,st;const e=yo(),[t,r]=k.useState(null),[n,o]=k.useState(!0),[a,i]=k.useState(null),[s,f]=k.useState(kV),[g,b]=k.useState(!1),[S,O]=k.useState(null),[T,C]=k.useState(!1);k.useEffect(()=>{let Ge=!0;const we=new AbortController;return(async()=>{o(!0),i(null);try{const ke=await fetch("/api/setup/status",{signal:we.signal,credentials:"include"});if(!ke.ok)throw new Error("STATUS_REQUEST_FAILED");const De=await ke.json();if(!Ge)return;if(r(De),De.setupComplete){e("/auth/sign-in",{replace:!0});return}f(de=>{var Ae,fe,ee,ae,Oe,xe,pe,se,Me,tt,ft,pt,bt,ht;return{superuser:{username:(fe=(Ae=De.envDefaults)==null?void 0:Ae.superuserUsername)!=null&&fe.length?De.envDefaults.superuserUsername:de.superuser.username,email:(ae=(ee=De.envDefaults)==null?void 0:ee.superuserEmail)!=null&&ae.length?De.envDefaults.superuserEmail:de.superuser.email,password:(xe=(Oe=De.envDefaults)==null?void 0:Oe.superuserPassword)!=null&&xe.length?De.envDefaults.superuserPassword:de.superuser.password},server:{name:((pe=De.envDefaults)==null?void 0:pe.serverName)||de.server.name,url:(Me=(se=De.envDefaults)==null?void 0:se.serverUrl)!=null&&Me.length?De.envDefaults.serverUrl:de.server.url},endpoint:{name:((tt=De.envDefaults)==null?void 0:tt.endpointName)||de.endpoint.name,externalId:(pt=(ft=De.envDefaults)==null?void 0:ft.endpointExternalId)!=null&&pt.length?De.envDefaults.endpointExternalId:de.endpoint.externalId,serverId:de.endpoint.serverId||""},apiKey:(ht=(bt=De.envDefaults)==null?void 0:bt.apiKeyValue)!=null&&ht.length?De.envDefaults.apiKeyValue:de.apiKey}})}catch(ke){if(ke.name==="AbortError")return;console.error("⚠️ [Setup] Status konnte nicht geladen werden:",ke),Ge&&i("Setup-Status konnte nicht geladen werden. Bitte Seite aktualisieren.")}finally{Ge&&o(!1)}})(),()=>{Ge=!1,we.abort()}},[e]);const w=(t==null?void 0:t.envDefaults)||{},m=w.superuserUsername??"",d=w.superuserEmail??"",l=w.superuserPassword??"",c=w.serverUrl??"",u=w.endpointExternalId??"",h=w.apiKeyValue??"",v=!!((Ne=t==null?void 0:t.requirements)!=null&&Ne.superuser),y=!!((Pe=t==null?void 0:t.requirements)!=null&&Pe.server),E=!!((Te=t==null?void 0:t.requirements)!=null&&Te.endpoint),P=!!((je=t==null?void 0:t.requirements)!=null&&je.apiKey),N=!!((ze=t==null?void 0:t.apiKeys)!=null&&ze.count),R=!!(c||(qe=t==null?void 0:t.servers)!=null&&qe.envProvided),M=!!(u||(it=t==null?void 0:t.endpoints)!=null&&it.envProvided),L=!!(h||(et=t==null?void 0:t.apiKeys)!=null&&et.envProvided),D=y||R,B=E||M,H=P||!N||L,Q=!!m,W=!!d,z=!!l,$=!!w.serverNameFromEnv,q=!!c,Z=!!w.endpointNameFromEnv,ie=!!u,me=!!h,ue=k.useCallback((Ge,we,{locked:Ee=!1}={})=>ke=>{if(Ee)return;const De=ke.target.value;f(de=>({...de,[Ge]:{...de[Ge],[we]:De}}))},[]),te=k.useMemo(()=>{if(!t)return[];const Ge=[];if(v){const{username:we,email:Ee,password:ke}=s.superuser;we.trim()||Ge.push("Benutzername ist erforderlich."),Ee.trim()||Ge.push("E-Mail-Adresse ist erforderlich."),ke.trim()||Ge.push("Passwort ist erforderlich.")}return y&&!s.server.url.trim()&&Ge.push("Server-URL ist erforderlich."),E&&!s.endpoint.externalId.trim()&&Ge.push("Endpoint-ID ist erforderlich."),H&&P&&!s.apiKey.trim()&&Ge.push("API-Key ist erforderlich."),Ge},[s,v,y,E,H,P,t]),Se=k.useCallback(async Ge=>{if(Ge.preventDefault(),g||!t)return;if(O(null),C(!1),te.length){O(te.join(" "));return}const we={};if(v&&(we.superuser={username:s.superuser.username.trim(),email:s.superuser.email.trim(),password:s.superuser.password}),D){const ke=s.server.name.trim(),De=s.server.url.trim();(y||!$&&ke||!q&&De)&&(we.server={name:ke,url:De})}if(B){const ke=s.endpoint.name.trim(),De=s.endpoint.externalId.trim(),de=s.endpoint.serverId?Number(s.endpoint.serverId):void 0;(E||!Z&&ke||!ie&&De||de)&&(we.endpoint={name:ke||null,externalId:De||null,serverId:de})}const Ee=s.apiKey.trim();(H||Ee)&&(we.apiKey={value:Ee});try{b(!0);const ke=await fetch("/api/setup/complete",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(we)});if(!ke.ok)switch((await ke.json().catch(()=>({}))).error){case"SERVER_DETAILS_REQUIRED":throw new Error("Bitte gib eine gültige Server-URL an.");case"ENDPOINT_DETAILS_REQUIRED":throw new Error("Bitte gib eine gültige Endpoint-ID an.");case"API_KEY_REQUIRED":throw new Error("Bitte gib einen gültigen API-Key an.");case"USERNAME_REQUIRED":throw new Error("Benutzername wird benötigt.");case"EMAIL_INVALID":throw new Error("Bitte gib eine gültige E-Mail-Adresse an.");case"PASSWORD_TOO_SHORT":throw new Error("Passwort muss mindestens 8 Zeichen enthalten.");case"INVALID_PASSWORD":throw new Error("Das Passwort ist ungültig.");case"API_KEY_ENCRYPT_FAILED":throw new Error("API-Key konnte nicht verschlüsselt werden. Bitte erneut versuchen.");case"SUPERUSER_EXISTS":throw new Error("Der Superuser wurde bereits angelegt.");default:throw new Error("Setup konnte nicht abgeschlossen werden. Bitte erneut versuchen.")}const De=await ke.json().catch(()=>({}));r(De.status),C(!0),setTimeout(()=>{e("/auth/sign-in",{replace:!0})},1500)}catch(ke){console.error("⚠️ [Setup] Abschluss fehlgeschlagen:",ke),O(ke.message||"Setup fehlgeschlagen.")}finally{b(!1)}},[s,e,v,y,E,D,B,H,t,g,te,$,q,Z,ie]);if(n)return x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:x.jsx("span",{className:"text-blue-gray-500",children:"Lade Setup-Status ..."})});if(a)return x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:x.jsx(G.Alert,{color:"red",className:"w-full max-w-lg border border-red-200 bg-red-50 text-red-700",children:a})});if(!t)return x.jsx("div",{className:"flex min-h-screen items-center justify-center bg-blue-gray-50/50",children:x.jsx("span",{className:"text-blue-gray-500",children:"Keine Setup-Informationen verfügbar."})});const ve=v?x.jsxs(x.Fragment,{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"font-semibold",children:"Superuser"}),x.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[x.jsx(G.Input,{label:"Benutzername",required:!0,value:s.superuser.username,onChange:ue("superuser","username",{locked:Q}),disabled:g,readOnly:Q}),x.jsx(G.Input,{label:"E-Mail-Adresse",required:!0,type:"email",value:s.superuser.email,onChange:ue("superuser","email",{locked:W}),disabled:g,readOnly:W}),x.jsx(G.Input,{label:"Passwort",required:!0,type:"password",value:s.superuser.password,onChange:ue("superuser","password",{locked:z}),disabled:g,readOnly:z})]})]}):x.jsx(G.Alert,{color:"green",className:"border border-green-200 bg-green-50 text-green-700",children:"Superuser ist bereits vorhanden."}),he=D?x.jsxs(x.Fragment,{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mt-6 font-semibold",children:"Server"}),x.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[x.jsx(G.Input,{label:"Server-Name",value:s.server.name,onChange:ue("server","name",{locked:$}),readOnly:$,disabled:g}),x.jsx(G.Input,{label:"Server-URL",required:y,value:s.server.url,onChange:ue("server","url",{locked:q}),readOnly:q,disabled:g})]})]}):null,re=B?x.jsxs(x.Fragment,{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mt-6 font-semibold",children:"Endpoint"}),x.jsxs("div",{className:"grid grid-cols-1 gap-4",children:[x.jsx(G.Input,{label:"Endpoint-Name",value:s.endpoint.name,onChange:ue("endpoint","name",{locked:Z}),readOnly:Z,disabled:g}),x.jsx(G.Input,{label:"Endpoint-ID",required:E,value:s.endpoint.externalId,onChange:ue("endpoint","externalId",{locked:ie}),readOnly:ie,disabled:g})]})]}):null,ge=H?x.jsxs(x.Fragment,{children:[x.jsx(G.Typography,{variant:"h6",color:"blue-gray",className:"mt-6 font-semibold",children:"API-Key"}),x.jsx("div",{className:"grid grid-cols-1 gap-4",children:x.jsx(G.Input,{label:"API-Key",required:P,type:"password",value:s.apiKey,onChange:Ge=>{me||f(we=>({...we,apiKey:Ge.target.value}))},readOnly:me,disabled:g})})]}):null,Ce=!!((st=t==null?void 0:t.superuser)!=null&&st.envProvided||R||M||L);return x.jsx("div",{className:"flex min-h-screen w-full items-center justify-center py-10",children:x.jsxs(G.Card,{className:"w-full max-w-lg border border-blue-gray-100 shadow-sm",children:[x.jsxs(G.CardHeader,{floated:!1,shadow:!1,className:"mb-0 grid place-items-start gap-2 rounded-none bg-transparent p-6",children:[x.jsx(G.Typography,{variant:"h4",color:"blue-gray",children:"System Setup"}),x.jsx(G.Typography,{color:"gray",className:"font-normal",children:"Lege einen Superuser sowie mindestens einen Server mit Endpoint und API-Key fest, um StackPulse zu starten."})]}),x.jsx(G.CardBody,{className:"pt-0",children:x.jsxs("form",{className:"mt-4 flex flex-col gap-6",onSubmit:Se,children:[Ce&&x.jsx(G.Alert,{color:"blue",className:"border border-blue-200 bg-blue-50 text-blue-700",children:"Teile der Konfiguration stammen bereits aus den Umgebungsvariablen."}),ve,he,re,ge,S&&x.jsx(G.Alert,{color:"red",className:"border border-red-200 bg-red-50 text-red-700",children:S}),T&&x.jsx(G.Alert,{color:"green",className:"border border-green-200 bg-green-50 text-green-700",children:"Setup abgeschlossen. Du wirst zum Login weitergeleitet ..."}),x.jsx(G.Button,{type:"submit",color:"blue",disabled:g||T,children:g?"Setup läuft ...":"Setup abschließen"})]})})]})})}function NV(){return x.jsxs(pm,{children:[x.jsx(fo,{path:"/dashboard/*",element:x.jsx(nE,{})}),x.jsx(fo,{path:"/auth/*",element:x.jsx(oE,{})}),x.jsx(fo,{path:"/setup",element:x.jsx(EV,{})}),x.jsx(fo,{path:"*",element:x.jsx(PI,{to:"/dashboard/stacks",replace:!0})})]})}nt.defaults.withCredentials=!0;Dh.createRoot(document.getElementById("root")).render(x.jsx(mo.StrictMode,{children:x.jsx(II,{children:x.jsx(Wz,{children:x.jsx(UB,{children:x.jsx(BB,{children:x.jsx(HB,{children:x.jsx(G.ThemeProvider,{children:x.jsx(bb,{children:x.jsx(NV,{})})})})})})})})})); diff --git a/backend/public/index.html b/backend/public/index.html index a40d076..d8ad4f9 100644 --- a/backend/public/index.html +++ b/backend/public/index.html @@ -34,8 +34,8 @@ - - + +
diff --git a/backend/users/index.js b/backend/users/index.js index 0faca8a..5ee9f09 100644 --- a/backend/users/index.js +++ b/backend/users/index.js @@ -1,5 +1,12 @@ import { db } from '../db/index.js'; import { logEvent } from '../logging/eventLogs.js'; +import { + generateSecurityPhraseWords, + encryptSecurityPhrase, + decryptSecurityPhrase, + canonicalizeWords, + canonicalizePhraseInput +} from './securityPhrase.js'; import { hashPassword, normalizeAvatarColor, @@ -18,6 +25,7 @@ const selectUsersWithGroups = db.prepare(` u.last_login, u.created_at, u.updated_at, + u.security_phrase_downloaded_at, GROUP_CONCAT(g.id || '::' || g.name, '|||') AS group_pairs FROM users u LEFT JOIN user_group_memberships m ON m.user_id = u.id @@ -36,6 +44,10 @@ const selectUserWithGroupsById = db.prepare(` u.last_login, u.created_at, u.updated_at, + u.security_phrase_content, + u.security_phrase_iv, + u.security_phrase_tag, + u.security_phrase_downloaded_at, GROUP_CONCAT(g.id || '::' || g.name, '|||') AS group_pairs FROM users u LEFT JOIN user_group_memberships m ON m.user_id = u.id @@ -63,6 +75,20 @@ const insertMembershipForUser = db.prepare(` VALUES (?, ?) `); +const selectSecurityPhraseByUsername = db.prepare(` + SELECT + id, + username, + is_active, + security_phrase_content AS content, + security_phrase_iv AS iv, + security_phrase_tag AS tag, + security_phrase_downloaded_at AS downloaded_at + FROM users + WHERE lower(username) = lower(?) + LIMIT 1 +`); + const selectGroupById = db.prepare('SELECT id, name FROM user_groups WHERE id = ?'); const selectGroupIdByName = db.prepare('SELECT id FROM user_groups WHERE lower(name) = lower(?) LIMIT 1'); @@ -75,8 +101,21 @@ const isUserInGroupStatement = db.prepare(` `); const insertUserStatement = db.prepare(` - INSERT INTO users (username, email, password_hash, password_salt, avatar_color, is_active, created_at, updated_at) - VALUES (?, ?, ?, ?, ?, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) + INSERT INTO users ( + username, + email, + password_hash, + password_salt, + avatar_color, + is_active, + security_phrase_content, + security_phrase_iv, + security_phrase_tag, + security_phrase_downloaded_at, + created_at, + updated_at + ) + VALUES (?, ?, ?, ?, ?, 1, ?, ?, ?, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) `); const updateUserCoreStatement = db.prepare(` @@ -97,6 +136,14 @@ const updateUserActiveStatement = db.prepare(` WHERE id = ? `); +const updateUserPasswordStatement = db.prepare(` + UPDATE users + SET password_hash = ?, + password_salt = ?, + updated_at = CURRENT_TIMESTAMP + WHERE id = ? +`); + const parseGroupPairs = (rawPairs) => { if (!rawPairs) { return []; @@ -127,7 +174,8 @@ const sanitizeUserRecord = (row) => ({ lastLogin: row.last_login || null, createdAt: row.created_at || null, updatedAt: row.updated_at || null, - groups: parseGroupPairs(row.group_pairs) + groups: parseGroupPairs(row.group_pairs), + securityPhraseDownloadedAt: row.security_phrase_downloaded_at || null }); export function listUsers() { @@ -147,13 +195,76 @@ const applyUserGroupAssignments = db.transaction((userId, groupIds) => { }); }); -const insertUserWithGroups = db.transaction(({ username, email, passwordHash, passwordSalt, avatarColor, groupId }) => { - const result = insertUserStatement.run(username, email, passwordHash, passwordSalt, avatarColor); +const insertUserWithGroups = db.transaction(({ + username, + email, + passwordHash, + passwordSalt, + avatarColor, + groupId, + securityPhrase +}) => { + const phraseToPersist = securityPhrase && typeof securityPhrase === 'object' + ? { + content: securityPhrase.content ?? null, + iv: securityPhrase.iv ?? null, + tag: securityPhrase.tag ?? null + } + : { content: null, iv: null, tag: null }; + + const result = insertUserStatement.run( + username, + email, + passwordHash, + passwordSalt, + avatarColor, + phraseToPersist.content, + phraseToPersist.iv, + phraseToPersist.tag + ); const userId = Number(result.lastInsertRowid); applyUserGroupAssignments(userId, [groupId]); return userId; }); +const selectSecurityPhraseByUserId = db.prepare(` + SELECT + id, + username, + security_phrase_content AS content, + security_phrase_iv AS iv, + security_phrase_tag AS tag, + security_phrase_downloaded_at AS downloaded_at + FROM users + WHERE id = ? +`); + +const updateSecurityPhraseStatement = db.prepare(` + UPDATE users + SET + security_phrase_content = ?, + security_phrase_iv = ?, + security_phrase_tag = ?, + security_phrase_downloaded_at = NULL, + updated_at = CURRENT_TIMESTAMP + WHERE id = ? +`); + +const markSecurityPhraseDownloadedStatement = db.prepare(` + UPDATE users + SET security_phrase_downloaded_at = COALESCE(security_phrase_downloaded_at, CURRENT_TIMESTAMP), + updated_at = CURRENT_TIMESTAMP + WHERE id = ? +`); + +const selectUsersMissingSecurityPhraseStatement = db.prepare(` + SELECT id + FROM users + WHERE security_phrase_content IS NULL + OR security_phrase_iv IS NULL + OR security_phrase_tag IS NULL +`); + const resolveActorFields = (actor) => { if (!actor || actor.id === undefined || actor.id === null) { return {}; @@ -175,6 +286,265 @@ const normalizeEmail = (value) => { return trimmed.toLowerCase(); }; +export function getUserSecurityPhrase(userId, options = {}) { + const numericUserId = Number(userId); + if (!Number.isFinite(numericUserId) || numericUserId <= 0) { + const error = new Error('INVALID_USER_ID'); + error.code = 'INVALID_USER_ID'; + throw error; + } + + const { actor = null, allowAutoGenerate = true } = options; + + const record = selectSecurityPhraseByUserId.get(numericUserId); + if (!record) { + const error = new Error('USER_NOT_FOUND'); + error.code = 'USER_NOT_FOUND'; + throw error; + } + + const words = decryptSecurityPhrase(record); + + if (allowAutoGenerate && (!Array.isArray(words) || words.length === 0)) { + return renewUserSecurityPhrase(numericUserId, { actor, suppressLog: true }); + } + + return { + userId: numericUserId, + username: record.username, + words, + downloadedAt: record.downloaded_at || null + }; +} + +export function renewUserSecurityPhrase(userId, options = {}) { + const actor = options.actor || null; + const suppressLog = Boolean(options.suppressLog); + const numericUserId = Number(userId); + if (!Number.isFinite(numericUserId) || numericUserId <= 0) { + const error = new Error('INVALID_USER_ID'); + error.code = 'INVALID_USER_ID'; + throw error; + } + + const existingUser = selectUserCredentialsById.get(numericUserId); + if (!existingUser) { + const error = new Error('USER_NOT_FOUND'); + error.code = 'USER_NOT_FOUND'; + throw error; + } + + const previousPhraseRecord = selectSecurityPhraseByUserId.get(numericUserId); + + const words = generateSecurityPhraseWords(8); + const { encrypted: encryptedPhrase } = encryptSecurityPhrase(words); + + updateSecurityPhraseStatement.run( + encryptedPhrase.content, + encryptedPhrase.iv, + encryptedPhrase.tag, + numericUserId + ); + + if (!suppressLog) { + logEvent({ + category: 'benutzer', + eventType: 'benutzer-sicherheitsschluessel-erneuert', + action: 'sicherheitsschluessel-erneuern', + status: 'erfolgreich', + entityType: 'benutzer', + entityId: String(numericUserId), + entityName: existingUser.username ?? `ID ${numericUserId}`, + message: `Sicherheitsschlüssel für Benutzer "${existingUser.username ?? numericUserId}" erneuert`, + metadata: { + previousDownloadedAt: previousPhraseRecord?.downloaded_at ?? null + }, + ...resolveActorFields(actor) + }); + } + + return { + userId: numericUserId, + username: existingUser.username, + words, + downloadedAt: null + }; +} + +export function markSecurityPhraseDownloaded(userId, options = {}) { + const actor = options.actor || null; + const numericUserId = Number(userId); + if (!Number.isFinite(numericUserId) || numericUserId <= 0) { + const error = new Error('INVALID_USER_ID'); + error.code = 'INVALID_USER_ID'; + throw error; + } + + const record = selectSecurityPhraseByUserId.get(numericUserId); + if (!record) { + const error = new Error('USER_NOT_FOUND'); + error.code = 'USER_NOT_FOUND'; + throw error; + } + + markSecurityPhraseDownloadedStatement.run(numericUserId); + + const updatedRecord = selectSecurityPhraseByUserId.get(numericUserId) || record; + const downloadedAt = updatedRecord?.downloaded_at || null; + + logEvent({ + category: 'benutzer', + eventType: 'benutzer-sicherheitsschluessel-heruntergeladen', + action: 'sicherheitsschluessel-herunterladen', + status: 'erfolgreich', + entityType: 'benutzer', + entityId: String(numericUserId), + entityName: record.username ?? `ID ${numericUserId}`, + message: `Sicherheitsschlüssel für Benutzer "${record.username ?? numericUserId}" heruntergeladen`, + metadata: { + downloadedAt + }, + ...resolveActorFields(actor) + }); + + return { + userId: numericUserId, + username: record.username, + downloadedAt + }; +} + +export function verifySecurityPhraseForUsername(username, phraseInput) { + const normalizedUsername = typeof username === 'string' ? username.trim() : ''; + if (!normalizedUsername) { + const error = new Error('USERNAME_REQUIRED'); + error.code = 'USERNAME_REQUIRED'; + throw error; + } + + const record = selectSecurityPhraseByUsername.get(normalizedUsername); + if (!record) { + const error = new Error('USER_NOT_FOUND'); + error.code = 'USER_NOT_FOUND'; + throw error; + } + + const candidateCanonical = canonicalizePhraseInput(phraseInput); + if (!candidateCanonical) { + const error = new Error('PHRASE_REQUIRED'); + error.code = 'PHRASE_REQUIRED'; + throw error; + } + + const words = decryptSecurityPhrase(record); + if (!Array.isArray(words) || words.length === 0) { + const error = new Error('PHRASE_NOT_INITIALIZED'); + error.code = 'PHRASE_NOT_INITIALIZED'; + throw error; + } + + const storedCanonical = canonicalizeWords(words); + if (!storedCanonical) { + const error = new Error('PHRASE_NOT_INITIALIZED'); + error.code = 'PHRASE_NOT_INITIALIZED'; + throw error; + } + + if (storedCanonical !== candidateCanonical) { + const error = new Error('PHRASE_MISMATCH'); + error.code = 'PHRASE_MISMATCH'; + throw error; + } + + return { + userId: record.id, + username: record.username, + isActive: Boolean(record.is_active), + words + }; +} + +export function setUserPassword(userId, newPassword, options = {}) { + const actor = options.actor || null; + const resetMethod = options.resetMethod || 'security-phrase'; + const numericUserId = Number(userId); + if (!Number.isFinite(numericUserId) || numericUserId <= 0) { + const error = new Error('INVALID_USER_ID'); + error.code = 'INVALID_USER_ID'; + throw error; + } + + const existingUser = selectUserCredentialsById.get(numericUserId); + if (!existingUser) { + const error = new Error('USER_NOT_FOUND'); + error.code = 'USER_NOT_FOUND'; + throw error; + } + + let passwordHash; + let passwordSalt; + try { + const hashed = hashPassword(newPassword); + passwordHash = hashed.hash; + passwordSalt = hashed.salt; + } catch (err) { + if (err && err.code) { + throw err; + } + const error = new Error('INVALID_PASSWORD'); + error.code = 'INVALID_PASSWORD'; + throw error; + } + + updateUserPasswordStatement.run(passwordHash, passwordSalt, numericUserId); + const updated = getUserById(numericUserId); + + logEvent({ + category: 'benutzer', + eventType: 'benutzer-passwort-zurueckgesetzt', + action: 'passwort-zuruecksetzen', + status: 'erfolgreich', + entityType: 'benutzer', + entityId: String(numericUserId), + entityName: updated?.username ?? existingUser.username ?? `ID ${numericUserId}`, + message: `Passwort für Benutzer "${updated?.username ?? existingUser.username ?? numericUserId}" zurückgesetzt`, + metadata: { + resetMethod + }, + ...resolveActorFields(actor) + }); + + return updated; +} + +export function ensureSecurityPhrasesForExistingUsers() { + const rows = selectUsersMissingSecurityPhraseStatement.all(); + if (!Array.isArray(rows) || rows.length === 0) { + return 0; + } + + let processed = 0; + const initialize = db.transaction((users) => { + users.forEach((entry) => { + if (!entry || entry.id === undefined || entry.id === null) { + return; + } + const words = generateSecurityPhraseWords(8); + const { encrypted: encryptedPhrase } = encryptSecurityPhrase(words); + updateSecurityPhraseStatement.run( + encryptedPhrase.content, + encryptedPhrase.iv, + encryptedPhrase.tag, + entry.id + ); + processed += 1; + }); + }); + + initialize(rows); + return processed; +} + export function createUser({ username, email, password, groupId, avatarColor }, options = {}) { const actor = options.actor || null; const normalizedUsername = typeof username === 'string' ? username.trim() : ''; @@ -245,13 +615,22 @@ export function createUser({ username, email, password, groupId, avatarColor }, const normalizedAvatarColor = normalizeAvatarColor(avatarColor); const avatarColorToPersist = normalizedAvatarColor || pickRandomAvatarColor() || DEFAULT_AVATAR_COLOR; + const securityPhraseWords = generateSecurityPhraseWords(8); + const { encrypted: encryptedPhrase } = encryptSecurityPhrase(securityPhraseWords); + const securityPhrasePayload = { + content: encryptedPhrase.content, + iv: encryptedPhrase.iv, + tag: encryptedPhrase.tag + }; + const userId = insertUserWithGroups({ username: normalizedUsername, email: normalizedEmail, passwordHash, passwordSalt, avatarColor: avatarColorToPersist, - groupId: numericGroupId + groupId: numericGroupId, + securityPhrase: securityPhrasePayload }); const userRecord = getUserById(userId); diff --git a/backend/users/securityPhrase.js b/backend/users/securityPhrase.js new file mode 100644 index 0000000..2be8d5e --- /dev/null +++ b/backend/users/securityPhrase.js @@ -0,0 +1,136 @@ +import crypto from 'crypto'; +import { wordlist as englishWordlist } from '@scure/bip39/wordlists/english.js'; + +const FALLBACK_SECRET = 'stackpulse-security-phrase-secret'; + +const WORD_LIST = englishWordlist; + + +const SECURITY_PHRASE_KEY = crypto + .createHash('sha256') + .update(String(process.env.SECURITY_PHRASE_SECRET || FALLBACK_SECRET)) + .digest(); + +const encryptValue = (value) => { + const iv = crypto.randomBytes(12); + const cipher = crypto.createCipheriv('aes-256-gcm', SECURITY_PHRASE_KEY, iv); + const encrypted = Buffer.concat([cipher.update(value, 'utf8'), cipher.final()]); + const tag = cipher.getAuthTag(); + return { + iv: iv.toString('base64'), + content: encrypted.toString('base64'), + tag: tag.toString('base64') + }; +}; + +const decryptValue = ({ content, iv, tag }) => { + if (!content || !iv || !tag) { + return ''; + } + const decipher = crypto.createDecipheriv('aes-256-gcm', SECURITY_PHRASE_KEY, Buffer.from(iv, 'base64')); + decipher.setAuthTag(Buffer.from(tag, 'base64')); + const decrypted = Buffer.concat([ + decipher.update(Buffer.from(content, 'base64')), + decipher.final() + ]); + return decrypted.toString('utf8'); +}; + +export const generateSecurityPhraseWords = (count = 8) => { + const words = []; + for (let i = 0; i < count; i += 1) { + const index = crypto.randomInt(0, WORD_LIST.length); + words.push(WORD_LIST[index]); + } + return words; +}; + +export const encodeWords = (words = []) => { + return words + .map((word) => { + const index = WORD_LIST.indexOf(word); + if (index === -1) { + throw new Error(`SECURITY_PHRASE_WORD_UNKNOWN:${word}`); + } + return String(index); + }) + .join('-'); +}; + +export const decodeWords = (encoded) => { + if (!encoded) { + return []; + } + return encoded.split('-').map((entry) => { + const index = Number(entry); + if (!Number.isFinite(index) || index < 0 || index >= WORD_LIST.length) { + throw new Error('SECURITY_PHRASE_DECODE_FAILED'); + } + return WORD_LIST[index]; + }); +}; + +export const encryptSecurityPhrase = (words) => { + const encoded = encodeWords(words); + const encrypted = encryptValue(encoded); + return { + encrypted, + encoded + }; +}; + +export const decryptSecurityPhrase = (record) => { + if (!record) { + return []; + } + const encoded = decryptValue(record); + if (!encoded) { + return []; + } + return decodeWords(encoded); +}; + +export const formatPhraseForDisplay = (words) => { + const rows = []; + for (let i = 0; i < words.length; i += 4) { + rows.push(words.slice(i, i + 4)); + } + return rows; +}; + +const normalizeWord = (value) => { + if (!value && value !== 0) { + return ''; + } + return String(value).trim().toLowerCase(); +}; + +export const canonicalizeWords = (words = []) => { + return words + .map(normalizeWord) + .filter((word) => word.length > 0) + .join(''); +}; + +export const extractWordsFromString = (input) => { + if (!input && input !== 0) { + return []; + } + const normalized = String(input) + .replace(/[\r\n\t]+/g, ' ') + .trim() + .toLowerCase(); + if (!normalized) { + return []; + } + return normalized.split(/\s+/).filter(Boolean); +}; + +export const canonicalizePhraseInput = (input) => { + if (Array.isArray(input)) { + return canonicalizeWords(input); + } + return canonicalizeWords(extractWordsFromString(input)); +}; + +export default WORD_LIST; diff --git a/frontend/src/components/AuthProvider.jsx b/frontend/src/components/AuthProvider.jsx new file mode 100644 index 0000000..dd2a5ec --- /dev/null +++ b/frontend/src/components/AuthProvider.jsx @@ -0,0 +1,172 @@ +import React, { createContext, useCallback, useContext, useMemo, useState } from "react"; + +const LEVEL_PRIORITY = { + none: 0, + read: 1, + full: 2, +}; + +const AuthContext = createContext(null); +AuthContext.displayName = "AuthContext"; + +const normalizePermissions = (raw) => { + if (!raw || typeof raw !== "object" || Array.isArray(raw)) { + return {}; + } + return Object.entries(raw).reduce((acc, [key, value]) => { + if (typeof key !== "string" || !key) { + return acc; + } + const normalizedValue = typeof value === "string" ? value : String(value ?? "").trim(); + acc[key] = normalizedValue || "none"; + return acc; + }, {}); +}; + +export function AuthProvider({ children }) { + const [state, setState] = useState({ + user: null, + permissions: {}, + loading: false, + error: null, + lastErrorCode: null, + initialized: false, + }); + + const setSession = useCallback((payload) => { + const user = payload?.user ?? null; + const permissions = normalizePermissions(payload?.permissions); + setState({ + user, + permissions, + loading: false, + error: null, + lastErrorCode: null, + initialized: true, + }); + }, []); + + const clearSession = useCallback(() => { + setState((prev) => ({ + user: null, + permissions: {}, + loading: false, + error: null, + lastErrorCode: null, + initialized: prev.initialized || true, + })); + }, []); + + const refreshSession = useCallback(async () => { + setState((prev) => ({ + ...prev, + loading: true, + error: null, + lastErrorCode: null, + })); + + try { + const response = await fetch("/api/auth/session", { + credentials: "include", + }); + + const payload = await response.json().catch(() => ({})); + + if (!response.ok) { + setState({ + user: null, + permissions: {}, + loading: false, + error: payload?.error ?? null, + lastErrorCode: payload?.error ?? null, + initialized: true, + }); + return { ok: false, status: response.status, error: payload?.error ?? null }; + } + + setSession(payload); + return { ok: true, data: payload }; + } catch (err) { + const message = err?.message || "NETWORK_ERROR"; + setState({ + user: null, + permissions: {}, + loading: false, + error: message, + lastErrorCode: "NETWORK_ERROR", + initialized: true, + }); + return { ok: false, error: message }; + } + }, [setSession]); + + const logout = useCallback(async () => { + let capturedError = null; + try { + const response = await fetch("/api/auth/logout", { + method: "POST", + credentials: "include", + headers: { "Content-Type": "application/json" }, + }); + if (!response.ok) { + const payload = await response.json().catch(() => ({})); + const logoutError = new Error(payload?.error || "LOGOUT_FAILED"); + logoutError.code = payload?.error || `STATUS_${response.status}`; + throw logoutError; + } + } catch (err) { + capturedError = err; + } finally { + clearSession(); + } + if (capturedError) { + throw capturedError; + } + }, [clearSession]); + + const hasPermission = useCallback( + (permissionKey, requiredLevel = "full") => { + if (!permissionKey) { + return true; + } + if (state.user?.isSuperuser) { + return true; + } + const current = state.permissions?.[permissionKey] ?? "none"; + const currentPriority = LEVEL_PRIORITY[current] ?? 0; + const requiredPriority = LEVEL_PRIORITY[requiredLevel] ?? LEVEL_PRIORITY.full; + return currentPriority >= requiredPriority; + }, + [state.permissions, state.user] + ); + + const value = useMemo( + () => ({ + user: state.user, + permissions: state.permissions, + loading: state.loading, + error: state.error, + lastErrorCode: state.lastErrorCode, + initialized: state.initialized, + isAuthenticated: Boolean(state.user), + refreshSession, + setSession, + clearSession, + logout, + hasPermission, + }), + [state, refreshSession, setSession, clearSession, logout, hasPermission] + ); + + return {children}; +} + +export function useAuth() { + const context = useContext(AuthContext); + if (!context) { + throw new Error("useAuth must be used within an AuthProvider"); + } + return context; +} + +export const AuthContextDisplayName = "/src/components/AuthProvider.jsx"; diff --git a/frontend/src/components/PermissionGate.jsx b/frontend/src/components/PermissionGate.jsx new file mode 100644 index 0000000..ac75083 --- /dev/null +++ b/frontend/src/components/PermissionGate.jsx @@ -0,0 +1,58 @@ +import React from "react"; +import PropTypes from "prop-types"; +import { Typography, Card, CardBody } from "@material-tailwind/react"; +import { useAuth } from "@/components/AuthProvider.jsx"; + +export function PermissionGate({ + permission, + requiredLevel = "full", + loadingFallback = null, + children, +}) { + const { initialized, loading, hasPermission } = useAuth(); + + if (!permission) { + return children; + } + + if (!initialized || loading) { + return ( + loadingFallback ?? ( +
+ + Berechtigungen werden geladen … + +
+ ) + ); + } + + if (hasPermission(permission, requiredLevel)) { + return children; + } + + return ( +
+ + + + Kein Zugriff auf diesen Bereich + + + Für diese Funktion wird die Berechtigung {permission} benötigt. + + + +
+ ); +} + +PermissionGate.propTypes = { + permission: PropTypes.string, + requiredLevel: PropTypes.string, + loadingFallback: PropTypes.node, + children: PropTypes.node.isRequired, +}; + +export default PermissionGate; + diff --git a/frontend/src/layouts/dashboard.jsx b/frontend/src/layouts/dashboard.jsx index b90d6c7..8b76115 100644 --- a/frontend/src/layouts/dashboard.jsx +++ b/frontend/src/layouts/dashboard.jsx @@ -11,7 +11,10 @@ import { import routes from "@/routes"; import { UserDetails } from "@/pages/dashboard/userDetails.jsx"; import { UserGroupDetail } from "@/pages/dashboard/userGroupDetail.jsx"; +import { SecurityPhrase } from "@/pages/dashboard/securityPhrase.jsx"; import { useMaterialTailwindController, setOpenConfigurator } from "@/components"; +import { useAuth } from "@/components/AuthProvider.jsx"; +import PermissionGate from "@/components/PermissionGate.jsx"; export function Dashboard() { const [controller, dispatch] = useMaterialTailwindController(); @@ -20,8 +23,13 @@ export function Dashboard() { const navigate = useNavigate(); const [setupChecked, setSetupChecked] = useState(false); const [setupIncomplete, setSetupIncomplete] = useState(true); - const [authChecked, setAuthChecked] = useState(false); - const [isAuthenticated, setIsAuthenticated] = useState(false); + const { + initialized: authInitialized, + loading: authLoading, + isAuthenticated, + refreshSession, + user + } = useAuth(); const checkSetupStatus = useCallback(async () => { setSetupChecked(false); @@ -40,37 +48,15 @@ export function Dashboard() { } }, []); - const checkSession = useCallback(async () => { - setAuthChecked(false); - try { - const response = await fetch("/api/auth/session", { credentials: "include" }); - if (response.status === 403) { - setSetupIncomplete(true); - setIsAuthenticated(false); - return; - } - if (!response.ok) { - setIsAuthenticated(false); - return; - } - const data = await response.json(); - setIsAuthenticated(Boolean(data?.user)); - } catch (error) { - console.error("⚠️ [Auth] Sessionprüfung fehlgeschlagen:", error); - setIsAuthenticated(false); - } finally { - setAuthChecked(true); - } - }, [setSetupIncomplete, setIsAuthenticated, setAuthChecked]); - useEffect(() => { checkSetupStatus(); }, [checkSetupStatus]); useEffect(() => { if (!setupChecked || setupIncomplete) return; - checkSession(); - }, [setupChecked, setupIncomplete, checkSession]); + if (authInitialized || authLoading) return; + refreshSession(); + }, [setupChecked, setupIncomplete, authInitialized, authLoading, refreshSession]); useEffect(() => { if (!setupChecked) return; @@ -82,7 +68,7 @@ export function Dashboard() { return; } - if (!authChecked) return; + if (!authInitialized) return; if (!isAuthenticated) { if (location.pathname !== "/auth/sign-in") { @@ -91,10 +77,53 @@ export function Dashboard() { return; } - if (location.pathname === "/setup" || location.pathname.startsWith("/auth/")) { + const requiresSecurityPhrase = Boolean(user?.requiresSecurityPhraseDownload); + const isSecurityPhrasePath = location.pathname === "/dashboard/security-phrase"; + + if (requiresSecurityPhrase && !isSecurityPhrasePath) { + navigate("/dashboard/security-phrase", { replace: true }); + return; + } + + if (!requiresSecurityPhrase && isSecurityPhrasePath) { navigate("/dashboard/stacks", { replace: true }); } - }, [setupChecked, setupIncomplete, authChecked, isAuthenticated, location.pathname, navigate]); + }, [ + setupChecked, + setupIncomplete, + authInitialized, + isAuthenticated, + location.pathname, + navigate, + user?.requiresSecurityPhraseDownload + ]); + + useEffect(() => { + if (!setupChecked || setupIncomplete) return; + if (!authInitialized || authLoading) return; + + if (!isAuthenticated) { + if (location.pathname !== "/auth/sign-in") { + navigate("/auth/sign-in", { replace: true }); + } + return; + } + + const isAuthPath = location.pathname.startsWith("/auth/"); + const isLogoutPath = location.pathname === "/auth/logout"; + + if (location.pathname === "/setup" || (isAuthPath && !isLogoutPath)) { + navigate("/dashboard/stacks", { replace: true }); + } + }, [ + setupChecked, + setupIncomplete, + authInitialized, + authLoading, + isAuthenticated, + location.pathname, + navigate + ]); if (!setupChecked) { return ( @@ -112,7 +141,7 @@ export function Dashboard() { ); } - if (!authChecked) { + if (!authInitialized || authLoading) { return (
Pruefe Anmeldung ... @@ -128,26 +157,34 @@ export function Dashboard() { ); } + const isSecurityPhraseRoute = location.pathname === "/dashboard/security-phrase"; + return (
- -
- - - setOpenConfigurator(dispatch, true)} - > - - + {!isSecurityPhraseRoute && ( + + )} +
+ {!isSecurityPhraseRoute && ( + <> + + + setOpenConfigurator(dispatch, true)} + > + + + + )} {routes.map( ({ layout, pages }) => @@ -156,12 +193,29 @@ export function Dashboard() { )) )} - } /> - } /> + } /> + + + + } + /> + + + + } + /> -
-
-
+ {!isSecurityPhraseRoute && ( +
+
+
+ )}
); diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx index 86515d9..47615c3 100644 --- a/frontend/src/main.jsx +++ b/frontend/src/main.jsx @@ -20,23 +20,26 @@ import "./tailwind.css"; import ToastProvider from "@/components/ToastProvider.jsx"; import MaintenanceProvider from "@/components/MaintenanceProvider.jsx"; import PageProvider from "@/components/PageProvider.jsx"; +import { AuthProvider } from "@/components/AuthProvider.jsx"; axios.defaults.withCredentials = true; ReactDOM.createRoot(document.getElementById("root")).render( - - - - - - - - - - - + + + + + + + + + + + + + ); diff --git a/frontend/src/pages/auth/forgot-password.jsx b/frontend/src/pages/auth/forgot-password.jsx new file mode 100644 index 0000000..db7891c --- /dev/null +++ b/frontend/src/pages/auth/forgot-password.jsx @@ -0,0 +1,400 @@ +import React, { useCallback, useMemo, useState } from "react"; +import axios from "axios"; +import { + Card, + CardBody, + CardHeader, + Typography, + Input, + Button, + Spinner, + Alert +} from "@material-tailwind/react"; +import { useNavigate } from "react-router-dom"; +import { useToast } from "@/components/ToastProvider.jsx"; + +const PHRASE_WORD_COUNT = 8; + +const normalizeWord = (value) => String(value || "").trim().toLowerCase(); + +const extractWordsFromText = (text = "") => { + const normalized = String(text || "").replace(/[\r\n\t]+/g, " ").trim().toLowerCase(); + if (!normalized) { + return []; + } + return normalized.split(/\s+/).filter(Boolean); +}; + +const buildPhrasePayload = (words = []) => { + const normalized = words.map(normalizeWord).filter(Boolean); + return { + words: normalized, + canonical: normalized.join("") + }; +}; + +export function ForgotPassword() { + const navigate = useNavigate(); + const { showToast } = useToast(); + + const [username, setUsername] = useState(""); + const [phraseInputs, setPhraseInputs] = useState(Array(PHRASE_WORD_COUNT).fill("")); + const [fileName, setFileName] = useState(""); + const [fileContent, setFileContent] = useState(""); + const [verificationError, setVerificationError] = useState(""); + const [verifying, setVerifying] = useState(false); + const [verificationToken, setVerificationToken] = useState(""); + + const [password, setPassword] = useState(""); + const [confirmPassword, setConfirmPassword] = useState(""); + const [resetting, setResetting] = useState(false); + const [resetError, setResetError] = useState(""); + + const phraseWords = useMemo(() => { + if (fileContent.trim()) { + return extractWordsFromText(fileContent); + } + return phraseInputs.map(normalizeWord).filter(Boolean); + }, [fileContent, phraseInputs]); + + const handlePhraseInputChange = useCallback((index, value) => { + setPhraseInputs((prev) => { + const next = [...prev]; + next[index] = value; + return next; + }); + }, []); + + const handleFileUpload = useCallback((event) => { + const [file] = event.target.files || []; + if (!file) { + setFileName(""); + setFileContent(""); + return; + } + setFileName(file.name); + const reader = new FileReader(); + reader.onload = (loadEvent) => { + const text = String(loadEvent.target?.result || ""); + setFileContent(text); + setPhraseInputs(Array(PHRASE_WORD_COUNT).fill("")); + }; + reader.onerror = () => { + setFileName(""); + setFileContent(""); + showToast({ + variant: "error", + title: "Datei konnte nicht gelesen werden", + description: "Bitte lade die Datei erneut hoch." + }); + }; + reader.readAsText(file); + }, [showToast]); + + const handleVerifyPhrase = useCallback(async () => { + setVerificationError(""); + setVerificationToken(""); + + const trimmedUsername = username.trim(); + if (!trimmedUsername) { + setVerificationError("Bitte gib deinen Benutzernamen ein."); + return; + } + + const words = phraseWords; + const hasFile = Boolean(fileContent.trim()); + + if (!hasFile && words.length !== PHRASE_WORD_COUNT) { + setVerificationError("Bitte gib alle acht Wörter des Sicherheitsschlüssels ein."); + return; + } + + if (hasFile && words.length !== PHRASE_WORD_COUNT) { + setVerificationError("Die hochgeladene Datei enthält nicht genau acht Wörter."); + return; + } + + const payload = buildPhrasePayload(words); + if (!payload.canonical) { + setVerificationError("Der Sicherheitsschlüssel ist ungültig oder leer."); + return; + } + + setVerifying(true); + try { + const response = await axios.post("/api/auth/recover/verify", { + username: trimmedUsername, + phrase: payload.canonical, + words: payload.words + }); + + const responseToken = response.data?.token; + if (!responseToken) { + throw new Error("TOKEN_MISSING"); + } + setVerificationToken(responseToken); + showToast({ + variant: "success", + title: "Sicherheitsschlüssel bestätigt", + description: "Du kannst jetzt ein neues Passwort festlegen." + }); + } catch (error) { + const serverError = error.response?.data?.error; + if (serverError === "USER_NOT_FOUND") { + setVerificationError("Der angegebene Benutzer wurde nicht gefunden."); + } else if (serverError === "PHRASE_MISMATCH") { + setVerificationError("Der Sicherheitsschlüssel passt nicht zum Benutzer."); + } else if (serverError === "PHRASE_NOT_INITIALIZED") { + setVerificationError("Für diesen Benutzer ist aktuell kein Sicherheitsschlüssel hinterlegt."); + } else if (serverError === "PHRASE_REQUIRED") { + setVerificationError("Bitte gib den Sicherheitsschlüssel ein."); + } else if (serverError === "USERNAME_REQUIRED") { + setVerificationError("Der Benutzername darf nicht leer sein."); + } else if (serverError === "INVALID_PASSWORD") { + setVerificationError("Der Sicherheitsschlüssel ist ungültig."); + } else { + setVerificationError("Die Sicherheitsprüfung ist fehlgeschlagen. Bitte versuche es erneut."); + } + } finally { + setVerifying(false); + } + }, [fileContent, phraseWords, showToast, username]); + + const handleResetPassword = useCallback(async () => { + setResetError(""); + + if (!verificationToken) { + setResetError("Bitte bestätige zuerst deinen Sicherheitsschlüssel."); + return; + } + + const trimmedPassword = password.trim(); + const trimmedConfirm = confirmPassword.trim(); + + if (!trimmedPassword || !trimmedConfirm) { + setResetError("Bitte gib das neue Passwort zweimal ein."); + return; + } + + if (trimmedPassword !== trimmedConfirm) { + setResetError("Die Passwörter stimmen nicht überein."); + return; + } + + setResetting(true); + try { + await axios.post("/api/auth/recover/reset", { + token: verificationToken, + password: trimmedPassword, + confirmPassword: trimmedConfirm + }); + showToast({ + variant: "success", + title: "Passwort aktualisiert", + description: "Du kannst dich jetzt mit deinem neuen Passwort anmelden." + }); + navigate("/auth/sign-in", { replace: true }); + } catch (error) { + const serverError = error.response?.data?.error; + if (serverError === "TOKEN_INVALID_OR_EXPIRED") { + setResetError("Die Wiederherstellungssitzung ist abgelaufen. Bitte starte den Vorgang erneut."); + setVerificationToken(""); + } else if (serverError === "PASSWORD_TOO_SHORT") { + setResetError("Das Passwort muss mindestens 8 Zeichen enthalten."); + } else if (serverError === "PASSWORD_REQUIRED") { + setResetError("Bitte gib ein neues Passwort ein."); + } else if (serverError === "PASSWORD_MISMATCH") { + setResetError("Die Passwörter stimmen nicht überein."); + } else { + setResetError("Das Passwort konnte nicht zurückgesetzt werden. Bitte versuche es erneut."); + } + } finally { + setResetting(false); + } + }, [confirmPassword, navigate, password, showToast, verificationToken]); + + const verificationCompleted = Boolean(verificationToken); + + return ( +
+ + + + Passwort zurücksetzen + + + Gib deinen Benutzernamen und den Sicherheitsschlüssel (8 Wörter) ein oder lade die gespeicherte Schlüsseldatei. + + + +
+ + Schritt 1: Sicherheitsschlüssel prüfen + +
+ + Benutzername + + setUsername(event.target.value)} + disabled={verificationCompleted || verifying} + className=" !border-t-blue-gray-200 focus:!border-t-gray-900" + labelProps={{ className: "before:content-none after:content-none" }} + /> +
+ +
+ + Sicherheitsschlüssel eingeben + +
+ {phraseInputs.map((value, index) => ( + handlePhraseInputChange(index, event.target.value)} + disabled={verificationCompleted || verifying || Boolean(fileContent.trim())} + className=" !border-t-blue-gray-200 focus:!border-t-gray-900" + labelProps={{ className: "before:content-none after:content-none" }} + /> + ))} +
+
+ +
+ + Alternativ: Schlüsseldatei (.txt) hochladen + +
+ + {fileName && ( + + Ausgewählte Datei: {fileName} + + )} +
+
+ + {verificationError && ( + + {verificationError} + + )} + +
+ + {verificationCompleted && ( + + Die Wiederherstellung bleibt für kurze Zeit aktiv. Bitte setze dein Passwort zeitnah zurück. + + )} +
+
+ + {/* Schritt 2 */} +
+ + Schritt 2: Neues Passwort festlegen + + + {!verificationCompleted && ( + + Nach erfolgreicher Prüfung des Sicherheitsschlüssels kannst du hier ein neues Passwort vergeben. + + )} + + {verificationCompleted && ( +
+
+ + Neues Passwort + + setPassword(event.target.value)} + disabled={resetting} + className=" !border-t-blue-gray-200 focus:!border-t-gray-900" + labelProps={{ className: "before:content-none after:content-none" }} + /> +
+
+ + Passwort bestätigen + + setConfirmPassword(event.target.value)} + disabled={resetting} + className=" !border-t-blue-gray-200 focus:!border-t-gray-900" + labelProps={{ className: "before:content-none after:content-none" }} + /> +
+ {resetError && ( + + {resetError} + + )} + +
+ )} +
+ +
+ navigate("/auth/sign-in")} + className="text-sm font-medium text-blue-600 transition hover:text-blue-800" + > + Zurück zur Anmeldung + +
+
+
+
+ ); +} + +export default ForgotPassword; diff --git a/frontend/src/pages/auth/index.js b/frontend/src/pages/auth/index.js index ca1bbcb..818646c 100644 --- a/frontend/src/pages/auth/index.js +++ b/frontend/src/pages/auth/index.js @@ -1,2 +1,4 @@ export * from "@/pages/auth/sign-in"; export * from "@/pages/auth/sign-up"; +export * from "@/pages/auth/sign-out"; +export * from "@/pages/auth/forgot-password"; diff --git a/frontend/src/pages/auth/sign-in.jsx b/frontend/src/pages/auth/sign-in.jsx index 3b77b9a..9b190ce 100644 --- a/frontend/src/pages/auth/sign-in.jsx +++ b/frontend/src/pages/auth/sign-in.jsx @@ -7,9 +7,11 @@ import { } from "@material-tailwind/react"; import { useNavigate } from "react-router-dom"; import pattern from "@/assets/images/pattern.png"; +import { useAuth } from "@/components/AuthProvider.jsx"; export function SignIn() { const navigate = useNavigate(); + const { setSession, refreshSession } = useAuth(); const [identifier, setIdentifier] = useState(""); const [password, setPassword] = useState(""); const [loading, setLoading] = useState(false); @@ -42,8 +44,12 @@ export function SignIn() { if (sessionResponse.ok) { const sessionData = await sessionResponse.json(); + if (sessionData?.user) { + setSession(sessionData); + } if (sessionData?.user && isActive) { - navigate("/dashboard/stacks", { replace: true }); + const requiresSecurityPhrase = Boolean(sessionData.user.requiresSecurityPhraseDownload); + navigate(requiresSecurityPhrase ? "/dashboard/security-phrase" : "/dashboard/stacks", { replace: true }); return; } } @@ -64,7 +70,7 @@ export function SignIn() { isActive = false; controller.abort(); }; - }, [navigate]); + }, [navigate, setSession]); const handleSubmit = useCallback( async (event) => { @@ -108,7 +114,20 @@ export function SignIn() { return; } - navigate("/dashboard/stacks", { replace: true }); + let sessionPayload = null; + + if (payload?.user) { + setSession(payload); + sessionPayload = payload; + } else { + const refreshed = await refreshSession(); + if (refreshed?.ok && refreshed?.data?.user) { + sessionPayload = refreshed.data; + } + } + + const requiresSecurityPhrase = Boolean(sessionPayload?.user?.requiresSecurityPhraseDownload); + navigate(requiresSecurityPhrase ? "/dashboard/security-phrase" : "/dashboard/stacks", { replace: true }); } catch (err) { console.error("⚠️ [Auth] Anmeldung fehlgeschlagen:", err); setError("Netzwerkfehler – bitte erneut versuchen."); @@ -116,7 +135,7 @@ export function SignIn() { setLoading(false); } }, - [identifier, password, loading, navigate] + [identifier, password, loading, navigate, refreshSession, setSession] ); if (!statusChecked) { @@ -190,6 +209,14 @@ export function SignIn() { + navigate("/auth/forgot-password")} + className="mt-4 text-sm font-medium text-blue-600 transition hover:text-blue-800" + > + Passwort vergessen? +
diff --git a/frontend/src/pages/auth/sign-out.jsx b/frontend/src/pages/auth/sign-out.jsx new file mode 100644 index 0000000..c6189c9 --- /dev/null +++ b/frontend/src/pages/auth/sign-out.jsx @@ -0,0 +1,63 @@ +import { useEffect, useState } from "react"; +import { useNavigate } from "react-router-dom"; +import { Card, CardBody, Typography, Spinner } from "@material-tailwind/react"; +import { useAuth } from "@/components/AuthProvider.jsx"; + +export function SignOut() { + const navigate = useNavigate(); + const { logout } = useAuth(); + const [status, setStatus] = useState("abmelden..."); + const [error, setError] = useState(null); + + useEffect(() => { + let cancelled = false; + + const performLogout = async () => { + try { + setStatus("Abmeldung läuft …"); + setError(null); + await logout(); + } catch (err) { + if (!cancelled) { + console.error("⚠️ [Auth] Logout fehlgeschlagen:", err); + setError("Abmeldung fehlgeschlagen. Bitte versuche es erneut."); + } + } finally { + if (!cancelled) { + navigate("/auth/sign-in", { replace: true }); + } + } + }; + + performLogout(); + + return () => { + cancelled = true; + }; + }, [logout, navigate]); + + return ( +
+ + +
+ + + {status} + +
+ {error && ( + + {error} + + )} + + Du wirst automatisch weitergeleitet … + +
+
+
+ ); +} + +SignOut.displayName = "/src/pages/auth/sign-out.jsx"; diff --git a/frontend/src/pages/dashboard/index.js b/frontend/src/pages/dashboard/index.js index e065523..3abb78a 100644 --- a/frontend/src/pages/dashboard/index.js +++ b/frontend/src/pages/dashboard/index.js @@ -5,3 +5,4 @@ export * from "@/pages/dashboard/users"; export * from "@/pages/dashboard/usergroups"; export * from "@/pages/dashboard/userDetails"; export * from "@/pages/dashboard/userGroupDetail"; +export * from "@/pages/dashboard/securityPhrase"; diff --git a/frontend/src/pages/dashboard/logs.jsx b/frontend/src/pages/dashboard/logs.jsx index 7418a43..099c048 100644 --- a/frontend/src/pages/dashboard/logs.jsx +++ b/frontend/src/pages/dashboard/logs.jsx @@ -13,6 +13,7 @@ import { } from "@material-tailwind/react"; import { PaginationControls, usePage } from "@/components/PageProvider.jsx"; import { useMaintenance } from "@/components/MaintenanceProvider.jsx"; +import { useAuth } from "@/components/AuthProvider.jsx"; const UPDATE_STAGE_LABELS = { initializing: "Vorbereitung", @@ -176,6 +177,9 @@ export function Logs() { const updateRunning = Boolean(updateState?.running); const maintenanceLocked = maintenanceActive || updateRunning; const updateStageLabel = updateState?.stage ? (UPDATE_STAGE_LABELS[updateState.stage] ?? updateState.stage) : "–"; + const { hasPermission } = useAuth(); + const canDeleteLogs = hasPermission("logs-delete", "full"); + const canExportLogs = hasPermission("logs-export", "full"); const { @@ -607,6 +611,10 @@ export function Logs() { ]); const handleDeleteLog = async (id) => { + if (!canDeleteLogs) { + setError("Dir fehlt die Berechtigung, einzelne Logeinträge zu löschen."); + return; + } if (!window.confirm("Diesen Log-Eintrag dauerhaft löschen?")) return; setActionLoading(true); setError(""); @@ -622,6 +630,10 @@ export function Logs() { }; const handleDeleteFiltered = async () => { + if (!canDeleteLogs) { + setError("Dir fehlt die Berechtigung, Logs zu löschen."); + return; + } if (!logs.length) return; if (!window.confirm("Alle angezeigten Logs (entsprechend Filter) löschen?")) return; setActionLoading(true); @@ -642,6 +654,10 @@ export function Logs() { }; const handleExport = async (format) => { + if (!canExportLogs) { + setError("Dir fehlt die Berechtigung, Logs zu exportieren."); + return; + } setActionLoading(true); setError(""); try { @@ -716,23 +732,31 @@ export function Logs() { {filtersOpen && (
-
- - - -
+ {(canExportLogs || canDeleteLogs) && ( +
+ {canExportLogs && ( + <> + + + + )} + {canDeleteLogs && ( + + )} +
+ )}
@@ -1270,15 +1294,17 @@ export function Logs() {
- - - + {canDeleteLogs && ( + + + + )} ); diff --git a/frontend/src/pages/dashboard/maintenance.jsx b/frontend/src/pages/dashboard/maintenance.jsx index 50ecc15..29027f6 100644 --- a/frontend/src/pages/dashboard/maintenance.jsx +++ b/frontend/src/pages/dashboard/maintenance.jsx @@ -1,7 +1,7 @@ import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"; import axios from "axios"; -import { useToast } from "@/components/ToastProvider.jsx"; import { useMaintenance } from "@/components/MaintenanceProvider"; +import { useAuth } from "@/components/AuthProvider.jsx"; import { Typography, @@ -110,7 +110,8 @@ const createEmptySshDraft = () => ({ }); export function Maintenance() { - const { showToast } = useToast(); + const { hasPermission, user: authUser } = useAuth(); + const showToast = useCallback(() => { }, []); const { maintenance: maintenanceMeta, update: updateState, @@ -133,6 +134,19 @@ export function Maintenance() { removeSuperuserAccount } = useMaintenance(); + const isSuperuserAccount = Boolean(authUser?.isSuperuser); + const canViewMaintenance = Boolean(isSuperuserAccount || hasPermission("maintenance-access", "read")); + const canControlMaintenance = Boolean(isSuperuserAccount || hasPermission("maintenance-access", "full")); + const canViewServers = Boolean(isSuperuserAccount || hasPermission("maintenance-server-manage", "read")); + const canEditServers = Boolean(isSuperuserAccount || hasPermission("maintenance-server-manage", "full")); + const canDeleteServers = Boolean(isSuperuserAccount || hasPermission("maintenance-server-delete", "full")); + const canViewPortainer = Boolean(isSuperuserAccount || hasPermission("maintenance-portainer", "read")); + const canManagePortainerUpdate = Boolean(isSuperuserAccount || hasPermission("maintenance-update", "full")); + const canViewSsh = Boolean(isSuperuserAccount || hasPermission("maintenance-ssh-update", "read")); + const canManageSsh = Boolean(isSuperuserAccount || hasPermission("maintenance-ssh-update", "full")); + const canViewDuplicates = Boolean(isSuperuserAccount || hasPermission("maintenance-duplicates", "read")); + const canManageDuplicates = Boolean(isSuperuserAccount || hasPermission("maintenance-duplicates", "full")); + const maintenanceActive = Boolean(maintenanceMeta?.active); const maintenanceMessage = maintenanceMeta?.message; const maintenanceExtraType = maintenanceMeta?.extra?.type; @@ -383,11 +397,12 @@ export function Maintenance() { }, [duplicates]); const handleSshDraftChange = useCallback((field, value) => { + if (!canManageSsh) return; setSshDraft((prev) => ({ ...prev, [field]: value })); if (field === 'password') { setSshPasswordStored(false); } - }, []); + }, [canManageSsh]); const normalizedSshDraft = useMemo(() => { const normalized = { @@ -411,6 +426,7 @@ export function Maintenance() { }, [sshDraft, sshPasswordStored]); const handleScriptSave = useCallback(async () => { + if (!canManageSsh) return; if (!scriptConfig) return; try { setScriptSaving(true); @@ -426,9 +442,10 @@ export function Maintenance() { } finally { setScriptSaving(false); } - }, [saveScript, scriptDraft, scriptConfig, showToast]); + }, [canManageSsh, saveScript, scriptDraft, scriptConfig, showToast]); const handleScriptReset = useCallback(async () => { + if (!canManageSsh) return; try { setScriptSaving(true); await resetScript(); @@ -443,9 +460,10 @@ export function Maintenance() { } finally { setScriptSaving(false); } - }, [resetScript, showToast]); + }, [canManageSsh, resetScript, showToast]); const handleSshSaveConfig = useCallback(async () => { + if (!canManageSsh) return; try { setSshSaving(true); await saveSshConfig(normalizedSshDraft); @@ -462,9 +480,10 @@ export function Maintenance() { } finally { setSshSaving(false); } - }, [normalizedSshDraft, saveSshConfig, showToast]); + }, [canManageSsh, normalizedSshDraft, saveSshConfig, showToast]); const handleSshTestConnection = useCallback(async () => { + if (!canManageSsh) return; try { setSshTesting(true); const result = await testSshConnection(normalizedSshDraft); @@ -481,9 +500,10 @@ export function Maintenance() { } finally { setSshTesting(false); } - }, [normalizedSshDraft, testSshConnection, showToast]); + }, [canManageSsh, normalizedSshDraft, testSshConnection, showToast]); const handleSshDeleteConfig = useCallback(async () => { + if (!canManageSsh) return; try { setSshDeleting(true); await deleteSshConfig(); @@ -502,7 +522,7 @@ export function Maintenance() { } finally { setSshDeleting(false); } - }, [deleteSshConfig, showToast]); + }, [canManageSsh, deleteSshConfig, showToast]); const handleSuperuserDelete = useCallback(async () => { if (superuserDeleteLoading || superuserStatusLoading || !superuserExists) { @@ -549,6 +569,9 @@ export function Maintenance() { }, [superuserDeleteLoading, superuserStatusLoading, superuserExists, removeSuperuserAccount, loadSuperuserStatus, showToast]); const handleDeleteEndpoint = useCallback(async (endpointId) => { + if (!canDeleteServers) { + return; + } if (endpointDeleteId === endpointId) { return; } @@ -584,9 +607,12 @@ export function Maintenance() { } finally { setEndpointDeleteId(null); } - }, [deleteSetupEndpoint, endpointDeleteId, loadSetupResources, setupEndpoints, showToast]); + }, [canDeleteServers, deleteSetupEndpoint, endpointDeleteId, loadSetupResources, setupEndpoints, showToast]); const handleDeleteServer = useCallback(async (serverId) => { + if (!canDeleteServers) { + return; + } if (serverDeleteId === serverId) { return; } @@ -628,16 +654,20 @@ export function Maintenance() { } finally { setServerDeleteId(null); } - }, [deleteSetupServer, loadSetupResources, serverDeleteId, setupEndpoints, setupServers, showToast]); + }, [canDeleteServers, deleteSetupServer, loadSetupResources, serverDeleteId, setupEndpoints, setupServers, showToast]); const handleApiKeyDraftChange = useCallback((serverId, value) => { + if (!canEditServers) return; setApiKeyDrafts((prev) => ({ ...prev, [serverId]: value })); - }, []); + }, [canEditServers]); const handleApiKeyUpdate = useCallback(async (serverId) => { + if (!canEditServers) { + return; + } const draft = (apiKeyDrafts[serverId] ?? "").trim(); if (!draft) { showToast({ @@ -674,9 +704,10 @@ export function Maintenance() { } finally { setApiKeyUpdatingId(null); } - }, [apiKeyDrafts, apiKeyUpdatingId, loadSetupResources, showToast, updateSetupApiKey]); + }, [apiKeyDrafts, apiKeyUpdatingId, canEditServers, loadSetupResources, showToast, updateSetupApiKey]); const handleMaintenanceToggle = useCallback(async (nextActive) => { + if (!canControlMaintenance) return; if (maintenanceLoading || maintenanceToggleLoading) return; if (nextActive === maintenanceActive) return; if (updateRunning) { @@ -713,9 +744,12 @@ export function Maintenance() { } finally { setMaintenanceToggleLoading(false); } - }, [maintenanceLoading, maintenanceToggleLoading, maintenanceActive, updateRunning, setMaintenanceMode, maintenanceMessage, maintenanceExtraType, showToast]); + }, [canControlMaintenance, maintenanceLoading, maintenanceToggleLoading, maintenanceActive, updateRunning, setMaintenanceMode, maintenanceMessage, maintenanceExtraType, showToast]); const handleTriggerUpdate = useCallback(async () => { + if (!canManagePortainerUpdate) { + return; + } if (maintenanceActive || updateRunning) { showToast({ variant: "warning", @@ -751,9 +785,10 @@ export function Maintenance() { } finally { setUpdateActionLoading(false); } - }, [maintenanceActive, updateRunning, portainerStatus, triggerUpdate, showToast]); + }, [canManagePortainerUpdate, maintenanceActive, updateRunning, portainerStatus, triggerUpdate, showToast]); const handleCleanup = useCallback(async (entry) => { + if (!canManageDuplicates) return; if (!entry) return; if (maintenanceActive || updateRunning) { showToast({ @@ -815,7 +850,7 @@ export function Maintenance() { } finally { setActiveCleanupId(null); } - }, [fetchDuplicates, maintenanceActive, showToast, updateRunning]); + }, [canManageDuplicates, fetchDuplicates, maintenanceActive, showToast, updateRunning]); const maintenanceActivatedAt = maintenanceMeta?.activatedAt ? formatCreatedAt(maintenanceMeta.activatedAt) : null; const maintenanceUpdatedAt = maintenanceMeta?.updatedAt ? formatCreatedAt(maintenanceMeta.updatedAt) : null; @@ -836,6 +871,10 @@ export function Maintenance() { const disableUpdateButton = updateRunning || scriptSaving || maintenanceLoading; + if (!canViewMaintenance) { + return null; + } + return (
@@ -854,786 +893,802 @@ export function Maintenance() {
)} - - - - Wartungsmodus + {canViewMaintenance && ( + + + + Wartungsmodus - - - -
-
-

- Schaltet StackPulse für Benutzer in den Wartungsmodus. -

+ + + +
+
+

+ Schaltet StackPulse für Benutzer in den Wartungsmodus. +

+
+ handleMaintenanceToggle(event.target.checked)} + ripple={false} + color="amber" + />
- handleMaintenanceToggle(event.target.checked)} - ripple={false} - color="amber" - /> -
- {maintenanceToggleLoading && ( -

Wartungsmodus wird aktualisiert…

- )} - - + {maintenanceToggleLoading && ( +

Wartungsmodus wird aktualisiert…

+ )} + + + )} - - - - Server & Endpoints + {canViewServers && ( + + + + Server & Endpoints - - - - {setupResourcesLoading && ( -

Daten werden geladen…

- )} - {!setupResourcesLoading && setupResourcesError && ( - - {setupResourcesError} - - )} - {!setupResourcesLoading && !setupResourcesError && ( -
-
-
- - Server - - - {setupServers.length} vorhanden - -
- {setupServers.length === 0 ? ( -

- Es sind derzeit keine Server hinterlegt. -

- ) : ( -
- {setupServers.map((server) => { - const apiKeyInfo = apiKeyInfoMap.get(server.id) || null; - const hasKey = Boolean(apiKeyInfo?.hasKey); - const apiKeyUpdatedLabel = apiKeyInfo?.updatedAt - ? new Date(apiKeyInfo.updatedAt).toLocaleString("de-DE", { + + + + {setupResourcesLoading && ( +

Daten werden geladen…

+ )} + {!setupResourcesLoading && setupResourcesError && ( + + {setupResourcesError} + + )} + {!setupResourcesLoading && !setupResourcesError && ( +
+
+
+ + Server + + + {setupServers.length} vorhanden + +
+ {setupServers.length === 0 ? ( +

+ Es sind derzeit keine Server hinterlegt. +

+ ) : ( +
+ {setupServers.map((server) => { + const apiKeyInfo = apiKeyInfoMap.get(server.id) || null; + const hasKey = Boolean(apiKeyInfo?.hasKey); + const apiKeyUpdatedLabel = apiKeyInfo?.updatedAt + ? new Date(apiKeyInfo.updatedAt).toLocaleString("de-DE", { year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit" }) - : null; + : null; - return ( -
-
-

- {server.name || "Ohne Namen"} -

-

- {server.url} -

-

- API-Key: {hasKey ? "vorhanden" : "nicht hinterlegt"}{apiKeyUpdatedLabel ? ` (aktualisiert am ${apiKeyUpdatedLabel})` : ""} -

-
-
- handleApiKeyDraftChange(server.id, event.target.value)} - disabled={setupResourcesLoading || apiKeyUpdatingId === server.id} - /> -
- - + return ( +
+
+

+ {server.name || "Ohne Namen"} +

+

+ {server.url} +

+

+ API-Key: {hasKey ? "vorhanden" : "nicht hinterlegt"}{apiKeyUpdatedLabel ? ` (aktualisiert am ${apiKeyUpdatedLabel})` : ""} +

+
+
+ handleApiKeyDraftChange(server.id, event.target.value)} + disabled={!canEditServers || setupResourcesLoading || apiKeyUpdatingId === server.id} + /> +
+ + +
-
- ); - })} -
- )} -
- -
-
- - Endpoints - - - {setupEndpoints.length} vorhanden - -
- {setupEndpoints.length === 0 ? ( -

- Es sind derzeit keine Endpoints hinterlegt. -

- ) : ( -
- {setupEndpoints.map((endpoint) => ( -
-
-
-

- {endpoint.name || `Endpoint ${endpoint.external_id}`} -

- {endpoint.is_default ? ( - - Standard - - ) : null} -
-

- ID: {endpoint.external_id} · Server: {endpoint.server_name || endpoint.server_url} -

-
-
- -
-
- ))} -
- )} -
- - {!setupComplete && ( - - Das Setup ist aktuell unvollständig. Bitte öffne den Setup-Bereich, um Server, Endpoint und API-Key erneut festzulegen. - - )} - -
- -
-
- )} - - - - - - - Superuser - - - - -
- {superuserStatusLoading && ( -

Status wird geladen…

- )} - {!superuserStatusLoading && superuserStatusError && ( -

{superuserStatusError}

- )} - {!superuserStatusLoading && !superuserStatusError && superuserExists && ( -
-

Superuser ist angelegt.

-

- Benutzername: {superuserSummary?.username ?? "unbekannt"} - {superuserSummary?.email ? ` - ${superuserSummary.email}` : ""} -

-
- )} - {!superuserStatusLoading && !superuserStatusError && !superuserExists && ( -

Es ist kein Superuser vorhanden.

- )} -
-
- - -
-

- Entfernt das Superuser-Konto samt zugehöriger Gruppe. Danach kann der Erstbenutzer bei Bedarf erneut angelegt werden. -

-
-
- - - - - Portainer - - - - -
-
-

Portainer Status

-

- {portainerLoading - ? "Status wird geprüft…" - : portainerError - ? portainerError - : updateRunning - ? "Portainer wird aktuell aktualisiert." - : (portainerStatus?.updateAvailable === true - ? "Es ist ein Update für Portainer verfügbar." - : "Portainer ist auf dem aktuellen Stand.")} -

- {portainerUpdatedAt && !portainerLoading && ( -

- Stand: {portainerUpdatedAt.toLocaleString("de-DE", { - hour: "2-digit", - minute: "2-digit", - second: "2-digit" - })} -

- )} -
-
- - -
-
-
- {!portainerLoading && !portainerError && portainerStatus && ( -
-
- Installierte Version - {portainerStatus.currentVersion ?? "Unbekannt"} -
-
- Neueste Version - {portainerStatus.latestVersion ?? "Unbekannt"} -
-
- Status - - {portainerStatus.updateAvailable === true - ? "Update verfügbar" - : portainerStatus.updateAvailable === false - ? "Aktuell" - : "Unbekannt"} - -
- {portainerStatus.edition && ( -
- Edition - {portainerStatus.edition} -
- )} - {portainerStatus.build && ( -
- Build - {portainerStatus.build} -
- )} - {portainerStatus.errors?.latestVersion && ( -
- Neueste Version konnte nicht ermittelt werden: {portainerStatus.errors.latestVersion} -
- )} - {portainerStatus.errors?.container && ( -
- Container-Details konnten nicht ermittelt werden: {portainerStatus.errors.container} -
- )} -
- - /* {portainerStatus.container && ( -
-

Startparameter

-
- {(portainerStatus.container.name || portainerStatus.container.image) && ( -
- Container -
- {portainerStatus.container.name ?? "Unbekannt"} - {portainerStatus.container.image && ( - {portainerStatus.container.image} - )} + ); + })}
-
- )} - {portainerStatus.container.id && ( -
- Container-ID - - {portainerStatus.container.id.slice(0, 12)} - -
- )} -
- Startkommando - - {[...(portainerStatus.container.entrypoint || []), ...(portainerStatus.container.command || [])].join(" ") || "Unbekannt"} - -
- {Array.isArray(portainerStatus.container.args) && portainerStatus.container.args.length > 0 && ( -
- Argumente - - {portainerStatus.container.args.join(" ")} - -
- )} - {Array.isArray(portainerStatus.container.env) && portainerStatus.container.env.length > 0 && ( -
- Umgebungsvariablen -
- {portainerStatus.container.env.map((entry, index) => ( - - {entry} - - ))} -
-
- )} - {Array.isArray(portainerStatus.container.binds) && portainerStatus.container.binds.length > 0 && ( -
- Bind-Mounts -
- {portainerStatus.container.binds.map((bind, index) => ( - - {bind} - - ))} -
-
- )} -
-
- )} */ - )} -
- - -
-
-
-

SSH-Verbindung

-
-
- -
- - -
-
-
- - -
- handleSshDraftChange('password', event.target.value)} - disabled={sshSaving || sshTesting || sshDeleting || updateRunning} - className="w-full rounded-md border border-gray-700 bg-gray-950/70 px-3 py-2 text-sm focus:border-purple-500 focus:outline-none" - placeholder="Passwort für den SSH-Benutzer" - autoComplete="off" - spellCheck={false} - /> - {sshPasswordStored && !sshDraft.password && ( - - Ein Passwort ist gespeichert. Neuer Inhalt ersetzt es oder lösche die Konfiguration unten. - )}
-