diff --git a/.env.example.json b/.env.example.json index cca41fc..18dcc6a 100644 --- a/.env.example.json +++ b/.env.example.json @@ -8,6 +8,9 @@ "DYNAMO_PORT": 4566, "SECRET_KEY": "shhh", "EXPIRATION": 2, - "TOPIC_ARN": "arn:aws:sns:us-east-1:000000000000:TopicUserService" + "ADMIN_EMAIL": "admin.system@test.com", + "TOPIC_ARN": "arn:aws:sns:us-east-1:000000000000:TopicUserService", + "WATER_MARK_IMG": "watter_mark.png", + "BUCKET_NAME": "test" } } diff --git a/lambdas/src/functions/create-user.ts b/lambdas/src/functions/create-user.ts index d24222b..f25e860 100644 --- a/lambdas/src/functions/create-user.ts +++ b/lambdas/src/functions/create-user.ts @@ -9,7 +9,8 @@ import { UserRepository, User, HttpStatus, - UserPrimitives + UserPrimitives, + SNSTopicService } from '@general'; import { CreateUserDTO } from '@/functions/dtos/create-user.dto'; @@ -30,16 +31,23 @@ const createUser = async ( phone: body.phone, password: body.password, age: body.age, - role: body.role + role: body.role, + avatar: body.avatar || '', + verified: false }); await UserRepository.createOrUpdate(user, true); + const data = GlobalFunctions.getNewParams( + user.toPrimitives(), + ['password'] + ); + + await SNSTopicService.send(JSON.stringify(data)); + return formatJSONResponse(HttpStatus.CREATED, { success: true, - user: GlobalFunctions.getNewParams(user.toPrimitives(), [ - 'password' - ]) + user: data }); } catch (error: DomainError | any) { console.error(error); diff --git a/lambdas/src/functions/dtos/create-user.dto.ts b/lambdas/src/functions/dtos/create-user.dto.ts index 4e750cc..abd03c9 100644 --- a/lambdas/src/functions/dtos/create-user.dto.ts +++ b/lambdas/src/functions/dtos/create-user.dto.ts @@ -31,4 +31,8 @@ export class CreateUserDTO { @IsNumber() age!: number; + + @IsString() + @IsOptional() + avatar?: string; } diff --git a/lambdas/src/functions/dtos/update-user.dto.ts b/lambdas/src/functions/dtos/update-user.dto.ts index 294ff07..2a759d3 100644 --- a/lambdas/src/functions/dtos/update-user.dto.ts +++ b/lambdas/src/functions/dtos/update-user.dto.ts @@ -1,4 +1,11 @@ -import { IsString, IsNumber, IsOptional, MinLength, UserRole } from '@general'; +import { + IsString, + IsNumber, + IsOptional, + MinLength, + UserRole, + IsBoolean +} from '@general'; export class UpdateUserDTO { @IsString() @@ -37,4 +44,12 @@ export class UpdateUserDTO { @IsNumber() @IsOptional() age!: number; + + @IsBoolean() + @IsOptional() + verified!: number; + + @IsString() + @IsOptional() + avatar?: string; } diff --git a/lambdas/src/functions/meta-data-validator.ts b/lambdas/src/functions/meta-data-validator.ts new file mode 100644 index 0000000..344368b --- /dev/null +++ b/lambdas/src/functions/meta-data-validator.ts @@ -0,0 +1,91 @@ +import { Handler, S3Event, Callback, Context } from 'aws-lambda'; +import { S3BucketService, config, Jimp } from '@general'; + +const fs = require('fs'); +const path = require('path'); +const directory = '/tmp/'; + +const metaDataValidator = async ( + event: S3Event, + _context: Context, + callback: Callback +) => { + try { + const originalBucket = event.Records[0].s3.bucket.name; + const key = event.Records[0].s3.object.key; + + // let getObjectResponse = await S3BucketService.get(key, originalBucket); + + // getObjectResponse = await getObjectResponse.transformToString(); // transformToString('base64') + + // let getWatermarkResponse = await S3BucketService.get( + // config.aws.waterMarkImg + // ); + + // getWatermarkResponse = await getWatermarkResponse.transformToString(); + + // const watermarkedImage = applyWatermark( + // getObjectResponse, + // getWatermarkResponse + // ); + + const [image, logo] = await Promise.all([ + Jimp.read(`https://${originalBucket}.s3.amazonaws.com/${key}`), + Jimp.read( + `https://${config.aws.bucket}.s3.amazonaws.com/${config.aws.waterMarkImg}` + ) + ]); + + logo.resize(image.bitmap.width / 10, Jimp.AUTO); + + const xMargin = (image.bitmap.width * 1) / 100; + const yMargin = (image.bitmap.width * 1) / 100; + + const X = image.bitmap.width - logo.bitmap.width - xMargin; + const Y = image.bitmap.height - logo.bitmap.height - yMargin; + + const data = image.composite(logo, X, Y, [ + { + mode: Jimp.BLEND_SCREEN, + opacitySource: 0.1, + opacityDest: 1 + } + ]); + + const uploadKey = `watermarked-${key}`; + + data.write(`${directory}${uploadKey}`); + + const tmpData = fs.readFileSync(`${directory}${uploadKey}`); + + await S3BucketService.send({ filePath: uploadKey, file: tmpData }); + + await tmpCleanup(); + + callback(null, { + success: true, + message: `Object written to ${config.aws.bucket}` + }); + } catch (error: any) { + console.error('Error:', error); + callback(error); + } +}; + +const tmpCleanup = async () => { + fs.readdir(directory, (err: any, files: any[]) => { + return new Promise((resolve, reject) => { + if (err) reject(err); + + for (const file of files) { + const fullPath = path.join(directory, file); + fs.unlink(fullPath, (err: any) => { + if (err) reject(err); + }); + } + resolve(); + }); + }); +}; + +export const handler: Handler = metaDataValidator; diff --git a/lambdas/src/functions/update-user.ts b/lambdas/src/functions/update-user.ts index bd9449a..fe62ad3 100644 --- a/lambdas/src/functions/update-user.ts +++ b/lambdas/src/functions/update-user.ts @@ -37,6 +37,8 @@ const updateUser = async ( password: body?.password, age: body?.age || userExists.getAge(), role: body?.role || userExists.getRole(), + verified: userExists.getVerified(), + avatar: body?.avatar || userExists.getAvatar(), createdAt: (Date.parse(userExists.getCreatedAt())) }); diff --git a/lambdas/src/functions/user-message.ts b/lambdas/src/functions/user-message.ts index 6a0a9e0..ba44e77 100644 --- a/lambdas/src/functions/user-message.ts +++ b/lambdas/src/functions/user-message.ts @@ -1,11 +1,20 @@ import { SQSEvent, Handler } from 'aws-lambda'; -import { DomainError } from '@general'; +import { DomainError, SESEmailService, UserPrimitives } from '@general'; const notification = async (event: SQSEvent): Promise => { try { for (const record of event.Records) { - const messageBody = record.body; - console.info(`Received message from SQS: ${messageBody}`); + const body = JSON.parse(record.body); + + console.info(`Received message from SQS: ${body.Message}`); + + const user: UserPrimitives = JSON.parse(body.Message); + + await SESEmailService.send({ + destination: user.email, + message: 'Should validate your email', + subject: 'User-Service Email-Validation' + }); } } catch (error: DomainError | any) { console.error(error); diff --git a/layers/general/package.json b/layers/general/package.json index 16ed5ff..f82b754 100644 --- a/layers/general/package.json +++ b/layers/general/package.json @@ -17,6 +17,8 @@ "run-checks": "yarn lint && yarn test && yarn compile" }, "dependencies": { + "@aws-sdk/client-s3": "^3.379.1", + "@aws-sdk/client-ses": "^3.379.1", "@aws-sdk/client-sns": "^3.377.0", "@middy/core": "2.5.3", "@middy/http-cors": "2.5.3", @@ -28,6 +30,7 @@ "dayjs": "^1.11.8", "dynamoose": "3.2.0", "esbuild": "0.14.14", + "jimp": "^0.22.10", "jsonwebtoken": "^9.0.0", "reflect-metadata": "0.1.13", "uuid": "8.3.2" diff --git a/layers/general/src/domain/entities/User.ts b/layers/general/src/domain/entities/User.ts index dafb8b9..8effbf7 100644 --- a/layers/general/src/domain/entities/User.ts +++ b/layers/general/src/domain/entities/User.ts @@ -15,6 +15,8 @@ export class User { private password: string, private age: number, private role: UserRole, + private verified: boolean, + private avatar: string, private createdAt: string, private updatedAt: string ) { @@ -38,6 +40,8 @@ export class User { u.password, u.age, u.role as UserRole, + u.verified, + u.avatar, u.createdAt || date, u.updatedAt || date ); @@ -61,6 +65,12 @@ export class User { "The email isn't in the correct format." ); + if (this.isValidHttpUrl(this.avatar)) + throw new InvalidPropertyError( + this.avatar, + 'The avatar should have correct url format (location)' + ); + if (this.age < 18) throw new InvalidPropertyError( this.age, @@ -79,6 +89,8 @@ export class User { password: this.password, age: this.age, role: this.role, + avatar: this.avatar, + verified: this.verified, createdAt: this.createdAt, updatedAt: this.updatedAt }; @@ -92,6 +104,10 @@ export class User { return this.firstName; } + getAvatar(): string { + return this.avatar; + } + getLastName(): string { return this.lastName; } @@ -116,6 +132,10 @@ export class User { return this.role; } + getVerified(): boolean { + return this.verified; + } + getCreatedAt(): string { return this.createdAt; } @@ -127,4 +147,16 @@ export class User { getPhone(): string | undefined { return this.phone; } + + private isValidHttpUrl(uri: string) { + let url; + + try { + url = new URL(uri); + } catch (_) { + return false; + } + + return url.protocol === 'http:' || url.protocol === 'https:'; + } } diff --git a/layers/general/src/domain/services/bucket.service.ts b/layers/general/src/domain/services/bucket.service.ts new file mode 100644 index 0000000..49970d1 --- /dev/null +++ b/layers/general/src/domain/services/bucket.service.ts @@ -0,0 +1,9 @@ +export type BucketParams = { + file: any; + filePath: string; +}; + +export interface IBucketService { + send(params: BucketParams, bucket?: string): Promise; + get(fileName: string, bucket?: string): Promise; +} diff --git a/layers/general/src/domain/services/email.service.ts b/layers/general/src/domain/services/email.service.ts new file mode 100644 index 0000000..048b1ac --- /dev/null +++ b/layers/general/src/domain/services/email.service.ts @@ -0,0 +1,10 @@ +export type SESParams = { + destination: string; + message: string; + subject: string; + origin: string; +}; + +export interface IEmailService { + send(params: SESParams): Promise; +} diff --git a/layers/general/src/domain/services/topic.service.ts b/layers/general/src/domain/services/topic.service.ts new file mode 100644 index 0000000..72665f8 --- /dev/null +++ b/layers/general/src/domain/services/topic.service.ts @@ -0,0 +1,3 @@ +export interface ITopicService { + send(message: string): Promise; +} diff --git a/layers/general/src/index.ts b/layers/general/src/index.ts index 99b7012..39b8a0a 100644 --- a/layers/general/src/index.ts +++ b/layers/general/src/index.ts @@ -1,8 +1,30 @@ -export { IsOptional, IsString, IsNumber, MinLength } from 'class-validator'; +export { + IsOptional, + IsString, + IsNumber, + MinLength, + IsBoolean +} from 'class-validator'; +export { config } from '@/infrastructure/config'; +import Jimp from 'jimp'; import HttpStatus from '@/domain/types/HttpStatus'; import middify from '@/infrastructure/middlewares/middify'; -export { middify, HttpStatus }; +import { SESEmailService as SESEmailClass } from '@/infrastructure/services/ses.email.service'; +import { SNSTopicService as SNSTopicClass } from '@/infrastructure/services/sns.topic.service'; +import { S3BucketService as S3BucketClass } from '@/infrastructure/services/s3.bucket.service'; +const SESEmailService = SESEmailClass.getInstance(); +const SNSTopicService = SNSTopicClass.getInstance(); +const S3BucketService = S3BucketClass.getInstance(); + +export { + Jimp, + middify, + HttpStatus, + SESEmailService, + SNSTopicService, + S3BucketService +}; export { UserRole } from '@/domain/types/user.role'; export { User, UserPrimitives } from '@/domain/entities/User'; diff --git a/layers/general/src/infrastructure/config/index.ts b/layers/general/src/infrastructure/config/index.ts index e0a5e0f..32ecb7c 100644 --- a/layers/general/src/infrastructure/config/index.ts +++ b/layers/general/src/infrastructure/config/index.ts @@ -13,7 +13,10 @@ export const config = { } }, region: process.env.AWS_REGION || 'us-east-1', - userTopic: process.env.TOPIC_ARN + userTopic: process.env.TOPIC_ARN, + bucket: process.env.BUCKET_NAME, + adminEmail: process.env.ADMIN_EMAIL, + waterMarkImg: process.env.WATER_MARK_IMG }, isOffline: process.env.IS_OFFLINE == 'true' // Variable IS_OFFLINE is always set true when the app runs locally by the serverless-offline plugin (sam local start-api). }; diff --git a/layers/general/src/infrastructure/database/dynamodb/dynamo.user.repository.ts b/layers/general/src/infrastructure/database/dynamodb/dynamo.user.repository.ts index a5f89cb..390ce59 100644 --- a/layers/general/src/infrastructure/database/dynamodb/dynamo.user.repository.ts +++ b/layers/general/src/infrastructure/database/dynamodb/dynamo.user.repository.ts @@ -1,10 +1,4 @@ import { aws } from 'dynamoose'; -import { - SNSClient, - PublishCommand, - SNSClientConfig, - PublishCommandInput -} from '@aws-sdk/client-sns'; import { User, UserPrimitives } from '@/domain/entities/User'; import { UserRepository } from '@/domain/repositories/user.repository'; import { UserNotFound } from '@/domain/errors/UserNotFound'; @@ -24,13 +18,8 @@ export class DynamoUserRepository implements UserRepository { private readonly model = UserModel; private readonly region = config.aws.region; - private snsClient: SNSClient; constructor() { - const SnSConfig: SNSClientConfig = { - region: this.region - }; - const ddb = new aws.ddb.DynamoDB({ region: this.region }); @@ -41,10 +30,7 @@ export class DynamoUserRepository implements UserRepository { if (config.isOffline) { const endpoint = `http://${config.aws.dynamoDB.users.host}:${config.aws.dynamoDB.users.port}`; aws.ddb.local(endpoint); - SnSConfig.endpoint = endpoint; } - - this.snsClient = new SNSClient(SnSConfig); } async getUsers(page: number, pageSize: number): Promise { @@ -123,9 +109,13 @@ export class DynamoUserRepository implements UserRepository { if (save) { if (usersFound.pop()) throw new UserExistsError(); - const document = new this.model( - GlobalFunctions.getNewParams(userPrimitives, ['createdAt', 'updatedAt']) - ); + const document = new this.model({ + ...GlobalFunctions.getNewParams(userPrimitives, [ + 'createdAt', + 'updatedAt' + ]), + active: true + }); await document.save(); return; } @@ -200,20 +190,6 @@ export class DynamoUserRepository implements UserRepository { if (!verifyPassword) throw new UserNotFound('', 'User not found: Incorrect credentials'); - const params: PublishCommandInput = { - TopicArn: config.aws.userTopic, - Message: JSON.stringify({ user: userFound }) - }; - - try { - await this.snsClient.send(new PublishCommand(params)); - console.info('Message sent to SNS topic.'); - } catch (error: any) { - console.error( - `Error publishing message to SNS topic: ${error.toString()}` - ); - } - return JSONWebTokenAuth.getInstance().sign(userFound, [ 'createdAt', 'updatedAt', diff --git a/layers/general/src/infrastructure/database/dynamodb/models/user.model.ts b/layers/general/src/infrastructure/database/dynamodb/models/user.model.ts index dc55e25..5b8d64f 100644 --- a/layers/general/src/infrastructure/database/dynamodb/models/user.model.ts +++ b/layers/general/src/infrastructure/database/dynamodb/models/user.model.ts @@ -14,6 +14,8 @@ export class UserDocument extends Item { phone!: string; age!: number; role!: UserRole; + verified!: boolean; + avatar!: string; active!: boolean; createdAt!: number; updatedAt!: number; diff --git a/layers/general/src/infrastructure/database/dynamodb/schemas/user.schema.ts b/layers/general/src/infrastructure/database/dynamodb/schemas/user.schema.ts index 1623ac7..eba7f72 100644 --- a/layers/general/src/infrastructure/database/dynamodb/schemas/user.schema.ts +++ b/layers/general/src/infrastructure/database/dynamodb/schemas/user.schema.ts @@ -48,6 +48,14 @@ export const UserSchema = new Schema( type: String, enum: ['root', 'standard', 'visitor'] }, + verified: { + type: Boolean, + default: false + }, + avatar: { + type: String, + default: '' + }, active: { type: Boolean, default: true diff --git a/layers/general/src/infrastructure/services/s3.bucket.service.ts b/layers/general/src/infrastructure/services/s3.bucket.service.ts new file mode 100644 index 0000000..7d9b349 --- /dev/null +++ b/layers/general/src/infrastructure/services/s3.bucket.service.ts @@ -0,0 +1,71 @@ +import { IBucketService, BucketParams } from '@/domain/services/bucket.service'; +import { + S3Client, + S3ClientConfig, + PutObjectCommand, + PutObjectCommandInput, + GetObjectCommand, + GetObjectCommandInput +} from '@aws-sdk/client-s3'; +import { config } from '@/infrastructure/config'; + +declare const Buffer: any; + +export class S3BucketService implements IBucketService { + private static instance?: IBucketService; + private s3Client: S3Client; + + private constructor() { + const SnSConfig: S3ClientConfig = { + region: config.aws.region + }; + + if (config.isOffline) { + SnSConfig.endpoint = `http://${config.aws.dynamoDB.users.host}:${config.aws.dynamoDB.users.port}`; + } + + this.s3Client = new S3Client(SnSConfig); + } + + static getInstance(): IBucketService { + if (S3BucketService.instance) return S3BucketService.instance; + + S3BucketService.instance = new S3BucketService(); + + return S3BucketService.instance; + } + + async get(fileName: string, bucket?: string): Promise { + try { + const params: GetObjectCommandInput = { + Bucket: bucket || config.aws.bucket, + Key: fileName + }; + const data = await this.s3Client.send(new GetObjectCommand(params)); + + return data.Body as S; + } catch (err) { + console.error('Error fetching S3 object:', err); + throw err; + } + } + + async send(data: BucketParams, bucket?: string): Promise { + try { + const params: PutObjectCommandInput = { + Bucket: bucket || config.aws.bucket, + Key: data.filePath, + Body: data.file, + ACL: 'public-read' + }; + + await this.s3Client.send(new PutObjectCommand(params)); + return true; + } catch (error: any) { + console.error( + `Error uploading new file to S3 Bucket: ${error.toString()}` + ); + return false; + } + } +} diff --git a/layers/general/src/infrastructure/services/ses.email.service.ts b/layers/general/src/infrastructure/services/ses.email.service.ts new file mode 100644 index 0000000..bd93d12 --- /dev/null +++ b/layers/general/src/infrastructure/services/ses.email.service.ts @@ -0,0 +1,46 @@ +import { IEmailService, SESParams } from '@/domain/services/email.service'; +import { + SESClient, + SendEmailCommand, + SendEmailCommandInput +} from '@aws-sdk/client-ses'; +import { config } from '@/infrastructure/config'; + +export class SESEmailService implements IEmailService { + private static instance?: IEmailService; + private sesClient: SESClient; + + private constructor() { + this.sesClient = new SESClient({ region: config.aws.region }); + } + + static getInstance(): IEmailService { + if (SESEmailService.instance) return SESEmailService.instance; + + SESEmailService.instance = new SESEmailService(); + + return SESEmailService.instance; + } + + async send(data: SESParams): Promise { + try { + const params: SendEmailCommandInput = { + Destination: { + ToAddresses: [data.destination] + }, + Message: { + Body: { + Text: { Data: data.message } + }, + Subject: { Data: data.subject } + }, + Source: config.aws.adminEmail + }; + + return (await this.sesClient.send(new SendEmailCommand(params))) && true; + } catch (error) { + console.info(error); + return false; + } + } +} diff --git a/layers/general/src/infrastructure/services/sns.topic.service.ts b/layers/general/src/infrastructure/services/sns.topic.service.ts new file mode 100644 index 0000000..e552b2c --- /dev/null +++ b/layers/general/src/infrastructure/services/sns.topic.service.ts @@ -0,0 +1,51 @@ +import { ITopicService } from '@/domain/services/topic.service'; +import { + SNSClient, + PublishCommand, + SNSClientConfig, + PublishCommandInput +} from '@aws-sdk/client-sns'; +import { config } from '@/infrastructure/config'; + +export class SNSTopicService implements ITopicService { + private static instance?: ITopicService; + private snsClient: SNSClient; + + private constructor() { + const SnSConfig: SNSClientConfig = { + region: config.aws.region + }; + + if (config.isOffline) { + SnSConfig.endpoint = `http://${config.aws.dynamoDB.users.host}:${config.aws.dynamoDB.users.port}`; + } + + this.snsClient = new SNSClient(SnSConfig); + } + + static getInstance(): ITopicService { + if (SNSTopicService.instance) return SNSTopicService.instance; + + SNSTopicService.instance = new SNSTopicService(); + + return SNSTopicService.instance; + } + + async send(message: string): Promise { + try { + const params: PublishCommandInput = { + TopicArn: config.aws.userTopic, + Message: message + }; + + await this.snsClient.send(new PublishCommand(params)); + console.info('Message sent to SNS topic.'); + return true; + } catch (error: any) { + console.error( + `Error publishing message to SNS topic: ${error.toString()}` + ); + return false; + } + } +} diff --git a/layers/general/yarn.lock b/layers/general/yarn.lock index 02f9e5d..46a11fd 100644 --- a/layers/general/yarn.lock +++ b/layers/general/yarn.lock @@ -19,6 +19,15 @@ "@aws-sdk/types" "^3.222.0" tslib "^1.11.1" +"@aws-crypto/crc32c@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz#016c92da559ef638a84a245eecb75c3e97cb664f" + integrity sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w== + dependencies: + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + tslib "^1.11.1" + "@aws-crypto/ie11-detection@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" @@ -26,6 +35,19 @@ dependencies: tslib "^1.11.1" +"@aws-crypto/sha1-browser@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz#f9083c00782b24714f528b1a1fef2174002266a3" + integrity sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw== + dependencies: + "@aws-crypto/ie11-detection" "^3.0.0" + "@aws-crypto/supports-web-crypto" "^3.0.0" + "@aws-crypto/util" "^3.0.0" + "@aws-sdk/types" "^3.222.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + "@aws-crypto/sha256-browser@3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" @@ -118,6 +140,110 @@ tslib "^2.5.0" uuid "^8.3.2" +"@aws-sdk/client-s3@^3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.379.1.tgz#a2a40d60d17df238cfdf11e25bd245ed609afa01" + integrity sha512-H4ECLySyEkLHRCBv7q5RS5AhesAsDlC7b3wK4YfbTjdqLVhQZIGqy4IJX98VStKZOea43txhndlDlGvKt8p7kA== + dependencies: + "@aws-crypto/sha1-browser" "3.0.0" + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.379.1" + "@aws-sdk/credential-provider-node" "3.379.1" + "@aws-sdk/middleware-bucket-endpoint" "3.378.0" + "@aws-sdk/middleware-expect-continue" "3.378.0" + "@aws-sdk/middleware-flexible-checksums" "3.378.0" + "@aws-sdk/middleware-host-header" "3.379.1" + "@aws-sdk/middleware-location-constraint" "3.379.1" + "@aws-sdk/middleware-logger" "3.378.0" + "@aws-sdk/middleware-recursion-detection" "3.378.0" + "@aws-sdk/middleware-sdk-s3" "3.379.1" + "@aws-sdk/middleware-signing" "3.379.1" + "@aws-sdk/middleware-ssec" "3.378.0" + "@aws-sdk/middleware-user-agent" "3.379.1" + "@aws-sdk/signature-v4-multi-region" "3.378.0" + "@aws-sdk/types" "3.378.0" + "@aws-sdk/util-endpoints" "3.378.0" + "@aws-sdk/util-user-agent-browser" "3.378.0" + "@aws-sdk/util-user-agent-node" "3.378.0" + "@aws-sdk/xml-builder" "3.310.0" + "@smithy/config-resolver" "^2.0.1" + "@smithy/eventstream-serde-browser" "^2.0.1" + "@smithy/eventstream-serde-config-resolver" "^2.0.1" + "@smithy/eventstream-serde-node" "^2.0.1" + "@smithy/fetch-http-handler" "^2.0.1" + "@smithy/hash-blob-browser" "^2.0.1" + "@smithy/hash-node" "^2.0.1" + "@smithy/hash-stream-node" "^2.0.1" + "@smithy/invalid-dependency" "^2.0.1" + "@smithy/md5-js" "^2.0.1" + "@smithy/middleware-content-length" "^2.0.1" + "@smithy/middleware-endpoint" "^2.0.1" + "@smithy/middleware-retry" "^2.0.1" + "@smithy/middleware-serde" "^2.0.1" + "@smithy/middleware-stack" "^2.0.0" + "@smithy/node-config-provider" "^2.0.1" + "@smithy/node-http-handler" "^2.0.1" + "@smithy/protocol-http" "^2.0.1" + "@smithy/smithy-client" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/url-parser" "^2.0.1" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.1" + "@smithy/util-defaults-mode-node" "^2.0.1" + "@smithy/util-retry" "^2.0.0" + "@smithy/util-stream" "^2.0.1" + "@smithy/util-utf8" "^2.0.0" + "@smithy/util-waiter" "^2.0.1" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + +"@aws-sdk/client-ses@^3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-ses/-/client-ses-3.379.1.tgz#48c56c032879dd60eafbac8988b5694beb8102df" + integrity sha512-18Nb9xy8aLZwqwyOdrMF4+zw+bGw5+rQ8ygJ3VgFhXt3G+zSOayBOFx6Bl/N63ygDyv0JhQR7PhdvnNv5DTrdA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/client-sts" "3.379.1" + "@aws-sdk/credential-provider-node" "3.379.1" + "@aws-sdk/middleware-host-header" "3.379.1" + "@aws-sdk/middleware-logger" "3.378.0" + "@aws-sdk/middleware-recursion-detection" "3.378.0" + "@aws-sdk/middleware-signing" "3.379.1" + "@aws-sdk/middleware-user-agent" "3.379.1" + "@aws-sdk/types" "3.378.0" + "@aws-sdk/util-endpoints" "3.378.0" + "@aws-sdk/util-user-agent-browser" "3.378.0" + "@aws-sdk/util-user-agent-node" "3.378.0" + "@smithy/config-resolver" "^2.0.1" + "@smithy/fetch-http-handler" "^2.0.1" + "@smithy/hash-node" "^2.0.1" + "@smithy/invalid-dependency" "^2.0.1" + "@smithy/middleware-content-length" "^2.0.1" + "@smithy/middleware-endpoint" "^2.0.1" + "@smithy/middleware-retry" "^2.0.1" + "@smithy/middleware-serde" "^2.0.1" + "@smithy/middleware-stack" "^2.0.0" + "@smithy/node-config-provider" "^2.0.1" + "@smithy/node-http-handler" "^2.0.1" + "@smithy/protocol-http" "^2.0.1" + "@smithy/smithy-client" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/url-parser" "^2.0.1" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.1" + "@smithy/util-defaults-mode-node" "^2.0.1" + "@smithy/util-retry" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + "@smithy/util-waiter" "^2.0.1" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + "@aws-sdk/client-sns@^3.377.0": version "3.377.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sns/-/client-sns-3.377.0.tgz#58fb88714a97f344d13821ce1ff1999423ff2f04" @@ -239,6 +365,45 @@ "@smithy/util-utf8" "^1.0.1" tslib "^2.5.0" +"@aws-sdk/client-sso-oidc@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.379.1.tgz#065dbf089c26dd25f9657f46fc07e6c4f7640aa4" + integrity sha512-B6hZ2ysPyvafCMf6gls1jHI/IUviVZ4+TURpNfUBqThg/hZ1IMxc4BLkXca6VlgzYR+bWU8GKiClS9fFH6mu0g== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/middleware-host-header" "3.379.1" + "@aws-sdk/middleware-logger" "3.378.0" + "@aws-sdk/middleware-recursion-detection" "3.378.0" + "@aws-sdk/middleware-user-agent" "3.379.1" + "@aws-sdk/types" "3.378.0" + "@aws-sdk/util-endpoints" "3.378.0" + "@aws-sdk/util-user-agent-browser" "3.378.0" + "@aws-sdk/util-user-agent-node" "3.378.0" + "@smithy/config-resolver" "^2.0.1" + "@smithy/fetch-http-handler" "^2.0.1" + "@smithy/hash-node" "^2.0.1" + "@smithy/invalid-dependency" "^2.0.1" + "@smithy/middleware-content-length" "^2.0.1" + "@smithy/middleware-endpoint" "^2.0.1" + "@smithy/middleware-retry" "^2.0.1" + "@smithy/middleware-serde" "^2.0.1" + "@smithy/middleware-stack" "^2.0.0" + "@smithy/node-config-provider" "^2.0.1" + "@smithy/node-http-handler" "^2.0.1" + "@smithy/protocol-http" "^2.0.1" + "@smithy/smithy-client" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/url-parser" "^2.0.1" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.1" + "@smithy/util-defaults-mode-node" "^2.0.1" + "@smithy/util-retry" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@aws-sdk/client-sso@3.352.0": version "3.352.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.352.0.tgz#1857cb5f40f44df5ed75bdaaf6b19e90cb256ca5" @@ -317,6 +482,45 @@ "@smithy/util-utf8" "^1.0.1" tslib "^2.5.0" +"@aws-sdk/client-sso@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.379.1.tgz#8e177ce38773c7c97243a5532eb80cc02c20dc02" + integrity sha512-2N16TPnRcq+seNP8VY/Zq7kfnrUOrJMbVNpyDZWGe5Qglua3n8v/FzxmXFNI87MiSODq8IHtiXhggWhefCd+TA== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/middleware-host-header" "3.379.1" + "@aws-sdk/middleware-logger" "3.378.0" + "@aws-sdk/middleware-recursion-detection" "3.378.0" + "@aws-sdk/middleware-user-agent" "3.379.1" + "@aws-sdk/types" "3.378.0" + "@aws-sdk/util-endpoints" "3.378.0" + "@aws-sdk/util-user-agent-browser" "3.378.0" + "@aws-sdk/util-user-agent-node" "3.378.0" + "@smithy/config-resolver" "^2.0.1" + "@smithy/fetch-http-handler" "^2.0.1" + "@smithy/hash-node" "^2.0.1" + "@smithy/invalid-dependency" "^2.0.1" + "@smithy/middleware-content-length" "^2.0.1" + "@smithy/middleware-endpoint" "^2.0.1" + "@smithy/middleware-retry" "^2.0.1" + "@smithy/middleware-serde" "^2.0.1" + "@smithy/middleware-stack" "^2.0.0" + "@smithy/node-config-provider" "^2.0.1" + "@smithy/node-http-handler" "^2.0.1" + "@smithy/protocol-http" "^2.0.1" + "@smithy/smithy-client" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/url-parser" "^2.0.1" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.1" + "@smithy/util-defaults-mode-node" "^2.0.1" + "@smithy/util-retry" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@aws-sdk/client-sts@3.352.0": version "3.352.0" resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.352.0.tgz#8038f83fdfcbc9c1a15ec7fc7c1163536b30aefc" @@ -403,6 +607,49 @@ fast-xml-parser "4.2.5" tslib "^2.5.0" +"@aws-sdk/client-sts@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.379.1.tgz#f18550006be741a41341cfa2e984c188145eb45f" + integrity sha512-gEnKuk9bYjThvmxCgOgCn1qa+rRX8IgIRE2+xhbWhlpDanozhkDq9aMB5moX4tBNYQEmi1LtGD+JOvOoZRnToQ== + dependencies: + "@aws-crypto/sha256-browser" "3.0.0" + "@aws-crypto/sha256-js" "3.0.0" + "@aws-sdk/credential-provider-node" "3.379.1" + "@aws-sdk/middleware-host-header" "3.379.1" + "@aws-sdk/middleware-logger" "3.378.0" + "@aws-sdk/middleware-recursion-detection" "3.378.0" + "@aws-sdk/middleware-sdk-sts" "3.379.1" + "@aws-sdk/middleware-signing" "3.379.1" + "@aws-sdk/middleware-user-agent" "3.379.1" + "@aws-sdk/types" "3.378.0" + "@aws-sdk/util-endpoints" "3.378.0" + "@aws-sdk/util-user-agent-browser" "3.378.0" + "@aws-sdk/util-user-agent-node" "3.378.0" + "@smithy/config-resolver" "^2.0.1" + "@smithy/fetch-http-handler" "^2.0.1" + "@smithy/hash-node" "^2.0.1" + "@smithy/invalid-dependency" "^2.0.1" + "@smithy/middleware-content-length" "^2.0.1" + "@smithy/middleware-endpoint" "^2.0.1" + "@smithy/middleware-retry" "^2.0.1" + "@smithy/middleware-serde" "^2.0.1" + "@smithy/middleware-stack" "^2.0.0" + "@smithy/node-config-provider" "^2.0.1" + "@smithy/node-http-handler" "^2.0.1" + "@smithy/protocol-http" "^2.0.1" + "@smithy/smithy-client" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/url-parser" "^2.0.1" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-body-length-browser" "^2.0.0" + "@smithy/util-body-length-node" "^2.0.0" + "@smithy/util-defaults-mode-browser" "^2.0.1" + "@smithy/util-defaults-mode-node" "^2.0.1" + "@smithy/util-retry" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + fast-xml-parser "4.2.5" + tslib "^2.5.0" + "@aws-sdk/config-resolver@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.347.0.tgz#84bb2cbbe310e7de1168ba3233369204f31d395a" @@ -432,6 +679,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-env@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.378.0.tgz#a0f6291eff4e002c140599acede2433f58e4f4cb" + integrity sha512-B2OVdO9kBClDwGgWTBLAQwFV8qYTYGyVujg++1FZFSFMt8ORFdZ5fNpErvJtiSjYiOOQMzyBeSNhKyYNXCiJjQ== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/credential-provider-imds@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.347.0.tgz#7b42e2c1143fbec309e9a65c4e8200b056ce028d" @@ -474,6 +731,22 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-ini@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.379.1.tgz#912a0922be00deb2d77772f68bb41fad40269d61" + integrity sha512-YhEsJIskzCFwIIKiMN9GSHQkgWwj/b7rq0ofhsXsCRimFtdVkmMlB9veE6vtFAuXpX/WOGWdlWek1az0V22uuw== + dependencies: + "@aws-sdk/credential-provider-env" "3.378.0" + "@aws-sdk/credential-provider-process" "3.378.0" + "@aws-sdk/credential-provider-sso" "3.379.1" + "@aws-sdk/credential-provider-web-identity" "3.378.0" + "@aws-sdk/types" "3.378.0" + "@smithy/credential-provider-imds" "^2.0.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/credential-provider-node@3.352.0": version "3.352.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.352.0.tgz#fcdd3e54bedcb537bfa252fc4e7f0f60d47fed43" @@ -507,6 +780,23 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-node@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.379.1.tgz#687eecb7c2e378229e675c9df511cfada63b4d60" + integrity sha512-39Y4OHKn6a8lY8YJhSLLw08aZytWxfvSjM4ObIEnE6hjLl8gsL9vROKKITsh3q6iGQ1EDSWMWZL50aOh3LJUIg== + dependencies: + "@aws-sdk/credential-provider-env" "3.378.0" + "@aws-sdk/credential-provider-ini" "3.379.1" + "@aws-sdk/credential-provider-process" "3.378.0" + "@aws-sdk/credential-provider-sso" "3.379.1" + "@aws-sdk/credential-provider-web-identity" "3.378.0" + "@aws-sdk/types" "3.378.0" + "@smithy/credential-provider-imds" "^2.0.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/credential-provider-process@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.347.0.tgz#066e82fee54c9fac67c4dc911873e20facdb3471" @@ -528,6 +818,17 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-process@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.378.0.tgz#8fd594c9600f9e4b7121f3cf2cea13b4d37f09e5" + integrity sha512-KFTIy7u+wXj3eDua4rgS0tODzMnXtXhAm1RxzCW9FL5JLBBrd82ymCj1Dp72217Sw5Do6NjCnDTTNkCHZMA77w== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/credential-provider-sso@3.352.0": version "3.352.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.352.0.tgz#c178111c5a5d250718183c48c476db8e64103799" @@ -553,6 +854,19 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-sso@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.379.1.tgz#522dfb8b7cca455d5b226072d2ee1ac9fb317cdc" + integrity sha512-PhGtu1+JbUntYP/5CSfazQhWsjUBiksEuhg9fLhYl5OAgZVjVygbgoNVUz/gM7gZJSEMsasTazkn7yZVzO/k7w== + dependencies: + "@aws-sdk/client-sso" "3.379.1" + "@aws-sdk/token-providers" "3.379.1" + "@aws-sdk/types" "3.378.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/credential-provider-web-identity@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.347.0.tgz#bb035fc16059ab43386facf8b4d1e8c094450a6d" @@ -572,6 +886,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/credential-provider-web-identity@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.378.0.tgz#019db9f17bd9fb2fd9a4171fe3b443c9e049a70a" + integrity sha512-GWjydOszhc4xDF8xuPtBvboglXQr0gwCW1oHAvmLcOT38+Hd6qnKywnMSeoXYRPgoKfF9TkWQgW1jxplzCG0UA== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/endpoint-cache@3.310.0": version "3.310.0" resolved "https://registry.yarnpkg.com/@aws-sdk/endpoint-cache/-/endpoint-cache-3.310.0.tgz#e6f84bfcd55462966811390ef797145559bab15a" @@ -626,6 +950,18 @@ dependencies: tslib "^2.5.0" +"@aws-sdk/middleware-bucket-endpoint@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.378.0.tgz#4d0253b263d908ddb51c8eb36acd5d4b746a94db" + integrity sha512-3o+AYU6JWUsPM49bWglCUOgNvySiHkbIma0J6F9a68e30vEDD0FUQtKzyHPZkF7iYDyesEl166gYjwVNAmASzw== + dependencies: + "@aws-sdk/types" "3.378.0" + "@aws-sdk/util-arn-parser" "3.310.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/util-config-provider" "^2.0.0" + tslib "^2.5.0" + "@aws-sdk/middleware-content-length@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.347.0.tgz#ee6063ebb0215355b7a7dacd0a3bbe2e1a8d108f" @@ -656,6 +992,30 @@ "@aws-sdk/util-middleware" "3.347.0" tslib "^2.5.0" +"@aws-sdk/middleware-expect-continue@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.378.0.tgz#66baa420255c56528bacf53a82524ab6155763a9" + integrity sha512-8maaNQvza3/IGDbIyVQkUbGlo+Oc6SY1gVG50UMcTUX8nwZrD1/ko+ft+pd2EDb2n+0JritoDj4bjr6pdesNBg== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + +"@aws-sdk/middleware-flexible-checksums@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.378.0.tgz#41ab38b78ce2a8c10b52ea617c4187747ecf3c8d" + integrity sha512-pHkcVTu2T+x/1fpPHMpRDpXY5zxDsjijv3C6Nz/nm3gQrZvQ3fYDrQdV3Oj6Xeg40B3kkcp/bzgDo7MDzG088A== + dependencies: + "@aws-crypto/crc32" "3.0.0" + "@aws-crypto/crc32c" "3.0.0" + "@aws-sdk/types" "3.378.0" + "@smithy/is-array-buffer" "^2.0.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@aws-sdk/middleware-host-header@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.347.0.tgz#6166c137044672b2229e6ee0ce8a3e59fd8c49c4" @@ -675,6 +1035,25 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-host-header@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.379.1.tgz#26d8af6100de4e03d201553360dfe16e10ae1aa5" + integrity sha512-LI4KpAFWNWVr2aH2vRVblr0Y8tvDz23lj8LOmbDmCrzd5M21nxuocI/8nEAQj55LiTIf9Zs+dHCdsyegnFXdrA== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + +"@aws-sdk/middleware-location-constraint@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.379.1.tgz#754541385bdf128f446b071f91fedd11806ba300" + integrity sha512-+bmy8DjX9jtqJk8WiDaHoP9M5ZcqjHSJf4mkv8IUZ/FNTUl9j6Dll//bG/JxuAw5e5shtCDjmZ027W5d9ITp0g== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/middleware-logger@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.347.0.tgz#d75a6bbda38c85200219f4ef88e7696d72f94100" @@ -692,6 +1071,15 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-logger@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.378.0.tgz#f27fe3a979f3ef49034a860aa2c38c8a16faa879" + integrity sha512-l1DyaDLm3KeBMNMuANI3scWh8Xvu248x+vw6Z7ExWOhGXFmQ1MW7YvASg/SdxWkhlF9HmkkTif1LdMB22x6QDA== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/middleware-recursion-detection@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.347.0.tgz#00faf00d9346cb88dafdfddfd33e956ba563bf99" @@ -711,6 +1099,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-recursion-detection@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.378.0.tgz#706f505f608a766d617fbdad20ca30a7abccb311" + integrity sha512-mUMfHAz0oGNIWiTZHTVJb+I515Hqs2zx1j36Le4MMiiaMkPW1SRUF1FIwGuc1wh6E8jB5q+XfEMriDjRi4TZRA== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/middleware-retry@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.347.0.tgz#d589f04ed5fc383a0f04deda50dc190fe01a4649" @@ -724,6 +1122,17 @@ tslib "^2.5.0" uuid "^8.3.2" +"@aws-sdk/middleware-sdk-s3@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.379.1.tgz#e9c9911601261d74921b18f5ba9aeb14bc9d1a2a" + integrity sha512-NVHRpNLfkHCqr3CE1Bmlf8Fhys8lL78kDX7UONnTZXvSiSXmCS7EbNtGDghZ8IKi+V9S/ifB4sLsX3tfzY0i6Q== + dependencies: + "@aws-sdk/types" "3.378.0" + "@aws-sdk/util-arn-parser" "3.310.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/middleware-sdk-sts@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.347.0.tgz#903d8263e90af6560d19337de06cd6a2d0564e2f" @@ -743,6 +1152,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-sdk-sts@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.379.1.tgz#4238aa2fa4ad4b0f7e0f6bb08d7c131b7d6a2baa" + integrity sha512-SK3gSyT0XbLiY12+AjLFYL9YngxOXHnZF3Z33Cdd4a+AUYrVBV7JBEEGD1Nlwrcmko+3XgaKlmgUaR5s91MYvg== + dependencies: + "@aws-sdk/middleware-signing" "3.379.1" + "@aws-sdk/types" "3.378.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/middleware-serde@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.347.0.tgz#f20a63290e16d631a8aa7d9eb331b139bf2531ac" @@ -776,6 +1195,28 @@ "@smithy/util-middleware" "^1.0.1" tslib "^2.5.0" +"@aws-sdk/middleware-signing@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.379.1.tgz#ebb7912868076babec851f9f703862dae6583a89" + integrity sha512-kBk2ZUvR84EM4fICjr8K+Ykpf8SI1UzzPp2/UVYZ0X+4H/ZCjfSqohGRwHykMqeplne9qHSL7/rGJs1H3l3gPg== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/signature-v4" "^2.0.0" + "@smithy/types" "^2.0.2" + "@smithy/util-middleware" "^2.0.0" + tslib "^2.5.0" + +"@aws-sdk/middleware-ssec@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.378.0.tgz#7746d75ae4614a348c3f9d1a7693009ee60026a2" + integrity sha512-WDT2LOd6OxlY1zkrRG9ZtW2vFms/dsqMg9VyE88RKG2oATxSXEhkr5zLbNVh3TyuUKnV9jydate56d/ECwHOHg== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/middleware-stack@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.347.0.tgz#de8f94349273e1b30e19b6e8ace95a7982a24579" @@ -804,6 +1245,17 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/middleware-user-agent@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.379.1.tgz#61ca273aa1f505f4d0b389fb72c3b0dbd1078aae" + integrity sha512-4zIGeAIuutcRieAvovs82uBNhJBHuxfxaAUqrKiw49xUBG7xeNVUl+DYPSpbALbEIy4ujfwWCBOOWVCt6dyUZg== + dependencies: + "@aws-sdk/types" "3.378.0" + "@aws-sdk/util-endpoints" "3.378.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/node-config-provider@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.347.0.tgz#0f155b28fb2053973666b241c68bbebccb770ad1" @@ -871,6 +1323,17 @@ "@aws-sdk/types" "3.347.0" tslib "^2.5.0" +"@aws-sdk/signature-v4-multi-region@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.378.0.tgz#bb6e46eab9009e36c22155b33dbaa2322f8ce4cc" + integrity sha512-gtuABS7EeYZQeNzTrabY3Ruv4wWmoz4u8OMSGl47gYPDWA70WYEZ0aoi4zSGuKhXiqtVvTsO9wGEMIInwV5phQ== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/protocol-http" "^2.0.1" + "@smithy/signature-v4" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/signature-v4@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.347.0.tgz#0f5eb4ec260eb0fe2fe5e3ee6cb011076f3582fa" @@ -917,6 +1380,18 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/token-providers@3.379.1": + version "3.379.1" + resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.379.1.tgz#d85692017b357743eb729e05728fef000f3685ea" + integrity sha512-NlYPkArJ7A/txCrjqqkje+4hsv7pSOqm+Qdx3BUIOc7PRYrBVs/XwThxUkGceSntVXoNlO8g9DFL0NY53/wb8Q== + dependencies: + "@aws-sdk/client-sso-oidc" "3.379.1" + "@aws-sdk/types" "3.378.0" + "@smithy/property-provider" "^2.0.0" + "@smithy/shared-ini-file-loader" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/types@3.347.0", "@aws-sdk/types@^3.222.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.347.0.tgz#4affe91de36ef227f6375d64a6efda8d4ececd5d" @@ -932,6 +1407,14 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/types@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.378.0.tgz#93a811ccdf15c81b1947f1cd67922c4690792189" + integrity sha512-qP0CvR/ItgktmN8YXpGQglzzR/6s0nrsQ4zIfx3HMwpsBTwuouYahcCtF1Vr82P4NFcoDA412EJahJ2pIqEd+w== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/url-parser@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.347.0.tgz#b3c31fc9ffb1ac5586ab088f9b109386e6b4c7a8" @@ -941,6 +1424,13 @@ "@aws-sdk/types" "3.347.0" tslib "^2.5.0" +"@aws-sdk/util-arn-parser@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz#861ff8810851be52a320ec9e4786f15b5fc74fba" + integrity sha512-jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA== + dependencies: + tslib "^2.5.0" + "@aws-sdk/util-base64@3.310.0": version "3.310.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.310.0.tgz#d0fd49aff358c5a6e771d0001c63b1f97acbe34c" @@ -1023,6 +1513,14 @@ "@aws-sdk/types" "3.370.0" tslib "^2.5.0" +"@aws-sdk/util-endpoints@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.378.0.tgz#93eeac35656ee949ab42cbc1181dfcbdb1e3e95c" + integrity sha512-NU5C2l2xAXxpyB5nT0fIhahLPlJoJdzHWw4uC53KH9b4PrjHtgvgCN8beIsD3QxyfgeoM4A5J9Auo6WurfRnLw== + dependencies: + "@aws-sdk/types" "3.378.0" + tslib "^2.5.0" + "@aws-sdk/util-hex-encoding@3.310.0": version "3.310.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.310.0.tgz#19294c78986c90ae33f04491487863dc1d33bd87" @@ -1078,6 +1576,16 @@ bowser "^2.11.0" tslib "^2.5.0" +"@aws-sdk/util-user-agent-browser@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.378.0.tgz#e756215da5bd1654a308b4e5383ebdcfc938fb0a" + integrity sha512-FSCpagzftK1W+m7Ar6lpX7/Gr9y5P56nhFYz8U4EYQ4PkufS6czWX9YW+/FA5OYV0vlQ/SvPqMnzoHIPUNhZrQ== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/types" "^2.0.2" + bowser "^2.11.0" + tslib "^2.5.0" + "@aws-sdk/util-user-agent-node@3.347.0": version "3.347.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.347.0.tgz#a959abaeac35c434890f77dc78cc8bf0c910d85f" @@ -1097,6 +1605,16 @@ "@smithy/types" "^1.1.0" tslib "^2.5.0" +"@aws-sdk/util-user-agent-node@3.378.0": + version "3.378.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.378.0.tgz#7af728f1823e860853998166a2bda0f0044251ef" + integrity sha512-IdwVJV0E96MkJeFte4dlWqvB+oiqCiZ5lOlheY3W9NynTuuX0GGYNC8Y9yIsV8Oava1+ujpJq0ww6qXdYxmO4A== + dependencies: + "@aws-sdk/types" "3.378.0" + "@smithy/node-config-provider" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@aws-sdk/util-utf8-browser@^3.0.0": version "3.259.0" resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" @@ -1121,6 +1639,13 @@ "@aws-sdk/types" "3.347.0" tslib "^2.5.0" +"@aws-sdk/xml-builder@3.310.0": + version "3.310.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz#f0236f2103b438d16117e0939a6305ad69b7ff76" + integrity sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw== + dependencies: + tslib "^2.5.0" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" @@ -1661,6 +2186,263 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" +"@jimp/bmp@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.22.10.tgz#e4fe8934a83f1e677cbfd74ad22a684bf1aad529" + integrity sha512-1UXRl1Nw1KptZ1r0ANqtXOst9vGH51dq7keVKQzyyTO2lz4dOaezS9StuSTNh+RmiHg/SVPaFRpPfB0S/ln4Kg== + dependencies: + "@jimp/utils" "^0.22.10" + bmp-js "^0.1.0" + +"@jimp/core@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/core/-/core-0.22.10.tgz#a106e719a9e1bc668c9595065a0872767cda3934" + integrity sha512-ZKyrehVy6wu1PnBXIUpn/fXmyMRQiVSbvHDubgXz4bfTOao3GiOurKHjByutQIgozuAN6ZHWiSge1dKA+dex3w== + dependencies: + "@jimp/utils" "^0.22.10" + any-base "^1.1.0" + buffer "^5.2.0" + exif-parser "^0.1.12" + file-type "^16.5.4" + isomorphic-fetch "^3.0.0" + pixelmatch "^4.0.2" + tinycolor2 "^1.6.0" + +"@jimp/custom@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/custom/-/custom-0.22.10.tgz#621f3ec418c59c78ca43c5bc6f91a467e48a7a87" + integrity sha512-sPZkUYe1hu0iIgNisjizxPJqq2vaaKvkCkPoXq2U6UV3ZA1si/WVdrg25da3IcGIEV+83AoHgM8TvqlLgrCJsg== + dependencies: + "@jimp/core" "^0.22.10" + +"@jimp/gif@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/gif/-/gif-0.22.10.tgz#fc47738edc5f5327a0c023ad40e89417fdb5ef60" + integrity sha512-yEX2dSpamvkSx1PPDWGnKeWDrBz0vrCKjVG/cn4Zr68MRRT75tbZIeOrBa+RiUpY3ho5ix7d36LkYvt3qfUIhQ== + dependencies: + "@jimp/utils" "^0.22.10" + gifwrap "^0.10.1" + omggif "^1.0.9" + +"@jimp/jpeg@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/jpeg/-/jpeg-0.22.10.tgz#b4aba85d607d598d5a4ce0c66cefe69a8fc45c26" + integrity sha512-6bu98pAcVN4DY2oiDLC4TOgieX/lZrLd1tombWZOFCN5PBmqaHQxm7IUmT+Wj4faEvh8QSHgVLSA+2JQQRJWVA== + dependencies: + "@jimp/utils" "^0.22.10" + jpeg-js "^0.4.4" + +"@jimp/plugin-blit@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-blit/-/plugin-blit-0.22.10.tgz#c351a27d52d8273b61d4f3cd68a9b73b03dd7b14" + integrity sha512-6EI8Sl+mxYHEIy6Yteh6eknD+EZguKpNdr3sCKxNezmLR0+vK99vHcllo6uGSjXXiwtwS67Xqxn8SsoatL+UJQ== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-blur@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-blur/-/plugin-blur-0.22.10.tgz#22a67bb8b21403ac28b44bef6cf9a934846fec83" + integrity sha512-4XRTWuPVdMXJeclJMisXPGizeHtTryVaVV5HnuQXpKqIZtzXReCCpNGH8q/i0kBQOQMXhGWS3mpqOEwtpPePKw== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-circle@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-circle/-/plugin-circle-0.22.10.tgz#2a4c81b5c1a49f583d2d5090496c1ecb29c52c1a" + integrity sha512-mhcwTO1ywRxiCgtLGge6tDDIDPlX6qkI3CY+BjgGG/XhVHccCddXgOGLdlf+5OuKIEF2Nqs0V01LQEQIJFTmEw== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-color@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-color/-/plugin-color-0.22.10.tgz#cf053aa30eb3bf7df3cceb8547ef78a841bfcd72" + integrity sha512-e4t3L7Kedd96E0x1XjsTM6NcgulKUU66HdFTao7Tc9FYJRFSlttARZ/C6LEryGDm/i69R6bJEpo7BkNz0YL55Q== + dependencies: + "@jimp/utils" "^0.22.10" + tinycolor2 "^1.6.0" + +"@jimp/plugin-contain@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-contain/-/plugin-contain-0.22.10.tgz#5302e088a09884ff0ae6656e0e682e2e487c2199" + integrity sha512-eP8KrzctuEoqibQAxi9WhbnoRosydhiwg+IYya3dKuKDBTrD9UHt+ERlPQ/lTNWHzV/l4S1ntV3r9s9saJgsXA== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-cover@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-cover/-/plugin-cover-0.22.10.tgz#746b25bbea92aa7f9b130feca5af02717122e6d5" + integrity sha512-kJCwL5T1igfa0InCfkE7bBeqg26m46aoRt10ug+rvm11P6RrvRMGrgINFyIKB+mnB7CiyBN/MOula1CvLhSInQ== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-crop@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-crop/-/plugin-crop-0.22.10.tgz#6204fd6be751d7edb64a86ab788ba762843b9877" + integrity sha512-BOZ+YGaZlhU7c5ye65RxikicXH0Ki0It6/XHISvipR5WZrfjLjL2Ke20G+AGnwBQc76gKenVcMXVUCnEjtZV+Q== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-displace@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-displace/-/plugin-displace-0.22.10.tgz#6dc277c84c0c6b2c2d793271ddf45b61284cb043" + integrity sha512-llNiWWMTKISDXt5+cXI0GaFmZWAjlT+4fFLYf4eXquuL/9wZoQsEBhv2GdGd48mkiS8jZq1Nnb2Q4ehEPTvrzw== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-dither@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-dither/-/plugin-dither-0.22.10.tgz#9cbad07fb16d2dcb88d86c16d5437dee9232426a" + integrity sha512-05WLmeV5M+P/0FS+bWf13hMew2X0oa8w9AtmevL2UyA/5GqiyvP2Xm5WfGQ8oFiiMvpnL6RFomJQOZtWca0C2w== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-fisheye@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.22.10.tgz#94cbb32947d24cdd596f7259754e390e69c3e7a6" + integrity sha512-InjiXvc7Gkzrx8VWtU97kDqV7ENnhHGPULymJWeZaF2aicud9Fpk4iCtd/DcZIrk7Cbe60A8RwNXN00HXIbSCg== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-flip@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-flip/-/plugin-flip-0.22.10.tgz#58f9e05c5038d1ab849bda41cee4f0416fe07fb5" + integrity sha512-42GkGtTHWnhnwTMPVK/kXObZbkYIpQWfuIfy5EMEMk6zRj05zpv4vsjkKWfuemweZINwfvD7wDJF7FVFNNcZZg== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-gaussian@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.22.10.tgz#69effed5dccd11eada36262bd65fbaa06bd8be84" + integrity sha512-ykrG/6lTp9Q5YA8jS5XzwMHtRxb9HOFMgtmnrUZ8kU+BK8REecfy9Ic5BUEOjCYvS1a/xLsnrZQU07iiYxBxFg== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-invert@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-invert/-/plugin-invert-0.22.10.tgz#370b4ce4634b3e2c5fbbe88270a74f5673c765bb" + integrity sha512-d8j9BlUJYs/c994t4azUWSWmQq4LLPG4ecm8m6SSNqap+S/HlVQGqjYhJEBbY9EXkOTYB9vBL9bqwSM1Rr6paA== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-mask@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-mask/-/plugin-mask-0.22.10.tgz#6404f54a782c952fecf7b6ae0f3d894d4fc99c51" + integrity sha512-yRBs1230XZkz24uFTdTcSlZ0HXZpIWzM3iFQN56MzZ7USgdVZjPPDCQ8I9RpqfZ36nDflQkUO0wV7ucsi4ogow== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-normalize@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-normalize/-/plugin-normalize-0.22.10.tgz#6a8d0f57a8f90a3ec15f2391c338b94f3eb49e72" + integrity sha512-Wk9GX6eJMchX/ZAazVa70Fagu+OXMvHiPY+HrcEwcclL+p1wo8xAHEsf9iKno7Ja4EU9lLhbBRY5hYJyiKMEkg== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-print@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-print/-/plugin-print-0.22.10.tgz#8c96df70851c1ead0b79c8ea74c8411445d921ca" + integrity sha512-1U3VloIR+beE1kWPdGEJMiE2h1Do29iv3w8sBbvPyRP4qXxRFcDpmCGtctsrKmb1krlBFlj8ubyAY90xL+5n9w== + dependencies: + "@jimp/utils" "^0.22.10" + load-bmfont "^1.4.1" + +"@jimp/plugin-resize@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-resize/-/plugin-resize-0.22.10.tgz#d968f0167069c9f7e612bceefdbcc4b3c65934b5" + integrity sha512-ixomxVcnAONXDgaq0opvAx4UAOiEhOA/tipuhFFOvPKFd4yf1BAnEviB5maB0SBHHkJXPUSzDp/73xVTMGSe7g== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-rotate@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-rotate/-/plugin-rotate-0.22.10.tgz#93d3781eca02d549a632db74bc63d27a6bb9a38c" + integrity sha512-eeFX8dnRyf3LAdsdXWKWuN18hLRg8zy1cP0cP9rHzQVWRK7ck/QsLxK1vHq7MADGwQalNaNTJ9SQxH6c8mz6jw== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-scale@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-scale/-/plugin-scale-0.22.10.tgz#69127d45eb0837cd23cd04cff3677344064670ac" + integrity sha512-TG/H0oUN69C9ArBCZg4PmuoixFVKIiru8282KzSB/Tp1I0xwX0XLTv3dJ5pobPlIgPcB+TmD4xAIdkCT4rtWxg== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-shadow@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-shadow/-/plugin-shadow-0.22.10.tgz#ccf379a8d41861eb07c35a60f3dcdede8e856de7" + integrity sha512-TN9xm6fI7XfxbMUQqFPZjv59Xdpf0tSiAQdINB4g6pJMWiVANR/74OtDONoy3KKpenu5Y38s+FkrtID/KcQAhw== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugin-threshold@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugin-threshold/-/plugin-threshold-0.22.10.tgz#590bda5ddf9071adad36f98197e710f33cb47a26" + integrity sha512-DA2lSnU0TgIRbAgmXaxroYw3Ad6J2DOFEoJp0NleSm2h3GWbZEE5yW9U2B6hD3iqn4AenG4E2b2WzHXZyzSutw== + dependencies: + "@jimp/utils" "^0.22.10" + +"@jimp/plugins@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/plugins/-/plugins-0.22.10.tgz#7062b6a36dc2d9c8dbd574a7697b6efaccecdee8" + integrity sha512-KDMZyM6pmvS8freB+UBLko1TO/k4D7URS/nphCozuH+P7i3UMe7NdckXKJ8u+WD6sqN0YFYvBehpkpnUiw/91w== + dependencies: + "@jimp/plugin-blit" "^0.22.10" + "@jimp/plugin-blur" "^0.22.10" + "@jimp/plugin-circle" "^0.22.10" + "@jimp/plugin-color" "^0.22.10" + "@jimp/plugin-contain" "^0.22.10" + "@jimp/plugin-cover" "^0.22.10" + "@jimp/plugin-crop" "^0.22.10" + "@jimp/plugin-displace" "^0.22.10" + "@jimp/plugin-dither" "^0.22.10" + "@jimp/plugin-fisheye" "^0.22.10" + "@jimp/plugin-flip" "^0.22.10" + "@jimp/plugin-gaussian" "^0.22.10" + "@jimp/plugin-invert" "^0.22.10" + "@jimp/plugin-mask" "^0.22.10" + "@jimp/plugin-normalize" "^0.22.10" + "@jimp/plugin-print" "^0.22.10" + "@jimp/plugin-resize" "^0.22.10" + "@jimp/plugin-rotate" "^0.22.10" + "@jimp/plugin-scale" "^0.22.10" + "@jimp/plugin-shadow" "^0.22.10" + "@jimp/plugin-threshold" "^0.22.10" + timm "^1.6.1" + +"@jimp/png@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/png/-/png-0.22.10.tgz#397da6479f515dc87525b0f25efe4cb11cb75156" + integrity sha512-RYinU7tZToeeR2g2qAMn42AU+8OUHjXPKZZ9RkmoL4bguA1xyZWaSdr22/FBkmnHhOERRlr02KPDN1OTOYHLDQ== + dependencies: + "@jimp/utils" "^0.22.10" + pngjs "^6.0.0" + +"@jimp/tiff@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/tiff/-/tiff-0.22.10.tgz#e5511e21c73719a308545732f1ec050f52a8e0ad" + integrity sha512-OaivlSYzpNTHyH/h7pEtl3A7F7TbsgytZs52GLX/xITW92ffgDgT6PkldIrMrET6ERh/hdijNQiew7IoEEr2og== + dependencies: + utif2 "^4.0.1" + +"@jimp/types@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/types/-/types-0.22.10.tgz#1ae01dfea9f36ba9751e63a1eedecb4c4da9ef16" + integrity sha512-u/r+XYzbCx4zZukDmxx8S0er3Yq3iDPI6+31WKX0N18i2qPPJYcn8qwIFurfupRumGvJ8SlGLCgt/T+Y8zzUIw== + dependencies: + "@jimp/bmp" "^0.22.10" + "@jimp/gif" "^0.22.10" + "@jimp/jpeg" "^0.22.10" + "@jimp/png" "^0.22.10" + "@jimp/tiff" "^0.22.10" + timm "^1.6.1" + +"@jimp/utils@^0.22.10": + version "0.22.10" + resolved "https://registry.yarnpkg.com/@jimp/utils/-/utils-0.22.10.tgz#d05934fae1c4bd988205d3decc2a649df0724a26" + integrity sha512-ztlOK9Mm2iLG2AMoabzM4i3WZ/FtshcgsJCbZCRUs/DKoeS2tySRJTnQZ1b7Roq0M4Ce+FUAxnCAcBV0q7PH9w== + dependencies: + regenerator-runtime "^0.13.3" + "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": version "0.3.3" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" @@ -1783,6 +2565,29 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/abort-controller@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/abort-controller/-/abort-controller-2.0.1.tgz#ddb5dd8c37016e8fcf772bd9c80e900860d74ae6" + integrity sha512-0s7XjIbsTwZyUW9OwXQ8J6x1UiA1TNCh60Vaw56nHahL7kUZsLhmTlWiaxfLkFtO2Utkj8YewcpHTYpxaTzO+w== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + +"@smithy/chunked-blob-reader-native@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz#f6d0eeeb5481026b68b054f45540d924c194d558" + integrity sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ== + dependencies: + "@smithy/util-base64" "^2.0.0" + tslib "^2.5.0" + +"@smithy/chunked-blob-reader@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz#c44fe2c780eaf77f9e5381d982ac99a880cce51b" + integrity sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg== + dependencies: + tslib "^2.5.0" + "@smithy/config-resolver@^1.0.1", "@smithy/config-resolver@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-1.1.0.tgz#e604fe25a65a77bc21cc01b66e0bee5bc0c9e57b" @@ -1793,6 +2598,16 @@ "@smithy/util-middleware" "^1.1.0" tslib "^2.5.0" +"@smithy/config-resolver@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-2.0.1.tgz#ea7981f4716961889d1c7d16aaa956cf7dae2b79" + integrity sha512-l83Pm7hV+8CBQOCmBRopWDtF+CURUJol7NsuPYvimiDhkC2F8Ba9T1imSFE+pD1UIJ9jlsDPAnZfPJT5cjnuEw== + dependencies: + "@smithy/types" "^2.0.2" + "@smithy/util-config-provider" "^2.0.0" + "@smithy/util-middleware" "^2.0.0" + tslib "^2.5.0" + "@smithy/credential-provider-imds@^1.0.1", "@smithy/credential-provider-imds@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-1.1.0.tgz#4d9444c4c8de70143c3f16bdba188b0e42cb48f9" @@ -1804,6 +2619,17 @@ "@smithy/url-parser" "^1.1.0" tslib "^2.5.0" +"@smithy/credential-provider-imds@^2.0.0", "@smithy/credential-provider-imds@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.1.tgz#e034f3d8ee6ad178becb267886056233870661d0" + integrity sha512-8VxriuRINNEfVZjEFKBY75y9ZWAx73DZ5K/u+3LmB6r8WR2h3NaFxFKMlwlq0uzNdGhD1ouKBn9XWEGYHKiPLw== + dependencies: + "@smithy/node-config-provider" "^2.0.1" + "@smithy/property-provider" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/url-parser" "^2.0.1" + tslib "^2.5.0" + "@smithy/eventstream-codec@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-1.1.0.tgz#bfe1308ba84ff3db3e79dc1ced8231c52ac0fc36" @@ -1814,6 +2640,51 @@ "@smithy/util-hex-encoding" "^1.1.0" tslib "^2.5.0" +"@smithy/eventstream-codec@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-codec/-/eventstream-codec-2.0.1.tgz#b84e224db346066e817ca9ca23260798a1aa071e" + integrity sha512-/IiNB7gQM2y2ZC/GAWOWDa8+iXfhr1g9Xe5979cQEOdCWDISvrAiv18cn3OtIQUhbYOR3gm7QtCpkq1to2takQ== + dependencies: + "@aws-crypto/crc32" "3.0.0" + "@smithy/types" "^2.0.2" + "@smithy/util-hex-encoding" "^2.0.0" + tslib "^2.5.0" + +"@smithy/eventstream-serde-browser@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.1.tgz#7d19409327b6015b19ac926833185be2d5eee357" + integrity sha512-9E1/6ZGF7nB/Td3G1kcatU7VjjP8eZ/p/Q+0KsZc1AUPyv4lR15pmWnWj3iGBEGYI9qZBJ/7a/wPEPayabmA3Q== + dependencies: + "@smithy/eventstream-serde-universal" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + +"@smithy/eventstream-serde-config-resolver@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.1.tgz#fa3562f771a0d3dc4bc83ad7b7f437deda53b3ff" + integrity sha512-J8a+8HH8oDPIgq8Px/nPLfu9vpIjQ7XUPtP3orbs8KUh0GznNthSTy1xZP5RXjRqGQEkxPvsHf1po2+QOsgNFw== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + +"@smithy/eventstream-serde-node@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.1.tgz#d456591097f94e4fd29448fd7b33e2e1f79bfe61" + integrity sha512-wklowUz0zXJuqC7FMpriz66J8OAko3z6INTg+iMJWYB1bWv4pc5V7q36PxlZ0RKRbj0u+EThlozWgzE7Stz2Sw== + dependencies: + "@smithy/eventstream-serde-universal" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + +"@smithy/eventstream-serde-universal@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.1.tgz#206e1cd437b0da09a2a45af3ddc3b7e3b9789734" + integrity sha512-WPPylIgVZ6wOYVgpF0Rs1LlocYyj248MRtKEEehnDvC+0tV7wmGt7H/SchCh10W4y4YUxuzPlW+mUvVMGmLSVg== + dependencies: + "@smithy/eventstream-codec" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/fetch-http-handler@^1.0.1", "@smithy/fetch-http-handler@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-1.1.0.tgz#933694dcc0e1ade205161237a151c1c818479676" @@ -1825,6 +2696,27 @@ "@smithy/util-base64" "^1.1.0" tslib "^2.5.0" +"@smithy/fetch-http-handler@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-2.0.1.tgz#5c8903897d3fd7ae3758ed7760d559d72d27e902" + integrity sha512-/SoU/ClazgcdOxgE4zA7RX8euiELwpsrKCSvulVQvu9zpmqJRyEJn8ZTWYFV17/eHOBdHTs9kqodhNhsNT+cUw== + dependencies: + "@smithy/protocol-http" "^2.0.1" + "@smithy/querystring-builder" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/util-base64" "^2.0.0" + tslib "^2.5.0" + +"@smithy/hash-blob-browser@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.1.tgz#3755965d74e2438ed337f5e11cd4d332d8945a9e" + integrity sha512-i/o2+sHb4jDRz5nf2ilTTbC0nVmm4LO//FbODCAB7pbzMdywxbZ6z+q56FmEa8R+aFbtApxQ1SJ3umEiNz6IPg== + dependencies: + "@smithy/chunked-blob-reader" "^2.0.0" + "@smithy/chunked-blob-reader-native" "^2.0.0" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/hash-node@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-1.1.0.tgz#a8da64fa4b2e2c64185df92897165c8113b499b2" @@ -1835,6 +2727,25 @@ "@smithy/util-utf8" "^1.1.0" tslib "^2.5.0" +"@smithy/hash-node@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-2.0.1.tgz#458b74378cbfecf6dcd1ffc6b7ec7d29a4247efd" + integrity sha512-oTKYimQdF4psX54ZonpcIE+MXjMUWFxLCNosjPkJPFQ9whRX0K/PFX/+JZGRQh3zO9RlEOEUIbhy9NO+Wha6hw== + dependencies: + "@smithy/types" "^2.0.2" + "@smithy/util-buffer-from" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + +"@smithy/hash-stream-node@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/hash-stream-node/-/hash-stream-node-2.0.1.tgz#6a5307b12ff11bc72d28b211aca086d8d0f992a0" + integrity sha512-AequnQdPRuXf4AuvvFlSjnkWI460xxhAd6y362gFtOE4jjJLLXblbMAXVFrkV8/pDMGNjpVegVSpRmHXZsbKhg== + dependencies: + "@smithy/types" "^2.0.2" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@smithy/invalid-dependency@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-1.1.0.tgz#0552eb0090c5a20e86cbd9ca15381a4c2ec53730" @@ -1843,6 +2754,14 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/invalid-dependency@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-2.0.1.tgz#bb49b297e2141ec2ba6e131e0946af0ba59509e2" + integrity sha512-2q/Eb0AE662zwyMV+z+TL7deBwcHCgaZZGc0RItamBE8kak3MzCi/EZCNoFWoBfxgQ4jfR12wm8KKsSXhJzJtQ== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/is-array-buffer@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-1.1.0.tgz#29948072da2b57575aa9898cda863932e842ab11" @@ -1850,6 +2769,22 @@ dependencies: tslib "^2.5.0" +"@smithy/is-array-buffer@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz#8fa9b8040651e7ba0b2f6106e636a91354ff7d34" + integrity sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug== + dependencies: + tslib "^2.5.0" + +"@smithy/md5-js@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/md5-js/-/md5-js-2.0.1.tgz#e13ea73934101d89c726a4332c6a90f6188e3278" + integrity sha512-8WWOtwWMmIDgTkRv1o3opy3ABsRXs4/XunETK53ckxQRAiOML1PlnqLBK9Uwk9bvOD6cpmsC6dioIfmKGpJ25w== + dependencies: + "@smithy/types" "^2.0.2" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@smithy/middleware-content-length@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-1.1.0.tgz#77854875535f80efd036d535842c567230b78b0b" @@ -1859,6 +2794,15 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/middleware-content-length@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-2.0.1.tgz#86005cd4cb45eff5420730abe88e08d22c582d79" + integrity sha512-IZhRSk5GkVBcrKaqPXddBS2uKhaqwBgaSgbBb1OJyGsKe7SxRFbclWS0LqOR9fKUkDl+3lL8E2ffpo6EQg0igw== + dependencies: + "@smithy/protocol-http" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/middleware-endpoint@^1.0.2": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-1.1.0.tgz#ce3cfd5933c5a088339192d4fb1dd09ce6186777" @@ -1870,6 +2814,17 @@ "@smithy/util-middleware" "^1.1.0" tslib "^2.5.0" +"@smithy/middleware-endpoint@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.1.tgz#4e992dd2c9dedbff776150045904c5455df4eaf7" + integrity sha512-uz/KI1MBd9WHrrkVFZO4L4Wyv24raf0oR4EsOYEeG5jPJO5U+C7MZGLcMxX8gWERDn1sycBDqmGv8fjUMLxT6w== + dependencies: + "@smithy/middleware-serde" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/url-parser" "^2.0.1" + "@smithy/util-middleware" "^2.0.0" + tslib "^2.5.0" + "@smithy/middleware-retry@^1.0.3": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-1.1.0.tgz#084f70df112f22b5bfa0de8faaa14a5dcf22149e" @@ -1883,6 +2838,19 @@ tslib "^2.5.0" uuid "^8.3.2" +"@smithy/middleware-retry@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-2.0.1.tgz#d6c0aa9d117140a429951c8a1a92e05d9d0c218c" + integrity sha512-NKHF4i0gjSyjO6C0ZyjEpNqzGgIu7s8HOK6oT/1Jqws2Q1GynR1xV8XTUs1gKXeaNRzbzKQRewHHmfPwZjOtHA== + dependencies: + "@smithy/protocol-http" "^2.0.1" + "@smithy/service-error-classification" "^2.0.0" + "@smithy/types" "^2.0.2" + "@smithy/util-middleware" "^2.0.0" + "@smithy/util-retry" "^2.0.0" + tslib "^2.5.0" + uuid "^8.3.2" + "@smithy/middleware-serde@^1.0.1", "@smithy/middleware-serde@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-1.1.0.tgz#daed29eb34337d1206f10c09d801cc28f13e5819" @@ -1891,6 +2859,14 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/middleware-serde@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-2.0.1.tgz#daa38ebc5873f1f7d0430e7a75b7255b69c70016" + integrity sha512-uKxPaC6ItH9ZXdpdqNtf8sda7GcU4SPMp0tomq/5lUg9oiMa/Q7+kD35MUrpKaX3IVXVrwEtkjCU9dogZ/RAUA== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/middleware-stack@^1.0.1", "@smithy/middleware-stack@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-1.1.0.tgz#04edd33b5db48d880b9942c38459f193144fa533" @@ -1898,6 +2874,13 @@ dependencies: tslib "^2.5.0" +"@smithy/middleware-stack@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-2.0.0.tgz#cd9f442c2788b1ef0ea6b32236d80c76b3c342e9" + integrity sha512-31XC1xNF65nlbc16yuh3wwTudmqs6qy4EseQUGF8A/p2m/5wdd/cnXJqpniy/XvXVwkHPz/GwV36HqzHtIKATQ== + dependencies: + tslib "^2.5.0" + "@smithy/node-config-provider@^1.0.1", "@smithy/node-config-provider@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-1.1.0.tgz#86c64e4ef6a557863422a236ba10aa7ed51ad85d" @@ -1908,6 +2891,16 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/node-config-provider@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-2.0.1.tgz#5a17c2564dc9689d523408c9a6dea9ca1330c47f" + integrity sha512-Zoel4CPkKRTQ2XxmozZUfqBYqjPKL53/SvTDhJHj+VBSiJy6MXRav1iDCyFPS92t40Uh+Yi+Km5Ch3hQ+c/zSA== + dependencies: + "@smithy/property-provider" "^2.0.1" + "@smithy/shared-ini-file-loader" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/node-http-handler@^1.0.2", "@smithy/node-http-handler@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-1.1.0.tgz#887cee930b520e08043c9f41e463f8d8f5dae127" @@ -1919,6 +2912,17 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/node-http-handler@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-2.0.1.tgz#7a1b23e30c5125ec31062a8b5edbc9fdd96ac651" + integrity sha512-Zv3fxk3p9tsmPT2CKMsbuwbbxnq2gzLDIulxv+yI6aE+02WPYorObbbe9gh7SW3weadMODL1vTfOoJ9yFypDzg== + dependencies: + "@smithy/abort-controller" "^2.0.1" + "@smithy/protocol-http" "^2.0.1" + "@smithy/querystring-builder" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/property-provider@^1.0.1", "@smithy/property-provider@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-1.2.0.tgz#2e4ca34b0994ec6de734316c0093e671a1bfa5c7" @@ -1927,6 +2931,14 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/property-provider@^2.0.0", "@smithy/property-provider@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/property-provider/-/property-provider-2.0.1.tgz#4c359f5063a9c664599f88be00e3f9b3e1021d4d" + integrity sha512-pmJRyY9SF6sutWIktIhe+bUdSQDxv/qZ4mYr3/u+u45riTPN7nmRxPo+e4sjWVoM0caKFjRSlj3tf5teRFy0Vg== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/protocol-http@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-1.0.1.tgz#62fd73d73db285fd8e9a2287ed2904ac66e0d43f" @@ -1943,6 +2955,14 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/protocol-http@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-2.0.1.tgz#4257b9b8803f1e7638022a9cc6be8ea0abacac26" + integrity sha512-mrkMAp0wtaDEIkgRObWYxI1Kun1tm6Iu6rK+X4utb6Ah7Uc3Kk4VIWwK/rBHdYGReiLIrxFCB1rq4a2gyZnSgg== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/querystring-builder@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-1.1.0.tgz#de6306104640ade34e59be33949db6cc64aa9d7f" @@ -1952,6 +2972,15 @@ "@smithy/util-uri-escape" "^1.1.0" tslib "^2.5.0" +"@smithy/querystring-builder@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-builder/-/querystring-builder-2.0.1.tgz#c8326d27e3796cac8b46f580bb067e83f50b4375" + integrity sha512-bp+93WFzx1FojVEIeFPtG0A1pKsFdCUcZvVdZdRlmNooOUrz9Mm9bneRd8hDwAQ37pxiZkCOxopSXXRQN10mYw== + dependencies: + "@smithy/types" "^2.0.2" + "@smithy/util-uri-escape" "^2.0.0" + tslib "^2.5.0" + "@smithy/querystring-parser@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-1.1.0.tgz#4bf4be6d1db8b769d346a0d98c5b0db4e99a8ba6" @@ -1960,11 +2989,24 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/querystring-parser@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/querystring-parser/-/querystring-parser-2.0.1.tgz#915872aa7983218da3e87144a5b729dd6ae6f50f" + integrity sha512-h+e7k1z+IvI2sSbUBG9Aq46JsgLl4UqIUl6aigAlRBj+P6ocNXpM6Yn1vMBw5ijtXeZbYpd1YvCxwDgdw3jhmg== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/service-error-classification@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-1.1.0.tgz#264dd432ae513b3f2ad9fc6f461deda8c516173c" integrity sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww== +"@smithy/service-error-classification@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-2.0.0.tgz#bbce07c9c529d9333d40db881fd4a1795dd84892" + integrity sha512-2z5Nafy1O0cTf69wKyNjGW/sNVMiqDnb4jgwfMG8ye8KnFJ5qmJpDccwIbJNhXIfbsxTg9SEec2oe1cexhMJvw== + "@smithy/shared-ini-file-loader@^1.0.1", "@smithy/shared-ini-file-loader@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-1.1.0.tgz#144a03a303590ef7d465ebcb21ffc2a52efc3389" @@ -1973,6 +3015,14 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/shared-ini-file-loader@^2.0.0", "@smithy/shared-ini-file-loader@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.1.tgz#47278552cf9462e731077da2f66a32d21b775e15" + integrity sha512-a463YiZrPGvM+F336rIF8pLfQsHAdCRAn/BiI/EWzg5xLoxbC7GSxIgliDDXrOu0z8gT3nhVsif85eU6jyct3A== + dependencies: + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/signature-v4@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-1.1.0.tgz#e85309995c2475d39598a4f56e68b7ed856bdfa6" @@ -1987,6 +3037,20 @@ "@smithy/util-utf8" "^1.1.0" tslib "^2.5.0" +"@smithy/signature-v4@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-2.0.1.tgz#1f9e72930def3c25a3918ee7b562044fecbdaef4" + integrity sha512-jztv5Mirca42ilxmMDjzLdXcoAmRhZskGafGL49sRo5u7swEZcToEFrq6vtX5YMbSyTVrE9Teog5EFexY5Ff2Q== + dependencies: + "@smithy/eventstream-codec" "^2.0.1" + "@smithy/is-array-buffer" "^2.0.0" + "@smithy/types" "^2.0.2" + "@smithy/util-hex-encoding" "^2.0.0" + "@smithy/util-middleware" "^2.0.0" + "@smithy/util-uri-escape" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@smithy/smithy-client@^1.0.3": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-1.1.0.tgz#a546a41cc377c836756b6fa749fc9ae292472985" @@ -1997,6 +3061,16 @@ "@smithy/util-stream" "^1.1.0" tslib "^2.5.0" +"@smithy/smithy-client@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-2.0.1.tgz#34572ada6eccb62e6f0b38b6a9dc261e2cdf4d24" + integrity sha512-LHC5m6tYpEu1iNbONfvMbwtErboyTZJfEIPoD78Ei5MVr36vZQCaCla5mvo36+q/a2NAk2//fA5Rx3I1Kf7+lQ== + dependencies: + "@smithy/middleware-stack" "^2.0.0" + "@smithy/types" "^2.0.2" + "@smithy/util-stream" "^2.0.1" + tslib "^2.5.0" + "@smithy/types@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@smithy/types/-/types-1.0.0.tgz#87ab6131fe5e19cbd4d383ffb94d2b806d027d38" @@ -2011,6 +3085,13 @@ dependencies: tslib "^2.5.0" +"@smithy/types@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@smithy/types/-/types-2.0.2.tgz#49d42724c909e845bfd80a2e195740614ce497f3" + integrity sha512-wcymEjIXQ9+NEfE5Yt5TInAqe1o4n+Nh+rh00AwoazppmUt8tdo6URhc5gkDcOYrcvlDVAZE7uG69nDpEGUKxw== + dependencies: + tslib "^2.5.0" + "@smithy/url-parser@^1.0.1", "@smithy/url-parser@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-1.1.0.tgz#1d88af653b02fda0be59064bfe5420c0b34b4dcb" @@ -2020,6 +3101,15 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/url-parser@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-2.0.1.tgz#c0712fd7bde198644ffd57b202aa5d54bd437520" + integrity sha512-NpHVOAwddo+OyyIoujDL9zGL96piHWrTNXqltWmBvlUoWgt1HPyBuKs6oHjioyFnNZXUqveTOkEEq0U5w6Uv8A== + dependencies: + "@smithy/querystring-parser" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/util-base64@^1.0.1", "@smithy/util-base64@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-1.1.0.tgz#2b1854013bfd11aefdd0c035eae789d7c4e56a1e" @@ -2028,6 +3118,14 @@ "@smithy/util-buffer-from" "^1.1.0" tslib "^2.5.0" +"@smithy/util-base64@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-base64/-/util-base64-2.0.0.tgz#1beeabfb155471d1d41c8d0603be1351f883c444" + integrity sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA== + dependencies: + "@smithy/util-buffer-from" "^2.0.0" + tslib "^2.5.0" + "@smithy/util-body-length-browser@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-1.1.0.tgz#b8e7e25efb494762cb1dcc2e4c7b6f2d06286413" @@ -2035,6 +3133,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-body-length-browser@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz#5447853003b4c73da3bc5f3c5e82c21d592d1650" + integrity sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg== + dependencies: + tslib "^2.5.0" + "@smithy/util-body-length-node@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-1.1.0.tgz#afb9d4b33c5c0a5073893e5aacc17bcb2d11250d" @@ -2042,6 +3147,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-body-length-node@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-body-length-node/-/util-body-length-node-2.0.0.tgz#4870b71cb9ded0123d984898ce952ce56896bc53" + integrity sha512-ZV7Z/WHTMxHJe/xL/56qZwSUcl63/5aaPAGjkfynJm4poILjdD4GmFI+V+YWabh2WJIjwTKZ5PNsuvPQKt93Mg== + dependencies: + tslib "^2.5.0" + "@smithy/util-buffer-from@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-1.1.0.tgz#a000bd9f95c0e8d5b0edb0112f2a586daa5bed49" @@ -2050,6 +3162,14 @@ "@smithy/is-array-buffer" "^1.1.0" tslib "^2.5.0" +"@smithy/util-buffer-from@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz#7eb75d72288b6b3001bc5f75b48b711513091deb" + integrity sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw== + dependencies: + "@smithy/is-array-buffer" "^2.0.0" + tslib "^2.5.0" + "@smithy/util-config-provider@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-1.1.0.tgz#eb7dcf9bfec9c359430c77dc9671decebeb0b2f9" @@ -2057,6 +3177,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-config-provider@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz#4dd6a793605559d94267312fd06d0f58784b4c38" + integrity sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg== + dependencies: + tslib "^2.5.0" + "@smithy/util-defaults-mode-browser@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-1.1.0.tgz#60a110cdda9595865b98e26eef62206064656beb" @@ -2067,6 +3194,16 @@ bowser "^2.11.0" tslib "^2.5.0" +"@smithy/util-defaults-mode-browser@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.1.tgz#650805fc2f308dee8efcf812392a6578ebcc652d" + integrity sha512-w72Qwsb+IaEYEFtYICn0Do42eFju78hTaBzzJfT107lFOPdbjWjKnFutV+6GL/nZd5HWXY7ccAKka++C3NrjHw== + dependencies: + "@smithy/property-provider" "^2.0.1" + "@smithy/types" "^2.0.2" + bowser "^2.11.0" + tslib "^2.5.0" + "@smithy/util-defaults-mode-node@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-1.1.0.tgz#71519554f2486671272fc7ad55ea1b6345361e6d" @@ -2079,6 +3216,18 @@ "@smithy/types" "^1.2.0" tslib "^2.5.0" +"@smithy/util-defaults-mode-node@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.1.tgz#3a8fc607735481878c7c4c739da358bd0bb9bcae" + integrity sha512-dNF45caelEBambo0SgkzQ0v76m4YM+aFKZNTtSafy7P5dVF8TbjZuR2UX1A5gJABD9XK6lzN+v/9Yfzj/EDgGg== + dependencies: + "@smithy/config-resolver" "^2.0.1" + "@smithy/credential-provider-imds" "^2.0.1" + "@smithy/node-config-provider" "^2.0.1" + "@smithy/property-provider" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@smithy/util-hex-encoding@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-hex-encoding/-/util-hex-encoding-1.1.0.tgz#b5ba919aa076a3fd5e93e368e34ae2b732fa2090" @@ -2086,6 +3235,13 @@ dependencies: tslib "^2.5.0" +"@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-middleware@^1.0.1", "@smithy/util-middleware@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-1.1.0.tgz#9f186489437ca2ef753c5e1de2930f76fd1edc14" @@ -2093,6 +3249,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-middleware@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-2.0.0.tgz#706681d4a1686544a2275f68266304233f372c99" + integrity sha512-eCWX4ECuDHn1wuyyDdGdUWnT4OGyIzV0LN1xRttBFMPI9Ff/4heSHVxneyiMtOB//zpXWCha1/SWHJOZstG7kA== + dependencies: + tslib "^2.5.0" + "@smithy/util-retry@^1.0.3", "@smithy/util-retry@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-1.1.0.tgz#f6e62ec7d7d30f1dd9608991730ba7a86e445047" @@ -2101,6 +3264,14 @@ "@smithy/service-error-classification" "^1.1.0" tslib "^2.5.0" +"@smithy/util-retry@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-2.0.0.tgz#7ac5d5f12383a9d9b2a43f9ff25f3866c8727c24" + integrity sha512-/dvJ8afrElasuiiIttRJeoS2sy8YXpksQwiM/TcepqdRVp7u4ejd9C4IQURHNjlfPUT7Y6lCDSa2zQJbdHhVTg== + dependencies: + "@smithy/service-error-classification" "^2.0.0" + tslib "^2.5.0" + "@smithy/util-stream@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-1.1.0.tgz#3f174223bef33af85aa39261fccb908648e13af9" @@ -2115,6 +3286,20 @@ "@smithy/util-utf8" "^1.1.0" tslib "^2.5.0" +"@smithy/util-stream@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/util-stream/-/util-stream-2.0.1.tgz#cbe2af5704a6050b9075835a8e7251185901864b" + integrity sha512-2a0IOtwIKC46EEo7E7cxDN8u2jwOiYYJqcFKA6rd5rdXqKakHT2Gc+AqHWngr0IEHUfW92zX12wRQKwyoqZf2Q== + dependencies: + "@smithy/fetch-http-handler" "^2.0.1" + "@smithy/node-http-handler" "^2.0.1" + "@smithy/types" "^2.0.2" + "@smithy/util-base64" "^2.0.0" + "@smithy/util-buffer-from" "^2.0.0" + "@smithy/util-hex-encoding" "^2.0.0" + "@smithy/util-utf8" "^2.0.0" + tslib "^2.5.0" + "@smithy/util-uri-escape@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-1.1.0.tgz#a8c5edaf19c0efdb9b51661e840549cf600a1808" @@ -2122,6 +3307,13 @@ dependencies: tslib "^2.5.0" +"@smithy/util-uri-escape@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz#19955b1a0f517a87ae77ac729e0e411963dfda95" + integrity sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw== + dependencies: + tslib "^2.5.0" + "@smithy/util-utf8@^1.0.1", "@smithy/util-utf8@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-utf8/-/util-utf8-1.1.0.tgz#b791ab1e3f694374edfe22811e39dd8424a1be69" @@ -2130,6 +3322,23 @@ "@smithy/util-buffer-from" "^1.1.0" 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-waiter@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@smithy/util-waiter/-/util-waiter-2.0.1.tgz#1ffb4ce57e0ebbc2564e702b51fc44996ae90765" + integrity sha512-bSyGFicPRYuGFFWAr72UvYI7tE7KmEeFJJ5iaLuTTdo8RGaNBZ2kE25coGtzrejYh9AhwSfckBvbxgEDxIxhlA== + dependencies: + "@smithy/abort-controller" "^2.0.1" + "@smithy/types" "^2.0.2" + tslib "^2.5.0" + "@swc/core-darwin-arm64@1.3.71": version "1.3.71" resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.71.tgz#3cc2bfa7e3f89ec18987af863b2260a5340ff0a7" @@ -2196,6 +3405,11 @@ "@swc/core-win32-ia32-msvc" "1.3.71" "@swc/core-win32-x64-msvc" "1.3.71" +"@tokenizer/token@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@tokenizer/token/-/token-0.3.0.tgz#fe98a93fe789247e998c75e74e9c7c63217aa276" + integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A== + "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -2315,6 +3529,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.3.1.tgz#e8a83f1aa8b649377bb1fb5d7bac5cb90e784dfe" integrity sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg== +"@types/node@16.9.1": + version "16.9.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708" + integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g== + "@types/node@18.11.4": version "18.11.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.4.tgz#7017a52e18dfaad32f55eebd539993014441949c" @@ -2512,6 +3731,11 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== +any-base@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe" + integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg== + anymatch@^3.0.3: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" @@ -2682,7 +3906,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.0.2: +base64-js@^1.0.2, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -2692,6 +3916,11 @@ bcryptjs@^2.4.3: resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ== +bmp-js@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233" + integrity sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw== + bowser@^2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" @@ -2741,6 +3970,11 @@ buffer-equal-constant-time@1.0.1: resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== +buffer-equal@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" + integrity sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA== + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" @@ -2755,6 +3989,14 @@ buffer@4.9.2: ieee754 "^1.1.4" isarray "^1.0.0" +buffer@^5.2.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3001,6 +4243,11 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + dynamoose-utils@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/dynamoose-utils/-/dynamoose-utils-3.2.0.tgz#78677bdb841811f921681f2b62d7526a9fa61518" @@ -3453,6 +4700,11 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +exif-parser@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922" + integrity sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw== + exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -3535,6 +4787,15 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-type@^16.5.4: + version "16.5.4" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.4.tgz#474fb4f704bee427681f98dd390058a172a6c2fd" + integrity sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw== + dependencies: + readable-web-to-node-stream "^3.0.0" + strtok3 "^6.2.4" + token-types "^4.1.1" + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -3643,6 +4904,14 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" +gifwrap@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/gifwrap/-/gifwrap-0.10.1.tgz#9ed46a5d51913b482d4221ce9c727080260b681e" + integrity sha512-2760b1vpJHNmLzZ/ubTtNnEx5WApN/PYWJvXvgS+tL1egTTthayFYIQQNi136FLEDcN/IyEY2EcGpIITD6eYUw== + dependencies: + image-q "^4.0.0" + omggif "^1.0.10" + glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -3674,6 +4943,14 @@ glob@^7.1.3, glob@^7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" +global@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" + integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== + dependencies: + min-document "^2.19.0" + process "^0.11.10" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -3778,7 +5055,7 @@ ieee754@1.1.13: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== -ieee754@^1.1.4: +ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== @@ -3788,6 +5065,13 @@ ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== +image-q@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/image-q/-/image-q-4.0.0.tgz#31e075be7bae3c1f42a85c469b4732c358981776" + integrity sha512-PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw== + dependencies: + "@types/node" "16.9.1" + import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -3897,6 +5181,11 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +is-function@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" + integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== + is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -4002,6 +5291,14 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +isomorphic-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4" + integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA== + dependencies: + node-fetch "^2.6.1" + whatwg-fetch "^3.4.1" + istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" @@ -4405,6 +5702,16 @@ jest@29.2.1: import-local "^3.0.2" jest-cli "^29.2.1" +jimp@^0.22.10: + version "0.22.10" + resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.22.10.tgz#2cc3e265a99cdbe69ec60ddd57cbcde6a6cf0519" + integrity sha512-lCaHIJAgTOsplyJzC1w/laxSxrbSsEBw4byKwXgUdMmh+ayPsnidTblenQm+IvhIs44Gcuvlb6pd2LQ0wcKaKg== + dependencies: + "@jimp/custom" "^0.22.10" + "@jimp/plugins" "^0.22.10" + "@jimp/types" "^0.22.10" + regenerator-runtime "^0.13.3" + jmespath@0.15.0: version "0.15.0" resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" @@ -4415,6 +5722,11 @@ jmespath@0.16.0: resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== +jpeg-js@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.4.tgz#a9f1c6f1f9f0fa80cdb3484ed9635054d28936aa" + integrity sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg== + js-object-utilities@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/js-object-utilities/-/js-object-utilities-2.1.0.tgz#6ea720e85ce4ca25f55bff2ae819be95e4ec60d1" @@ -4527,6 +5839,20 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +load-bmfont@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.1.tgz#c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9" + integrity sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA== + dependencies: + buffer-equal "0.0.1" + mime "^1.3.4" + parse-bmfont-ascii "^1.0.3" + parse-bmfont-binary "^1.0.5" + parse-bmfont-xml "^1.1.4" + phin "^2.9.1" + xhr "^2.0.1" + xtend "^4.0.0" + locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -4600,11 +5926,23 @@ micromatch@^4.0.4: braces "^3.0.2" picomatch "^2.3.1" +mime@^1.3.4: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -4644,6 +5982,13 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +node-fetch@^2.6.1: + version "2.6.12" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" + integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== + dependencies: + whatwg-url "^5.0.0" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -4709,6 +6054,11 @@ obliterator@^1.6.1: resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-1.6.1.tgz#dea03e8ab821f6c4d96a299e17aef6a3af994ef3" integrity sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig== +omggif@^1.0.10, omggif@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" + integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw== + once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" @@ -4761,6 +6111,11 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== +pako@^1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -4768,6 +6123,29 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-bmfont-ascii@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285" + integrity sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA== + +parse-bmfont-binary@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006" + integrity sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA== + +parse-bmfont-xml@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.4.tgz#015319797e3e12f9e739c4d513872cd2fa35f389" + integrity sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ== + dependencies: + xml-parse-from-string "^1.0.0" + xml2js "^0.4.5" + +parse-headers@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" + integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== + parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -4803,6 +6181,16 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +peek-readable@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72" + integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg== + +phin@^2.9.1: + version "2.9.3" + resolved "https://registry.yarnpkg.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c" + integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -4818,6 +6206,13 @@ pirates@^4.0.4: resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== +pixelmatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" + integrity sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA== + dependencies: + pngjs "^3.0.0" + pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -4825,6 +6220,16 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pngjs@^3.0.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" + integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== + +pngjs@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-6.0.0.tgz#ca9e5d2aa48db0228a52c419c3308e87720da821" + integrity sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -4851,6 +6256,11 @@ pretty-format@^29.0.0, pretty-format@^29.5.0: ansi-styles "^5.0.0" react-is "^18.0.0" +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + prompts@^2.0.1: version "2.4.2" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" @@ -4889,11 +6299,32 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-web-to-node-stream@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb" + integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw== + dependencies: + readable-stream "^3.6.0" + reflect-metadata@0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== +regenerator-runtime@^0.13.3: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + regexp.prototype.flags@^1.4.3: version "1.5.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" @@ -4963,7 +6394,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -safe-buffer@^5.0.1: +safe-buffer@^5.0.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -5111,6 +6542,13 @@ string.prototype.trimstart@^1.0.6: define-properties "^1.1.4" es-abstract "^1.20.4" +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + 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" @@ -5143,6 +6581,14 @@ strnum@^1.0.5: resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== +strtok3@^6.2.4: + version "6.3.0" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.3.0.tgz#358b80ffe6d5d5620e19a073aa78ce947a90f9a0" + integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw== + dependencies: + "@tokenizer/token" "^0.3.0" + peek-readable "^4.1.0" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -5183,6 +6629,16 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +timm@^1.6.1: + version "1.7.1" + resolved "https://registry.yarnpkg.com/timm/-/timm-1.7.1.tgz#96bab60c7d45b5a10a8a4d0f0117c6b7e5aff76f" + integrity sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw== + +tinycolor2@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" + integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== + tmpl@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" @@ -5200,6 +6656,19 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +token-types@^4.1.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.1.tgz#0f897f03665846982806e138977dbe72d44df753" + integrity sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ== + dependencies: + "@tokenizer/token" "^0.3.0" + ieee754 "^1.2.1" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + ts-jest@29.0.5: version "29.0.5" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.5.tgz#c5557dcec8fe434fcb8b70c3e21c6b143bfce066" @@ -5329,6 +6798,18 @@ url@0.10.3: punycode "1.3.2" querystring "0.2.0" +utif2@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/utif2/-/utif2-4.1.0.tgz#e768d37bd619b995d56d9780b5d2b4611a3d932b" + integrity sha512-+oknB9FHrJ7oW7A2WZYajOcv4FcDR4CfoGB0dPNfxbi4GO05RRnFmt5oa23+9w32EanrYcSJWspUiJkLMs+37w== + dependencies: + pako "^1.0.11" + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + util@^0.12.4: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" @@ -5394,6 +6875,24 @@ watchpack@^2.0.0-beta.10: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-fetch@^3.4.1: + version "3.6.17" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.17.tgz#009bbbfc122b227b74ba1ff31536b3a1a0e0e212" + integrity sha512-c4ghIvG6th0eudYwKZY5keb81wtFz9/WeAHAoy8+r18kcWlitUIrmGFQ2rWEl4UCKUilD3zCLHOIPheHx5ypRQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -5462,6 +6961,21 @@ write-file-atomic@^4.0.2: imurmurhash "^0.1.4" signal-exit "^3.0.7" +xhr@^2.0.1: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" + integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== + dependencies: + global "~4.4.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xml-parse-from-string@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" + integrity sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g== + xml2js@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" @@ -5478,6 +6992,14 @@ xml2js@0.5.0: sax ">=0.6.0" xmlbuilder "~11.0.0" +xml2js@^0.4.5: + version "0.4.23" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" + integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== + dependencies: + sax ">=0.6.0" + xmlbuilder "~11.0.0" + xmlbuilder@~11.0.0: version "11.0.1" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" @@ -5488,6 +7010,11 @@ xmlbuilder@~9.0.1: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" diff --git a/package.json b/package.json index 21a6c0f..054c8d3 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "start": "yarn build && sam local start-api --docker-network sam-user-api -n .env.json", "start:prod": "yarn build && sam local start-api --template-file .aws-sam/build/template.yaml --docker-network sam-user-api -n .env.json", "build": "sam build --beta-features && cp -R layers/general/dist/node_modules .aws-sam/build/SharedLayerLambda/nodejs/node_modules", - "deploy:production": "yarn build && sam deploy --template-file .aws-sam/build/template.yaml --stack-name user-service-production --s3-bucket user-bags-service-production --capabilities CAPABILITY_IAM --no-fail-on-empty-changeset --parameter-overrides TableName=BgUsers DeployEnviroment=prod IsOffline=false DynamoHost=dynamodb.us-east-1.amazonaws.com AWSRegion=us-east-1 Expiration=2 SecretKey=shhh", + "deploy:production": "yarn build && sam deploy --template-file .aws-sam/build/template.yaml --stack-name user-service-production --s3-bucket user-bags-service-production --capabilities CAPABILITY_IAM --no-fail-on-empty-changeset --parameter-overrides TableName=BgUsers DeployEnviroment=prod IsOffline=false DynamoHost=dynamodb.us-east-1.amazonaws.com AWSRegion=us-east-1 Expiration=2 SecretKey=shhh AdminEmail=vayne.edgar@gmail.com ffmpegLayerArn=arn:aws:lambda:us-east-1:707902263176:layer:ffmpeg:1 WaterMarkImg=watermark.png", "delete:production": "sam delete --stack-name user-service-production", - "deploy:staging": "yarn build && sam deploy --template-file .aws-sam/build/template.yaml --stack-name user-service-staging --s3-bucket user-bags-service-staging --capabilities CAPABILITY_IAM --no-fail-on-empty-changeset --parameter-overrides TableName=BgUsers DeployEnviroment=prod IsOffline=false DynamoHost=dynamodb.us-east-1.amazonaws.com AWSRegion=us-east-1 Expiration=2 SecretKey=shhh", + "deploy:staging": "yarn build && sam deploy --template-file .aws-sam/build/template.yaml --stack-name user-service-staging --s3-bucket user-bags-service-staging --capabilities CAPABILITY_IAM --no-fail-on-empty-changeset --parameter-overrides TableName=BgUsers DeployEnviroment=prod IsOffline=false DynamoHost=dynamodb.us-east-1.amazonaws.com AWSRegion=us-east-1 Expiration=2 SecretKey=shhh AdminEmail=vayne.edgar@gmail.com ffmpegLayerArn=arn:aws:lambda:us-east-1:707902263176:layer:ffmpeg:1 WaterMarkImg=watermark.png", "delete:staging": "sam delete --stack-name user-service-staging", "invoke:create": "yarn build && sam local invoke 'CreateUser' --docker-network sam-user-api -e events/event.json -n .env.json", "invoke:update": "yarn build && sam local invoke 'UpdateUsers' --docker-network sam-user-api -e events/event.json -n .env.json", diff --git a/template.yaml b/template.yaml index 5d541dd..551bb30 100644 --- a/template.yaml +++ b/template.yaml @@ -20,6 +20,7 @@ Globals: DYNAMO_PORT: 4566 SECRET_KEY: !Ref SecretKey EXPIRATION: !Ref Expiration + ADMIN_EMAIL: !Ref AdminEmail Parameters: TableName: @@ -34,6 +35,12 @@ Parameters: Type: String Expiration: Type: String + AdminEmail: + Type: String + ffmpegLayerArn: + Type: String + WaterMarkImg: + Type: String Resources: # Define an SNS topic for User Service notifications @@ -50,6 +57,9 @@ Resources: Tags: - Key: Environment Value: Production + # Subscription: + # - Protocol: email + # Endpoint: !Ref emailValidator # Define an SQS queue for User Service messages UserQueue: Type: "AWS::SQS::Queue" @@ -67,7 +77,7 @@ Resources: # Set the Amazon Resource Name (ARN) of the dead-letter queue deadLetterTargetArn: !GetAtt UserDeadLetterQueue.Arn # Set the maximum number of receives before moving messages to the dead-letter queue - maxReceiveCount: 5 + maxReceiveCount: 1 # Add tags to the SQS queue (e.g., for identifying the environment) Tags: - Key: Environment @@ -80,6 +90,22 @@ Resources: QueueName: UserDeadLetterQueue # Set the message retention period (in seconds) for the dead-letter queue MessageRetentionPeriod: 1209600 + # Define an SQS [Success] queue for Meta data lambda destination + MetaDataOnSuccessQueue: + Type: "AWS::SQS::Queue" + Properties: + # Set the name of the queue + QueueName: MetaDataOnSuccessQueue + # Set the message retention period (in seconds) for the dead-letter queue + MessageRetentionPeriod: 1209600 + # Define an SQS [Fail] queue for Meta data lambda destination + MetaDataOnFailQueue: + Type: "AWS::SQS::Queue" + Properties: + # Set the name of the queue + QueueName: MetaDataOnFailQueue + # Set the message retention period (in seconds) for the dead-letter queue + MessageRetentionPeriod: 1209600 # Define an SQS Access Policy SampleSQSPolicy: Type: AWS::SQS::QueuePolicy @@ -147,6 +173,36 @@ Resources: Projection: # Specifies which attributes should be projected to the index ProjectionType: ALL + AvatarS3Bucket: + Type: "AWS::S3::Bucket" + Properties: + BucketName: avatars-bucket-ecv + AccessControl: Private + OwnershipControls: + Rules: + - ObjectOwnership: BucketOwnerPreferred + PublicAccessBlockConfiguration: + BlockPublicAcls: false + BlockPublicPolicy: false + IgnorePublicAcls: false + RestrictPublicBuckets: false + WaterMarkS3Bucket: + Type: "AWS::S3::Bucket" + Properties: + BucketName: watter-mark-ecv + AccessControl: Private + OwnershipControls: + Rules: + - ObjectOwnership: BucketOwnerPreferred + PublicAccessBlockConfiguration: + BlockPublicAcls: false + BlockPublicPolicy: false + IgnorePublicAcls: false + RestrictPublicBuckets: false + MySESVerifiedEmail: + Type: "AWS::SES::EmailIdentity" + Properties: + EmailIdentity: !Ref AdminEmail SharedLayerLambda: Type: AWS::Serverless::LayerVersion @@ -168,10 +224,15 @@ Resources: Policies: - DynamoDBCrudPolicy: TableName: !Ref TableName + - SNSPublishMessagePolicy: + TopicName: !GetAtt TopicUserService.TopicName Architectures: - x86_64 Layers: - !Ref SharedLayerLambda # Reference to the Lambda Layer + Environment: + Variables: + TOPIC_ARN: !Ref TopicUserService Events: UserAPI: Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api @@ -189,6 +250,95 @@ Resources: EntryPoints: - create-user.ts + NotificationUser: + Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction + Properties: + CodeUri: lambdas/src/functions/ + Handler: user-message.handler + Runtime: nodejs18.x + Policies: + - SQSPollerPolicy: + QueueName: !GetAtt UserQueue.QueueName + - AmazonSESFullAccess + Architectures: + - x86_64 + Layers: + - !Ref SharedLayerLambda # Reference to the Lambda Layer + Events: + UserQueue: + Type: SQS + Properties: + Queue: !GetAtt UserQueue.Arn + BatchSize: 10 + Metadata: # Manage esbuild properties + BuildMethod: esbuild + BuildProperties: + Minify: true + External: + - "@general" + Target: es2020 + Sourcemap: false + EntryPoints: + - user-message.ts + + MetaDataValidator: + Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction + Properties: + CodeUri: lambdas/src/functions/ + Handler: meta-data-validator.handler + Runtime: nodejs18.x + Architectures: + - x86_64 + Policies: + - SQSSendMessagePolicy: + QueueName: !GetAtt MetaDataOnSuccessQueue.QueueName + - SQSSendMessagePolicy: + QueueName: !GetAtt MetaDataOnFailQueue.QueueName + - S3WritePolicy: + BucketName: !Ref WaterMarkS3Bucket + - S3ReadPolicy: + BucketName: !Ref WaterMarkS3Bucket + - S3ReadPolicy: + BucketName: avatars-bucket-ecv + Environment: + Variables: + BUCKET_NAME: !Ref WaterMarkS3Bucket + WATER_MARK_IMG: !Ref WaterMarkImg + EphemeralStorage: + Size: 10240 + Layers: + - !Ref SharedLayerLambda # Reference to the Lambda Layer + - !Ref ffmpegLayerArn + EventInvokeConfig: + DestinationConfig: + OnSuccess: + Type: SQS + Destination: !GetAtt MetaDataOnSuccessQueue.Arn + OnFailure: + Type: SQS + Destination: !GetAtt MetaDataOnFailQueue.Arn + Events: + MyS3Event: + Type: S3 + Properties: + Bucket: !Ref AvatarS3Bucket + Events: s3:ObjectCreated:* + # Filter: + # S3Key: + # Rules: + # - Name: suffix + # Value: .png + Metadata: # Manage esbuild properties + BuildMethod: esbuild + BuildProperties: + Minify: true + External: + - "@general" + Target: es2020 + Sourcemap: false + EntryPoints: + - meta-data-validator.ts + GetUserById: Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction Properties: @@ -318,15 +468,10 @@ Resources: Policies: - DynamoDBCrudPolicy: TableName: !Ref TableName - - SNSPublishMessagePolicy: - TopicName: !GetAtt TopicUserService.TopicName Architectures: - x86_64 Layers: - !Ref SharedLayerLambda # Reference to the Lambda Layer - Environment: - Variables: - TOPIC_ARN: !Ref TopicUserService Events: UserAPI: Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api @@ -344,35 +489,6 @@ Resources: EntryPoints: - login.ts - NotificationUser: - Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction - Properties: - CodeUri: lambdas/src/functions/ - Handler: user-message.handler - Runtime: nodejs18.x - Policies: - - SQSPollerPolicy: - QueueName: !GetAtt UserQueue.QueueName - Architectures: - - x86_64 - Layers: - - !Ref SharedLayerLambda # Reference to the Lambda Layer - Events: - UserQueue: - Type: SQS - Properties: - Queue: !GetAtt UserQueue.Arn - Metadata: # Manage esbuild properties - BuildMethod: esbuild - BuildProperties: - Minify: true - External: - - "@general" - Target: es2020 - Sourcemap: false - EntryPoints: - - user-message.ts - ApplicationResourceGroup: Type: AWS::ResourceGroups::Group Properties: