diff --git a/apps/backend/src/app.module.ts b/apps/backend/src/app.module.ts index 4022baab8..df2d31bb0 100644 --- a/apps/backend/src/app.module.ts +++ b/apps/backend/src/app.module.ts @@ -4,6 +4,7 @@ import { ConfigModule } from '@nestjs/config'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import AppDataSource from './data-source'; +import { CognitoModule } from './aws/cognito/cognito.module'; import { UsersModule } from './users/users.module'; @Module({ @@ -12,6 +13,7 @@ import { UsersModule } from './users/users.module'; isGlobal: true, }), TypeOrmModule.forRoot(AppDataSource.options), + CognitoModule, UsersModule, ], controllers: [AppController], diff --git a/apps/backend/src/aws/cognito/README.md b/apps/backend/src/aws/cognito/README.md new file mode 100644 index 000000000..596d1149a --- /dev/null +++ b/apps/backend/src/aws/cognito/README.md @@ -0,0 +1,124 @@ +## Scaffolding auth flow +Some key concepts you'll need to know are: +- **Authentication (authn)** = *"who are you?"* -> ex: distinguishing a known user from an unknown one +- **Authorization (authz)** = *"what are you allowed to do?"* -> ex: distinguishing admin access vs normal user access to routes + +1. **Unauthenticated user hits the app.** A user opens the frontend with no token. If they call a protected (Non Public) backend route, `CognitoJWTGuard` finds no `Authorization: Bearer ` header and responds `401 Unauthorized`. + +2. **User authenticates with Cognito** The frontend sends the user's credentials to Cognito. Cognito verifies the credentials and *authenticates* the user. This happens entirely between the client and Cognito. Our backend is not involved and never sees the password. + +3. **Cognito issues tokens.** On success, Cognito returns separate signed JWTs for the following: + - **ID token**: describes *who the user is* (identity claims), meant for the frontend. + - **access token**: the *authorization* credential, meant to be sent to backend APIs and checked by the `CognitoJWTGuard`. (See [Token validation](#token-validation)) + - **refresh token**: used to obtain fresh ID/access tokens when they expire. + +4. **Frontend calls the backend with the access token.** The client attaches it on every request as a header: `Authorization: Bearer `. + +5. **The Guard checks the token.** `CognitoJWTGuard` runs on every route (it's registered as a global `APP_GUARD`). For each request it: + - lets the request through immediately if auth is disabled (Cognito env vars unset or the route is marked `@Public()`) + - extracts and verifies the Bearer token, then checks the RS256 signature against the pool's public keys (JWKS), the issuer, expiration, that `token_use === 'access'`, and that `client_id` matches our app client. + +6. **Allow or deny.** + - **Valid token** → the guard attaches the decoded claims to `request.user` and the request proceeds to the controller -> Read with `CognitoService.getUser(req)`. + - **Missing or invalid token** (bad signature, expired, wrong token type, wrong client) → `401 Unauthorized`, and the controller never runs. + +So: **every route is protected by default, a request is allowed only if it carries a valid Cognito access token or if the route is marked `@Public()`, which skips the check entirely.** Public routes are for things that must work without a login, like health checks, webhooks, or the login entry point itself. + +## QUICKSTART: + +Copy placeholders from the repo root `example.env` into `.env` (or your deployment secrets): + +| Variable | Purpose | +|----------|---------| +| `COGNITO_USER_POOL_ID` | Your registered users in Cognito to authenticate with | +| `COGNITO_CLIENT_ID` | The application you are building's own id linked to Cognito used to validate `client_id` on tokens | +| `COGNITO_REGION` | AWS region | + +> [!IMPORTANT] +> If any Cognito env variables are unset: `COGNITO_USER_POOL_ID`, `COGNITO_CLIENT_ID`, `COGNITO_REGION`, authentication via JWT enforcement is **disabled entirely** + +### Auth model + +- **Verification** — `CognitoJWTGuard` is the only component that validates JWTs (signature, issuer, audience). +- **Global guard** — `CognitoModule` registers `CognitoJWTGuard` as an `APP_GUARD`, so every route is protected by default. You do **not** need `@UseGuards(CognitoJWTGuard)` on controllers when using this setup. +- **`request.user`** — After a successful check, the guard sets `request.user` to the decoded JWT payload (`AccessTokenPayload`: `sub`, `client_id`, `cognito:groups`, `token_use`, etc.) + +### Using Cognito in your app (recommended + implemented: global guard) + +Import `CognitoModule` into `AppModule` (Already ). This enables auth app-wide and exports `CognitoService` for reading `request.user`: + +> [!IMPORTANT] +> Note: This has already been implemented by default + +```typescript +@Module({ + imports: [TypeOrmModule.forRoot(...), CognitoModule], +}) +export class AppModule {} +``` + +New controllers are protected automatically. Opt out with `@Public()` (see below). Read the caller with `CognitoService.getUser(req)` or `req.user` after the guard runs. + +### Public Routes +Use the `@Public()` decorator on routes that are technically protected, but don't require authentication. i.e. health checks, webhooks, or unauthenticated entry points: + +```typescript +import { Public } from './aws/cognito/cognito.decorator'; + +@Controller('health') +export class HealthController { + @Public() + @Get() + check() { + return { ok: true }; + } +} +``` + +### `CognitoService.getUser()` + +Inject `CognitoService` to extract the same `AccessTokenPayload` decoded token payload the guard attached to `request.user`: + +```typescript +@Get('me') +me(@Req() req: Request) { + const user = this.cognitoService.getUser(req); + // null when auth env is incomplete/disabled, or when request.user was never set + return user; +} +``` + +Returns `null` if Cognito auth is disabled (missing env) or if no verified token was attached. On protected routes with a valid Bearer token, it returns the JWT claims object. + +## Token validation + +The guard validates access tokens by +- JWKS: https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json +- Signature: RS256; iss must match the pool. +- Expiration: exp is enforced automatically by jsonwebtoken.verify +- token_use: must equal `access`. This is what rejects an ID token presented to the backend. +- client_id: must equal `COGNITO_CLIENT_ID`. On access tokens the app client ID lives in the client_id claim + +> [!IMPORTANT] +> The scaffold accepts access tokens only, by design. Backend APIs are resource servers and authorize requests using access tokens; ID tokens are for the frontend to establish who the user is. The token_use check in isAccessTokenValid (below) is what enforces the access-token-only rule. + +> [!WARNING] +> Do not use the ID token for API authorization. ID tokens are intended for your client application to establish who the user is; passing them to a backend API exposes identity claims unnecessarily and confuses authentication with authorization. Backend APIs should validate access tokens only. The token_use check in isAccessTokenValid below enforces this. + +``` +function isAccessTokenValid(payload: AccessTokenPayload, clientId: string): boolean { + if (payload.token_use !== 'access') return false; + return payload.client_id === clientId; +} +``` + +> [!NOTE] +> `client_id` validation currently accepts a single client. If this pool ever serves +multiple app clients (e.g. a separate web and mobile app sharing one user pool), +change COGNITO_CLIENT_ID to accept a comma-separated list and validate membership +in that allowlist instead of simply an equality check. + +## Helpful Resources for understanding Auth! +- The most amazing explanation of authn (OAUTH 2.0) and authz (OIDC) you'll ever watch: https://www.youtube.com/watch?v=996OiexHze0&t=2126s +- Difference between id and access tokens: https://auth0.com/blog/id-token-access-token-what-is-the-difference/ +- Using AWS to verify JWT: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html diff --git a/apps/backend/src/aws/cognito/cognito.config.ts b/apps/backend/src/aws/cognito/cognito.config.ts new file mode 100644 index 000000000..f61d130d0 --- /dev/null +++ b/apps/backend/src/aws/cognito/cognito.config.ts @@ -0,0 +1,42 @@ +// Checks if the authentication is enabled +export function isAuthEnabled(): boolean { + return ( + isNonEmptyEnv(process.env.COGNITO_USER_POOL_ID) && + isNonEmptyEnv(process.env.COGNITO_CLIENT_ID) && + isNonEmptyEnv(process.env.COGNITO_REGION) + ); +} + +// Gets the Cognito configuration information +export function getCognitoConfig(): { + region: string; + userPoolId: string; + clientId: string; + issuer: string; +} | null { + const region = process.env.COGNITO_REGION; + const userPoolId = process.env.COGNITO_USER_POOL_ID; + const clientId = process.env.COGNITO_CLIENT_ID; + + if (!isAuthEnabled()) { + return null; + } + + return { + region, + userPoolId, + clientId, + issuer: `https://cognito-idp.${region}.amazonaws.com/${userPoolId}`, + }; +} + +// Checks if the value is a non-empty string +function isNonEmptyEnv(value: string | undefined): value is string { + if (value === undefined || value === '') { + return false; + } + const normalized = value.trim().toLowerCase(); + return ( + normalized !== '' && normalized !== 'null' && normalized !== 'undefined' + ); +} diff --git a/apps/backend/src/aws/cognito/cognito.decorator.ts b/apps/backend/src/aws/cognito/cognito.decorator.ts new file mode 100644 index 000000000..2ece114ee --- /dev/null +++ b/apps/backend/src/aws/cognito/cognito.decorator.ts @@ -0,0 +1,5 @@ +import { SetMetadata } from '@nestjs/common'; + +// Metadata key to state that the route is PUBLIC and thus NOT PROTECTED by authentication(Cognito JWT Guard) +export const IS_PUBLIC_KEY = 'isPublic'; +export const Public = () => SetMetadata(IS_PUBLIC_KEY, true); diff --git a/apps/backend/src/aws/cognito/cognito.guard.spec.ts b/apps/backend/src/aws/cognito/cognito.guard.spec.ts new file mode 100644 index 000000000..cbe338184 --- /dev/null +++ b/apps/backend/src/aws/cognito/cognito.guard.spec.ts @@ -0,0 +1,300 @@ +import { ExecutionContext, UnauthorizedException } from '@nestjs/common'; +import { Reflector } from '@nestjs/core'; +import * as jwt from 'jsonwebtoken'; + +import { IS_PUBLIC_KEY } from './cognito.decorator'; +import { CognitoJWTGuard } from './cognito.guard'; +import { AccessTokenPayload } from './cognito.types'; + +jest.mock('jsonwebtoken'); +// Fake the jwks-rsa module to return a mock public key +jest.mock('jwks-rsa', () => ({ + __esModule: true, + default: jest.fn(() => ({ + getSigningKey: jest.fn().mockResolvedValue({ + getPublicKey: () => 'mock-public-key', + }), + })), +})); + +// Environment variables to test +const ENV_KEYS = [ + 'COGNITO_USER_POOL_ID', + 'COGNITO_CLIENT_ID', + 'COGNITO_REGION', +] as const; + +const ACTIVE_ENV = { + COGNITO_USER_POOL_ID: 'us-east-2_TestPool', + COGNITO_CLIENT_ID: 'test-client-id', + COGNITO_REGION: 'us-east-2', +}; + +function setActiveEnv(): void { + Object.assign(process.env, ACTIVE_ENV); +} + +// Builds a structurally valid Cognito access token payload (sub/iss/exp/iat present). +// Pass overrides to set the client_id/token_use claims or to break a required claim. +function buildPayload( + overrides: Partial = {}, +): Record { + return { + sub: 'user-1', + iss: `https://cognito-idp.${ACTIVE_ENV.COGNITO_REGION}.amazonaws.com/${ACTIVE_ENV.COGNITO_USER_POOL_ID}`, + exp: 9999999999, + iat: 1, + ...overrides, + }; +} + +// Makes the mocked jwt.verify succeed with the given decoded value. +function mockVerifyResolves(decoded: unknown): void { + (jwt.verify as jest.Mock).mockImplementation( + (_token, _getKey, _options, callback) => callback(null, decoded), + ); +} + +// Makes the mocked jwt.verify fail with the given error. +function mockVerifyRejects(error: Error): void { + (jwt.verify as jest.Mock).mockImplementation( + (_token, _getKey, _options, callback) => callback(error, undefined), + ); +} + +// Builds ExecutionContext and request with given Authorization header so the guard can be exercised +function createContext(authorization?: string): { + context: ExecutionContext; + request: Request & { user?: AccessTokenPayload }; +} { + // Build request with authorization header (if provided) + const request = { + headers: authorization ? { authorization } : {}, + } as Request & { user?: AccessTokenPayload }; + + // Build execution context with switchToHttp method that returns the request + const context = { + switchToHttp: () => ({ getRequest: () => request }), + getHandler: () => jest.fn(), + getClass: () => jest.fn(), + } as unknown as ExecutionContext; + + return { context, request }; +} + +describe('CognitoJWTGuard', () => { + let guard: CognitoJWTGuard; + let reflector: jest.Mocked>; + + // Wipe call history at start of each test + beforeEach(() => { + reflector = { getAllAndOverride: jest.fn().mockReturnValue(false) }; + guard = new CognitoJWTGuard(reflector as unknown as Reflector); + (jwt.verify as jest.Mock).mockReset(); + }); + + // Clean up environment variables and call history after each test + afterEach(() => { + ENV_KEYS.forEach((key) => delete process.env[key]); + jest.clearAllMocks(); + }); + + describe('When auth is active', () => { + beforeEach(() => { + setActiveEnv(); + }); + + // Rejections that happen before jwt.verify is ever called, based purely on + // the Authorization header. + describe('Bearer token extraction', () => { + it('rejects routes without a Bearer token', async () => { + const { context } = createContext(); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + expect(jwt.verify).not.toHaveBeenCalled(); + }); + + it('rejects routes with non-Bearer authorization', async () => { + const { context } = createContext('Basic abc1234567890'); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + expect(jwt.verify).not.toHaveBeenCalled(); + }); + + it('rejects routes with an empty Bearer token', async () => { + const { context } = createContext('Bearer '); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + expect(jwt.verify).not.toHaveBeenCalled(); + }); + + it('rejects routes with a whitespace-only Bearer token', async () => { + const { context } = createContext('Bearer '); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + expect(jwt.verify).not.toHaveBeenCalled(); + }); + }); + + // Rejections from jwt.verify itself or from a decoded value that is not a + // well-formed access token payload object. + describe('token verification and payload shape', () => { + it('rejects routes when token verification fails', async () => { + mockVerifyRejects(new Error('invalid signature')); + + const { context } = createContext('Bearer bad-token'); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + }); + + it('rejects routes when the decoded token is a string', async () => { + mockVerifyResolves('not-an-object'); + + const { context } = createContext('Bearer weird-token'); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + }); + + it('rejects routes when the payload is missing a required claim', async () => { + // sub is required; an otherwise-valid access token without it must be rejected. + mockVerifyResolves( + buildPayload({ + sub: undefined, + token_use: 'access', + client_id: ACTIVE_ENV.COGNITO_CLIENT_ID, + }), + ); + + const { context } = createContext('Bearer malformed-token'); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + }); + }); + + // Rejections from the access-token authorization checks: the token must be + // an access token (token_use) whose client_id matches our app client. + describe('token type and value validation', () => { + it('rejects ID tokens (token_use is not "access")', async () => { + // Only access tokens are accepted; an ID token carrying the right + // client_id must still be rejected. + mockVerifyResolves( + buildPayload({ + token_use: 'id' as AccessTokenPayload['token_use'], + client_id: ACTIVE_ENV.COGNITO_CLIENT_ID, + }), + ); + + const { context } = createContext('Bearer id-token'); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + }); + + it('rejects access tokens whose client_id does not match', async () => { + mockVerifyResolves( + buildPayload({ token_use: 'access', client_id: 'wrong-client-id' }), + ); + + const { context } = createContext('Bearer access-token'); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + }); + + it('rejects access tokens with no client_id claim', async () => { + mockVerifyResolves(buildPayload({ token_use: 'access' })); + + const { context } = createContext('Bearer access-token'); + + await expect(guard.canActivate(context)).rejects.toThrow( + UnauthorizedException, + ); + }); + + it('allows routes with a valid access token (client_id)', async () => { + const payload = buildPayload({ + client_id: ACTIVE_ENV.COGNITO_CLIENT_ID, + token_use: 'access', + }); + mockVerifyResolves(payload); + + const { context, request } = createContext('Bearer access-token'); + + await expect(guard.canActivate(context)).resolves.toBe(true); + expect(request.user).toEqual(payload); + }); + }); + + // Routes marked @Public bypass token extraction and verification entirely. + describe('@Public routes', () => { + beforeEach(() => { + reflector.getAllAndOverride.mockImplementation( + (key) => key === IS_PUBLIC_KEY, + ); + }); + + it('allows @Public routes without a token', async () => { + const { context, request } = createContext(); + + await expect(guard.canActivate(context)).resolves.toBe(true); + expect(jwt.verify).not.toHaveBeenCalled(); + expect(request.user).toBeUndefined(); + }); + + it('allows @Public routes without verifying any bearer token', async () => { + const { context, request } = createContext('Bearer bad-token'); + + await expect(guard.canActivate(context)).resolves.toBe(true); + expect(jwt.verify).not.toHaveBeenCalled(); + expect(request.user).toBeUndefined(); + }); + }); + }); + + describe('when auth is inactive', () => { + it('allows requests without a token', async () => { + const { context } = createContext(); + + await expect(guard.canActivate(context)).resolves.toBe(true); + expect(jwt.verify).not.toHaveBeenCalled(); + }); + + it('ignores a bearer token when auth is disabled', async () => { + const { context, request } = createContext('Bearer any-token'); + + await expect(guard.canActivate(context)).resolves.toBe(true); + expect(jwt.verify).not.toHaveBeenCalled(); + expect(request.user).toBeUndefined(); + }); + + // Auth requires all three env vars; a single missing one disables it. + it.each(ENV_KEYS)( + 'disables auth when %s is missing', + async (missingKey) => { + setActiveEnv(); + delete process.env[missingKey]; + + const { context } = createContext('Bearer token'); + + await expect(guard.canActivate(context)).resolves.toBe(true); + expect(jwt.verify).not.toHaveBeenCalled(); + }, + ); + }); +}); diff --git a/apps/backend/src/aws/cognito/cognito.guard.ts b/apps/backend/src/aws/cognito/cognito.guard.ts new file mode 100644 index 000000000..64c2daf70 --- /dev/null +++ b/apps/backend/src/aws/cognito/cognito.guard.ts @@ -0,0 +1,138 @@ +import { + CanActivate, + ExecutionContext, + Injectable, + UnauthorizedException, +} from '@nestjs/common'; +import { Reflector } from '@nestjs/core'; +import * as jwt from 'jsonwebtoken'; +import jwksClient, { JwksClient } from 'jwks-rsa'; +import { Request } from 'express'; + +import { IS_PUBLIC_KEY } from './cognito.decorator'; +import { AccessTokenPayload, isAccessTokenPayload } from './cognito.types'; +import { getCognitoConfig, isAuthEnabled } from './cognito.config'; + +// Checks if the token is an access token and client id returned matches your own COGNITO_CLIENT_ID +function isAccessTokenValid( + payload: AccessTokenPayload, + clientId: string, +): boolean { + if (payload.token_use !== 'access') { + return false; + } + return payload.client_id === clientId; +} + +// Extracts the bearer token from the request's Authorization header +function extractBearerToken(request: Request): string | undefined { + const header = request.headers.authorization; + if (!header?.startsWith('Bearer ')) return undefined; + return header.slice('Bearer '.length).trim() || undefined; +} + +@Injectable() +export class CognitoJWTGuard implements CanActivate { + private jwks?: JwksClient; + + constructor(private readonly reflector: Reflector) {} + + /** + * Determines whether the current request is allowed to proceed to the route handler. + * + * Access is granted without verification when authentication is disabled or when the + * route (handler or controller) is marked public via the {@link IS_PUBLIC_KEY} metadata. + * Otherwise, the bearer token is extracted from the `Authorization` header and verified + * against the Cognito user pool's JWKS endpoint; on success the decoded + * {@link AccessTokenPayload} is attached to `request.user` for downstream handlers. + * + * @param context - The current execution context provided by NestJS. + * @returns `true` when the request is allowed to proceed. + * @throws {UnauthorizedException} If no bearer token is present, the Cognito + * configuration is missing, or the token fails signature/claim verification. + */ + async canActivate(context: ExecutionContext): Promise { + // If authentication is not enabled, allow the request to proceed + if (!isAuthEnabled()) { + return true; + } + + // Check if the route is marked as public + const isPublic = this.reflector.getAllAndOverride(IS_PUBLIC_KEY, [ + context.getHandler(), + context.getClass(), + ]); + if (isPublic) { + return true; + } + + // Extract the bearer token from the request's Authorization header and verify + const request = context.switchToHttp().getRequest(); + const token = extractBearerToken(request); + if (!token) { + throw new UnauthorizedException(); + } + const payload: AccessTokenPayload = await this.verifyToken(token); + (request as Request & { user: AccessTokenPayload }).user = payload; + return true; + } + + // Verifies the token against user pool JWKS endpoint, and returns the JWT payload if the token is valid + private verifyToken(token: string): Promise { + // If the region, user pool ID, or client ID is not set, throw an unauthorized exception by default + const config = getCognitoConfig(); + if (!config) { + throw new UnauthorizedException(); + } + + // Set up JWKS client to get the public key for the token to verify the JWT token signature + this.jwks ??= jwksClient({ + cache: true, + rateLimit: true, + jwksRequestsPerMinute: 5, + jwksUri: `${config.issuer}/.well-known/jwks.json`, + }); + + const client = this.jwks; + + const getKey: jwt.GetPublicKeyOrSecret = (header, callback) => { + const kid = header.kid; // The key ID (kid) from the JWT header + if (!kid) { + callback(new Error('JWT header missing kid')); + return; + } + // Get the public key for the token to verify the JWT token signature + client + .getSigningKey(kid) + .then((key) => callback(null, key.getPublicKey())) + .catch((err: Error) => callback(err)); + }; + + // Verify the token and return the JWT payload if the token is valid + return new Promise((resolve, reject) => { + jwt.verify( + token, + getKey, + { issuer: config.issuer, algorithms: ['RS256'] }, // AWS Cognito signs tokens with RS256 algorithm + (err, decoded) => { + // If verification fails, return an unauthorized exception + if (err || !decoded || typeof decoded === 'string') { + reject(new UnauthorizedException()); + return; + } + if (!isAccessTokenPayload(decoded)) { + reject(new UnauthorizedException()); + return; + } + const payload = decoded; + if (!isAccessTokenValid(payload, config.clientId)) { + reject(new UnauthorizedException()); + return; + } + // If the token is valid, return the JWT payload + resolve(payload); + }, + ); + }); + } +} diff --git a/apps/backend/src/aws/cognito/cognito.module.ts b/apps/backend/src/aws/cognito/cognito.module.ts new file mode 100644 index 000000000..d1fa5244b --- /dev/null +++ b/apps/backend/src/aws/cognito/cognito.module.ts @@ -0,0 +1,15 @@ +import { Global, Module } from '@nestjs/common'; +import { CognitoJWTGuard } from './cognito.guard'; +import { APP_GUARD } from '@nestjs/core'; +import { CognitoService } from './cognito.service'; + +@Global() +@Module({ + providers: [ + CognitoService, + CognitoJWTGuard, + { provide: APP_GUARD, useClass: CognitoJWTGuard }, + ], + exports: [CognitoService, CognitoJWTGuard], +}) +export class CognitoModule {} diff --git a/apps/backend/src/aws/cognito/cognito.service.spec.ts b/apps/backend/src/aws/cognito/cognito.service.spec.ts new file mode 100644 index 000000000..0da172c0f --- /dev/null +++ b/apps/backend/src/aws/cognito/cognito.service.spec.ts @@ -0,0 +1,59 @@ +import { Request } from 'express'; + +import { CognitoService } from './cognito.service'; +import { AccessTokenPayload } from './cognito.types'; + +type TestRequest = Request & { user?: AccessTokenPayload }; + +const ENV_KEYS = [ + 'COGNITO_USER_POOL_ID', + 'COGNITO_CLIENT_ID', + 'COGNITO_REGION', +] as const; + +describe('CognitoService', () => { + describe('getUser', () => { + let service: CognitoService; + + beforeEach(() => { + process.env.COGNITO_USER_POOL_ID = 'us-east-2_TestPool'; + process.env.COGNITO_CLIENT_ID = '4h57k9lmno1pqrstuv2wxyz3ab'; + process.env.COGNITO_REGION = 'us-east-2'; + service = new CognitoService(); + }); + + // Clean up environment variables after each test + afterEach(() => { + ENV_KEYS.forEach((key) => delete process.env[key]); + }); + + // Auth requires all three env vars; a single missing one disables it, + // so getUser returns null regardless of the request. + it.each(ENV_KEYS)( + 'returns null when %s is missing (auth disabled)', + (missingKey) => { + delete process.env[missingKey]; + + expect(service.getUser({ headers: {} } as TestRequest)).toBeNull(); + }, + ); + + it('returns the JWT payload when auth is active and user is on the request', () => { + const payload: AccessTokenPayload = { + sub: 'user-1', + client_id: 'test-client', + token_use: 'access', + iss: 'https://cognito-idp.us-east-2.amazonaws.com/us-east-2_TestPool', + exp: 9999999999, + iat: 1, + }; + const request = { user: payload } as TestRequest; + + expect(service.getUser(request)).toEqual(payload); + }); + + it('returns null when auth is active and user is not on the request', () => { + expect(service.getUser({ headers: {} } as TestRequest)).toBeNull(); + }); + }); +}); diff --git a/apps/backend/src/aws/cognito/cognito.service.ts b/apps/backend/src/aws/cognito/cognito.service.ts new file mode 100644 index 000000000..d5de4d55c --- /dev/null +++ b/apps/backend/src/aws/cognito/cognito.service.ts @@ -0,0 +1,34 @@ +import { Injectable } from '@nestjs/common'; +import { Request } from 'express'; +import { AccessTokenPayload } from './cognito.types'; +import { isAuthEnabled } from './cognito.config'; + +@Injectable() +export class CognitoService { + /** + * Retrieves the authenticated user's verified access token payload from the request. + * + * The {@link CognitoJWTGuard} verifies the incoming bearer token and attaches the + * decoded payload to `request.user` before the route handler runs. This method reads + * that payload back out in a type-safe way, since Express's `Request` type has no + * knowledge of the `user` property the guard adds. + * + * @param request - The incoming Express request, expected to have passed through {@link CognitoJWTGuard}. + * @returns The verified {@link AccessTokenPayload} for the authenticated user, or `null` + * if authentication is disabled or no valid token was attached to the request. + */ + getUser(request: Request): AccessTokenPayload | null { + // If authentication is not enabled, return null + if (!isAuthEnabled()) { + return null; + } + // The CognitoJWTGuard attaches the verified JWT payload to request.user, + // but Express's Request type doesn't know about it, so we widen the type. + const authenticatedRequest = request as Request & { + user: AccessTokenPayload; + }; + + // user may be undefined if no token was attached; normalize that to null. + return authenticatedRequest.user ?? null; + } +} diff --git a/apps/backend/src/aws/cognito/cognito.types.ts b/apps/backend/src/aws/cognito/cognito.types.ts new file mode 100644 index 000000000..aa3ff3bab --- /dev/null +++ b/apps/backend/src/aws/cognito/cognito.types.ts @@ -0,0 +1,34 @@ +// We only use access tokens to verify the user's identity and allow access to protected resources. +// Cognito access token: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-access-token.html +export interface AccessTokenPayload { + sub: string; // Subject (unique identifier for the user) + 'cognito:groups'?: string[]; // Groups (ex: ['admin', 'user']) + iss: string; // Issuer (ex: https://cognito-idp..amazonaws.com/) + token_use: 'access'; // Token use (ID or access token from Cognito) + client_id?: string; // Client ID used during authentication (ex: ) + exp: number; // Expiration time (Unix timestamp) + iat: number; // Issued at time (Unix timestamp) + email?: string; // Email (ex: test@example.com) +} + +/** + * Runtime type guard for {@link AccessTokenPayload}. + * + * @param value - The value to check, typically a decoded JWT payload. + * @returns `true` if `value` matches the {@link AccessTokenPayload} shape. + */ +export function isAccessTokenPayload( + value: unknown, +): value is AccessTokenPayload { + if (typeof value !== 'object' || value === null) { + return false; + } + const payload = value as Record; + return ( + typeof payload.sub === 'string' && + typeof payload.iss === 'string' && + typeof payload.token_use === 'string' && + typeof payload.exp === 'number' && + typeof payload.iat === 'number' + ); +} diff --git a/apps/frontend/src/auth/auth.config.ts b/apps/frontend/src/auth/auth.config.ts new file mode 100644 index 000000000..2817e55f0 --- /dev/null +++ b/apps/frontend/src/auth/auth.config.ts @@ -0,0 +1,41 @@ +import { Amplify } from 'aws-amplify'; + +const userPoolId = import.meta.env.VITE_COGNITO_USER_POOL_ID; +const userPoolClientId = import.meta.env.VITE_COGNITO_USER_POOL_CLIENT_ID; +const region = import.meta.env.VITE_COGNITO_REGION; + +// Fail out if the values are not set in the environment variables even if they exist +function isNonEmptyEnv(value: string | undefined): value is string { + if (value === undefined || value === '') { + return false; + } + const normalized = value.trim().toLowerCase(); + return ( + normalized !== '' && normalized !== 'null' && normalized !== 'undefined' + ); +} + +// Check if the cognito information is present in the environment variables +export const cognitoInformationPresent = + isNonEmptyEnv(userPoolId) && + isNonEmptyEnv(userPoolClientId) && + isNonEmptyEnv(region); + +// Configure amplify with cognito if the information is present in the environment variables +export function configureAmplify(): void { + if (!cognitoInformationPresent) { + return; + } + + const poolId: string = userPoolId; + const clientId: string = userPoolClientId; + + Amplify.configure({ + Auth: { + Cognito: { + userPoolId: poolId, + userPoolClientId: clientId, + }, + }, + }); +} diff --git a/apps/frontend/src/main.tsx b/apps/frontend/src/main.tsx index a19d282e8..7920d7fa5 100644 --- a/apps/frontend/src/main.tsx +++ b/apps/frontend/src/main.tsx @@ -1,13 +1,29 @@ import { StrictMode } from 'react'; import * as ReactDOM from 'react-dom/client'; - +import { Authenticator } from '@aws-amplify/ui-react'; +import { + configureAmplify, + cognitoInformationPresent, +} from './auth/auth.config'; import App from './app'; const root = ReactDOM.createRoot( document.getElementById('root') as HTMLElement, ); + +// Configure amplify with cognito (Only runs if the environment variables are set in the .env file) +configureAmplify(); + root.render( - - - , + cognitoInformationPresent ? ( + + + + + + ) : ( + + + + ), ); diff --git a/apps/frontend/vite.config.ts b/apps/frontend/vite.config.ts index b67a833fd..09fdba653 100644 --- a/apps/frontend/vite.config.ts +++ b/apps/frontend/vite.config.ts @@ -1,47 +1,58 @@ /// -import { defineConfig } from 'vite'; +import { defineConfig, loadEnv } from 'vite'; import react from '@vitejs/plugin-react'; import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; import path from 'path'; -export default defineConfig({ - root: __dirname, - cacheDir: '../../node_modules/.vite/frontend', +// Assumes this file is in /apps/frontend/vite.config.ts and env variables are set in /.env +const workspaceRoot = path.resolve(__dirname, '../..'); - server: { - port: 4200, - host: 'localhost', - }, +export default defineConfig(({ mode }) => { + const env = loadEnv(mode, workspaceRoot, ''); + process.env.VITE_COGNITO_USER_POOL_ID = env.COGNITO_USER_POOL_ID ?? ''; + process.env.VITE_COGNITO_USER_POOL_CLIENT_ID = env.COGNITO_CLIENT_ID ?? ''; + process.env.VITE_COGNITO_REGION = env.COGNITO_REGION ?? ''; - preview: { - port: 4300, - host: 'localhost', - }, + return { + root: __dirname, + cacheDir: '../../node_modules/.vite/frontend', + envDir: workspaceRoot, - plugins: [react(), nxViteTsPaths()], + server: { + port: 4200, + host: 'localhost', + }, + + preview: { + port: 4300, + host: 'localhost', + }, - // Uncomment this if you are using workers. - // worker: { - // plugins: [ nxViteTsPaths() ], - // }, + plugins: [react(), nxViteTsPaths()], - test: { - globals: true, - cache: { - dir: '../../node_modules/.vitest', + // Uncomment this if you are using workers. + // worker: { + // plugins: [ nxViteTsPaths() ], + // }, + + test: { + globals: true, + cache: { + dir: '../../node_modules/.vitest', + }, + environment: 'jsdom', + include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], }, - environment: 'jsdom', - include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], - }, - - resolve: { - alias: { - '@api': path.resolve(__dirname, './src/api'), - '@components': path.resolve(__dirname, './src/components'), - '@containers': path.resolve(__dirname, './src/containers'), - '@public': path.resolve(__dirname, './public'), - '@shared': path.resolve(__dirname, '../../shared'), - '@utils': path.resolve(__dirname, './src/utils'), + + resolve: { + alias: { + '@api': path.resolve(__dirname, './src/api'), + '@components': path.resolve(__dirname, './src/components'), + '@containers': path.resolve(__dirname, './src/containers'), + '@public': path.resolve(__dirname, './public'), + '@shared': path.resolve(__dirname, '../../shared'), + '@utils': path.resolve(__dirname, './src/utils'), + }, }, - }, + }; }); diff --git a/example.env b/example.env index c67f2ec65..41a1e9d6c 100644 --- a/example.env +++ b/example.env @@ -5,6 +5,12 @@ NX_DB_PASSWORD= NX_DB_DATABASE=jumpstart NX_DB_PORT=5432 +# AWS Cognito +# Note: Leaving any field unset disables auth ENTIRELY +COGNITO_USER_POOL_ID=us-east-2_AbCdEf123 +COGNITO_CLIENT_ID=4h57k9lmno1pqrstuv2wxyz3ab +COGNITO_REGION=us-east-2 + # AWS S3 # Add one env var per S3 bucket (see apps/backend/src/aws/s3/README.md for the full setup steps) # Example: diff --git a/package.json b/package.json index 80590577b..9096dc89a 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,8 @@ }, "private": true, "dependencies": { + "@aws-amplify/ui-react": "^6.15.4", + "@aws-sdk/client-cognito-identity-provider": "^3.410.0", "@aws-sdk/client-cognito-identity-provider": "^3.1058.0", "@aws-sdk/client-sesv2": "^3.1063.0", "@aws-sdk/client-s3": "^3.1045.0", @@ -33,6 +35,7 @@ "@nx/eslint": "22.7.5", "@types/pg": "^8.15.5", "amazon-cognito-identity-js": "^6.3.5", + "aws-amplify": "^6.17.0", "axios": "^1.5.0", "bottleneck": "^2.19.5", "class-transformer": "^0.5.1", diff --git a/yarn.lock b/yarn.lock index c95b6c79a..9be537250 100644 --- a/yarn.lock +++ b/yarn.lock @@ -92,6 +92,159 @@ resolved "https://registry.yarnpkg.com/@asamuzakjp/nwsapi/-/nwsapi-2.3.9.tgz#ad5549322dfe9d153d4b4dd6f7ff2ae234b06e24" integrity sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q== +"@aws-amplify/analytics@7.0.94": + version "7.0.94" + resolved "https://registry.yarnpkg.com/@aws-amplify/analytics/-/analytics-7.0.94.tgz#c23d2bccdcab613f9904d44a36d97719742b0f45" + integrity sha512-HNBq12e+ZFY7EqqlK2sAX165Vp5M4bx40a26f8ej6bDolZG5kkn4cYmERQX8LaWp0iVpfNUWAWPEppwZiLMMcw== + dependencies: + "@aws-sdk/client-firehose" "^3.1012.0" + "@aws-sdk/client-kinesis" "^3.1012.0" + "@aws-sdk/client-personalize-events" "^3.1012.0" + "@smithy/util-utf8" "2.0.0" + tslib "^2.5.0" + +"@aws-amplify/api-graphql@4.8.7": + version "4.8.7" + resolved "https://registry.yarnpkg.com/@aws-amplify/api-graphql/-/api-graphql-4.8.7.tgz#f8641a8c807d1447b71a9ce1d077e2e78750a658" + integrity sha512-6e+V7SYybxZghTNVmd5DLRSSIbEs64VaXBZNA0vHXKEvXerSAcCwCjbyoKAzPaBgMgflsN8hFJI3xL1IZokM3Q== + dependencies: + "@aws-amplify/api-rest" "4.6.4" + "@aws-amplify/core" "6.16.3" + "@aws-amplify/data-schema" "^1.7.0" + "@aws-sdk/types" "^3.973.6" + graphql "15.8.0" + rxjs "^7.8.1" + tslib "^2.5.0" + +"@aws-amplify/api-rest@4.6.4": + version "4.6.4" + resolved "https://registry.yarnpkg.com/@aws-amplify/api-rest/-/api-rest-4.6.4.tgz#c027807faa2b131b8fea09700cdbc7855bee6c02" + integrity sha512-/gGTP2/vWKma6ApVG56y9/1qh2/i4hDp37sm1zRSM0EMNdKr5RIgHbQ0W1l1gaJHRmPXb2lqUDfj9ZYFQATjQg== + dependencies: + tslib "^2.5.0" + +"@aws-amplify/api@6.3.26": + version "6.3.26" + resolved "https://registry.yarnpkg.com/@aws-amplify/api/-/api-6.3.26.tgz#e44904e92d97de7b3580654744f3c84ee5df52b4" + integrity sha512-4uPCH2w1VO+lH24umwRlYKBOijq7Jl/Tj1nVrSGuU/3s+KtilC+l7BFGTPI5pllFR1oj0WUF0oiGu936+aSuSA== + dependencies: + "@aws-amplify/api-graphql" "4.8.7" + "@aws-amplify/api-rest" "4.6.4" + "@aws-amplify/data-schema" "^1.7.0" + rxjs "^7.8.1" + tslib "^2.5.0" + +"@aws-amplify/auth@6.20.0": + version "6.20.0" + resolved "https://registry.yarnpkg.com/@aws-amplify/auth/-/auth-6.20.0.tgz#a5ecc4def40cf9f30719c522e4debe9f578ba4ce" + integrity sha512-y58KFRvmq7PoAboeiubU0qschyzcvis6erP+K3rsMBImjbwGLJGfDWYikdpw//JLw7L7NZzqt+mvtrZW9ITqeg== + dependencies: + "@aws-crypto/sha256-js" "5.2.0" + "@smithy/types" "^3.3.0" + tslib "^2.5.0" + +"@aws-amplify/core@6.16.3": + version "6.16.3" + resolved "https://registry.yarnpkg.com/@aws-amplify/core/-/core-6.16.3.tgz#524c128a243efe76330561c793e943ca2b21fce5" + integrity sha512-wfB9lLEoLiyUEZAYgy1pOoqJqvkBTPMsx/F406HQNTg7b8+fHi7j5GVapJAg7JhmbJbjfmGtTg6EKY/DqF19kw== + dependencies: + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/types" "^3.973.6" + "@smithy/util-hex-encoding" "2.0.0" + "@types/uuid" "^9.0.0" + js-cookie "^3.0.5" + rxjs "^7.8.1" + tslib "^2.5.0" + uuid "^11.0.0" + +"@aws-amplify/data-schema-types@*": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@aws-amplify/data-schema-types/-/data-schema-types-1.2.1.tgz#5a951fc4fd4ab76a014724de45b407fbcd9cf174" + integrity sha512-SuYVcy9Hg8Ox9P0QCXEPwqHxX5zVPgVo2YvNBOm5TpkZr4UK6ir3USame7dELZsk5/9f6KoP70QAYhTvp/j1Og== + dependencies: + graphql "15.8.0" + rxjs "^7.8.1" + +"@aws-amplify/data-schema@^1.7.0": + version "1.25.6" + resolved "https://registry.yarnpkg.com/@aws-amplify/data-schema/-/data-schema-1.25.6.tgz#ebfb9c2babd638c55257560b0941e7ceab1bf16d" + integrity sha512-vW9YDrWXOIKtUecVsV+j+hSbib2z5P2XpwJevwYidqyLSnI6h4wf8Pm++ksk5iguhSsanuxGlfFNoiOODjw2Sw== + dependencies: + "@aws-amplify/data-schema-types" "*" + "@smithy/util-base64" "^3.0.0" + "@types/aws-lambda" "^8.10.134" + "@types/json-schema" "^7.0.15" + rxjs "^7.8.1" + +"@aws-amplify/datastore@5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@aws-amplify/datastore/-/datastore-5.1.7.tgz#c633f0f1f862ea7b42495bb7d57fdc01c901f792" + integrity sha512-305zhly/f0LLWyjo1NP6lZl6J3DDiUIm5Tfzl3rJIEqjixHEH+vXGjGvJXl8V6UOxj/D7BPoBnqDpU/l8nyyaw== + dependencies: + "@aws-amplify/api" "6.3.26" + "@aws-amplify/api-graphql" "4.8.7" + buffer "4.9.2" + idb "5.0.6" + immer "9.0.6" + rxjs "^7.8.1" + ulid "^2.3.0" + +"@aws-amplify/notifications@2.0.94": + version "2.0.94" + resolved "https://registry.yarnpkg.com/@aws-amplify/notifications/-/notifications-2.0.94.tgz#304ec0cb561cba134b49746b64339d9d92900d81" + integrity sha512-SFROWgXVWRoaO4vKXoQV/rDIS3gb7+LQT2W6HSpLsuVuNgHjvR1fUnOeGiZq0x3FhSJnHi9nlqZLtgQZ1aUYkQ== + dependencies: + "@aws-sdk/types" "^3.973.6" + lodash "^4.18.1" + tslib "^2.5.0" + +"@aws-amplify/storage@6.15.0": + version "6.15.0" + resolved "https://registry.yarnpkg.com/@aws-amplify/storage/-/storage-6.15.0.tgz#7ae945a904efd81dc7b4633e2c565cd5fface9d3" + integrity sha512-xMHR9mJilg55PEKYXSuvTMeKxNShC4Tosmu+DCCrYRnf0IjoN5yapcxCVt3xyOryvoQEKTIu1VHlOwYWdm+qkQ== + dependencies: + "@aws-sdk/types" "^3.973.6" + "@smithy/md5-js" "2.0.7" + buffer "4.9.2" + crc-32 "1.2.2" + fast-xml-parser "^5.7.2" + tslib "^2.5.0" + +"@aws-amplify/ui-react-core@3.6.4": + version "3.6.4" + resolved "https://registry.yarnpkg.com/@aws-amplify/ui-react-core/-/ui-react-core-3.6.4.tgz#60b869e22c62dd6d8e3462464508024b707d55ba" + integrity sha512-k6fP03cW6Mi2Tu0gE0l6sKCyn6R5kVWRTz441O5Px6G8Ctn4xnS+mi0YZG14slD5bbvMuuxy0Lgr2A26sblUpg== + dependencies: + "@aws-amplify/ui" "6.15.4" + "@xstate/react" "^3.2.2" + lodash "4.18.1" + react-hook-form "7.53.2" + xstate "^4.33.6" + +"@aws-amplify/ui-react@^6.15.4": + version "6.15.4" + resolved "https://registry.yarnpkg.com/@aws-amplify/ui-react/-/ui-react-6.15.4.tgz#d4ba4ec7ef29a2a3afae3dc1491ac3a08cb895f2" + integrity sha512-nhLuDtFkRu/3l0+cVgvF/H4P7O+CtgBiZwyvGg98PVR9b9JWwlDSZ7Tm0hBpt5AvvaXsegZ6DeGlrMMWK70w5w== + dependencies: + "@aws-amplify/ui" "6.15.4" + "@aws-amplify/ui-react-core" "3.6.4" + "@radix-ui/react-direction" "^1.1.0" + "@radix-ui/react-dropdown-menu" "^2.1.10" + "@radix-ui/react-slider" "^1.3.2" + "@xstate/react" "^3.2.2" + lodash "4.18.1" + qrcode "1.5.0" + tslib "^2.5.2" + +"@aws-amplify/ui@6.15.4": + version "6.15.4" + resolved "https://registry.yarnpkg.com/@aws-amplify/ui/-/ui-6.15.4.tgz#391639a52c7b910603d9ee9b3c70688eda060612" + integrity sha512-WNHJL9Y3dKLcXlGiuCW4Eb8odg0OQvqw2Es69P9bvWrP1UNOFL2s/vd3Gg6I+UrtwjEmtcxDdKzyEmlWxSWPHA== + dependencies: + csstype "^3.1.1" + lodash "4.18.1" + tslib "^2.5.2" + "@aws-crypto/crc32@5.2.0": version "5.2.0" resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-5.2.0.tgz#cfcc22570949c98c6689cfcbd2d693d36cdae2e1" @@ -178,29 +331,77 @@ "@aws-sdk/util-utf8-browser" "^3.0.0" tslib "^1.11.1" -"@aws-sdk/checksums@^3.1000.1": - version "3.1000.1" - resolved "https://registry.yarnpkg.com/@aws-sdk/checksums/-/checksums-3.1000.1.tgz#e871ac505799f58ec958e6c9823bb501a240e951" - integrity sha512-DFCtlisEuWzw7rESV65jHK7De1QsJZRZgUNJ8ovpmdVaayPrxvmlsAlW8hka9E7f9B31d1T7lHG9oozZf6Bp6w== +"@aws-sdk/checksums@^3.1000.5": + version "3.1000.5" + resolved "https://registry.yarnpkg.com/@aws-sdk/checksums/-/checksums-3.1000.5.tgz#fbb4451375873dfd7a4581fa6f9cf9331b12c0fb" + integrity sha512-zOXUUnilC6lgCsQtp77p/QNPmRlTES9Xi6tlDwbR6kfC/kz5PCzZckgHWm5z+8DskdwuMAbFDq61x3zr10GEEQ== dependencies: "@aws-crypto/crc32" "5.2.0" "@aws-crypto/crc32c" "5.2.0" "@aws-crypto/util" "5.2.0" + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/client-cognito-identity-provider@^3.1058.0": + version "3.1067.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.1067.0.tgz#764af3c54c13a4a1210fc15d53263725c6487a14" + integrity sha512-/8wQzPgkd1eNlG6UpGw4OEG7qyXk6rc9O3i0U9VMPEtZKpk1tX2DOVYRmo5sNPHO8MWAznow/4JJ9m3MsnK45g== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/credential-provider-node" "^3.972.55" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/client-firehose@^3.1012.0": + version "3.1062.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-firehose/-/client-firehose-3.1062.0.tgz#7e3d59f61a7ec87a90e6c24c935b085c705b6397" + integrity sha512-xfzd99y9yx3/Y1OatEO9Feo24lNmS5ibw3+QRDdaguOtAX+uI3vWDy9dNt2QbGE3EKYgzLrJUShBRmnf9t2VYg== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" "@aws-sdk/core" "^3.974.17" + "@aws-sdk/credential-provider-node" "^3.972.51" "@aws-sdk/types" "^3.973.10" "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/client-cognito-identity-provider@^3.1058.0": - version "3.1061.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.1061.0.tgz#cf9fadb2f609495615e79b7f069378f1c95828f1" - integrity sha512-ZdypNl6TbKZeE1xWWnBEqT7desu8ks12EQRpciG4mdz235kVXBIdbIxLz3JHd9uG9lIfKZGVNppG9IRttf9uyA== +"@aws-sdk/client-kinesis@^3.1012.0": + version "3.1062.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-kinesis/-/client-kinesis-3.1062.0.tgz#53d29c76ffa1147095588b2c0b79e023ccad88ce" + integrity sha512-NupkR1EvDEyiKgavzghMEAAMu0RAQ4aYzQ0r09jMrR8QXrh81T+CRxoolZdgVOfD2K1fMjSabEnFfe1BwxGfoA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.974.17" + "@aws-sdk/credential-provider-node" "^3.972.51" + "@aws-sdk/types" "^3.973.10" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/client-personalize-events@^3.1012.0": + version "3.1062.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-personalize-events/-/client-personalize-events-3.1062.0.tgz#f45b1f79e0639d244b5d5ed1e40037559e3d915d" + integrity sha512-Cg0+yDEurvY+SEyswvkWfaJls3f5j5aLbzHJN92LBuUhE99j3VxwfgT7inXat7CLeI5agjwLgi2hE6keZ//rcQ== dependencies: "@aws-crypto/sha256-browser" "5.2.0" "@aws-crypto/sha256-js" "5.2.0" "@aws-sdk/core" "^3.974.17" - "@aws-sdk/credential-provider-node" "^3.972.50" + "@aws-sdk/credential-provider-node" "^3.972.51" "@aws-sdk/types" "^3.973.10" "@smithy/core" "^3.24.6" "@smithy/fetch-http-handler" "^5.4.6" @@ -208,6 +409,26 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/client-s3@^3.1045.0": + version "3.1067.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.1067.0.tgz#9b0f3d553cc62c63b3b073e3edf42a36b47bad01" + integrity sha512-3f64o9YWzwJ9WzMIC4JlUQiMOm7R/EtkIDyFdj8yaQXuh8SR9ezz2R32UMpvTlVMtpoPan3Uj8oveAHr2UeExw== + dependencies: + "@aws-crypto/sha1-browser" "5.2.0" + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/credential-provider-node" "^3.972.55" + "@aws-sdk/middleware-flexible-checksums" "^3.974.30" + "@aws-sdk/middleware-sdk-s3" "^3.972.51" + "@aws-sdk/signature-v4-multi-region" "^3.996.34" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/client-sesv2@^3.1063.0": version "3.1063.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sesv2/-/client-sesv2-3.1063.0.tgz#9d7a645d9fba560b6223c8a23637c4db0b37ec23" @@ -239,6 +460,31 @@ bowser "^2.11.0" tslib "^2.6.2" +"@aws-sdk/core@^3.974.20": + version "3.974.20" + resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.974.20.tgz#fc9727897662e148fad2276995298f56b587c3ab" + integrity sha512-7sDi2B2N3mc3nf1nz6FyEx/FCrJ1N1QnBmraHHQNabFaeAh2IaOOLml48/rHOD1bICHgTRkbBgNTvUzEr5Z35g== + dependencies: + "@aws-sdk/types" "^3.973.12" + "@aws-sdk/xml-builder" "^3.972.29" + "@aws/lambda-invoke-store" "^0.2.2" + "@smithy/core" "^3.24.6" + "@smithy/signature-v4" "^5.4.6" + "@smithy/types" "^4.14.3" + bowser "^2.11.0" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-env@^3.972.43", "@aws-sdk/credential-provider-env@^3.972.46": + version "3.972.46" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.46.tgz#590695585036566535b9d9f28d90658a725a123b" + integrity sha512-+GPXVS2srMOlH74S+SmC1gVuP2TvUZ0siuC0onKO93q+udP+M72dmY8wJfVQ5CX9z/9X5A1HHwz5yRIGBtskvQ== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/credential-provider-env@^3.972.44": version "3.972.44" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.972.44.tgz#123bf8b3131ac308898b15181478ce14e5e19fe9" @@ -250,6 +496,19 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/credential-provider-http@^3.972.45", "@aws-sdk/credential-provider-http@^3.972.48": + version "3.972.48" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.48.tgz#074fe92aa255f0c42441955da6cfeb2bbc57a263" + integrity sha512-fA5loSdlocacRxyUXtpoHSMuk5rsIKRDzQYVMnMxjcmFeZshaJlJ8lymy/hYKji6sne/UmNGj5pxuEs6kq/Qcg== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/credential-provider-http@^3.972.46": version "3.972.46" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-http/-/credential-provider-http-3.972.46.tgz#d54eb35e09b0e5ccd7e7171b1bdf2b384b823ea9" @@ -263,6 +522,25 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/credential-provider-ini@^3.972.49": + version "3.972.49" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.49.tgz#536664a4a12117b46ff38ef6fe3bff0c5b13bd93" + integrity sha512-83r5MK+PERv9irzky1o5aNbXiLuaLfeB7N8MrktB9USpoebdNtuG0Ek9ieIxpGH1aZ9a0nIaDaLjEr3EmOV3Ng== + dependencies: + "@aws-sdk/core" "^3.974.17" + "@aws-sdk/credential-provider-env" "^3.972.43" + "@aws-sdk/credential-provider-http" "^3.972.45" + "@aws-sdk/credential-provider-login" "^3.972.48" + "@aws-sdk/credential-provider-process" "^3.972.43" + "@aws-sdk/credential-provider-sso" "^3.972.48" + "@aws-sdk/credential-provider-web-identity" "^3.972.48" + "@aws-sdk/nested-clients" "^3.997.16" + "@aws-sdk/types" "^3.973.10" + "@smithy/core" "^3.24.6" + "@smithy/credential-provider-imds" "^4.3.7" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/credential-provider-ini@^3.972.50": version "3.972.50" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.50.tgz#bb99cebe7dc335a6c262e43022ead6fde2f0035d" @@ -282,6 +560,37 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/credential-provider-ini@^3.972.53": + version "3.972.53" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.972.53.tgz#d17c2ebfab9c3a38c45f857567535bf4dd9290a0" + integrity sha512-ZfdhIOR41q8TcWEnUac+gCOb+O2LBWdHLmjedXpXz4IEFW2ppNuFcm6p0sMTavpM+zD5TYfpH5Gp7guRyqSgsQ== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/credential-provider-env" "^3.972.46" + "@aws-sdk/credential-provider-http" "^3.972.48" + "@aws-sdk/credential-provider-login" "^3.972.52" + "@aws-sdk/credential-provider-process" "^3.972.46" + "@aws-sdk/credential-provider-sso" "^3.972.52" + "@aws-sdk/credential-provider-web-identity" "^3.972.52" + "@aws-sdk/nested-clients" "^3.997.20" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/credential-provider-imds" "^4.3.7" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-login@^3.972.48": + version "3.972.48" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.48.tgz#9601ba0440bdf2c8cad7ac358cc8379ae993c468" + integrity sha512-amPGeF6fcvLInK4Pu2k2Y2jHFR6MpaIKrZrbaf0QUnV3tjzjWh442eifZ2+KcmzFdsqyvyjBqAhq2JNLt1C5gA== + dependencies: + "@aws-sdk/core" "^3.974.17" + "@aws-sdk/nested-clients" "^3.997.16" + "@aws-sdk/types" "^3.973.10" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/credential-provider-login@^3.972.49": version "3.972.49" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.49.tgz#f3d04fc835cd1c670441023f3509c0b8c73e3041" @@ -294,7 +603,36 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" -"@aws-sdk/credential-provider-node@^3.972.50", "@aws-sdk/credential-provider-node@^3.972.52": +"@aws-sdk/credential-provider-login@^3.972.52": + version "3.972.52" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-login/-/credential-provider-login-3.972.52.tgz#43f2db767db000a1c5317ba35ecd2124cb0a883e" + integrity sha512-9hu2oR0qH7Fst5Tzdx+UWxm+w5zCXtErTLtOOW5hwwQc170CLwOeniRxyFY6s9mHfGEfC5zFukNBdKBwJR8mhQ== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/nested-clients" "^3.997.20" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-node@^3.972.51": + version "3.972.51" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.51.tgz#53008cc98c17bf53f25b7f456307b00bbb0fec93" + integrity sha512-mbhSY3ytXIGMuBoJsWCivk+63dtVlenT6wstUra07Lar4Ln2MVL8/j5zCTIOog+ig5/FlFJ8gcFU4nQZV+Jh4Q== + dependencies: + "@aws-sdk/credential-provider-env" "^3.972.43" + "@aws-sdk/credential-provider-http" "^3.972.45" + "@aws-sdk/credential-provider-ini" "^3.972.49" + "@aws-sdk/credential-provider-process" "^3.972.43" + "@aws-sdk/credential-provider-sso" "^3.972.48" + "@aws-sdk/credential-provider-web-identity" "^3.972.48" + "@aws-sdk/types" "^3.973.10" + "@smithy/core" "^3.24.6" + "@smithy/credential-provider-imds" "^4.3.7" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-node@^3.972.52": version "3.972.52" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.52.tgz#9963981d5d043c9d7b5558e8d8586bfe15b29570" integrity sha512-7QX+PbyiWBEOVipJq8Nke/TqXT6lAPLE7fvTaopa39/IVWuLfS+Fzdy71sZJONf/mLGgmtj6aU17+REw3+aRrw== @@ -311,6 +649,34 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/credential-provider-node@^3.972.55": + version "3.972.55" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.55.tgz#117eaec668dde8e3366bdb750d4c5c247a59a31f" + integrity sha512-zMGLa/dhESVqmCD7mmIFFKSwSFrJGScvCXcjvBZEVOOMauFS5JRQvLTMukFpMEFWiV6dTAlsen2ATDBulLPtbg== + dependencies: + "@aws-sdk/credential-provider-env" "^3.972.46" + "@aws-sdk/credential-provider-http" "^3.972.48" + "@aws-sdk/credential-provider-ini" "^3.972.53" + "@aws-sdk/credential-provider-process" "^3.972.46" + "@aws-sdk/credential-provider-sso" "^3.972.52" + "@aws-sdk/credential-provider-web-identity" "^3.972.52" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/credential-provider-imds" "^4.3.7" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-process@^3.972.43", "@aws-sdk/credential-provider-process@^3.972.46": + version "3.972.46" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.46.tgz#b8d967fa7ea65bdb51a0d60609b3947f01ad1390" + integrity sha512-VUoNFBIjWrUN8NbFiQiuxQEgFjvziAlBRPK+ddh27aj65gk0BYu6bLZnrdrNZwpW6vAihtSUtEMQ1PUJ32QRPA== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/credential-provider-process@^3.972.44": version "3.972.44" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.972.44.tgz#fe9b358351570e6cd6df38aaba8b7304b89ce879" @@ -322,6 +688,19 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/credential-provider-sso@^3.972.48": + version "3.972.48" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.48.tgz#d9b5435805197263a820af308fc0002e9959d770" + integrity sha512-tf0sD47SeTgCDfOWYssctzGgwAuk8/ECjb7bom4wZ7P1om0qE8i2yjniUdvysmANm5haARr35O8vZnTe/UEtpQ== + dependencies: + "@aws-sdk/core" "^3.974.17" + "@aws-sdk/nested-clients" "^3.997.16" + "@aws-sdk/token-providers" "3.1062.0" + "@aws-sdk/types" "^3.973.10" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/credential-provider-sso@^3.972.49": version "3.972.49" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.49.tgz#15e53221a59a4c656923acb4c976460fa81ab53b" @@ -335,6 +714,31 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/credential-provider-sso@^3.972.52": + version "3.972.52" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.972.52.tgz#d3f43251c0a02378d9278508385f511dcc105fb8" + integrity sha512-nb2/n4o/HQf+FVpVbZe9vCTFngmuDoIsltMgLAtjixaKzvzhB4J8WSDFyWgnErgLHk55ctWH+I4PU+LIHhyffg== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/nested-clients" "^3.997.20" + "@aws-sdk/token-providers" "3.1066.0" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/credential-provider-web-identity@^3.972.48": + version "3.972.48" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.48.tgz#312fd9adb4cf6de0ca4ce3f8b0632da3d0eff1a6" + integrity sha512-YYsumc2oe09gl4l+fjfmR64JDn6+0o4Ql5HMBkMuhFazO1tZlE5NjSnZM3oXHwenPjh2qow0TFgSIVjfWfsojg== + dependencies: + "@aws-sdk/core" "^3.974.17" + "@aws-sdk/nested-clients" "^3.997.16" + "@aws-sdk/types" "^3.973.10" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/credential-provider-web-identity@^3.972.49": version "3.972.49" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.49.tgz#9adcc1411d8156df4b521c1ed316ffcdaaf140c4" @@ -347,6 +751,54 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/credential-provider-web-identity@^3.972.52": + version "3.972.52" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.972.52.tgz#28201a0e787f83aac75b80922d699cbe489a3d94" + integrity sha512-lKj6aRSGbqLmpYmM24bY7a1Xmfcq2vkE3hv8CSPYfc1yCu0BPu/XEJ1L4Fm61MsU6ULLNSG8UGsffNoFUBjESA== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/nested-clients" "^3.997.20" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/middleware-flexible-checksums@^3.974.30": + version "3.974.30" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.974.30.tgz#c3941178513037812b0eff2764589ce1631762b3" + integrity sha512-OaIhub+3yTgfFWPzKO8OzOZFIMUoJaiS5v67y3spQg7SoULGoMx4jKVBbE+uhnzkiZXQ+rEDS0RqrK4/aD1yJw== + dependencies: + "@aws-sdk/checksums" "^3.1000.5" + tslib "^2.6.2" + +"@aws-sdk/middleware-sdk-s3@^3.972.51": + version "3.972.51" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.51.tgz#746c869d5e8a5980946315612d0deefdfd40d54f" + integrity sha512-keQgcIUTcHL0Qn7guhsuLaxQU36r9norCrxgaPH4DNCwon4TPtXdI/UdYuycl9vj3Dlwc3YR1dfL3U+6iIwJ6w== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/signature-v4-multi-region" "^3.996.34" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/nested-clients@^3.997.16": + version "3.997.16" + resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.997.16.tgz#1e98e04d148193863183355564da191e4f274d7f" + integrity sha512-bGvfDgC2KQePjEmZdltScPPLKFoyjPElAXeZcLfvZ58J1AO283//WGtvp9GdnryLHTi7gis0UoCezqh0vl/nig== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.974.17" + "@aws-sdk/signature-v4-multi-region" "^3.996.31" + "@aws-sdk/types" "^3.973.10" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/nested-clients@^3.997.17": version "3.997.17" resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.997.17.tgz#9b2c8f2280bd67dea777d4f31eff74083d9b326f" @@ -363,6 +815,22 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/nested-clients@^3.997.20": + version "3.997.20" + resolved "https://registry.yarnpkg.com/@aws-sdk/nested-clients/-/nested-clients-3.997.20.tgz#00607f294f0109c1ee96cccab411106b8fa55625" + integrity sha512-IYJuLpXp2DEILVQpQOy0PMpkftv0AHEOCn52o0atyOaumA0CdWQ3klPyXdViGYLbNpESsVFMVybvHUeZAuiGxA== + dependencies: + "@aws-crypto/sha256-browser" "5.2.0" + "@aws-crypto/sha256-js" "5.2.0" + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/signature-v4-multi-region" "^3.996.34" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/fetch-http-handler" "^5.4.6" + "@smithy/node-http-handler" "^4.7.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/signature-v4-multi-region@^3.996.32": version "3.996.32" resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.32.tgz#1a4c96af7090a423c42c3658119abf2c8168e8f9" @@ -373,6 +841,28 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/signature-v4-multi-region@^3.996.34": + version "3.996.34" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.996.34.tgz#99749163def9dfc720eef85f7fe2d14bb4b763fb" + integrity sha512-mx1L5qlumSOt/nKM3BFaHE2HVkWwz0i4Bw0pyYO42FfX/FeLlo8YI6csC0gSPprEk6fTIqI+CZN9RwUwKd5krQ== + dependencies: + "@aws-sdk/types" "^3.973.12" + "@smithy/signature-v4" "^5.4.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/token-providers@3.1062.0": + version "3.1062.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.1062.0.tgz#31080b7610523b22338478f2aa42176876c04a08" + integrity sha512-fvHh53zSm2FoQPgkw9thH5D7sd13bC0nPyuZb+mQJ85l5v7lQnsZ97u6e6YkJJN/LU1Mxm1/DLGrIIRR2L7tZw== + dependencies: + "@aws-sdk/core" "^3.974.17" + "@aws-sdk/nested-clients" "^3.997.16" + "@aws-sdk/types" "^3.973.10" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/token-providers@3.1063.0": version "3.1063.0" resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.1063.0.tgz#5460afd8c787fcafcf39efcc7aa2e0a9646de6dc" @@ -385,6 +875,18 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/token-providers@3.1066.0": + version "3.1066.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.1066.0.tgz#1253c27ab45284655ab935411a0fbbf91b2c7c7f" + integrity sha512-UqEUJq7dqa44hneLDUcX7UJy95cg8YqEWyakRpvIPnrNS3Mq+UlQHgCDGu5pvwAPtlIW4qcYbvW6reG6++FyvA== + dependencies: + "@aws-sdk/core" "^3.974.20" + "@aws-sdk/nested-clients" "^3.997.20" + "@aws-sdk/types" "^3.973.12" + "@smithy/core" "^3.24.6" + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.10", "@aws-sdk/types@^3.973.11": version "3.973.11" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.11.tgz#40689661e7cca5bc285d44afe946160d5a7767a7" @@ -393,6 +895,22 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@aws-sdk/types@^3.973.12": + version "3.973.12" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.12.tgz#a3ae50d325644e4e890030d187febbeef2d238ef" + integrity sha512-43ajd1NF0RMgX5k0hxCNUyEdrtFUsb2aHT2QvpktSC/2Eyb2Jr/JPVqdp0XIoaHWikZJq5tNWSLO6kB5q2eMCA== + dependencies: + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + +"@aws-sdk/types@^3.973.6": + version "3.973.10" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.10.tgz#e0b6ab8b631aba7ac97b0ea14e06d6531926ee40" + integrity sha512-992QrTO7G9qCvKD0fx1rMlqcL14plUcRAbwmqqYVsuF3GrqcvlAL9qxR+baMafarEZ+l7DUQ5lCMmt5mbMhF7g== + dependencies: + "@smithy/types" "^4.14.3" + tslib "^2.6.2" + "@aws-sdk/util-locate-window@^3.0.0": version "3.965.5" resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.965.5.tgz#e30e6ff2aff6436209ed42c765dec2d2a48df7c0" @@ -416,6 +934,15 @@ fast-xml-parser "5.7.3" tslib "^2.6.2" +"@aws-sdk/xml-builder@^3.972.29": + version "3.972.29" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.972.29.tgz#1fffe1dd3fbb84c034ff2f8008de8a6926a4a672" + integrity sha512-fk0niuGFxfi8yIJuMVM4mhwObkiQSuwZFj3tAPrLVx64Pk3BkrEIpqjzHKY4hKoEBUD6Jg/S74Zj9jy+5F3DnQ== + dependencies: + "@smithy/types" "^4.14.3" + fast-xml-parser "5.7.3" + tslib "^2.6.2" + "@aws/lambda-invoke-store@^0.2.2": version "0.2.4" resolved "https://registry.yarnpkg.com/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.4.tgz#802f6a50f6b6589063ef63ba8acdee86fcb9f395" @@ -1508,9 +2035,9 @@ integrity sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w== "@csstools/css-syntax-patches-for-csstree@^1.1.3": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.5.tgz#b8e26e0fe25e9a6ec607d045470cc46d2f62731e" - integrity sha512-oNjBvzLq2GPZtJphCjLqXow/cHySHSgtxvKZb7OqSZ/xHgw6NWNhfad+6AB9cLeVm6eA9d/qMll3JdEHjy6M+A== + version "1.1.4" + resolved "https://registry.yarnpkg.com/@csstools/css-syntax-patches-for-csstree/-/css-syntax-patches-for-csstree-1.1.4.tgz#8f4e5e23574e8c76005588984308d2b216993720" + integrity sha512-wgsqt92b7C7tQhIdPNxj0n9zuUbQlvAuI1exyzeNrOKOi62SD7ren8zqszmpVREjAOqg8cD2FqYhQfAuKjk4sw== "@csstools/css-tokenizer@^4.0.0": version "4.0.0" @@ -1518,9 +2045,9 @@ integrity sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA== "@cypress/request@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-4.0.1.tgz#c3f0eec41834e7590d21cd740a4c6f7e0326368d" - integrity sha512-y20e+e6dFYkOUUJLVUZTsJRuTiXZaUQ32WD+R/ux/HBybbTx4ge7cNINcua0pU8+SNkKuRbOF12mBmzuzM8n5w== + version "4.0.0" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-4.0.0.tgz#2bc3a10a7d50f338dc644dc5fd14a60107c6f3e2" + integrity sha512-wGTQfwDMMMiz/muFw4YbCLwTh0uZsXKK+6zWBzftADpitSi6iM62C8GzEhNcng2srUiGPksOriQkA8zakW2R0g== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -1535,7 +2062,7 @@ json-stringify-safe "~5.0.1" mime-types "~2.1.19" performance-now "^2.1.0" - qs "^6.15.2" + qs "~6.14.1" safe-buffer "^5.1.2" tough-cookie "^5.0.0" tunnel-agent "^0.6.0" @@ -1709,7 +2236,7 @@ dependencies: eslint-visitor-keys "^3.4.3" -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.6.1": version "4.12.2" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew== @@ -1773,6 +2300,33 @@ resolved "https://registry.yarnpkg.com/@exodus/bytes/-/bytes-1.15.1.tgz#b13bc464ca162c17abf0837fb3a11aeab79e45d1" integrity sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q== +"@floating-ui/core@^1.7.5": + version "1.7.5" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.7.5.tgz#d4af157a03330af5a60e69da7a4692507ada0622" + integrity sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ== + dependencies: + "@floating-ui/utils" "^0.2.11" + +"@floating-ui/dom@^1.7.6": + version "1.7.6" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.7.6.tgz#f915bba5abbb177e1f227cacee1b4d0634b187bf" + integrity sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ== + dependencies: + "@floating-ui/core" "^1.7.5" + "@floating-ui/utils" "^0.2.11" + +"@floating-ui/react-dom@^2.0.0": + version "2.1.8" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.8.tgz#5fb5a20d10aafb9505f38c24f38d00c8e1598893" + integrity sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A== + dependencies: + "@floating-ui/dom" "^1.7.6" + +"@floating-ui/utils@^0.2.11": + version "0.2.11" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.11.tgz#a269e055e40e2f45873bae9d1a2fdccbd314ea3f" + integrity sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg== + "@humanwhocodes/config-array@^0.13.0": version "0.13.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" @@ -2131,74 +2685,74 @@ resolved "https://registry.yarnpkg.com/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz#5c23f796c47675f166d23b948cdb889184b93207" integrity sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g== -"@jsonjoy.com/fs-core@4.57.6": - version "4.57.6" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-core/-/fs-core-4.57.6.tgz#6ac35419d48a8ca558b357203f2fd6153135647f" - integrity sha512-uI++Wx6VkBJqVmkb4ZeExwAVpZiA2Do5NrEtXoDk0Pdvce3ytFXJoviT1sLOj16+qDIMnD5nWPfOhVpnDmRJKg== +"@jsonjoy.com/fs-core@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-core/-/fs-core-4.57.2.tgz#e28f357ba9983ce53577ba34fc72d344f19ec459" + integrity sha512-SVjwklkpIV5wrynpYtuYnfYH1QF4/nDuLBX7VXdb+3miglcAgBVZb/5y0cOsehRV/9Vb+3UqhkMq3/NR3ztdkQ== dependencies: - "@jsonjoy.com/fs-node-builtins" "4.57.6" - "@jsonjoy.com/fs-node-utils" "4.57.6" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" thingies "^2.5.0" -"@jsonjoy.com/fs-fsa@4.57.6": - version "4.57.6" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.6.tgz#385890464f57146ba71bd057ad98c961d144b96c" - integrity sha512-pKkw/yC5CzSZKhIIUIsH1przOa+K5jGmZIg1sWaSF24JojyrUFbjcQv7QrcGAudriei6HQ6R0BFj+V8NbQinJw== +"@jsonjoy.com/fs-fsa@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.2.tgz#ec6dd492ff8c104a0c1eae74959a013960fe8969" + integrity sha512-fhO8+iR2I+OCw668ISDJdn1aArc9zx033sWejIyzQ8RBeXa9bDSaUeA3ix0poYOfrj1KdOzytmYNv2/uLDfV6g== dependencies: - "@jsonjoy.com/fs-core" "4.57.6" - "@jsonjoy.com/fs-node-builtins" "4.57.6" - "@jsonjoy.com/fs-node-utils" "4.57.6" + "@jsonjoy.com/fs-core" "4.57.2" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" thingies "^2.5.0" -"@jsonjoy.com/fs-node-builtins@4.57.6": - version "4.57.6" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.6.tgz#76a2a3300c9d0f1d5e45ec45785f2aacaec212be" - integrity sha512-V4DgEFT3Cg5S9fCMOZSCVdTxdJWWLBO0WnAazV7hnCM96u5zXHyW/ubDAfcSVwqjkMJ50W1Y44IXtxRoIwaCVg== - -"@jsonjoy.com/fs-node-to-fsa@4.57.6": - version "4.57.6" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.6.tgz#dbccc7d784b1e237c4d6a82f8d4ee39a2361da8c" - integrity sha512-+JptNw3iifihxH2rEXrninDzX4FFVW8JD/wPR8GbJPAeL9CQUSblrlumOPB5gZuS7tYRX+PJPLtT7XzKoRhv/Q== - dependencies: - "@jsonjoy.com/fs-fsa" "4.57.6" - "@jsonjoy.com/fs-node-builtins" "4.57.6" - "@jsonjoy.com/fs-node-utils" "4.57.6" - -"@jsonjoy.com/fs-node-utils@4.57.6": - version "4.57.6" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.6.tgz#67f1caff1ced836d8206bd769ecf3a4d3f04ca35" - integrity sha512-foyUrfS7WmYEUzqYXSNxmJBcSj04TABrkpFabwO9SCDCpVCfJ+qG+2sk5FjfiflG2n0SDFZDCJ6vYlJAEpxJFg== - dependencies: - "@jsonjoy.com/fs-node-builtins" "4.57.6" - -"@jsonjoy.com/fs-node@4.57.6": - version "4.57.6" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node/-/fs-node-4.57.6.tgz#1772c9e34c044bc7a65bce49e3882c7e2907a140" - integrity sha512-Kbn1jdkvDN4F2+BhoB6mMu7NCbhP0bgA5NcI1aJj/Q5UcU+I1JLLW+dEQean33iV4tXv35AzBVKPICnDltBpxw== - dependencies: - "@jsonjoy.com/fs-core" "4.57.6" - "@jsonjoy.com/fs-node-builtins" "4.57.6" - "@jsonjoy.com/fs-node-utils" "4.57.6" - "@jsonjoy.com/fs-print" "4.57.6" - "@jsonjoy.com/fs-snapshot" "4.57.6" +"@jsonjoy.com/fs-node-builtins@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.2.tgz#9174b87e70213b38caf1ac8669b130c4dfd6a909" + integrity sha512-xhiegylRmhw43Ki2HO1ZBL7DQ5ja/qpRsL29VtQ2xuUHiuDGbgf2uD4p9Qd8hJI5P6RCtGYD50IXHXVq/Ocjcg== + +"@jsonjoy.com/fs-node-to-fsa@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.2.tgz#8542449b72dfc48f3bfe311a7b0af5323f9bc926" + integrity sha512-18LmWTSONhoAPW+IWRuf8w/+zRolPFGPeGwMxlAhhfY11EKzX+5XHDBPAw67dBF5dxDErHJbl40U+3IXSDRXSQ== + dependencies: + "@jsonjoy.com/fs-fsa" "4.57.2" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" + +"@jsonjoy.com/fs-node-utils@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.2.tgz#c3234c03b1e59d609a0915572dd6f450be0463b1" + integrity sha512-rsPSJgekz43IlNbLyAM/Ab+ouYLWGp5DDBfYBNNEqDaSpsbXfthBn29Q4muFA9L0F+Z3mKo+CWlgSCXrf+mOyQ== + dependencies: + "@jsonjoy.com/fs-node-builtins" "4.57.2" + +"@jsonjoy.com/fs-node@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-node/-/fs-node-4.57.2.tgz#8db2875df19683683e5852053e0099e233dc45d2" + integrity sha512-nX2AdL6cOFwLdju9G4/nbRnYevmCJbh7N7hvR3gGm97Cs60uEjyd0rpR+YBS7cTg175zzl22pGKXR5USaQMvKg== + dependencies: + "@jsonjoy.com/fs-core" "4.57.2" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" + "@jsonjoy.com/fs-print" "4.57.2" + "@jsonjoy.com/fs-snapshot" "4.57.2" glob-to-regex.js "^1.0.0" thingies "^2.5.0" -"@jsonjoy.com/fs-print@4.57.6": - version "4.57.6" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-print/-/fs-print-4.57.6.tgz#62be13d03362a4f8c1c711a4f81d4bcd5178a3bd" - integrity sha512-96eAn4Dudtt67LTeuU47yUD+pg9/G/oKpI10zei9ljk3X3WK4lYKc+n3cpaPCAbKPzoyfxl0mXm8f8Y7BOSFXw== +"@jsonjoy.com/fs-print@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-print/-/fs-print-4.57.2.tgz#286c4ceda19225a5c54aaad657ad9f466d5bd0c1" + integrity sha512-wK9NSow48i4DbDl9F1CQE5TqnyZOJ04elU3WFG5aJ76p+YxO/ulyBBQvKsessPxdo381Bc2pcEoyPujMOhcRqQ== dependencies: - "@jsonjoy.com/fs-node-utils" "4.57.6" + "@jsonjoy.com/fs-node-utils" "4.57.2" tree-dump "^1.1.0" -"@jsonjoy.com/fs-snapshot@4.57.6": - version "4.57.6" - resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.6.tgz#6bde49a518a0ae4a9469a046fa4359c12f4f588d" - integrity sha512-V57CMzbOgTzUWGOWQ8GzHQdpJP6JnrYVNCtTBNxVYEnlVRvo4uEJqHhtAT8vhDFrIuJOXLrTL1Fki4h5oI7xxg== +"@jsonjoy.com/fs-snapshot@4.57.2": + version "4.57.2" + resolved "https://registry.yarnpkg.com/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.2.tgz#800424a076638a605dad5ef1540915bc0167d7f8" + integrity sha512-GdduDZuoP5V/QCgJkx9+BZ6SC0EZ/smXAdTS7PfMqgMTGXLlt/bH/FqMYaqB9JmLf05sJPtO0XRbAwwkEEPbVw== dependencies: "@jsonjoy.com/buffers" "^17.65.0" - "@jsonjoy.com/fs-node-utils" "4.57.6" + "@jsonjoy.com/fs-node-utils" "4.57.2" "@jsonjoy.com/json-pack" "^17.65.0" "@jsonjoy.com/util" "^17.65.0" @@ -2635,9 +3189,9 @@ integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== "@nodable/entities@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@nodable/entities/-/entities-2.1.1.tgz#ce41931e9b72606d7f0598d665e46e889285d78a" - integrity sha512-Pig3HxDIoMgjdEH8OCf/dkcTmLFjJRjWuq8jSnklu284/TKOPibSRERmOykiwmyXTtv61mP+44f3GMx0tLAyjg== + version "2.1.0" + resolved "https://registry.yarnpkg.com/@nodable/entities/-/entities-2.1.0.tgz#f543e5c6446720d4cf9e498a83019dd159973bc2" + integrity sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA== "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -3213,20 +3767,265 @@ "@types/esquery" "^1.5.4" esquery "^1.7.0" -"@pkgjs/parseargs@^0.11.0": - version "0.11.0" - resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" - integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + +"@pkgr/core@^0.2.9": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.2.9.tgz#d229a7b7f9dac167a156992ef23c7f023653f53b" + integrity sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA== + +"@polka/url@^1.0.0-next.24": + version "1.0.0-next.29" + resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1" + integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== + +"@radix-ui/number@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.1.1.tgz#7b2c9225fbf1b126539551f5985769d0048d9090" + integrity sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g== + +"@radix-ui/primitive@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.1.3.tgz#e2dbc13bdc5e4168f4334f75832d7bdd3e2de5ba" + integrity sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg== + +"@radix-ui/react-arrow@1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.1.7.tgz#e14a2657c81d961598c5e72b73dd6098acc04f09" + integrity sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w== + dependencies: + "@radix-ui/react-primitive" "2.1.3" + +"@radix-ui/react-collection@1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.1.7.tgz#d05c25ca9ac4695cc19ba91f42f686e3ea2d9aec" + integrity sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-slot" "1.2.3" + +"@radix-ui/react-compose-refs@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz#a2c4c47af6337048ee78ff6dc0d090b390d2bb30" + integrity sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg== + +"@radix-ui/react-context@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.2.tgz#61628ef269a433382c364f6f1e3788a6dc213a36" + integrity sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA== + +"@radix-ui/react-direction@1.1.1", "@radix-ui/react-direction@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.1.1.tgz#39e5a5769e676c753204b792fbe6cf508e550a14" + integrity sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw== + +"@radix-ui/react-dismissable-layer@1.1.11": + version "1.1.11" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz#e33ab6f6bdaa00f8f7327c408d9f631376b88b37" + integrity sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg== + dependencies: + "@radix-ui/primitive" "1.1.3" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + "@radix-ui/react-use-escape-keydown" "1.1.1" + +"@radix-ui/react-dropdown-menu@^2.1.10": + version "2.1.16" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.16.tgz#5ee045c62bad8122347981c479d92b1ff24c7254" + integrity sha512-1PLGQEynI/3OX/ftV54COn+3Sud/Mn8vALg2rWnBLnRaGtJDduNW/22XjlGgPdpcIbiQxjKtb7BkcjP00nqfJw== + dependencies: + "@radix-ui/primitive" "1.1.3" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-id" "1.1.1" + "@radix-ui/react-menu" "2.1.16" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-controllable-state" "1.2.2" + +"@radix-ui/react-focus-guards@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz#2a5669e464ad5fde9f86d22f7fdc17781a4dfa7f" + integrity sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw== + +"@radix-ui/react-focus-scope@1.1.7": + version "1.1.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz#dfe76fc103537d80bf42723a183773fd07bfb58d" + integrity sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + +"@radix-ui/react-id@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.1.1.tgz#1404002e79a03fe062b7e3864aa01e24bd1471f7" + integrity sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg== + dependencies: + "@radix-ui/react-use-layout-effect" "1.1.1" + +"@radix-ui/react-menu@2.1.16": + version "2.1.16" + resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.1.16.tgz#528a5a973c3a7413d3d49eb9ccd229aa52402911" + integrity sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg== + dependencies: + "@radix-ui/primitive" "1.1.3" + "@radix-ui/react-collection" "1.1.7" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-direction" "1.1.1" + "@radix-ui/react-dismissable-layer" "1.1.11" + "@radix-ui/react-focus-guards" "1.1.3" + "@radix-ui/react-focus-scope" "1.1.7" + "@radix-ui/react-id" "1.1.1" + "@radix-ui/react-popper" "1.2.8" + "@radix-ui/react-portal" "1.1.9" + "@radix-ui/react-presence" "1.1.5" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-roving-focus" "1.1.11" + "@radix-ui/react-slot" "1.2.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + aria-hidden "^1.2.4" + react-remove-scroll "^2.6.3" + +"@radix-ui/react-popper@1.2.8": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.2.8.tgz#a79f39cdd2b09ab9fb50bf95250918422c4d9602" + integrity sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw== + dependencies: + "@floating-ui/react-dom" "^2.0.0" + "@radix-ui/react-arrow" "1.1.7" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + "@radix-ui/react-use-layout-effect" "1.1.1" + "@radix-ui/react-use-rect" "1.1.1" + "@radix-ui/react-use-size" "1.1.1" + "@radix-ui/rect" "1.1.1" + +"@radix-ui/react-portal@1.1.9": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.9.tgz#14c3649fe48ec474ac51ed9f2b9f5da4d91c4472" + integrity sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ== + dependencies: + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-layout-effect" "1.1.1" + +"@radix-ui/react-presence@1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.1.5.tgz#5d8f28ac316c32f078afce2996839250c10693db" + integrity sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ== + dependencies: + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-use-layout-effect" "1.1.1" + +"@radix-ui/react-primitive@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz#db9b8bcff49e01be510ad79893fb0e4cda50f1bc" + integrity sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ== + dependencies: + "@radix-ui/react-slot" "1.2.3" + +"@radix-ui/react-roving-focus@1.1.11": + version "1.1.11" + resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.11.tgz#ef54384b7361afc6480dcf9907ef2fedb5080fd9" + integrity sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA== + dependencies: + "@radix-ui/primitive" "1.1.3" + "@radix-ui/react-collection" "1.1.7" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-direction" "1.1.1" + "@radix-ui/react-id" "1.1.1" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-callback-ref" "1.1.1" + "@radix-ui/react-use-controllable-state" "1.2.2" + +"@radix-ui/react-slider@^1.3.2": + version "1.3.6" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slider/-/react-slider-1.3.6.tgz#409453110b8f34ca00972750b80cd792f0b23a8c" + integrity sha512-JPYb1GuM1bxfjMRlNLE+BcmBC8onfCi60Blk7OBqi2MLTFdS+8401U4uFjnwkOr49BLmXxLC6JHkvAsx5OJvHw== + dependencies: + "@radix-ui/number" "1.1.1" + "@radix-ui/primitive" "1.1.3" + "@radix-ui/react-collection" "1.1.7" + "@radix-ui/react-compose-refs" "1.1.2" + "@radix-ui/react-context" "1.1.2" + "@radix-ui/react-direction" "1.1.1" + "@radix-ui/react-primitive" "2.1.3" + "@radix-ui/react-use-controllable-state" "1.2.2" + "@radix-ui/react-use-layout-effect" "1.1.1" + "@radix-ui/react-use-previous" "1.1.1" + "@radix-ui/react-use-size" "1.1.1" + +"@radix-ui/react-slot@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.2.3.tgz#502d6e354fc847d4169c3bc5f189de777f68cfe1" + integrity sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A== + dependencies: + "@radix-ui/react-compose-refs" "1.1.2" + +"@radix-ui/react-use-callback-ref@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz#62a4dba8b3255fdc5cc7787faeac1c6e4cc58d40" + integrity sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg== + +"@radix-ui/react-use-controllable-state@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz#905793405de57d61a439f4afebbb17d0645f3190" + integrity sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg== + dependencies: + "@radix-ui/react-use-effect-event" "0.0.2" + "@radix-ui/react-use-layout-effect" "1.1.1" + +"@radix-ui/react-use-effect-event@0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz#090cf30d00a4c7632a15548512e9152217593907" + integrity sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA== + dependencies: + "@radix-ui/react-use-layout-effect" "1.1.1" + +"@radix-ui/react-use-escape-keydown@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz#b3fed9bbea366a118f40427ac40500aa1423cc29" + integrity sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g== + dependencies: + "@radix-ui/react-use-callback-ref" "1.1.1" + +"@radix-ui/react-use-layout-effect@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz#0c4230a9eed49d4589c967e2d9c0d9d60a23971e" + integrity sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ== -"@pkgr/core@^0.3.6": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.3.6.tgz#3569708bd4be4d8870ba32bf1c456dac81600d97" - integrity sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA== +"@radix-ui/react-use-previous@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.1.1.tgz#1a1ad5568973d24051ed0af687766f6c7cb9b5b5" + integrity sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ== -"@polka/url@^1.0.0-next.24": - version "1.0.0-next.29" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.29.tgz#5a40109a1ab5f84d6fd8fc928b19f367cbe7e7b1" - integrity sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww== +"@radix-ui/react-use-rect@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.1.1.tgz#01443ca8ed071d33023c1113e5173b5ed8769152" + integrity sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w== + dependencies: + "@radix-ui/rect" "1.1.1" + +"@radix-ui/react-use-size@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.1.1.tgz#6de276ffbc389a537ffe4316f5b0f24129405b37" + integrity sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ== + dependencies: + "@radix-ui/react-use-layout-effect" "1.1.1" + +"@radix-ui/rect@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.1.1.tgz#78244efe12930c56fd255d7923865857c41ac8cb" + integrity sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw== "@rolldown/pluginutils@1.0.0-beta.27": version "1.0.0-beta.27" @@ -3533,13 +4332,28 @@ dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^15.4.0": +"@sinonjs/fake-timers@11.2.2": + version "11.2.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz#50063cc3574f4a27bd8453180a04171c85cc9699" + integrity sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw== + dependencies: + "@sinonjs/commons" "^3.0.0" + +"@sinonjs/fake-timers@^15.1.1", "@sinonjs/fake-timers@^15.4.0": version "15.4.0" resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-15.4.0.tgz#5d40c151a9e66075fe4520bec40bccfe54931962" integrity sha512-DsG+8/LscQIQg68J6Ef3dv10u6nVyetYn923s3/sus5eaGfTo1of5WMZSLf0UJc9KDuKPilPH0UDJCjvNbDNCA== dependencies: "@sinonjs/commons" "^3.0.1" +"@sinonjs/samsam@^8.0.0": + version "8.0.3" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-8.0.3.tgz#eb6ffaef421e1e27783cc9b52567de20cb28072d" + integrity sha512-hw6HbX+GyVZzmaYNh82Ecj1vdGZrqVIn/keDTg63IgAwiQPO+xCz99uG6Woqgb4tM0mUiFENKZ4cqd7IX94AXQ== + dependencies: + "@sinonjs/commons" "^3.0.1" + type-detect "^4.1.0" + "@smithy/core@^3.24.6": version "3.24.6" resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.24.6.tgz#72891bad85d577b2e43f30a8fc67adf36d577798" @@ -3574,6 +4388,22 @@ dependencies: tslib "^2.6.2" +"@smithy/is-array-buffer@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz#9a95c2d46b8768946a9eec7f935feaddcffa5e7a" + integrity sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ== + dependencies: + tslib "^2.6.2" + +"@smithy/md5-js@2.0.7": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.0.7.tgz#4dea27b20b065857f953c74dbaa050003f48a374" + integrity sha512-2i2BpXF9pI5D1xekqUsgQ/ohv5+H//G9FlawJrkOJskV18PgJ8LiNbLiskMeYt07yAsSTZR7qtlcAaa/GQLWww== + dependencies: + "@smithy/types" "^2.3.1" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@smithy/node-http-handler@^4.7.6": version "4.7.7" resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.7.7.tgz#cd0669141c5ee10c8b0516b652326ca4c28d643a" @@ -3592,6 +4422,20 @@ "@smithy/types" "^4.14.3" tslib "^2.6.2" +"@smithy/types@^2.3.1": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.12.0.tgz#c44845f8ba07e5e8c88eda5aed7e6a0c462da041" + integrity sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw== + dependencies: + tslib "^2.6.2" + +"@smithy/types@^3.3.0": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-3.7.2.tgz#05cb14840ada6f966de1bf9a9c7dd86027343e10" + integrity sha512-bNwBYYmN8Eh9RyjS1p2gW6MIhSO2rl7X9QeLM8iTdcGRP+eDiIWDt66c9IysCc22gefKszZv+ubV9qZc7hdESg== + dependencies: + tslib "^2.6.2" + "@smithy/types@^4.14.3": version "4.14.3" resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.14.3.tgz#784e6d556231645744edf3fea85daaac9054eb40" @@ -3599,7 +4443,16 @@ dependencies: tslib "^2.6.2" -"@smithy/util-buffer-from@^2.2.0": +"@smithy/util-base64@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-3.0.0.tgz#f7a9a82adf34e27a72d0719395713edf0e493017" + integrity sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ== + dependencies: + "@smithy/util-buffer-from" "^3.0.0" + "@smithy/util-utf8" "^3.0.0" + tslib "^2.6.2" + +"@smithy/util-buffer-from@^2.0.0", "@smithy/util-buffer-from@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz#6fc88585165ec73f8681d426d96de5d402021e4b" integrity sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA== @@ -3607,6 +4460,29 @@ "@smithy/is-array-buffer" "^2.2.0" tslib "^2.6.2" +"@smithy/util-buffer-from@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz#559fc1c86138a89b2edaefc1e6677780c24594e3" + integrity sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA== + dependencies: + "@smithy/is-array-buffer" "^3.0.0" + tslib "^2.6.2" + +"@smithy/util-hex-encoding@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz#0aa3515acd2b005c6d55675e377080a7c513b59e" + integrity sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA== + dependencies: + tslib "^2.5.0" + +"@smithy/util-utf8@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.0.0.tgz#b4da87566ea7757435e153799df9da717262ad42" + integrity sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ== + dependencies: + "@smithy/util-buffer-from" "^2.0.0" + tslib "^2.5.0" + "@smithy/util-utf8@^2.0.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-2.3.0.tgz#dd96d7640363259924a214313c3cf16e7dd329c5" @@ -3615,6 +4491,14 @@ "@smithy/util-buffer-from" "^2.2.0" tslib "^2.6.2" +"@smithy/util-utf8@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-3.0.0.tgz#1a6a823d47cbec1fd6933e5fc87df975286d9d6a" + integrity sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA== + dependencies: + "@smithy/util-buffer-from" "^3.0.0" + tslib "^2.6.2" + "@sqltools/formatter@^1.2.5": version "1.2.5" resolved "https://registry.yarnpkg.com/@sqltools/formatter/-/formatter-1.2.5.tgz#3abc203c79b8c3e90fd6c156a0c62d5403520e12" @@ -3802,6 +4686,11 @@ resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== +"@types/aws-lambda@^8.10.134": + version "8.10.161" + resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.161.tgz#36d95723ec46d3d555bf0684f83cf4d4369a28ad" + integrity sha512-rUYdp+MQwSFocxIOcSsYSF3YYYC/uUpMbCY/mbO21vGqfrEYvNSoPyKYDj6RhXXpPfS0KstW9RwG3qXh9sL7FQ== + "@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" @@ -4065,9 +4954,9 @@ integrity sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ== "@types/react@^18.2.14": - version "18.3.30" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.30.tgz#e915809a3fb2bf752361d356b821bc754697e3cd" - integrity sha512-3ek6mwJL5/VBewBcY4S66cqlCtK3qi4WIq37Z0m/NHw1hjhI7274Mx1qz/+ggSzyBCOEf7eHjBN6INjPAWYfYw== + version "18.3.29" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.29.tgz#7f3b6e1515499d4fd199cc8fd4710114be36c1a2" + integrity sha512-ch0qJdr2JY0r04NXSprbK6TXOgnaJ1Tz23fm5W+z0/CBah6BSBc3n96h7K9GOtwh0HrilNWHIBzE1Ko4Dcw/Wg== dependencies: "@types/prop-types" "*" csstype "^3.2.2" @@ -4170,6 +5059,11 @@ resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.2.6.tgz#d785ee90c52d7cc020e249c948c36f7b32d1e217" integrity sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA== +"@types/uuid@^9.0.0": + version "9.0.8" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.8.tgz#7545ba4fc3c003d6c756f651f3bf163d8f0f29ba" + integrity sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA== + "@types/validator@^13.15.3": version "13.15.10" resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.15.10.tgz#742b77ec34d58554b94a76a14cef30d59e3c16b9" @@ -4194,22 +5088,27 @@ dependencies: "@types/yargs-parser" "*" +"@types/yauzl@^2.9.1": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.3.tgz#e9b2808b4f109504a03cda958259876f61017999" + integrity sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q== + dependencies: + "@types/node" "*" + "@typescript-eslint/eslint-plugin@7": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.0.0.tgz#62cda0d35bbf601683c6e58cf5d04f0275caca4e" - integrity sha512-M72SJ0DkcQVmmsbqlzc6EJgb/3Oz2Wdm6AyESB4YkGgCxP8u5jt5jn4/OBMPK3HLOxcttZq5xbBBU7e2By4SZQ== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "7.0.0" - "@typescript-eslint/type-utils" "7.0.0" - "@typescript-eslint/utils" "7.0.0" - "@typescript-eslint/visitor-keys" "7.0.0" - debug "^4.3.4" + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3" + integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw== + dependencies: + "@eslint-community/regexpp" "^4.10.0" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/type-utils" "7.18.0" + "@typescript-eslint/utils" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" graphemer "^1.4.0" - ignore "^5.2.4" + ignore "^5.3.1" natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" + ts-api-utils "^1.3.0" "@typescript-eslint/parser@6": version "6.21.0" @@ -4239,13 +5138,13 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/scope-manager@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.0.0.tgz#15ea9abad2b56fc8f5c0b516775f41c86c5c8685" - integrity sha512-IxTStwhNDPO07CCrYuAqjuJ3Xf5MrMaNgbAZPxFXAUpAtwqFxiuItxUaVtP/SJQeCdJjwDGh9/lMOluAndkKeg== +"@typescript-eslint/scope-manager@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83" + integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA== dependencies: - "@typescript-eslint/types" "7.0.0" - "@typescript-eslint/visitor-keys" "7.0.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" "@typescript-eslint/scope-manager@8.60.1": version "8.60.1" @@ -4260,15 +5159,15 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.1.tgz#bee8b942a13679a878101c9c74577d732062ed93" integrity sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA== -"@typescript-eslint/type-utils@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.0.0.tgz#a4c7ae114414e09dbbd3c823b5924793f7483252" - integrity sha512-FIM8HPxj1P2G7qfrpiXvbHeHypgo2mFpFGoh5I73ZlqmJOsloSa1x0ZyXCer43++P1doxCgNqIOLqmZR6SOT8g== +"@typescript-eslint/type-utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b" + integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA== dependencies: - "@typescript-eslint/typescript-estree" "7.0.0" - "@typescript-eslint/utils" "7.0.0" + "@typescript-eslint/typescript-estree" "7.18.0" + "@typescript-eslint/utils" "7.18.0" debug "^4.3.4" - ts-api-utils "^1.0.1" + ts-api-utils "^1.3.0" "@typescript-eslint/type-utils@^8.0.0": version "8.60.1" @@ -4286,10 +5185,10 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== -"@typescript-eslint/types@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.0.0.tgz#2e5889c7fe3c873fc6dc6420aa77775f17cd5dc6" - integrity sha512-9ZIJDqagK1TTs4W9IyeB2sH/s1fFhN9958ycW8NRTg1vXGzzH5PQNzq6KbsbVGMT+oyyfa17DfchHDidcmf5cg== +"@typescript-eslint/types@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9" + integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ== "@typescript-eslint/types@8.60.1", "@typescript-eslint/types@^8.60.1": version "8.60.1" @@ -4310,19 +5209,19 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/typescript-estree@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.0.tgz#7ce66f2ce068517f034f73fba9029300302fdae9" - integrity sha512-JzsOzhJJm74aQ3c9um/aDryHgSHfaX8SHFIu9x4Gpik/+qxLvxUylhTsO9abcNu39JIdhY2LgYrFxTii3IajLA== +"@typescript-eslint/typescript-estree@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931" + integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA== dependencies: - "@typescript-eslint/types" "7.0.0" - "@typescript-eslint/visitor-keys" "7.0.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/visitor-keys" "7.18.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" + minimatch "^9.0.4" + semver "^7.6.0" + ts-api-utils "^1.3.0" "@typescript-eslint/typescript-estree@8.60.1": version "8.60.1" @@ -4352,18 +5251,15 @@ "@typescript-eslint/typescript-estree" "6.21.0" semver "^7.5.4" -"@typescript-eslint/utils@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.0.0.tgz#e43710af746c6ae08484f7afc68abc0212782c7e" - integrity sha512-kuPZcPAdGcDBAyqDn/JVeJVhySvpkxzfXjJq1X1BFSTYo1TTuo4iyb937u457q4K0In84p6u2VHQGaFnv7VYqg== +"@typescript-eslint/utils@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f" + integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "7.0.0" - "@typescript-eslint/types" "7.0.0" - "@typescript-eslint/typescript-estree" "7.0.0" - semver "^7.5.4" + "@typescript-eslint/scope-manager" "7.18.0" + "@typescript-eslint/types" "7.18.0" + "@typescript-eslint/typescript-estree" "7.18.0" "@typescript-eslint/utils@8.60.1": version "8.60.1" @@ -4383,13 +5279,13 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" -"@typescript-eslint/visitor-keys@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.0.tgz#83cdadd193ee735fe9ea541f6a2b4d76dfe62081" - integrity sha512-JZP0uw59PRHp7sHQl3aF/lFgwOW2rgNVnXUksj1d932PMita9wFBd3621vHQRDvHwPsSY9FMAAHVc8gTvLYY4w== +"@typescript-eslint/visitor-keys@7.18.0": + version "7.18.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7" + integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg== dependencies: - "@typescript-eslint/types" "7.0.0" - eslint-visitor-keys "^3.4.1" + "@typescript-eslint/types" "7.18.0" + eslint-visitor-keys "^3.4.3" "@typescript-eslint/visitor-keys@8.60.1": version "8.60.1" @@ -4707,6 +5603,14 @@ "@webassemblyjs/ast" "1.14.1" "@xtuc/long" "4.2.2" +"@xstate/react@^3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@xstate/react/-/react-3.2.2.tgz#ddf0f9d75e2c19375b1e1b7335e72cb99762aed8" + integrity sha512-feghXWLedyq8JeL13yda3XnHPZKwYDN5HPBLykpLeuNpr9178tQd2/3d0NrH6gSd0sG5mLuLeuD+ck830fgzLQ== + dependencies: + use-isomorphic-layout-effect "^1.1.2" + use-sync-external-store "^1.0.0" + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -4784,18 +5688,6 @@ agent-base@6: dependencies: debug "4" -address@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/address/-/address-2.0.3.tgz#e910900615db3d8a20c040d4c710631062fc4ba8" - integrity sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - ajv-formats@2.1.1, ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -4925,9 +5817,9 @@ ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== ansis@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansis/-/ansis-4.3.1.tgz#2815c1ef490adaf0d612ae3a699e90cbcf70a917" - integrity sha512-BJ8/l4R5LRE7hW9WdSuGYrLSHi2ynxeFpDFbH0K/CgNeY/tyhk+vO6TYxXC5r5CpUhNVX310xzPsN/H9lCdfOA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansis/-/ansis-4.3.0.tgz#f3cadf6fe3a534d9f44cf6c02ad78f7356611d48" + integrity sha512-44mvgtPvohuU/70DdY5Oz2AIrLJ9k6/5x4KmoSvPwO+5Moijo0+N9D0fKbbYZQWP1hNm5CpOf+E01jhxG/r8xg== anymatch@^3.1.3, anymatch@~3.1.2: version "3.1.3" @@ -4969,6 +5861,13 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +aria-hidden@^1.2.4: + version "1.2.6" + resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.6.tgz#73051c9b088114c795b1ea414e9c0fff874ffc1a" + integrity sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA== + dependencies: + tslib "^2.0.0" + aria-query@5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" @@ -5156,6 +6055,20 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" +aws-amplify@^6.17.0: + version "6.17.0" + resolved "https://registry.yarnpkg.com/aws-amplify/-/aws-amplify-6.17.0.tgz#f37c0ce980c699c210d2c3007782b10a75b814c0" + integrity sha512-608h5BZvhbKGTN3sJwMoL6CJ8GPZWfgElywvuPr07IhxWklR6Y3BPwOgM4XC4F1sIsjxRdwh5BBHaSbn1BDUxQ== + dependencies: + "@aws-amplify/analytics" "7.0.94" + "@aws-amplify/api" "6.3.26" + "@aws-amplify/auth" "6.20.0" + "@aws-amplify/core" "6.16.3" + "@aws-amplify/datastore" "5.1.7" + "@aws-amplify/notifications" "2.0.94" + "@aws-amplify/storage" "6.15.0" + tslib "^2.5.0" + aws-sdk-client-mock@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/aws-sdk-client-mock/-/aws-sdk-client-mock-4.1.0.tgz#ae1950b2277f8e65f9a039975d79ff9fffab39e3" @@ -5176,9 +6089,9 @@ aws4@^1.8.0: integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== axe-core@^4.10.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.12.0.tgz#16dc230cc0a8a2732e723ce76a0395df9ba7a788" - integrity sha512-FTavr/7Ba0IptwGOPxnQvdyW2tAsdLBMTBXz7rKH6xJ2skpyxpBxyHkDdBs4lf69yRqYpkqCdfhnwS8YULGOmg== + version "4.11.4" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.11.4.tgz#5b535e381ff1e61ffdd615e5483d16186d3b46a5" + integrity sha512-KunSNx+TVpkAw/6ULfhnx+HWRecjqZGTOyquAoWHYLRSdK1tB5Ihce1ZW+UY3fj33bYAFWPu7W/GRSmmrCGuxA== axios@1.13.6: version "1.13.6" @@ -5199,9 +6112,9 @@ axios@1.16.0: proxy-from-env "^2.1.0" axios@^1.5.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.17.0.tgz#ae5a1164a4f719942cd73c67e6a3f62d3ccb8f2b" - integrity sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw== + version "1.16.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.16.1.tgz#517e29291d19d6e8cf919ff264f4fe157261ba12" + integrity sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A== dependencies: follow-redirects "^1.16.0" form-data "^4.0.5" @@ -5407,9 +6320,9 @@ base64-js@1.5.1, base64-js@^1.0.2, base64-js@^1.3.1: integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== baseline-browser-mapping@^2.10.12: - version "2.10.33" - resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.33.tgz#27c299b096404978831958d429f48390424c4f9b" - integrity sha512-bA6+tcSLpz2tIEdDXZPpPTIuxBcC4+w6SieaYyfigIa4h8GlFxbA17v22Vx3JUtuZQj9SgOsnbK+aTBzyDyEuw== + version "2.10.32" + resolved "https://registry.yarnpkg.com/baseline-browser-mapping/-/baseline-browser-mapping-2.10.32.tgz#b6b553a4285fdd606327a617de36a5351e3aaa64" + integrity sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg== basic-auth@^2.0.1: version "2.0.1" @@ -5576,6 +6489,11 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + buffer-equal-constant-time@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -5676,7 +6594,7 @@ callsites@^3.0.0, callsites@^3.1.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.3.1: +camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== @@ -5876,6 +6794,15 @@ cliui@8.0.1, cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + clone@1.0.4, clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" @@ -6180,6 +7107,11 @@ cosmiconfig@^9.0.0: js-yaml "^4.1.0" parse-json "^5.2.0" +crc-32@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -6333,15 +7265,15 @@ csso@^5.0.5: dependencies: css-tree "~2.2.0" -csstype@^3.2.2: +csstype@^3.1.1, csstype@^3.2.2: version "3.2.3" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.2.3.tgz#ec48c0f3e993e50648c86da559e2610995cf989a" integrity sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== cypress@^15.15.0: - version "15.16.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.16.0.tgz#482f77e6f85aee98b94a5ad844d36f69dc212c28" - integrity sha512-fy0M0c9xDLEp4v9y7LLKFeAQhIdDsobxDSKpD3JcZpqQefjy9TSzEyVV3HA0zu7hUi0bGHlSYlI7ASub8wgR9A== + version "15.15.0" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-15.15.0.tgz#5f9d9e8304636f7add7cb296130c0262960648bc" + integrity sha512-N8qBv3AUYn6xfIG73O5O58kTClUBSZ7a3C08IQFkSGTUdEauJ3BqwTFb/f9KPZgadftoZjllC0XSwD7xNNolbA== dependencies: "@cypress/request" "^4.0.0" "@cypress/xvfb" "^1.2.4" @@ -6363,6 +7295,7 @@ cypress@^15.15.0: eventemitter2 "6.4.7" execa "4.1.0" executable "^4.1.1" + extract-zip "2.0.1" fs-extra "^9.1.0" hasha "5.2.2" is-installed-globally "~0.4.0" @@ -6381,7 +7314,7 @@ cypress@^15.15.0: tree-kill "1.2.2" tslib "1.14.1" untildify "^4.0.0" - yauzl "^3.3.1" + yauzl "^2.10.0" damerau-levenshtein@^1.0.8: version "1.0.8" @@ -6456,6 +7389,11 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" +decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + decimal.js@^10.6.0: version "10.6.0" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.6.0.tgz#e649a43e3ab953a72192ff5983865e509f37ed9a" @@ -6566,6 +7504,11 @@ detect-newline@^3.1.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" @@ -6593,6 +7536,11 @@ diff@^5.2.0: resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.2.tgz#0a4742797281d09cfa699b79ea32d27723623bad" integrity sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A== +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -6736,9 +7684,9 @@ ejs@5.0.1: integrity sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A== electron-to-chromium@^1.5.328: - version "1.5.367" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.367.tgz#ceae3cb3f2939d03a4f0f9b70caf93b7400fa705" - integrity sha512-4Mk/mrynCNQ+atY40D3UpmhLWB6AHMbYMlIrPhHcMF6x0L7O0b052FCAsxw1LlaR++UFuNg3D/A6XCuGDa0guQ== + version "1.5.361" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.361.tgz#b993bc7b34ea83f348aa1787a608ecf12e39b909" + integrity sha512-Q6Hts7N9FnJc5LeGRINFvLhCI9xZmNtTDe5ZbcVezQz7cU4a8Aua3GH1b8J2XY8Al9PF+OCwYqhgsOOheMdvkA== emittery@^0.13.1: version "0.13.1" @@ -6765,6 +7713,11 @@ emojis-list@^3.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + encodeurl@^2.0.0, encodeurl@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" @@ -6785,9 +7738,9 @@ end-of-stream@1.4.5, end-of-stream@^1.1.0, end-of-stream@^1.4.1: once "^1.4.0" enhanced-resolve@^5.0.0, enhanced-resolve@^5.17.1, enhanced-resolve@^5.22.0, enhanced-resolve@^5.7.0: - version "5.22.2" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.22.2.tgz#b8ff1a9207130b9f5497031ec68d9acb040656e9" - integrity sha512-0rxICaFZ7NQho/sHely2bvOPRP0Eu2B0NZ9zM54YvRvWMn7jfz3DmnOZDR9LlXDdDcqntAVc6Hfy4gr/tdH/Ag== + version "5.22.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.22.0.tgz#43c5caad657c6fce58fc6142e5ca6fa8528ed460" + integrity sha512-xYcDWrpELkFzz9SpZ3PlI6Eu6eD93Yf0WLDRxikGhWJ3MAir2SNZTIVCVZqZ/NUyx8AdMc2gT9C0gPiw18kG+A== dependencies: graceful-fs "^4.2.4" tapable "^2.3.3" @@ -7043,9 +7996,9 @@ eslint-import-resolver-node@^0.3.9: resolve "^2.0.0-next.6" eslint-module-utils@^2.12.1: - version "2.13.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.13.0.tgz#882beaf64927567358816bf4dc0f050fd52e0fb9" - integrity sha512-bLohSkT6469rRs8czj0tLTD8vaeIS/whvPRJVjDr7IuoTT1k5DYDERlNycjDj/HkOlvQdYurmfZ/g3fG5bgeLQ== + version "2.12.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz#f76d3220bfb83c057651359295ab5854eaad75ff" + integrity sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw== dependencies: debug "^3.2.7" @@ -7441,6 +8394,17 @@ external-editor@^3.0.3, external-editor@^3.1.0: iconv-lite "^0.4.24" tmp "^0.0.33" +extract-zip@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -7497,7 +8461,7 @@ fast-uri@^3.0.1: resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-3.1.2.tgz#8af3d4fc9d3e71b11572cc2673b514a7d1a8c8ec" integrity sha512-rVjf7ArG3LTk+FS6Yw81V1DLuZl1bRbNrev6Tmd/9RaroeeRRJhAt7jg/6YFxbvAQXUCavSoZhPPj6oOx+5KjQ== -fast-xml-builder@^1.1.7: +fast-xml-builder@^1.1.7, fast-xml-builder@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/fast-xml-builder/-/fast-xml-builder-1.2.0.tgz#abd2363145a7625d9789ad96da375fabe3cff28c" integrity sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q== @@ -7515,6 +8479,17 @@ fast-xml-parser@5.7.3: path-expression-matcher "^1.5.0" strnum "^2.2.3" +fast-xml-parser@^5.7.2: + version "5.8.0" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.8.0.tgz#64d71f0f8d4bf23621dffd762aef7e98c1884fc1" + integrity sha512-6bIM7fsJxeo3uXv7OncQYsBAMPJ7V16Slahl/6M98C/i2q+vB1+4a0MtrvYwDFEUrwDSbAmeLDRXsOBwrL7yAg== + dependencies: + "@nodable/entities" "^2.1.0" + fast-xml-builder "^1.2.0" + path-expression-matcher "^1.5.0" + strnum "^2.3.0" + xml-naming "^0.1.0" + fastq@^1.6.0: version "1.20.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.20.1.tgz#ca750a10dc925bc8b18839fd203e3ef4b3ced675" @@ -7536,6 +8511,13 @@ fb-watchman@^2.0.2: dependencies: bser "2.1.1" +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" + fdir@^6.5.0: version "6.5.0" resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" @@ -7855,7 +8837,7 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@2.0.5, get-caller-file@^2.0.5: +get-caller-file@2.0.5, get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -7886,6 +8868,11 @@ get-intrinsic@1.3.0, get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^ hasown "^2.0.2" math-intrinsics "^1.1.0" +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -7899,7 +8886,7 @@ get-proto@1.0.1, get-proto@^1.0.0, get-proto@^1.0.1: dunder-proto "^1.0.1" es-object-atoms "^1.0.0" -get-stream@^5.0.0: +get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== @@ -8085,6 +9072,11 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== +graphql@15.8.0: + version "15.8.0" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" + integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== + handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -8164,9 +9156,9 @@ hasown@2.0.2: function-bind "^1.1.2" hasown@^2.0.2, hasown@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.4.tgz#8c62d8cb90beb2aad5d0a5b67581ad9854c3f003" - integrity sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A== + version "2.0.3" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.3.tgz#5e5c2b15b60370a4c7930c383dfb76bf17bc403c" + integrity sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg== dependencies: function-bind "^1.1.2" @@ -8321,10 +9313,10 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -husky@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +husky@^9.1.7: + version "9.1.7" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.7.tgz#d46a38035d101b46a70456a850ff4201344c0b2d" + integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== hyperdyperid@^1.2.0: version "1.2.0" @@ -8357,6 +9349,11 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== +idb@5.0.6: + version "5.0.6" + resolved "https://registry.yarnpkg.com/idb/-/idb-5.0.6.tgz#8c94624f5a8a026abe3bef3c7166a5febd1cadc1" + integrity sha512-/PFvOWPzRcEPmlDt5jEvzVZVs0wyd/EvGvkDIcbBpGuMMLQKrTPG0TxvE2UJtgZtCQCmOtM2QD7yQJBVEjKGOw== + identity-obj-proxy@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" @@ -8374,7 +9371,7 @@ ignore@7.0.5, ignore@^7.0.5: resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg== -ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.2.0, ignore@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== @@ -8384,10 +9381,15 @@ image-size@~0.5.0: resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== +immer@9.0.6: + version "9.0.6" + resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.6.tgz#7a96bf2674d06c8143e327cbf73539388ddf1a73" + integrity sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ== + immutable@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.6.tgz#21639bc80f9a0713e141a5f5a154ef9fdabf36dd" - integrity sha512-q1swsS8K7L8usSHuOqF2TAoCCkonYz0SG38wLAggaa4Wml70zixIvt2ql4coQ2C2B3hTjltJry4r6bULwgAXLQ== + version "5.1.5" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-5.1.5.tgz#93ee4db5c2a9ab42a4a783069f3c5d8847d40165" + integrity sha512-t7xcm2siw+hlUM68I+UEOK+z84RzmN59as9DZ7P1l0994DKUWV7UXBMQZVxaoMSRQ+PBZbHCOoBt7a2wxOMt+A== import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.1" @@ -9313,6 +10315,11 @@ js-cookie@^2.2.1: resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ== +js-cookie@^3.0.5: + version "3.0.7" + resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.7.tgz#0a53abfc459c8e89c85d7a38eb6cb68714965b8c" + integrity sha512-z/wZZgDrkNV1eA0ULjM/F9/50Ya8fbzgKneSpoPsXSGd0KnpdtHfOZWK+GcwLk+EZbS4F9RBhU+K2RgzuDaItw== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -9333,7 +10340,14 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.1.0, js-yaml@^4.1.1: +js-yaml@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" + integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA== + dependencies: + argparse "^2.0.1" + +js-yaml@^4.1.1: version "4.2.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.2.0.tgz#2bd9e85682dd91bd469afb809d816043b3d49524" integrity sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw== @@ -9547,12 +10561,12 @@ language-tags@^1.0.9: language-subtag-registry "^0.3.20" launch-editor@^2.6.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.14.1.tgz#f7e0da3f58aaea03fea01074d840b5f739ed7ddc" - integrity sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA== + version "2.13.2" + resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.13.2.tgz#41d51baaf8afb393224b89bd2bcb4e02f2306405" + integrity sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg== dependencies: picocolors "^1.1.1" - shell-quote "^1.8.4" + shell-quote "^1.8.3" less-loader@^12.2.0: version "12.3.3" @@ -9590,9 +10604,9 @@ levn@^0.4.1: type-check "~0.4.0" libphonenumber-js@^1.11.1: - version "1.13.5" - resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.13.5.tgz#89a8d1130faf7982ed8b7db810f698a075cda758" - integrity sha512-7/kRezHmQlMfO6pmvt34orO/g3j1C47k8FCBXFgj/mklTLwQdBca1LkhDK6RM8UyM6JqHFAIikMdkKkyfQy39A== + version "1.13.3" + resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.13.3.tgz#943893d41c037b7af11691e8b9d2463a3a254232" + integrity sha512-xMkdAMqcyG7iN2WZZmGIfWbYxW4orRkny+0/AXIbwL0xll2zkDX0Vzo/BXFa6+7mh2UvJl9MbcTtHk0YXkFtBA== license-webpack-plugin@^4.0.2: version "4.0.2" @@ -9760,7 +10774,7 @@ lodash@4.17.21: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -lodash@4.18.1, lodash@^4.17.21, lodash@^4.17.23: +lodash@4.18.1, lodash@^4.17.21, lodash@^4.17.23, lodash@^4.18.1: version "4.18.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c" integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q== @@ -9816,9 +10830,9 @@ lru-cache@^10.2.0: integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== lru-cache@^11.0.1, lru-cache@^11.3.5: - version "11.5.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.5.1.tgz#f3daa3540847b9737ebc02499ddb36765e54db4a" - integrity sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A== + version "11.5.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.5.0.tgz#14117229fd25bc9c67936e32de90ca047488c97a" + integrity sha512-5YgH9UJd7wVb9hIouI2adWpgqrrICkt070Dnj8EUY1+B4B2P9eRLPAkAAo6NICA7CEhOIeBHl46u9zSNpNu7zA== lru-cache@^5.1.1: version "5.1.1" @@ -9938,18 +10952,18 @@ memfs@^3.4.1: fs-monkey "^1.0.4" memfs@^4.43.1: - version "4.57.6" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.57.6.tgz#ec7c83388eb6822ff1046a576292743afbd22fa5" - integrity sha512-WQK+DGjKCnPdpSyJUXphz+COF2uEhhsxQ3VIWBSbzpbbXuch3h4FePMqXrXGdLjsTgo4JFzBFsP6AWd9pVazGw== - dependencies: - "@jsonjoy.com/fs-core" "4.57.6" - "@jsonjoy.com/fs-fsa" "4.57.6" - "@jsonjoy.com/fs-node" "4.57.6" - "@jsonjoy.com/fs-node-builtins" "4.57.6" - "@jsonjoy.com/fs-node-to-fsa" "4.57.6" - "@jsonjoy.com/fs-node-utils" "4.57.6" - "@jsonjoy.com/fs-print" "4.57.6" - "@jsonjoy.com/fs-snapshot" "4.57.6" + version "4.57.2" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.57.2.tgz#5f74e977c9a14681ea10d427b3ce5d7db5f817e7" + integrity sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ== + dependencies: + "@jsonjoy.com/fs-core" "4.57.2" + "@jsonjoy.com/fs-fsa" "4.57.2" + "@jsonjoy.com/fs-node" "4.57.2" + "@jsonjoy.com/fs-node-builtins" "4.57.2" + "@jsonjoy.com/fs-node-to-fsa" "4.57.2" + "@jsonjoy.com/fs-node-utils" "4.57.2" + "@jsonjoy.com/fs-print" "4.57.2" + "@jsonjoy.com/fs-snapshot" "4.57.2" "@jsonjoy.com/json-pack" "^1.11.0" "@jsonjoy.com/util" "^1.9.0" glob-to-regex.js "^1.0.1" @@ -10257,9 +11271,9 @@ node-machine-id@1.1.12: integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ== node-releases@^2.0.36: - version "2.0.47" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.47.tgz#521bb2786da8eb140b748841c0b3b3a75334ffc4" - integrity sha512-Uzmd6LXpouKo8EUK68IjH4+E01w/hXyV3R3g/geCJo+rXLNfh1xucB+LOzYEOQPSiUK3h/xZf0cQGcSsmyL2Og== + version "2.0.46" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.46.tgz#d188a129a83f5e03a101aacb58f260f2ee8faaa1" + integrity sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ== node-schedule@2.1.1: version "2.1.1" @@ -10271,9 +11285,9 @@ node-schedule@2.1.1: sorted-array-functions "^1.3.0" nodemailer@^8.0.7: - version "8.0.10" - resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-8.0.10.tgz#009d4deaa06f54b6bd7ddc6cac1bf78e3bcb0bf2" - integrity sha512-BLFuSth7QtHOkBzyqTehWWyub0NTRDuK2Q2SQfnGLsrJnzyU+Yeh4WpV1eZGuARFj1xQJHIdnTuJZLP+b9R1GQ== + version "8.0.9" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-8.0.9.tgz#9ea0bdb84b04b1ee65d83b15aa7d62761e9b5677" + integrity sha512-5ofa7BUN8+C+Hckh5V2GjeeOGRQBx0CJQA6KxrvuZfC8iU4/q7sLn8XrtEEhJkjV6HdyIiQs7Bba6bTao8JhkA== normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" @@ -10970,6 +11984,11 @@ pluralize@8.0.0: resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + portfinder@^1.0.28: version "1.0.38" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.38.tgz#e4fb3a2d888b20d2977da050e48ab5e1f57a185e" @@ -10978,7 +11997,7 @@ portfinder@^1.0.28: async "^3.2.6" debug "^4.3.6" -possible-typed-array-names@^1.0.0, possible-typed-array-names@^1.1.0: +possible-typed-array-names@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== @@ -11408,13 +12427,30 @@ pvutils@^1.1.3, pvutils@^1.1.5: resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.5.tgz#84b0dea4a5d670249aa9800511804ee0b7c2809c" integrity sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA== -qs@^6.14.0, qs@^6.14.1, qs@^6.15.2, qs@^6.4.0, qs@~6.15.1: +qrcode@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b" + integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@^6.14.0, qs@^6.14.1, qs@^6.4.0, qs@~6.15.1: version "6.15.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.15.2.tgz#fd55426d710403ddccc45e0f9eab16db7727ece9" integrity sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw== dependencies: side-channel "^1.1.0" +qs@~6.14.1: + version "6.14.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.2.tgz#b5634cf9d9ad9898e31fba3504e866e8efb6798c" + integrity sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q== + dependencies: + side-channel "^1.1.0" + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -11453,15 +12489,21 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.2" -"react-is-18@npm:react-is@^18.3.1": +react-hook-form@7.53.2: + version "7.53.2" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.53.2.tgz#6fa37ae27330af81089baadd7f322cc987b8e2ac" + integrity sha512-YVel6fW5sOeedd1524pltpHX+jgU2u3DSDtXEaBORNdqiNrsX/nUI/iGXONegttg0mJVnfrIkiV0cmTU6Oo2xw== + +"react-is-18@npm:react-is@^18.3.1", react-is@^18.0.0: + name react-is-18 version "18.3.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== "react-is-19@npm:react-is@^19.2.5": - version "19.2.7" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.2.7.tgz#57668ee86a78574a542b0a539455212b2c086df2" - integrity sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A== + version "19.2.6" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.2.6.tgz#aeee6159b159eb7f520d672cffcc69e7052d288f" + integrity sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw== react-is@^16.13.1: version "16.13.1" @@ -11473,31 +12515,53 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-is@^18.0.0: - version "18.3.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e" - integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== - react-refresh@^0.17.0: version "0.17.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.17.0.tgz#b7e579c3657f23d04eccbe4ad2e58a8ed51e7e53" integrity sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ== +react-remove-scroll-bar@^2.3.7: + version "2.3.8" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz#99c20f908ee467b385b68a3469b4a3e750012223" + integrity sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q== + dependencies: + react-style-singleton "^2.2.2" + tslib "^2.0.0" + +react-remove-scroll@^2.6.3: + version "2.7.2" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.7.2.tgz#6442da56791117661978ae99cd29be9026fecca0" + integrity sha512-Iqb9NjCCTt6Hf+vOdNIZGdTiH1QSqr27H/Ek9sv/a97gfueI/5h1s3yRi1nngzMUaOOToin5dI1dXKdXiF+u0Q== + dependencies: + react-remove-scroll-bar "^2.3.7" + react-style-singleton "^2.2.3" + tslib "^2.1.0" + use-callback-ref "^1.3.3" + use-sidecar "^1.1.3" + react-router-dom@^7.15.0: - version "7.17.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.17.0.tgz#e77527b4b7862f7b47ff26dd5b9315fb897b82a7" - integrity sha512-fyU2yjGups/hE6Xz0I5ZYbVL8Gx29eCjgpHaRaTaVU+OOAdfRX05KsvyRm0GO8YQwOkhpU3MurW1jyMUJn+zSw== + version "7.15.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-7.15.1.tgz#cf5aee65a44e407a17a2e9718d5350482b1e281f" + integrity sha512-AzF62gjY6U9rkMq4RfP/r2EVtQ7DMfNMjyOp/flLTCrtRylLiK4wT4pSq6O8rOXZ2eXdZYJPEYe+ifomiv+Igg== dependencies: - react-router "7.17.0" + react-router "7.15.1" -react-router@7.17.0: - version "7.17.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.17.0.tgz#88bbe817c6e37ab36faf140623b5d4678bf81e41" - integrity sha512-FDELK7rTMlCHO5+reyXsPlmfr7N1F91lPHsWYfMEGQm/KQ+F4JFM8jGoeQDmDvdTs93Fw9aSilH+uKRb4/jXvQ== +react-router@7.15.1: + version "7.15.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-7.15.1.tgz#0a12fece05887a47c54970480745385c793bcaac" + integrity sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A== dependencies: cookie "^1.0.1" set-cookie-parser "^2.6.0" +react-style-singleton@^2.2.2, react-style-singleton@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388" + integrity sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ== + dependencies: + get-nonce "^1.0.0" + tslib "^2.0.0" + react@^18.2.0: version "18.3.1" resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891" @@ -11556,7 +12620,7 @@ reflect-metadata@^0.2.2: resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.2.2.tgz#400c845b6cba87a21f2c65c4aeb158f4fa4d9c5b" integrity sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q== -reflect.getprototypeof@^1.0.10, reflect.getprototypeof@^1.0.9: +reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9" integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw== @@ -11640,6 +12704,11 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -12116,7 +13185,12 @@ semver@^6.0.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.2, semver@^7.6.3, semver@^7.7.2, semver@^7.7.3, semver@^7.8.0: +semver@^7.3.4, semver@^7.3.5, semver@^7.5.3, semver@^7.5.4, semver@^7.6.2, semver@^7.6.3, semver@^7.7.2, semver@^7.8.0: + version "7.8.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.8.1.tgz#bf4970b5e70fda0686363cc18bfe8805d5ed957e" + integrity sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg== + +semver@^7.6.0, semver@^7.7.3: version "7.8.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.8.2.tgz#194bd65723a28cf82542d2bf176b91c26b343be1" integrity sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ== @@ -12195,6 +13269,11 @@ serve-static@~1.16.2: parseurl "~1.3.3" send "~0.19.1" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + set-cookie-parser@^2.6.0: version "2.7.2" resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz#ccd08673a9ae5d2e44ea2a2de25089e67c7edf68" @@ -12257,7 +13336,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.8.4: +shell-quote@^1.8.3: version "1.8.4" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.4.tgz#2edd9a4dcefc96649e2e2cb12f637b1f1d92a190" integrity sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ== @@ -12558,16 +13637,7 @@ string-length@^4.0.2: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@4.2.3, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@4.2.3, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -12676,14 +13746,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -12724,7 +13787,7 @@ strip-literal@^1.0.1: dependencies: acorn "^8.10.0" -strnum@^2.2.3: +strnum@^2.2.3, strnum@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.3.0.tgz#81bfbfef53db8c3217ea62a98c026886ec4a2761" integrity sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q== @@ -12827,16 +13890,16 @@ sync-message-port@^1.0.0: integrity sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg== synckit@^0.11.8: - version "0.11.13" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.13.tgz#062a5ea57d81befc35892f8254de5c567e97c80a" - integrity sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg== + version "0.11.12" + resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.11.12.tgz#abe74124264fbc00a48011b0d98bdc1cffb64a7b" + integrity sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ== dependencies: - "@pkgr/core" "^0.3.6" + "@pkgr/core" "^0.2.9" systeminformation@^5.31.1: - version "5.31.7" - resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.7.tgz#32009a8790af048299ea46d01e9f306adc1abb45" - integrity sha512-/8NC53e5nP9nmhn42/ncdOkyJnOoue/Vy+tJOyUGd1Yv66G069wK4rrziwhrqDETgk78CudTQupw5z19S5uoZw== + version "5.31.6" + resolved "https://registry.yarnpkg.com/systeminformation/-/systeminformation-5.31.6.tgz#2da4979a7262974fd068a3a306ded30aed6127c0" + integrity sha512-Uv2b2uGGM6ns+26czgW2cYRabYdnswM0ddSOOlryHOaelzsmDSet1iM/NT7VOYxW8x/BW+HkY+b1Ve2pLTSGSA== tapable@2.3.0: version "2.3.0" @@ -12877,9 +13940,9 @@ teex@^1.0.1: streamx "^2.12.5" terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.3, terser-webpack-plugin@^5.5.0: - version "5.6.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.6.1.tgz#47bc41bd8b8fab8383b62ec763b7394829097e7b" - integrity sha512-201R5j+sJpK8nFWwKVyNfZot8FaJbLZDq5evriVzbV1wDtSXDjRUDRfJzHpAaxFDMEhsZL1QkeqM61wgsS3KaQ== + version "5.6.0" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.6.0.tgz#8e7caad248183ab9e91ff08a83b0fc9f0439c3c3" + integrity sha512-Eum+5ajkaOhf5KbM26osvv21kLD7BaGqQ1UA4Ami4arYwylmGUQTgHFpHDdmJod1q4QXa66p0to/FBKID+J1vA== dependencies: "@jridgewell/trace-mapping" "^0.3.25" jest-worker "^27.4.5" @@ -12970,10 +14033,10 @@ tldts-core@^6.1.86: resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-6.1.86.tgz#a93e6ed9d505cb54c542ce43feb14c73913265d8" integrity sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA== -tldts-core@^7.4.2: - version "7.4.2" - resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.4.2.tgz#3aff536b3783a4592f8692b2d38458f620a71316" - integrity sha512-nwEyF4vl4RSJjwSjBUmOSxc3BFPoIFdlRthJ6e+5v9P3bHNsoD06UjuqMUspqp7vsEZ1beaHi1km+optiE17yA== +tldts-core@^7.4.0: + version "7.4.0" + resolved "https://registry.yarnpkg.com/tldts-core/-/tldts-core-7.4.0.tgz#a169874d111f2b56f8bcaba1971de312feb586b8" + integrity sha512-/mb9kRld+x1sIMXxWNOAp5m6C+D4GrAORWlJkOJ5dElvxdN1eutz/o7qHLp9gFvDF4Y3/L2xeScoxz6AbEo8rQ== tldts@^6.1.32: version "6.1.86" @@ -12983,13 +14046,13 @@ tldts@^6.1.32: tldts-core "^6.1.86" tldts@^7.0.5: - version "7.4.2" - resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.4.2.tgz#e27863cd1910c7f7a4f4b9f14e5903113ed20066" - integrity sha512-kCwffuaH8ntKtygnWe1b4BJKWiCUH30n5KfoTr6IchcXOwR7chAOFJxFrH3vjANafUYrIA4a7SDL+nn7SiR4Sw== + version "7.4.0" + resolved "https://registry.yarnpkg.com/tldts/-/tldts-7.4.0.tgz#b9debfc700271b6979217a1452da0cc69ca6e6ff" + integrity sha512-yHBe+zVfzNZ3QfTPW/Z6KK1G2t340gFjMHqI/4KKSt/abzYydzuCnpqdaF5gCCABby+9Yfbj59oR5F2Fd5CBzg== dependencies: - tldts-core "^7.4.2" + tldts-core "^7.4.0" -tmp@0.2.6: +tmp@0.2.6, tmp@~0.2.4: version "0.2.6" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.6.tgz#0dfac10fd09a9319288eb0e8f0ed524604e183b4" integrity sha512-5sJPdPjfI5Kx+qbrDesxkglRBxW//g7hCsqspEjwkewGvBMGIKMOTKzLt1hFVJzyadba3lDUN20O9qhvbQUSTA== @@ -13001,11 +14064,6 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@~0.2.4: - version "0.2.7" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.7.tgz#26f4db11d1601ce8012dcb8a798ece1c06a99059" - integrity sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw== - tmpl@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" @@ -13082,7 +14140,7 @@ tree-kill@1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -ts-api-utils@^1.0.1: +ts-api-utils@^1.0.1, ts-api-utils@^1.3.0: version "1.4.3" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw== @@ -13108,9 +14166,9 @@ ts-jest@^29.1.0: yargs-parser "^21.1.1" ts-loader@^9.3.1: - version "9.6.0" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.6.0.tgz#50dfdea9c63ff9c5f4e89b04c1e3ce0d5d2946a1" - integrity sha512-dsJO0S+T7grTDWTc4a0nTygXGjKncVUpx8Y+af8EvI/D5WgTJby5UEk5eoMCB9EcLQmnvitqh99MqtjtHgAwFQ== + version "9.5.7" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.7.tgz#582663e853646e18506cd5cc79feb354952731c0" + integrity sha512-/ZNrKgA3K3PtpMYOC71EeMWIloGw3IYEa5/t1cyz2r5/PyUwTXGzYJvcD3kfUvmhlfpz1rhV8B2O6IVTQ0avsg== dependencies: chalk "^4.1.0" enhanced-resolve "^5.0.0" @@ -13171,7 +14229,7 @@ tslib@1.14.1, tslib@^1.11.1, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@2.8.1, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.6.2, tslib@^2.8.1: +tslib@2.8.1, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.5.2, tslib@^2.6.2, tslib@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== @@ -13283,16 +14341,16 @@ typed-array-byte-offset@^1.0.4: reflect.getprototypeof "^1.0.9" typed-array-length@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.8.tgz#0b70e982c9e9dafe2def6d6458ff4b3f2d2b6d70" - integrity sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g== + version "1.0.7" + resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d" + integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg== dependencies: - call-bind "^1.0.9" - for-each "^0.3.5" - gopd "^1.2.0" - is-typed-array "^1.1.15" - possible-typed-array-names "^1.1.0" - reflect.getprototypeof "^1.0.10" + call-bind "^1.0.7" + for-each "^0.3.3" + gopd "^1.0.1" + is-typed-array "^1.1.13" + possible-typed-array-names "^1.0.0" + reflect.getprototypeof "^1.0.6" typed-assert@^1.0.8: version "1.0.9" @@ -13357,6 +14415,11 @@ uint8array-extras@^1.4.0: resolved "https://registry.yarnpkg.com/uint8array-extras/-/uint8array-extras-1.5.0.tgz#10d2a85213de3ada304fea1c454f635c73839e86" integrity sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A== +ulid@^2.3.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/ulid/-/ulid-2.4.0.tgz#9d9ee22e63f4390ee1bcd9ad09fca39d8ae0afed" + integrity sha512-fIRiVTJNcSRmXKPZtGzFQv9WRrZ3M9eoptl/teFJvjOzmpU+/K/JH6HZ8deBfb5vMEpicJcLn7JmvdknlMq7Zg== + unbox-primitive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" @@ -13383,9 +14446,9 @@ undici@7.24.7: integrity sha512-H/nlJ/h0ggGC+uRL3ovD+G0i4bqhvsDOpbDv7At5eFLlj2b41L8QliGbnl2H7SnDiYhENphh1tQFJZf+MyfLsQ== undici@^7.25.0: - version "7.27.1" - resolved "https://registry.yarnpkg.com/undici/-/undici-7.27.1.tgz#0b08b7e83e4f6617ff25c1c63d103a90f2b8348e" - integrity sha512-UDdpiex+mzigiyrXrGbiUaF4HzTNhKbh2vRNFaTMzcqmLIPrZxaCtwo/1TMSuWoM1Xz3WiTo9KdgI3kRqYzJGg== + version "7.26.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-7.26.0.tgz#d413a2b5752e3e71e003bb268dec32b9a0ad0ce7" + integrity sha512-3O9Tf67pGhgOv9jM35AbhkXAKi13f3oy3aE4CSgr+TckGeY+/iu97ZXN+J7DpHPzLbVApFd1IFhcnBjREYXYcg== unfetch@^4.2.0: version "4.2.0" @@ -13492,6 +14555,31 @@ url-join@^4.0.1: resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== +use-callback-ref@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.3.tgz#98d9fab067075841c5b2c6852090d5d0feabe2bf" + integrity sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg== + dependencies: + tslib "^2.0.0" + +use-isomorphic-layout-effect@^1.1.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.1.tgz#2f11a525628f56424521c748feabc2ffcc962fce" + integrity sha512-tpZZ+EX0gaghDAiFR37hj5MgY6ZN55kLiPkJsKxBMZ6GZdOSPJXiOzPM984oPYZ5AnehYx5WQp1+ME8I/P/pRA== + +use-sidecar@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.3.tgz#10e7fd897d130b896e2c546c63a5e8233d00efdb" + integrity sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + +use-sync-external-store@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz#b174bfa65cb2b526732d9f2ac0a408027876f32d" + integrity sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w== + util-deprecate@1.0.2, util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -13502,7 +14590,7 @@ utils-merge@1.0.1, utils-merge@^1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid@^11.1.1: +uuid@^11.0.0, uuid@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-11.1.1.tgz#f6d81d2e1c65d00762e5e29b16c5d2d995e208ad" integrity sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ== @@ -13853,6 +14941,11 @@ which-collection@^1.0.2: is-weakmap "^2.0.2" is-weakset "^2.0.3" +which-module@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== + which-typed-array@^1.1.16, which-typed-array@^1.1.19: version "1.1.21" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.21.tgz#ea7aab68168079646af06b4a36a6f7d7b72e1c0a" @@ -13898,16 +14991,8 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@7.0.0, wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@7.0.0, wrap-ansi@^7.0.0: + name wrap-ansi-cjs version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -13983,6 +15068,11 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xstate@^4.33.6: + version "4.38.3" + resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.38.3.tgz#4e15e7ad3aa0ca1eea2010548a5379966d8f1075" + integrity sha512-SH7nAaaPQx57dx6qvfcIgqKRXIh4L0A1iYEqim4s1u7c9VoCgzZc+63FY90AKU4ZzOC2cfJzTnpO4zK7fCUzzw== + xtend@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" @@ -13993,16 +15083,16 @@ y18n@5.0.8, y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - yaml@2.9.0, yaml@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.9.0.tgz#78274afd93598a1dfdd6130df6a566defcbf9aa4" @@ -14018,6 +15108,14 @@ yargs-parser@21.1.1, yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== +yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs@17.7.2, yargs@^17.7.2: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" @@ -14031,12 +15129,30 @@ yargs@17.7.2, yargs@^17.7.2: y18n "^5.0.5" yargs-parser "^21.1.1" -yauzl@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-3.3.2.tgz#ec30f276da0380406527796a6fb4b2c5461b3929" - integrity sha512-Md9ankxxN23wncAN8s7+Tn3Co52zLUPMtnrLAbVCnfG5d2tKBFfmygYSgXlqFgXObtzIgqkx7aNgDBpso9+4qA== +yargs@^15.3.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: - pend "~1.2.0" + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" + +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" yn@3.1.1: version "3.1.1"