From 821756af96db893ef68bd028e2bf8e696df9be08 Mon Sep 17 00:00:00 2001 From: Rajat Saxena Date: Thu, 6 Nov 2025 11:58:48 +0530 Subject: [PATCH 01/12] Uploads are temporary by default --- apps/api/__tests__/services/s3.test.ts | 84 + apps/api/package.json | 24 +- apps/api/src/config/constants.ts | 13 +- apps/api/src/index.ts | 29 +- apps/api/src/media/GetPageProps.ts | 3 +- apps/api/src/media/cleanup.ts | 50 + apps/api/src/media/handlers.ts | 30 +- apps/api/src/media/model.ts | 28 +- apps/api/src/media/queries.ts | 57 +- apps/api/src/media/routes.ts | 2 + apps/api/src/media/service.ts | 190 +- apps/api/src/media/utils/generate-key.ts | 6 +- apps/api/src/services/s3.ts | 72 +- apps/api/src/signature/handlers.ts | 3 - apps/api/src/signature/service.ts | 4 - apps/api/src/tus/cleanup.ts | 17 +- apps/api/src/tus/finalize.ts | 23 +- apps/api/src/tus/utils.ts | 25 +- apps/docs/content/docs/self-hosting.mdx | 21 +- apps/docs/public/bucket-policy.png | Bin 0 -> 145533 bytes docker-compose.yml | 2 +- .../components/TusUploadForm.tsx | 1 - packages/medialit/__tests__/index.test.ts | 2 +- packages/medialit/package.json | 3 +- packages/medialit/src/index.ts | 2 +- packages/medialit/src/media.ts | 13 - packages/models/src/access-control.ts | 4 + packages/models/src/constants.ts | 4 + packages/models/src/index.ts | 2 + packages/models/src/media-schema.ts | 15 +- packages/models/src/media.ts | 5 +- pnpm-lock.yaml | 1709 +++++++++-------- tsconfig.json | 2 +- 33 files changed, 1496 insertions(+), 949 deletions(-) create mode 100644 apps/api/__tests__/services/s3.test.ts create mode 100644 apps/api/src/media/cleanup.ts create mode 100644 apps/docs/public/bucket-policy.png delete mode 100644 packages/medialit/src/media.ts create mode 100644 packages/models/src/access-control.ts diff --git a/apps/api/__tests__/services/s3.test.ts b/apps/api/__tests__/services/s3.test.ts new file mode 100644 index 00000000..9873bd5f --- /dev/null +++ b/apps/api/__tests__/services/s3.test.ts @@ -0,0 +1,84 @@ +import { describe, test } from "node:test"; +import assert from "node:assert"; + +describe("S3 Client Configuration", () => { + test("should include endpoint and forcePathStyle when cloudEndpoint is set", () => { + // Set cloudEndpoint in environment + const originalEnv = process.env.CLOUD_ENDPOINT; + process.env.CLOUD_ENDPOINT = "http://localhost:9000"; + process.env.CLOUD_REGION = "us-east-1"; + process.env.CLOUD_KEY = "test-key"; + process.env.CLOUD_SECRET = "test-secret"; + + // Clear module cache to force re-evaluation with new env + const modulePath = require.resolve("../../src/services/s3"); + const constantsPath = require.resolve("../../src/config/constants"); + delete require.cache[modulePath]; + delete require.cache[constantsPath]; + + // Re-import to get fresh config + const { s3ClientConfig } = require("../../src/services/s3"); + + // Verify config structure + assert.ok( + s3ClientConfig !== undefined, + "s3ClientConfig should be defined", + ); + assert.strictEqual( + s3ClientConfig.endpoint, + "http://localhost:9000", + "endpoint should be set when cloudEndpoint is provided", + ); + assert.strictEqual( + s3ClientConfig.forcePathStyle, + true, + "forcePathStyle should be true when cloudEndpoint is provided", + ); + + // Restore original env + if (originalEnv !== undefined) { + process.env.CLOUD_ENDPOINT = originalEnv; + } else { + delete process.env.CLOUD_ENDPOINT; + } + }); + + test("should not include endpoint or forcePathStyle when cloudEndpoint is not set", () => { + // Unset cloudEndpoint + const originalEnv = process.env.CLOUD_ENDPOINT; + delete process.env.CLOUD_ENDPOINT; + process.env.CLOUD_REGION = "us-east-1"; + process.env.CLOUD_KEY = "test-key"; + process.env.CLOUD_SECRET = "test-secret"; + + // Clear module cache + const modulePath = require.resolve("../../src/services/s3"); + const constantsPath = require.resolve("../../src/config/constants"); + delete require.cache[modulePath]; + delete require.cache[constantsPath]; + + // Re-import to get fresh config + const { s3ClientConfig } = require("../../src/services/s3"); + + // Verify config structure + assert.ok( + s3ClientConfig !== undefined, + "s3ClientConfig should be defined", + ); + assert.strictEqual( + s3ClientConfig.endpoint, + undefined, + "endpoint should not be set when cloudEndpoint is not provided", + ); + assert.strictEqual( + s3ClientConfig.forcePathStyle, + undefined, + "forcePathStyle should not be set when cloudEndpoint is not provided", + ); + + // Restore original env + if (originalEnv !== undefined) { + process.env.CLOUD_ENDPOINT = originalEnv; + } + }); +}); diff --git a/apps/api/package.json b/apps/api/package.json index 71725386..c9ed901e 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -31,9 +31,9 @@ "test": "node --import tsx --test '**/*.test.ts'" }, "dependencies": { - "@aws-sdk/client-s3": "^3.55.0", + "@aws-sdk/client-s3": "^3.922.0", "@aws-sdk/cloudfront-signer": "^3.572.0", - "@aws-sdk/s3-request-presigner": "^3.55.0", + "@aws-sdk/s3-request-presigner": "^3.922.0", "@medialit/images": "workspace:*", "@medialit/models": "workspace:*", "@medialit/thumbnail": "workspace:*", @@ -42,14 +42,14 @@ "@tus/server": "^2.3.0", "aws-sdk": "^2.1692.0", "cors": "^2.8.5", - "dotenv": "^16.4.7", + "dotenv": "^17.2.3", "express": "^4.2.0", - "express-fileupload": "^1.3.1", + "express-fileupload": "^1.5.2", "joi": "^17.6.0", - "mongoose": "^8.0.1", - "passport": "^0.5.2", - "passport-jwt": "^4.0.0", - "pino": "^7.9.1" + "mongoose": "^8.19.3", + "passport": "^0.7.0", + "passport-jwt": "^4.0.1", + "pino": "^10.1.0" }, "devDependencies": { "@types/cors": "^2.8.12", @@ -62,9 +62,9 @@ "@typescript-eslint/eslint-plugin": "^5.17.0", "@typescript-eslint/parser": "^5.17.0", "eslint": "^8.12.0", - "nodemon": "^3.0.3", - "ts-node": "^10.7.0", - "tsx": "^4.7.0", - "typescript": "^5.2.2" + "nodemon": "^3.1.10", + "ts-node": "^10.9.2", + "tsx": "^4.20.6", + "typescript": "^5.9.3" } } diff --git a/apps/api/src/config/constants.ts b/apps/api/src/config/constants.ts index 86f31abb..33d9d288 100644 --- a/apps/api/src/config/constants.ts +++ b/apps/api/src/config/constants.ts @@ -51,7 +51,8 @@ export const cloudKey = process.env.CLOUD_KEY || ""; export const cloudSecret = process.env.CLOUD_SECRET || ""; export const cloudBucket = process.env.CLOUD_BUCKET_NAME || ""; export const CLOUD_PREFIX = process.env.CLOUD_PREFIX || ""; -export const S3_ENDPOINT = process.env.S3_ENDPOINT || ""; +export const PUBLIC_ENDPOINT = process.env.PUBLIC_ENDPOINT || ""; +export const HOUR_IN_SECONDS = 1000 * 60 * 60; // Cloudfront config export const USE_CLOUDFRONT = process.env.USE_CLOUDFRONT === "true"; @@ -60,7 +61,11 @@ export const CLOUDFRONT_KEY_PAIR_ID = process.env.CLOUDFRONT_KEY_PAIR_ID || ""; export const CLOUDFRONT_PRIVATE_KEY = process.env.CLOUDFRONT_PRIVATE_KEY || ""; export const CDN_MAX_AGE = process.env.CDN_MAX_AGE ? +process.env.CDN_MAX_AGE - : 1000 * 60 * 60; // one hour + : HOUR_IN_SECONDS; // one hour -export const ENDPOINT = USE_CLOUDFRONT ? CLOUDFRONT_ENDPOINT : S3_ENDPOINT; -export const HOSTNAME_OVERRIDE = process.env.HOSTNAME_OVERRIDE || ""; // Useful for hosting via Docker +export const ENDPOINT = USE_CLOUDFRONT ? CLOUDFRONT_ENDPOINT : PUBLIC_ENDPOINT; +export const TEMP_MEDIA_EXPIRATION_HOURS = process.env + .TEMP_MEDIA_EXPIRATION_HOURS + ? +process.env.TEMP_MEDIA_EXPIRATION_HOURS + : 24; // 24 hours +export const DISABLE_TAGGING = process.env.DISABLE_TAGGING === "true"; diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 8a5a8ab5..0c0b8f72 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -13,7 +13,9 @@ import { createUser, findByEmail } from "./user/queries"; import { Apikey, User } from "@medialit/models"; import { createApiKey } from "./apikey/queries"; import { spawn } from "child_process"; -import { Cleanup } from "./tus/cleanup"; +import { cleanupTUSUploads } from "./tus/cleanup"; +import { cleanupExpiredTempUploads } from "./media/cleanup"; +import { HOUR_IN_SECONDS } from "./config/constants"; connectToDatabase(); const app = express(); @@ -34,6 +36,19 @@ app.use("/media/signature", signatureRoutes); app.use("/media", tusRoutes); app.use("/media", mediaRoutes); +app.get("/cleanup/temp", async (req, res) => { + await cleanupExpiredTempUploads(); + res.status(200).json({ + message: "Expired temp uploads cleaned up", + }); +}); +app.get("/cleanup/tus", async (req, res) => { + await cleanupTUSUploads(); + res.status(200).json({ + message: "Expired tus uploads cleaned up", + }); +}); + const port = process.env.PORT || 80; if (process.env.EMAIL) { @@ -48,9 +63,17 @@ checkDependencies().then(() => { // Setup background cleanup job for expired tus uploads setInterval( async () => { - await Cleanup(); + await cleanupTUSUploads(); + }, + HOUR_IN_SECONDS, // 1 hour + ); + + // Setup background cleanup job for expired temp uploads + setInterval( + async () => { + await cleanupExpiredTempUploads(); }, - 1000 * 60 * 60, // 1 hours + HOUR_IN_SECONDS, // 1 hour ); }); diff --git a/apps/api/src/media/GetPageProps.ts b/apps/api/src/media/GetPageProps.ts index 794e4ed7..9bdfb50b 100644 --- a/apps/api/src/media/GetPageProps.ts +++ b/apps/api/src/media/GetPageProps.ts @@ -1,9 +1,10 @@ +import { AccessControl } from "@medialit/models"; import mongoose from "mongoose"; export default interface GetPageProps { userId: mongoose.Types.ObjectId; apikey: string; - access: "public-read" | "private"; + access: AccessControl; page: number; recordsPerPage: number; group?: string; diff --git a/apps/api/src/media/cleanup.ts b/apps/api/src/media/cleanup.ts new file mode 100644 index 00000000..4ce0007d --- /dev/null +++ b/apps/api/src/media/cleanup.ts @@ -0,0 +1,50 @@ +import logger from "../services/log"; +import MediaModel from "./model"; +import { deleteFolder } from "../services/s3"; +import { CLOUD_PREFIX, TEMP_MEDIA_EXPIRATION_HOURS } from "../config/constants"; + +export async function cleanupExpiredTempUploads(): Promise { + const cutoff = new Date( + Date.now() - TEMP_MEDIA_EXPIRATION_HOURS * 1000 * 60 * 60, + ); + + try { + const expired = await MediaModel.find({ + temp: true, + createdAt: { $lt: cutoff }, + }).lean(); + + if (expired.length === 0) { + logger.info("No expired temp uploads found to cleanup"); + return; + } + + logger.info( + { count: expired.length }, + "Found expired temp uploads to cleanup", + ); + + let count = 0; + for (const media of expired) { + try { + // Delete S3 objects in tmp folder + const tmpPrefix = `${CLOUD_PREFIX ? `${CLOUD_PREFIX}/` : ""}tmp/${media.mediaId}/`; + await deleteFolder(tmpPrefix); + + // Delete media record + await MediaModel.deleteOne({ _id: media._id }); + count++; + } catch (err: any) { + logger.error( + { err, mediaId: media.mediaId }, + "Error cleaning up expired temp upload", + ); + } + } + logger.info({ count }, "Cleaned up expired temp uploads"); + } catch (err: any) { + logger.error({ err }, "Error in cleanupExpiredTempUploads"); + } +} + +export default cleanupExpiredTempUploads; diff --git a/apps/api/src/media/handlers.ts b/apps/api/src/media/handlers.ts index ec145076..2c385d7e 100644 --- a/apps/api/src/media/handlers.ts +++ b/apps/api/src/media/handlers.ts @@ -32,7 +32,7 @@ export async function uploadMedia( res: any, next: (...args: any[]) => void, ) { - req.socket.setTimeout(10 * 60 * 1000); + req.socket.setTimeout(10 * 60 * 1000); // 10 minutes if (!req.files || !req.files.file) { return res.status(400).json({ error: FILE_IS_REQUIRED }); @@ -180,3 +180,31 @@ export async function deleteMedia(req: any, res: any) { return res.status(500).json(err.message); } } + +export async function sealMedia(req: any, res: any) { + const { mediaId } = req.params; + + try { + const media = await mediaService.sealMedia({ + userId: req.user.id, + apikey: req.apikey, + mediaId, + }); + + const mediaDetails = await mediaService.getMediaDetails({ + userId: req.user.id, + apikey: req.apikey, + mediaId: media.mediaId, + }); + + return res.status(200).json(mediaDetails); + } catch (err: any) { + logger.error({ err }, err.message); + const statusCode = + err.message === "Media not found" || + err.message === "Media is already sealed" + ? 404 + : 500; + return res.status(statusCode).json({ error: err.message }); + } +} diff --git a/apps/api/src/media/model.ts b/apps/api/src/media/model.ts index f5fbb92a..68ba5d60 100644 --- a/apps/api/src/media/model.ts +++ b/apps/api/src/media/model.ts @@ -1,30 +1,4 @@ -import { Media } from "@medialit/models"; +import { MediaSchema } from "@medialit/models"; import mongoose from "mongoose"; -export type MediaWithUserId = Media & { userId: mongoose.Types.ObjectId }; - -const MediaSchema = new mongoose.Schema( - { - fileName: { type: String, required: true }, - mediaId: { type: String, required: true }, - userId: { type: mongoose.Schema.Types.ObjectId, required: true }, - apikey: { type: String, required: true }, - originalFileName: { type: String, required: true }, - mimeType: { type: String, required: true }, - size: { type: Number, required: true }, - thumbnailGenerated: { type: Boolean, required: true, default: false }, - accessControl: { type: String, required: true, default: "private" }, - group: { type: String }, - caption: { type: String }, - }, - { - timestamps: true, - }, -); - -MediaSchema.index({ - originalFileName: "text", - caption: "text", -}); - export default mongoose.models.Media || mongoose.model("Media", MediaSchema); diff --git a/apps/api/src/media/queries.ts b/apps/api/src/media/queries.ts index a9b26a7c..5624c735 100644 --- a/apps/api/src/media/queries.ts +++ b/apps/api/src/media/queries.ts @@ -1,7 +1,8 @@ -import mongoose from "mongoose"; +import mongoose, { FilterQuery } from "mongoose"; import { numberOfRecordsPerPage } from "../config/constants"; import GetPageProps from "./GetPageProps"; -import MediaModel, { MediaWithUserId } from "./model"; +import MediaModel from "./model"; +import { Constants, type MediaWithUserId } from "@medialit/models"; export async function getMedia({ userId, @@ -16,6 +17,7 @@ export async function getMedia({ mediaId, apikey, userId, + // temp: { $ne: true }, }).lean()) as MediaWithUserId | null; } @@ -26,7 +28,11 @@ export async function getMediaCount({ userId: string; apikey: string; }): Promise { - return await MediaModel.countDocuments({ apikey, userId }).lean(); + return await MediaModel.countDocuments({ + apikey, + userId, + temp: { $ne: true }, + }).lean(); } export async function getTotalSpace({ @@ -36,7 +42,9 @@ export async function getTotalSpace({ userId: mongoose.Types.ObjectId; apikey?: string; }): Promise { - const query = apikey ? { userId, apikey } : { userId }; + const query = apikey + ? { userId, apikey, temp: { $ne: true } } + : { userId, temp: { $ne: true } }; const result = await MediaModel.aggregate([ { $match: query, @@ -70,9 +78,16 @@ export async function getPaginatedMedia({ group, recordsPerPage, }: GetPageProps): Promise { - const query: Partial = { userId, apikey }; + const query: FilterQuery = { + userId, + apikey, + temp: { $ne: true }, + }; if (access) { - query.accessControl = access === "private" ? "private" : "public-read"; + query.accessControl = + access === Constants.AccessControl.PRIVATE + ? Constants.AccessControl.PRIVATE + : Constants.AccessControl.PUBLIC; } if (group) { query.group = group; @@ -102,32 +117,10 @@ export async function deleteMediaQuery( return await MediaModel.deleteOne({ userId, mediaId }); } -export async function createMedia({ - fileName, - mediaId, - userId, - apikey, - originalFileName, - mimeType, - size, - thumbnailGenerated, - caption, - accessControl, - group, -}: MediaWithUserId): Promise { - const media: MediaWithUserId = await MediaModel.create({ - fileName, - mediaId, - userId, - apikey, - originalFileName, - mimeType, - size, - thumbnailGenerated, - caption, - accessControl, - group, - }); +export async function createMedia( + mediaData: MediaWithUserId, +): Promise { + const media: MediaWithUserId = await MediaModel.create(mediaData); return media; } diff --git a/apps/api/src/media/routes.ts b/apps/api/src/media/routes.ts index f26f957c..c2d72ac7 100644 --- a/apps/api/src/media/routes.ts +++ b/apps/api/src/media/routes.ts @@ -11,6 +11,7 @@ import { getMediaDetails, uploadMedia, deleteMedia, + sealMedia, getMediaCount, getTotalSpaceOccupied, } from "./handlers"; @@ -51,6 +52,7 @@ router.post("/get/count", apikey, getMediaCount); router.post("/get/size", apikey, getTotalSpaceOccupied); router.post("/get/:mediaId", apikey, getMediaDetails); router.post("/get", apikey, getMedia); +router.post("/seal/:mediaId", apikey, sealMedia); router.delete("/delete/:mediaId", apikey, deleteMedia); export default router; diff --git a/apps/api/src/media/service.ts b/apps/api/src/media/service.ts index 627b54d9..f3642e49 100644 --- a/apps/api/src/media/service.ts +++ b/apps/api/src/media/service.ts @@ -7,6 +7,7 @@ import { videoPattern, imagePatternForThumbnailGeneration, USE_CLOUDFRONT, + CLOUD_PREFIX, } from "../config/constants"; import imageUtils from "@medialit/images"; import { @@ -14,14 +15,15 @@ import { createFolders, moveFile, } from "./utils/manage-files-on-disk"; -import type { MediaWithUserId } from "./model"; import { generateSignedUrl, generateCDNSignedUrl, putObject, deleteObject, + copyObject, + deleteFolder, + getObjectTagging, UploadParams, - getObjectTagging as objectTagging, } from "../services/s3"; import logger from "../services/log"; import generateKey from "./utils/generate-key"; @@ -35,9 +37,11 @@ import { getPaginatedMedia, createMedia, } from "./queries"; +import MediaModel from "./model"; import * as presignedUrlService from "../signature/service"; import getTags from "./utils/get-tags"; import { getMainFileUrl, getThumbnailUrl } from "./utils/get-public-urls"; +import { AccessControl, Constants, MediaWithUserId } from "@medialit/models"; const generateAndUploadThumbnail = async ({ workingDirectory, @@ -69,7 +73,6 @@ const generateAndUploadThumbnail = async ({ Key: key, Body: createReadStream(thumbPath), ContentType: "image/webp", - ACL: USE_CLOUDFRONT ? "private" : "public-read", Tagging: tags, }); } @@ -122,16 +125,11 @@ async function upload({ const uploadParams: UploadParams = { Key: generateKey({ mediaId: fileName.name, - access: access === "public" ? "public" : "private", + path: "tmp", filename: `main.${fileExtension}`, }), Body: createReadStream(mainFilePath), ContentType: mimeType, - ACL: USE_CLOUDFRONT - ? "private" - : access === "public" - ? "public-read" - : "private", }; const tags = getTags(userId, group); uploadParams.Tagging = tags; @@ -146,7 +144,7 @@ async function upload({ originalFilePath: mainFilePath, key: generateKey({ mediaId: fileName.name, - access: "public", + path: "tmp", filename: "thumb.webp", }), tags, @@ -167,8 +165,12 @@ async function upload({ size: file.size, thumbnailGenerated: isThumbGenerated, caption, - accessControl: access === "public" ? "public-read" : "private", + accessControl: + access === Constants.AccessControl.PUBLIC + ? Constants.AccessControl.PUBLIC + : Constants.AccessControl.PRIVATE, group, + temp: true, }; const media = await createMedia(mediaObject); @@ -185,9 +187,9 @@ async function upload({ } type MappedMedia = Partial< - Omit, "thumbnailGenerated"> + Omit, "thumbnailGenerated"> > & { - access: "private" | "public"; + access: AccessControl; thumbnail: string; }; @@ -208,12 +210,15 @@ async function getPage({ recordsPerPage, }); const mappedResult = result.map( - (media: MediaWithUserId): MappedMedia => ({ + (media): MappedMedia => ({ mediaId: media.mediaId, originalFileName: media.originalFileName, mimeType: media.mimeType, size: media.size, - access: media.accessControl === "private" ? "private" : "public", + access: + media.accessControl === Constants.AccessControl.PRIVATE + ? Constants.AccessControl.PRIVATE + : Constants.AccessControl.PUBLIC, thumbnail: media.thumbnailGenerated ? getThumbnailUrl(media.mediaId) : "", @@ -243,32 +248,60 @@ async function getMediaDetails({ return null; } - const key = generateKey({ - mediaId: media.mediaId, - access: media.accessControl === "private" ? "private" : "public", - filename: `main.${path.extname(media.fileName).replace(".", "")}`, - }); + // const key = generateKey({ + // mediaId: media.mediaId, + // path: media.temp + // ? "tmp" + // : media.accessControl === Constants.AccessControl.PRIVATE + // ? Constants.AccessControl.PRIVATE + // : Constants.AccessControl.PUBLIC, + // filename: `main.${path.extname(media.fileName).replace(".", "")}`, + // }); return { mediaId: media.mediaId, originalFileName: media.originalFileName, mimeType: media.mimeType, size: media.size, - access: media.accessControl === "private" ? "private" : "public", + access: + media.accessControl === Constants.AccessControl.PRIVATE + ? Constants.AccessControl.PRIVATE + : Constants.AccessControl.PUBLIC, file: - media.accessControl === "private" - ? USE_CLOUDFRONT - ? generateCDNSignedUrl(key) - : await generateSignedUrl(key) + media.accessControl === Constants.AccessControl.PRIVATE || + media.temp + ? await getPrivateFileUrl(media) : getMainFileUrl(media), thumbnail: media.thumbnailGenerated - ? getThumbnailUrl(media.mediaId) + ? media.temp + ? await getPrivateFileUrl(media, true) + : getThumbnailUrl(media.mediaId) : "", caption: media.caption, group: media.group, }; } +async function getPrivateFileUrl(media: MediaWithUserId, thumb?: boolean) { + const filename = thumb + ? "thumb.webp" + : `main.${path.extname(media.fileName).replace(".", "")}`; + + const key = generateKey({ + mediaId: media.mediaId, + path: media.temp + ? "tmp" + : media.accessControl === Constants.AccessControl.PRIVATE + ? Constants.AccessControl.PRIVATE + : Constants.AccessControl.PUBLIC, + filename, + }); + + return USE_CLOUDFRONT + ? generateCDNSignedUrl(key) + : await generateSignedUrl(key); +} + async function deleteMedia({ userId, apikey, @@ -283,7 +316,11 @@ async function deleteMedia({ const key = generateKey({ mediaId, - access: media.accessControl === "private" ? "private" : "public", + path: media.temp + ? "tmp" + : media.accessControl === Constants.AccessControl.PRIVATE + ? Constants.AccessControl.PRIVATE + : Constants.AccessControl.PUBLIC, filename: `main.${media.fileName.split(".")[1]}`, }); await deleteObject({ Key: key }); @@ -291,7 +328,7 @@ async function deleteMedia({ if (media.thumbnailGenerated) { const thumbKey = generateKey({ mediaId, - access: "public", + path: media.temp ? "tmp" : Constants.AccessControl.PUBLIC, filename: "thumb.webp", }); await deleteObject({ Key: thumbKey }); @@ -300,9 +337,106 @@ async function deleteMedia({ await deleteMediaQuery(userId, mediaId); } +async function sealMedia({ + userId, + apikey, + mediaId, +}: { + userId: string; + apikey: string; + mediaId: string; +}): Promise { + const media = await getMedia({ userId, apikey, mediaId }); + if (!media) { + throw new Error("Media not found"); + } + + if (!media.temp) { + throw new Error("Media is already sealed"); + } + + // Determine final access path + const finalAccess = + media.accessControl === Constants.AccessControl.PUBLIC + ? Constants.AccessControl.PUBLIC + : Constants.AccessControl.PRIVATE; + const fileExtension = path.extname(media.fileName).replace(".", ""); + + // Get tags from source object + const tmpMainKey = generateKey({ + mediaId, + path: "tmp", + filename: `main.${fileExtension}`, + }); + let tags: string | undefined; + try { + const taggingResponse = await getObjectTagging({ Key: tmpMainKey }); + if (taggingResponse.TagSet && taggingResponse.TagSet.length > 0) { + tags = taggingResponse.TagSet.map( + (tag: any) => `${tag.Key}=${tag.Value}`, + ).join("&"); + } + } catch (err: any) { + logger.warn({ err }, "Failed to get tags from source object"); + } + + // Copy main file from tmp to final location + const finalMainKey = generateKey({ + mediaId, + path: finalAccess, + filename: `main.${fileExtension}`, + }); + + await copyObject({ + sourceKey: tmpMainKey, + destinationKey: finalMainKey, + ContentType: media.mimeType, + Tagging: tags, + }); + + // Copy thumbnail from tmp to public location (if exists) + if (media.thumbnailGenerated) { + const tmpThumbKey = generateKey({ + mediaId, + path: "tmp", + filename: "thumb.webp", + }); + const finalThumbKey = generateKey({ + mediaId, + path: Constants.AccessControl.PUBLIC, + filename: "thumb.webp", + }); + + await copyObject({ + sourceKey: tmpThumbKey, + destinationKey: finalThumbKey, + ContentType: "image/webp", + Tagging: tags, + }); + } + + // Delete tmp folder + const tmpPrefix = `${CLOUD_PREFIX ? `${CLOUD_PREFIX}/` : ""}tmp/${mediaId}/`; + await deleteFolder(tmpPrefix); + + // Update media record to remove temp flag + await MediaModel.updateOne( + { mediaId, userId, apikey }, + { $unset: { temp: "" } }, + ); + + // Fetch and return the updated media + const updatedMedia = await getMedia({ userId, apikey, mediaId }); + if (!updatedMedia) { + throw new Error("Failed to retrieve updated media"); + } + return updatedMedia; +} + export default { upload, getPage, getMediaDetails, deleteMedia, + sealMedia, }; diff --git a/apps/api/src/media/utils/generate-key.ts b/apps/api/src/media/utils/generate-key.ts index 1edbc0e1..9493fb63 100644 --- a/apps/api/src/media/utils/generate-key.ts +++ b/apps/api/src/media/utils/generate-key.ts @@ -2,14 +2,14 @@ import { CLOUD_PREFIX } from "../../config/constants"; export default function generateKey({ mediaId, - access, + path, filename, }: { mediaId: string; - access: "private" | "public"; + path: "tmp" | "private" | "public"; filename: string; }): string { return `${ CLOUD_PREFIX ? `${CLOUD_PREFIX}/` : "" - }${access}/${mediaId}/${filename}`; + }${path}/${mediaId}/${filename}`; } diff --git a/apps/api/src/services/s3.ts b/apps/api/src/services/s3.ts index 8e935a81..020ebaed 100644 --- a/apps/api/src/services/s3.ts +++ b/apps/api/src/services/s3.ts @@ -6,6 +6,8 @@ import { DeleteObjectCommand, GetObjectCommand, GetObjectTaggingCommand, + CopyObjectCommand, + ListObjectsV2Command, } from "@aws-sdk/client-s3"; import { cloudEndpoint, @@ -17,6 +19,7 @@ import { CLOUDFRONT_PRIVATE_KEY, CDN_MAX_AGE, CLOUDFRONT_ENDPOINT, + DISABLE_TAGGING, } from "../config/constants"; import { getSignedUrl as getCfSignedUrl } from "@aws-sdk/cloudfront-signer"; @@ -24,7 +27,6 @@ export interface UploadParams { Key: string; Body: ReadStream; ContentType: string; - ACL: "private" | "public-read"; Tagging?: string; } @@ -32,28 +34,43 @@ export interface DeleteParams { Key: string; } +export interface CopyParams { + sourceKey: string; + destinationKey: string; + ContentType?: string; + Tagging?: string; +} + export interface PresignedURLParams { name: string; mimetype?: string; } let s3Client: S3Client | null = null; +export const s3ClientConfig: any = { + region: cloudRegion, + credentials: { + accessKeyId: cloudKey, + secretAccessKey: cloudSecret, + }, +}; + +if (cloudEndpoint) { + s3ClientConfig.endpoint = cloudEndpoint; + s3ClientConfig.forcePathStyle = true; +} const getS3Client = () => { if (!s3Client) { - s3Client = new S3Client({ - region: cloudRegion, - endpoint: cloudEndpoint, - credentials: { - accessKeyId: cloudKey, - secretAccessKey: cloudSecret, - }, - }); + s3Client = new S3Client(s3ClientConfig); } return s3Client; }; export const putObject = async (params: UploadParams) => { + if (DISABLE_TAGGING) { + delete params.Tagging; + } const command = new PutObjectCommand( Object.assign({}, { Bucket: cloudBucket }, params), ); @@ -103,3 +120,40 @@ export const generateCDNSignedUrl = (key: string): string => { }); return url; }; + +export const copyObject = async (params: CopyParams) => { + const copySource = `${cloudBucket}/${params.sourceKey}`; + const command = new CopyObjectCommand({ + Bucket: cloudBucket, + CopySource: copySource, + Key: params.destinationKey, + ContentType: params.ContentType, + Tagging: params.Tagging, + }); + const response = await getS3Client().send(command); + return response; +}; + +export const deleteFolder = async (prefix: string): Promise => { + const client = getS3Client(); + let continuationToken: string | undefined; + + do { + const command = new ListObjectsV2Command({ + Bucket: cloudBucket, + Prefix: prefix, + ContinuationToken: continuationToken, + }); + + const response = await client.send(command); + + if (response.Contents && response.Contents.length > 0) { + const deletePromises = response.Contents.map((object: any) => + deleteObject({ Key: object.Key! }), + ); + await Promise.all(deletePromises); + } + + continuationToken = response.NextContinuationToken; + } while (continuationToken); +}; diff --git a/apps/api/src/signature/handlers.ts b/apps/api/src/signature/handlers.ts index a71a0b01..9ee75761 100644 --- a/apps/api/src/signature/handlers.ts +++ b/apps/api/src/signature/handlers.ts @@ -2,7 +2,6 @@ import { Request } from "express"; import Joi from "joi"; import logger from "../services/log"; import * as preSignedUrlService from "./service"; -import { HOSTNAME_OVERRIDE } from "../config/constants"; function validatePresigningOptions(req: Request): Joi.ValidationResult { const uploadSchema = Joi.object({ @@ -26,8 +25,6 @@ export async function getSignature( const signature = await preSignedUrlService.generateSignature({ userId: req.user.id, apikey: req.apikey, - protocol: req.protocol, - host: HOSTNAME_OVERRIDE || req.get("Host"), group: req.body.group, }); return res.status(200).json({ signature }); diff --git a/apps/api/src/signature/service.ts b/apps/api/src/signature/service.ts index b282716d..38d1c880 100644 --- a/apps/api/src/signature/service.ts +++ b/apps/api/src/signature/service.ts @@ -37,16 +37,12 @@ export async function getUserAndGroupFromPresignedUrl( interface GenerateSignedUrlProps { userId: string; apikey: string; - protocol: string; - host: string; group?: string; } export async function generateSignature({ userId, apikey, - protocol, - host, group, }: GenerateSignedUrlProps): Promise { const presignedUrl = await queries.createPresignedUrl( diff --git a/apps/api/src/tus/cleanup.ts b/apps/api/src/tus/cleanup.ts index 0df5f8c6..34400e7c 100644 --- a/apps/api/src/tus/cleanup.ts +++ b/apps/api/src/tus/cleanup.ts @@ -2,7 +2,7 @@ import logger from "../services/log"; import TusUploadModel, { TusUpload } from "./model"; import { removeTusFiles } from "./utils"; -export async function Cleanup() { +export async function cleanupTUSUploads() { logger.info({}, "Starting the tus uploads cleanup job"); const now = new Date(); @@ -10,10 +10,23 @@ export async function Cleanup() { expiresAt: { $lt: now }, }).lean()) as unknown as TusUpload[]; + if (expiredUploads.length === 0) { + logger.info("No expired tus uploads found to cleanup"); + return; + } + + logger.info( + { count: expiredUploads.length }, + "Found expired tus uploads to cleanup", + ); + for (const expiredUpload of expiredUploads) { removeTusFiles(expiredUpload.tempFilePath); await TusUploadModel.deleteOne({ _id: (expiredUpload as any)._id }); } - logger.info({}, "Ending the tus uploads cleanup job"); + logger.info( + { count: expiredUploads.length }, + "Cleaned up expired tus uploads", + ); } diff --git a/apps/api/src/tus/finalize.ts b/apps/api/src/tus/finalize.ts index 6814325a..2984593e 100644 --- a/apps/api/src/tus/finalize.ts +++ b/apps/api/src/tus/finalize.ts @@ -19,7 +19,7 @@ import { foldersExist, createFolders, } from "../media/utils/manage-files-on-disk"; -import type { MediaWithUserId } from "../media/model"; +import { Constants, type MediaWithUserId } from "@medialit/models"; import { putObject, UploadParams } from "../services/s3"; import logger from "../services/log"; import generateKey from "../media/utils/generate-key"; @@ -96,16 +96,11 @@ export default async function finalizeUpload( const uploadParams: UploadParams = { Key: generateKey({ mediaId: fileName.name, - access: metadata.accessControl === "public" ? "public" : "private", + path: "tmp", filename: `main.${fileExtension}`, }), Body: createReadStream(mainFilePath), ContentType: mimeType, - ACL: USE_CLOUDFRONT - ? "private" - : metadata.accessControl === "public" - ? "public-read" - : "private", }; const tags = getTags(userId, metadata.group); uploadParams.Tagging = tags; @@ -120,7 +115,7 @@ export default async function finalizeUpload( originalFilePath: mainFilePath, key: generateKey({ mediaId: fileName.name, - access: "public", + path: "tmp", filename: "thumb.webp", }), tags, @@ -131,7 +126,7 @@ export default async function finalizeUpload( await fsPromises.rm(temporaryFolderForWork, { recursive: true }); - const mediaObject: MediaWithUserId = { + const mediaObject = { fileName: `main.${fileExtension}`, mediaId: fileName.name, userId: new mongoose.Types.ObjectId(userId), @@ -141,10 +136,15 @@ export default async function finalizeUpload( size: uploadLength, thumbnailGenerated: isThumbGenerated, caption: metadata.caption, + // accessControl: + // metadata.accessControl === "public" ? "public-read" : "private", accessControl: - metadata.accessControl === "public" ? "public-read" : "private", + metadata.accessControl === Constants.AccessControl.PUBLIC + ? Constants.AccessControl.PUBLIC + : Constants.AccessControl.PRIVATE, group: metadata.group, - }; + temp: true, + } as MediaWithUserId; const media = await createMedia(mediaObject); // Mark upload as complete @@ -202,7 +202,6 @@ const generateAndUploadThumbnail = async ({ Key: key, Body: createReadStream(thumbPath), ContentType: "image/webp", - ACL: USE_CLOUDFRONT ? "private" : "public-read", Tagging: tags, }); await fsPromises.rm(thumbPath); diff --git a/apps/api/src/tus/utils.ts b/apps/api/src/tus/utils.ts index 9678d6e6..159247de 100644 --- a/apps/api/src/tus/utils.ts +++ b/apps/api/src/tus/utils.ts @@ -1,15 +1,20 @@ import path from "path"; import { tempFileDirForUploads } from "../config/constants"; +import logger from "../services/log"; export function removeTusFiles(uploadId: string) { - const tusFilePath = path.join( - `${tempFileDirForUploads}/tus-uploads`, - uploadId, - ); - require("fs").unlinkSync(tusFilePath); - const tusJSONFilePath = path.join( - `${tempFileDirForUploads}/tus-uploads`, - `${uploadId}.json`, - ); - require("fs").unlinkSync(tusJSONFilePath); + try { + const tusFilePath = path.join( + `${tempFileDirForUploads}/tus-uploads`, + uploadId, + ); + require("fs").unlinkSync(tusFilePath); + const tusJSONFilePath = path.join( + `${tempFileDirForUploads}/tus-uploads`, + `${uploadId}.json`, + ); + require("fs").unlinkSync(tusJSONFilePath); + } catch (err: any) { + logger.error({ err }, "Error removing tus files"); + } } diff --git a/apps/docs/content/docs/self-hosting.mdx b/apps/docs/content/docs/self-hosting.mdx index f08e92fe..6d83cbb1 100644 --- a/apps/docs/content/docs/self-hosting.mdx +++ b/apps/docs/content/docs/self-hosting.mdx @@ -3,4 +3,23 @@ title: Self hosting description: Learn how to host MediaLit API --- -Coming soon \ No newline at end of file +Coming soon + +## Bucket Public Access +![Bucket Config](/bucket-policy.png) + +## Bucket Policy +```json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Sid": "PublicReadAccess", + "Effect": "Allow", + "Principal": "*", + "Action": "s3:GetObject", + "Resource": "arn:aws:s3:::medialit-temp-refactoring/medialit-service/public/*" + } + ] +} +``` \ No newline at end of file diff --git a/apps/docs/public/bucket-policy.png b/apps/docs/public/bucket-policy.png new file mode 100644 index 0000000000000000000000000000000000000000..5af69ad871b232c34e5f2cce7497f39d1d859401 GIT binary patch literal 145533 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:VGba#ptehgIG^Fb`n+Nok!Vt$*FAlH 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

=;r>DCWNWK%;NClj85JwFBD43oNjs9O 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 { - console.log("Upload finished!"); setUploading(false); setUploadProgress(100); diff --git a/packages/medialit/__tests__/index.test.ts b/packages/medialit/__tests__/index.test.ts index e8d0b964..eb3f6b42 100644 --- a/packages/medialit/__tests__/index.test.ts +++ b/packages/medialit/__tests__/index.test.ts @@ -1,8 +1,8 @@ import { describe, test, mock, beforeEach } from "node:test"; import assert from "node:assert"; import { MediaLit } from "../src"; -import { Media } from "../src/media"; import { Readable } from "stream"; +import { Media } from "@medialit/models"; describe("MediaLit", () => { const mockApiKey = "test-api-key"; diff --git a/packages/medialit/package.json b/packages/medialit/package.json index 7616025c..0c1a8708 100644 --- a/packages/medialit/package.json +++ b/packages/medialit/package.json @@ -30,7 +30,8 @@ "author": "", "license": "MIT", "dependencies": { - "form-data": "^4.0.0" + "form-data": "^4.0.0", + "@medialit/models": "workspace:*" }, "devDependencies": { "@types/node": "^20.0.0", diff --git a/packages/medialit/src/index.ts b/packages/medialit/src/index.ts index 1ce27363..0c096b5b 100644 --- a/packages/medialit/src/index.ts +++ b/packages/medialit/src/index.ts @@ -1,4 +1,4 @@ -import { Media } from "./media"; +import { Media } from "@medialit/models"; import { createReadStream } from "fs"; import { Readable } from "stream"; diff --git a/packages/medialit/src/media.ts b/packages/medialit/src/media.ts deleted file mode 100644 index 3ec60ef8..00000000 --- a/packages/medialit/src/media.ts +++ /dev/null @@ -1,13 +0,0 @@ -export interface Media { - fileName: string; - mediaId: string; - apikey: string; - originalFileName: string; - mimeType: string; - size: number; - thumbnailGenerated: boolean; - accessControl: string; - group?: string; - caption?: string; - file?: string; -} diff --git a/packages/models/src/access-control.ts b/packages/models/src/access-control.ts new file mode 100644 index 00000000..e50b1f7f --- /dev/null +++ b/packages/models/src/access-control.ts @@ -0,0 +1,4 @@ +import { AccessControl as AccessControlConstants } from "./constants"; + +export type AccessControl = + (typeof AccessControlConstants)[keyof typeof AccessControlConstants]; diff --git a/packages/models/src/constants.ts b/packages/models/src/constants.ts index 1e6414d2..5a364de8 100644 --- a/packages/models/src/constants.ts +++ b/packages/models/src/constants.ts @@ -6,3 +6,7 @@ export const SubscriptionStatus = { PAUSED: "paused", EXPIRED: "expired", } as const; +export const AccessControl = { + PRIVATE: "private", + PUBLIC: "public", +} as const; diff --git a/packages/models/src/index.ts b/packages/models/src/index.ts index 2d667051..647e4446 100644 --- a/packages/models/src/index.ts +++ b/packages/models/src/index.ts @@ -6,5 +6,7 @@ export { default as ApikeySchema } from "./api-key-schema"; export * as Constants from "./constants"; export { Media } from "./media"; export { default as MediaSchema } from "./media-schema"; +export type { MediaWithUserId } from "./media-schema"; export type { SubscriptionStatus } from "./subscription-status"; export * from "./utils"; +export * from "./access-control"; diff --git a/packages/models/src/media-schema.ts b/packages/models/src/media-schema.ts index feae1a1c..af7252f4 100644 --- a/packages/models/src/media-schema.ts +++ b/packages/models/src/media-schema.ts @@ -1,7 +1,12 @@ import mongoose from "mongoose"; import { Media } from "./media"; +import { Constants } from "."; -export type MediaWithUserId = Media & { userId: mongoose.Types.ObjectId }; +export type MediaWithUserId = Media & { + userId: mongoose.Types.ObjectId; + temp: boolean; +}; +const accessControlOptions = Object.values(Constants.AccessControl); const MediaSchema = new mongoose.Schema( { @@ -13,9 +18,15 @@ const MediaSchema = new mongoose.Schema( mimeType: { type: String, required: true }, size: { type: Number, required: true }, thumbnailGenerated: { type: Boolean, required: true, default: false }, - accessControl: { type: String, required: true, default: "private" }, + accessControl: { + type: String, + required: true, + enum: accessControlOptions, + default: "private", + }, group: { type: String }, caption: { type: String }, + temp: { type: Boolean, default: true }, }, { timestamps: true, diff --git a/packages/models/src/media.ts b/packages/models/src/media.ts index 3ec60ef8..dc012438 100644 --- a/packages/models/src/media.ts +++ b/packages/models/src/media.ts @@ -1,3 +1,5 @@ +import { AccessControl } from "./access-control"; + export interface Media { fileName: string; mediaId: string; @@ -6,8 +8,9 @@ export interface Media { mimeType: string; size: number; thumbnailGenerated: boolean; - accessControl: string; + accessControl: AccessControl; group?: string; caption?: string; file?: string; + temp?: boolean; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 793cb0d2..b437f789 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,14 +51,14 @@ importers: apps/api: dependencies: '@aws-sdk/client-s3': - specifier: ^3.55.0 - version: 3.782.0 + specifier: ^3.922.0 + version: 3.922.0 '@aws-sdk/cloudfront-signer': specifier: ^3.572.0 - version: 3.775.0 + version: 3.921.0 '@aws-sdk/s3-request-presigner': - specifier: ^3.55.0 - version: 3.782.0 + specifier: ^3.922.0 + version: 3.922.0 '@medialit/images': specifier: workspace:* version: link:../../packages/images @@ -84,29 +84,29 @@ importers: specifier: ^2.8.5 version: 2.8.5 dotenv: - specifier: ^16.4.7 - version: 16.4.7 + specifier: ^17.2.3 + version: 17.2.3 express: specifier: ^4.2.0 version: 4.21.2 express-fileupload: - specifier: ^1.3.1 - version: 1.5.1 + specifier: ^1.5.2 + version: 1.5.2 joi: specifier: ^17.6.0 version: 17.13.3 mongoose: - specifier: ^8.0.1 - version: 8.13.2 + specifier: ^8.19.3 + version: 8.19.3 passport: - specifier: ^0.5.2 - version: 0.5.3 + specifier: ^0.7.0 + version: 0.7.0 passport-jwt: - specifier: ^4.0.0 + specifier: ^4.0.1 version: 4.0.1 pino: - specifier: ^7.9.1 - version: 7.11.0 + specifier: ^10.1.0 + version: 10.1.0 devDependencies: '@types/cors': specifier: ^2.8.12 @@ -131,25 +131,25 @@ importers: version: 3.0.13 '@typescript-eslint/eslint-plugin': specifier: ^5.17.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3) + version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) '@typescript-eslint/parser': specifier: ^5.17.0 - version: 5.62.0(eslint@8.57.1)(typescript@5.8.3) + version: 5.62.0(eslint@8.57.1)(typescript@5.9.3) eslint: specifier: ^8.12.0 version: 8.57.1 nodemon: - specifier: ^3.0.3 - version: 3.1.9 + specifier: ^3.1.10 + version: 3.1.10 ts-node: - specifier: ^10.7.0 - version: 10.9.2(@types/node@22.14.1)(typescript@5.8.3) + specifier: ^10.9.2 + version: 10.9.2(@types/node@22.14.1)(typescript@5.9.3) tsx: - specifier: ^4.7.0 - version: 4.19.3 + specifier: ^4.20.6 + version: 4.20.6 typescript: - specifier: ^5.2.2 - version: 5.8.3 + specifier: ^5.9.3 + version: 5.9.3 apps/docs: dependencies: @@ -390,6 +390,9 @@ importers: packages/medialit: dependencies: + '@medialit/models': + specifier: workspace:* + version: link:../models form-data: specifier: ^4.0.0 version: 4.0.2 @@ -492,135 +495,135 @@ packages: '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-s3@3.782.0': - resolution: {integrity: sha512-V6JR2JAGYQY7J8wk5un5n/ja2nfCUyyoRCF8Du8JL91NGI8i41Mdr/TzuOGwTgFl6RSXb/ge1K1jk30OH4MugQ==} + '@aws-sdk/client-s3@3.922.0': + resolution: {integrity: sha512-SZRaZUUAHCWfEyBf4SRSPd29ko4uFoJpfd0E/w1meE68XhFB52FTtz/71UqYcwqZmN+s7oUNFFZT+DE/dnQSEA==} engines: {node: '>=18.0.0'} - '@aws-sdk/client-sso@3.782.0': - resolution: {integrity: sha512-5GlJBejo8wqMpSSEKb45WE82YxI2k73YuebjLH/eWDNQeE6VI5Bh9lA1YQ7xNkLLH8hIsb0pSfKVuwh0VEzVrg==} + '@aws-sdk/client-sso@3.922.0': + resolution: {integrity: sha512-jdHs7uy7cSpiMvrxhYmqHyJxgK7hyqw4plG8OQ4YTBpq0SbfAxdoOuOkwJ1IVUUQho4otR1xYYjiX/8e8J8qwQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/cloudfront-signer@3.775.0': - resolution: {integrity: sha512-HQuVkDStuirROj+C2Ms0A/aolP3U64Eur7JMO6O7ezcght2rJMfopaYMHZvFmiXcnCcZ5Ju0V0Qsr+oxsYbfng==} + '@aws-sdk/cloudfront-signer@3.921.0': + resolution: {integrity: sha512-U64GbPOoKCvnq/YgHR6WW9vz9J8IglUNSmVl0ZdWGn2TRXh+UU37N8YMbvEdaiSHCtrOwRSmR1r1j1aDdDoduQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/core@3.775.0': - resolution: {integrity: sha512-8vpW4WihVfz0DX+7WnnLGm3GuQER++b0IwQG35JlQMlgqnc44M//KbJPsIHA0aJUJVwJAEShgfr5dUbY8WUzaA==} + '@aws-sdk/core@3.922.0': + resolution: {integrity: sha512-EvfP4cqJfpO3L2v5vkIlTkMesPtRwWlMfsaW6Tpfm7iYfBOuTi6jx60pMDMTyJNVfh6cGmXwh/kj1jQdR+w99Q==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-env@3.775.0': - resolution: {integrity: sha512-6ESVxwCbGm7WZ17kY1fjmxQud43vzJFoLd4bmlR+idQSWdqlzGDYdcfzpjDKTcivdtNrVYmFvcH1JBUwCRAZhw==} + '@aws-sdk/credential-provider-env@3.922.0': + resolution: {integrity: sha512-WikGQpKkROJSK3D3E7odPjZ8tU7WJp5/TgGdRuZw3izsHUeH48xMv6IznafpRTmvHcjAbDQj4U3CJZNAzOK/OQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-http@3.775.0': - resolution: {integrity: sha512-PjDQeDH/J1S0yWV32wCj2k5liRo0ssXMseCBEkCsD3SqsU8o5cU82b0hMX4sAib/RkglCSZqGO0xMiN0/7ndww==} + '@aws-sdk/credential-provider-http@3.922.0': + resolution: {integrity: sha512-i72DgHMK7ydAEqdzU0Duqh60Q8W59EZmRJ73y0Y5oFmNOqnYsAI+UXyOoCsubp+Dkr6+yOwAn1gPt1XGE9Aowg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-ini@3.782.0': - resolution: {integrity: sha512-wd4KdRy2YjLsE4Y7pz00470Iip06GlRHkG4dyLW7/hFMzEO2o7ixswCWp6J2VGZVAX64acknlv2Q0z02ebjmhw==} + '@aws-sdk/credential-provider-ini@3.922.0': + resolution: {integrity: sha512-bVF+pI5UCLNkvbiZr/t2fgTtv84s8FCdOGAPxQiQcw5qOZywNuuCCY3wIIchmQr6GJr8YFkEp5LgDCac5EC5aQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-node@3.782.0': - resolution: {integrity: sha512-HZiAF+TCEyKjju9dgysjiPIWgt/+VerGaeEp18mvKLNfgKz1d+/82A2USEpNKTze7v3cMFASx3CvL8yYyF7mJw==} + '@aws-sdk/credential-provider-node@3.922.0': + resolution: {integrity: sha512-agCwaD6mBihToHkjycL8ObIS2XOnWypWZZWhJSoWyHwFrhEKz1zGvgylK9Dc711oUfU+zU6J8e0JPKNJMNb3BQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-process@3.775.0': - resolution: {integrity: sha512-A6k68H9rQp+2+7P7SGO90Csw6nrUEm0Qfjpn9Etc4EboZhhCLs9b66umUsTsSBHus4FDIe5JQxfCUyt1wgNogg==} + '@aws-sdk/credential-provider-process@3.922.0': + resolution: {integrity: sha512-1DZOYezT6okslpvMW7oA2q+y17CJd4fxjNFH0jtThfswdh9CtG62+wxenqO+NExttq0UMaKisrkZiVrYQBTShw==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-sso@3.782.0': - resolution: {integrity: sha512-1y1ucxTtTIGDSNSNxriQY8msinilhe9gGvQpUDYW9gboyC7WQJPDw66imy258V6osdtdi+xoHzVCbCz3WhosMQ==} + '@aws-sdk/credential-provider-sso@3.922.0': + resolution: {integrity: sha512-nbD3G3hShTYxLCkKMqLkLPtKwAAfxdY/k9jHtZmVBFXek2T6tQrqZHKxlAu+fd23Ga4/Aik7DLQQx1RA1a5ipg==} engines: {node: '>=18.0.0'} - '@aws-sdk/credential-provider-web-identity@3.782.0': - resolution: {integrity: sha512-xCna0opVPaueEbJoclj5C6OpDNi0Gynj+4d7tnuXGgQhTHPyAz8ZyClkVqpi5qvHTgxROdUEDxWqEO5jqRHZHQ==} + '@aws-sdk/credential-provider-web-identity@3.922.0': + resolution: {integrity: sha512-wjGIhgMHGGQfQTdFaJphNOKyAL8wZs6znJdHADPVURmgR+EWLyN/0fDO1u7wx8xaLMZpbHIFWBEvf9TritR/cQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-bucket-endpoint@3.775.0': - resolution: {integrity: sha512-qogMIpVChDYr4xiUNC19/RDSw/sKoHkAhouS6Skxiy6s27HBhow1L3Z1qVYXuBmOZGSWPU0xiyZCvOyWrv9s+Q==} + '@aws-sdk/middleware-bucket-endpoint@3.922.0': + resolution: {integrity: sha512-Dpr2YeOaLFqt3q1hocwBesynE3x8/dXZqXZRuzSX/9/VQcwYBFChHAm4mTAl4zuvArtDbLrwzWSxmOWYZGtq5w==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-expect-continue@3.775.0': - resolution: {integrity: sha512-Apd3owkIeUW5dnk3au9np2IdW2N0zc9NjTjHiH+Mx3zqwSrc+m+ANgJVgk9mnQjMzU/vb7VuxJ0eqdEbp5gYsg==} + '@aws-sdk/middleware-expect-continue@3.922.0': + resolution: {integrity: sha512-xmnLWMtmHJHJBupSWMUEW1gyxuRIeQ1Ov2xa8Tqq77fPr4Ft2AluEwiDMaZIMHoAvpxWKEEt9Si59Li7GIA+bQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.775.0': - resolution: {integrity: sha512-OmHLfRIb7IIXsf9/X/pMOlcSV3gzW/MmtPSZTkrz5jCTKzWXd7eRoyOJqewjsaC6KMAxIpNU77FoAd16jOZ21A==} + '@aws-sdk/middleware-flexible-checksums@3.922.0': + resolution: {integrity: sha512-G363np7YcJhf+gBucskdv8cOTbs2TRwocEzRupuqDIooGDlLBlfJrvwehdgtWR8l53yjJR3zcHvGrVPTe2h8Nw==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-host-header@3.775.0': - resolution: {integrity: sha512-tkSegM0Z6WMXpLB8oPys/d+umYIocvO298mGvcMCncpRl77L9XkvSLJIFzaHes+o7djAgIduYw8wKIMStFss2w==} + '@aws-sdk/middleware-host-header@3.922.0': + resolution: {integrity: sha512-HPquFgBnq/KqKRVkiuCt97PmWbKtxQ5iUNLEc6FIviqOoZTmaYG3EDsIbuFBz9C4RHJU4FKLmHL2bL3FEId6AA==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-location-constraint@3.775.0': - resolution: {integrity: sha512-8TMXEHZXZTFTckQLyBT5aEI8fX11HZcwZseRifvBKKpj0RZDk4F0EEYGxeNSPpUQ7n+PRWyfAEnnZNRdAj/1NQ==} + '@aws-sdk/middleware-location-constraint@3.922.0': + resolution: {integrity: sha512-T4iqd7WQ2DDjCH/0s50mnhdoX+IJns83ZE+3zj9IDlpU0N2aq8R91IG890qTfYkUEdP9yRm0xir/CNed+v6Dew==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-logger@3.775.0': - resolution: {integrity: sha512-FaxO1xom4MAoUJsldmR92nT1G6uZxTdNYOFYtdHfd6N2wcNaTuxgjIvqzg5y7QIH9kn58XX/dzf1iTjgqUStZw==} + '@aws-sdk/middleware-logger@3.922.0': + resolution: {integrity: sha512-AkvYO6b80FBm5/kk2E636zNNcNgjztNNUxpqVx+huyGn9ZqGTzS4kLqW2hO6CBe5APzVtPCtiQsXL24nzuOlAg==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-recursion-detection@3.775.0': - resolution: {integrity: sha512-GLCzC8D0A0YDG5u3F5U03Vb9j5tcOEFhr8oc6PDk0k0vm5VwtZOE6LvK7hcCSoAB4HXyOUM0sQuXrbaAh9OwXA==} + '@aws-sdk/middleware-recursion-detection@3.922.0': + resolution: {integrity: sha512-TtSCEDonV/9R0VhVlCpxZbp/9sxQvTTRKzIf8LxW3uXpby6Wl8IxEciBJlxmSkoqxh542WRcko7NYODlvL/gDA==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-sdk-s3@3.775.0': - resolution: {integrity: sha512-zsvcu7cWB28JJ60gVvjxPCI7ZU7jWGcpNACPiZGyVtjYXwcxyhXbYEVDSWKsSA6ERpz9XrpLYod8INQWfW3ECg==} + '@aws-sdk/middleware-sdk-s3@3.922.0': + resolution: {integrity: sha512-ygg8lME1oFAbsH42ed2wtGqfHLoT5irgx6VC4X98j79fV1qXEwwwbqMsAiMQ/HJehpjqAFRVsHox3MHLN48Z5A==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-ssec@3.775.0': - resolution: {integrity: sha512-Iw1RHD8vfAWWPzBBIKaojO4GAvQkHOYIpKdAfis/EUSUmSa79QsnXnRqsdcE0mCB0Ylj23yi+ah4/0wh9FsekA==} + '@aws-sdk/middleware-ssec@3.922.0': + resolution: {integrity: sha512-eHvSJZTSRJO+/tjjGD6ocnPc8q9o3m26+qbwQTu/4V6yOJQ1q+xkDZNqwJQphL+CodYaQ7uljp8g1Ji/AN3D9w==} engines: {node: '>=18.0.0'} - '@aws-sdk/middleware-user-agent@3.782.0': - resolution: {integrity: sha512-i32H2R6IItX+bQ2p4+v2gGO2jA80jQoJO2m1xjU9rYWQW3+ErWy4I5YIuQHTBfb6hSdAHbaRfqPDgbv9J2rjEg==} + '@aws-sdk/middleware-user-agent@3.922.0': + resolution: {integrity: sha512-N4Qx/9KP3oVQBJOrSghhz8iZFtUC2NNeSZt88hpPhbqAEAtuX8aD8OzVcpnAtrwWqy82Yd2YTxlkqMGkgqnBsQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/nested-clients@3.782.0': - resolution: {integrity: sha512-QOYC8q7luzHFXrP0xYAqBctoPkynjfV0r9dqntFu4/IWMTyC1vlo1UTxFAjIPyclYw92XJyEkVCVg9v/nQnsUA==} + '@aws-sdk/nested-clients@3.922.0': + resolution: {integrity: sha512-uYvKCF1TGh/MuJ4TMqmUM0Csuao02HawcseG4LUDyxdUsd/EFuxalWq1Cx4fKZQ2K8F504efZBjctMAMNY+l7A==} engines: {node: '>=18.0.0'} - '@aws-sdk/region-config-resolver@3.775.0': - resolution: {integrity: sha512-40iH3LJjrQS3LKUJAl7Wj0bln7RFPEvUYKFxtP8a+oKFDO0F65F52xZxIJbPn6sHkxWDAnZlGgdjZXM3p2g5wQ==} + '@aws-sdk/region-config-resolver@3.922.0': + resolution: {integrity: sha512-44Y/rNNwhngR2KHp6gkx//TOr56/hx6s4l+XLjOqH7EBCHL7XhnrT1y92L+DLiroVr1tCSmO8eHQwBv0Y2+mvw==} engines: {node: '>=18.0.0'} - '@aws-sdk/s3-request-presigner@3.782.0': - resolution: {integrity: sha512-Er8hdjc9zkxTh15MjdnMYggtUrGknDiuD1FwdW035kn/kwWop587G9rnRa1crhmyKRjLMn0Ki3fsyFUm/943XA==} + '@aws-sdk/s3-request-presigner@3.922.0': + resolution: {integrity: sha512-x/WZXOMAN10X/hbjHnaXjtU34RmV3/eJMiHoJsohquSgz8+pfRN1DeK65oa/XPoKCMPfV31RfHSzCduligHfsQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/signature-v4-multi-region@3.775.0': - resolution: {integrity: sha512-cnGk8GDfTMJ8p7+qSk92QlIk2bmTmFJqhYxcXZ9PysjZtx0xmfCMxnG3Hjy1oU2mt5boPCVSOptqtWixayM17g==} + '@aws-sdk/signature-v4-multi-region@3.922.0': + resolution: {integrity: sha512-mmsgEEL5pE+A7gFYiJMDBCLVciaXq4EFI5iAP7bPpnHvOplnNOYxVy2IreKMllGvrfjVyLnwxzZYlo5zZ65FWg==} engines: {node: '>=18.0.0'} - '@aws-sdk/token-providers@3.782.0': - resolution: {integrity: sha512-4tPuk/3+THPrzKaXW4jE2R67UyGwHLFizZ47pcjJWbhb78IIJAy94vbeqEQ+veS84KF5TXcU7g5jGTXC0D70Wg==} + '@aws-sdk/token-providers@3.922.0': + resolution: {integrity: sha512-/inmPnjZE0ZBE16zaCowAvouSx05FJ7p6BQYuzlJ8vxEU0sS0Hf8fvhuiRnN9V9eDUPIBY+/5EjbMWygXL4wlQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/types@3.775.0': - resolution: {integrity: sha512-ZoGKwa4C9fC9Av6bdfqcW6Ix5ot05F/S4VxWR2nHuMv7hzfmAjTOcUiWT7UR4hM/U0whf84VhDtXN/DWAk52KA==} + '@aws-sdk/types@3.922.0': + resolution: {integrity: sha512-eLA6XjVobAUAMivvM7DBL79mnHyrm+32TkXNWZua5mnxF+6kQCfblKKJvxMZLGosO53/Ex46ogim8IY5Nbqv2w==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-arn-parser@3.723.0': - resolution: {integrity: sha512-ZhEfvUwNliOQROcAk34WJWVYTlTa4694kSVhDSjW6lE1bMataPnIN8A0ycukEzBXmd8ZSoBcQLn6lKGl7XIJ5w==} + '@aws-sdk/util-arn-parser@3.893.0': + resolution: {integrity: sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-endpoints@3.782.0': - resolution: {integrity: sha512-/RJOAO7o7HI6lEa4ASbFFLHGU9iPK876BhsVfnl54MvApPVYWQ9sHO0anOUim2S5lQTwd/6ghuH3rFYSq/+rdw==} + '@aws-sdk/util-endpoints@3.922.0': + resolution: {integrity: sha512-4ZdQCSuNMY8HMlR1YN4MRDdXuKd+uQTeKIr5/pIM+g3TjInZoj8imvXudjcrFGA63UF3t92YVTkBq88mg58RXQ==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-format-url@3.775.0': - resolution: {integrity: sha512-Nw4nBeyCbWixoGh8NcVpa/i8McMA6RXJIjQFyloJLaPr7CPquz7ZbSl0MUWMFVwP/VHaJ7B+lNN3Qz1iFCEP/Q==} + '@aws-sdk/util-format-url@3.922.0': + resolution: {integrity: sha512-UYLWPvZEd6TYilNkrQrIeXh2bXZsY3ighYErSEjD24f3JQhg0XdXoR/QHIE8licHu2qFrTRM6yi9LH1GY6X0cg==} engines: {node: '>=18.0.0'} '@aws-sdk/util-locate-window@3.723.0': resolution: {integrity: sha512-Yf2CS10BqK688DRsrKI/EO6B8ff5J86NXe4C+VCysK7UOgN0l1zOTeTukZ3H8Q9tYYX3oaF1961o8vRkFm7Nmw==} engines: {node: '>=18.0.0'} - '@aws-sdk/util-user-agent-browser@3.775.0': - resolution: {integrity: sha512-txw2wkiJmZKVdDbscK7VBK+u+TJnRtlUjRTLei+elZg2ADhpQxfVAQl436FUeIv6AhB/oRHW6/K/EAGXUSWi0A==} + '@aws-sdk/util-user-agent-browser@3.922.0': + resolution: {integrity: sha512-qOJAERZ3Plj1st7M4Q5henl5FRpE30uLm6L9edZqZXGR6c7ry9jzexWamWVpQ4H4xVAVmiO9dIEBAfbq4mduOA==} - '@aws-sdk/util-user-agent-node@3.782.0': - resolution: {integrity: sha512-dMFkUBgh2Bxuw8fYZQoH/u3H4afQ12VSkzEi//qFiDTwbKYq+u+RYjc8GLDM6JSK1BShMu5AVR7HD4ap1TYUnA==} + '@aws-sdk/util-user-agent-node@3.922.0': + resolution: {integrity: sha512-NrPe/Rsr5kcGunkog0eBV+bY0inkRELsD2SacC4lQZvZiXf8VJ2Y7j+Yq1tB+h+FPLsdt3v9wItIvDf/laAm0Q==} engines: {node: '>=18.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -628,8 +631,12 @@ packages: aws-crt: optional: true - '@aws-sdk/xml-builder@3.775.0': - resolution: {integrity: sha512-b9NGO6FKJeLGYnV7Z1yvcP1TNU4dkD5jNsLWOF1/sygZoASaQhNOlaiJ/1OH331YQ1R1oWk38nBb0frsYkDsOQ==} + '@aws-sdk/xml-builder@3.921.0': + resolution: {integrity: sha512-LVHg0jgjyicKKvpNIEMXIMr1EBViESxcPkqfOlT+X1FkmUMTNZEEVF18tOJg4m4hV5vxtkWcqtr4IEeWa1C41Q==} + engines: {node: '>=18.0.0'} + + '@aws/lambda-invoke-store@0.1.1': + resolution: {integrity: sha512-RcLam17LdlbSOSp9VxmUu1eI6Mwxp+OwhD2QhiSNmNCzoDb0EeUXTD2n/WbcnrAYMGlmf05th6QYq23VqvJqpA==} engines: {node: '>=18.0.0'} '@babel/code-frame@7.26.2': @@ -1224,6 +1231,9 @@ packages: '@mongodb-js/saslprep@1.2.2': resolution: {integrity: sha512-EB0O3SCSNRUFk66iRCpI+cXzIjdswfCs7F6nOC3RAGJ7xr5YhaicvsRwJ9eyzYvYRlCSDUO/c7g4yNulxKC1WA==} + '@mongodb-js/saslprep@1.3.2': + resolution: {integrity: sha512-QgA5AySqB27cGTXBFmnpifAi7HxoGUeezwo6p9dI03MuDB6Pp33zgclqVb6oVK3j6I9Vesg0+oojW2XxB59SGg==} + '@napi-rs/wasm-runtime@0.2.8': resolution: {integrity: sha512-OBlgKdX7gin7OIq4fadsjpg+cp2ZphvAIKucHsNfTdJiqdOmOEwQd/bHi0VwNrcw5xpBJyUw6cK/QilCqy1BSg==} @@ -1307,6 +1317,9 @@ packages: '@panva/hkdf@1.2.1': resolution: {integrity: sha512-6oclG6Y3PiDFcoyk8srjLfVKyMfVCKJ27JwNPViuXziFpmdz+MZnZN/aKY0JGXgYuO/VghU0jcOAZgWXZ1Dmrw==} + '@pinojs/redact@0.4.0': + resolution: {integrity: sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -2204,216 +2217,220 @@ packages: '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - '@smithy/abort-controller@4.0.2': - resolution: {integrity: sha512-Sl/78VDtgqKxN2+1qduaVE140XF+Xg+TafkncspwM4jFP/LHr76ZHmIY/y3V1M0mMLNk+Je6IGbzxy23RSToMw==} + '@smithy/abort-controller@4.2.4': + resolution: {integrity: sha512-Z4DUr/AkgyFf1bOThW2HwzREagee0sB5ycl+hDiSZOfRLW8ZgrOjDi6g8mHH19yyU5E2A/64W3z6SMIf5XiUSQ==} engines: {node: '>=18.0.0'} - '@smithy/chunked-blob-reader-native@4.0.0': - resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} + '@smithy/chunked-blob-reader-native@4.2.1': + resolution: {integrity: sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ==} engines: {node: '>=18.0.0'} - '@smithy/chunked-blob-reader@5.0.0': - resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} + '@smithy/chunked-blob-reader@5.2.0': + resolution: {integrity: sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA==} engines: {node: '>=18.0.0'} - '@smithy/config-resolver@4.1.0': - resolution: {integrity: sha512-8smPlwhga22pwl23fM5ew4T9vfLUCeFXlcqNOCD5M5h8VmNPNUE9j6bQSuRXpDSV11L/E/SwEBQuW8hr6+nS1A==} + '@smithy/config-resolver@4.4.2': + resolution: {integrity: sha512-4Jys0ni2tB2VZzgslbEgszZyMdTkPOFGA8g+So/NjR8oy6Qwaq4eSwsrRI+NMtb0Dq4kqCzGUu/nGUx7OM/xfw==} engines: {node: '>=18.0.0'} - '@smithy/core@3.2.0': - resolution: {integrity: sha512-k17bgQhVZ7YmUvA8at4af1TDpl0NDMBuBKJl8Yg0nrefwmValU+CnA5l/AriVdQNthU/33H3nK71HrLgqOPr1Q==} + '@smithy/core@3.17.2': + resolution: {integrity: sha512-n3g4Nl1Te+qGPDbNFAYf+smkRVB+JhFsGy9uJXXZQEufoP4u0r+WLh6KvTDolCswaagysDc/afS1yvb2jnj1gQ==} engines: {node: '>=18.0.0'} - '@smithy/credential-provider-imds@4.0.2': - resolution: {integrity: sha512-32lVig6jCaWBHnY+OEQ6e6Vnt5vDHaLiydGrwYMW9tPqO688hPGTYRamYJ1EptxEC2rAwJrHWmPoKRBl4iTa8w==} + '@smithy/credential-provider-imds@4.2.4': + resolution: {integrity: sha512-YVNMjhdz2pVto5bRdux7GMs0x1m0Afz3OcQy/4Yf9DH4fWOtroGH7uLvs7ZmDyoBJzLdegtIPpXrpJOZWvUXdw==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-codec@4.0.2': - resolution: {integrity: sha512-p+f2kLSK7ZrXVfskU/f5dzksKTewZk8pJLPvER3aFHPt76C2MxD9vNatSfLzzQSQB4FNO96RK4PSXfhD1TTeMQ==} + '@smithy/eventstream-codec@4.2.4': + resolution: {integrity: sha512-aV8blR9RBDKrOlZVgjOdmOibTC2sBXNiT7WA558b4MPdsLTV6sbyc1WIE9QiIuYMJjYtnPLciefoqSW8Gi+MZQ==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-browser@4.0.2': - resolution: {integrity: sha512-CepZCDs2xgVUtH7ZZ7oDdZFH8e6Y2zOv8iiX6RhndH69nlojCALSKK+OXwZUgOtUZEUaZ5e1hULVCHYbCn7pug==} + '@smithy/eventstream-serde-browser@4.2.4': + resolution: {integrity: sha512-d5T7ZS3J/r8P/PDjgmCcutmNxnSRvPH1U6iHeXjzI50sMr78GLmFcrczLw33Ap92oEKqa4CLrkAPeSSOqvGdUA==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-config-resolver@4.1.0': - resolution: {integrity: sha512-1PI+WPZ5TWXrfj3CIoKyUycYynYJgZjuQo8U+sphneOtjsgrttYybdqESFReQrdWJ+LKt6NEdbYzmmfDBmjX2A==} + '@smithy/eventstream-serde-config-resolver@4.3.4': + resolution: {integrity: sha512-lxfDT0UuSc1HqltOGsTEAlZ6H29gpfDSdEPTapD5G63RbnYToZ+ezjzdonCCH90j5tRRCw3aLXVbiZaBW3VRVg==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-node@4.0.2': - resolution: {integrity: sha512-C5bJ/C6x9ENPMx2cFOirspnF9ZsBVnBMtP6BdPl/qYSuUawdGQ34Lq0dMcf42QTjUZgWGbUIZnz6+zLxJlb9aw==} + '@smithy/eventstream-serde-node@4.2.4': + resolution: {integrity: sha512-TPhiGByWnYyzcpU/K3pO5V7QgtXYpE0NaJPEZBCa1Y5jlw5SjqzMSbFiLb+ZkJhqoQc0ImGyVINqnq1ze0ZRcQ==} engines: {node: '>=18.0.0'} - '@smithy/eventstream-serde-universal@4.0.2': - resolution: {integrity: sha512-St8h9JqzvnbB52FtckiHPN4U/cnXcarMniXRXTKn0r4b4XesZOGiAyUdj1aXbqqn1icSqBlzzUsCl6nPB018ng==} + '@smithy/eventstream-serde-universal@4.2.4': + resolution: {integrity: sha512-GNI/IXaY/XBB1SkGBFmbW033uWA0tj085eCxYih0eccUe/PFR7+UBQv9HNDk2fD9TJu7UVsCWsH99TkpEPSOzQ==} engines: {node: '>=18.0.0'} - '@smithy/fetch-http-handler@5.0.2': - resolution: {integrity: sha512-+9Dz8sakS9pe7f2cBocpJXdeVjMopUDLgZs1yWeu7h++WqSbjUYv/JAJwKwXw1HV6gq1jyWjxuyn24E2GhoEcQ==} + '@smithy/fetch-http-handler@5.3.5': + resolution: {integrity: sha512-mg83SM3FLI8Sa2ooTJbsh5MFfyMTyNRwxqpKHmE0ICRIa66Aodv80DMsTQI02xBLVJ0hckwqTRr5IGAbbWuFLQ==} engines: {node: '>=18.0.0'} - '@smithy/hash-blob-browser@4.0.2': - resolution: {integrity: sha512-3g188Z3DyhtzfBRxpZjU8R9PpOQuYsbNnyStc/ZVS+9nVX1f6XeNOa9IrAh35HwwIZg+XWk8bFVtNINVscBP+g==} + '@smithy/hash-blob-browser@4.2.5': + resolution: {integrity: sha512-kCdgjD2J50qAqycYx0imbkA9tPtyQr1i5GwbK/EOUkpBmJGSkJe4mRJm+0F65TUSvvui1HZ5FFGFCND7l8/3WQ==} engines: {node: '>=18.0.0'} - '@smithy/hash-node@4.0.2': - resolution: {integrity: sha512-VnTpYPnRUE7yVhWozFdlxcYknv9UN7CeOqSrMH+V877v4oqtVYuoqhIhtSjmGPvYrYnAkaM61sLMKHvxL138yg==} + '@smithy/hash-node@4.2.4': + resolution: {integrity: sha512-kKU0gVhx/ppVMntvUOZE7WRMFW86HuaxLwvqileBEjL7PoILI8/djoILw3gPQloGVE6O0oOzqafxeNi2KbnUJw==} engines: {node: '>=18.0.0'} - '@smithy/hash-stream-node@4.0.2': - resolution: {integrity: sha512-POWDuTznzbIwlEXEvvXoPMS10y0WKXK790soe57tFRfvf4zBHyzE529HpZMqmDdwG9MfFflnyzndUQ8j78ZdSg==} + '@smithy/hash-stream-node@4.2.4': + resolution: {integrity: sha512-amuh2IJiyRfO5MV0X/YFlZMD6banjvjAwKdeJiYGUbId608x+oSNwv3vlyW2Gt6AGAgl3EYAuyYLGRX/xU8npQ==} engines: {node: '>=18.0.0'} - '@smithy/invalid-dependency@4.0.2': - resolution: {integrity: sha512-GatB4+2DTpgWPday+mnUkoumP54u/MDM/5u44KF9hIu8jF0uafZtQLcdfIKkIcUNuF/fBojpLEHZS/56JqPeXQ==} + '@smithy/invalid-dependency@4.2.4': + resolution: {integrity: sha512-z6aDLGiHzsMhbS2MjetlIWopWz//K+mCoPXjW6aLr0mypF+Y7qdEh5TyJ20Onf9FbWHiWl4eC+rITdizpnXqOw==} engines: {node: '>=18.0.0'} '@smithy/is-array-buffer@2.2.0': resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} engines: {node: '>=14.0.0'} - '@smithy/is-array-buffer@4.0.0': - resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} + '@smithy/is-array-buffer@4.2.0': + resolution: {integrity: sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==} engines: {node: '>=18.0.0'} - '@smithy/md5-js@4.0.2': - resolution: {integrity: sha512-Hc0R8EiuVunUewCse2syVgA2AfSRco3LyAv07B/zCOMa+jpXI9ll+Q21Nc6FAlYPcpNcAXqBzMhNs1CD/pP2bA==} + '@smithy/md5-js@4.2.4': + resolution: {integrity: sha512-h7kzNWZuMe5bPnZwKxhVbY1gan5+TZ2c9JcVTHCygB14buVGOZxLl+oGfpY2p2Xm48SFqEWdghpvbBdmaz3ncQ==} engines: {node: '>=18.0.0'} - '@smithy/middleware-content-length@4.0.2': - resolution: {integrity: sha512-hAfEXm1zU+ELvucxqQ7I8SszwQ4znWMbNv6PLMndN83JJN41EPuS93AIyh2N+gJ6x8QFhzSO6b7q2e6oClDI8A==} + '@smithy/middleware-content-length@4.2.4': + resolution: {integrity: sha512-hJRZuFS9UsElX4DJSJfoX4M1qXRH+VFiLMUnhsWvtOOUWRNvvOfDaUSdlNbjwv1IkpVjj/Rd/O59Jl3nhAcxow==} engines: {node: '>=18.0.0'} - '@smithy/middleware-endpoint@4.1.0': - resolution: {integrity: sha512-xhLimgNCbCzsUppRTGXWkZywksuTThxaIB0HwbpsVLY5sceac4e1TZ/WKYqufQLaUy+gUSJGNdwD2jo3cXL0iA==} + '@smithy/middleware-endpoint@4.3.6': + resolution: {integrity: sha512-PXehXofGMFpDqr933rxD8RGOcZ0QBAWtuzTgYRAHAL2BnKawHDEdf/TnGpcmfPJGwonhginaaeJIKluEojiF/w==} engines: {node: '>=18.0.0'} - '@smithy/middleware-retry@4.1.0': - resolution: {integrity: sha512-2zAagd1s6hAaI/ap6SXi5T3dDwBOczOMCSkkYzktqN1+tzbk1GAsHNAdo/1uzxz3Ky02jvZQwbi/vmDA6z4Oyg==} + '@smithy/middleware-retry@4.4.6': + resolution: {integrity: sha512-OhLx131znrEDxZPAvH/OYufR9d1nB2CQADyYFN4C3V/NQS7Mg4V6uvxHC/Dr96ZQW8IlHJTJ+vAhKt6oxWRndA==} engines: {node: '>=18.0.0'} - '@smithy/middleware-serde@4.0.3': - resolution: {integrity: sha512-rfgDVrgLEVMmMn0BI8O+8OVr6vXzjV7HZj57l0QxslhzbvVfikZbVfBVthjLHqib4BW44QhcIgJpvebHlRaC9A==} + '@smithy/middleware-serde@4.2.4': + resolution: {integrity: sha512-jUr3x2CDhV15TOX2/Uoz4gfgeqLrRoTQbYAuhLS7lcVKNev7FeYSJ1ebEfjk+l9kbb7k7LfzIR/irgxys5ZTOg==} engines: {node: '>=18.0.0'} - '@smithy/middleware-stack@4.0.2': - resolution: {integrity: sha512-eSPVcuJJGVYrFYu2hEq8g8WWdJav3sdrI4o2c6z/rjnYDd3xH9j9E7deZQCzFn4QvGPouLngH3dQ+QVTxv5bOQ==} + '@smithy/middleware-stack@4.2.4': + resolution: {integrity: sha512-Gy3TKCOnm9JwpFooldwAboazw+EFYlC+Bb+1QBsSi5xI0W5lX81j/P5+CXvD/9ZjtYKRgxq+kkqd/KOHflzvgA==} engines: {node: '>=18.0.0'} - '@smithy/node-config-provider@4.0.2': - resolution: {integrity: sha512-WgCkILRZfJwJ4Da92a6t3ozN/zcvYyJGUTmfGbgS/FkCcoCjl7G4FJaCDN1ySdvLvemnQeo25FdkyMSTSwulsw==} + '@smithy/node-config-provider@4.3.4': + resolution: {integrity: sha512-3X3w7qzmo4XNNdPKNS4nbJcGSwiEMsNsRSunMA92S4DJLLIrH5g1AyuOA2XKM9PAPi8mIWfqC+fnfKNsI4KvHw==} engines: {node: '>=18.0.0'} - '@smithy/node-http-handler@4.0.4': - resolution: {integrity: sha512-/mdqabuAT3o/ihBGjL94PUbTSPSRJ0eeVTdgADzow0wRJ0rN4A27EOrtlK56MYiO1fDvlO3jVTCxQtQmK9dZ1g==} + '@smithy/node-http-handler@4.4.4': + resolution: {integrity: sha512-VXHGfzCXLZeKnFp6QXjAdy+U8JF9etfpUXD1FAbzY1GzsFJiDQRQIt2CnMUvUdz3/YaHNqT3RphVWMUpXTIODA==} engines: {node: '>=18.0.0'} - '@smithy/property-provider@4.0.2': - resolution: {integrity: sha512-wNRoQC1uISOuNc2s4hkOYwYllmiyrvVXWMtq+TysNRVQaHm4yoafYQyjN/goYZS+QbYlPIbb/QRjaUZMuzwQ7A==} + '@smithy/property-provider@4.2.4': + resolution: {integrity: sha512-g2DHo08IhxV5GdY3Cpt/jr0mkTlAD39EJKN27Jb5N8Fb5qt8KG39wVKTXiTRCmHHou7lbXR8nKVU14/aRUf86w==} engines: {node: '>=18.0.0'} - '@smithy/protocol-http@5.1.0': - resolution: {integrity: sha512-KxAOL1nUNw2JTYrtviRRjEnykIDhxc84qMBzxvu1MUfQfHTuBlCG7PA6EdVwqpJjH7glw7FqQoFxUJSyBQgu7g==} + '@smithy/protocol-http@5.3.4': + resolution: {integrity: sha512-3sfFd2MAzVt0Q/klOmjFi3oIkxczHs0avbwrfn1aBqtc23WqQSmjvk77MBw9WkEQcwbOYIX5/2z4ULj8DuxSsw==} engines: {node: '>=18.0.0'} - '@smithy/querystring-builder@4.0.2': - resolution: {integrity: sha512-NTOs0FwHw1vimmQM4ebh+wFQvOwkEf/kQL6bSM1Lock+Bv4I89B3hGYoUEPkmvYPkDKyp5UdXJYu+PoTQ3T31Q==} + '@smithy/querystring-builder@4.2.4': + resolution: {integrity: sha512-KQ1gFXXC+WsbPFnk7pzskzOpn4s+KheWgO3dzkIEmnb6NskAIGp/dGdbKisTPJdtov28qNDohQrgDUKzXZBLig==} engines: {node: '>=18.0.0'} - '@smithy/querystring-parser@4.0.2': - resolution: {integrity: sha512-v6w8wnmZcVXjfVLjxw8qF7OwESD9wnpjp0Dqry/Pod0/5vcEA3qxCr+BhbOHlxS8O+29eLpT3aagxXGwIoEk7Q==} + '@smithy/querystring-parser@4.2.4': + resolution: {integrity: sha512-aHb5cqXZocdzEkZ/CvhVjdw5l4r1aU/9iMEyoKzH4eXMowT6M0YjBpp7W/+XjkBnY8Xh0kVd55GKjnPKlCwinQ==} engines: {node: '>=18.0.0'} - '@smithy/service-error-classification@4.0.2': - resolution: {integrity: sha512-LA86xeFpTKn270Hbkixqs5n73S+LVM0/VZco8dqd+JT75Dyx3Lcw/MraL7ybjmz786+160K8rPOmhsq0SocoJQ==} + '@smithy/service-error-classification@4.2.4': + resolution: {integrity: sha512-fdWuhEx4+jHLGeew9/IvqVU/fxT/ot70tpRGuOLxE3HzZOyKeTQfYeV1oaBXpzi93WOk668hjMuuagJ2/Qs7ng==} engines: {node: '>=18.0.0'} - '@smithy/shared-ini-file-loader@4.0.2': - resolution: {integrity: sha512-J9/gTWBGVuFZ01oVA6vdb4DAjf1XbDhK6sLsu3OS9qmLrS6KB5ygpeHiM3miIbj1qgSJ96GYszXFWv6ErJ8QEw==} + '@smithy/shared-ini-file-loader@4.3.4': + resolution: {integrity: sha512-y5ozxeQ9omVjbnJo9dtTsdXj9BEvGx2X8xvRgKnV+/7wLBuYJQL6dOa/qMY6omyHi7yjt1OA97jZLoVRYi8lxA==} engines: {node: '>=18.0.0'} - '@smithy/signature-v4@5.0.2': - resolution: {integrity: sha512-Mz+mc7okA73Lyz8zQKJNyr7lIcHLiPYp0+oiqiMNc/t7/Kf2BENs5d63pEj7oPqdjaum6g0Fc8wC78dY1TgtXw==} + '@smithy/signature-v4@5.3.4': + resolution: {integrity: sha512-ScDCpasxH7w1HXHYbtk3jcivjvdA1VICyAdgvVqKhKKwxi+MTwZEqFw0minE+oZ7F07oF25xh4FGJxgqgShz0A==} engines: {node: '>=18.0.0'} - '@smithy/smithy-client@4.2.0': - resolution: {integrity: sha512-Qs65/w30pWV7LSFAez9DKy0Koaoh3iHhpcpCCJ4waj/iqwsuSzJna2+vYwq46yBaqO5ZbP9TjUsATUNxrKeBdw==} + '@smithy/smithy-client@4.9.2': + resolution: {integrity: sha512-gZU4uAFcdrSi3io8U99Qs/FvVdRxPvIMToi+MFfsy/DN9UqtknJ1ais+2M9yR8e0ASQpNmFYEKeIKVcMjQg3rg==} engines: {node: '>=18.0.0'} - '@smithy/types@4.2.0': - resolution: {integrity: sha512-7eMk09zQKCO+E/ivsjQv+fDlOupcFUCSC/L2YUPgwhvowVGWbPQHjEFcmjt7QQ4ra5lyowS92SV53Zc6XD4+fg==} + '@smithy/types@4.8.1': + resolution: {integrity: sha512-N0Zn0OT1zc+NA+UVfkYqQzviRh5ucWwO7mBV3TmHHprMnfcJNfhlPicDkBHi0ewbh+y3evR6cNAW0Raxvb01NA==} engines: {node: '>=18.0.0'} - '@smithy/url-parser@4.0.2': - resolution: {integrity: sha512-Bm8n3j2ScqnT+kJaClSVCMeiSenK6jVAzZCNewsYWuZtnBehEz4r2qP0riZySZVfzB+03XZHJeqfmJDkeeSLiQ==} + '@smithy/url-parser@4.2.4': + resolution: {integrity: sha512-w/N/Iw0/PTwJ36PDqU9PzAwVElo4qXxCC0eCTlUtIz/Z5V/2j/cViMHi0hPukSBHp4DVwvUlUhLgCzqSJ6plrg==} engines: {node: '>=18.0.0'} - '@smithy/util-base64@4.0.0': - resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} + '@smithy/util-base64@4.3.0': + resolution: {integrity: sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==} engines: {node: '>=18.0.0'} - '@smithy/util-body-length-browser@4.0.0': - resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} + '@smithy/util-body-length-browser@4.2.0': + resolution: {integrity: sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==} engines: {node: '>=18.0.0'} - '@smithy/util-body-length-node@4.0.0': - resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} + '@smithy/util-body-length-node@4.2.1': + resolution: {integrity: sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==} engines: {node: '>=18.0.0'} '@smithy/util-buffer-from@2.2.0': resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} engines: {node: '>=14.0.0'} - '@smithy/util-buffer-from@4.0.0': - resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} + '@smithy/util-buffer-from@4.2.0': + resolution: {integrity: sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==} engines: {node: '>=18.0.0'} - '@smithy/util-config-provider@4.0.0': - resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} + '@smithy/util-config-provider@4.2.0': + resolution: {integrity: sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-browser@4.0.8': - resolution: {integrity: sha512-ZTypzBra+lI/LfTYZeop9UjoJhhGRTg3pxrNpfSTQLd3AJ37r2z4AXTKpq1rFXiiUIJsYyFgNJdjWRGP/cbBaQ==} + '@smithy/util-defaults-mode-browser@4.3.5': + resolution: {integrity: sha512-GwaGjv/QLuL/QHQaqhf/maM7+MnRFQQs7Bsl6FlaeK6lm6U7mV5AAnVabw68cIoMl5FQFyKK62u7RWRzWL25OQ==} engines: {node: '>=18.0.0'} - '@smithy/util-defaults-mode-node@4.0.8': - resolution: {integrity: sha512-Rgk0Jc/UDfRTzVthye/k2dDsz5Xxs9LZaKCNPgJTRyoyBoeiNCnHsYGOyu1PKN+sDyPnJzMOz22JbwxzBp9NNA==} + '@smithy/util-defaults-mode-node@4.2.8': + resolution: {integrity: sha512-gIoTf9V/nFSIZ0TtgDNLd+Ws59AJvijmMDYrOozoMHPJaG9cMRdqNO50jZTlbM6ydzQYY8L/mQ4tKSw/TB+s6g==} engines: {node: '>=18.0.0'} - '@smithy/util-endpoints@3.0.2': - resolution: {integrity: sha512-6QSutU5ZyrpNbnd51zRTL7goojlcnuOB55+F9VBD+j8JpRY50IGamsjlycrmpn8PQkmJucFW8A0LSfXj7jjtLQ==} + '@smithy/util-endpoints@3.2.4': + resolution: {integrity: sha512-f+nBDhgYRCmUEDKEQb6q0aCcOTXRDqH5wWaFHJxt4anB4pKHlgGoYP3xtioKXH64e37ANUkzWf6p4Mnv1M5/Vg==} engines: {node: '>=18.0.0'} - '@smithy/util-hex-encoding@4.0.0': - resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} + '@smithy/util-hex-encoding@4.2.0': + resolution: {integrity: sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==} engines: {node: '>=18.0.0'} - '@smithy/util-middleware@4.0.2': - resolution: {integrity: sha512-6GDamTGLuBQVAEuQ4yDQ+ti/YINf/MEmIegrEeg7DdB/sld8BX1lqt9RRuIcABOhAGTA50bRbPzErez7SlDtDQ==} + '@smithy/util-middleware@4.2.4': + resolution: {integrity: sha512-fKGQAPAn8sgV0plRikRVo6g6aR0KyKvgzNrPuM74RZKy/wWVzx3BMk+ZWEueyN3L5v5EDg+P582mKU+sH5OAsg==} engines: {node: '>=18.0.0'} - '@smithy/util-retry@4.0.2': - resolution: {integrity: sha512-Qryc+QG+7BCpvjloFLQrmlSd0RsVRHejRXd78jNO3+oREueCjwG1CCEH1vduw/ZkM1U9TztwIKVIi3+8MJScGg==} + '@smithy/util-retry@4.2.4': + resolution: {integrity: sha512-yQncJmj4dtv/isTXxRb4AamZHy4QFr4ew8GxS6XLWt7sCIxkPxPzINWd7WLISEFPsIan14zrKgvyAF+/yzfwoA==} engines: {node: '>=18.0.0'} - '@smithy/util-stream@4.2.0': - resolution: {integrity: sha512-Vj1TtwWnuWqdgQI6YTUF5hQ/0jmFiOYsc51CSMgj7QfyO+RF4EnT2HNjoviNlOOmgzgvf3f5yno+EiC4vrnaWQ==} + '@smithy/util-stream@4.5.5': + resolution: {integrity: sha512-7M5aVFjT+HPilPOKbOmQfCIPchZe4DSBc1wf1+NvHvSoFTiFtauZzT+onZvCj70xhXd0AEmYnZYmdJIuwxOo4w==} engines: {node: '>=18.0.0'} - '@smithy/util-uri-escape@4.0.0': - resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} + '@smithy/util-uri-escape@4.2.0': + resolution: {integrity: sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==} engines: {node: '>=18.0.0'} '@smithy/util-utf8@2.3.0': resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} engines: {node: '>=14.0.0'} - '@smithy/util-utf8@4.0.0': - resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} + '@smithy/util-utf8@4.2.0': + resolution: {integrity: sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==} + engines: {node: '>=18.0.0'} + + '@smithy/util-waiter@4.2.4': + resolution: {integrity: sha512-roKXtXIC6fopFvVOju8VYHtguc/jAcMlK8IlDOHsrQn0ayMkHynjm/D2DCMRf7MJFXzjHhlzg2edr3QPEakchQ==} engines: {node: '>=18.0.0'} - '@smithy/util-waiter@4.0.3': - resolution: {integrity: sha512-JtaY3FxmD+te+KSI2FJuEcfNC9T/DGGVf551babM7fAaXhjJUt7oSYurH1Devxd2+BOSUACCgt3buinx4UnmEA==} + '@smithy/uuid@1.1.0': + resolution: {integrity: sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==} engines: {node: '>=18.0.0'} '@standard-schema/spec@1.0.0': @@ -3211,6 +3228,10 @@ packages: resolution: {integrity: sha512-MTxGsqgYTwfshYWTRdmZRC+M7FnG1b4y7RO7p2k3X24Wq0yv1m77Wsj0BzlPzd/IowgESfsruQCUToa7vbOpPQ==} engines: {node: '>=16.20.1'} + bson@6.10.4: + resolution: {integrity: sha512-WIsKqkSC0ABoBJuT1LEX+2HEvNmNKKgnTAyd0fL8qzK4SH2i9NXg+t08YtdZp/V9IZ33cxe3iV4yM0qg8lMQng==} + engines: {node: '>=16.20.1'} + buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} @@ -3624,17 +3645,14 @@ packages: resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==} deprecated: Use your platform's native DOMException instead - dotenv@16.4.7: - resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} + dotenv@17.2.3: + resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - duplexify@4.1.3: - resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -3975,8 +3993,8 @@ packages: resolution: {integrity: sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q==} engines: {node: '>= 6'} - express-fileupload@1.5.1: - resolution: {integrity: sha512-LsYG1ALXEB7vlmjuSw8ABeOctMp8a31aUC5ZF55zuz7O2jLFnmJYrCv10py357ky48aEoBQ/9bVXgFynjvaPmA==} + express-fileupload@1.5.2: + resolution: {integrity: sha512-wxUJn2vTHvj/kZCVmc5/bJO15C7aSMyHeuXYY3geKpeKibaAoQGcEv5+sM6nHS2T7VF+QHS4hTWPiY2mKofEdg==} engines: {node: '>=12.0.0'} express@4.21.2: @@ -4026,12 +4044,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} - - fast-xml-parser@4.4.1: - resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + fast-xml-parser@5.2.5: + resolution: {integrity: sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==} hasBin: true fastq@1.19.1: @@ -5482,10 +5496,41 @@ packages: socks: optional: true + mongodb@6.20.0: + resolution: {integrity: sha512-Tl6MEIU3K4Rq3TSHd+sZQqRBoGlFsOgNrH5ltAcFBV62Re3Fd+FcaVf8uSEQFOJ51SDowDVttBTONMfoYWrWlQ==} + engines: {node: '>=16.20.1'} + peerDependencies: + '@aws-sdk/credential-providers': ^3.188.0 + '@mongodb-js/zstd': ^1.1.0 || ^2.0.0 + gcp-metadata: ^5.2.0 + kerberos: ^2.0.1 + mongodb-client-encryption: '>=6.0.0 <7' + snappy: ^7.3.2 + socks: ^2.7.1 + peerDependenciesMeta: + '@aws-sdk/credential-providers': + optional: true + '@mongodb-js/zstd': + optional: true + gcp-metadata: + optional: true + kerberos: + optional: true + mongodb-client-encryption: + optional: true + snappy: + optional: true + socks: + optional: true + mongoose@8.13.2: resolution: {integrity: sha512-riCBqZmNkYBWjXpM3qWLDQw7QmTKsVZDPhLXFJqC87+OjocEVpvS3dA2BPPUiLAu+m0/QmEj5pSXKhH+/DgerQ==} engines: {node: '>=16.20.1'} + mongoose@8.19.3: + resolution: {integrity: sha512-fTAGaIohkk8wCggMuBuqTVD4YrM1/J8cBr1ekqzFqtz65qkLjtX2dcy3NH1e+2rk2365dyrrsPAnt4YTxBhEiQ==} + engines: {node: '>=16.20.1'} + mpath@0.9.0: resolution: {integrity: sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==} engines: {node: '>=4.0.0'} @@ -5599,8 +5644,8 @@ packages: resolution: {integrity: sha512-SQ3wZCExjeSatLE/HBaXS5vqUOQk6GtBdIIKxiFdmm01mOQZX/POJkO3SUX1wDiYcwUOJwT23scFSC9fY2H8IA==} engines: {node: '>=6.0.0'} - nodemon@3.1.9: - resolution: {integrity: sha512-hdr1oIb2p6ZSxu3PB2JWWYS7ZQ0qvaZsc3hK8DR8f02kRzc8rjYmxAIvdz+aYC+8F2IjNaB7HMcSDg8nQpJxyg==} + nodemon@3.1.10: + resolution: {integrity: sha512-WDjw3pJ0/0jMFmyNDp3gvY2YizjLmmOUQo6DEBY+JgdvW/yQ9mEeSw6H5ythl5Ny2ytb7f9C2nIbjSxMNzbJXw==} engines: {node: '>=10'} hasBin: true @@ -5688,8 +5733,9 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - on-exit-leak-free@0.2.0: - resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} @@ -5810,8 +5856,8 @@ packages: resolution: {integrity: sha512-CB97UUvDKJde2V0KDWWB3lyf6PC3FaZP7YxZ2G8OAtn9p4HI9j9JLP9qjOGZFvyl8uwNT8qM+hGnz/n16NI7oA==} engines: {node: '>= 0.4.0'} - passport@0.5.3: - resolution: {integrity: sha512-gGc+70h4gGdBWNsR3FuV3byLDY6KBTJAIExGFXTpQaYfbbcHCBlRRKx7RBQSpqEqc5Hh2qVzRs7ssvSfOpkUEA==} + passport@0.7.0: + resolution: {integrity: sha512-cPLl+qZpSc+ireUvt+IzqbED1cHHkDoVYMo30jbJIdOOjQ1MQYZBPiNvmi8UM6lJuOpTPXJGZQk0DtC4y61MYQ==} engines: {node: '>= 0.4.0'} path-exists@3.0.0: @@ -5890,14 +5936,14 @@ packages: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - pino-abstract-transport@0.5.0: - resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + pino-abstract-transport@2.0.0: + resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==} - pino-std-serializers@4.0.0: - resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + pino-std-serializers@7.0.0: + resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==} - pino@7.11.0: - resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + pino@10.1.0: + resolution: {integrity: sha512-0zZC2ygfdqvqK8zJIr1e+wT1T/L+LF6qvqvbzEQ6tiMAoTqEVK9a1K3YRu8HEUvGEvNqZyPJTtb2sNIoTkB83w==} hasBin: true pirates@4.0.7: @@ -6019,8 +6065,8 @@ packages: pretty-format@3.8.0: resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} - process-warning@1.0.0: - resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + process-warning@5.0.0: + resolution: {integrity: sha512-a39t9ApHNx2L4+HBnQKqxxHNs1r7KF+Intd8Q/g1bUh6q0WIp9voPXJ/x0j+ZL45KF1pJd9+q2jLIRMfvEshkA==} prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} @@ -6156,10 +6202,6 @@ packages: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -6168,8 +6210,8 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - real-require@0.1.0: - resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} realpath-native@1.1.0: @@ -6539,8 +6581,8 @@ packages: resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} engines: {node: '>=0.10.0'} - sonic-boom@2.8.0: - resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + sonic-boom@4.2.0: + resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} sonner@1.7.4: resolution: {integrity: sha512-DIS8z4PfJRbIyfVFDVnK9rO3eYDtse4Omcm6bt0oEr5/jtLgysmjuBl1frJ9E/EQZrFmKx2A8m/s5s9CRXIzhw==} @@ -6644,9 +6686,6 @@ packages: resolution: {integrity: sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==} engines: {node: '>=0.10.0'} - stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} @@ -6698,9 +6737,6 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} @@ -6740,8 +6776,8 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strnum@1.1.2: - resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} + strnum@2.1.1: + resolution: {integrity: sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==} style-to-js@1.1.16: resolution: {integrity: sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw==} @@ -6827,8 +6863,8 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thread-stream@0.15.2: - resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + thread-stream@3.1.0: + resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==} throat@4.1.0: resolution: {integrity: sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==} @@ -6954,6 +6990,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true + tsx@4.20.6: + resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==} + engines: {node: '>=18.0.0'} + hasBin: true + tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -7008,6 +7049,11 @@ packages: engines: {node: '>=14.17'} hasBin: true + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + unbox-primitive@1.1.0: resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} engines: {node: '>= 0.4'} @@ -7127,10 +7173,6 @@ packages: resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} hasBin: true - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -7318,20 +7360,20 @@ snapshots: '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.775.0 + '@aws-sdk/types': 3.922.0 tslib: 2.8.1 '@aws-crypto/crc32c@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.775.0 + '@aws-sdk/types': 3.922.0 tslib: 2.8.1 '@aws-crypto/sha1-browser@5.2.0': dependencies: '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.775.0 + '@aws-sdk/types': 3.922.0 '@aws-sdk/util-locate-window': 3.723.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -7341,7 +7383,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-crypto/supports-web-crypto': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.775.0 + '@aws-sdk/types': 3.922.0 '@aws-sdk/util-locate-window': 3.723.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 @@ -7349,7 +7391,7 @@ snapshots: '@aws-crypto/sha256-js@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.775.0 + '@aws-sdk/types': 3.922.0 tslib: 2.8.1 '@aws-crypto/supports-web-crypto@5.2.0': @@ -7358,444 +7400,454 @@ snapshots: '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.775.0 + '@aws-sdk/types': 3.922.0 '@smithy/util-utf8': 2.3.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.782.0': + '@aws-sdk/client-s3@3.922.0': dependencies: '@aws-crypto/sha1-browser': 5.2.0 '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.775.0 - '@aws-sdk/credential-provider-node': 3.782.0 - '@aws-sdk/middleware-bucket-endpoint': 3.775.0 - '@aws-sdk/middleware-expect-continue': 3.775.0 - '@aws-sdk/middleware-flexible-checksums': 3.775.0 - '@aws-sdk/middleware-host-header': 3.775.0 - '@aws-sdk/middleware-location-constraint': 3.775.0 - '@aws-sdk/middleware-logger': 3.775.0 - '@aws-sdk/middleware-recursion-detection': 3.775.0 - '@aws-sdk/middleware-sdk-s3': 3.775.0 - '@aws-sdk/middleware-ssec': 3.775.0 - '@aws-sdk/middleware-user-agent': 3.782.0 - '@aws-sdk/region-config-resolver': 3.775.0 - '@aws-sdk/signature-v4-multi-region': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@aws-sdk/util-endpoints': 3.782.0 - '@aws-sdk/util-user-agent-browser': 3.775.0 - '@aws-sdk/util-user-agent-node': 3.782.0 - '@aws-sdk/xml-builder': 3.775.0 - '@smithy/config-resolver': 4.1.0 - '@smithy/core': 3.2.0 - '@smithy/eventstream-serde-browser': 4.0.2 - '@smithy/eventstream-serde-config-resolver': 4.1.0 - '@smithy/eventstream-serde-node': 4.0.2 - '@smithy/fetch-http-handler': 5.0.2 - '@smithy/hash-blob-browser': 4.0.2 - '@smithy/hash-node': 4.0.2 - '@smithy/hash-stream-node': 4.0.2 - '@smithy/invalid-dependency': 4.0.2 - '@smithy/md5-js': 4.0.2 - '@smithy/middleware-content-length': 4.0.2 - '@smithy/middleware-endpoint': 4.1.0 - '@smithy/middleware-retry': 4.1.0 - '@smithy/middleware-serde': 4.0.3 - '@smithy/middleware-stack': 4.0.2 - '@smithy/node-config-provider': 4.0.2 - '@smithy/node-http-handler': 4.0.4 - '@smithy/protocol-http': 5.1.0 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 - '@smithy/url-parser': 4.0.2 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.8 - '@smithy/util-defaults-mode-node': 4.0.8 - '@smithy/util-endpoints': 3.0.2 - '@smithy/util-middleware': 4.0.2 - '@smithy/util-retry': 4.0.2 - '@smithy/util-stream': 4.2.0 - '@smithy/util-utf8': 4.0.0 - '@smithy/util-waiter': 4.0.3 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/credential-provider-node': 3.922.0 + '@aws-sdk/middleware-bucket-endpoint': 3.922.0 + '@aws-sdk/middleware-expect-continue': 3.922.0 + '@aws-sdk/middleware-flexible-checksums': 3.922.0 + '@aws-sdk/middleware-host-header': 3.922.0 + '@aws-sdk/middleware-location-constraint': 3.922.0 + '@aws-sdk/middleware-logger': 3.922.0 + '@aws-sdk/middleware-recursion-detection': 3.922.0 + '@aws-sdk/middleware-sdk-s3': 3.922.0 + '@aws-sdk/middleware-ssec': 3.922.0 + '@aws-sdk/middleware-user-agent': 3.922.0 + '@aws-sdk/region-config-resolver': 3.922.0 + '@aws-sdk/signature-v4-multi-region': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-endpoints': 3.922.0 + '@aws-sdk/util-user-agent-browser': 3.922.0 + '@aws-sdk/util-user-agent-node': 3.922.0 + '@aws-sdk/xml-builder': 3.921.0 + '@smithy/config-resolver': 4.4.2 + '@smithy/core': 3.17.2 + '@smithy/eventstream-serde-browser': 4.2.4 + '@smithy/eventstream-serde-config-resolver': 4.3.4 + '@smithy/eventstream-serde-node': 4.2.4 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/hash-blob-browser': 4.2.5 + '@smithy/hash-node': 4.2.4 + '@smithy/hash-stream-node': 4.2.4 + '@smithy/invalid-dependency': 4.2.4 + '@smithy/md5-js': 4.2.4 + '@smithy/middleware-content-length': 4.2.4 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/middleware-retry': 4.4.6 + '@smithy/middleware-serde': 4.2.4 + '@smithy/middleware-stack': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/node-http-handler': 4.4.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.5 + '@smithy/util-defaults-mode-node': 4.2.8 + '@smithy/util-endpoints': 3.2.4 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-retry': 4.2.4 + '@smithy/util-stream': 4.5.5 + '@smithy/util-utf8': 4.2.0 + '@smithy/util-waiter': 4.2.4 + '@smithy/uuid': 1.1.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso@3.782.0': + '@aws-sdk/client-sso@3.922.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.775.0 - '@aws-sdk/middleware-host-header': 3.775.0 - '@aws-sdk/middleware-logger': 3.775.0 - '@aws-sdk/middleware-recursion-detection': 3.775.0 - '@aws-sdk/middleware-user-agent': 3.782.0 - '@aws-sdk/region-config-resolver': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@aws-sdk/util-endpoints': 3.782.0 - '@aws-sdk/util-user-agent-browser': 3.775.0 - '@aws-sdk/util-user-agent-node': 3.782.0 - '@smithy/config-resolver': 4.1.0 - '@smithy/core': 3.2.0 - '@smithy/fetch-http-handler': 5.0.2 - '@smithy/hash-node': 4.0.2 - '@smithy/invalid-dependency': 4.0.2 - '@smithy/middleware-content-length': 4.0.2 - '@smithy/middleware-endpoint': 4.1.0 - '@smithy/middleware-retry': 4.1.0 - '@smithy/middleware-serde': 4.0.3 - '@smithy/middleware-stack': 4.0.2 - '@smithy/node-config-provider': 4.0.2 - '@smithy/node-http-handler': 4.0.4 - '@smithy/protocol-http': 5.1.0 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 - '@smithy/url-parser': 4.0.2 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.8 - '@smithy/util-defaults-mode-node': 4.0.8 - '@smithy/util-endpoints': 3.0.2 - '@smithy/util-middleware': 4.0.2 - '@smithy/util-retry': 4.0.2 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/middleware-host-header': 3.922.0 + '@aws-sdk/middleware-logger': 3.922.0 + '@aws-sdk/middleware-recursion-detection': 3.922.0 + '@aws-sdk/middleware-user-agent': 3.922.0 + '@aws-sdk/region-config-resolver': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-endpoints': 3.922.0 + '@aws-sdk/util-user-agent-browser': 3.922.0 + '@aws-sdk/util-user-agent-node': 3.922.0 + '@smithy/config-resolver': 4.4.2 + '@smithy/core': 3.17.2 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/hash-node': 4.2.4 + '@smithy/invalid-dependency': 4.2.4 + '@smithy/middleware-content-length': 4.2.4 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/middleware-retry': 4.4.6 + '@smithy/middleware-serde': 4.2.4 + '@smithy/middleware-stack': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/node-http-handler': 4.4.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.5 + '@smithy/util-defaults-mode-node': 4.2.8 + '@smithy/util-endpoints': 3.2.4 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-retry': 4.2.4 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/cloudfront-signer@3.775.0': + '@aws-sdk/cloudfront-signer@3.921.0': dependencies: - '@smithy/url-parser': 4.0.2 + '@smithy/core': 3.17.2 + '@smithy/url-parser': 4.2.4 tslib: 2.8.1 - '@aws-sdk/core@3.775.0': - dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/core': 3.2.0 - '@smithy/node-config-provider': 4.0.2 - '@smithy/property-provider': 4.0.2 - '@smithy/protocol-http': 5.1.0 - '@smithy/signature-v4': 5.0.2 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 - '@smithy/util-middleware': 4.0.2 - fast-xml-parser: 4.4.1 + '@aws-sdk/core@3.922.0': + dependencies: + '@aws-sdk/types': 3.922.0 + '@aws-sdk/xml-builder': 3.921.0 + '@smithy/core': 3.17.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/property-provider': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/signature-v4': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/util-base64': 4.3.0 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@aws-sdk/credential-provider-env@3.775.0': + '@aws-sdk/credential-provider-env@3.922.0': dependencies: - '@aws-sdk/core': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@smithy/property-provider': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-http@3.775.0': - dependencies: - '@aws-sdk/core': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@smithy/fetch-http-handler': 5.0.2 - '@smithy/node-http-handler': 4.0.4 - '@smithy/property-provider': 4.0.2 - '@smithy/protocol-http': 5.1.0 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 - '@smithy/util-stream': 4.2.0 + '@aws-sdk/credential-provider-http@3.922.0': + dependencies: + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/node-http-handler': 4.4.4 + '@smithy/property-provider': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/util-stream': 4.5.5 tslib: 2.8.1 - '@aws-sdk/credential-provider-ini@3.782.0': - dependencies: - '@aws-sdk/core': 3.775.0 - '@aws-sdk/credential-provider-env': 3.775.0 - '@aws-sdk/credential-provider-http': 3.775.0 - '@aws-sdk/credential-provider-process': 3.775.0 - '@aws-sdk/credential-provider-sso': 3.782.0 - '@aws-sdk/credential-provider-web-identity': 3.782.0 - '@aws-sdk/nested-clients': 3.782.0 - '@aws-sdk/types': 3.775.0 - '@smithy/credential-provider-imds': 4.0.2 - '@smithy/property-provider': 4.0.2 - '@smithy/shared-ini-file-loader': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/credential-provider-ini@3.922.0': + dependencies: + '@aws-sdk/core': 3.922.0 + '@aws-sdk/credential-provider-env': 3.922.0 + '@aws-sdk/credential-provider-http': 3.922.0 + '@aws-sdk/credential-provider-process': 3.922.0 + '@aws-sdk/credential-provider-sso': 3.922.0 + '@aws-sdk/credential-provider-web-identity': 3.922.0 + '@aws-sdk/nested-clients': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/credential-provider-imds': 4.2.4 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-node@3.782.0': - dependencies: - '@aws-sdk/credential-provider-env': 3.775.0 - '@aws-sdk/credential-provider-http': 3.775.0 - '@aws-sdk/credential-provider-ini': 3.782.0 - '@aws-sdk/credential-provider-process': 3.775.0 - '@aws-sdk/credential-provider-sso': 3.782.0 - '@aws-sdk/credential-provider-web-identity': 3.782.0 - '@aws-sdk/types': 3.775.0 - '@smithy/credential-provider-imds': 4.0.2 - '@smithy/property-provider': 4.0.2 - '@smithy/shared-ini-file-loader': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/credential-provider-node@3.922.0': + dependencies: + '@aws-sdk/credential-provider-env': 3.922.0 + '@aws-sdk/credential-provider-http': 3.922.0 + '@aws-sdk/credential-provider-ini': 3.922.0 + '@aws-sdk/credential-provider-process': 3.922.0 + '@aws-sdk/credential-provider-sso': 3.922.0 + '@aws-sdk/credential-provider-web-identity': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/credential-provider-imds': 4.2.4 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-process@3.775.0': + '@aws-sdk/credential-provider-process@3.922.0': dependencies: - '@aws-sdk/core': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@smithy/property-provider': 4.0.2 - '@smithy/shared-ini-file-loader': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/credential-provider-sso@3.782.0': + '@aws-sdk/credential-provider-sso@3.922.0': dependencies: - '@aws-sdk/client-sso': 3.782.0 - '@aws-sdk/core': 3.775.0 - '@aws-sdk/token-providers': 3.782.0 - '@aws-sdk/types': 3.775.0 - '@smithy/property-provider': 4.0.2 - '@smithy/shared-ini-file-loader': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/client-sso': 3.922.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/token-providers': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-web-identity@3.782.0': + '@aws-sdk/credential-provider-web-identity@3.922.0': dependencies: - '@aws-sdk/core': 3.775.0 - '@aws-sdk/nested-clients': 3.782.0 - '@aws-sdk/types': 3.775.0 - '@smithy/property-provider': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/nested-clients': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/middleware-bucket-endpoint@3.775.0': + '@aws-sdk/middleware-bucket-endpoint@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@aws-sdk/util-arn-parser': 3.723.0 - '@smithy/node-config-provider': 4.0.2 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 - '@smithy/util-config-provider': 4.0.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-arn-parser': 3.893.0 + '@smithy/node-config-provider': 4.3.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-config-provider': 4.2.0 tslib: 2.8.1 - '@aws-sdk/middleware-expect-continue@3.775.0': + '@aws-sdk/middleware-expect-continue@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 + '@aws-sdk/types': 3.922.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-flexible-checksums@3.775.0': + '@aws-sdk/middleware-flexible-checksums@3.922.0': dependencies: '@aws-crypto/crc32': 5.2.0 '@aws-crypto/crc32c': 5.2.0 '@aws-crypto/util': 5.2.0 - '@aws-sdk/core': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@smithy/is-array-buffer': 4.0.0 - '@smithy/node-config-provider': 4.0.2 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 - '@smithy/util-middleware': 4.0.2 - '@smithy/util-stream': 4.2.0 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/is-array-buffer': 4.2.0 + '@smithy/node-config-provider': 4.3.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-stream': 4.5.5 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@aws-sdk/middleware-host-header@3.775.0': + '@aws-sdk/middleware-host-header@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 + '@aws-sdk/types': 3.922.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-location-constraint@3.775.0': + '@aws-sdk/middleware-location-constraint@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/types': 4.2.0 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-logger@3.775.0': + '@aws-sdk/middleware-logger@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/types': 4.2.0 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-recursion-detection@3.775.0': + '@aws-sdk/middleware-recursion-detection@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 + '@aws-sdk/types': 3.922.0 + '@aws/lambda-invoke-store': 0.1.1 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-sdk-s3@3.775.0': - dependencies: - '@aws-sdk/core': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@aws-sdk/util-arn-parser': 3.723.0 - '@smithy/core': 3.2.0 - '@smithy/node-config-provider': 4.0.2 - '@smithy/protocol-http': 5.1.0 - '@smithy/signature-v4': 5.0.2 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 - '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.2 - '@smithy/util-stream': 4.2.0 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/middleware-sdk-s3@3.922.0': + dependencies: + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-arn-parser': 3.893.0 + '@smithy/core': 3.17.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/signature-v4': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/util-config-provider': 4.2.0 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-stream': 4.5.5 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@aws-sdk/middleware-ssec@3.775.0': + '@aws-sdk/middleware-ssec@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/types': 4.2.0 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/middleware-user-agent@3.782.0': + '@aws-sdk/middleware-user-agent@3.922.0': dependencies: - '@aws-sdk/core': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@aws-sdk/util-endpoints': 3.782.0 - '@smithy/core': 3.2.0 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-endpoints': 3.922.0 + '@smithy/core': 3.17.2 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/nested-clients@3.782.0': + '@aws-sdk/nested-clients@3.922.0': dependencies: '@aws-crypto/sha256-browser': 5.2.0 '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/core': 3.775.0 - '@aws-sdk/middleware-host-header': 3.775.0 - '@aws-sdk/middleware-logger': 3.775.0 - '@aws-sdk/middleware-recursion-detection': 3.775.0 - '@aws-sdk/middleware-user-agent': 3.782.0 - '@aws-sdk/region-config-resolver': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@aws-sdk/util-endpoints': 3.782.0 - '@aws-sdk/util-user-agent-browser': 3.775.0 - '@aws-sdk/util-user-agent-node': 3.782.0 - '@smithy/config-resolver': 4.1.0 - '@smithy/core': 3.2.0 - '@smithy/fetch-http-handler': 5.0.2 - '@smithy/hash-node': 4.0.2 - '@smithy/invalid-dependency': 4.0.2 - '@smithy/middleware-content-length': 4.0.2 - '@smithy/middleware-endpoint': 4.1.0 - '@smithy/middleware-retry': 4.1.0 - '@smithy/middleware-serde': 4.0.3 - '@smithy/middleware-stack': 4.0.2 - '@smithy/node-config-provider': 4.0.2 - '@smithy/node-http-handler': 4.0.4 - '@smithy/protocol-http': 5.1.0 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 - '@smithy/url-parser': 4.0.2 - '@smithy/util-base64': 4.0.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-body-length-node': 4.0.0 - '@smithy/util-defaults-mode-browser': 4.0.8 - '@smithy/util-defaults-mode-node': 4.0.8 - '@smithy/util-endpoints': 3.0.2 - '@smithy/util-middleware': 4.0.2 - '@smithy/util-retry': 4.0.2 - '@smithy/util-utf8': 4.0.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/middleware-host-header': 3.922.0 + '@aws-sdk/middleware-logger': 3.922.0 + '@aws-sdk/middleware-recursion-detection': 3.922.0 + '@aws-sdk/middleware-user-agent': 3.922.0 + '@aws-sdk/region-config-resolver': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-endpoints': 3.922.0 + '@aws-sdk/util-user-agent-browser': 3.922.0 + '@aws-sdk/util-user-agent-node': 3.922.0 + '@smithy/config-resolver': 4.4.2 + '@smithy/core': 3.17.2 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/hash-node': 4.2.4 + '@smithy/invalid-dependency': 4.2.4 + '@smithy/middleware-content-length': 4.2.4 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/middleware-retry': 4.4.6 + '@smithy/middleware-serde': 4.2.4 + '@smithy/middleware-stack': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/node-http-handler': 4.4.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-body-length-node': 4.2.1 + '@smithy/util-defaults-mode-browser': 4.3.5 + '@smithy/util-defaults-mode-node': 4.2.8 + '@smithy/util-endpoints': 3.2.4 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-retry': 4.2.4 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/region-config-resolver@3.775.0': + '@aws-sdk/region-config-resolver@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/node-config-provider': 4.0.2 - '@smithy/types': 4.2.0 - '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.2 + '@aws-sdk/types': 3.922.0 + '@smithy/config-resolver': 4.4.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/s3-request-presigner@3.782.0': + '@aws-sdk/s3-request-presigner@3.922.0': dependencies: - '@aws-sdk/signature-v4-multi-region': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@aws-sdk/util-format-url': 3.775.0 - '@smithy/middleware-endpoint': 4.1.0 - '@smithy/protocol-http': 5.1.0 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 + '@aws-sdk/signature-v4-multi-region': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@aws-sdk/util-format-url': 3.922.0 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/protocol-http': 5.3.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/signature-v4-multi-region@3.775.0': + '@aws-sdk/signature-v4-multi-region@3.922.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.775.0 - '@aws-sdk/types': 3.775.0 - '@smithy/protocol-http': 5.1.0 - '@smithy/signature-v4': 5.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/middleware-sdk-s3': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/signature-v4': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/token-providers@3.782.0': + '@aws-sdk/token-providers@3.922.0': dependencies: - '@aws-sdk/nested-clients': 3.782.0 - '@aws-sdk/types': 3.775.0 - '@smithy/property-provider': 4.0.2 - '@smithy/shared-ini-file-loader': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/core': 3.922.0 + '@aws-sdk/nested-clients': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 transitivePeerDependencies: - aws-crt - '@aws-sdk/types@3.775.0': + '@aws-sdk/types@3.922.0': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/util-arn-parser@3.723.0': + '@aws-sdk/util-arn-parser@3.893.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-endpoints@3.782.0': + '@aws-sdk/util-endpoints@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/types': 4.2.0 - '@smithy/util-endpoints': 3.0.2 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-endpoints': 3.2.4 tslib: 2.8.1 - '@aws-sdk/util-format-url@3.775.0': + '@aws-sdk/util-format-url@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/querystring-builder': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/types': 3.922.0 + '@smithy/querystring-builder': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 '@aws-sdk/util-locate-window@3.723.0': dependencies: tslib: 2.8.1 - '@aws-sdk/util-user-agent-browser@3.775.0': + '@aws-sdk/util-user-agent-browser@3.922.0': dependencies: - '@aws-sdk/types': 3.775.0 - '@smithy/types': 4.2.0 + '@aws-sdk/types': 3.922.0 + '@smithy/types': 4.8.1 bowser: 2.11.0 tslib: 2.8.1 - '@aws-sdk/util-user-agent-node@3.782.0': + '@aws-sdk/util-user-agent-node@3.922.0': dependencies: - '@aws-sdk/middleware-user-agent': 3.782.0 - '@aws-sdk/types': 3.775.0 - '@smithy/node-config-provider': 4.0.2 - '@smithy/types': 4.2.0 + '@aws-sdk/middleware-user-agent': 3.922.0 + '@aws-sdk/types': 3.922.0 + '@smithy/node-config-provider': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@aws-sdk/xml-builder@3.775.0': + '@aws-sdk/xml-builder@3.921.0': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 + fast-xml-parser: 5.2.5 tslib: 2.8.1 + '@aws/lambda-invoke-store@0.1.1': {} + '@babel/code-frame@7.26.2': dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -8438,7 +8490,9 @@ snapshots: source-map: 0.6.1 string-length: 2.0.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate '@jest/source-map@24.9.0': dependencies: @@ -8562,6 +8616,10 @@ snapshots: dependencies: sparse-bitfield: 3.0.3 + '@mongodb-js/saslprep@1.3.2': + dependencies: + sparse-bitfield: 3.0.3 + '@napi-rs/wasm-runtime@0.2.8': dependencies: '@emnapi/core': 1.4.0 @@ -8621,6 +8679,8 @@ snapshots: '@panva/hkdf@1.2.1': {} + '@pinojs/redact@0.4.0': {} + '@pkgjs/parseargs@0.11.0': optional: true @@ -9595,250 +9655,254 @@ snapshots: '@sideway/pinpoint@2.0.0': {} - '@smithy/abort-controller@4.0.2': + '@smithy/abort-controller@4.2.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/chunked-blob-reader-native@4.0.0': + '@smithy/chunked-blob-reader-native@4.2.1': dependencies: - '@smithy/util-base64': 4.0.0 + '@smithy/util-base64': 4.3.0 tslib: 2.8.1 - '@smithy/chunked-blob-reader@5.0.0': + '@smithy/chunked-blob-reader@5.2.0': dependencies: tslib: 2.8.1 - '@smithy/config-resolver@4.1.0': + '@smithy/config-resolver@4.4.2': dependencies: - '@smithy/node-config-provider': 4.0.2 - '@smithy/types': 4.2.0 - '@smithy/util-config-provider': 4.0.0 - '@smithy/util-middleware': 4.0.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-config-provider': 4.2.0 + '@smithy/util-endpoints': 3.2.4 + '@smithy/util-middleware': 4.2.4 tslib: 2.8.1 - '@smithy/core@3.2.0': - dependencies: - '@smithy/middleware-serde': 4.0.3 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 - '@smithy/util-body-length-browser': 4.0.0 - '@smithy/util-middleware': 4.0.2 - '@smithy/util-stream': 4.2.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/core@3.17.2': + dependencies: + '@smithy/middleware-serde': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-base64': 4.3.0 + '@smithy/util-body-length-browser': 4.2.0 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-stream': 4.5.5 + '@smithy/util-utf8': 4.2.0 + '@smithy/uuid': 1.1.0 tslib: 2.8.1 - '@smithy/credential-provider-imds@4.0.2': + '@smithy/credential-provider-imds@4.2.4': dependencies: - '@smithy/node-config-provider': 4.0.2 - '@smithy/property-provider': 4.0.2 - '@smithy/types': 4.2.0 - '@smithy/url-parser': 4.0.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/property-provider': 4.2.4 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 tslib: 2.8.1 - '@smithy/eventstream-codec@4.0.2': + '@smithy/eventstream-codec@4.2.4': dependencies: '@aws-crypto/crc32': 5.2.0 - '@smithy/types': 4.2.0 - '@smithy/util-hex-encoding': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-hex-encoding': 4.2.0 tslib: 2.8.1 - '@smithy/eventstream-serde-browser@4.0.2': + '@smithy/eventstream-serde-browser@4.2.4': dependencies: - '@smithy/eventstream-serde-universal': 4.0.2 - '@smithy/types': 4.2.0 + '@smithy/eventstream-serde-universal': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/eventstream-serde-config-resolver@4.1.0': + '@smithy/eventstream-serde-config-resolver@4.3.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/eventstream-serde-node@4.0.2': + '@smithy/eventstream-serde-node@4.2.4': dependencies: - '@smithy/eventstream-serde-universal': 4.0.2 - '@smithy/types': 4.2.0 + '@smithy/eventstream-serde-universal': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/eventstream-serde-universal@4.0.2': + '@smithy/eventstream-serde-universal@4.2.4': dependencies: - '@smithy/eventstream-codec': 4.0.2 - '@smithy/types': 4.2.0 + '@smithy/eventstream-codec': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/fetch-http-handler@5.0.2': + '@smithy/fetch-http-handler@5.3.5': dependencies: - '@smithy/protocol-http': 5.1.0 - '@smithy/querystring-builder': 4.0.2 - '@smithy/types': 4.2.0 - '@smithy/util-base64': 4.0.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/querystring-builder': 4.2.4 + '@smithy/types': 4.8.1 + '@smithy/util-base64': 4.3.0 tslib: 2.8.1 - '@smithy/hash-blob-browser@4.0.2': + '@smithy/hash-blob-browser@4.2.5': dependencies: - '@smithy/chunked-blob-reader': 5.0.0 - '@smithy/chunked-blob-reader-native': 4.0.0 - '@smithy/types': 4.2.0 + '@smithy/chunked-blob-reader': 5.2.0 + '@smithy/chunked-blob-reader-native': 4.2.1 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/hash-node@4.0.2': + '@smithy/hash-node@4.2.4': dependencies: - '@smithy/types': 4.2.0 - '@smithy/util-buffer-from': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/hash-stream-node@4.0.2': + '@smithy/hash-stream-node@4.2.4': dependencies: - '@smithy/types': 4.2.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/invalid-dependency@4.0.2': + '@smithy/invalid-dependency@4.2.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 '@smithy/is-array-buffer@2.2.0': dependencies: tslib: 2.8.1 - '@smithy/is-array-buffer@4.0.0': + '@smithy/is-array-buffer@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/md5-js@4.0.2': + '@smithy/md5-js@4.2.4': dependencies: - '@smithy/types': 4.2.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/middleware-content-length@4.0.2': + '@smithy/middleware-content-length@4.2.4': dependencies: - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/middleware-endpoint@4.1.0': + '@smithy/middleware-endpoint@4.3.6': dependencies: - '@smithy/core': 3.2.0 - '@smithy/middleware-serde': 4.0.3 - '@smithy/node-config-provider': 4.0.2 - '@smithy/shared-ini-file-loader': 4.0.2 - '@smithy/types': 4.2.0 - '@smithy/url-parser': 4.0.2 - '@smithy/util-middleware': 4.0.2 + '@smithy/core': 3.17.2 + '@smithy/middleware-serde': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 + '@smithy/url-parser': 4.2.4 + '@smithy/util-middleware': 4.2.4 tslib: 2.8.1 - '@smithy/middleware-retry@4.1.0': + '@smithy/middleware-retry@4.4.6': dependencies: - '@smithy/node-config-provider': 4.0.2 - '@smithy/protocol-http': 5.1.0 - '@smithy/service-error-classification': 4.0.2 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 - '@smithy/util-middleware': 4.0.2 - '@smithy/util-retry': 4.0.2 + '@smithy/node-config-provider': 4.3.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/service-error-classification': 4.2.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-retry': 4.2.4 + '@smithy/uuid': 1.1.0 tslib: 2.8.1 - uuid: 9.0.1 - '@smithy/middleware-serde@4.0.3': + '@smithy/middleware-serde@4.2.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/middleware-stack@4.0.2': + '@smithy/middleware-stack@4.2.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/node-config-provider@4.0.2': + '@smithy/node-config-provider@4.3.4': dependencies: - '@smithy/property-provider': 4.0.2 - '@smithy/shared-ini-file-loader': 4.0.2 - '@smithy/types': 4.2.0 + '@smithy/property-provider': 4.2.4 + '@smithy/shared-ini-file-loader': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/node-http-handler@4.0.4': + '@smithy/node-http-handler@4.4.4': dependencies: - '@smithy/abort-controller': 4.0.2 - '@smithy/protocol-http': 5.1.0 - '@smithy/querystring-builder': 4.0.2 - '@smithy/types': 4.2.0 + '@smithy/abort-controller': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/querystring-builder': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/property-provider@4.0.2': + '@smithy/property-provider@4.2.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/protocol-http@5.1.0': + '@smithy/protocol-http@5.3.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/querystring-builder@4.0.2': + '@smithy/querystring-builder@4.2.4': dependencies: - '@smithy/types': 4.2.0 - '@smithy/util-uri-escape': 4.0.0 + '@smithy/types': 4.8.1 + '@smithy/util-uri-escape': 4.2.0 tslib: 2.8.1 - '@smithy/querystring-parser@4.0.2': + '@smithy/querystring-parser@4.2.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/service-error-classification@4.0.2': + '@smithy/service-error-classification@4.2.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 - '@smithy/shared-ini-file-loader@4.0.2': + '@smithy/shared-ini-file-loader@4.3.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/signature-v4@5.0.2': + '@smithy/signature-v4@5.3.4': dependencies: - '@smithy/is-array-buffer': 4.0.0 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 - '@smithy/util-hex-encoding': 4.0.0 - '@smithy/util-middleware': 4.0.2 - '@smithy/util-uri-escape': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/is-array-buffer': 4.2.0 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-hex-encoding': 4.2.0 + '@smithy/util-middleware': 4.2.4 + '@smithy/util-uri-escape': 4.2.0 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/smithy-client@4.2.0': + '@smithy/smithy-client@4.9.2': dependencies: - '@smithy/core': 3.2.0 - '@smithy/middleware-endpoint': 4.1.0 - '@smithy/middleware-stack': 4.0.2 - '@smithy/protocol-http': 5.1.0 - '@smithy/types': 4.2.0 - '@smithy/util-stream': 4.2.0 + '@smithy/core': 3.17.2 + '@smithy/middleware-endpoint': 4.3.6 + '@smithy/middleware-stack': 4.2.4 + '@smithy/protocol-http': 5.3.4 + '@smithy/types': 4.8.1 + '@smithy/util-stream': 4.5.5 tslib: 2.8.1 - '@smithy/types@4.2.0': + '@smithy/types@4.8.1': dependencies: tslib: 2.8.1 - '@smithy/url-parser@4.0.2': + '@smithy/url-parser@4.2.4': dependencies: - '@smithy/querystring-parser': 4.0.2 - '@smithy/types': 4.2.0 + '@smithy/querystring-parser': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-base64@4.0.0': + '@smithy/util-base64@4.3.0': dependencies: - '@smithy/util-buffer-from': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/util-body-length-browser@4.0.0': + '@smithy/util-body-length-browser@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/util-body-length-node@4.0.0': + '@smithy/util-body-length-node@4.2.1': dependencies: tslib: 2.8.1 @@ -9847,66 +9911,65 @@ snapshots: '@smithy/is-array-buffer': 2.2.0 tslib: 2.8.1 - '@smithy/util-buffer-from@4.0.0': + '@smithy/util-buffer-from@4.2.0': dependencies: - '@smithy/is-array-buffer': 4.0.0 + '@smithy/is-array-buffer': 4.2.0 tslib: 2.8.1 - '@smithy/util-config-provider@4.0.0': + '@smithy/util-config-provider@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/util-defaults-mode-browser@4.0.8': + '@smithy/util-defaults-mode-browser@4.3.5': dependencies: - '@smithy/property-provider': 4.0.2 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 - bowser: 2.11.0 + '@smithy/property-provider': 4.2.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-defaults-mode-node@4.0.8': + '@smithy/util-defaults-mode-node@4.2.8': dependencies: - '@smithy/config-resolver': 4.1.0 - '@smithy/credential-provider-imds': 4.0.2 - '@smithy/node-config-provider': 4.0.2 - '@smithy/property-provider': 4.0.2 - '@smithy/smithy-client': 4.2.0 - '@smithy/types': 4.2.0 + '@smithy/config-resolver': 4.4.2 + '@smithy/credential-provider-imds': 4.2.4 + '@smithy/node-config-provider': 4.3.4 + '@smithy/property-provider': 4.2.4 + '@smithy/smithy-client': 4.9.2 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-endpoints@3.0.2': + '@smithy/util-endpoints@3.2.4': dependencies: - '@smithy/node-config-provider': 4.0.2 - '@smithy/types': 4.2.0 + '@smithy/node-config-provider': 4.3.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-hex-encoding@4.0.0': + '@smithy/util-hex-encoding@4.2.0': dependencies: tslib: 2.8.1 - '@smithy/util-middleware@4.0.2': + '@smithy/util-middleware@4.2.4': dependencies: - '@smithy/types': 4.2.0 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-retry@4.0.2': + '@smithy/util-retry@4.2.4': dependencies: - '@smithy/service-error-classification': 4.0.2 - '@smithy/types': 4.2.0 + '@smithy/service-error-classification': 4.2.4 + '@smithy/types': 4.8.1 tslib: 2.8.1 - '@smithy/util-stream@4.2.0': + '@smithy/util-stream@4.5.5': dependencies: - '@smithy/fetch-http-handler': 5.0.2 - '@smithy/node-http-handler': 4.0.4 - '@smithy/types': 4.2.0 - '@smithy/util-base64': 4.0.0 - '@smithy/util-buffer-from': 4.0.0 - '@smithy/util-hex-encoding': 4.0.0 - '@smithy/util-utf8': 4.0.0 + '@smithy/fetch-http-handler': 5.3.5 + '@smithy/node-http-handler': 4.4.4 + '@smithy/types': 4.8.1 + '@smithy/util-base64': 4.3.0 + '@smithy/util-buffer-from': 4.2.0 + '@smithy/util-hex-encoding': 4.2.0 + '@smithy/util-utf8': 4.2.0 tslib: 2.8.1 - '@smithy/util-uri-escape@4.0.0': + '@smithy/util-uri-escape@4.2.0': dependencies: tslib: 2.8.1 @@ -9915,15 +9978,19 @@ snapshots: '@smithy/util-buffer-from': 2.2.0 tslib: 2.8.1 - '@smithy/util-utf8@4.0.0': + '@smithy/util-utf8@4.2.0': dependencies: - '@smithy/util-buffer-from': 4.0.0 + '@smithy/util-buffer-from': 4.2.0 tslib: 2.8.1 - '@smithy/util-waiter@4.0.3': + '@smithy/util-waiter@4.2.4': + dependencies: + '@smithy/abort-controller': 4.2.4 + '@smithy/types': 4.8.1 + tslib: 2.8.1 + + '@smithy/uuid@1.1.0': dependencies: - '@smithy/abort-controller': 4.0.2 - '@smithy/types': 4.2.0 tslib: 2.8.1 '@standard-schema/spec@1.0.0': {} @@ -10141,7 +10208,7 @@ snapshots: '@types/mongoose@5.11.97': dependencies: - mongoose: 8.13.2 + mongoose: 8.19.3 transitivePeerDependencies: - '@aws-sdk/credential-providers' - '@mongodb-js/zstd' @@ -10253,6 +10320,25 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3) + debug: 4.4.0(supports-color@5.5.0) + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare-lite: 1.4.0 + semver: 7.7.1 + tsutils: 3.21.0(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/eslint-plugin@8.29.1(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -10299,6 +10385,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) + debug: 4.4.0(supports-color@5.5.0) + eslint: 8.57.1 + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 5.62.0 @@ -10345,6 +10443,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3) + debug: 4.4.0(supports-color@5.5.0) + eslint: 8.57.1 + tsutils: 3.21.0(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@8.29.1(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.29.1(typescript@5.8.3) @@ -10374,6 +10484,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.4.0(supports-color@5.5.0) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.7.1 + tsutils: 3.21.0(typescript@5.9.3) + optionalDependencies: + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.29.1(typescript@5.8.3)': dependencies: '@typescript-eslint/types': 8.29.1 @@ -10403,6 +10527,21 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.7.0 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) + eslint: 8.57.1 + eslint-scope: 5.1.1 + semver: 7.7.1 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@8.29.1(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.5.1(eslint@9.24.0(jiti@2.4.2)) @@ -10842,6 +10981,8 @@ snapshots: bson@6.10.3: {} + bson@6.10.4: {} + buffer-equal-constant-time@1.0.1: {} buffer-from@1.1.2: {} @@ -11221,7 +11362,7 @@ snapshots: dependencies: webidl-conversions: 4.0.2 - dotenv@16.4.7: {} + dotenv@17.2.3: {} dunder-proto@1.0.1: dependencies: @@ -11229,13 +11370,6 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - duplexify@4.1.3: - dependencies: - end-of-stream: 1.4.4 - inherits: 2.0.4 - readable-stream: 3.6.2 - stream-shift: 1.0.3 - eastasianwidth@0.2.0: {} ecc-jsbn@0.1.2: @@ -11920,7 +12054,7 @@ snapshots: transitivePeerDependencies: - supports-color - express-fileupload@1.5.1: + express-fileupload@1.5.2: dependencies: busboy: 1.6.0 @@ -12016,11 +12150,9 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-redact@3.5.0: {} - - fast-xml-parser@4.4.1: + fast-xml-parser@5.2.5: dependencies: - strnum: 1.1.2 + strnum: 2.1.1 fastq@1.19.1: dependencies: @@ -12964,7 +13096,9 @@ snapshots: pretty-format: 24.9.0 throat: 4.1.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate jest-leak-detector@24.9.0: dependencies: @@ -14018,6 +14152,12 @@ snapshots: bson: 6.10.3 mongodb-connection-string-url: 3.0.2 + mongodb@6.20.0: + dependencies: + '@mongodb-js/saslprep': 1.3.2 + bson: 6.10.4 + mongodb-connection-string-url: 3.0.2 + mongoose@8.13.2: dependencies: bson: 6.10.3 @@ -14037,6 +14177,25 @@ snapshots: - socks - supports-color + mongoose@8.19.3: + dependencies: + bson: 6.10.4 + kareem: 2.6.3 + mongodb: 6.20.0 + mpath: 0.9.0 + mquery: 5.0.0 + ms: 2.1.3 + sift: 17.1.3 + transitivePeerDependencies: + - '@aws-sdk/credential-providers' + - '@mongodb-js/zstd' + - gcp-metadata + - kerberos + - mongodb-client-encryption + - snappy + - socks + - supports-color + mpath@0.9.0: {} mquery@5.0.0: @@ -14146,7 +14305,7 @@ snapshots: nodemailer@6.10.0: {} - nodemon@3.1.9: + nodemon@3.1.10: dependencies: chokidar: 3.6.0 debug: 4.4.0(supports-color@5.5.0) @@ -14256,7 +14415,7 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - on-exit-leak-free@0.2.0: {} + on-exit-leak-free@2.1.2: {} on-finished@2.4.1: dependencies: @@ -14385,10 +14544,11 @@ snapshots: passport-strategy@1.0.0: {} - passport@0.5.3: + passport@0.7.0: dependencies: passport-strategy: 1.0.0 pause: 0.0.1 + utils-merge: 1.0.1 path-exists@3.0.0: {} @@ -14435,26 +14595,25 @@ snapshots: pify@4.0.1: {} - pino-abstract-transport@0.5.0: + pino-abstract-transport@2.0.0: dependencies: - duplexify: 4.1.3 split2: 4.2.0 - pino-std-serializers@4.0.0: {} + pino-std-serializers@7.0.0: {} - pino@7.11.0: + pino@10.1.0: dependencies: + '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 - fast-redact: 3.5.0 - on-exit-leak-free: 0.2.0 - pino-abstract-transport: 0.5.0 - pino-std-serializers: 4.0.0 - process-warning: 1.0.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 2.0.0 + pino-std-serializers: 7.0.0 + process-warning: 5.0.0 quick-format-unescaped: 4.0.4 - real-require: 0.1.0 + real-require: 0.2.0 safe-stable-stringify: 2.5.0 - sonic-boom: 2.8.0 - thread-stream: 0.15.2 + sonic-boom: 4.2.0 + thread-stream: 3.1.0 pirates@4.0.7: {} @@ -14550,7 +14709,7 @@ snapshots: pretty-format@3.8.0: {} - process-warning@1.0.0: {} + process-warning@5.0.0: {} prompts@2.4.2: dependencies: @@ -14710,19 +14869,13 @@ snapshots: pify: 4.0.1 strip-bom: 3.0.0 - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 readdirp@4.1.2: {} - real-require@0.1.0: {} + real-require@0.2.0: {} realpath-native@1.1.0: dependencies: @@ -15250,7 +15403,7 @@ snapshots: transitivePeerDependencies: - supports-color - sonic-boom@2.8.0: + sonic-boom@4.2.0: dependencies: atomic-sleep: 1.0.0 @@ -15351,8 +15504,6 @@ snapshots: stealthy-require@1.1.1: {} - stream-shift@1.0.3: {} - streamsearch@1.1.0: {} string-argv@0.3.2: {} @@ -15436,10 +15587,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 @@ -15471,7 +15618,7 @@ snapshots: strip-json-comments@3.1.1: {} - strnum@1.1.2: {} + strnum@2.1.1: {} style-to-js@1.1.16: dependencies: @@ -15570,9 +15717,9 @@ snapshots: dependencies: any-promise: 1.3.0 - thread-stream@0.15.2: + thread-stream@3.1.0: dependencies: - real-require: 0.1.0 + real-require: 0.2.0 throat@4.1.0: {} @@ -15657,7 +15804,7 @@ snapshots: yn: 3.1.1 optional: true - ts-node@10.9.2(@types/node@22.14.1)(typescript@5.8.3): + ts-node@10.9.2(@types/node@22.14.1)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -15671,7 +15818,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.8.3 + typescript: 5.9.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -15718,6 +15865,11 @@ snapshots: tslib: 1.14.1 typescript: 5.8.3 + tsutils@3.21.0(typescript@5.9.3): + dependencies: + tslib: 1.14.1 + typescript: 5.9.3 + tsx@4.19.3: dependencies: esbuild: 0.25.2 @@ -15725,6 +15877,13 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + tsx@4.20.6: + dependencies: + esbuild: 0.25.2 + get-tsconfig: 4.10.0 + optionalDependencies: + fsevents: 2.3.3 + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -15801,6 +15960,8 @@ snapshots: typescript@5.8.3: {} + typescript@5.9.3: {} + unbox-primitive@1.1.0: dependencies: call-bound: 1.0.4 @@ -15970,8 +16131,6 @@ snapshots: uuid@8.0.0: {} - uuid@9.0.1: {} - v8-compile-cache-lib@3.0.1: {} validate-npm-package-license@3.0.4: diff --git a/tsconfig.json b/tsconfig.json index d14cdae1..1a29b1ad 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,7 @@ // "incremental": true, /* Enable incremental compilation */ "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ - // "lib": [], /* Specify library files to be included in the compilation. */ + "lib": ["ES2020"], /* Specify library files to be included in the compilation. */ // "allowJs": true, /* Allow javascript files to be compiled. */ // "checkJs": true, /* Report errors in .js files. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ From 89d82787783a21f68c1d3feb4a583bbaa7417f17 Mon Sep 17 00:00:00 2001 From: Rajat Saxena Date: Thu, 6 Nov 2025 16:08:03 +0530 Subject: [PATCH 02/12] Renamed env vars --- README.md | 2 +- apps/api/package.json | 1 + apps/api/src/config/constants.ts | 10 ++-- apps/api/src/index.ts | 57 ++++++++++++++------- apps/api/src/media/cleanup.ts | 4 +- apps/api/src/media/service.ts | 27 +++++----- apps/api/src/media/utils/generate-key.ts | 4 +- apps/api/src/media/utils/get-public-urls.ts | 5 +- apps/api/src/services/s3.ts | 18 +++---- apps/api/src/tus/finalize.ts | 1 - apps/api/tsconfig.json | 9 +++- docker-compose.yml | 5 +- pnpm-lock.yaml | 47 ++++++++++------- 13 files changed, 112 insertions(+), 78 deletions(-) diff --git a/README.md b/README.md index c7a272ca..d49bcd77 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ If you need to use a Cloudfront CDN, you can enable it in the app, by setting up ```sh USE_CLOUDFRONT=true -CLOUDFRONT_ENDPOINT=CLOUDFRONT_DISTRIBUTION_NAME +CDN_ENDPOINT=CLOUDFRONT_DISTRIBUTION_NAME CLOUDFRONT_PRIVATE_KEY="PRIVATE_KEY" CLOUDFRONT_KEY_PAIR_ID=KEY_PAIR_ID ``` diff --git a/apps/api/package.json b/apps/api/package.json index c9ed901e..8c75c24d 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -64,6 +64,7 @@ "eslint": "^8.12.0", "nodemon": "^3.1.10", "ts-node": "^10.9.2", + "tsconfig-paths": "^4.2.0", "tsx": "^4.20.6", "typescript": "^5.9.3" } diff --git a/apps/api/src/config/constants.ts b/apps/api/src/config/constants.ts index 33d9d288..e8781699 100644 --- a/apps/api/src/config/constants.ts +++ b/apps/api/src/config/constants.ts @@ -45,25 +45,25 @@ export const mailFrom = process.env.EMAIL_FROM; export const mailPort = parseInt(process.env.EMAIL_PORT || "") || 587; // AWS S3 config -export const cloudEndpoint = process.env.CLOUD_ENDPOINT || ""; +export const CLOUD_ENDPOINT = process.env.CLOUD_ENDPOINT || ""; export const cloudRegion = process.env.CLOUD_REGION || ""; export const cloudKey = process.env.CLOUD_KEY || ""; export const cloudSecret = process.env.CLOUD_SECRET || ""; export const cloudBucket = process.env.CLOUD_BUCKET_NAME || ""; -export const CLOUD_PREFIX = process.env.CLOUD_PREFIX || ""; -export const PUBLIC_ENDPOINT = process.env.PUBLIC_ENDPOINT || ""; +export const PATH_PREFIX = process.env.PATH_PREFIX || ""; export const HOUR_IN_SECONDS = 1000 * 60 * 60; // Cloudfront config export const USE_CLOUDFRONT = process.env.USE_CLOUDFRONT === "true"; -export const CLOUDFRONT_ENDPOINT = process.env.CLOUDFRONT_ENDPOINT || ""; export const CLOUDFRONT_KEY_PAIR_ID = process.env.CLOUDFRONT_KEY_PAIR_ID || ""; export const CLOUDFRONT_PRIVATE_KEY = process.env.CLOUDFRONT_PRIVATE_KEY || ""; export const CDN_MAX_AGE = process.env.CDN_MAX_AGE ? +process.env.CDN_MAX_AGE : HOUR_IN_SECONDS; // one hour -export const ENDPOINT = USE_CLOUDFRONT ? CLOUDFRONT_ENDPOINT : PUBLIC_ENDPOINT; +// CDN config +export const CDN_ENDPOINT = process.env.CDN_ENDPOINT || ""; + export const TEMP_MEDIA_EXPIRATION_HOURS = process.env .TEMP_MEDIA_EXPIRATION_HOURS ? +process.env.TEMP_MEDIA_EXPIRATION_HOURS diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 0c0b8f72..52d7ecc9 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -55,27 +55,46 @@ if (process.env.EMAIL) { createAdminUser(); } -checkDependencies().then(() => { - app.listen(port, () => { - logger.info(`Medialit server running at ${port}`); +checkConfig() + .then(checkDependencies) + .then(() => { + app.listen(port, () => { + logger.info(`Medialit server running at ${port}`); + }); + + // Setup background cleanup job for expired tus uploads + setInterval( + async () => { + await cleanupTUSUploads(); + }, + HOUR_IN_SECONDS, // 1 hour + ); + + // Setup background cleanup job for expired temp uploads + setInterval( + async () => { + await cleanupExpiredTempUploads(); + }, + HOUR_IN_SECONDS, // 1 hour + ); }); - // Setup background cleanup job for expired tus uploads - setInterval( - async () => { - await cleanupTUSUploads(); - }, - HOUR_IN_SECONDS, // 1 hour - ); - - // Setup background cleanup job for expired temp uploads - setInterval( - async () => { - await cleanupExpiredTempUploads(); - }, - HOUR_IN_SECONDS, // 1 hour - ); -}); +async function checkConfig() { + if (!process.env.DB_CONNECTION_STRING) { + throw new Error("DB_CONNECTION_STRING is not set"); + } + if (!process.env.CLOUD_KEY || !process.env.CLOUD_SECRET) { + throw new Error( + "Cloud credentials (CLOUD_KEY and CLOUD_SECRET) are not set", + ); + } + if (!process.env.CLOUD_BUCKET_NAME) { + throw new Error("Cloud bucket name (CLOUD_BUCKET_NAME) is not set"); + } + if (!process.env.CLOUD_ENDPOINT && !process.env.CDN_ENDPOINT) { + throw new Error("Either CLOUD_ENDPOINT or CDN_ENDPOINT must be set"); + } +} async function checkDependencies() { try { diff --git a/apps/api/src/media/cleanup.ts b/apps/api/src/media/cleanup.ts index 4ce0007d..3ce9efce 100644 --- a/apps/api/src/media/cleanup.ts +++ b/apps/api/src/media/cleanup.ts @@ -1,7 +1,7 @@ import logger from "../services/log"; import MediaModel from "./model"; import { deleteFolder } from "../services/s3"; -import { CLOUD_PREFIX, TEMP_MEDIA_EXPIRATION_HOURS } from "../config/constants"; +import { PATH_PREFIX, TEMP_MEDIA_EXPIRATION_HOURS } from "../config/constants"; export async function cleanupExpiredTempUploads(): Promise { const cutoff = new Date( @@ -28,7 +28,7 @@ export async function cleanupExpiredTempUploads(): Promise { for (const media of expired) { try { // Delete S3 objects in tmp folder - const tmpPrefix = `${CLOUD_PREFIX ? `${CLOUD_PREFIX}/` : ""}tmp/${media.mediaId}/`; + const tmpPrefix = `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}tmp/${media.mediaId}/`; await deleteFolder(tmpPrefix); // Delete media record diff --git a/apps/api/src/media/service.ts b/apps/api/src/media/service.ts index f3642e49..a7d42279 100644 --- a/apps/api/src/media/service.ts +++ b/apps/api/src/media/service.ts @@ -7,7 +7,8 @@ import { videoPattern, imagePatternForThumbnailGeneration, USE_CLOUDFRONT, - CLOUD_PREFIX, + PATH_PREFIX, + DISABLE_TAGGING, } from "../config/constants"; import imageUtils from "@medialit/images"; import { @@ -17,7 +18,7 @@ import { } from "./utils/manage-files-on-disk"; import { generateSignedUrl, - generateCDNSignedUrl, + generateCloudfrontSignedUrl, putObject, deleteObject, copyObject, @@ -298,7 +299,7 @@ async function getPrivateFileUrl(media: MediaWithUserId, thumb?: boolean) { }); return USE_CLOUDFRONT - ? generateCDNSignedUrl(key) + ? generateCloudfrontSignedUrl(key) : await generateSignedUrl(key); } @@ -369,15 +370,17 @@ async function sealMedia({ filename: `main.${fileExtension}`, }); let tags: string | undefined; - try { - const taggingResponse = await getObjectTagging({ Key: tmpMainKey }); - if (taggingResponse.TagSet && taggingResponse.TagSet.length > 0) { - tags = taggingResponse.TagSet.map( - (tag: any) => `${tag.Key}=${tag.Value}`, - ).join("&"); + if (!DISABLE_TAGGING) { + try { + const taggingResponse = await getObjectTagging({ Key: tmpMainKey }); + if (taggingResponse.TagSet && taggingResponse.TagSet.length > 0) { + tags = taggingResponse.TagSet.map( + (tag: any) => `${tag.Key}=${tag.Value}`, + ).join("&"); + } + } catch (err: any) { + logger.warn({ err }, "Failed to get tags from source object"); } - } catch (err: any) { - logger.warn({ err }, "Failed to get tags from source object"); } // Copy main file from tmp to final location @@ -416,7 +419,7 @@ async function sealMedia({ } // Delete tmp folder - const tmpPrefix = `${CLOUD_PREFIX ? `${CLOUD_PREFIX}/` : ""}tmp/${mediaId}/`; + const tmpPrefix = `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}tmp/${mediaId}/`; await deleteFolder(tmpPrefix); // Update media record to remove temp flag diff --git a/apps/api/src/media/utils/generate-key.ts b/apps/api/src/media/utils/generate-key.ts index 9493fb63..8f25aaca 100644 --- a/apps/api/src/media/utils/generate-key.ts +++ b/apps/api/src/media/utils/generate-key.ts @@ -1,4 +1,4 @@ -import { CLOUD_PREFIX } from "../../config/constants"; +import { PATH_PREFIX } from "../../config/constants"; export default function generateKey({ mediaId, @@ -10,6 +10,6 @@ export default function generateKey({ filename: string; }): string { return `${ - CLOUD_PREFIX ? `${CLOUD_PREFIX}/` : "" + PATH_PREFIX ? `${PATH_PREFIX}/` : "" }${path}/${mediaId}/${filename}`; } diff --git a/apps/api/src/media/utils/get-public-urls.ts b/apps/api/src/media/utils/get-public-urls.ts index b63577a3..c91540a0 100644 --- a/apps/api/src/media/utils/get-public-urls.ts +++ b/apps/api/src/media/utils/get-public-urls.ts @@ -1,8 +1,9 @@ import path from "path"; -import { ENDPOINT, CLOUD_PREFIX } from "../../config/constants"; +import { CDN_ENDPOINT, CLOUD_ENDPOINT, PATH_PREFIX } from "@/config/constants"; import { Media } from "@medialit/models"; -const prefix = CLOUD_PREFIX ? `${CLOUD_PREFIX}/` : ""; +export const ENDPOINT = CDN_ENDPOINT || CLOUD_ENDPOINT; +const prefix = PATH_PREFIX ? `${PATH_PREFIX}/` : ""; export function getMainFileUrl(media: Media) { return `${ENDPOINT}/${prefix}public/${media.mediaId}/main${path.extname( diff --git a/apps/api/src/services/s3.ts b/apps/api/src/services/s3.ts index 020ebaed..807353ed 100644 --- a/apps/api/src/services/s3.ts +++ b/apps/api/src/services/s3.ts @@ -10,7 +10,7 @@ import { ListObjectsV2Command, } from "@aws-sdk/client-s3"; import { - cloudEndpoint, + CLOUD_ENDPOINT, cloudKey, cloudSecret, cloudBucket, @@ -18,7 +18,7 @@ import { CLOUDFRONT_KEY_PAIR_ID, CLOUDFRONT_PRIVATE_KEY, CDN_MAX_AGE, - CLOUDFRONT_ENDPOINT, + CDN_ENDPOINT, DISABLE_TAGGING, } from "../config/constants"; import { getSignedUrl as getCfSignedUrl } from "@aws-sdk/cloudfront-signer"; @@ -55,8 +55,8 @@ export const s3ClientConfig: any = { }, }; -if (cloudEndpoint) { - s3ClientConfig.endpoint = cloudEndpoint; +if (CLOUD_ENDPOINT) { + s3ClientConfig.endpoint = CLOUD_ENDPOINT; s3ClientConfig.forcePathStyle = true; } @@ -103,17 +103,13 @@ export const generateSignedUrl = async (key: string): Promise => { return url; }; -export const generateCDNSignedUrl = (key: string): string => { - if ( - !CLOUDFRONT_ENDPOINT || - !CLOUDFRONT_KEY_PAIR_ID || - !CLOUDFRONT_PRIVATE_KEY - ) { +export const generateCloudfrontSignedUrl = (key: string): string => { + if (!CDN_ENDPOINT || !CLOUDFRONT_KEY_PAIR_ID || !CLOUDFRONT_PRIVATE_KEY) { throw new Error("CDN configuration is missing"); } const url = getCfSignedUrl({ - url: `${CLOUDFRONT_ENDPOINT}/${key}`, + url: `${CDN_ENDPOINT}/${key}`, keyPairId: CLOUDFRONT_KEY_PAIR_ID, privateKey: CLOUDFRONT_PRIVATE_KEY, dateLessThan: new Date(Date.now() + CDN_MAX_AGE).toISOString(), diff --git a/apps/api/src/tus/finalize.ts b/apps/api/src/tus/finalize.ts index 2984593e..079dc655 100644 --- a/apps/api/src/tus/finalize.ts +++ b/apps/api/src/tus/finalize.ts @@ -12,7 +12,6 @@ import { imagePattern, imagePatternForThumbnailGeneration, videoPattern, - USE_CLOUDFRONT, } from "../config/constants"; import imageUtils from "@medialit/images"; import { diff --git a/apps/api/tsconfig.json b/apps/api/tsconfig.json index 85cc3dbe..de7833dc 100644 --- a/apps/api/tsconfig.json +++ b/apps/api/tsconfig.json @@ -1,6 +1,7 @@ { "ts-node": { - "files": true + "files": true, + "require": ["tsconfig-paths/register"] }, "compilerOptions": { "outDir": "dist", @@ -9,6 +10,10 @@ "strict": true, "esModuleInterop": true, "skipLibCheck": true, - "forceConsistentCasingInFileNames": true + "forceConsistentCasingInFileNames": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } } } diff --git a/docker-compose.yml b/docker-compose.yml index 97444646..1366b675 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,13 +12,12 @@ services: - CLOUD_KEY=${CLOUD_KEY?'Cloud key is required'} - CLOUD_SECRET=${CLOUD_SECRET?'Cloud secret is required'} - CLOUD_BUCKET_NAME=${CLOUD_BUCKET_NAME?'Cloud bucket name is required'} - - CLOUD_PREFIX=${CLOUD_PREFIX?'Cloud prefix is required'} - - PUBLIC_ENDPOINT=${PUBLIC_ENDPOINT?'S3 endpoint is required'} + - PATH_PREFIX=${PATH_PREFIX?'Cloud prefix is required'} - TEMP_FILE_DIR_FOR_UPLOADS=${TEMP_FILE_DIR_FOR_UPLOADS?'A temporary directory for uploads transformations is required'} - PORT=8000 - ENABLE_TRUST_PROXY=${ENABLE_TRUST_PROXY} - USE_CLOUDFRONT=${USE_CLOUDFRONT} - - CLOUDFRONT_ENDPOINT=${CLOUDFRONT_ENDPOINT} + - CDN_ENDPOINT=${CDN_ENDPOINT} - CLOUDFRONT_KEY_PAIR_ID=${CLOUDFRONT_KEY_PAIR_ID} - CLOUDFRONT_PRIVATE_KEY=${CLOUDFRONT_PRIVATE_KEY} - CDN_MAX_AGE=${CDN_MAX_AGE} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b437f789..16fcdf6d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -144,6 +144,9 @@ importers: ts-node: specifier: ^10.9.2 version: 10.9.2(@types/node@22.14.1)(typescript@5.9.3) + tsconfig-paths: + specifier: ^4.2.0 + version: 4.2.0 tsx: specifier: ^4.20.6 version: 4.20.6 @@ -6954,6 +6957,10 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -8490,9 +8497,7 @@ snapshots: source-map: 0.6.1 string-length: 2.0.0 transitivePeerDependencies: - - bufferutil - supports-color - - utf-8-validate '@jest/source-map@24.9.0': dependencies: @@ -11590,8 +11595,8 @@ snapshots: '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.5(eslint@8.57.1) eslint-plugin-react-hooks: 5.2.0(eslint@8.57.1) @@ -11610,8 +11615,8 @@ snapshots: '@typescript-eslint/parser': 5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.24.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-react: 7.37.5(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-react-hooks: 5.2.0(eslint@9.24.0(jiti@2.4.2)) @@ -11630,7 +11635,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1): + eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0(supports-color@5.5.0) @@ -11641,11 +11646,11 @@ snapshots: tinyglobby: 0.2.12 unrs-resolver: 1.4.1 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)): + eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0(supports-color@5.5.0) @@ -11656,33 +11661,33 @@ snapshots: tinyglobby: 0.2.12 unrs-resolver: 1.4.1 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.24.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -11693,7 +11698,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -11711,7 +11716,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -11722,7 +11727,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.24.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -15829,6 +15834,12 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tsconfig-paths@4.2.0: + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + tslib@1.14.1: {} tslib@2.8.1: {} From 9d14fd4b745091fda64351ebab22eebd2f5b146e Mon Sep 17 00:00:00 2001 From: Rajat Saxena Date: Thu, 6 Nov 2025 16:54:12 +0530 Subject: [PATCH 03/12] More env renaming --- README.md | 2 +- apps/api/src/config/constants.ts | 3 ++- apps/api/src/media/service.ts | 4 ++-- apps/docs/content/docs/self-hosting.mdx | 26 +++++++++++++++++++++++++ docker-compose.yml | 2 +- 5 files changed, 32 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d49bcd77..96555c08 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Before you start uploading to your bucket, make sure you have set up the correct If you need to use a Cloudfront CDN, you can enable it in the app, by setting up the following values in your .env file. ```sh -USE_CLOUDFRONT=true +ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT=true CDN_ENDPOINT=CLOUDFRONT_DISTRIBUTION_NAME CLOUDFRONT_PRIVATE_KEY="PRIVATE_KEY" CLOUDFRONT_KEY_PAIR_ID=KEY_PAIR_ID diff --git a/apps/api/src/config/constants.ts b/apps/api/src/config/constants.ts index e8781699..339bd621 100644 --- a/apps/api/src/config/constants.ts +++ b/apps/api/src/config/constants.ts @@ -54,7 +54,8 @@ export const PATH_PREFIX = process.env.PATH_PREFIX || ""; export const HOUR_IN_SECONDS = 1000 * 60 * 60; // Cloudfront config -export const USE_CLOUDFRONT = process.env.USE_CLOUDFRONT === "true"; +export const ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT = + process.env.ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT === "true"; export const CLOUDFRONT_KEY_PAIR_ID = process.env.CLOUDFRONT_KEY_PAIR_ID || ""; export const CLOUDFRONT_PRIVATE_KEY = process.env.CLOUDFRONT_PRIVATE_KEY || ""; export const CDN_MAX_AGE = process.env.CDN_MAX_AGE diff --git a/apps/api/src/media/service.ts b/apps/api/src/media/service.ts index a7d42279..8bbe866d 100644 --- a/apps/api/src/media/service.ts +++ b/apps/api/src/media/service.ts @@ -6,7 +6,7 @@ import { imagePattern, videoPattern, imagePatternForThumbnailGeneration, - USE_CLOUDFRONT, + ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT, PATH_PREFIX, DISABLE_TAGGING, } from "../config/constants"; @@ -298,7 +298,7 @@ async function getPrivateFileUrl(media: MediaWithUserId, thumb?: boolean) { filename, }); - return USE_CLOUDFRONT + return ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT ? generateCloudfrontSignedUrl(key) : await generateSignedUrl(key); } diff --git a/apps/docs/content/docs/self-hosting.mdx b/apps/docs/content/docs/self-hosting.mdx index 6d83cbb1..1aa9c3ad 100644 --- a/apps/docs/content/docs/self-hosting.mdx +++ b/apps/docs/content/docs/self-hosting.mdx @@ -22,4 +22,30 @@ Coming soon } ] } +``` + +## S3 Storages + +### AWS S3 + +``` +CLOUD_KEY=your_aws_access_key +CLOUD_SECRET=your_aws_secret_key +CLOUD_BUCKET_NAME=your_bucket_name +CLOUD_REGION=ap-southeast-1 +CDN_ENDPOINT=https://your-cloudfront-endpoint.example.com # OR https://.s3..amazonaws.com +ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT=true # If you want to access the private bucket's content via Cloudfront +CLOUDFRONT_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY_CONTENTS\n-----END PRIVATE KEY-----" +CLOUDFRONT_KEY_PAIR_ID=YOUR_KEY_PAIR_ID +``` + +### Cloudflare R2 + +``` +CLOUD_KEY=your_cloudflare_r2_access_key +CLOUD_SECRET=your_cloudflare_r2_secret_key +CLOUD_BUCKET_NAME=your_bucket_name +CLOUD_REGION=auto +CLOUD_ENDPOINT=https://.r2.cloudflarestorage.com +CDN_ENDPOINT=https://.r2.dev ``` \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 1366b675..222a2821 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -16,7 +16,7 @@ services: - TEMP_FILE_DIR_FOR_UPLOADS=${TEMP_FILE_DIR_FOR_UPLOADS?'A temporary directory for uploads transformations is required'} - PORT=8000 - ENABLE_TRUST_PROXY=${ENABLE_TRUST_PROXY} - - USE_CLOUDFRONT=${USE_CLOUDFRONT} + - ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT=${ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT} - CDN_ENDPOINT=${CDN_ENDPOINT} - CLOUDFRONT_KEY_PAIR_ID=${CLOUDFRONT_KEY_PAIR_ID} - CLOUDFRONT_PRIVATE_KEY=${CLOUDFRONT_PRIVATE_KEY} From c77f6eb5be230eddc05827fa649509f646636641 Mon Sep 17 00:00:00 2001 From: Rajat Saxena Date: Fri, 7 Nov 2025 15:42:36 +0530 Subject: [PATCH 04/12] Tested: AWS S3 (with and without Cloudfront) and Cloudflare R2 --- .../media/utils/get-public-urls.test.ts | 339 ++++++++++++++++++ apps/api/__tests__/services/s3.test.ts | 214 +++++++---- apps/api/src/config/constants.ts | 2 + apps/api/src/index.ts | 18 +- apps/api/src/media/cleanup.ts | 13 +- apps/api/src/media/service.ts | 170 +++++---- apps/api/src/media/utils/generate-key.ts | 13 +- apps/api/src/media/utils/get-public-urls.ts | 23 +- apps/api/src/services/s3.ts | 131 +++++-- apps/api/src/tus/finalize.ts | 12 +- apps/docs/content/docs/rest-api.mdx | 6 +- apps/docs/content/docs/self-hosting.mdx | 84 ++++- .../docs/public/aws-private-bucket-policy.png | Bin 0 -> 63201 bytes apps/docs/public/aws-public-bucket-policy.png | Bin 0 -> 146034 bytes .../cloudflare-private-bucket-config.png | Bin 0 -> 121159 bytes .../cloudflare-public-bucket-config.png | Bin 0 -> 116188 bytes .../serve-public-private-buckets-via-cdn.png | Bin 0 -> 72262 bytes .../serve-public-private-buckets-via-cdn2.png | Bin 0 -> 84826 bytes 18 files changed, 810 insertions(+), 215 deletions(-) create mode 100644 apps/api/__tests__/media/utils/get-public-urls.test.ts create mode 100644 apps/docs/public/aws-private-bucket-policy.png create mode 100644 apps/docs/public/aws-public-bucket-policy.png create mode 100644 apps/docs/public/cloudflare-private-bucket-config.png create mode 100644 apps/docs/public/cloudflare-public-bucket-config.png create mode 100644 apps/docs/public/serve-public-private-buckets-via-cdn.png create mode 100644 apps/docs/public/serve-public-private-buckets-via-cdn2.png diff --git a/apps/api/__tests__/media/utils/get-public-urls.test.ts b/apps/api/__tests__/media/utils/get-public-urls.test.ts new file mode 100644 index 00000000..48107306 --- /dev/null +++ b/apps/api/__tests__/media/utils/get-public-urls.test.ts @@ -0,0 +1,339 @@ +import { describe, test, beforeEach, afterEach } from "node:test"; +import assert from "node:assert"; +import { Constants, Media } from "@medialit/models"; +import { PATH_KEY } from "@/media/utils/generate-key"; + +// Helper to clear module cache and re-import +const clearModuleCache = () => { + const modulePath = require.resolve("@/media/utils/get-public-urls"); + const constantsPath = require.resolve("@/config/constants"); + delete require.cache[modulePath]; + delete require.cache[constantsPath]; +}; + +// Helper to create mock media +const createMockMedia = (overrides: Partial = {}): Media => ({ + fileName: "main.jpg", + mediaId: "test-media-id-123", + apikey: "test-apikey", + originalFileName: "original.jpg", + mimeType: "image/jpeg", + size: 1024, + thumbnailGenerated: true, + accessControl: Constants.AccessControl.PUBLIC, + ...overrides, +}); + +describe("get-public-urls", () => { + const originalEnv: Record = {}; + + beforeEach(() => { + // Save original env vars + originalEnv.CDN_ENDPOINT = process.env.CDN_ENDPOINT; + originalEnv.CLOUD_ENDPOINT = process.env.CLOUD_ENDPOINT; + originalEnv.CLOUD_ENDPOINT_PUBLIC = process.env.CLOUD_ENDPOINT_PUBLIC; + originalEnv.PATH_PREFIX = process.env.PATH_PREFIX; + }); + + afterEach(() => { + // Restore original env vars + if (originalEnv.CDN_ENDPOINT !== undefined) { + process.env.CDN_ENDPOINT = originalEnv.CDN_ENDPOINT; + } else { + delete process.env.CDN_ENDPOINT; + } + if (originalEnv.CLOUD_ENDPOINT !== undefined) { + process.env.CLOUD_ENDPOINT = originalEnv.CLOUD_ENDPOINT; + } else { + delete process.env.CLOUD_ENDPOINT; + } + if (originalEnv.CLOUD_ENDPOINT_PUBLIC !== undefined) { + process.env.CLOUD_ENDPOINT_PUBLIC = + originalEnv.CLOUD_ENDPOINT_PUBLIC; + } else { + delete process.env.CLOUD_ENDPOINT_PUBLIC; + } + if (originalEnv.PATH_PREFIX !== undefined) { + process.env.PATH_PREFIX = originalEnv.PATH_PREFIX; + } else { + delete process.env.PATH_PREFIX; + } + clearModuleCache(); + }); + + describe("getMainFileUrl", () => { + test("should use CDN_ENDPOINT when provided (takes precedence)", () => { + process.env.CDN_ENDPOINT = "https://cdn.example.com"; + process.env.CLOUD_ENDPOINT = "https://private.s3.amazonaws.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.s3.amazonaws.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const media = createMockMedia({ + accessControl: Constants.AccessControl.PUBLIC, + fileName: "main.jpg", + }); + + const url = getMainFileUrl(media); + assert.strictEqual( + url, + `https://cdn.example.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + ); + }); + + test("should use CLOUD_ENDPOINT_PUBLIC when CDN_ENDPOINT not provided and media is public", () => { + delete process.env.CDN_ENDPOINT; + process.env.CLOUD_ENDPOINT = "https://private.s3.amazonaws.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.s3.amazonaws.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const media = createMockMedia({ + accessControl: Constants.AccessControl.PUBLIC, + fileName: "main.png", + }); + + const url = getMainFileUrl(media); + assert.strictEqual( + url, + `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.png`, + ); + }); + + test("should fallback to CLOUD_ENDPOINT when CLOUD_ENDPOINT_PUBLIC not provided and media is public", () => { + delete process.env.CDN_ENDPOINT; + process.env.CLOUD_ENDPOINT = "https://private.s3.amazonaws.com"; + delete process.env.CLOUD_ENDPOINT_PUBLIC; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const media = createMockMedia({ + accessControl: Constants.AccessControl.PUBLIC, + fileName: "main.webp", + }); + + const url = getMainFileUrl(media); + assert.strictEqual( + url, + `https://private.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.webp`, + ); + }); + + test("should use CLOUD_ENDPOINT when media is private (defensive check)", () => { + delete process.env.CDN_ENDPOINT; + process.env.CLOUD_ENDPOINT = "https://private.s3.amazonaws.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.s3.amazonaws.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const media = createMockMedia({ + accessControl: Constants.AccessControl.PRIVATE, + fileName: "main.jpg", + }); + + const url = getMainFileUrl(media); + assert.strictEqual( + url, + `https://private.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + ); + }); + + test("should include PATH_PREFIX when provided", () => { + process.env.CDN_ENDPOINT = "https://cdn.example.com"; + process.env.PATH_PREFIX = "tenant-123"; + clearModuleCache(); + + const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const media = createMockMedia({ + accessControl: Constants.AccessControl.PUBLIC, + fileName: "main.jpg", + }); + + const url = getMainFileUrl(media); + assert.strictEqual( + url, + `https://cdn.example.com/tenant-123/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + ); + }); + }); + + describe("getThumbnailUrl", () => { + test("should use CDN_ENDPOINT when provided (takes precedence)", () => { + process.env.CDN_ENDPOINT = "https://cdn.example.com"; + process.env.CLOUD_ENDPOINT = "https://private.s3.amazonaws.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.s3.amazonaws.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { + getThumbnailUrl, + } = require("@/media/utils/get-public-urls"); + const media = createMockMedia(); + + const url = getThumbnailUrl(media); + assert.strictEqual( + url, + `https://cdn.example.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + ); + }); + + test("should use CLOUD_ENDPOINT_PUBLIC when CDN_ENDPOINT not provided", () => { + delete process.env.CDN_ENDPOINT; + process.env.CLOUD_ENDPOINT = "https://private.s3.amazonaws.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.s3.amazonaws.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { + getThumbnailUrl, + } = require("@/media/utils/get-public-urls"); + const media = createMockMedia(); + + const url = getThumbnailUrl(media); + assert.strictEqual( + url, + `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + ); + }); + + test("should use CLOUD_ENDPOINT_PUBLIC when CDN_ENDPOINT not provided (validation ensures it exists)", () => { + delete process.env.CDN_ENDPOINT; + process.env.CLOUD_ENDPOINT = "https://private.s3.amazonaws.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.s3.amazonaws.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { + getThumbnailUrl, + } = require("@/media/utils/get-public-urls"); + const media = createMockMedia(); + + const url = getThumbnailUrl(media); + assert.strictEqual( + url, + `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + ); + }); + + test("should include PATH_PREFIX when provided", () => { + process.env.CDN_ENDPOINT = "https://cdn.example.com"; + process.env.PATH_PREFIX = "tenant-456"; + clearModuleCache(); + + const { + getThumbnailUrl, + } = require("@/media/utils/get-public-urls"); + const media = createMockMedia(); + + const url = getThumbnailUrl(media); + assert.strictEqual( + url, + `https://cdn.example.com/tenant-456/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + ); + }); + }); + + describe("Progressive behavior", () => { + test("Scenario 1: Base setup - CLOUD_ENDPOINT + CLOUD_ENDPOINT_PUBLIC (no CDN)", () => { + delete process.env.CDN_ENDPOINT; + process.env.CLOUD_ENDPOINT = + "https://private.r2.cloudflarestorage.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.r2.cloudflarestorage.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { + getMainFileUrl, + getThumbnailUrl, + } = require("@/media/utils/get-public-urls"); + const media = createMockMedia({ + accessControl: Constants.AccessControl.PUBLIC, + }); + + const mainUrl = getMainFileUrl(media); + const thumbUrl = getThumbnailUrl(media); + + assert.strictEqual( + mainUrl, + `https://public.r2.cloudflarestorage.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + ); + assert.strictEqual( + thumbUrl, + `https://public.r2.cloudflarestorage.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + ); + }); + + test("Scenario 2: With CDN_ENDPOINT (progressive enhancement)", () => { + process.env.CDN_ENDPOINT = "https://cdn.medialit.cloud"; + process.env.CLOUD_ENDPOINT = + "https://private.r2.cloudflarestorage.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.r2.cloudflarestorage.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { + getMainFileUrl, + getThumbnailUrl, + } = require("@/media/utils/get-public-urls"); + const media = createMockMedia({ + accessControl: Constants.AccessControl.PUBLIC, + }); + + const mainUrl = getMainFileUrl(media); + const thumbUrl = getThumbnailUrl(media); + + // CDN should take precedence + assert.strictEqual( + mainUrl, + `https://cdn.medialit.cloud/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + ); + assert.strictEqual( + thumbUrl, + `https://cdn.medialit.cloud/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + ); + }); + + test("Scenario 3: CLOUD_ENDPOINT + CLOUD_ENDPOINT_PUBLIC (no CDN, validation ensures both exist)", () => { + delete process.env.CDN_ENDPOINT; + process.env.CLOUD_ENDPOINT = "https://s3.amazonaws.com"; + process.env.CLOUD_ENDPOINT_PUBLIC = + "https://public.s3.amazonaws.com"; + process.env.PATH_PREFIX = ""; + clearModuleCache(); + + const { + getMainFileUrl, + getThumbnailUrl, + } = require("@/media/utils/get-public-urls"); + const media = createMockMedia({ + accessControl: Constants.AccessControl.PUBLIC, + }); + + const mainUrl = getMainFileUrl(media); + const thumbUrl = getThumbnailUrl(media); + + // Main files use CLOUD_ENDPOINT_PUBLIC for public media + assert.strictEqual( + mainUrl, + `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + ); + // Thumbnails always use CLOUD_ENDPOINT_PUBLIC + assert.strictEqual( + thumbUrl, + `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + ); + }); + }); +}); diff --git a/apps/api/__tests__/services/s3.test.ts b/apps/api/__tests__/services/s3.test.ts index 9873bd5f..e0f6ca10 100644 --- a/apps/api/__tests__/services/s3.test.ts +++ b/apps/api/__tests__/services/s3.test.ts @@ -1,84 +1,150 @@ -import { describe, test } from "node:test"; +import { describe, test, beforeEach, afterEach } from "node:test"; import assert from "node:assert"; +// Helper to clear module cache and re-import +const clearModuleCache = () => { + const modulePath = require.resolve("@/services/s3"); + const constantsPath = require.resolve("@/config/constants"); + delete require.cache[modulePath]; + delete require.cache[constantsPath]; +}; + describe("S3 Client Configuration", () => { - test("should include endpoint and forcePathStyle when cloudEndpoint is set", () => { - // Set cloudEndpoint in environment - const originalEnv = process.env.CLOUD_ENDPOINT; - process.env.CLOUD_ENDPOINT = "http://localhost:9000"; - process.env.CLOUD_REGION = "us-east-1"; - process.env.CLOUD_KEY = "test-key"; - process.env.CLOUD_SECRET = "test-secret"; - - // Clear module cache to force re-evaluation with new env - const modulePath = require.resolve("../../src/services/s3"); - const constantsPath = require.resolve("../../src/config/constants"); - delete require.cache[modulePath]; - delete require.cache[constantsPath]; - - // Re-import to get fresh config - const { s3ClientConfig } = require("../../src/services/s3"); - - // Verify config structure - assert.ok( - s3ClientConfig !== undefined, - "s3ClientConfig should be defined", - ); - assert.strictEqual( - s3ClientConfig.endpoint, - "http://localhost:9000", - "endpoint should be set when cloudEndpoint is provided", - ); - assert.strictEqual( - s3ClientConfig.forcePathStyle, - true, - "forcePathStyle should be true when cloudEndpoint is provided", - ); - - // Restore original env - if (originalEnv !== undefined) { - process.env.CLOUD_ENDPOINT = originalEnv; + const originalEnv: Record = {}; + + beforeEach(() => { + // Save original env vars + originalEnv.CLOUD_ENDPOINT = process.env.CLOUD_ENDPOINT; + originalEnv.CLOUD_ENDPOINT_PUBLIC = process.env.CLOUD_ENDPOINT_PUBLIC; + originalEnv.CLOUD_BUCKET_NAME = process.env.CLOUD_BUCKET_NAME; + originalEnv.CLOUD_PUBLIC_BUCKET_NAME = + process.env.CLOUD_PUBLIC_BUCKET_NAME; + }); + + afterEach(() => { + // Restore original env vars + if (originalEnv.CLOUD_ENDPOINT !== undefined) { + process.env.CLOUD_ENDPOINT = originalEnv.CLOUD_ENDPOINT; } else { delete process.env.CLOUD_ENDPOINT; } + if (originalEnv.CLOUD_ENDPOINT_PUBLIC !== undefined) { + process.env.CLOUD_ENDPOINT_PUBLIC = + originalEnv.CLOUD_ENDPOINT_PUBLIC; + } else { + delete process.env.CLOUD_ENDPOINT_PUBLIC; + } + if (originalEnv.CLOUD_BUCKET_NAME !== undefined) { + process.env.CLOUD_BUCKET_NAME = originalEnv.CLOUD_BUCKET_NAME; + } else { + delete process.env.CLOUD_BUCKET_NAME; + } + if (originalEnv.CLOUD_PUBLIC_BUCKET_NAME !== undefined) { + process.env.CLOUD_PUBLIC_BUCKET_NAME = + originalEnv.CLOUD_PUBLIC_BUCKET_NAME; + } else { + delete process.env.CLOUD_PUBLIC_BUCKET_NAME; + } + clearModuleCache(); }); - test("should not include endpoint or forcePathStyle when cloudEndpoint is not set", () => { - // Unset cloudEndpoint - const originalEnv = process.env.CLOUD_ENDPOINT; - delete process.env.CLOUD_ENDPOINT; - process.env.CLOUD_REGION = "us-east-1"; - process.env.CLOUD_KEY = "test-key"; - process.env.CLOUD_SECRET = "test-secret"; - - // Clear module cache - const modulePath = require.resolve("../../src/services/s3"); - const constantsPath = require.resolve("../../src/config/constants"); - delete require.cache[modulePath]; - delete require.cache[constantsPath]; - - // Re-import to get fresh config - const { s3ClientConfig } = require("../../src/services/s3"); - - // Verify config structure - assert.ok( - s3ClientConfig !== undefined, - "s3ClientConfig should be defined", - ); - assert.strictEqual( - s3ClientConfig.endpoint, - undefined, - "endpoint should not be set when cloudEndpoint is not provided", - ); - assert.strictEqual( - s3ClientConfig.forcePathStyle, - undefined, - "forcePathStyle should not be set when cloudEndpoint is not provided", - ); - - // Restore original env - if (originalEnv !== undefined) { - process.env.CLOUD_ENDPOINT = originalEnv; - } + describe("Private S3 Client Config", () => { + test("should include endpoint and forcePathStyle when CLOUD_ENDPOINT is set (non-AWS)", () => { + process.env.CLOUD_ENDPOINT = "http://localhost:9000"; + process.env.CLOUD_REGION = "us-east-1"; + process.env.CLOUD_KEY = "test-key"; + process.env.CLOUD_SECRET = "test-secret"; + process.env.CLOUD_BUCKET_NAME = "test-bucket"; + clearModuleCache(); + + const { getPrivateS3ClientConfig } = require("@/services/s3"); + const config = getPrivateS3ClientConfig(); + + assert.ok(config !== undefined, "config should be defined"); + assert.strictEqual( + config.endpoint, + "http://localhost:9000", + "endpoint should be set when CLOUD_ENDPOINT is provided", + ); + assert.strictEqual( + config.forcePathStyle, + true, + "forcePathStyle should be true for non-AWS endpoints", + ); + }); + + test("should not include endpoint or forcePathStyle when CLOUD_ENDPOINT is not set", () => { + delete process.env.CLOUD_ENDPOINT; + process.env.CLOUD_REGION = "us-east-1"; + process.env.CLOUD_KEY = "test-key"; + process.env.CLOUD_SECRET = "test-secret"; + process.env.CLOUD_BUCKET_NAME = "test-bucket"; + clearModuleCache(); + + const { getPrivateS3ClientConfig } = require("@/services/s3"); + const config = getPrivateS3ClientConfig(); + + assert.ok(config !== undefined, "config should be defined"); + assert.strictEqual( + config.endpoint, + undefined, + "endpoint should not be set when CLOUD_ENDPOINT is not provided", + ); + assert.strictEqual( + config.forcePathStyle, + undefined, + "forcePathStyle should not be set when CLOUD_ENDPOINT is not provided", + ); + }); + }); + + describe("Public S3 Client Config", () => { + test("should include endpoint and forcePathStyle when CLOUD_ENDPOINT_PUBLIC is set (non-AWS)", () => { + process.env.CLOUD_ENDPOINT_PUBLIC = "http://localhost:9001"; + process.env.CLOUD_REGION = "us-east-1"; + process.env.CLOUD_KEY = "test-key"; + process.env.CLOUD_SECRET = "test-secret"; + process.env.CLOUD_PUBLIC_BUCKET_NAME = "test-public-bucket"; + clearModuleCache(); + + const { getPublicS3ClientConfig } = require("@/services/s3"); + const config = getPublicS3ClientConfig(); + + assert.ok(config !== undefined, "config should be defined"); + assert.strictEqual( + config.endpoint, + "http://localhost:9001", + "endpoint should be set when CLOUD_ENDPOINT_PUBLIC is provided", + ); + assert.strictEqual( + config.forcePathStyle, + true, + "forcePathStyle should be true for non-AWS endpoints", + ); + }); + + test("should not include endpoint or forcePathStyle when CLOUD_ENDPOINT_PUBLIC is not set", () => { + delete process.env.CLOUD_ENDPOINT_PUBLIC; + process.env.CLOUD_REGION = "us-east-1"; + process.env.CLOUD_KEY = "test-key"; + process.env.CLOUD_SECRET = "test-secret"; + process.env.CLOUD_PUBLIC_BUCKET_NAME = "test-public-bucket"; + clearModuleCache(); + + const { getPublicS3ClientConfig } = require("@/services/s3"); + const config = getPublicS3ClientConfig(); + + assert.ok(config !== undefined, "config should be defined"); + assert.strictEqual( + config.endpoint, + undefined, + "endpoint should not be set when CLOUD_ENDPOINT_PUBLIC is not provided", + ); + assert.strictEqual( + config.forcePathStyle, + undefined, + "forcePathStyle should not be set when CLOUD_ENDPOINT_PUBLIC is not provided", + ); + }); }); }); diff --git a/apps/api/src/config/constants.ts b/apps/api/src/config/constants.ts index 339bd621..f520c670 100644 --- a/apps/api/src/config/constants.ts +++ b/apps/api/src/config/constants.ts @@ -46,10 +46,12 @@ export const mailPort = parseInt(process.env.EMAIL_PORT || "") || 587; // AWS S3 config export const CLOUD_ENDPOINT = process.env.CLOUD_ENDPOINT || ""; +export const CLOUD_ENDPOINT_PUBLIC = process.env.CLOUD_ENDPOINT_PUBLIC || ""; export const cloudRegion = process.env.CLOUD_REGION || ""; export const cloudKey = process.env.CLOUD_KEY || ""; export const cloudSecret = process.env.CLOUD_SECRET || ""; export const cloudBucket = process.env.CLOUD_BUCKET_NAME || ""; +export const cloudPublicBucket = process.env.CLOUD_PUBLIC_BUCKET_NAME || ""; export const PATH_PREFIX = process.env.PATH_PREFIX || ""; export const HOUR_IN_SECONDS = 1000 * 60 * 60; diff --git a/apps/api/src/index.ts b/apps/api/src/index.ts index 52d7ecc9..1dd61294 100644 --- a/apps/api/src/index.ts +++ b/apps/api/src/index.ts @@ -88,11 +88,21 @@ async function checkConfig() { "Cloud credentials (CLOUD_KEY and CLOUD_SECRET) are not set", ); } - if (!process.env.CLOUD_BUCKET_NAME) { - throw new Error("Cloud bucket name (CLOUD_BUCKET_NAME) is not set"); + if ( + !process.env.CLOUD_BUCKET_NAME || + !process.env.CLOUD_PUBLIC_BUCKET_NAME + ) { + throw new Error( + "Cloud bucket name (CLOUD_BUCKET_NAME and CLOUD_PUBLIC_BUCKET_NAME) are not set", + ); } - if (!process.env.CLOUD_ENDPOINT && !process.env.CDN_ENDPOINT) { - throw new Error("Either CLOUD_ENDPOINT or CDN_ENDPOINT must be set"); + if ( + !process.env.CDN_ENDPOINT && + (!process.env.CLOUD_ENDPOINT || !process.env.CLOUD_ENDPOINT_PUBLIC) + ) { + throw new Error( + "If CDN_ENDPOINT is not set, both CLOUD_ENDPOINT and CLOUD_ENDPOINT_PUBLIC must be provided", + ); } } diff --git a/apps/api/src/media/cleanup.ts b/apps/api/src/media/cleanup.ts index 3ce9efce..03f951f7 100644 --- a/apps/api/src/media/cleanup.ts +++ b/apps/api/src/media/cleanup.ts @@ -1,7 +1,12 @@ import logger from "../services/log"; import MediaModel from "./model"; import { deleteFolder } from "../services/s3"; -import { PATH_PREFIX, TEMP_MEDIA_EXPIRATION_HOURS } from "../config/constants"; +import { + PATH_PREFIX, + TEMP_MEDIA_EXPIRATION_HOURS, + cloudBucket, +} from "../config/constants"; +import { PATH_KEY } from "./utils/generate-key"; export async function cleanupExpiredTempUploads(): Promise { const cutoff = new Date( @@ -27,9 +32,9 @@ export async function cleanupExpiredTempUploads(): Promise { let count = 0; for (const media of expired) { try { - // Delete S3 objects in tmp folder - const tmpPrefix = `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}tmp/${media.mediaId}/`; - await deleteFolder(tmpPrefix); + // Delete S3 objects from private bucket (using private path prefix) + const tmpPrefix = `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}${PATH_KEY.PRIVATE}/${media.mediaId}/`; + await deleteFolder(tmpPrefix, cloudBucket); // Delete media record await MediaModel.deleteOne({ _id: media._id }); diff --git a/apps/api/src/media/service.ts b/apps/api/src/media/service.ts index 8bbe866d..8c63c1b3 100644 --- a/apps/api/src/media/service.ts +++ b/apps/api/src/media/service.ts @@ -7,8 +7,9 @@ import { videoPattern, imagePatternForThumbnailGeneration, ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT, - PATH_PREFIX, DISABLE_TAGGING, + cloudBucket, + cloudPublicBucket, } from "../config/constants"; import imageUtils from "@medialit/images"; import { @@ -22,12 +23,11 @@ import { putObject, deleteObject, copyObject, - deleteFolder, getObjectTagging, UploadParams, } from "../services/s3"; import logger from "../services/log"; -import generateKey from "./utils/generate-key"; +import generateKey, { PATH_KEY } from "./utils/generate-key"; import { getMediaSettings } from "../media-settings/queries"; import generateFileName from "./utils/generate-file-name"; import mongoose from "mongoose"; @@ -50,12 +50,14 @@ const generateAndUploadThumbnail = async ({ mimetype, originalFilePath, tags, + bucket, }: { workingDirectory: string; key: string; mimetype: string; originalFilePath: string; tags: string; + bucket?: string; }): Promise => { const thumbPath = `${workingDirectory}/thumb.webp`; @@ -75,6 +77,7 @@ const generateAndUploadThumbnail = async ({ Body: createReadStream(thumbPath), ContentType: "image/webp", Tagging: tags, + Bucket: bucket || cloudBucket, }); } @@ -126,11 +129,12 @@ async function upload({ const uploadParams: UploadParams = { Key: generateKey({ mediaId: fileName.name, - path: "tmp", + path: PATH_KEY.PRIVATE, filename: `main.${fileExtension}`, }), Body: createReadStream(mainFilePath), ContentType: mimeType, + Bucket: cloudBucket, }; const tags = getTags(userId, group); uploadParams.Tagging = tags; @@ -145,10 +149,11 @@ async function upload({ originalFilePath: mainFilePath, key: generateKey({ mediaId: fileName.name, - path: "tmp", + path: PATH_KEY.PRIVATE, filename: "thumb.webp", }), tags, + bucket: cloudBucket, }); } catch (err: any) { logger.error({ err }, err.message); @@ -220,9 +225,7 @@ async function getPage({ media.accessControl === Constants.AccessControl.PRIVATE ? Constants.AccessControl.PRIVATE : Constants.AccessControl.PUBLIC, - thumbnail: media.thumbnailGenerated - ? getThumbnailUrl(media.mediaId) - : "", + thumbnail: media.thumbnailGenerated ? getThumbnailUrl(media) : "", caption: media.caption, group: media.group, }), @@ -249,15 +252,27 @@ async function getMediaDetails({ return null; } - // const key = generateKey({ - // mediaId: media.mediaId, - // path: media.temp - // ? "tmp" - // : media.accessControl === Constants.AccessControl.PRIVATE - // ? Constants.AccessControl.PRIVATE - // : Constants.AccessControl.PUBLIC, - // filename: `main.${path.extname(media.fileName).replace(".", "")}`, - // }); + // Determine file URL based on access control and temp status + let fileUrl: string; + if (media.temp || media.accessControl === Constants.AccessControl.PRIVATE) { + // Temp or private files: use signed URL from private bucket + fileUrl = await getPrivateFileUrl(media); + } else { + // Public sealed files: use direct URL from public bucket + fileUrl = getMainFileUrl(media); + } + + // Determine thumbnail URL + let thumbnailUrl = ""; + if (media.thumbnailGenerated) { + if (media.temp) { + // Temp thumbnail: use signed URL from private bucket + thumbnailUrl = await getPrivateFileUrl(media, true); + } else { + // Sealed thumbnail: use direct URL from public bucket + thumbnailUrl = getThumbnailUrl(media); + } + } return { mediaId: media.mediaId, @@ -268,16 +283,8 @@ async function getMediaDetails({ media.accessControl === Constants.AccessControl.PRIVATE ? Constants.AccessControl.PRIVATE : Constants.AccessControl.PUBLIC, - file: - media.accessControl === Constants.AccessControl.PRIVATE || - media.temp - ? await getPrivateFileUrl(media) - : getMainFileUrl(media), - thumbnail: media.thumbnailGenerated - ? media.temp - ? await getPrivateFileUrl(media, true) - : getThumbnailUrl(media.mediaId) - : "", + file: fileUrl, + thumbnail: thumbnailUrl, caption: media.caption, group: media.group, }; @@ -290,17 +297,16 @@ async function getPrivateFileUrl(media: MediaWithUserId, thumb?: boolean) { const key = generateKey({ mediaId: media.mediaId, - path: media.temp - ? "tmp" - : media.accessControl === Constants.AccessControl.PRIVATE - ? Constants.AccessControl.PRIVATE - : Constants.AccessControl.PUBLIC, + path: PATH_KEY.PRIVATE, filename, }); + // Private files are always in private bucket + const bucket = cloudBucket; + return ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT ? generateCloudfrontSignedUrl(key) - : await generateSignedUrl(key); + : await generateSignedUrl(key, bucket); } async function deleteMedia({ @@ -315,24 +321,35 @@ async function deleteMedia({ const media = await getMedia({ userId, apikey, mediaId }); if (!media) return; + // Determine which bucket the main file is in + const mainBucket = + media.temp || media.accessControl === Constants.AccessControl.PRIVATE + ? cloudBucket + : cloudPublicBucket; + + const mainPath = + media.temp || media.accessControl === Constants.AccessControl.PRIVATE + ? PATH_KEY.PRIVATE + : PATH_KEY.PUBLIC; + + const fileExtension = path.extname(media.fileName).replace(".", ""); const key = generateKey({ mediaId, - path: media.temp - ? "tmp" - : media.accessControl === Constants.AccessControl.PRIVATE - ? Constants.AccessControl.PRIVATE - : Constants.AccessControl.PUBLIC, - filename: `main.${media.fileName.split(".")[1]}`, + path: mainPath, + filename: `main.${fileExtension}`, }); - await deleteObject({ Key: key }); + await deleteObject({ Key: key, Bucket: mainBucket }); if (media.thumbnailGenerated) { + // Thumbnails are in public bucket if sealed, private bucket if temp + const thumbBucket = media.temp ? cloudBucket : cloudPublicBucket; + const thumbPath = media.temp ? PATH_KEY.PRIVATE : PATH_KEY.PUBLIC; const thumbKey = generateKey({ mediaId, - path: media.temp ? "tmp" : Constants.AccessControl.PUBLIC, + path: thumbPath, filename: "thumb.webp", }); - await deleteObject({ Key: thumbKey }); + await deleteObject({ Key: thumbKey, Bucket: thumbBucket }); } await deleteMediaQuery(userId, mediaId); @@ -356,23 +373,21 @@ async function sealMedia({ throw new Error("Media is already sealed"); } - // Determine final access path - const finalAccess = - media.accessControl === Constants.AccessControl.PUBLIC - ? Constants.AccessControl.PUBLIC - : Constants.AccessControl.PRIVATE; const fileExtension = path.extname(media.fileName).replace(".", ""); - // Get tags from source object + // Get tags from source object (in private bucket) const tmpMainKey = generateKey({ mediaId, - path: "tmp", + path: PATH_KEY.PRIVATE, filename: `main.${fileExtension}`, }); let tags: string | undefined; if (!DISABLE_TAGGING) { try { - const taggingResponse = await getObjectTagging({ Key: tmpMainKey }); + const taggingResponse = await getObjectTagging({ + Key: tmpMainKey, + Bucket: cloudBucket, + }); if (taggingResponse.TagSet && taggingResponse.TagSet.length > 0) { tags = taggingResponse.TagSet.map( (tag: any) => `${tag.Key}=${tag.Value}`, @@ -383,44 +398,63 @@ async function sealMedia({ } } - // Copy main file from tmp to final location - const finalMainKey = generateKey({ - mediaId, - path: finalAccess, - filename: `main.${fileExtension}`, - }); + // Determine destination bucket for main file + const isPublic = media.accessControl === Constants.AccessControl.PUBLIC; - await copyObject({ - sourceKey: tmpMainKey, - destinationKey: finalMainKey, - ContentType: media.mimeType, - Tagging: tags, - }); + // Copy main file from private bucket to public bucket (only if public) + if (isPublic) { + const finalMainKey = generateKey({ + mediaId, + path: PATH_KEY.PUBLIC, + filename: `main.${fileExtension}`, + }); - // Copy thumbnail from tmp to public location (if exists) + await copyObject({ + sourceKey: tmpMainKey, + sourceBucket: cloudBucket, + destinationKey: finalMainKey, + destinationBucket: cloudPublicBucket, + ContentType: media.mimeType, + Tagging: tags, + }); + } + + // Copy thumbnail from private bucket to public bucket (if exists) if (media.thumbnailGenerated) { const tmpThumbKey = generateKey({ mediaId, - path: "tmp", + path: PATH_KEY.PRIVATE, filename: "thumb.webp", }); const finalThumbKey = generateKey({ mediaId, - path: Constants.AccessControl.PUBLIC, + path: PATH_KEY.PUBLIC, filename: "thumb.webp", }); await copyObject({ sourceKey: tmpThumbKey, + sourceBucket: cloudBucket, destinationKey: finalThumbKey, + destinationBucket: cloudPublicBucket, ContentType: "image/webp", Tagging: tags, }); + + // Delete thumbnail from private bucket (it's now in public bucket) + await deleteObject({ + Key: tmpThumbKey, + Bucket: cloudBucket, + }); } - // Delete tmp folder - const tmpPrefix = `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}tmp/${mediaId}/`; - await deleteFolder(tmpPrefix); + // Delete main file from private bucket only if it was copied to public bucket + if (isPublic) { + await deleteObject({ + Key: tmpMainKey, + Bucket: cloudBucket, + }); + } // Update media record to remove temp flag await MediaModel.updateOne( diff --git a/apps/api/src/media/utils/generate-key.ts b/apps/api/src/media/utils/generate-key.ts index 8f25aaca..445e2491 100644 --- a/apps/api/src/media/utils/generate-key.ts +++ b/apps/api/src/media/utils/generate-key.ts @@ -1,15 +1,20 @@ import { PATH_PREFIX } from "../../config/constants"; +export const PATH_KEY = { + PRIVATE: "i", + PUBLIC: "p", +} as const; + +type PathKey = (typeof PATH_KEY)[keyof typeof PATH_KEY]; + export default function generateKey({ mediaId, path, filename, }: { mediaId: string; - path: "tmp" | "private" | "public"; + path: PathKey; // this helps in serving both private and public files from the same CDN filename: string; }): string { - return `${ - PATH_PREFIX ? `${PATH_PREFIX}/` : "" - }${path}/${mediaId}/${filename}`; + return `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}${path}/${mediaId}/${filename}`; } diff --git a/apps/api/src/media/utils/get-public-urls.ts b/apps/api/src/media/utils/get-public-urls.ts index c91540a0..793ed5f6 100644 --- a/apps/api/src/media/utils/get-public-urls.ts +++ b/apps/api/src/media/utils/get-public-urls.ts @@ -1,16 +1,27 @@ import path from "path"; -import { CDN_ENDPOINT, CLOUD_ENDPOINT, PATH_PREFIX } from "@/config/constants"; -import { Media } from "@medialit/models"; +import { + CDN_ENDPOINT, + CLOUD_ENDPOINT, + PATH_PREFIX, + CLOUD_ENDPOINT_PUBLIC, +} from "@/config/constants"; +import { Constants, Media } from "@medialit/models"; +import { PATH_KEY } from "./generate-key"; -export const ENDPOINT = CDN_ENDPOINT || CLOUD_ENDPOINT; const prefix = PATH_PREFIX ? `${PATH_PREFIX}/` : ""; export function getMainFileUrl(media: Media) { - return `${ENDPOINT}/${prefix}public/${media.mediaId}/main${path.extname( + const ENDPOINT = + CDN_ENDPOINT || + (media.accessControl === Constants.AccessControl.PUBLIC + ? CLOUD_ENDPOINT_PUBLIC || CLOUD_ENDPOINT + : CLOUD_ENDPOINT); + return `${ENDPOINT}/${prefix}${PATH_KEY.PUBLIC}/${media.mediaId}/main${path.extname( media.fileName, )}`; } -export function getThumbnailUrl(mediaId: string) { - return `${ENDPOINT}/${prefix}public/${mediaId}/thumb.webp`; +export function getThumbnailUrl(media: Media) { + const ENDPOINT = CDN_ENDPOINT || CLOUD_ENDPOINT_PUBLIC; + return `${ENDPOINT}/${prefix}${PATH_KEY.PUBLIC}/${media.mediaId}/thumb.webp`; } diff --git a/apps/api/src/services/s3.ts b/apps/api/src/services/s3.ts index 807353ed..ea10ba66 100644 --- a/apps/api/src/services/s3.ts +++ b/apps/api/src/services/s3.ts @@ -11,9 +11,11 @@ import { } from "@aws-sdk/client-s3"; import { CLOUD_ENDPOINT, + CLOUD_ENDPOINT_PUBLIC, cloudKey, cloudSecret, cloudBucket, + cloudPublicBucket, cloudRegion, CLOUDFRONT_KEY_PAIR_ID, CLOUDFRONT_PRIVATE_KEY, @@ -28,10 +30,12 @@ export interface UploadParams { Body: ReadStream; ContentType: string; Tagging?: string; + Bucket?: string; } export interface DeleteParams { Key: string; + Bucket?: string; } export interface CopyParams { @@ -39,6 +43,8 @@ export interface CopyParams { destinationKey: string; ContentType?: string; Tagging?: string; + sourceBucket?: string; + destinationBucket?: string; } export interface PresignedURLParams { @@ -46,60 +52,114 @@ export interface PresignedURLParams { mimetype?: string; } -let s3Client: S3Client | null = null; -export const s3ClientConfig: any = { - region: cloudRegion, - credentials: { - accessKeyId: cloudKey, - secretAccessKey: cloudSecret, - }, +let s3PrivateClient: S3Client | null = null; +let s3PublicClient: S3Client | null = null; + +export const getPrivateS3ClientConfig = () => { + const config: any = { + region: cloudRegion, + credentials: { + accessKeyId: cloudKey, + secretAccessKey: cloudSecret, + }, + }; + + if (CLOUD_ENDPOINT && !CLOUD_ENDPOINT.includes("amazonaws.com")) { + const isVirtualHostedStyle = CLOUD_ENDPOINT.includes(cloudBucket); + config.endpoint = CLOUD_ENDPOINT; + config.forcePathStyle = !isVirtualHostedStyle; + } + + return config; }; -if (CLOUD_ENDPOINT) { - s3ClientConfig.endpoint = CLOUD_ENDPOINT; - s3ClientConfig.forcePathStyle = true; -} +export const getPublicS3ClientConfig = () => { + const config: any = { + region: cloudRegion, + credentials: { + accessKeyId: cloudKey, + secretAccessKey: cloudSecret, + }, + }; + + if ( + CLOUD_ENDPOINT_PUBLIC && + !CLOUD_ENDPOINT_PUBLIC.includes("amazonaws.com") + ) { + const isVirtualHostedStyle = + CLOUD_ENDPOINT_PUBLIC.includes(cloudPublicBucket); + config.endpoint = CLOUD_ENDPOINT_PUBLIC; + config.forcePathStyle = !isVirtualHostedStyle; + } + + return config; +}; + +const getS3Client = (bucket?: string): S3Client => { + const targetBucket = bucket || cloudBucket; + // Check if target bucket is the public bucket (handle empty string edge case) + const isPublicBucket = + cloudPublicBucket && targetBucket === cloudPublicBucket; -const getS3Client = () => { - if (!s3Client) { - s3Client = new S3Client(s3ClientConfig); + if (isPublicBucket) { + if (!s3PublicClient) { + s3PublicClient = new S3Client(getPublicS3ClientConfig()); + } + return s3PublicClient; + } else { + if (!s3PrivateClient) { + s3PrivateClient = new S3Client(getPrivateS3ClientConfig()); + } + return s3PrivateClient; } - return s3Client; }; export const putObject = async (params: UploadParams) => { if (DISABLE_TAGGING) { delete params.Tagging; } + const bucket = params.Bucket || cloudBucket; + const { Bucket, ...restParams } = params; const command = new PutObjectCommand( - Object.assign({}, { Bucket: cloudBucket }, params), + Object.assign({}, { Bucket: bucket }, restParams), ); - const response = await getS3Client().send(command); + const response = await getS3Client(bucket).send(command); return response; }; export const deleteObject = async (params: DeleteParams) => { + const bucket = params.Bucket || cloudBucket; + const { Bucket, ...restParams } = params; const command = new DeleteObjectCommand( - Object.assign({}, { Bucket: cloudBucket }, params), + Object.assign({}, { Bucket: bucket }, restParams), ); - const response = await getS3Client().send(command); + const response = await getS3Client(bucket).send(command); return response; }; -export const getObjectTagging = async (params: { Key: string }) => { +export const getObjectTagging = async (params: { + Key: string; + Bucket?: string; +}) => { + const bucket = params.Bucket || cloudBucket; + const { Bucket, ...restParams } = params; const command = new GetObjectTaggingCommand( - Object.assign({}, { Bucket: cloudBucket }, params), + Object.assign({}, { Bucket: bucket }, restParams), ); - const response = await getS3Client().send(command); + const response = await getS3Client(bucket).send(command); return response; }; -export const generateSignedUrl = async (key: string): Promise => { +export const generateSignedUrl = async ( + key: string, + bucket?: string, +): Promise => { + const targetBucket = bucket || cloudBucket; const command = new GetObjectCommand({ - Bucket: cloudBucket, + Bucket: targetBucket, Key: key, }); - const url = await getS3SignedUrl(getS3Client(), command); + const url = await getS3SignedUrl(getS3Client(targetBucket), command); return url; }; @@ -118,25 +178,32 @@ export const generateCloudfrontSignedUrl = (key: string): string => { }; export const copyObject = async (params: CopyParams) => { - const copySource = `${cloudBucket}/${params.sourceKey}`; + const sourceBucket = params.sourceBucket || cloudBucket; + const destinationBucket = params.destinationBucket || cloudBucket; + const copySource = `${sourceBucket}/${params.sourceKey}`; const command = new CopyObjectCommand({ - Bucket: cloudBucket, + Bucket: destinationBucket, CopySource: copySource, Key: params.destinationKey, ContentType: params.ContentType, Tagging: params.Tagging, }); - const response = await getS3Client().send(command); + // Use destination bucket's client for copy operations + const response = await getS3Client(destinationBucket).send(command); return response; }; -export const deleteFolder = async (prefix: string): Promise => { - const client = getS3Client(); +export const deleteFolder = async ( + prefix: string, + bucket?: string, +): Promise => { + const targetBucket = bucket || cloudBucket; + const client = getS3Client(targetBucket); let continuationToken: string | undefined; do { const command = new ListObjectsV2Command({ - Bucket: cloudBucket, + Bucket: targetBucket, Prefix: prefix, ContinuationToken: continuationToken, }); @@ -145,7 +212,7 @@ export const deleteFolder = async (prefix: string): Promise => { if (response.Contents && response.Contents.length > 0) { const deletePromises = response.Contents.map((object: any) => - deleteObject({ Key: object.Key! }), + deleteObject({ Key: object.Key!, Bucket: targetBucket }), ); await Promise.all(deletePromises); } diff --git a/apps/api/src/tus/finalize.ts b/apps/api/src/tus/finalize.ts index 079dc655..28fec9a0 100644 --- a/apps/api/src/tus/finalize.ts +++ b/apps/api/src/tus/finalize.ts @@ -12,6 +12,7 @@ import { imagePattern, imagePatternForThumbnailGeneration, videoPattern, + cloudBucket, } from "../config/constants"; import imageUtils from "@medialit/images"; import { @@ -21,7 +22,7 @@ import { import { Constants, type MediaWithUserId } from "@medialit/models"; import { putObject, UploadParams } from "../services/s3"; import logger from "../services/log"; -import generateKey from "../media/utils/generate-key"; +import generateKey, { PATH_KEY } from "../media/utils/generate-key"; import { getMediaSettings } from "../media-settings/queries"; import generateFileName from "../media/utils/generate-file-name"; import { createMedia } from "../media/queries"; @@ -95,11 +96,12 @@ export default async function finalizeUpload( const uploadParams: UploadParams = { Key: generateKey({ mediaId: fileName.name, - path: "tmp", + path: PATH_KEY.PRIVATE, filename: `main.${fileExtension}`, }), Body: createReadStream(mainFilePath), ContentType: mimeType, + Bucket: cloudBucket, }; const tags = getTags(userId, metadata.group); uploadParams.Tagging = tags; @@ -114,10 +116,11 @@ export default async function finalizeUpload( originalFilePath: mainFilePath, key: generateKey({ mediaId: fileName.name, - path: "tmp", + path: PATH_KEY.PRIVATE, filename: "thumb.webp", }), tags, + bucket: cloudBucket, }); } catch (err: any) { logger.error({ err }, err.message); @@ -177,12 +180,14 @@ const generateAndUploadThumbnail = async ({ mimetype, originalFilePath, tags, + bucket, }: { workingDirectory: string; key: string; mimetype: string; originalFilePath: string; tags: string; + bucket?: string; }): Promise => { const thumbPath = `${workingDirectory}/thumb.webp`; let isGenerated = false; @@ -202,6 +207,7 @@ const generateAndUploadThumbnail = async ({ Body: createReadStream(thumbPath), ContentType: "image/webp", Tagging: tags, + Bucket: bucket || cloudBucket, }); await fsPromises.rm(thumbPath); } diff --git a/apps/docs/content/docs/rest-api.mdx b/apps/docs/content/docs/rest-api.mdx index 9cd24ee8..4979b90d 100644 --- a/apps/docs/content/docs/rest-api.mdx +++ b/apps/docs/content/docs/rest-api.mdx @@ -1,11 +1,11 @@ --- title: REST API -description: Integrate MediaLit with your app using our REST API +description: Upload files in under five minutes with our API --- -We offer an official [Postman](https://postman.com) collection. The collection contains all the relevant documenation. +## API Documentation -[MediaLit Postman collection](https://www.postman.com/dark-rocket-625879/codelit/collection/5b8hfkr/medialit) +Access the complete endpoint reference through our official [Postman](https://www.postman.com/codelitdev/codelit/collection/5b8hfkr/medialit) collection. ## Video Tutorial diff --git a/apps/docs/content/docs/self-hosting.mdx b/apps/docs/content/docs/self-hosting.mdx index 1aa9c3ad..931a1ce7 100644 --- a/apps/docs/content/docs/self-hosting.mdx +++ b/apps/docs/content/docs/self-hosting.mdx @@ -3,12 +3,26 @@ title: Self hosting description: Learn how to host MediaLit API --- -Coming soon +This guide explains how to self-host MediaLit with an S3-compatible storage provider. -## Bucket Public Access -![Bucket Config](/bucket-policy.png) +## Requirements +1. Two buckets: one dedicated to private files and one to public files. +2. Private bucket access settings: public access disabled. +3. Public bucket access settings: public access enabled. -## Bucket Policy +## Configuring storage + +### AWS S3 + +**1. Configure the private bucket** +![AWS Private bucket private access](/aws-private-bucket-policy.png) + +**2. Configure the public bucket** + +**2.1 Allow public access** +![AWS Public bucket public access](/aws-public-bucket-policy.png) + +**2.2 Configure bucket policy** ```json { "Version": "2012-10-17", @@ -18,34 +32,70 @@ Coming soon "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", - "Resource": "arn:aws:s3:::medialit-temp-refactoring/medialit-service/public/*" + "Resource": "arn:aws:s3::://*" } ] } ``` - -## S3 Storages - -### AWS S3 - -``` +**3. Set environment variables** +```sh CLOUD_KEY=your_aws_access_key CLOUD_SECRET=your_aws_secret_key CLOUD_BUCKET_NAME=your_bucket_name +CLOUD_PUBLIC_BUCKET_NAME=your_public_bucket_name CLOUD_REGION=ap-southeast-1 -CDN_ENDPOINT=https://your-cloudfront-endpoint.example.com # OR https://.s3..amazonaws.com -ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT=true # If you want to access the private bucket's content via Cloudfront +CDN_ENDPOINT=https://.s3..amazonaws.com +``` + +#### Add CloudFront CDN + +**1. CloudFront distribution configuration** + +Add the public bucket to CloudFront as an origin. + +**2. Set environment variables** + +```sh +CDN_ENDPOINT=https://your-cloudfront-endpoint.example.com +``` + +In this setup, private URLs are served directly from S3. To serve private bucket content via CloudFront as well, keep reading. + +**3. Put the private bucket behind CloudFront** + +**3.1. Add the private bucket to CloudFront** + +Add the private bucket to CloudFront as an origin. + +![Put both buckets behind CloudFront](/serve-public-private-buckets-via-cdn.png) + +**3.2. Set environment variables** + +``` +ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT=true # Enables URL signing for CloudFront CLOUDFRONT_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\nYOUR_PRIVATE_KEY_CONTENTS\n-----END PRIVATE KEY-----" CLOUDFRONT_KEY_PAIR_ID=YOUR_KEY_PAIR_ID ``` + ### Cloudflare R2 -``` +**1. Configure the private bucket** +![Cloudflare R2 private bucket config](/cloudflare-private-bucket-config.png) + +**2. Configure the public bucket** +![Cloudflare R2 public bucket config](/cloudflare-public-bucket-config.png) + +**3. Set environment variables** +```sh CLOUD_KEY=your_cloudflare_r2_access_key CLOUD_SECRET=your_cloudflare_r2_secret_key -CLOUD_BUCKET_NAME=your_bucket_name +CLOUD_BUCKET_NAME=your_private_bucket_name +CLOUD_PUBLIC_BUCKET_NAME=your_public_bucket_name CLOUD_REGION=auto CLOUD_ENDPOINT=https://.r2.cloudflarestorage.com -CDN_ENDPOINT=https://.r2.dev -``` \ No newline at end of file +CLOUD_ENDPOINT_PUBLIC=https://.r2.cloudflarestorage.com # Same URL as CLOUD_ENDPOINT +CDN_ENDPOINT=https://.r2.dev # For accessing public bucket content +``` + +> In the Cloudflare setup, you cannot serve private bucket content through the CDN. \ No newline at end of file diff --git a/apps/docs/public/aws-private-bucket-policy.png b/apps/docs/public/aws-private-bucket-policy.png new file mode 100644 index 0000000000000000000000000000000000000000..dfc11348079bd0c3d6f5a9ef1d93485c6d19cd04 GIT binary patch literal 63201 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 YO501 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૑R^4w{KQQ(rUBq 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/aws-public-bucket-policy.png b/apps/docs/public/aws-public-bucket-policy.png new file mode 100644 index 0000000000000000000000000000000000000000..831078b48e1f2f4c4568676e8d86984267fc0924 GIT binary patch literal 146034 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%0DF%)m){ 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

)9$=se&O5Lw06r0jnG;zekO~zS(rX^q1wJs+ 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 literal 0 HcmV?d00001 diff --git a/apps/docs/public/cloudflare-private-bucket-config.png b/apps/docs/public/cloudflare-private-bucket-config.png new file mode 100644 index 0000000000000000000000000000000000000000..92ff2ca72ae80797ffef9c53893d7216648c6bf5 GIT binary patch literal 121159 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

Tkl~2xkfW4A?^l;%t9Uj|#B9@7*#F|GxjE6q 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

`Qhii`&oX4 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 Date: Sat, 8 Nov 2025 10:26:55 +0530 Subject: [PATCH 05/12] Updated api package version to the latest --- apps/api/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/api/package.json b/apps/api/package.json index 8c75c24d..151e82fa 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -1,6 +1,6 @@ { "name": "@medialit/api", - "version": "0.0.28", + "version": "0.2.2", "private": true, "description": "A better API to manage your files on AWS S3 compatible cloud storages", "author": { From eea18ab7305f66eb33ac377de12eacc37ce2a0fc Mon Sep 17 00:00:00 2001 From: Rajat Saxena Date: Sat, 8 Nov 2025 10:29:07 +0530 Subject: [PATCH 06/12] Added a release script --- package.json | 3 ++- release.sh | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100755 release.sh diff --git a/package.json b/package.json index cb1c4ef7..df3de893 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "lint": "eslint --cache --quiet", "prettier": "prettier --check **/*.{ts,tsx,js,css,md}", "lint:fix": "eslint --cache --fix", - "prettier:fix": "prettier --write **/*.{ts,tsx,js,css,md}" + "prettier:fix": "prettier --write **/*.{ts,tsx,js,css,md}", + "release": "./release.sh" }, "lint-staged": { "*.{ts,tsx}": "eslint --cache --fix **/*.{ts,tsx}", diff --git a/release.sh b/release.sh new file mode 100755 index 00000000..37ff5b8e --- /dev/null +++ b/release.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# Check if an argument is provided +if [ $# -eq 0 ]; then + echo "USAGE: ./release.sh " + exit 1 +fi + +# check if jq is installed +if ! command -v jq &> /dev/null; then + echo "jq could not be found. Please install it." + exit 1 +fi + +VERSION=$1 + +# Update version in apps/web/package.json +jq --arg version "$VERSION" '.version = $version' apps/api/package.json > tmp.json && mv tmp.json apps/api/package.json + +# commit, tag and push +git add . +git commit -m v$VERSION +git push +git tag -a "v${VERSION}" -m "v${VERSION}" +git push origin --tags \ No newline at end of file From c5ae23164ff714a967d7efa4fa848cae9fc7dfb8 Mon Sep 17 00:00:00 2001 From: Rajat Saxena Date: Sat, 10 Jan 2026 00:10:53 +0530 Subject: [PATCH 07/12] Refactor MediaLit package: removed dependency on @medialit/models, updated import paths, and streamlined upload methods. Added dual-bucket architecture PRD and migration script for S3-compatible storage. --- ...005-migrate-to-dual-bucket-architecture.js | 1 + docs/prds/dual-bucket-architecture.md | 454 ++++++++++++++++++ packages/medialit/package.json | 3 +- packages/medialit/src/index.ts | 96 +--- packages/medialit/src/types.ts | 16 + pnpm-lock.yaml | 37 +- 6 files changed, 507 insertions(+), 100 deletions(-) create mode 100644 .migrations/0005-migrate-to-dual-bucket-architecture.js create mode 100644 docs/prds/dual-bucket-architecture.md create mode 100644 packages/medialit/src/types.ts diff --git a/.migrations/0005-migrate-to-dual-bucket-architecture.js b/.migrations/0005-migrate-to-dual-bucket-architecture.js new file mode 100644 index 00000000..bf71d55c --- /dev/null +++ b/.migrations/0005-migrate-to-dual-bucket-architecture.js @@ -0,0 +1 @@ +// TODO: rename "public-read" to "public" diff --git a/docs/prds/dual-bucket-architecture.md b/docs/prds/dual-bucket-architecture.md new file mode 100644 index 00000000..42582ab0 --- /dev/null +++ b/docs/prds/dual-bucket-architecture.md @@ -0,0 +1,454 @@ + + +# Product Requirements Document (PRD) + +**Title:** + +Dual-Bucket Architecture for S3-Compatible Storage Providers + +**Product:** + +MediaLit — Cloud Digital Asset Management Service + +**Author:** + +Rajat Saxena + +**Version:** + +v1.0 — December 2024 + +--- + +## 1. Overview + +MediaLit currently uses a single S3 bucket with path-based separation (`/tmp`, `/private`, `/public`) and relies on bucket policies for access control. However, some S3-compatible storage providers (notably Cloudflare R2) do not support bucket policies, making this architecture incompatible. + +This PRD defines a dual-bucket architecture that: + +- Uses separate buckets for private and public files +- Eliminates path prefixes (no `/tmp`, `/private`, `/public` in paths) +- Supports all target S3-compatible providers: AWS S3, Cloudflare R2, DigitalOcean Spaces, Backblaze B2, Wasabi, and MinIO +- Maintains the existing temp → seal → cleanup lifecycle + +--- + +## 2. Objectives + +1. **Bucket Separation**: Deploy private files to `CLOUD_BUCKET_NAME` and public files to `CLOUD_PUBLIC_BUCKET_NAME` +2. **Path Simplification**: Remove path prefixes; use flat structure: `{mediaId}/main.{ext}` and `{mediaId}/thumb.webp` +3. **Provider Compatibility**: Ensure architecture works with all listed S3-compatible storage providers +4. **Lifecycle Preservation**: Maintain temp → seal → cleanup flow +5. **Backward Compatibility**: Support existing deployments (with migration path) +6. **Access Control**: Private bucket requires signed URLs; public bucket allows direct access + +--- + +## 3. Storage Architecture + +### Bucket Structure + +**Private Bucket (`CLOUD_BUCKET_NAME`):** + +``` +s3://private-bucket/ + ├── {mediaId1}/ + │ ├── main.{ext} # temp or private files + │ └── thumb.webp # temp thumbnails (before sealing) + ├── {mediaId2}/ + │ └── main.{ext} + └── ... +``` + +**Public Bucket (`CLOUD_PUBLIC_BUCKET_NAME`):** + +``` +s3://public-bucket/ + ├── {mediaId1}/ + │ ├── main.{ext} # sealed public files + │ └── thumb.webp # all sealed thumbnails (always public) + ├── {mediaId2}/ + │ └── main.{ext} + └── ... +``` + +### Key Principles + +| File Type | Bucket | Path Structure | Access Method | + +|-----------|--------|----------------|---------------| + +| Temp uploads | Private | `{mediaId}/main.{ext}` | Signed URL (internal) | + +| Temp thumbnails | Private | `{mediaId}/thumb.webp` | Signed URL (internal) | + +| Private sealed files | Private | `{mediaId}/main.{ext}` | Signed URL | + +| Public sealed files | Public | `{mediaId}/main.{ext}` | Direct HTTP/CDN | + +| Sealed thumbnails | Public | `{mediaId}/thumb.webp` | Direct HTTP/CDN | + +--- + +## 4. Configuration + +### Environment Variables + +**Required:** + +- `CLOUD_BUCKET_NAME` - Private bucket (temp and private files) +- `CLOUD_PUBLIC_BUCKET_NAME` - Public bucket (public files and all thumbnails) + +**Shared Configuration (applies to both buckets):** + +- `CLOUD_ENDPOINT` - S3 endpoint URL +- `CLOUD_REGION` - Region (if applicable) +- `CLOUD_KEY` - Access key ID +- `CLOUD_SECRET` - Secret access key +- `CLOUD_PREFIX` - Optional prefix (if needed for multi-tenant) + +**Note**: Both buckets MUST use the same credentials and endpoint. Different credentials/endpoints per bucket are out of scope for v1. + +--- + +## 5. Lifecycle Flow + +### Stage 1: Upload (Temporary) + +**Routes:** + +- `POST /media/create` (multipart upload) +- `POST /media/create/resumable` (TUS upload) + +**Process:** + +1. Generate `mediaId` (nanoid) +2. Upload main file to private bucket: `{mediaId}/main.{ext}` +3. Optionally generate and upload thumbnail to private bucket: `{mediaId}/thumb.webp` +4. Create DB record with `temp: true` + +**Implementation:** + +- `putObject()` uses `CLOUD_BUCKET_NAME` +- Key generation: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` (if prefix exists) + +--- + +### Stage 2: Seal (Finalize) + +**Route:** + +- `POST /media/seal/{mediaId}` + +**Process:** + +1. Retrieve media record and determine access control +2. **Main file:** + + - If `accessControl === "public"`: Copy from private bucket → public bucket + - If `accessControl === "private"`: Move within private bucket (or copy if cross-bucket move not supported) + +3. **Thumbnail (if exists):** + + - Always copy from private bucket → public bucket + +4. Delete temp files from private bucket +5. Update DB record: `temp: undefined` + +**Implementation Details:** + +- Use `CopyObjectCommand` with source bucket + key and destination bucket + key +- For same-bucket moves (private → private), use copy + delete +- For cross-bucket copies (private → public), use copy from source bucket to destination bucket +- After successful copy, delete source objects + +**Key Generation:** + +- Source: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` in private bucket +- Destination: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` in public bucket (for public) or same private bucket (for private) + +--- + +### Stage 3: Cleanup (Background Job) + +**Schedule:** Every N hours (configurable via `TEMP_MEDIA_EXPIRATION_HOURS`) + +**Process:** + +1. Find expired temp media: `temp: true` and `createdAt < cutoff` +2. For each expired media: + + - Delete from private bucket: `{mediaId}/` (all objects with this prefix) + - Delete DB record + +**Implementation:** + +- `deleteFolder()` operates on private bucket only +- Prefix: `{CLOUD_PREFIX}/{mediaId}/` (if prefix exists) + +--- + +## 6. URL Generation + +### Private Files (Signed URLs) + +**Temp or Private Files:** + +- Source: Private bucket +- Method: Generate signed URL using S3 presigner or CDN signer +- Key: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` or `{CLOUD_PREFIX}/{mediaId}/thumb.webp` + +**Implementation:** + +```typescript +// For private bucket +const command = new GetObjectCommand({ + Bucket: CLOUD_BUCKET_NAME, + Key: key, +}); +const url = await getS3SignedUrl(s3Client, command); +``` + +### Public Files (Direct URLs) + +**Public Files and Thumbnails:** + +- Source: Public bucket +- Method: Direct HTTP URL or CDN URL +- Key: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` or `{CLOUD_PREFIX}/{mediaId}/thumb.webp` + +**Implementation:** + +```typescript +// For public bucket +const url = `${PUBLIC_ENDPOINT}/${key}`; // or `${CLOUDFRONT_ENDPOINT}/${key}` +``` + +--- + +## 7. S3 Service Layer Changes + +### Current Structure (`apps/api/src/services/s3.ts`) + +**Required Changes:** + +1. **Add Public Bucket Configuration:** + + - Import `CLOUD_PUBLIC_BUCKET_NAME` from constants + - Create separate S3 client instances (or reuse with bucket parameter) + +2. **Update `putObject()`:** + + - Add optional `bucket` parameter (defaults to `CLOUD_BUCKET_NAME`) + - Use specified bucket for PutObjectCommand + +3. **Update `copyObject()`:** + + - Modify to support cross-bucket copies + - Add `sourceBucket` and `destinationBucket` parameters + - Update `CopySource` format: `{sourceBucket}/{sourceKey}` + +4. **Update `deleteObject()` and `deleteFolder()`:** + + - Add optional `bucket` parameter (defaults to `CLOUD_BUCKET_NAME`) + +5. **Update `generateSignedUrl()`:** + + - Add optional `bucket` parameter (defaults to `CLOUD_BUCKET_NAME`) + +6. **Update `getObjectTagging()`:** + + - Add optional `bucket` parameter (defaults to `CLOUD_BUCKET_NAME`) + +--- + +## 8. Provider Compatibility + +### Supported Providers + +| Provider | Bucket Policies | Cross-Bucket Copy | Notes | + +|----------|----------------|-------------------|-------| + +| AWS S3 | ✅ Yes | ✅ Yes (same region) | Standard implementation | + +| Cloudflare R2 | ❌ No | ✅ Yes | Primary use case | + +| DigitalOcean Spaces | ✅ Yes | ✅ Yes | Works with bucket policies or dual-bucket | + +| Backblaze B2 | ✅ Yes | ✅ Yes | Works with bucket policies or dual-bucket | + +| Wasabi | ✅ Yes | ✅ Yes | Works with bucket policies or dual-bucket | + +| MinIO | ✅ Yes | ✅ Yes | Works with bucket policies or dual-bucket | + +### Cross-Bucket Copy Implementation + +For all providers, use `CopyObjectCommand` with: + +```typescript +CopySource: `${sourceBucket}/${sourceKey}`; +Bucket: destinationBucket; +Key: destinationKey; +``` + +**Note**: Some providers may have restrictions on cross-bucket copies (e.g., same region). Document these in deployment guides. + +--- + +## 9. Database Model + +No schema changes required. Existing `MediaSchema` with `temp` field remains valid. + +**Access Control Logic:** + +- `temp: true` → Private bucket, signed URL +- `temp: false` + `accessControl: "private"` → Private bucket, signed URL +- `temp: false` + `accessControl: "public"` → Public bucket, direct URL + +--- + +## 10. Migration Strategy + +### For Existing Deployments + +**Option A: Gradual Migration (Recommended)** + +1. Create new public bucket +2. Update code to use dual-bucket architecture +3. On seal operation, migrate existing files: + + - If public, copy from old location to new public bucket + - If private, keep in private bucket (or move if needed) + +4. Old files remain accessible during migration window + +**Option B: One-Time Migration** + +1. Scan all media records +2. Copy public files to new public bucket +3. Update URL generation logic +4. Remove old path prefixes from keys + +**Migration Script Requirements:** + +- Identify public vs private files from DB records +- Copy files to appropriate buckets +- Update any cached URLs or CDN invalidation + +--- + +## 11. API Changes + +### No Breaking Changes + +All existing API endpoints remain unchanged: + +- `POST /media/create` - Still works (uploads to private bucket) +- `POST /media/seal/{mediaId}` - Still works (moves to appropriate bucket) +- `GET /media/get` - Still works (URLs generated based on bucket) +- `GET /media/{mediaId}` - Still works (URLs generated based on bucket) + +### Internal Changes Only + +- S3 service layer accepts bucket parameters +- Key generation removes path prefixes +- URL generation selects bucket based on access control + +--- + +## 12. Testing Requirements + +### Unit Tests + +- S3 service functions with bucket parameters +- Cross-bucket copy operations +- URL generation for both buckets +- Key generation without path prefixes + +### Integration Tests + +- Upload → Seal → Access flow for public files +- Upload → Seal → Access flow for private files +- Thumbnail always ends up in public bucket +- Cleanup removes from correct bucket + +### Provider-Specific Tests + +- Test with Cloudflare R2 (primary use case) +- Test with AWS S3 (baseline) +- Test with other providers (as needed) + +--- + +## 13. Deployment Checklist + +- [ ] Create `CLOUD_PUBLIC_BUCKET_NAME` bucket in storage provider +- [ ] Configure bucket permissions (public bucket: public read; private bucket: private) +- [ ] Set environment variable `CLOUD_PUBLIC_BUCKET_NAME` +- [ ] Verify `CLOUD_BUCKET_NAME` is set (private bucket) +- [ ] Deploy updated code +- [ ] Run migration script (if applicable) +- [ ] Verify upload → seal → access flow +- [ ] Monitor for any cross-bucket copy errors + +--- + +## 14. Success Metrics + +| Metric | Target | + +|--------|--------| + +| Dual-bucket architecture functional | 100% | + +| Cloudflare R2 compatibility | ✅ Working | + +| All listed providers supported | ✅ Working | + +| Zero breaking API changes | ✅ Maintained | + +| Migration path available | ✅ Documented | + +--- + +## 15. Risks and Mitigations + +| Risk | Mitigation | + +|------|------------| + +| Cross-bucket copy failures | Implement retry logic; fallback to download + upload | + +| Provider-specific restrictions | Document provider limitations; test with each provider | + +| Migration complexity | Provide clear migration scripts; support gradual migration | + +| URL generation errors | Comprehensive testing; fallback to signed URLs if needed | + +--- + +## 16. Deliverables + +1. Updated S3 service layer with bucket parameter support +2. Updated media service with dual-bucket logic +3. Updated key generation (remove path prefixes) +4. Updated URL generation (bucket-aware) +5. Migration documentation and scripts (if applicable) +6. Provider-specific deployment guides +7. Updated tests for dual-bucket architecture + +--- + +## 17. Summary + +This PRD defines a dual-bucket architecture that eliminates path prefixes and uses separate buckets for private and public files. The architecture: + +- ✅ Works with Cloudflare R2 (no bucket policies required) +- ✅ Works with all listed S3-compatible providers +- ✅ Maintains existing API contracts +- ✅ Simplifies path structure (no `/tmp`, `/private`, `/public` prefixes) +- ✅ Preserves temp → seal → cleanup lifecycle +- ✅ Always stores thumbnails in public bucket (for fast CDN delivery) + +The implementation requires changes to the S3 service layer to support bucket parameters and cross-bucket operations, but maintains backward compatibility at the API level. diff --git a/packages/medialit/package.json b/packages/medialit/package.json index 0c1a8708..7616025c 100644 --- a/packages/medialit/package.json +++ b/packages/medialit/package.json @@ -30,8 +30,7 @@ "author": "", "license": "MIT", "dependencies": { - "form-data": "^4.0.0", - "@medialit/models": "workspace:*" + "form-data": "^4.0.0" }, "devDependencies": { "@types/node": "^20.0.0", diff --git a/packages/medialit/src/index.ts b/packages/medialit/src/index.ts index 0c096b5b..b32a0e46 100644 --- a/packages/medialit/src/index.ts +++ b/packages/medialit/src/index.ts @@ -1,4 +1,4 @@ -import { Media } from "@medialit/models"; +import type { Media } from "./types"; import { createReadStream } from "fs"; import { Readable } from "stream"; @@ -58,7 +58,6 @@ export class MediaLit { private async createFormData( file: FileInput, ): Promise<{ formData: any; filename: string }> { - this.checkBrowserEnvironment(); const FormData = (await import("form-data")).default; const formData = new FormData(); @@ -79,17 +78,11 @@ export class MediaLit { } async upload(file: FileInput, options: UploadOptions = {}): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); - } - const { formData } = await this.createFormData(file); if (options.access) formData.append("access", options.access); if (options.caption) formData.append("caption", options.caption); if (options.group) formData.append("group", options.group); - // formData.append("apikey", this.apiKey); const response = await fetch(`${this.endpoint}/media/create`, { method: "POST", @@ -109,11 +102,6 @@ export class MediaLit { } async delete(mediaId: string): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); - } - const response = await fetch( `${this.endpoint}/media/delete/${mediaId}`, { @@ -131,12 +119,24 @@ export class MediaLit { } } - async get(mediaId: string): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); + async seal(mediaId: string): Promise { + const response = await fetch(`${this.endpoint}/media/seal/${mediaId}`, { + method: "POST", + headers: { + "Content-Type": "application/json", + "x-medialit-apikey": this.apiKey, + }, + }); + + if (!response.ok) { + const error = await response.json(); + throw new Error(error.message || "Failed to seal media"); } + return response.json(); + } + + async get(mediaId: string): Promise { const response = await fetch(`${this.endpoint}/media/get/${mediaId}`, { method: "POST", headers: { @@ -158,11 +158,6 @@ export class MediaLit { limit: number = 10, filters: { access?: "private" | "public"; group?: string } = {}, ): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); - } - const params = new URLSearchParams({ page: page.toString(), limit: limit.toString(), @@ -191,11 +186,6 @@ export class MediaLit { } async getSignature(options: { group?: string } = {}): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); - } - const response = await fetch( `${this.endpoint}/media/signature/create`, { @@ -220,11 +210,6 @@ export class MediaLit { } async getCount(): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); - } - const response = await fetch(`${this.endpoint}/media/get/count`, { method: "POST", headers: { @@ -243,11 +228,6 @@ export class MediaLit { } async getStats(): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); - } - const response = await fetch(`${this.endpoint}/media/get/size`, { method: "POST", headers: { @@ -265,11 +245,6 @@ export class MediaLit { } async getSettings(): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); - } - const response = await fetch(`${this.endpoint}/settings/media/get`, { method: "POST", headers: { @@ -287,11 +262,6 @@ export class MediaLit { } async updateSettings(settings: MediaSettings): Promise { - this.checkBrowserEnvironment(); - if (!this.apiKey) { - throw new Error(API_KEY_REQUIRED); - } - const response = await fetch(`${this.endpoint}/settings/media/create`, { method: "POST", headers: { @@ -308,34 +278,6 @@ export class MediaLit { throw new Error(error.message || "Failed to update media settings"); } } - - // async signedUpload( - // signature: string, - // file: FileInput, - // options: UploadOptions = {}, - // ): Promise { - // this.checkBrowserEnvironment(); - // const { formData } = await this.createFormData(file); - - // if (options.access) formData.append("access", options.access); - // if (options.caption) formData.append("caption", options.caption); - // if (options.group) formData.append("group", options.group); - - // const response = await fetch(this.endpoint, { - // method: "POST", - // body: formData, - // headers: { - // "x-medialit-signature": signature - // } - // }); - - // if (!response.ok) { - // const error = await response.json(); - // throw new Error( - // error.message || "Upload with signature failed", - // ); - // } - - // return response.json(); - // } } + +export type { Media } from "./types"; diff --git a/packages/medialit/src/types.ts b/packages/medialit/src/types.ts new file mode 100644 index 00000000..e51c428d --- /dev/null +++ b/packages/medialit/src/types.ts @@ -0,0 +1,16 @@ +export type AccessControl = "private" | "public"; + +export interface Media { + fileName: string; + mediaId: string; + apikey: string; + originalFileName: string; + mimeType: string; + size: number; + thumbnailGenerated: boolean; + accessControl: AccessControl; + group?: string; + caption?: string; + file?: string; + temp?: boolean; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16fcdf6d..2fbc9a2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -393,9 +393,6 @@ importers: packages/medialit: dependencies: - '@medialit/models': - specifier: workspace:* - version: link:../models form-data: specifier: ^4.0.0 version: 4.0.2 @@ -11595,8 +11592,8 @@ snapshots: '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) eslint-plugin-react: 7.37.5(eslint@8.57.1) eslint-plugin-react-hooks: 5.2.0(eslint@8.57.1) @@ -11615,8 +11612,8 @@ snapshots: '@typescript-eslint/parser': 5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.24.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-react: 7.37.5(eslint@9.24.0(jiti@2.4.2)) eslint-plugin-react-hooks: 5.2.0(eslint@9.24.0(jiti@2.4.2)) @@ -11635,7 +11632,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1): + eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0(supports-color@5.5.0) @@ -11646,11 +11643,11 @@ snapshots: tinyglobby: 0.2.12 unrs-resolver: 1.4.1 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)): + eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.0(supports-color@5.5.0) @@ -11661,33 +11658,33 @@ snapshots: tinyglobby: 0.2.12 unrs-resolver: 1.4.1 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1): + eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.8.3) eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@8.57.1) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)): + eslint-module-utils@2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)): dependencies: debug: 3.2.7 optionalDependencies: '@typescript-eslint/parser': 5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3) eslint: 9.24.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0(jiti@2.4.2)) + eslint-import-resolver-typescript: 3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -11698,7 +11695,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1))(eslint@8.57.1))(eslint@8.57.1) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -11716,7 +11713,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -11727,7 +11724,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.24.0(jiti@2.4.2) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0(jiti@2.4.2)) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@5.62.0(eslint@9.24.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)))(eslint@9.24.0(jiti@2.4.2)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -13101,9 +13098,7 @@ snapshots: pretty-format: 24.9.0 throat: 4.1.0 transitivePeerDependencies: - - bufferutil - supports-color - - utf-8-validate jest-leak-detector@24.9.0: dependencies: From acb7186be6ef2210a42d171e34f245b2f144b70e Mon Sep 17 00:00:00 2001 From: Rajat Date: Sat, 24 Jan 2026 22:44:04 +0530 Subject: [PATCH 08/12] Db and AWS S3 migrations --- ...005-migrate-to-dual-bucket-architecture.js | 5 +- .prettierignore | 3 +- .../media/utils/get-public-urls.test.ts | 75 +++--- apps/api/src/media/cleanup.ts | 4 +- apps/api/src/media/service.ts | 28 ++- apps/api/src/media/utils/generate-key.ts | 8 +- apps/api/src/media/utils/get-public-urls.ts | 7 +- apps/api/src/tus/finalize.ts | 6 +- apps/docs/public/aws-public-bucket-policy.png | Bin 146034 -> 145533 bytes apps/docs/public/bucket-policy.png | Bin 145533 -> 0 bytes apps/web/next.config.js | 8 + eslint.config.mjs | 5 +- package.json | 2 +- packages/medialit/__tests__/index.test.ts | 27 -- packages/models/src/constants.ts | 4 + packages/models/src/index.ts | 1 + packages/models/src/path-key.ts | 3 + packages/scripts/.env.example | 18 ++ packages/scripts/package.json | 19 ++ .../scripts/src/migrate-to-dual-buckets.ts | 232 ++++++++++++++++++ packages/scripts/tsconfig.json | 17 ++ pnpm-lock.yaml | 49 ++++ 22 files changed, 427 insertions(+), 94 deletions(-) delete mode 100644 apps/docs/public/bucket-policy.png create mode 100644 packages/models/src/path-key.ts create mode 100644 packages/scripts/.env.example create mode 100644 packages/scripts/package.json create mode 100644 packages/scripts/src/migrate-to-dual-buckets.ts create mode 100644 packages/scripts/tsconfig.json diff --git a/.migrations/0005-migrate-to-dual-bucket-architecture.js b/.migrations/0005-migrate-to-dual-bucket-architecture.js index bf71d55c..91e5fd51 100644 --- a/.migrations/0005-migrate-to-dual-bucket-architecture.js +++ b/.migrations/0005-migrate-to-dual-bucket-architecture.js @@ -1 +1,4 @@ -// TODO: rename "public-read" to "public" +db.media.updateMany( + { accessControl: "public-read" }, + { $set: { accessControl: "public" } }, +); diff --git a/.prettierignore b/.prettierignore index e116e54a..eedc7ff3 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ node_modules dist **/.next -apps/docs/.source \ No newline at end of file +apps/docs/.source +apps/docs/out \ No newline at end of file diff --git a/apps/api/__tests__/media/utils/get-public-urls.test.ts b/apps/api/__tests__/media/utils/get-public-urls.test.ts index 48107306..dfdb4164 100644 --- a/apps/api/__tests__/media/utils/get-public-urls.test.ts +++ b/apps/api/__tests__/media/utils/get-public-urls.test.ts @@ -1,7 +1,6 @@ import { describe, test, beforeEach, afterEach } from "node:test"; import assert from "node:assert"; import { Constants, Media } from "@medialit/models"; -import { PATH_KEY } from "@/media/utils/generate-key"; // Helper to clear module cache and re-import const clearModuleCache = () => { @@ -61,7 +60,7 @@ describe("get-public-urls", () => { clearModuleCache(); }); - describe("getMainFileUrl", () => { + describe("getPublicFileUrl", () => { test("should use CDN_ENDPOINT when provided (takes precedence)", () => { process.env.CDN_ENDPOINT = "https://cdn.example.com"; process.env.CLOUD_ENDPOINT = "https://private.s3.amazonaws.com"; @@ -70,16 +69,18 @@ describe("get-public-urls", () => { process.env.PATH_PREFIX = ""; clearModuleCache(); - const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const { + getPublicFileUrl, + } = require("@/media/utils/get-public-urls"); const media = createMockMedia({ accessControl: Constants.AccessControl.PUBLIC, fileName: "main.jpg", }); - const url = getMainFileUrl(media); + const url = getPublicFileUrl(media); assert.strictEqual( url, - `https://cdn.example.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + `https://cdn.example.com/${Constants.PathKey.PUBLIC}/test-media-id-123/main.jpg`, ); }); @@ -91,16 +92,18 @@ describe("get-public-urls", () => { process.env.PATH_PREFIX = ""; clearModuleCache(); - const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const { + getPublicFileUrl, + } = require("@/media/utils/get-public-urls"); const media = createMockMedia({ accessControl: Constants.AccessControl.PUBLIC, fileName: "main.png", }); - const url = getMainFileUrl(media); + const url = getPublicFileUrl(media); assert.strictEqual( url, - `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.png`, + `https://public.s3.amazonaws.com/${Constants.PathKey.PUBLIC}/test-media-id-123/main.png`, ); }); @@ -111,16 +114,18 @@ describe("get-public-urls", () => { process.env.PATH_PREFIX = ""; clearModuleCache(); - const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const { + getPublicFileUrl, + } = require("@/media/utils/get-public-urls"); const media = createMockMedia({ accessControl: Constants.AccessControl.PUBLIC, fileName: "main.webp", }); - const url = getMainFileUrl(media); + const url = getPublicFileUrl(media); assert.strictEqual( url, - `https://private.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.webp`, + `https://private.s3.amazonaws.com/${Constants.PathKey.PUBLIC}/test-media-id-123/main.webp`, ); }); @@ -132,16 +137,18 @@ describe("get-public-urls", () => { process.env.PATH_PREFIX = ""; clearModuleCache(); - const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const { + getPublicFileUrl, + } = require("@/media/utils/get-public-urls"); const media = createMockMedia({ accessControl: Constants.AccessControl.PRIVATE, fileName: "main.jpg", }); - const url = getMainFileUrl(media); + const url = getPublicFileUrl(media); assert.strictEqual( url, - `https://private.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + `https://private.s3.amazonaws.com/${Constants.PathKey.PUBLIC}/test-media-id-123/main.jpg`, ); }); @@ -150,16 +157,18 @@ describe("get-public-urls", () => { process.env.PATH_PREFIX = "tenant-123"; clearModuleCache(); - const { getMainFileUrl } = require("@/media/utils/get-public-urls"); + const { + getPublicFileUrl, + } = require("@/media/utils/get-public-urls"); const media = createMockMedia({ accessControl: Constants.AccessControl.PUBLIC, fileName: "main.jpg", }); - const url = getMainFileUrl(media); + const url = getPublicFileUrl(media); assert.strictEqual( url, - `https://cdn.example.com/tenant-123/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + `https://cdn.example.com/tenant-123/${Constants.PathKey.PUBLIC}/test-media-id-123/main.jpg`, ); }); }); @@ -181,7 +190,7 @@ describe("get-public-urls", () => { const url = getThumbnailUrl(media); assert.strictEqual( url, - `https://cdn.example.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + `https://cdn.example.com/${Constants.PathKey.PUBLIC}/test-media-id-123/thumb.webp`, ); }); @@ -201,7 +210,7 @@ describe("get-public-urls", () => { const url = getThumbnailUrl(media); assert.strictEqual( url, - `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + `https://public.s3.amazonaws.com/${Constants.PathKey.PUBLIC}/test-media-id-123/thumb.webp`, ); }); @@ -221,7 +230,7 @@ describe("get-public-urls", () => { const url = getThumbnailUrl(media); assert.strictEqual( url, - `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + `https://public.s3.amazonaws.com/${Constants.PathKey.PUBLIC}/test-media-id-123/thumb.webp`, ); }); @@ -238,7 +247,7 @@ describe("get-public-urls", () => { const url = getThumbnailUrl(media); assert.strictEqual( url, - `https://cdn.example.com/tenant-456/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + `https://cdn.example.com/tenant-456/${Constants.PathKey.PUBLIC}/test-media-id-123/thumb.webp`, ); }); }); @@ -254,23 +263,23 @@ describe("get-public-urls", () => { clearModuleCache(); const { - getMainFileUrl, + getPublicFileUrl, getThumbnailUrl, } = require("@/media/utils/get-public-urls"); const media = createMockMedia({ accessControl: Constants.AccessControl.PUBLIC, }); - const mainUrl = getMainFileUrl(media); + const mainUrl = getPublicFileUrl(media); const thumbUrl = getThumbnailUrl(media); assert.strictEqual( mainUrl, - `https://public.r2.cloudflarestorage.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + `https://public.r2.cloudflarestorage.com/${Constants.PathKey.PUBLIC}/test-media-id-123/main.jpg`, ); assert.strictEqual( thumbUrl, - `https://public.r2.cloudflarestorage.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + `https://public.r2.cloudflarestorage.com/${Constants.PathKey.PUBLIC}/test-media-id-123/thumb.webp`, ); }); @@ -284,24 +293,24 @@ describe("get-public-urls", () => { clearModuleCache(); const { - getMainFileUrl, + getPublicFileUrl, getThumbnailUrl, } = require("@/media/utils/get-public-urls"); const media = createMockMedia({ accessControl: Constants.AccessControl.PUBLIC, }); - const mainUrl = getMainFileUrl(media); + const mainUrl = getPublicFileUrl(media); const thumbUrl = getThumbnailUrl(media); // CDN should take precedence assert.strictEqual( mainUrl, - `https://cdn.medialit.cloud/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + `https://cdn.medialit.cloud/${Constants.PathKey.PUBLIC}/test-media-id-123/main.jpg`, ); assert.strictEqual( thumbUrl, - `https://cdn.medialit.cloud/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + `https://cdn.medialit.cloud/${Constants.PathKey.PUBLIC}/test-media-id-123/thumb.webp`, ); }); @@ -314,25 +323,25 @@ describe("get-public-urls", () => { clearModuleCache(); const { - getMainFileUrl, + getPublicFileUrl, getThumbnailUrl, } = require("@/media/utils/get-public-urls"); const media = createMockMedia({ accessControl: Constants.AccessControl.PUBLIC, }); - const mainUrl = getMainFileUrl(media); + const mainUrl = getPublicFileUrl(media); const thumbUrl = getThumbnailUrl(media); // Main files use CLOUD_ENDPOINT_PUBLIC for public media assert.strictEqual( mainUrl, - `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/main.jpg`, + `https://public.s3.amazonaws.com/${Constants.PathKey.PUBLIC}/test-media-id-123/main.jpg`, ); // Thumbnails always use CLOUD_ENDPOINT_PUBLIC assert.strictEqual( thumbUrl, - `https://public.s3.amazonaws.com/${PATH_KEY.PUBLIC}/test-media-id-123/thumb.webp`, + `https://public.s3.amazonaws.com/${Constants.PathKey.PUBLIC}/test-media-id-123/thumb.webp`, ); }); }); diff --git a/apps/api/src/media/cleanup.ts b/apps/api/src/media/cleanup.ts index 03f951f7..3a2223ad 100644 --- a/apps/api/src/media/cleanup.ts +++ b/apps/api/src/media/cleanup.ts @@ -6,7 +6,7 @@ import { TEMP_MEDIA_EXPIRATION_HOURS, cloudBucket, } from "../config/constants"; -import { PATH_KEY } from "./utils/generate-key"; +import { Constants } from "@medialit/models"; export async function cleanupExpiredTempUploads(): Promise { const cutoff = new Date( @@ -33,7 +33,7 @@ export async function cleanupExpiredTempUploads(): Promise { for (const media of expired) { try { // Delete S3 objects from private bucket (using private path prefix) - const tmpPrefix = `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}${PATH_KEY.PRIVATE}/${media.mediaId}/`; + const tmpPrefix = `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}${Constants.PathKey.PRIVATE}/${media.mediaId}/`; await deleteFolder(tmpPrefix, cloudBucket); // Delete media record diff --git a/apps/api/src/media/service.ts b/apps/api/src/media/service.ts index 8c63c1b3..11aede2b 100644 --- a/apps/api/src/media/service.ts +++ b/apps/api/src/media/service.ts @@ -27,7 +27,7 @@ import { UploadParams, } from "../services/s3"; import logger from "../services/log"; -import generateKey, { PATH_KEY } from "./utils/generate-key"; +import generateKey from "./utils/generate-key"; import { getMediaSettings } from "../media-settings/queries"; import generateFileName from "./utils/generate-file-name"; import mongoose from "mongoose"; @@ -41,7 +41,7 @@ import { import MediaModel from "./model"; import * as presignedUrlService from "../signature/service"; import getTags from "./utils/get-tags"; -import { getMainFileUrl, getThumbnailUrl } from "./utils/get-public-urls"; +import { getPublicFileUrl, getThumbnailUrl } from "./utils/get-public-urls"; import { AccessControl, Constants, MediaWithUserId } from "@medialit/models"; const generateAndUploadThumbnail = async ({ @@ -129,7 +129,7 @@ async function upload({ const uploadParams: UploadParams = { Key: generateKey({ mediaId: fileName.name, - path: PATH_KEY.PRIVATE, + path: Constants.PathKey.PRIVATE, filename: `main.${fileExtension}`, }), Body: createReadStream(mainFilePath), @@ -149,7 +149,7 @@ async function upload({ originalFilePath: mainFilePath, key: generateKey({ mediaId: fileName.name, - path: PATH_KEY.PRIVATE, + path: Constants.PathKey.PRIVATE, filename: "thumb.webp", }), tags, @@ -259,7 +259,7 @@ async function getMediaDetails({ fileUrl = await getPrivateFileUrl(media); } else { // Public sealed files: use direct URL from public bucket - fileUrl = getMainFileUrl(media); + fileUrl = getPublicFileUrl(media); } // Determine thumbnail URL @@ -297,7 +297,7 @@ async function getPrivateFileUrl(media: MediaWithUserId, thumb?: boolean) { const key = generateKey({ mediaId: media.mediaId, - path: PATH_KEY.PRIVATE, + path: Constants.PathKey.PRIVATE, filename, }); @@ -329,8 +329,8 @@ async function deleteMedia({ const mainPath = media.temp || media.accessControl === Constants.AccessControl.PRIVATE - ? PATH_KEY.PRIVATE - : PATH_KEY.PUBLIC; + ? Constants.PathKey.PRIVATE + : Constants.PathKey.PUBLIC; const fileExtension = path.extname(media.fileName).replace(".", ""); const key = generateKey({ @@ -343,7 +343,9 @@ async function deleteMedia({ if (media.thumbnailGenerated) { // Thumbnails are in public bucket if sealed, private bucket if temp const thumbBucket = media.temp ? cloudBucket : cloudPublicBucket; - const thumbPath = media.temp ? PATH_KEY.PRIVATE : PATH_KEY.PUBLIC; + const thumbPath = media.temp + ? Constants.PathKey.PRIVATE + : Constants.PathKey.PUBLIC; const thumbKey = generateKey({ mediaId, path: thumbPath, @@ -378,7 +380,7 @@ async function sealMedia({ // Get tags from source object (in private bucket) const tmpMainKey = generateKey({ mediaId, - path: PATH_KEY.PRIVATE, + path: Constants.PathKey.PRIVATE, filename: `main.${fileExtension}`, }); let tags: string | undefined; @@ -405,7 +407,7 @@ async function sealMedia({ if (isPublic) { const finalMainKey = generateKey({ mediaId, - path: PATH_KEY.PUBLIC, + path: Constants.PathKey.PUBLIC, filename: `main.${fileExtension}`, }); @@ -423,12 +425,12 @@ async function sealMedia({ if (media.thumbnailGenerated) { const tmpThumbKey = generateKey({ mediaId, - path: PATH_KEY.PRIVATE, + path: Constants.PathKey.PRIVATE, filename: "thumb.webp", }); const finalThumbKey = generateKey({ mediaId, - path: PATH_KEY.PUBLIC, + path: Constants.PathKey.PUBLIC, filename: "thumb.webp", }); diff --git a/apps/api/src/media/utils/generate-key.ts b/apps/api/src/media/utils/generate-key.ts index 445e2491..74374320 100644 --- a/apps/api/src/media/utils/generate-key.ts +++ b/apps/api/src/media/utils/generate-key.ts @@ -1,12 +1,6 @@ +import { PathKey } from "@medialit/models"; import { PATH_PREFIX } from "../../config/constants"; -export const PATH_KEY = { - PRIVATE: "i", - PUBLIC: "p", -} as const; - -type PathKey = (typeof PATH_KEY)[keyof typeof PATH_KEY]; - export default function generateKey({ mediaId, path, diff --git a/apps/api/src/media/utils/get-public-urls.ts b/apps/api/src/media/utils/get-public-urls.ts index 793ed5f6..a672e808 100644 --- a/apps/api/src/media/utils/get-public-urls.ts +++ b/apps/api/src/media/utils/get-public-urls.ts @@ -6,22 +6,21 @@ import { CLOUD_ENDPOINT_PUBLIC, } from "@/config/constants"; import { Constants, Media } from "@medialit/models"; -import { PATH_KEY } from "./generate-key"; const prefix = PATH_PREFIX ? `${PATH_PREFIX}/` : ""; -export function getMainFileUrl(media: Media) { +export function getPublicFileUrl(media: Media) { const ENDPOINT = CDN_ENDPOINT || (media.accessControl === Constants.AccessControl.PUBLIC ? CLOUD_ENDPOINT_PUBLIC || CLOUD_ENDPOINT : CLOUD_ENDPOINT); - return `${ENDPOINT}/${prefix}${PATH_KEY.PUBLIC}/${media.mediaId}/main${path.extname( + return `${ENDPOINT}/${prefix}${Constants.PathKey.PUBLIC}/${media.mediaId}/main${path.extname( media.fileName, )}`; } export function getThumbnailUrl(media: Media) { const ENDPOINT = CDN_ENDPOINT || CLOUD_ENDPOINT_PUBLIC; - return `${ENDPOINT}/${prefix}${PATH_KEY.PUBLIC}/${media.mediaId}/thumb.webp`; + return `${ENDPOINT}/${prefix}${Constants.PathKey.PUBLIC}/${media.mediaId}/thumb.webp`; } diff --git a/apps/api/src/tus/finalize.ts b/apps/api/src/tus/finalize.ts index 28fec9a0..8d2d7f32 100644 --- a/apps/api/src/tus/finalize.ts +++ b/apps/api/src/tus/finalize.ts @@ -22,7 +22,7 @@ import { import { Constants, type MediaWithUserId } from "@medialit/models"; import { putObject, UploadParams } from "../services/s3"; import logger from "../services/log"; -import generateKey, { PATH_KEY } from "../media/utils/generate-key"; +import generateKey from "../media/utils/generate-key"; import { getMediaSettings } from "../media-settings/queries"; import generateFileName from "../media/utils/generate-file-name"; import { createMedia } from "../media/queries"; @@ -96,7 +96,7 @@ export default async function finalizeUpload( const uploadParams: UploadParams = { Key: generateKey({ mediaId: fileName.name, - path: PATH_KEY.PRIVATE, + path: Constants.PathKey.PRIVATE, filename: `main.${fileExtension}`, }), Body: createReadStream(mainFilePath), @@ -116,7 +116,7 @@ export default async function finalizeUpload( originalFilePath: mainFilePath, key: generateKey({ mediaId: fileName.name, - path: PATH_KEY.PRIVATE, + path: Constants.PathKey.PRIVATE, filename: "thumb.webp", }), tags, diff --git a/apps/docs/public/aws-public-bucket-policy.png b/apps/docs/public/aws-public-bucket-policy.png index 831078b48e1f2f4c4568676e8d86984267fc0924..5af69ad871b232c34e5f2cce7497f39d1d859401 100644 GIT binary patch literal 145533 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:VGba#ptehgIG^Fb`n+Nok!Vt$*FAlH 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

=;r>DCWNWK%;NClj85JwFBD43oNjs9O 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%0DF%)m){ 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

)9$=se&O5Lw06r0jnG;zekO~zS(rX^q1wJs+ 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 diff --git a/apps/docs/public/bucket-policy.png b/apps/docs/public/bucket-policy.png deleted file mode 100644 index 5af69ad871b232c34e5f2cce7497f39d1d859401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145533 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:VGba#ptehgIG^Fb`n+Nok!Vt$*FAlH zoqhN1SM4aX{a`p@D^zc5j1#UR!?}o*YfBqbPuV;H;0w+dGYwyAu(WQS@AQEY2iT*A zyD%)P-689ybm1kqb%%Py7{z?TaamXrK3zUtq-<#)q;?L_)N6iwOY4ncCTvaJ{&fzz zsDqDE$#EI??>IG)&S&u&={7pg)5VVJQI?r?#m-LZ!Q~J_1}WR~Ui8bQt%j(FfYt~# zWx~O`gn2%t24E2xM}^ghWk+Q9N3}=pF}NQ?c>LiYSg0(_ah1wtuS>j#1W9x2_yY}0 z2)tT4{XF|>1bbImefiUAQ^Zw}4T($c4kJGom)bsFyZ63H_FQAkhl29_JJ-I<+8CG4 zz-t3On8J4TRG~@-_MjL4)7(sX75PgL>TlJL%kVI3km&ioU%TD;(ODK(f9lMVT2w>?5eertuBuGHZ*Q?0-&Rf;u#eL8II1<}Tf zF``JS2tI$@`*E3PK+NY&`2+^?9;((pwSDFG8Y5MlD}UUm%c^0?p;K}n5TgGM0wGu8 zPE_}Q;MUx#>%m>@M^8nc%btM$K;>#I&S%N7DIpZu28#%;y$z$M${Sz|IQLg(;-I!! zXb!r4Q!nh_Ng`pth1MPHWFR2gDM`7;KGC;vi~2ZS$VB;aVas`pB&l7G7%04Odf`A# zW?7h-4-PE>Ng7+L>w%1;6MN>Vb8De;SR>=pxg}>hQxWeg1G{*&btLL3M;)EwJQuLS zZgE`RD?)DZF`(!>r3+u#FGi;3@(gs_dBfbF5J~t?ikr8p22@1rOYgcg0k*BT?9H%; z+9=J5KiVL$y6=xMEPCRjiofokiTA zCtfH;ULZKWv6i0>SNjYSi4=xLu5q+bx79ev=!mC?zFRJ+>J(-|FsF8;3T!w5a(oCQ z*$pR>0)%a7&$J!7i_rYZ#cK>O;CK+stksm*Ff@b)ioY^@FGVm0>>fIdX+^D~BJbDr zkJtnHJSIWyn*m?wQsI78OAK(s;U6XC@APNtkjXhm=05@u2unXz8jFC&bCn*n$DB8k zL_6T_YVS6TgM7_uC_qaebBLlfII!yKJ+dr@x0PW#BAqnf4qq=d z4&ehknsAc~%Ul?|Z0~o8P{7x4H^d1l{#Fn9;A#3nY)Q@S<(jIBevkoYU-GW0)m}_N zrxe?JC4?2?ZoLrUvI13h@OdsTkRA5W$1-zb6iDPgQ6b~^IZ4{XZ+8h8YTn;m>R1d_5d8ZA*3H~v^W(5ijoOf@~Zhj}# zM!lONKH>ds%{kbo5&8L{D@skt+#+#N{Vo7e_H*DMCAM+jZW!2Zd?eSGh)rM*x?Anf z_O|hFc36+MxtpS zV?1U%gATmHWYN??2WQ~5eBW^92;?c$3!fs`9JyV&Tv=D$UpDkQ-iStZfvcZ-8MEQU zTj*JisfRnV`io_?G(w3Znq-$rrY z;#9klrq~k9G4@D4GJJ@p&-DKy-Qd#IzFqz~wYT1OdFW40vp?}Jp#dypmg)=jpKDm) z%b>L+17)s8lZN2V3lAhD-|iES>TXs5%gktCV=~!K5xTU zpO;t`WM%Z z$4(#F4Y1vPYbxlwYP`H!6vqDu%4zSLv^!&7EELxe+mO@);r?hIHCH4qdfW*k%)! z6>WFi38NsY2t7(P?6+wE;UfE6R#OKG&t&le3w?z zJJM&z{lfl5hIj;Wo7Wq%^`k1)W{E^4ftXzz&yyzM!-1$#iNZ_<;=Hq5?!VQFqNHzv zV(@mI?&)?^v_t@RdrY+gVaFAD)ctYfC9-np!7KjkSXBN`nB&)@I!@Z;5lob{vx3w^ z&@tw`DOopKpzwy?Pu+Mo2gNzG_G-RG00F-(bAYa-bC>6ODq){3<9-eS7v2#~!6i_%EuHH3jA+cQ(o0rhMgQbuLqT5@%zu ziCf8fAlP1b)Ze9J_G8C)*cLu|8)U;-P+=JjRsS2OgfA@@hS7bt${uB6Fa-33gbPac zdek{G-6?woTWH$IlUL*xXyp5i!&uXWzQ%MsE-;RhXqGv-*4wj4Vkg-Fdl&=F^=LVU z(&=v~ur|_$`;DROh+UsHIqnj+t{Pl+OA&b%(5C7kilNsN#>2FGupYd^`E|FDUTgL4 zd{%)_yoz6diEOe9Cfjwv=#!0dU)KxLkDOl?1CPV)`~v53|8&<_U%;W!UlK3W*$ERJ zGOkb&RChwZ>{tGo?fUfl^v4O3o96f`#?=Zg2$rG`KBVpWg=faY2TQYmIfX;2X zUdxX>gsxdP2gmuMOeZSH1p%>wC#Id{g*Hw-Z&%XMgK>DgFmA=q_Pfn6je@@7%mUup zdE+J$gK%=Ss`D_BLlY-m*@hqzGe=wC9gz<3t^tzNXepVU!f0wOVG=TJ-v;u1q0dJ*=(ME?viU{<6t=$otnL zf2Ma>s_7z)(@h&5+4eFOy&ev}M%Al9nZTE(zk$Ja9Vs8#IqUuM?g}vt9=pV6IZL|a zrQGzkUgC124FasBc^YV&sCeffy5y0x0M9d;M-oN$c3w9J-YpNY3>tP+qb z#n)Q9zVIp%Gw-qZNlq4>+^dZR}cWLh_!p7)r74BU&HSrRAvYH&S?c4_vt<|O~7!Tdz(eR|S8 zkJQG0#aQ|l>-pn^80Kdd21wN@>*`-cl_6Htib_DMbl7#2tJlT(?w6R<+1=Q$+G>1^ z;>fV^Qen4FsRFI0DSd4X_Ofb_h}nq_E{(AM_`RsyCzIm+b4u_E6JlNmm|+46Xx@<2 zn0QrfiP9WxWgdTN<#HKi`x;kMQ!^HorZr*;b6ljYe3AnJd31)X&CBgshoXNZKW`MW zMNej1a-*7hB?12jI>`ITSi4Mm+tgt%aQpa&Fxt(E)yM9TW@gzoIqL2gjJ)NMQ$E_C&xb8z}&wI1-OoxaYMvTGV;#O`lX6E&LocUdD&?z zU`fkpsr`#@$Sm{k>}y(&FA<5g9zI$NHA17PTR?EZSSfUUB3hsu?V_gz?QD$rS_w>n z_12kR4CXnUA@4m5I41AtLY6>e@~PJd(s>~{KBWLNZ84fM)Q*_uDZfI(?t53i7%Z29 zLJiqVp29s3uCWOvi-+WT6O#2GyZdK)`!)8@Q%OD-E8Zt&hM$MHN%KaO!vtUNawM6Y znGA~Dd(Hk{IK_{}oBr_ZC{^SAN2@yiuxZjGK53gJ0A-=dFkoe;d6QBnwASq#&3sD< z`jL0KLq^FZESgazj7Fr9@dP2>28ruiGufB90UO7Zv1&Xxw91o6envT4OlKL^Gz01c zh*|y7^(K9o$k)ysKV}~^J381&XEikFBP`KvjdX&oY#V;YYu&qMY>hZjbIWGc3xrsQ zt)0`@{QGD(Jq@KeHte|QlhzM~zJ||wwcD&Vv#wPn)0fOlg9o+;DG0v8yUGT%qtfdK zjbeW5R!>=v>tbr-6|lEPO?dqB8rDgvRe5GU_4+wv(m;S0x}#Si$3+FVtIz+OW(7La z&$`&KL|48Q{oNsNG%#FIxpmz0d9!g|<)if?1dLf%O+NON8Roqo9VfTm*EvRbBf9uA zWKgOD2SU{VT-uKFT$5mG*dcR$2#r6?t;TiFtt^l)VSH-&dw%mx`zZ5RROvx!jxWp? zL^w+gQ<7WiK2AB;ub^e!^4fd9A9BaPCMmkqOU*rWFnuF*uc}e9PTS71PB6J0@-R^z z8x!@;dpBs|o~`V2ZGF=ayLpWtc)*H;qZO}C`F-mFxn}-dOCrnS>^x%jSV9aoJ2`6@ zf2L96PS8YyN&c4B*-=R#fhxV(oItt)Nx)h4?l%pTuiNH&-2 z>y)EutjG-n+9O!$75C9Y@wsM~-+nt-866Fc`?|&1u{zeS#8Ds9yda@{<2adjvC$-j z|Mx2i%j_Wq=JTjES3zNwfTycLk}xQge}=`vs{R6ZRW@opzClm_bAR6l zB7Jc!px0Y#U5>VgU#w4@*^f*E4K6uMq*Mp|x%Mkc{2eETl~{{4pz((0-4v~d_ZQy# zO#Z_rp`cR(_h>pTF}?8j$n_L~7^fTI8Se*a;icdREDm-k2C}7{{@^uW(DM6h>XSD1 zLd0`70A9CfIUw6!kLI%=LU*&Ud3&&RB&l+iwxE!ZZd-HdmxRYrKotc>uEzFdhW-~H!efwoN5gxo_8%!jpw@m4~X z7G9CuW!iM$^kHuY?EZ71Zmzi8sT&Z!K4zKYo!C8=vQBz@6t(@9M@e~{=I0o*`b?jh zj|cnoRvn>vCf3INQ3rT#jBhNk-8ts*iO)ry6q7~Qj6Fjp5WSzD#Fa8oe1mj}Tl)4G zMm_HVyj862+Umc<>0=+G*?i4HbzIy6ArumB7#nR-DO-fyj70iZS3v6ec(awV%BZ{{ zq672_+=R%6&14Rx#*!zKe%IwO@7=Xs*;@$aFJ`QLEY)qW03cp1my0`5e^2mWw?{Cu zeIUVG;<;PUK_G!hc6g%)MdIJ{ew1HH=ZiM}+&hZCfSB;3G2uWv z-CodI1!z5|)&V6VK{gQw?<##lAc_70>74#_E*?h%MQ0olI%QQ)L6EC7I(&3LBUUDN zqM(W$Hm`-`Zwqqwicj@S*K5=s1L8kgSkdPFC9V#Sf7C~|EWg0|a{F|+J%L!3MxnB> z?eUbC;!|q7^f&E$ok-d^$U4&}?af4D^(Za^q^|uwE|Sld36_;+Vnz!8^aFpdw|@@w zFu40SbzHIyI`{MtSMbQ4P*oKFDJLhgZa3SL__*a%Kg{7#)Arz;i!pP|O1bt{!Ne*8 zb^V_B%X1lAt}UXIQo*}%K8?prHD4yAG3Kh_zp0DS@Va39btak9 znqu`yIw`hmW<_B)m6S#w>ji~MpV}<4<9hnpO7#rHO5DQ(#Tk$1DfRZZj8#Ev_cq9* zz&pI-Z*@|6R+dj=c^r+pvUV%`Vm2ENM8!+G^&CF8A)@+?e$l1Cc$dnfL6H2fnmz(B zd%E|%BM+tfc;#hJc+|CVo96$jSrpCvE>v?WO} zK85@XLwp{u_+ayJ@xfsxVaDLb<8s+{xJ3EX#tG5h|5`CRg6cD^dh_&Uc8DbZn+}fF zg-yxl3-4vQ`_*ggl9n- zdr~H`Yv;+JOH&=`hT}2y3^tp#Y#sAR6Ot$$@zof1 zSxF)FktClzKWn)E?)=~O+0vytu@L`5$NzOZRZy_rAnB~aQ90NF?f(yLLILns=gN!x z)%QA9G@e)*39h~oOI6w)PRf@JUQz6ec-C1d&UW|nxM>bmvYyQ-^0~xZwSykd{L_5g zZo?xCu9ey}U%`2VDO+^u>v8C-2WeD}=V58G7mRy9rQ?>iAzPE__Pg2BE@r}S81au#s;D&J1aI&6xdEE+)`;_53m`6<&q#i#Ld zyASk3U&oDyC&#Qr%2s^{KF(CrT?rIXv^{JK30cFxHdpFN^M$|jN4Et9SN`5MlENt} z;rL&y{3n8iW{d|*#icK|?KfQ?64ap3n6Wr$cv8nSLjSGkAFbE)jl15&K8?JDUlhvY z%Am9*mpuuDrbiKvvaP&)3S05^u;xTT3ga}nZM!@WtkbgZG!r+W;kM<@lmkbLyvMp26gjp(*XpqRGV z85q%vFVz2Q2;q~Tv_Tnp$57%R-`qxIld2?NIr+td$~VF2J=M*%t!C685fzPm7aS zyo;kLm)>^wwk?LW6-6(%6`ZBU3wYLQ&R+ok6uQtSPg0h<7JU~!)7A$uEX);z7uLQq zI(#0?s}UxKSjSs^HvZj9Wyqdn2Bj=HjN9H*;akG|wrZrFu%63OFV}r|oDpm~a;=QH zn}x|Re)YeluRn=P()@qyy;W44-L@^7;Oo7H=P%as|T{P**ioV*HBd%7qXK%P98 zeJAmw0PvyRw5?M@koV_Gy|s9+L?q`ck;aD364K+`EOw+JvRQzxy}Lr7_9F5`&Rec^ zsUp{wE^tMk{&(WnJ%pBI^v=*~WR>cjiMfL7qZ`5^mhE6Er#np&^H7qPTR&F+he^lU zh1A!prw~)zu@uc+cgtOWSMXO-^(`g_`R2M*o@7gW+jsQt%TOO%#V|jPzl!YV!ZlWYrdpyvffG*N%7Ig;PhDhUt=uZVyB@D! zGXQD-l_BFV8YUbYMf6Di>&^K8&~Pp|ZKLfa7SBsxvUQh)scs^?RXJn_|@ z=h2|?&iR`_`zrxVp~7n4#HMSb*TEEvvrzlHk>dTB%&;uH-a;h z={4gnHVd6l^uO!J3lw<4pqE%nQOV%s2$b|$c6@D{uYO7Dy~`W%@(PS&H+fkQ=%p{= z2g(2ad$mzwOnSsE>af4K_;hFn*;jvL-$vUK zyD)pbivFcwe~0vR;LjUeXrqPscYkID^D;Y7`3P;XqH);%58;ptqW_;BXYQeZ|L@xWew2#e{)qMGSZkI4{DoFgtAr61g2UjOy)VLJ`vPG3m>PFsUS*>woTm!(sj*;A0EtQ1|X(_;C%o#Om48ub5X zH2<5Eq3K{C*Qh%LfWX(we~wAe<3WF{c(HCPb>c_WI5feBHzlg262=a*0f;{|moE z(SRk6!iKu7bARF~iMk#9QMIgz4T8D`0OAvTqlq~})XFrZiW+RBJlVgSO+}0tL&%6T zLxY2g(DKI#`yb+;_&(b3p67$hwHmV9@7CU_V_7bg6@-QgT4d_4wbT8f3v|4`z!Sc% zUF&q1I&Hmu0*2?I|9uD2ApF@jYSLUk0Cd6ltF~rTt#4Ovc<@tlEBO4k1sNXL;XEe7`(i)K8v@;@XtRlQbnt zU)!t}{!9^*;H$vt^%$vdxmdyBMlsB2mSqyDA4ujABq4N(<9&5xb^~TpD2PdeQ~lo- z@xQjK!7)YEJbIgg%YeGd{O-Urgb@{KhJ~U}#ATf;DakKyy^>)V$)R)vNN|n7Gsy~6 zGh19K{CsvEpeT>u4GDy0+8NK(Fv9ap{=WIUBD&P>!BfIS*r%XcwVnIDIwxsN14K38v=EmrJ|EBwFyv*R@>C z6+`3sqaRFhsb}K@GJo6MisH0n80yixwH~+Wlb7YA^%)|nUt}>~LReXyD;_c9+E#!O zWJZ49=-vdJoHJ)bfXq5OC~w>>ppx;)>wR%WAlbNJ#{LS?$7gq5adPzSxg7j*xzlex zk*uF$2dV2w+&*+prE*vvHXnT0mloStU4+o-ltNvKlz=0NSkb#%@rjAzwH-g@m=zhd z8`57UH&owPDDhwBwB{3i5{CIC@WbjH{&(|RotA&`E<%#g_ek*I2 z^kbchlk&G?21?w{Ae5CBYa-QODzPIQ9>`Quai3=R2X0f@%rdt$YK#$EZj)FOXpJOz zUC)RabnmzrG#&uBj5^=5Hf7x%4$u8auZ5SPsNiXQJK7xTpEaxO zFa>Ug;$g(YaztT~r}7aurQ5_p(WZN&1*mL%_Pu-I$+Dw2$xLj3NU&O`o@YhRPv}#< zs6{6_UP8oqN*A z1xsVUI{Oexx&G#Z?3~}($g-o_; z&tdlGWCun+VB$v9XY-XgR?l`m2{NEvj$6m4r!TA6eKz@h#nVPcQgbC_@WoEZ14I_= zb-u~=us2!=7ntl$HgX#_NE*f+rFbDia8(UeV|z~eH8z>W2+rc!RI<7wmDPk$VD93r zLb_p;8IC^cLoXCMXR(50G--hjkK={Aap0%R`G>HScIBE{2NaTIJcjhJ-!*aMiNq(l|$P!_#$JT}IEp zP}#;Ecb*U;vfeuwJv!d&Iu}damN+Sg5s5#-HujK|9U_Ld&3sN|HJLIN?S>EAvi!-@ zoH?pqmhXFihD(L7gU)3W-m^(ZLQ{(pMaV)Q!dGIRheP{iYL8aAzXjFM_jOm{qi#w5 zr@#X32CL=60zg*0*z@#$wr;DdvVxjj$IKpV%RxoUmF(+ZcVc~@uvKloWs%Lz#!#dA z%AQo6aktek+==IvHg}ma!WY*IgDp+Hh7Ks;0b9GUVybSFod`Xo5x_+0f!P!AF`+Z6 zqLnd%V~J9*5=rIs$47^L9!)aut6xp%qM8jx>Ipq1b~&O~8{SOl-Y>@E9=cnn`wZGp zoxP8kQiN5-P>xP)R?jBi*vKTJ9lL}N@+P4I=`txaWc`zvqIr>#)O750 z>A&Px@n_wdB~Z%Q==f@N5Sn1ZE%r7_b{u;UIk!3=b3VpWY4L=3rq8S9c=5P*xL>O^ z?@wfmdi;6sGTlbOi-sjsE*PI($zmJtGj!!Y3$WFL@)}4zIXl5{yj)V* z9&{{Z_g%-3w(;u`6yZG(zxmYz>{@62g!WkO`?nxsYeks+v0e$)lfmQWx6ILOQ9Khj zB@CKKrP{3v&nWV}w#Mb$&h3H&r+Og#SrMX;eD1(xn{fSk8SQ}$#n^0A9-5i&Nvwo} z#M~2^kEl%2i=4PEjVRBuN3rLkJOZ^!CPRlrv`3nO$XvarZA*up;bUBmdvvK%9|R-u zBhe0r`)0$-8B?DQW_vWENFgh!62N<|Tp&$#zV5r?dLk`UYf1j%f7aAq(*)SDj1JNB z0IGKHCJ#es<}4L@=39O~j@g1}{bVdwc9CvPh_GZqz3P-Abm|p_OdTMtvU)q)jHBq0E|Q0HA&*isE}kM3Jd^TOm+W7&rivYH?%&oys5k7s%Z|6d zeVf{olxSUi*P0za)L`kDUT7LrVbM9y$|d|*H$p9tb38iE+)vTN{YwI{^;>+aM%xEC z={r2~QD>HOFb>6RuLC^;x z++-!obaH$55tBmL53D=-CoSA}$CplPIT~@o;Dc!i^l8iSv=Igzb2{~M&dNQc0-VE& zC&H=qTS5%_QQ^m{y;#d`D5ZPVl69%7FOHis_sO-2ku*ZE+kUxDq{;ue^P0T>EzXtyp8jjwRGtot& z@6IkQWTd;FC?9fjWDZ`M6!#C~%}u{PU`lWxM?-5Fbga9t!puWJ>M)jy4?BLBkoXLT zQaIU3Ect-ZUDXY(ftakPqiLA4n7o-I+l7L}N%gn%sL2K6vjb!@F%6lpOa>mKjzl6| za(!DEcsgGy{!yoxs92-=C!>4!7oA2MXoxNOpLM>T8HkAapqCc2n}2~X`+;$Z;Y)%Q zn$tUu7XFTFJF>$2>E5x8{ZFWJe;jjWkMT_U;;|jYg$DqP1;V2%o$2r(!Z-AeSS+3i zfcbcQhnYW62pzOn$FLHpwzY?7)OghEa$?-bgp_oi047Z`_ygr?06YoS<5`m_N zxxr;rP2>Cn*LaH3sSM+A>HC zNd*Be7PM^(n;ikt`HHv(ie3!b4RIwZzcBPnMMPHITyTTDu;F7e=la+11o+NwIZ^-d3W!OyFjFupo>TAbImaWbr`SD@If75q zfuT-I4fXI5IGs00gG%?$RhX}of37t|Dow9y+;8>$^LYo!y?DM7N9Ny)7mNH*$2xVr6M}Gx2it6EOMBw z5O|Ba*>?j}^?$R%A19cOk=TkgVt+Vg$m;|C zB&xzRJv;Z3ekhj>`#<^7XL6Vd9^hhRito&1r)<=%?HO475{`meKrFPA4td>8W-bw< zBVf7Cov25&PvYG7fq-F~$&?ze{LxGx3jeViw{a>9yov(a9@M7{F&UXlx$!9dfjPMN zeFH(~7yqv6S1u-Y-&;A5(SnZU1;=Yy-hO3$9^?AcOyj0PO-S<>GCed+EZIzVL$;IC zY4+dk(d~MJqt_6j#ePC2<`D4xW_Q)B>$U6>;wMRj&+$4!4UT?!0EhUDKZYZ`1lRM}tzGGjS%PK%e7< zQ+xT<_kOz7y`j-FDderY)Lt~|GzXv?B0{?2aU{g}NwLuAsp0q!M#0h1@C`LhSsA>} z;b>$$BO^?E_%PEt;U)wtRyVD-c<7I={G6r#IYaJ&4e% zk^AZq3Ro};TwOqKzfZ|FgoG-%&&=Bg`0jP*OYv%zdUTUmT1kCFKW(k9#z+Rd&x4!! zbn@@bCejnDp^OGVsA*8I@->k%^hg5=6P)ZOk#zDh$>m!tK%6N2h2$1zbIUl?N5Vz0 zoP>HnI>Lgj;)2~Ep>k(m$3Xqs<@^L>xbj!x1JVXT9O)D^;)m#kidA82Esmo5O%hSa z+l@%hiqTqpHf$RJ(-mZhl?1_k`PacC`f2MoX+1-t*HM2F@TldM$b2d$cJ8L&fJVFF zc#itMvU{#sxsvm}pU@QH zg8o>_6ts;&uQ614E}dCP^cp4`u|JzqM6 zp{9lIs$rK~ZqsONH`Wre07t`d)VQv>kPvOgKM?+xtW%1$iHPnRu+{(CeWyAUCfWc$ zozFE>twQTvd|w%_8BXV6OZ@2mjtY1O*WF??UsB)WyT~?KD2=NM*A`eh z>#>iSfa^_Vy;3)}yZp1$RayYjjF9Lu`Ec#IeT+QaTze37U)k9~ZoSu{>#B=)hF(O= zQ543$z^0IQ?yoK^pDEJ5#rpMFAAtyMGP@Fbac!;9wrShr6M(e|ZkIr)O;*cCea>XD zLLh+FjZeFwOs7&dmsqdWrTtge7w+53@PToYi(4oY1uV9B=p(Hl##`A259{guMUK7NtdkY~P z#HOS+NQq<8;eh^Hcp`ndK)=adP@m>w|^FrItW08BojI5)4}Pw0IXV)2Z4HTa=jGKHJl8Bs#A#5zhFa%l}n`nmGv zn)?Ta;E8me-ZaVMqowLymHf{Xu_hC4dY#snif{>)2%~5i#@D};i%j@?1l*X+*niAABDJSk;6JjFw5Hr*OcV zw638{xa`(EGjPCvsMPD-g^eDxxf(&fdV5W;6HP229pk-dGEDs4X1CwqG_sAE+HkBX zb5MnA**H`^&Fz+AEG#`}T%ZvQM`ox4oueRphVSDt5amQ_)H{&E=<{?Ln03-HKghXn zggrRbV9ghFzjn<)v=NeAV>(Xh(59FJX4z|%Qm*`$(-(#~=5g9ia2GN2HyDAZv0asd zFYbsTPk=02S=^CiD)2-PHv7qM5lzKNKn8a1`ayPaPd-e<2$yyv2GzV@_qpQWo$Yt5 zU$5DX&?AhpJB&IHsS+LQS&78M-+KD=A+k+H!?`DEm)OQ4;DnEdTS9p-70XH$9Ap^Er8hshNn`i=g&Q-ws&> z3%&8v-5EW1uJ=s-_CcFlC@Y$|)3?PqB*4cl*?^8GL#zyL`!6mg?Z2%lm+S^}(XAgO zjwf=*>>BuXmYG}2*BGd!n$ZaE80k78U{SZVMWHF}cE0JJV3|G=MzbF$b+27-3Hi?W z2s!r{%$epGpy`Ya{h|6vaFB}MCCHe$*JN0DNfYuGH|CQ_zmR#|G}BaPNA^IykzOoh z5|T{Q#GGk-Wgbc9LeJP2XLulP`}XZJ4tN7xx^&wduE= z>l6e9J6Eqvq!btVXhjb+5cE5F+dTqfeMLN4SiRekT-W7VMT5`r)i0=<>_$vmU$XU% z?4jX;u1ti@Y~)kBhZA{IPl|)c_FPrB_l`Bp9C)6U3%3!h-C2YrhF5uQ|Mi zjLQ8zU(&ZF7ayYT=?hxsR&xR32yS*E>0BH>-=5_@owr8d)rc=1=zI0n)MiOh?;W4} zj$NKKLW&@;3|l^^?!i8*wc4IiiwZv6Y#!m z=WP$r_9)LcvpA`P3xiv#7j|Jp5!1B_LJ}mr_enk`##d|#0uqhtzYKCUD;2$#cT7eS z{5O0Kpdsn3Bmwe<5kalvfeqm>KU%+7=Sy$F`mU#yRI$%4u_YLUy7z^zp#i3$cs2H& zBupb_FUbAJIGo1K=2<%&f}WYi<88nCCftC0S{Z_gmtE4T0-BLyF?MU0=ys4jvLpNl zcOYzYgkVMh5HLW1L64Y2e7DnY;P~Cpw)2Cu#u&v~(z;$vZ>ikJi?xx3&~&0C#l6)% zF5@^AGvO39$s(*%l)lvR;KvMA@=A|-0zuPYqsD7L@-lqk7@YN4=^ZPwtxnjP- z_IF(|B7vuy-CW}?<6PIQ?wWVs*J~hH#o6}zxk9+x^F&0Eh{Zg-&lBvKZeR*Me%%CJ z33@G&C2#olwY?PlBb${r@v_W4s#pIw*obnQj7=1crWDuxmT#9eeo%enx0Av69Qc@Z@Pi4@_p$)o#x?w{FT?XR&Xr=fh*+97`Wz(#Yt7D!Rmu zD%P4G@joe1@6526FZ+0}@yY3MPKKT#yov+%@CV<=X~-DncLzh;Ycv-!sy=X~$mvX> zQnp%Z+%ThL<{aKYcTL%y`z*)((H=6dR^y}1T$STF|HOu}pU%n!;lNMT{^E~aKI`H< zPz6%VEqT)7HjS(OUrnIfL#r~7jH7%zHF z-w?eYE&(?%bgogiDm47N!O7)q4Q7fxJthRmwbV@fR3d`U>4_|DOVA4%H+P2u-%ZCe zC8GtdvKhkgC%ZOJS32-UbGu3_^O$m@-@wz5==glEk6F;Sj;}#o_ilOK%v95D|$#>GRtNU%nORDk~6r+ObUSImMBEge5SESd4naT-p*a zP9xYgU_bG7qqKPPx%(FTIkc@GO!eEe^HMo*LQ^)uG>UUcok2gS2I?Mp2Gh6lVecX zr*mV6s%PIU+UC?)Y^aZA@$&&o&dsa=cuQ5k6J+2x&$FNAVF2C3xp~z~MCAIj_N!I( zIE(Cx$G>}jSjdnBm?tKbF4{h}Zx`nz73P=#LnlR8Z-lAo#jmD%m;MtTi1>T&q^0`Shj>pX&_RYm{4Ywn^#P^bvCoGrr9-=0W8y4b<7)oE);@B ztfsdC22^iZ?+=!p*%QE+@MrLj2aLvz@eFN;;a?U+-4Vs7ZU}t8lyd48yPW=Zn$&d- z4?wox5rs7DF#D6GpskG(6b`xUjOt?n6FFCr-FYf?4mcJ0*(PmEWyIF&1W1!^+a`35 z#gkKakWwmX7hu5^8IKW7>JgR-4pg7k1_JF+jrOIE(BxsD+tA7bL--gvJuC0Ds~w_f zSfT=kZcLam8-a#v?bD5hN^f8}LA)SAJl`ro-a!Y15va!CP<>BzgXK_kUEv%kSbF*n zyZv{ZaM{AX+sz-W`@=3#?4_%yh=!UnJ#Sa3ydEH{^4{iZ$FjCd(yg-vf5W+m=wzdG zof3#n6Tb~*vZvZy(^v&%oKu&mui3Uk0z?HgC5jTjj7n;R1T3nv>KDkRNj$vqGF0~I zH?fjB@d*UsnF1W&VJp|d*5)V<(Da4!v%nmiiOFjkx_w+@S&z^+3{#20%`be;V7%(S z8cATWAQmImz9whdYPM~32oGUA1G2Tc0<69JdKIkoe1~$?v zyuZe0vRZRkizb6GOr*T6jEa6`{c#-HwzQ|PrGozk5@V4-Op?j~yX!qEj5=5oQQ3RKB7HP^oXm#fFb9UwBT;U!M+!mR=a}QCi&%^)y(DJx{dO3+EX!^1dZPfes=2? zO9QWNh`x!8nmcM3yxo4Z4VIKbuN z!!y4)UP`$ZXQHe6OqQbiz}8z>aaKL!Zfl$bLGJ_ymN{PcZCnd4ZSE%6p63OOHO%cK zt09>%$P|_eJ#P|sTqd<33zgPA=?p$sG;J(<4>&IBrjwPSf$KBzG&a)T=>0f2Jonk9T#s#(wTXv}1j$mOb!ca*)#-2)#gAI=WGVW*2(oy9f88Pq@V{45q;O zq=8`L=g-_cD*uHD(V<1?~RLnAegpluL#OVBN`Bd05)Ne>F+!i$TpA;QEV z=YH*O;1ZUQhvL zYh!nN-;sx(t~L#2&YQlRLGDk>a;8eP8R+%!wke+UEq3y=UmEsgz9A)=p^)0K`9mg% z#}|bqQcUC^B~Iz-xlx%dDmK}ZTVv2?qFuWSJ3wGFiNP1 z7)0M~yB8)WMqOWWb8ryz3uM@xiD6F?Rhc$Kj&{2j`C;m9f}Dg>V6+ptz=c?G5IWOV zBwbTGc+4y$B`~YqZ6oOns=?<|r-V>wSpXFVNN^7;p^lrr`3>Etxc73D6?$9x3E0ww z2B)a%;^~dhi{u(uiKdH03E1E_$&vtYUy{Ve=-5E~GyLLr39Xd$z-C+0%`YKN#w4fB!mQIa>ltMguBO2ZS(@1jN;vH>G9o z`O~_mxvcNWCTek%HV5>{s_QvyXs{cY;Ui1YPZ(alDM*XATVliWA*b2>y?&qI6$}qA zx-0AhhED12SvTpX7(6ozM#78Xz8ZvwZi?NZ&n0t@{T^IY?N@7fVb=>{|GEc1m&EeM zaN3|}G?4jq>G!F8k1o>zU=?Fw`OI$nqGv2WVtq#h%mS6i+zn{2D(*FW=GJImF0}?; z80_+z?&!9px^ONYa(NL+zbN7v7lacfWqZ zwQ0MbOf!D{77xE4q6954&fQ`vp(U*awR4a7d_4i7#Ddm)m(*m#e8qD-$(YaK=MPr4JmQiDj;LyAn9(bC)?TPKiW*A5Cf&AKAmuG+>$ zw?_ct#3MAphM4>I07nRV@&G&!c!lT+8QHj&IkXP@TTM*sVYNhQP+e)_wE!GwIvx+J;7_@JeG1_+{Vt~wvOAg2h zoc%0;MDP@i?R#xV|WZPpTs!D5DvuVu_^E`r*AN80Jmj!V?pa9_fWKO_T=I_`?tO;$rb{omNVw9O-wKPHFfmjT@z4~I46Sf++dvjktczL z2K>a zt^s;A3wGZ}13I8O8 zP)bYO5c$$q$$_Qr)ijeUPEqxI6@p;BG`Jr-&yVw%6 z8lngGcX+@Ag_QedpUFGiqgJ|2aN9qV{7C;?<`XE#kK$USeW+BEb`NjO39n>U1@_ap8!Txc>jACJ3;H)sx@isJ{qah@wri!V>)BfG z0Wzeq3K?IEP#7gXn&_PJj!#>x>mGMptF z&D-{3?ov;u&iNZ04Kpl@-A;|6nAv=liixC1AA?pKOfV7Y2}wW77Rc50hU-5qeuPpF zO#eI@S|ldo@x8MrqLQ@t8DGD?O$|{xdgp|c3{Y@UA0D+J^M61)I{<%3yGVJXEoZXy z<$R5F7hoeN_kaHUe<57994Ij=R*hskgGV*LjQ_`l{;yvOV}3S(QF%=4dSiL@uiEzi z2K^2Tg*1z?&^^aB|KYae{+NnDbtvev;lI(M{#^P!DWsz;&40pS_OIRWzre};VI+hT z^$}63sQ(?){x4nX7&nCCE4s_7#q@ujnEx9l1q=UABE;O4+V&6aaN!+_?2*d8UOmUZ zVGsUX`u}~b|6(!x|NLW-yF(Ra(F{*&xTdzec*VGo2r8tZr(ZLOZI=zxDij*eJ#Wyf zw7PxVtO9-c2Xo*0ExMIj3r=mhW1lB$Pu{oUB~iHyE(~x$F(hj1OvX@``lo+h5&84a zzd^GiygvJ)OAJBW-?fX}Dynu{-hpdfNaR3AfR?is`kNld$tL|!@7K$plZRdYuaE=i zwpe4DsOJZnP0;S3!c_77M)Ef~eRI*H*@B3~pzkeh7XK z>w=)Ozb$W$9wo7IDQB$If9;6e&8S69xVH#P1H5L{R^V3qU1|_$_57&A^Q;ik*>-@7zTZ6NvdXs+@K6Tb938dC z_R^ZqT->uyX7B;bQW_oREq>41lK<&FwF@|5Kv383H;zjX|C2X`0f6brqUxt=9K~?G zpT4F5#-&^OxQ6{i@>ks5&}-*RELBl`fk2nw+Lv?Ko&}F5g*$#mcJ#-0Ddh>F@JEbB zPm_7kA5pB2ihPhyj{z%&VwWM*#+Lt(OKZ&UfQFl0svKO+)lr^wIaw2rc+rxDM<^6|>9aG&1cocN2GN*oFWI+5_ALg}nB@&)JSHSZ5kC9z^gs9w4g;J%cSjEyMMC ztlp78FeD9gzbw(U+KkOVxpTjRfKAG`LdAjeqLe&b3=gdVr@TR5~}>7x__oB_nfr z@8^n|t&Ut6X2w!{KR<80UhG;{dsP2U5YpH4*uBNOnTeR39xsp?^dLJ69GL8&d4Qn1 z->(&i;k`K2J!bm8;_B#mHM{4|E3{A)2?i| z9A`wsJN*Y)QL(u611t)dbaj`TgKnYYX{^AH(;u>Y7|$=SmM(X1p2&P>hLwvB=YGxl zHz{g_idH3YEMz{zq2(y<2FEpoDE$iy0`Z!VfbF64=Jc1^d))fcj4=6(_Rm>N{G=>D zj06egsFqMmt)C`tx+Sxw(1qml%`!cD*xK7Y@56$Z&ICM*6}tme4kol%)}|+FDXq`I zu>41BvanYNc{L`sIb$h|vHam zvqUwISJ&6uPzp*7;CTm@2}Z)r&*j3QXtEy5;L_h{UO$Ie>u~FcGIx|C%M7!Ly&f{& zkOC^vTv5U=MsMynd>3}XpE6`NR04333uqE|1$MG_hVQ_z5#MI_$E~ECzlY;AXP%WP zr|A}bfsebFfxq=1h1Dq^*;Grq+8=&*SvB=yv|tqgm1~p1M{o`0fAjL}T3H9XwzlP> z(V`+Hox)l`|7L$IMUu#ETJisoBL;-|!EauW0ph3mOc07hfoyERNMgI{nhu2PNYLpB zj!IyYL@R+nZb#zzTq7UO(vSg+SURN(Wx6ur6_V@cH~^fJrpXjOg@DB}CArL$2D%<= z^Oe~Ft}}kS=$f-lU%$BOnFh7--&imeB@lt@Z7*c(t2b~}2oHho2th5mR*L|}_oq9- zX)r%t0>#nScyiuvG};Q8495lkhQMJ>Mw3)UyTXwdu!d|o7ttT{$W+_&kO~awQ7MQ= zbnX_kgI>oRE9uta@#w)aI)HA=`Og7CPTVC3Yr!e=)G|Mj*|PW^gN zR#yO4#Bd}5+aFQ}#*DbP;y_O@GK=lH6%aMSWaTEM2i?xGquR}0tJ4P>mrgBVYS4hT z#%NG}yLmTqH?CkbUjW^1^`&3U5`w%b%$JHonk3>fpEK$YSDiVSEs&vO-8r1jbAmwW z5yOQ#IS(vYh5Gif`QgiVYo5E4Dw`dESR3IUgilNl?khK&z| zC=5B@$8}9F_{lVZawdVy>u2KQx3{AaJCX3lKeKfDDSgLNee+R2s?jhlcS+x$q|{Q< zv6@ZLM>q+!$t~Ljr>ArpP?!wG_*a)=%W(dz@@3K=b~t@M8k6?zdY=L2Sf(yZIkVTo ziLddUod{pI94U9NZrKV+qs*6YmN(5;jfwB-h*n(ITTo{J(>5U$oCFplQ6MJ0wxF)T zn4GS+Hl9A#7H)5?$*6v8#n>4RjBA(_-jf?oO7WD%WeUS#6&~Xn;6S zJSMQr!kwx8V81$MiMK?JblXjrn^GW-67?vS4v}qG&A@la*>j+f-rLi40p>fGvjyc$ zF>2T2wOHV_F2C6j{VsIo>3XaF%q=MJ(N8W(WP7n%#??KvBfwtuKbV@hG60#p=aGOamH0azsB^R7FM6{x3#e3B?gi5+s8Lx#2s%`<=N-^{ znScv_?wmryQloWGvKXh12aELlQAP~^npB4i`Pw$em!s)cTXJ9QvlqB1C=u|C`Fw*| zWK$P@UwFKRo9p44+{QEa(E+}F%)t#or@k?uQ)5zzldE|Z^YT%)B%f)>T)8; z^Vdc=-cg4_Zr)P&x84)bac*)YNe`N z1FeMh=OV1t-vQAqJthAc%AGxJYO3{l{d+4c$tAFxxi8IXa0Ty&*-!xylI)sK)-EdGxb=t(V$VAgqM(}=>sSf5!8p9lr5fy>4i>s}h4T}k3Z?}*1o6}PxF5`K(v2pz3|~W9MW@q7 zz8}AFk=b-B4>ltl*R!PJE3aSL+0UEK>$7-!Kzr*^n$<_ZdO`wX=dv4IDDu$3;+c~DAf;W9 z|Go&}iu6Tjnqjf{G0+rd}2p@%2VC9ga+UoaAb;b~CT~W2L^ZnyHtFTA4 zNt+pU*;H;v2*>XE0S3R`d{HT`xz&b*)^avkpBZS2!-gC>a1VYQJvzcer;=V_hLdTQi=0b#7WYd`V zS(|FG42xWi`EE15A=soU9^!kDWDL|$q;Lu6DnGROUD5-5X{hEnQInHV^=wGPRcz93 zM4MNP%^*1bvKpwQHf}y_W8=d^C0pf>4I|F89~&%Sc*;N63*DvJ+UKm)TMUIdT&xZS zoYL!~CN}eo)Xc1fIs}VXWYPCZN(m3}3M8;|ME+;}AsO1AZsOGb!r)0{Se{v{(dMkJ z{$;@bE#c4c*h{YDZ<*(v~x%Dgss8*=Q@0Rbn+Dml4c^` z*!9AxBYbY8>Sf%y{2KAL9(WUEz7KbaSM|r=(!=> z!r#!;huG0Vlq2Fzusdsn^rj+qyU^VxMaXo(twNqGbSnvWE90JB-O4lF_uw9JU#V0( zBJY;VUH@--8e&r0@6EF6FEMl?L~J&CYg>PBghgPi30&T?<--T8YAL9>b@uQ(ptlmY zAl|}=NQGPv3foC>fa%e5U$;sVo}X@z_&w?$>2jIm4ADDHbRgC`kvK0rsm&~mQN&T8+HtyC$XX8vEvJ0~)$PHA8!>waxT+Fe!a&OybR1G>It{dY z5aa}epq(*=t77BXoNdp@QQ0KW=+%@7`-5v@8&e=$tpBWMHpO8y?Ih^u&@_m?y;y_I z7IQxI`s7@oZsQ?e%cJ z)h#SvrS%3Fz0n*RhhX;h)c6=z(O!+y?Z2s>aucDKNC!TdA6yyTVPH|{5h!!)W|taY z~Cev)Ne$qReq&??c*8JFJ)!7xPjjlIb<3GU^BOs_*oAFj)qyoC}OhC{~2!0~I=JlYZ0YuYX&{UBoBZBts) zWnVe=59YpaFjU+jx^`&OPA@zLEcGxNQB(HZ_tX-Bz(NS;uL;< z$JMCn^@YX+S-b*{PWinX5$UzG=U@emre23ma~A=G6>J;3rHDji$?2kv3#2H+>?Yd6 zOecWv(R8T7OMU3&QhDu`JRF+NV}Dsa2L@7dT4t2Wg`7c1uqYvMAFNks`pJKjn5TvG zFn!*X=ms`0sJTtH85cQ5+7*5uFJF8(u2qybibqi!6{=QcPnZg^djS}8?!$7^%}&7x zdg8#q9*>*QO{dhFjnRQl8;_h8b?c$;myCN%#kp~0lTM>I+=jQg&*{@|ILiJ%%HBGt z&G%jR#ogVd6nA&Gwm7uK30mAK5Zq~TDDD(1-{MYjcXxLUmSDkmy4LTv_Bv~yvuDnK znaO0{N%Fk+``q_)U7zc}S84R{F2S=~XfK5DqXm>^Wir*|Q>BKYtqxOx*Ne!9AB)*B zx)QFM<@BeX=E@`?gs~oh>&4a|Ml``5=WPHBi@a^*{8q)KOW0@?kA$hL{N4a$kek|ORtoj|ME_QMlZuoIXC9uY3u;;hh z??v0!^NP8~ucIp5@=&Yf;%XC-Jxxm=Ma~5257Xh{RC&=1-6YC}@h$7YsuTfw45~ad zkR8dsezU6x(`{R{RC)GPu6$QOT%t1Iihj-o?2#mTMD?{hc=3p~`Tt9sYE4Fl#w7%Bqig3yfSg;OttrURc}`Wcm(sy ze#hkH=(?nAgS#_o*421=p=9ev-3^U#LyY2W2I%g^;!Hi#`l)KV2m-g4^(xPG3$e!2 zgzZA%{BXQ9NntIaL8& zUz-`5Ax|qhZ34XGMy+CHf;~W?^mdwj^8l92+2;|&J7|lba2zRnxDjoRIszXm^ zm*y+HG%^EhFV1o5k{p!u-RxRk~)a;DOrT%NhKo`_bPZT@YqHiU~1T@FwPW7u-I%c-+9$O_!Qx*!cLk z07i-r$y~Q*Q8}n#r|EF|GSTv0?){#-DG*gfrn_NiF==?(p+i}%Z^9Y(4yYzNrKIKA>pEWpMtA3FCTYy(*XYC=fRJCD~KXp#>m#t zqTSyGX(qr=-q_w^!_m&LZKx>T={{+mwbwuEwcY{gr1N!ORPodJr33)EXD|bg@xq5$ z&(D2b7;qzedWAuxX4GESM_T{rw30lFS^Y!YB%?GfefgDdY9!_NF=izt$7h*y?v!Eq z(Y%>r6%-B%r{6}gk8{)xH9X@4d?#APQN&1q=IxIaT9FtvH`(1Z09yAX(uD~gXb!!< z4}b=;E2*cH->#KAFnQS$)Q0Al0K5r}AJi<%a!TT!%Xo?r&u&pRVhNl^h4#YrU~YXk z4TFSuy5$lwsbgec5OU;RwO5R9Lrw;np;2t*OIrr3m))o~!%4*xZ!Ml9Amm6b;69y6 z{Ny&5o4Bwkjga9_L+|j2w4Vy%^$zhAqnZFf(&q*RliepaJfdciNqnb-YE8LExiX_R zZ!K4ll40q)jF59v(i0ASF2|y_OIYXmRf>geOA1>>Hfw%yo<*L$hO({3;7^75r$6!Q zq1y-;O;4tdZ22hn7Q6fPwzCEnu)bEYGQRd72nFaeMg8*41FN?~Uv+m41bEx8TV6ZM z#Qw*_L4&(v#^`_$`m@yad3?YkIg2Nv`x6WU%L%dD2njbwkI2en4j_g8VM*Q-z zQTDjxza&bqsdraOSQjHcY&>ur5a<(2gq!^rE4fZFHbNkJ(i7TXA@eaoJEKO5kO>ikP7bk4Y!BO0s$H( z;|l>v;EQBqI0cD}$Qm`0Vx}vM*;y(56doG1^BYVUuf;B9fihPu>t7=xukSKIG?C?& zq@``@n#5|sWKYp3CN|r30ju=U2=JW+^|I~UkU(`glbri}Ck~qYA)mwb>0tK{s(Mu( z)d>Nw>-Yqun1nBG#9-YiSmc<)a(K8X(~byHpn#!z`O6`#R+r@tf610lSY6uIXN3I~ zki(})MJ%Ft5eMqeBzi?XV!cWtUZ|M3MYxzWdWWW3rYm^SpSCbZ38*|B8AADqN;G54 zgK_%0NW{bXf?&@Psaty+UJbKv(cmzO;&sg1O__h1^x z$xK-e2TK7~e@lSvy`N0;uO4&4Nc}=5C`(AqkjugA@nE51BF2mT-52(4{x*#az7!<> zudV|vX_Gmt?OqY66IY@0b~!6vV$sAPVUA%_ zWAqSJy>_vGH2xrF@{u1@r_j2>T33wyQRMPgIvsxN38DmUrucW4Li>WY>AoB=lhB-pxIr~w>ei|XD0uH~e0fhAOi#(vebX$-7u z7}6f1$wssu3BHy!sU@^>8;vRwsZK_Bx_ctl5XHo|-X;ffa2LMLweWx7+A&hmYk%P} zOKR(G{voPUBBSZhMfPyN$ojF^O)>KU)F%T7$`+(udq3&;gG2u#IUec)a3b(mRvJf^ z(5}}oiraX}uava^2WKQ$L5>bx3jR3dt|xr-m)m}=N!9MNC{AlUC>~^DxP1=$#z}aUd-3}pViEnAfhQ(7b`h(QSLK91Sl38g)bVkYB5po5hxHbMkv~kW zq^PidI{BE)r#PYql*O;Ho&Dm;KE_~mJ$lGPtC0H!7^P=R7grH?USCZYwyJfYnjv}B zqq~^j+}zLn(x94m_bA}Y z28FG^PD}kR(NXk(aB~7oi3D1w32z(B=Fa@FV?8h-tC`l9-ad9omSc4)X;~4E<>Y1R zg$Tikk8CdfbFveoB;&<$;TR}Cf#3x6t$yF3Lo)7nITCOZxNg2M62y=~{8vfX5Y!I} z&z(;;q|5T*KA5}UvlU25TF$UUJ%x>9Z0)#ZmFglCf_~@Bk=f4UbqL=AUpp-0wWN6- zIy`?S?pZ4c_(SGsHWQ1v!G!IuXwZ6pDy?@--Vv^iV9iI4Ngvj~h$HO0!3H?y7>d%g zXo(C6t^J8@MvR1@ktgb&YKpv<%nz9XAKIl9906QtBTqdc8r4EyKdxVu#-_C+p#E6x z9uRAW>_~`MQ)dJ3hhd&78K0#wFePDPz_{35R6m&RWd;lbe1OLIiZ-_>V-lC^tZ`L7 zBN{eww1PTNelGPd20V8>QD}DyB>eaNknF!CQ!XkAnrS8g*r{Zhy~b?l#YOS1bx59} zD>}+g57r+uxZL~sV*Q2X?AaHUC7bH|i+?_iB4GadU4~=uSrI0Tf&2X$sB6XEbhwrlx38!`#C*fff0@i2wy1+aN%_v68mse+7_KjC(&H%@GuakQ6 z9ZxL#nd0*1JDmh3%W>BO(;M-Nr17K%iMwy3CCYNCI&>=5}xm_Ru9X!}IJB%!kUYyEGD)J6>}0l3qGx-mu+b?BvLF+0~{Y2a7e>4@WA#WWHMeWbM$L&QeKB zc5_&7Rw4$Z74HiY{_n{y8fmco1ccoPPT)UfFfQUDGwe0xOb(nue83jXSUXzna;6rA2FgRD0WiGmw^8l#$@NQ#fI=k4O^0*L9Ht$P~&T-fU)m z%VqL4dh#&Qlrrz0*~4Jb=eg4JMdj#L`QdOfuQc#={ZKrzg=+uXTU_av8(-4*Ca)K+ zx96)G)|0ulEy`zfE59o)d!ifvJu)eUs#2LFo`yZlustGYvY^pCo{VFdc%NALF zc_OZI8!%~tv0jo zc97Uzu5>qxq`!<~lW-K>Ic;FEYQI4_nQIaDCoOTf{LzX&EmhFNZ*h>vyAbu|OeF2` zJD}AFefN34i!-SahuGJ!8HUc7(cSGRv>1$AHHp0Dkb3;`j@&N)+h5IE`c#g@*Qh_9 zAeGK%Asv)%*um^c%XTS#7}U#%2#i?6RL^P%LkD@q3go`$ zuLP@!B^r%$P0;6hi znGu*+lwjj~Ra>tbGnw;}rF`=fsZ+)d!G>|(yMd_Yy?A8*;3uH%^{?*hp4;7f@ps6I@^e^e&1p@Zm=>k!t1b?E9xHc@?f9g zKr#3YZ)beQirss|D@q9qq_X~}9-H^`6H@OJ4do`O-+*uv2R5Vn+u~?vQFCwpC*Sjdf#aq|WF_+7wYFB<){I;X2;+e=)4nwXx!zL%(w-)wk&2e|Z zeUbsqK(g+&n;3Q{8vQ|^(|M;Fgn?ef%PW|NxL}r}P^J+qp6tM7ogvQ}A5p`Q5Adzu z-MRM|&-{vnOop-nGY<`-rAhh<+1;;*zY9jhf zJ3P;PfPog^pUL#{4>BUErb13DY!^{PtVG^U0Z)UWbT7ng9}{52s4q0L=aR45Cm+i! ze^&bss0eybCr zRXZ2vx=Zg(us}6Ki`~4zNIEZKsaBA->odKoE`R5iLD4(2k-m%Uy-32I94UV#6nU&5 z;WRGtF0!Y@v{8?(F4^Vx<3o;~Pf+xc9C7C7I?qrRNY|%O$vr7J< zVI8~~L+||c-m_2Xpd5B<9Q3+)P7HkR|6q%(BJVpr_4Ot*_9!?m4EVsdz>x4t@MZ8(-JA)hh!Kk9%v%+)5Tg1`xMHzi}TJ20hl2dc)dt9me&{%YYh{{73#FOO`&Ye4fQ{>`~UIS zJEygA7e)rrmRuZ6rVUc3JZ>l*BerC0=I{+5^`T%wOJUfKH`Z%@u`c3XX9u;;r9Ty` z(jGFJokW3&k81<0`3%MG^gH1p zm$m{fR){4JYS)m+^%0kIg&YmoO#=4scCd?LeU>c|H-f9ZjRq~yTsndWk>!PG1TM05 zg#q%P3tp|pGZk0<(k*&Og=jAA*bV)&Es!CRI|$-0WX!y@JiFnv>Jx5Rn?f&26gCXk zgRu$v%e5$$Bs<8Xy-fCUDQQEq3B%09@#18M{MKXd7`^>M%ddZkGD%gQza0BTZaNvY zAJ8)8>Skr!IR(h*cUvSFCp@NuWRzA0h>FZWpzZ;?A9s0mhtX69FoWl%B1{jsH}B^Aykp9ZFL{?}Wa(=_Q^gwzd!(NSY>#a&9Gdp0@_ibSY2j5K z>AH~v_``rU2p07)#f)+q$JYV)7jf?xw!SO*>%hHOU`~eDzd<+dtYgd5xEOA$#V}}& z{$7`}X+v(W$f4YkeAnPu3mu}io1gnd>T7V{&p?sGYZ#;^R!}H6e`Gd+&3e2QyiV*1+ZHl zlQJT=B%#FifWrq=k>!Q_?n}hHiXH4*zk9cEN&T`U)Um@3(y~(d&l5&nKaW0&T9#BajpH0$wTKrJV%j@Zj6WWB)S5P;o4f04 zEts~@DJedi>vMj+WJ2nd1|s-X=Pnn!^;&YZJkjVBG3GM0-v<*%vVn#2^$zRri2z3; z`_8Q?nQfOJ%f0bthA^Xz(DXGI)g2X<>q3c1dDxYegQ_|8YmwIV>+I;TJQ;h9C(~>DL`jZ^274j$Cw3lDI>IpM8h?e_7E= zc)VTr^>X|Z`MNyva5@_=8m*AidV?QsWcNAB3@(DN)L@=XTRMG8eySjswWY3ezK+5F zdYH7{belk5PZoX|Myv>F(0>hf9z~-5Y@NYx_0vRBZ0bv{<*gM51e_mbjL3pR7TB3#((is4hk=9mJ*tf#EUSc)L?m&b^M6P0y8(hhe%XWy4I3P9gp}L zLa&MM&(k#q378m~Qd$|Oay5@+YtX31xGG`n z6Gq2~O+CMY@%$t2y04h$+_#OmpPcB_kIan*FT^R;CXAr2vr!wJFds(38{m(z!Q zW$ke(f6{}JTUy=<`rnIcv3c#h1b=5(L6+Dq`pee9G}lUZF%)Ozf@XTO?ZGpVAZ9TC zMYB9L{U@3wd5D_R0QO+*nC6SPmoU@yAhG<5e?eMY>BbEGBawti=&ByvpV$4c?RWn| zP$VAj(>674>^>cVl_?GO-;yY~A8-=gODCSjGmu?sYm|&gnkT`c>8$HQAVK^Ya_!8Dd%!$|p5=<-97f?5yq#($Tc^6ZLE> zlKcZQ)ZfOjU=yrc_z)q4mbIR{n|iR+8qHqyq-C zQYKeiW5wGgpmUwe7hb;6G29aMN6Ce33d%2u+80vtdhm(bBUmOtYwuUGUC9UCYG8wI zXKe%b0JbnLxAg^+mn82YPqV01i7!{QPvpqovMyW-$-G!P$;lD^)b>D^?5D?WQMsD7 z*iU!3w!u;cURy{T%OvzCThw7v zNP>h{?^s%s`;LV+bZiQ-C<+M|?sem))VKWRdyzj$c`yur+|K)bf;B!BsAjWA1rOy4 z(Dx|jEP*tR*ZCYgi9`aY(zOsc%Ve;VwgQ06n#`Z4xx#5DQ}hNV0%tHb(bVuJUb zO%luq0Ofl4S^=WF;SZGH$Gc;;R=%M_5R6-O=|1>su|TCo<8g8s;ZaG`j{4pFq(+(M zEgB`qj95(%1E*ne@R$>lXBE${pXZa(kCs@N1V2zcLsuYjG$JxXax${_#4&Q5t^Cx6 z`Z*V1-=zep+N17^yA4`-cfEVGeNrUxWO+^RjCJ1ABU!K&k>@wW2iF%cD(}2X?y9Vd#s>Tf}o>9+a{?m+6NNj^Fn)RUO|<>^~4wR)X$i1@s#VR9WXahP4e zq2nEbs>qZ)pB^-k(HbNLvopM>c|uf4STqnYV{|}2R^}l_?I#Aj4|`R3gWLANJ)@8# zb$|UkXa`eVA9ll8pDnJpcCccy*H>u0boCFeORMUS3+lbP+!_<2>Z*G1kVpE-(qQVB z1-momnIhL0=mO0{))iu?*L`skkZn?JR6Y@+K;T-J1)HVKN`2>i^QIWuw00Spxp|nX zKZd=b4eJ+Wa#9C=nQ1g`_Z|#u0E>9G!d~>bn>@n|_*f*ROZ|5{t%rI3a(jDhCP)R6 zhqXPpt)=OjKHF9>6*8>oGPR{SbUpfwIah4jFkuvROLQyv%HJcWNe^kt zz*jbPO*Cp9rlHO>47` zfrSomUO8SR=LO`-k%i`&^(WMP2)9phl!6B#djW92p7VhwTWWvxhBWm!T7^dzJcS?= z3H7^y2R@2eX8DTj%6~_V=7^bb^{j^1jxxTvX$a{Eb0E{TaXPrJ|KUFpxn8p(DWH-|{Z~w$&ws!wBFpb?X z;-I>Rbc8!bBi&hQ7=>YxpbWwuvQXZO=(lgfUXtfMNKAsH^d6o)or~HKv)9!6KyrgR z*u4KeUSGOP7bm{B^E*&gze@iY`B>a~z+urexp4C4(t406-_e5MhiC}qxl1*X3jq@j z3~|GSNR}%aBBo}#Insk1C2+X43RKfs6L|yKW#%s;=cGsPX^VQyk#{;fuk1l(<@h3T}u*PCzCHD2{%km zA|Pa)n@%t9p(2m^#B8Q*RP2VVbsdCD@7Af5AHtV?VJQQUZIelnU9 z-VKsaHlr4JnwOZAPkK*X;Ru+>SQAbmR3RxyOu7fEgsLI=$=pL+Bbt7}*?Q@9tRJd5 z;JS_0H2tuCbUNll^!PzX%C|5xi?)b6lw0wyboA zk|^&&=+j9Ua%M#yvjy@`T3IHu!hxY+H!J5v?6)z<`I;_#juyMlW5FSbx-?A2URlaw zlTiu>>9wm5)>gT+-ieMc+c=>4PKT$UST>H&)z!ilJTq4mI_C$xj7cq+91A41A;0AA z4f{WFTa;kcf}_>mP<6tIjaMFTYw|4Hsjw4u2t4;tZ&pppqQ~NLn@+3+RY2E?Dq}nb z26>6{9ZpNILf98-J9US$>us*JC=QxY(M|7nnQ=M0_Y?D;ye5y^ACfuGn#ay!Afpk( zT#bJa&FFD@vZ+&Fg)oFJAeq+Uvyc-86aNu%($4mSIT$!&ZPmqf02kTUuoI)yKj$9! ze48|00BHaiW`V~V58$N8LLIKCVbIw7&~3XOpz-rVlH+rzMsH=HUCOxw4Q5rwAX!(kT(HYZB8bSdl&j^xQ}@7yp3e~#XD z0Kj{Caz>sv3K1@8=UjEsq|61PU{Nn`}$MAv8z z?K!iz@^=9A@o{o!sav%B-9p5Xitm3$QX+;8^5d;cwjA|d?KmXr7OpUQ#lVRA-+tn^ znpQ_;^tD!s5W+isk!)?)RUF@h$cDw8o|qdsy>%U>Wmezf*4vPTxP;0Kjp_fKc!MeN zZ5Q|Si*A`wuBj82Up`*Y4zYD=x8hNuMhDSp_77!-u-b^A>#4 z$wGS)XRL9WOYS9C6>wG_fA0vQ{R)~Bs6zaa?DB|8z>_YEo*hHnW=*E6`EacjrQGuU z1(A_eh;WVRyd>~*dtp*`gUybq7LBTUW_7}a5b(=JYn4gcF3w@w9ju=cS#|DwapbAL zu~$7ZeINNd&exDRiSBBXtRlY_r^li*xE7^ z|E>X(^^@lPN>#St$%%t6%q8%D#20DDbC?<=gVHa+Xrp=iLmS^EI4 zm&lRKdkzZ2GwshF%IP#^q2V0XuOg8&!9>=HATi z^_ME3hw*pcUUnY{g?tw=GURcEhECpx5F>hyPMewehad}XIGPq0{P^1s#QnY7to?#d zsy`8WhMG;AqahHKoI!igPtZ3#cY7l0s-^~P7^tq%11}p+3G>*#j<7gN*l#Bitxyn> za)h|1b51bG85a2C9cnce^{SUGGYSKDPr`NX-I_jhxR8b&NMo{h>|CkXXomezzxV7{NjTyP8^!k`(#j1=s}=wkVqZQJt( z>nya2J*3HrowR}B8;{9F_VYkSs_ibeUo$gKQr|K$>AkdOA_#M|5@QX&k)L+AT7#0j zpJfH_1`!u}!)i#;XdU248@1-Lct4RjZ@GwW9kJb%)rHA}S~bLnUa703PDh1| zZr3UIU<4rR`qGYV;2$0Do`*g;w5Ol#qL8< z#4BoTZB;=}oVc45zQ`Hf@Nf0K@W-Xu#%gPIeGqq_IM2w*AXGUpX#(=u&h-7%$0(p9 zK~cXVABh|;eO4Tc_EOEsiG$SvqD@D?)m;j#oB=_&P##fV11SvqjI1 z>Im_1>;;#{7E;{I<`PGBKgXS|qXnih4X0hISy(%AQ<$R$1jD3Jh(LYt*CvNL_Yt`g?Ck6f;i5ukYxz*x`ga#|r z`c5yGQe-wx4Ljx&g}rG`7C2v@eR|?|NJ%F4BI{TwAG$xNH`A|4r5Vh6=a3GON)5^* zVp6n9*9Nk4yJg{m17hQKy`9%47HIUU$lS7C@tp!oh1>Q8O2+C)FO;@YOreZZtvO|d zH)ynl>B^;bpm5kh=kOm8fNSzQLc3Q>yS3q!8zqA`ttW-fJNq2|?p5`Rxg*?D4^Xrvdy+T&GtzC^e`v}omm$?+(v($#)Mwolp&O`AW zo_ZTPK>j4L4a%X1N_S)8)o0~@jY#u{io?rNuV+^BJvxS*?4h!co0)nz=m${yM-f&&!({yE_m?mO}XyRqME`3G8 zwa5GTVn6Tj<`BxeKlj@(D*}gB@l4z!jYo9~s=cL%ca746_{D!~nWSPh+WqUSG82G< zW=oR{7jVt2>WtMAu0I&do2VepbC7R_Zqi4KhKX;3*e%K-ux;uVB_0*Q}i{gztiHmkvfkaDvIg9}CqqAu>vw&*?5@wnTCw#U(aq?f-6#*=Sv$uMV=6=G`VZJHZ4rC;YtB}kM_StbKt@dXZvrIl#owqq zkj#lC>XMuI(~S8Yf859hVluQ#1II-r!0&|AcL{swK)z`W5>0owgoE~eE#Tg(8_>7T ze`q8hRfN2AQ!F<;eDXwqCwcEIB&X^qXuWFqIfSNbwC`(+Egj61J)rV`hAzl1W213< z=xlgBzMQ$4|GMn{X&4{SvF9BKw~3T#nAr8effLT{AFi0)94qQTfS_Xs4daBk&;xbD zFA*kcv1QrUrIg={Nu?bOIRUw&w(x&M!r{BZZ&vU$gms!GTWyr?DA`D_tGZv6a|ikj zpc;Z&H5mh#OwS{^wIw>M(UZvI)vr1i#oJdO@jV}U`Qa|!c{g?qeoEdvli-nUH*E5Y z-4s;TDXrX=iocZFQV8B?-9ka>_y8`iuT(Av0^7YrV_E%*8YVI>>%QYE+Gv4PA}xxUQt zXnoB$sj^dvnhhK($P&nZCN2#Q6KZ1vUaP?W#^^=g4FPlQ!^> zoQfRuwDyMQNC$54a)=4*C+wtUcWOQuuW~~f8DkhbZ&%H3J)Y({u>#e@JgdKl>Lh?9 zJ@+UFdhpRv)jfB@4aqJb1OqQNr?MR&Q_#6e7jy8*2*LF`N8w}rLavz3pXn;12;xOG zgw?g1%0~6*j&%eVPyJRV4I7Xg)E;#FX{J&?{|tpIq-Xcr?7&uF0p&nuK(1)kEhKb< zKUZ=J6Soi9+5Bm#Oh4Mwtj#uL%f6~gmkd%9Pien#)Eu#Fo^0;oV zx;)!ztXz6==Jc+6$7x$51{_GuL`IXlU%rIt07XOP70O6cBl%S?$hm`XfV<}%m*qgIPT-&M zA1sRr@13EUf~P$^6KmdGuqSw~x-$0$FBmb_nQ+qQdPm$|!rf^F6qfdV*Q5R_LNac4 z%{1Pk-E&vgo+{Zk@I|k8yu}bk0cO+mO%VDsSt#@5ctU%^J16BelGiZPW6-`X8}gIy zkgmYrFVn5u{acH5+^^Q>=iabwvR{+gQ20r$NAXmhS8^#{i}hs6BYnpmWU-y)ty{n9 zQtU5I4W-=;I<46|qU)Gn#zc$Vd$C=o^QP%<8L1W;{dFffrU2^A=5Yh=)3HIHsxPih zEJj{9(E7Ny0!zKbn|ur|>WX7;W^N>=eAE0TduW^XTfU4>MWPWz1eAIPRMnWTR1lb(Hz}VkLbx|q?fkmA_kw_ zOa~R16%GcRk^Wt;3Vk&e7Cmcm>4ujk!%XK+TIc^fCg`>d*JhvpKF}pnOxJAkU}&`f zHhC9pL=r827@%*u$-SWhh-44tP7I?aytk%0%mQh~tBc5v#B&#z5IL+@0FnN&$M6(7 zRf4{;cx4Oaj#0PGzLYa66*3d9F&#o@E|SkeXkbr&THg^#iRP|1!Rb#-GxS{_;k`rL zhTpiRklvzhswiCVIo%zYLsq_SS@k?sU(%b+bT544Sn2AqgKzK6b2xqMJNqSFP`;Ir z0-fjX>J7IPe+O~)OyOkGz}Jn5$In~QeCr2@%#I&)l$*fzJ!i^IQu0zyo63LJ6`tuA zs@eyPhHSk-CQsGuUM3ql8x{%(MV`~ML(c2zaRD&g*sP#^SHTG=*59ykwL@($k=+{W z>?>j93(nE;^YzWy5m~SMpDXJ4+NgG*`@dGy0(*Nqj{0ISbd^<&=T7eIN(QK8H6fe3 z0Ji1qec7YVeJXhA!N^8`J}zC1YCD2hBf@uLRmK8gI8}Y!Vay$GaE|P5U>~XyTQ90ndeS@CRK^+ z_5IG}JFh?U*vk%1k8wGtYz)ZrRl1R|$Rn51-yWN3uUny_WdvDGZ0k};$yJ4MoT_K` z68dU>RK0=ws}&n)K>3(o$pOzRUqh;v*-mef?7uxGn#)p;RhYrTHVXNy%+JHUwz{_G zDswtN&Q>`20RC@atuPT^k0(HF3IR1jL!4r z%Gs#@8@3KfP9_`>j5l-niiObTivzwT=3UqTr9w2hMmn=tG;=fq|33o#ww#nL{)#_J;WJJPtZ-b_-6~TlIg7f@e2jLak*p2@2Of{Q=ZDbKOF1y0GmVQmdcucl&a5WalC8x zJj+Bv{V~9r*Lt=A%T_`QEYMVK^go3<+s^Ej18-87X zRh{FWr%&!&-bONOPtsptgc$>QOK&`B&0%Mm|~1DeAEav-QV zB0#o1z84jAF5^E6)_Rv7yGlp9)0m~O)XS-KSHh#gyntdv{AY`uc=9{!8(I-nq%>Hx zE-CzSz=pxY)HcJ6^_Ku4@XfFPp>JkExWhqky~z1zLsBrj%X~0y-2-xM%ck8-=Pa0) zPTF?po%l#rK*WW6hX*ysTJZ1Q{mNp-w9?Wa(oqf%@)tw z+l>9qM^Xi&0hxt^aXLLn=x-+`jD1-hSLUwiN(DV)M%U}Sq>24lq>T@ss!ZCI$oY!+ zyWJ#u5t?CnlA0l5=-%S{#>sp@H?}Urj7&$>oRzS!Az_t+7!SyvZAgY8#PU63o@xf) z6zo)5;g>Efa!KrJl6)iXYkYDRzp@Z(o!mX22g7NJ?b>EwUV?~zt>w@1wE>YDi`kZ| zL))u^vt*b~btHwKl5xw^04%4Z97j{wZWM1hoHTs<+jTdhuA*#JYvHHp80H*IVyW}T z!?xI=-g@&T)FY;5G=pEonXqU&!0ob`Hw@y*zwk?$ z>%8@E#1`HIvVVkqUpygm+!k(tdT+WE)RgN-I0ImL&;$chX)CQ$Bl~TA;A^-1+Jbj7 zzb?+UR%yT`F_9}@;I{U`xZm7C#g|*UfAkCgtRcR7y;e(qs`{L9PZwC^U6Kd;2K{Fe zL(P^cV7Oq4%B#I$#bd-v;V|*3Oa#xa^~-i$>DClV`^@!MA$8L_DZvh5`FV`+XH z1+R2&<`6J`=tGF^dqd{k_Fy4kwiB-%omkjW6vGj7e0grzA)w*<=lkZf+@pSidtw8< zcIgLJ%xkfRyq}pGpAN&%apd&T3Hs9fYL5KBg&R~Dv>hzg7LV#q@1YSYFqF$110Deu z-w)?XcKT@wUJxU+*|@IW+W%wPohy71nxuh15+;*?vW0tQ2^b zu#HL&fJd|$P<=VW#s9}t>)E{5C&_s;9%U9$pKsR6q@Lk50{i5l!T-EX5sC0En#NQB zn$*MX$(s<|IZk{`To{;Yk5I<*bSi?*@6qzon&U}KCWG%w{zXTgLc8x*rr(+vOmTP= zFZ~GUHhXO|^@*@hUYK9BsfrWDI$h@ZdX#7+L5kY`EPGGtJ_99iCMz2PY`&D2I@MB& z&waK^3=9tk@O%d?7h1gCF5;H$`)=4u%4MLWl3JcmANueOu0c01c*dljviTMy9k$Y7 zyUqLrIeA3psMoKyVZ}auEl8G#2b+vA`O*en2O9x8{K8l2K^!66X#ad53QRT$Z1~>( zC%_+DEko)VMdg{!lx+y1GY#O=&8?Pp?yr!amGDT6&<|TJTKyPSjB064{$cU3c(4$p zxyN4hdK<9Y!%5Z!s}QE@^x=(ueoV*n(XK{u#Zq?%-^8W+hybJ1YWsCfP8jYe&X&51UX&x<1UmD1u0NJYwh%VOnER~K^_!C@MT7jPdn&lkUp z3|J6an&dYAb2_YZ3-$S*mKYWUFC2K{fbegUeq9br&HYWyd>v+VEFqevOW%0k!~{?6 z7D}x@xkd7z^n{%oZxEhw5~6j_TQdw!4?g=0{ajsZqM0q$P&wPMrI*VO4po|3`AVq> zMJ~V!lcZkhWDJ3?3u-D6JjA2Ig8quMNgL0t3+i}vtwm$p${MOrdlwxpiNrP~66(yn zH{0Z;i+>K2P8rn4M^w|H85q*uQpkXo@9@I_pACis;-e&t5;BE-`@JZ8c+qymy!@2I z^gG~2hiN$ke9PT{`j-~dk0yh-3htFI1qcMcJ<4`I#)qTV=u;K}f8Qc?s!W-O;2{`L z6SF7R?0H_*D>vOKXu`>+=>M8DmzKf3{JDgF_#tIPD`k-F9SR=b*VDBhg59@2bfkn; z=6$~k>aQLz(BehapkgL_iK-Vkk}a!ha0#?%?vj?H3_gi^HSG@Fs8%DR5?fc}wwQ%Jj*7 zLE;~ihNO6ARVu22hUL?n5^X7gRViwr4+8mY{I8Bn%^7O!gVXNWO@x8HO=JQ^bVI6{ z0^iZ9zFc~TU$WyZk5UWydDLIxe9T3U6e`m(RBgUlDz&zr&J3e_CKb|+7$6hSo<78@ zmcJrg3B!vL$3MW0Ax2X#z(+0EQ92N|aqSThWWdysr*FEKNR|+&{6F@zeOL(FzlYLU zK^-jpB9*k_0UFpOT|*50t-a6tp0m%p&-ebmKj8ZZ*37!sTF-Mo*L{V;WSL>&Zk73q z2!xZ>591CBj)vtZ-{o}bP6@E7)TkWJhjs?Xl~_p#-|yxh#q-dMpmvBw7=?gc4$oJm zun8LFmY4W^T2ZXUwYYVybv;fZu`e257f+}k=gRA&8?j)bMmp&D;FE_!!_jEoX9uFi zYZou!Y``F4(qU#Gqp&9LArTna6HsfA&NU&(MTEIEqJIjpgULF05_CLPt07AGFyEqD zYY ztDQ`HKe|*e!HzKebEJxO9=u6HCwc?psvv0cSdzc?b_$yhAKLwZzik=)@We}OVla@* zu)tNqlvxDML2h}YYKP5lRELE0x93lCOz6V8tdV4}KIWQv5=8E!PA+(Kt=;%satPtM zK?OMSX@!^G!!$KcBh&$`!M*+@R_TC~rx6fJ*X^k{e4QNXG9tGh(Mf>r9B-0m6nE)iUUXmAP<$0dF4~ysusQ z1ZGh(Kh=$M1L2^FihjP(me1*PYZ6cnCq$}UpA-~tT&fgF&PcV6Gf8%<)%N zlwKcM+hi_(CW!03G17$J2_Fk?FbTaAd>bqb(OLuILX>pILb{vQ6!Y zw~u;1B`Gkq+I30<^S1I0w0HCqaG37#b(25R4UL480q^kU05-jXM zj6~!S)$l|~?Jwmptd#epGL3qDq(|>o=N%->uPUb(`tHF17bw-QeN$7oqz7KNu!vVE z7id@~-tn_qGag&WzT>r3NO_(e;qXq6*f>Nn2mj-up)Vw#20cSmjJVD`t-+2*& zctZ(j%tIH2w||4PEY36L9%_4kkJWI#9`as>b6L?xeCoG!QcdHEd?rrRkgHizSN!ADKsr!CL4AC@n;mX9g7%y zKLUhM0#@kOX!{H?T{B(+e(H1DqiTZ!^-q^Rj0g#3yc{Y_UUl}4UeW>)8#I~6Ai7{W z@bhIOdn}yLIFgO7C5j{5!TFbpaB7Nsv)O6pH?ZJiFO4AE6&ze0;p4>FDc<#!Fn?64 zh{vH@lg5_>_>+}Q43xu%Qw@59uZHr7pzFaje72qsN?#s1=76gWSVz|}ec!t~OgCl- z@;&SBoaK1L?#{7H$9(tHpsF6JChNswc0Px`a!P$eUXWG#x}Mlm578yu-)n)}ZY*k( zmKgy!a`YC7OS%})8W{?QT+t;E6n z1reDNG)PXoBjCdw5K+W`2RZ1`STa~E{Hr;|KhO#f0@R{QVpAh2cGMaE_<%H~fM+r2 zqQQbw;<$IYOFkI>MN9GEn4^#>Tr5-^D->y2To}Rkj;C&gQ|Sbe`c_@-HRS<|2d#X| z%y(@^4(0`Ykt2~uCQR3aFf_-#8%vU7rkFD!AYzuBf5V3LK7cD!)XT$$$X%j3zSb72 zNr%`+vu(G$?NXYgtscwevo3#H*!eG-am(ih?-j?H@a*%#t;|{)Ypu7A)PJ?g3Nb+^ z`I??DMC}D&;N_q+_dN&}p#^Jao4?I}_nOU#M&(iUfR>Th7&V9g_ran3%mTLhTB~`( z^aToDjo?{CCHCghHLmYi?wL=nI*f`4FOk(CJ)?Le*VVQM-2{B|xZ{cY=zGJp-}Z1l zX?C!M@m5pk-b-o_jfN^yY@S$tD_74(_|iIlhD3t@`)PfS102W|`S5y9iuoql-Z_?C zp0un4(Y-?+E@jSsP10>_$J!&1i@cDbAP9x(rs`}@T*|)V{!<6h@Csd2x57hYkcFw_ zx$wE~t;pWtyAoUK_i{&~=h|OS=m$fxgdxztB{I>g>C1k*z2}`_G~iPEckOi@{>*t+uQU-|pnd^(eJ3rgc{cAgu>da2jL7 z?eB{Pk^<51t)GGsQhFrk?@`aH<*IJvNF9{kIO~Qxg&4^qHG^Ifl4~!$uB!wxGHX^% z*PY;Lotv}e%_%)k7Dl@U@tkxZwqHY<3(@-dm%&{ho?Ifb&i84T#fPumTzvt7T3Dd2!e6>ylQ=yRq&!EQCCLo`RpE3p+}LnGgV z5L-zcZ@n(Re)vdYm`m0(VJinWI}MWsfyJ;JUlFI#c*CQN=)1KQH8!D;owP304np6{>YyRI?|i^ki}x2-H*LRGK5&UC&U);QUEAd5{Z|sRam*W5R@A@! zr=<_?i%=WrK41KAc_as3AWfv(h)0gVe+WMLXMjmN9&o<=|CjoItW{vWJ<7$&t+41* zjk?18?H?(-H5Y6ABYA7eM9Dn)VY1@yzU02UeCXNpTk3E9^PipApN}HY2Pg1a6=Ab+ zKA`EdW>n)jvi=^%DqgUw!9S;nr`h)R`dJR%+2Zb`h_WN52aVB2PBFplhc&OhN&7 zsL{w9oaYlaLzAr5pPqcIa(uUX6B21PT}6C)q7=;v_%MF_xrG-10?0P9fKWSIF+xoF zck%0Ef~bweS^_-*2ZeAV<_L=z4}r_hZl&P5lg$xDwMk#LwSG|0S+Y@p(&li+XN&Ut z*p;4^!@Qn2?#LG~zw7hySV=WNvi(rKm}Cgn-`QVmk5G9@HlO#b<7n89O}Dy577Xf& z-)OjTEhYaWvEk}sPlue}n{s^>q067yT*}|(ypCOKb&GFM?-+P>diCDD4Mzj#y8Rx_z^~#^bYvq~^{ilY#Px%}=WQ-aB;dI`@twbIngW~mp{N~%W zg33=cC(&4)IQ%=YZ8#iY7y5hwpdCy7^Ag#=Z6*{7acy!-XTRb2Yd>0GcV)lwz3&M6sTLH9?_uk%tqotQavHZVs!!CK z-=HvB6LowT=5ZjESn~`Ml=Q|?S}GQ68ReckANR%9tW z=I1ZfelyM$Z+#ya!tQwJT0E>GS)kZ8r75x4pJMN;=m z{(;(8XdTN`OQIJrQ9TJ5D0@>W&$ zLrnIL+V4EZl5Ka%pK}d}uYN{R)IO2|T(8oqB;rCAyqbtxj%V0U9hW;lcFMMlA=f8C zZM>Fuc>LQ`ku*ep{(DHLj`dm#&O>d{+NEovK+z#R0C4)u#MLV0r$fYU*zB1}tGIcI z5_r{%hN*PtP-nlaH9QjUpXfo)garxRx9wmO9e zytSkJw7Uom) z!$g9aAg%>yEt`5Xi+NwV&QB9=zJLyT*n^eho!7UmaWs;5$*1UpbH?u4^)IC(Xe1>v zL<2HOxC~!3c^<#4Fh=n{{Yalc@8xVH?udG$Rf2oZ)9OC&9WjEFVJc5U%&WB|X)`RQ z+Lp%iMNLf`Vm_SE$JKJX(i07ZS^u8cpJnxUTGLVlp9j{7k0e|=Y-2RV`sxQMtph`T z)>q@<4twTHaZg^FIbmMrEH9>3hojg_Fk zvE=O9rp&7czLbaK@<+NrB7ApAFZm>%%`YII=GDWqp6E1-aYM1-AMOjXSq=+TDkRz9 zEWrReMzzeSqBn)gKS=kbsa!S&JDSfb7#y;nR$Gh^`@c_dx%0iWVzx_GG_y z2TXXD8xT>eskOUbB-NZ3%S=ma85Cn*?P*trY(}T>%~U$AT96?CyOAW}6^=A(@yqY4 zppGo9EEirl4Lt(uASnBiCyU>R*J6;Rnb=?O1PJw**z6W7hW2k%XW@ z*H3m-H8F&?;Dxb(Un4Y%g;! zO})8^JXAX1GoluD{&fb3qHEswk|S}>FW>Sx?}{0W&n30qd3VY+e0YiD z6s03>Pd{ko>9&o`6f5p9gHA?~PU>k}VmlSl>;O_{z{`cYNn`6w%ZPjI-=@ax^C9iE zHj`a*cS#&NLx+>xif9h<8C;h8AW41VYyA9~gF+F1x zX^n~9j9c998;82YwYFOcm9oerw!?uKQe_jJs?CqrOnx6tzjjT{y;!NZ)Ytya{O&TO z?Zn#!i(Tj2r@4E-nNz5L3jRPwTZMkxl|m%ca1Pnuj>QGKJ%O4p|A-_CpKX3k5k6k* z5YVuJ-pr*^;U!did`#~4B+H@oR`tZ7&i`|HSswLj>y2(_i6qVG&My1ncb}`2t5z1n z%No1IF)mIh#&Isw!v(4)*W?PLeC0ExARfz+6w;o^kY^X_f}+#cgxk~1uOH)hcPbmD zxWk+Gy_T+Shv(@NLy;;*c1&ZJyDePl=n2l{eFNovEz+``y%7|P+L!Oq4NaPjPu9Cz z-vv7;8|IZ+O=gPweD!r1p_IHr#zO_?zL+M_7+e3;iER!`*2Z9nBCzqCJP`M5sJJXK zf`|9snfp4GFmw3EJZkgrVluJaU>HL+!ShuiYo}W4mIZsPh?5{MPq;6ae*g-#h}YB? zIK}$=tZ#|JMcnq6Nk`Urz4tuBZDvmNgGl|3Cmg1>Lz?tS=F4aNC>yPXvBIfN8v=r~;%Rx;iP1G2nu(i{e)_o?OK5eMA8*yrhi2{9 zF;YcK5h>dNV260GBRJc z*2Z$(C<@tYh(82eh1bmbI@L{}kqgR7T*57sGn6%$?pdU9NH|IGQ1t89d2dHjzDH7r z-@h5y;5$xpIz3iwk&pij824c>&|K`wM{W!~DlI3>iZzY?9LaZ6?Pz&7-{hK5QQi}s zi>ZTV-}(KJkqd73)IccI|LTCE=y+|_dE^Swz1j7p&8ZyS0erMR#l>QjDfTO1iT3ge zZ?o&OBL0Q2xc!;Cs2UA)i{_N50z>7_Ey8N$hy432W8}tzYm;}QTa10%`)@e667y8H z>R2_x(XoSDQzU&b+;(qTm%4ET-u2m`X2Bfgu9tpI;|YdaU3$Ie4>!Kzz05zf8qU&? z_rdP~HioM2^!;6_&_#do81j~*=DAP;3doJav5eC2Y>hqLCH(4#$}B;R&%*ww&Oxpu z2EiUz8sCkui-6y?fska%lMd4%A_2f`lH$jO0l`pN)eTNo-aW!t0J=1&BR^kQ>j}Lg> zC})o5I_GjFONR$|0En=L*@&7U}s8uj)d3?qxP4+NXX83b?6#sNMUf<9hUSezl9adJxsvk4t0V=g?XCJ0m4_;6L5z2 zn!_ljwwn5*&j$0TkV_gxcE|uKq;Df-ruGZX5l7#Tv;^OqKFFA^?c5f+?l-HlL6ZWU z8;ZuESPoaLh`N@3Jo5uk+pO0Uh=a5l-pr?wUtXzMp|SmQ7dUBP*in>cot+Rh%?aW$ zxpEzBQ0SYaWqKx!Ffd!XIM4kx#KjJ-g6mz*h)&> zd6{H4>lpT3(V4fMpeJ1GHv1#iOsiQa<(cANIB$VXgn`!+dxZG=`E@^}8h-YC#nb^$ z?1XBZzAF5pS@+EJ>Us|EYB6~0I`3KkhHT-KEk@p3-8_X)k-q19c)9&gajM8jwJ ziGHJRxHj+mC1o-`GmCoT>`RJrLeL}CQ^WkSSNOr~L^@UvEUOJqWp2F_GD$U(FT2ke zNm5Pd!b2Qb9{m=3AF9)SwmTo+pYU{B*S5AOHoTBzuxg3D8~(C=kBP8ujFYDNaaZRk zIOZi-S!D?U0wLJISg*c-NnvHW)gOkoBEl{)1J;v6P~7vsn^NY*(t<;PI7;@rtcu9w z3|h$U3`5ANd_$Fa!G?y~vxI3|Q|x!=SH+s;2fUgIDoi?hYBNAah_Z49IC6%Wx|}KC zh$6JHOCR6DDey8yB(2@C4^+(uy7~ zFA&9QbxVVrS^>WxU1fwL8dJEoaa*6*$)hyN8LWMf^fQcmGg=O3JjsFRFq*v=m+D!W zt$L+;t*lJ?5cdsp6Ar7*GDpifrdJ=L$mH6CZNS6EGU($*;IAgmHis_Yb7@uI6PX}y ziDk83{KJTLwl{m)dr0q^FO~Q0-;16k^THI=Q-2lu`I@i49`u7(w{t;AP<_~?A>d`| zA2W*fh$8;daW586tuoC(L(kSsaFvdpa#c`DUIy)V)We}v33&;z_LA$+EPp!iR%PVY z8-WpYX(T2>0iF@`lPAmgPPVNpcI|!aRhSOv1_QWv-~S70G;du4ip!@QLRrk~l!dfS z!v0hVvpk1MjX~h|7_Lwrh1F@5W6?~8*>DMt&RHw-f1C(cge{j!=HD_khlq(BRX+-D zn1gRi{|MWhhyeW6pJ&E?RME%<7eOd8Fc&y)^Tod%iA%wA zb*V;^Q+6Xw@v7tU=euVXmv3vbRTRkINY9A+QuI!gyFF1!sPV>(&d$^^ z-S6Uk_D7U{%CSiyNw=Lx_$aKFF^>0&M`R?pA)SJ+J=H>5n(# zn(N1@-z_4lY|OJ=A>Tm&X`CBXW9?)3_0F4DP&XV4Lp;s=f+ai8LC(YH@%hgryA~g9 zc?LUzC4d32U=aVCoCX{tn`|QHuFW$T;a%R6EEY)8_H$1ZX%3pN-Zbl<3;f-ksJ?c{ z@h73m`8u%QUb5^ z>A;u8H8FyKga>wJi=Wi#%CAxy;TLHIYvtDeJxBQi<*lCwUbIfG2ZGjJ=tW{{k28!_ z%Bvb4zFa|8T20+l^ZD&|>qW4qGf~V8;CEKGqZn8+x6>kIVqHFW*OWu5cN5gHK`QUjKtx=WG8-P9XxN0GMaEaJ2X#vLxaIh;XM)Qw4gYg@8(3g-3m zq12Z>nyhpY#DckZ^_gM5HL+UJMSphg>nsNrvKUF(?4sN@22w_t0`?bc-GUAYaFoF9 z7htydd*gy~Xg8%M1frWj#jQ->e>`j4$z^B6`sp5nf7)VKQq79FY` zCuC9`NGgrXzS(=Q@ZvrbZ!)54q00;Ei&$tnd{$LA_2`$ai9@jLRK{S$$P|~tvpMkn z#LA7X{ZTB1J<}Ye$pM8$YW^qbOK)1Zd-e)p>*rYqK+PQgrMV7ovU z>!?^`cf%le2;bK@>Khzsy@Iu0n})uyh5^VmC2xKvV2(2xXiWat0NcWl-&{K+WrI3K zy?Zt_^o-Is#J}4DXEX`LZWRw(3i53Q4dV(cP4}_lhU0sD9__AUajO%Dw#cRWNz8e0 z+M}s|yoS_29zJzNi#1_DVNVgZUF!9_-9Wcel-}ADki_WvHKx79Fslz=i)2~%X zB?!IU(@+@(#+8{4^-i}vZVe9i9jYVQ6oiUCo>0WsvrCly+C}F3C#lg8x#P(_ z*@J3*G=f$ZJdhs8zRO%vLvK|$>YT3ME(Y;Ra@b07@!LP?CCx17ilm1(l`Lnp(>{2A zpG-Y3q9o-1B7sHq2n{uw(ETlYQ&2}qfAo%^?O;>?dV(`yKFW0l3Yifd(KO#?f8szD zLoP_@2Grj*qhRB_7Y9};vL3&G;=aeRsf{aPP>mt3RTsm>M)H1?<9)?j)-+3FX3=T} zp{Sq1|Lq0vnj?a-sjy)kO}Vl~M)Vob2?U4@iq-@gw{FU<4cfjJ4>`HA6Qg3=wLdBk&*nbTl?f;qZ;b5H0hK^J-es zP}*fKzt4U^bK*uK&*MDBtHX=riqqK}24O)k^G`ofqq5>T6PC@Yf{PDhgyF8;dn-sojxE55L4yxso>6dJ?l04 zTICG~VyB>TwGeWsX-WL{$p+Pn(%_m=?9Ru=p%Z^(jz|Sx!SG#DrksWjcG+Kg2aBEw zD;u^TK}`iR@pyT)Zds+WHWMXh9Q}YP_=451HDXvCY2Jc5T~xdjqKNQ`bX-4$9})}q zrG@6PdodSCZiV`Bk!+nYGO;ejD8T(sW+AQ7;($CuzymRpJhHYcXWYzq)B}4 z0#E2A8s$IJMqMIl-yUqef!4R(wJr@M$VbPETwc8i$k5Hx;`uMqDJ&)~Ha) z1AFF3C06!=W3{t0=D28o5z>5@%EG_WUf^=XN8I~{P$wPTzTvqJyk(EMGgBQ=HD+r}hu94j;=5H<=!joC>xLu1J6*>5wrf(sAFc z5hTJMSIboRzA!E!sQqkStz1{6WUKG$S2BsbC5QeO3eN&VUPP?1QX(ARedZ@fCjiDf zV2C4r4&Dq^&wWX7Rb$0xdk#L@AD#5rk&1EQyGaBjqDH;~nmMxWgN)ntr5xLRPzM>R23P^WhC4T!9NNCPZvTvU{%I_= z6XU_GS0x$>8n`u4%HG%PB8C3$|=OW1?P zOT!nVk_7?@qLy%mHmW}a) z&h%6sbL_<%(-|t_W_5udYlQy9ch_$Q1m$h=K{)m~!V$4l*{*Ywm;_Xx5PQ@1?}nte z@Lr6VQ3uCT!wIBEGovU3Pk8Z60((+s=N?G2QufHk1ztWtkn*XHk$kcKotrY(Ti=@= zD8WOxtlnQo;Tm#%?QymY#DQLcsDkUh*Cq==J2Q z@!g%z{u4?>c)UYha+&}Mo#4+EVdIUrYXm2$T>B%j>{{i|$lY(Odq94lSY)eevWP4HG}#eZMmVQ+=p; zu-&Z2*65e=yBC|!q?BgOquz~u{Mk`LtDYO|AK4TzoKC1X1VyR5)|1A7rUho@%9RkJ z?iaqqGWt=8#%Oh&SDQd=wL*}))1U7hzob)t4?fMjuWo58SU$$gjQcCnzQdQA=-nwDyAyr`3!@q#vgW`;7XH0 zvk*V2BiR;dsoa%7ciIn9>I=Zv-f zWpys$%iIy#HfbR+4VIyQZOUHUb*^2nk&UnrfknF45Z;mjjT#7*-?R!nU+K+z z?(ijl=d!bw-52FzD*QFF)(j!Cc<|;zo42MhLMn>x!BBGLY8weBHh6}XuLpLaN+@6) z)-@yH<-BPz^qnzx8HKY;9$|46Z0b>De___(fwM3=qxU1VU^HoOw3V~=V)Uw!=3098 zkr?X4=FJEG0rSbxC5^>KIMV79y8~Uy=Z)d?jq##pH%2SfzaF3K86ZVR1JjwE;`g)E zD~wavd5++6f19MtMip@t#bN#Y7UmYJhK;wpeS@qkFJs9I3ueThB2gud?9BOs57tm6 z;H^J}BHHKQx2rFFCEAdL`oL1QGpGg2tG1_c&z&%;)ve|`f*UVF=QWSq(%|d%9oLhr z8uFhv$EDElWgb`@Pf=o|2H5LbbB|G4fevPg54@LECm5J!ip>AD zp|-cgwj1PM5*sW}wk$HvpaP$Nm^H{a7o3wkzsH)lYr;w3_7nXp@yA&o|NP^g;k?Qe z%u1!~e~aq-vjCn9jw3eyUV>_}f0BRd&%krhGI>pvs&&+tP0YQb(RIHC=jMYVCglEt zvl~PCii?Q-gy3jwVMD^?de`(TSn)4%j zNNL~l+{CC`Ypc3Ia@ces3ddv+22%*$c^TRdQ6;--dW3A0PH-UBcj^i`M5 z;WWM0RY1CDy_{>#cYJNMHOU$89%c8(Q4)TQ$mJ{HoeJdH7^PNJV1~p$U3d?zHafB16C@}FGHlIN5 zs5Wba4w)+8mn4@Wa;B!+Vv)h`J-TVu8=w@=q=qNbs`nib@4m|N51NCSt=;XH1ho*9 z;_;YVum$MO!Vp_0!Q)f4$%K2g9RgFxx_C@jp=`mKe5R@=9RS4KD3Nj*;^s{~b5hL| zQE@m?1nr#^{GB>{AqZ$(4>#toChX=LgJ>V@F4T&f_oerhzX!UaS7~*red1Qs`wP{{ zx^=!oT=-98D8-pBcr5!_deKVy5}!EHzldk5)t9Yi<;>DzG5TO19AaU3VSJGOYb#`v z#ePoc(O?i`F^Nd{xbe_(LkVUFRZUjhy*@X8yNzbS|k~FrRNQcMrOFXk$8x_0C|d$FoOwPCJuQZcuAp%f4r6f)4RTD4QUxhd(Z#Ze&Ca;yjOM za%%2TF>Z)oT^~tSM9R?X`tRL@(^_3*Q>8Sh08&GUn94)2c>0WWXU5MLq8EF~zRsJ& zbj=U$rYg+@GsFP0qc)Nf7RxyoDzvdt8Bg!U!@U?xdp1?Mn!s!6Ze7hvpvav0EcFSN zL4&h=4NlI-Fz3KTQt6leA3_8%R+W;UBBn$*%zMI#6gN`3#3r0K`j=Oq`}mYzevW<| z-`9Y*ol-ZNrB}BP=^*S8*Z>JqACaT6pqV#@HqVZ9+!XdsyfYm{-=!2#=YX zLM%U9u-jCXn<%4N(%_u4xX6&;#1Hpo=s_l62=MAenCI@IwBOsx-^C+R{e3w7F;p{<8p5kH8kzl>n(S#8(j(I|dO*PX zmA_$ASouAz=d~~LLHOk1DjhusEE`={P`mkjZ%mzJhXxP%iy7$o0WQd)H8P*363U40 zC*Vw3YEbtPKrq>?0XD^p^46d5J5xIJpVBWqPS#k9Mk3WX+<|GfhK{Q&4ug5bqhE-i z82>Xd_ZzOAvFbLkZ&}6BE+EwZWa}J=~-7D9LdC^aBJzK`hB5TNS z?7=q+Hj^(_L}~%k81x#?ZEPJ|0!suCM)*Qw-qPl>zaw1F2<7vi`dNFy8SMgNe?scJ z|I(-e!un54RRVKMYTnmZy(jgsR_+*Ae`CZ{9IfXQmzNOn8;A)ZTlBDR8S+b*#Bfnpl^Iok@ z26X}4t9*c%=;T8bS%K?z2k3BX9PUvFzx!R>KG~Ts=9R8D{}Il7vgs2i;=avjh7QvL zE2If{1@j^vltaUe%?`YkOmN!zWf;#2 zGWy)(s{#-zKY4*rH!egk9#M`8z%kFae~09$Wl@D=K6EkiiAG5n`|3ke=pbWH0ZNRf z`29J8xSt0QHjh@x`EWm_OE1&7W-YqZbR(>BJD3O^&T6CejW}Lcut!9P9|n_pIxl4} zYp(XaJAHJ&Z%$V`E(QvGLt2KpgOM3F(%G1ABOwi#^RP_IT4jC=nRTdpr=WUcyp#QJ zCz3xA^U?{IcS^R%14?7d!JkgrTj!2y^tUnn@VT2GPE{hr8k!OBK?a0 zCDjwUdnq5n8<_h!vZCz>uMBN$^*8%CZ>>$31r3M`@=jbY|AS4H%jSp@WwF!{b;GN# z&N2IgaoibZGmH7Rtew@vhizTWDbK2|lS4cyro_l(jE*payC6l%AR`_A$SPNUdhZjiVAS_m=HelB_O z3S^{1^F#R$cMgh4htW8-D{#5HxyJrF`JeFHZDZUHtwRFQOKUx*XAq;{8-NKx=W-xGo#yUeF`+T?Hv;?8f;?bjqQ2F% z^P5eBY{EZq2|d!zN)Im2#3#_`{*F14)2hRFSQlN}RR@bnc63mu&7>MmL|6X0crxNS zJxSnb)rl@x4{;)51dxz8d=YYRj!uqYRR!$?0Tni^M)$MSkw8~E!)Gw#SD3oJZb3=J z1=^ML^vF(OU+a$3!b8O%CstSF5A`bSHb)}6ptyDjNly+$`97N!Z5dTrI47hIP^^0| zUt0R*c|oagLTJ;274U-5YTro=Pm$uVc{O`F`B|h{kLP{lgUDnr=KdTuzA9Rhz4Vhw zwb3g7nY&(Wy_(0FOB{?Xbz~K6q15!q{hwf_XnCQvscu659Z~dID zDmeO?6@Sj6x>nR808Ug{ti*N}k4R`})bKb={J6wLHH8mJYdq8}*x6(k`p3{d;nv8SktkG!v&9!hP%ep z%4a{vaOvRR6$rDQAFs^}GcCP|XEZh;^_^)SiPm|4)$7>G!{h=H`)(rLlgO^cX!`TZ zGLDZA8$5d5Or;hOZ(hTA%ug;ng3+JyDeP21Q8s)=%diq@ZG(G$+YT_HLakx69Hclr zQnQ|liX5gvj9_w?%EfA(l5jzbIS`?OgyC(aalB##>2LQBGg?q?{RZb!cmOJq)ymvE z7?dCtI$D8~*zU4r$%VT39;%wXza{s_gTtX5sV=NY#FdoPy0D%wj9`$4fXqt#r&`c( z93}_yh%*|`^KxXb!c*Q(^Du6yE&L`zH2^2>!SrqJgcQjDmzj(C58>Qk3z*>}jvo7c z`2|Rsbd%l2o|kEAln*@X{XOC=v*YW_e$9^|j$kk!#?m2<5CF+5E9>W&gxulDLB7jq zlY}YXgLoG`m)8Xd>@1BOpfm(>_BY0S3#eZw9sdeT{bLjGA*|n?zCI{jHF#aEVQY$E zfn_i?J%ZB znWSg0T+ML~>hk5K{6^%%l7=933qW?M^B5lO$HKVgec3xRlF9&a)GXEw&$!Gd%t;R? zRGu|{*l2sn#vLEblyMm}!p_mN9FKJd=W)YGd*jDEd}Z>&s>bvs$rbut(;&?Z1|Gjv zVtW9E0QCK57f}-@{LM|Mco6hQWb;f4pS9^&dtf$dOmFFF)E~(!?E_0p6L8fnMhkk8}W`{yi`Xh7Qd56rR@113f;SmP8Q`J zq8LOhq(Qfr1a`^p+=EkSHcv6cFvUU#VACWwHZ6DWh{gb)R-MHK1M^V% z=eE~@4lKyFK!U30wlJ*xtL%CX<0exg9!U4e*BF3G-Z5wM@VYYfyqBYaU|fch|MLXU96zEv+_!@yQ}Z_2cXEf;iZU!Whaf~48_DClsjzfo;p zS5p%AlR#5ZjI)sWtkVbB;!w05zAkk^yQD&tCL_xSHLA`+#BL+ zk78-1p?YVRdb2D6q6b*c#CCGvmiLQhi30=h;3Oi@XIik&o>=I$d**v61qC541vh!e z&!le-ZLFLAl7zQt%R)D~)7%*Lqf#J~US$Z>-KJb_i3a|l_4kh3mFpDCiyxhqwt4SQ zgF<5xSgedblkP-hJryO8G8?kNm3kcOeYQs>(Yic2-0P5sN~pLyRiOJdcTWII0zHL_ zo+0-Nzhh9)-t&@YnW)YSEF%P-su)ALgIZqfj;jdlyl<^|O zSXAePVtkD`js8O;aUf4iV)LuszsKlL2`N!)yq+?j$)Emi1_N*wwi$CNr3bof5W{IK zU5aDR$^^KFPE#UCQeI&f=Te4(?P)R*hY4xFuq_Wbf35>EB*&~uv_nhahvlg5LGmfK!L5s}AaYN+2-uQM;_a1JUFJRJj<4vSvkvP=3 z=jtzE6R~q)=arA%7YGKs1Ab*x_*EZ>(z61lf;{w<$?U7Z(q9wXFSbPCzl8}a6f;Vi z80a%e%Te{#c6$U3|JXo=L;$yrXxyBkQBV+MSR^K!IJk<=m-oqj)X;v--icM`;8-~G z%cmgABR}&^r}$yYXp$T%vtNYkGlvWrdOj+d=byFwO2i<8kK5rdI?u4(ap8?pk0S^k z1oqJHtnx1kE&pyDx^A7PR`Ie&Ku#2?-4{XxN^9-i{U6*1%GlKv#{P%hdxD|Db(@?` zhev;z9zN$#b`A?Kb@By!UXDgYKs%Ewd&Av2VyrqidH^mkvo3`;sOw3!dnvQ{iz5Qq z`yL_H3j(KBXXib;*zFBWHa5HJO}jEWS8(1_CW&BNRTu_Q3>xckeV4DN%iO^`gImfdDlIyy8aNYq0BjJb8%e>;@+rwFt^ zfm^l)@e9|U0M(S_6WbfAuAhOA% zA{Ww+)3;aEwht7SR4<5YGTup2HCrsr#}-T+`O7~@O?;E(bzvh~Yw&ki!v+HGh})fb zRM7A*MEXBPWpjrB9)+gZ)|`K(f&NeMm$v7RV_}qR89LkFrK$gv*#R>K0Lx|lQcL-_ zmf~Nya^T}XO$+fGNd9h?_piHvXn+fj*z@8hoc~H}`qx$d@dr&Q0VQj<(3)=c-*DxB z-L#Z49RTpaWpoGB|3XOlC#wBl*9>z4q_f1UaW;Yf`V;@Wv439d|Fu|Q6swFqQh}lP zR5`Uaf}?;sWoxOUE0fV;C>2Pce(@|;;tDE$BxNyDPyWAE!O?-vaS^MH7O7kH7G3=0 z8C`$cMMt(bkTY%YDbM!*@b%u&aJ}une>%}ciyqPI=%Ob?h!RAvqYcr!5QB)`qj#c4 z^xlo=j2dNhqfc~(8Ad(xdA{d)e$V=yv(CSkWp8`kd*9dfzTdC+HJ`wB44f^Do9>TUnR>uhZ2 z!s7+`PPd;P%-fFd>59Una=rGK-lyFq9r8UogtfqI`4&2SiTz~k2(Uy}mY}uL(bGc6 zL!a(~|E!ANyo#$6c?C(VD*dac9oRX}{}c7xW0CNL;5p^NI^@p(W6~+EsN;O3PETYC z7a#yDzvJ28`6H@ZPN^=SHwWjo=A4t(DK7BQPgy?*HqWo>cm52rUK9r0pqi4x1mhU* zh6VDpXz|JU*mj-}M)=E0P=29Wmh%4VGKaOPc7Mp0px83(fVX6>qOh>)|3*u(3d_zv zXsN8tn9>#2*m6X}&h`*XrgG?a{Au@0iX;q1-9E(elj?N9L~JluAe|hUu3lnp6w<5 z`iM2_=Iqmo=~Ws({e_*DAg4_CqSi+yFS=x+A`M>f@i2f%O&hV0mZp`xo!_+Lqvw4+ ze@XbzYdm0wp5w)Hnm7MGE(yQ?{}CY5v=1;B$Y=OZGQCbyDuSy5T{n93?6FylR0RWn zgvL8wUu0l_#aNe@X3rDUFRu!kb7_MA5Te7nOR0|8lAj^rbRE;=c;N|}iqT&bH$|V0yh-wQpEE$Er#?B+erk4OT;HHdArwc{8`iJM3 zM=C(8rxfw<_EI>O`I{4?BP6C`(td`s5V|+T?6KoVWUkAcE zfv1Zvo<6&9%Eg=m4f`LwtZ!MBf2?1v5&lfSoAhL|NTuEZqr6b}8IUb=^KaZ!P4p!{ zwa-=%+F_wRWP?5bSzpx0l#w-BDziN4|L~sFrw(kA7KCIwQP>l>Kg%nc^_Q=Lr8>jr` zS#Y2Ew(3f8PdR}+zxV>wy0*nV??8vsX{p(P$VYSJSYyI6nHwrS^_f3W_-3b940f5} zKAqg~n}Z17u}n($y;F~><>_{Xg;#{2+4>i(qMk7>^+?W0v&mT8U8%EqjV+$pUw=>? zE7HEejkvqLdQ_yG9BDV>{c)s_1ay)Bve=D4Qr4t1{hRoFKy#vDlSUMD_kdJ2JEclr z;jh-eXirYva((}yrRsOt!zp~Mt_G4rsr^x5Btv7qe@{n^8Y5ij)=swpR_^Im+6~Ge zISAGklqO_Dv|SNK@AJ?zFkR^4ez6rcOr-$3j%zqSGju;+Y;}~Rm+;W{K9tHFsWfQ& zaCypdeo!i6zccu!fLv17Va>-fGStgqso9_(oWK$RihVWAX0I-D^2!{WD27-f*bW;6 zf4llYZ;Z`$s{)OrX?k;CJ8c4wPs`^|SyuPw-MjVDe)3b%NQ`edBb|qf{I-UZw`!>Q z!i7;djK${eZCg^n-`5oGX|wHL{vMMqw0dTqz4?{ETKIgVORvf}x#cAYnnaH4tR+S# zFkWr_f>k9Yx~A*{x}~evq|=;i+@8vZ$R`|qxIB&f>? zO-ouQK}!rNnUi$4R5KRPltNr(_Ad^Eq$gI`j*4Gi{{*rP3q3t;+F{p{jb?NoU->-P zvomjo6jeMsS@OZhb!S~5(o%8=7jj3_Ed;E7jrJQ6`n_WBFNR4kpgKyIx!(wL&ET>9 zm}u-hZeRKK?N7||G3kX3YF8vd7J8pCPkm`2^m-}BHO(?8J$K|f<}>k#mUn73nihJG ziJ@QR`r;%w0RKe)o;gGPcmtdIPn!pqy^bFgj0hi}9tJh%$rK2{_GHh?o3r^rEvSeo z$?vm5ENO^eoLc{NJmrE<;_?wk==@NjZs2d)hbNho+g~q&Xkpcl7ALLC14X*c>nmSjg}*P7i|_9Zd;Jw^Yw9R4XiHXvPm6B)G-v%PVa zm|sKsTbl#yjCK9joaY(s*BMJf#YI@}+<|f+ z_dh#fH+O1&-^U~Ssp`FrbdL1r4;IwX{4(WhCT-_uTNWd96>G0P3;9~D)d5YzjXKQ} z`7OPkv5oEp5t>6d9C1-Fgah_!(3_1otCl>)wRO~Y*toPWA9Jzns~g0Xb&z1NTM zijS6Z2t(nTPyQx$$rt5tJe=DQx62Kf$X)#`8LAY7S^f~{J-%v7|Fg~O06ok$VZ0;S z$()Ey^Zsj}*cJQODaX;>x4+9uWDYZQmPyY({tD=ZKa6M!qubk zM@`~0PS*B*+v$R%f7-7eeR*eedN1xPc4UtJ0@8Z8X=|ZOeZ*Vj=(XwiceC7|A4~q* ziOT%o&Zlm`=mjx>1b)dH!lxwsRnx%i=I0f=t&GM#Bgd^MdkR=HwUArzC*I>I4%Gg# z`XpG;`+3DWpm`7xbeL`1t!MemwdaXH#>ATN7h6?3--6`DGZ}}$*XjdHjOf2|aP^CX zNGfhF%=N`7OXu~smhcY@yoOEjt&~2^B!qWoWVT|$&-a6?e*ZW4+4T?jS%Ld+@DtxI z;tqBo^tNYGg)D)l9d5R_vyu|^Z`bniT$Q= z(=X#UEjO@CAzf8OmS=0r(c$9gC9h%H-sSQqtNUd>%RY-Q8oXYvv`~5Q*QR+Ua(I5Y zn)qNwNa%Y>-O$TP!Qm2*4+o1_hKjcyJk98SjL5P4Aamj^be)cf<{=?;Jl!q>q#v39 zwA!uYoEB8FSGB^KQIZ<`PuGg?XXlE{I+QzU^e_bUwxf~mcA&0}RMRhgPeH0!D0Z}m zc*$~s!98hZ;PTVD#LKjOLy-8$^ql1#wcwyqT?@JB4mR=z7YMA(^{6eG7E!F5UsR=%}8luk_ru zE%?DZ?B)Mhq37+@dH3dRa;y`1-IqKO*#rjhoT(bYgPyEy=>6pR6f4je50_xH`{=F^Rlzwyp?&-B9`s&Bu1xosQ#Qf|G%XyRZV z>B*Dg{t#!m)G-QF9VbeH50wK&r~zhWEPC1oG&)^+SjKnm&Rn^14%^%Gi`jcHmGYKB zwCJK#paAljyt6cNqQh>-_lEG{v_zfBqUDJ1QF~==2KsunCr(uf(q`+H!+q3pQ=g)L z)RLs88@ef(GMyj&r;tee@4W++5uCa2(iKj50w0ou#fR9N_K&NomY?fge8=y-SUg!@ zcQa*mr|%yS#-`*jrAIz?50^VlksJ6VmaCE3Z2oFoG;~uUhiximmNYQ@_1hOONl3$S z$zxx8`0~(68ko%rmW3}8R9aob-L6a|=2h4@oymlpG?v@EboFwuuH!UxK8f!^%zDVU z3UegILz`UJj5lxA3RK!Wrob+6+Ly{f86x(V-#~}-?wh36F(SHR_@Fm_-#A9~m1>Vi z!|>D|O6jY|8#nd!g zsf*&Cb5Sy4v9>lo|5w)0{-bdUMePx~sR@Z6KK+bxHD+XDJ1VPa%s9NWqAIxjv56C+ z-^Acq&+GN6qhme*-hmn_TerZ=_PPAE9o|DEU=(Q|qrYdntj}^vp~~pUdRXCmH1qCm zUM#kDgD=d;SQPJs@Gvx`_kl8n5l=!Z&_8{pzk{-y^~7`SO`90Sj)}LwuV;EUDCLro zCyFk->cyqYRM;4Cr5FlC%9fdti49`VHKEZo1j|%3t2s{5Lg&ES_{b z;>!ijs3p1axUD3j^QB~J*L+}gieiKSM&=1&%$JR)2eG4X@y%lrx>=jXFTHVREjWgJ zmll1iq+fBY9S)_QC=qu%#we^BbTeN?4x1;Gum>kZ-weDkHs+Pxi%G~8QkU&JYbmzb zhWQ+fe++pF9YejP##c+15IN0Cyd>PEC08Yh6sp117Sl|cY#w4=%&LOP$;gOr|78}0 z=8k1cly=*-a1Ey$IkjnRumreFIkI91L_eo}DXYv_<4)C!_Z#H7cno5iYYTo!vc<63 zsHs%h>gtEUtaj}2Nv2!IO2|>nTksYSt<|O$IxF11Zts0{lvOvKT$$2rCEsja;PCbh zY_0orWQoyV1N0dBn-FF+jun&}La$87P1KV(NSeE-%w6Mx0>0}p;hmhXh0)VRe%$u= znN-@N0ts@p1YU8>In}Q{S+I#e=cupKTzD>|W~|24Pg?UG=1wlaVap_WD7eyoF^TKR ziI8!l3Mp5IoGyKoX;0n%DM}bSZv|3<2vzFSNL2^?Iv|_erKH(#OI8fhnuj6N!JlQEwl;d_Wr5O&SiZ>aHQ<{+j7wF6+49!MuIhdNeD}FdW8c z?*tE+(H8@iQ$4GnYlf;-NRxtvL&~)*S59msXNEpM8*+1$MM0?Invhu z>>u+NL(F*ewYf@6f-CDM;a3lm@kp94*1~+YCz#_jLo{C~ zr7!Mtr^ZZP^m3`bFUYIcQTWIQ8dj*Z=GJ2JHe$dpl6Lp1S+~xtXoT*I+awEcgj9%R zHuwBOlBjTdKV&c;e-$oWS4}{DJ6*8-Lq1MWc0AXa!T0+8&5uFrOvqYPN(({XcXhlCS6Ro}T%$R4FQ6z3B3h(vadnY8UOFL`eJ-{@Go zTRIgNP1V2cI@z^%w&G_ea(b5XPD*x3^=5x#M3z>r;9gsev-9aZJ7c;$k&H&N@VV?o zHJ72citJt#=k60Fn%bjyHK?!gi%d2nJ0?o??|sVX;JP?L=-3G1c*MR~0VB>T>7feW zja26x7qnx*hY##-I}jzD0j@P!K5DLpGC`)d*WJ$#f<(&q1g&wr#zIy>XB*F@-8rE=VnflynT#XtXa2Cm>+T<6C(MAlSg< zbIrXCI@90MROh>E>N0lw)~ot+Z#ep0I#+Z}Jzh7#U7OZeyLNu&B<=2225zy(bb{al zv^=Q4DnV7W@&UhB)zEC6o3Qe}wcp8YSx)Uj|6IC*Asa2664cjL*cQ zFeZfnPjw8;ARj}l)BTDB1G5sD;~d$6$@awPF!P(4)+Jhg)1xk~?;{qj)T-Qxrt z%u@>ga=_{-o~U+;S}C7*?*%!M30d~5diK0A2o=F=4_{oo#+;(Ke*oHryQ4CV7{)LX zl*0bkKeylfqJ>eAIA-HJ)(-VU$@K9YI&Q`$e|iZ6h9S~S3r>r=kpRcesY+iO$h}WB z2r?93NVQjw%NW%>4;n%BXp-bMxjzOMQ5O4}P1+jbLCGJaS4kxW&-6-l@uxd0d(O^^yB4CrS$zeM)EUpZ|M=c}>>ck5}_SoAcYtL2GB zE&HR@*o<~*wuFM0KKWh`m2URUw2|cJS|yeZD&dACf&Vg}CL3o0^Sl=?AO$98b$8E# zAEe&UxdxT9!My4L%3G*e=RBw7dK40=&`#eM@+Dd4)<52Dmy>-r)pb6VSWJxPah-u* z(aHHcS_iW^l^TSIU;XIZ_^6_-t;0*;{zDbai;#VxCO2vYW5dqlt-g-oRu4V1uu=bckq;yiGv%ry^W6ja~pce(TS=y_P%>1fkZ zijGVR>S+Tl5Nyp8f;g8x)~NZy*9gX`TLuvi$qlk=X)>@^tT-&>`KUAs&?wMvz1@BZ zc!EB%NgSb*cU&Kv!Oe0ccseRCNZptCpECaKBQCnYPBn5asht3}E;hADcsON(FT{0z zDOIi26|_J3tH9?kq|L*%XN8sL!He$Ke!l0E??n>1$}TL_8Qbok+15^&SFwh_F8~j{ zmjT|knYPLDe4SgOmy5SHfi3Z)jUfx^n&6t6qrTb!f?n**;JTy`>EbzOC~H}vnVX5t zmc)uM*wbTb^|~M8ryclPT$y&)ge8D4es-%?Q;h5bxq<3$41u&&Pw1pMliwBZLlM3x zTTFLCeAN%zCEDKFs1R{HT+zNxH6C`E>{pr;{GL{EoRo(99lbe<9O8T=WfI1w8dA0M z61tQ;AJfgQ!u>vLD)AFB#G>2$+6&WDvvSnkv zD~4({pR!q^gvbd8`8*KSVJP;2LrP@9Aa9N4Zfg0w#bLO z{feZ2E#J3dr2*}DygSdNJM432U=aVW;Jg-INGjN8O4zZcrlrJ^ zy-s7PnyF2U3GmU-(Zm7O0NH>1B-DIs|r}&1R;mwJs@nS(s_OGD6 zR~2zt9u|^1`yVo-6hOJj@)_T+3sLyAY(7gLE-0xZ9lnL_P-*ZvQqj;lm?(wSgb)w9 zSUGg8uB&J}<@k=JXRsq8 zrM>82hgof@-}_G%z%jF{oF{&aYqJ4@E7#$1_=de$`EyJOvA5;Py^`Z{$O~BC9htz`@PNCUsvm^gC>tdp7|;NntG%8?3S8wpo#heD9*FoJzP9E`CWPJJKr3L?Qa zWsxgjthWpMMLQBzRhieU|I=VmXSOWz>)FGpR;=D|VI@YuoSrFcxbxWmUzAeq!LiSz=?&d6!8{n}Jux z87Tccu)LIL>XWNXe<-y;@oMRMSJ;!E?YzN)|dc)8y zm5$@~5IOYQYRidKeA|{yV!`K-H`^ZWaw^nB+GN@K)V_#>AVtGYTR@a zRfST^y)E)DO6-U)-(t84t(^?jZ+m@wmah;6Dmd;h+Ke7ev_uS7O%N0Q(C@tryVj+` zB(hkMA^9r;NCsvV9SjHWp;bp#JPWKfU!r< zEA>vx%4p<;Z)b^W=cqG0(`xlT@ZwQ9%5eQ z>YPihtkuZ6(oRVU-wOYCpYwZC{snMLuSR@ek{bxinj|+eU{<-8q{mUyAA6%uVJKux zezZ&;8CAv%Gq`)wN9Aed%x%wfrp~u2?>%ru8VC)&mm<-ex0Vr`C>MR|{M(npm0kX@%COe__SrWsHd@k&xTcZZyQo7wz4X;^_gv^S zO%2a~bh45xTy2TrDkN7Y7yC$!_CG%dy}S3BCdrgyEkjEaRj6v~Bu0^}uKM$NVEE_F z;Q!i}{}BVif7b^67Ielm?7ya0p~0$d*G42I(aOb8{o()>->Y5H6Lj9Q|Ng%Gqs+a1 zbW4wWy$3;G9DPdBkNW@r$$txY|I;5vzJ7tdw+DS`@BXVk|Ih9J=jpyKdi&4sf$EZY z$#Z+R6aS{%CfPHRhE_A-_2Gx8uK=8{t-frve6aYKQy;FfY#cqDX{yjyRlZePa;cNz z!9_Nf{EH_!&u{Ybi)gwYHMCQBSmRH-{Fh-oijOeimC_LuUtwi(iwq{EA|E3Kzs7&s z$&=FZ{mZT1hIWcfOZ`A^AwdPtt7dSTZt)zzq;TEm?J7L(wYERSM8E8f6kO`O8`mAN zOuTz?Y76|t1-`%2f>2Dl4A?u+e7vbax7C*l6jGPIX*WIV+z}PJfVH8r0Qx!0kOB<4 z?P$30W-@$s^fA?EPWN0|+mm+EXJW&&vhl_(025Vcb{fmXZM({7rgKbrcp;Z?Ol2z2 zF~=L3j;B^v%ZlEJlTD|^S;9^z+HMOd|KxNPAnF=P{pxS5wnFWqEO+aKlL42+0Z5>u z9+H#f(**bFq-F+Q-Bf*4Kz;xvVr(5R7o9tInlI*ihito`QYsr2#+$FxA94Tfx3B6n zvEwsGP%^`>UU>3U5!8Cvt~S;W^i^4{pr)%4(3w_>d9h)g@5(eSB=aUpS*)5jh2o_PN@WUq z8gAe1*qCZ`#oJJ(uXctD#ssLmFJoD0B$o^6uk%S3gQ)#{8T(!pnrRK$F@bGy)d>d& zK(@F5L@JUp&MW?xwh)7QZ&z5k!L`ZMRe$*!-cvKzVnD&>?Os)91#jXG>y-`Cr*hUk zAkAj%8AudJ>oJtl*O7Vvwmq>dq04Ix?nb!FQc2;SZm7#*^fB(sM<-a%s8G8m|lv1D_iQPOR-i}|mi}?}r7Uq^rq~KtjI2n*piOu6**E;?S--;us_n=< z7;JV&iQJ6Lx#p(H-d#_%-;DWg-w^kIs?P;|aF}hryYg<2RoRfuPU9WAkb0@HLsFu< zqpUrIe>QKENQhU>-D+Y%BW9;xT3=QL$!Iyg7DBCj&r{DB|EVU1XppVYe$Hn-%z|e( zT^-2qr?yJp{;^ioO6eDA$IDb}5plTfz`-a`A%wG;#1MO>Z@)}CTIanBP@`_cygzN( z1N2wbGlUg#ovZ!v>n4>Ogx+{3-eT$jD1*~&HKFr^A>!Ikh)&z72DJt|odZW9#GbS2 zD2<4=_$$z^N8N&5S%zn(*sv538|M9CojP1}*~&5|3T51(qbK0G2h%+7*>PLeI5u$Y zGqhgo4!JD$J!rr}`>8;g#8_zzY8E~+kgLj%-A@GVMQqEP5TjRr%p#g#hW5KCVz--N zK&N$15V4P&bGEg;Jw#MGw(|zvmM-lZ`wJLA*caTigN3JO1S{JPC0g|_53gE6Jvy@l zv|LPAgpGdw`enG~>?erIWb*-^9(*pgo3XP#9W~6roqmP=Ne2Y_&jaUyvmoT9o zRkd-NyI`YNVvzV^L3FRG zsq*-4HbV>ybK4*sEuECj)3_Vcr4r+F3;R;hp_{1cH{^`jDg!OJr<`@}PQqb9$!2V&v|ESNq+)vpE0&-<;DS9rj7~?*_^3cVbL!8l5)F=YDn~HgKEZg zy{)U%Mm^bCg6NTN&kJ`nHT#}ERPBOT&YHPxS%8I8rOsSkLWbe-qSe*qCcx6IHmCBs z-coM4l{+&cvDl7rxp34gCQ9pnJpZT$qVGN$DmYe=&u~BbK!c{!?jGSru3|7UB-c7} z|6R&_jlz zk#{mKgZQ+UeMHx<7IeCK{d<7eX+9#6JGT{^3Z2Ws8{U9tPub7jG>++)0!kdtseCa@ z%<^@SrNvkQ1o6`&qC>u8)0BC%A?q29<+a8X*|{!+^Cv$vH=YRoA%8a5HcG}$tK1&M%=;ueCu+MmTz%Xa(*-Hor!+T;>0+Mg{qYu z>yejoV)ZNBd=&ym9d~)q^&DwF?uMLIjCH0{`CatsESmbqURe*(JpA1#ougz$-Pl6w zn8o2Bos_U5I!2adJM*Zpp)MId1Rjq1Tx@Z&2@Jwk3S09@9M68}nfeXW`E4?ljwrDO zs<12|olGRH$PJyI=fu#7FAy}J(CF~|06DWo&5dRAO?Uk`_k5@thCeP)1-VV(GM6x2 zT8YU)(RI0-hgFtdSXk7I!i>_U)TJS+Qf!o)A>G06g{M306?IZZ$U}NWIx#8^yU>#^*s2s zQ%mxD|0<&lAa=fd7tYbPn^`w5HLsc+V$pdUG#ZGr??|*1;4Eag0+u~qE!f_^-?8j) z25u+#nraM_f6~S!!Jp%OEnpo6s~|WmcJ2^@p0yov5uW$c9;Ino2zdDAa*G@dw*d>b z@||WttNWfa@XCB#XwK}?k7kdK{g*+%oOAb_KW;syWcA#e7C_|sw&LF1W}r_eS2#2( zA+;);k13ra1n8|N(Kkyi--gMG?+80an)1KzPMsI4>Mvk-@X(AmVyHiFu0XCPtPGKZ zii`n<$#fttKC#2*z56;@{MG!LW@Zm$|5o}k2p`2USf;rYyzbbI9QODIz6+9XFjZZT zBWLZ>HFDT>j5Fjef6;8plz2no(bd2C>uQUBl<>wm{^^chsj9ElU#;TV856>w(jrYk z7b0%g8HIG5yM_g8754?s1K~m5rsV?Xq!QZkM#qLCanz<)=}2oOe6%=fb+q@U74pzC z@1#wKibPP0IU|0tHG;#xv!>FehOb4mBPJe;|Gl#;Rc7a!ZikSNL>>7*Hsdq66g z*8+rm$Lz|#?L+R;cv^xN>DHX+r}dn#j=}4{Yy@wn2AHL*_RHHJ=9Y6t8bH5&L(UZt z4_l%Bq{WTO%QH;vEgm+H3x5xB`x%SaLs_a5%zkM_DSj~a?-MCCuH^K5-4ZeB(nAOv zhQ{$EIMcb5sgjr3x8+|bU_Kv;|Fq2ong8B=WLjL|d)EGeLOrT*T;}3=(=Lh_Aa;WSQg!0xe7}YDXh{rT^nU>&gL1<(*QQvE?Rcd z;-uf8Z7tEscb`}M;4D5l?L3+Y4QW5Y<3h676EyEif(-JnR;h>IYM$aKpJWrv%m1WE zZ?t+1Q1UG<;?{M5!CaR#T^|=ayfn5V$~XA)->{TBTXoaMLi7DH=Zq0Xk71JqHr4i{ z4(D(#dkrfV4Cb5r_!;zBQ~SR@$LP)-UCmonO&QOM!sU8#b=o~|hIQVB8ED|dT;FrV zhERFW8laKgtjiM_;W!$ux1yAso5af4YS_+c{1iKP>xT;TJ2lwY4)Y zdsps5un(7fHR}d^MEYv_Tn>{1zx9|p@9*0F9&|2rwcp_D>K}AC?NgvLx2uLZIU%u} z`I_lG>+`0qQE@j-TgCKNaNHC0*{#y`Pl!$W{fEx8h0EfpwCuv70_UoY3A8G`sphZgM!26p2i|mW3nd(@@=HWd#qGD z;6MEhii;lxS;#laMKrkBW;I9R!qUmwj_H;rTxWX?2JGzt<3xBt3! zT~Vh==@Y^aySs62$4f-P>?@%FTJ~J#hw{1htz{HXF$8`N`quY%ichzVj!NZz*dwB} zf0+1q0(G9#yHDqpvY5q(BEuq{TERt6t&>7HJ!Q8FH=wwR-Ib7jyW$=NL`gzku4F(qs|DovQ&;6rEyrc-*0b~>DzrR9doxX z1(V(iyTG00vP|q@{#d@g)Ek~AQMbB@QxmWGu6@&deyg=bgCzf{-UK3Ufxp-nSSN%c zC4l2~&D#y$=aE&?UT}ltG6G?abFc^6;HMSO=!*ZjvKiVJ1VHpA6NjOdJJa{k$ zdzj^84ewnMZ3Y%Q_na2U(iPmqA46{ad=ODVo;5x$y%JLgb*h&pAxX3_X+UAsmG_Do znGZuLJN|AV0l~?Gt2Q&H`m!^hat$2#mpE}{(^&BFpXQIswn%Hu-h3{`9J6@ZUCBy? zhzg^GyEWj2Yz!DhI0S|U(KRUJk<%Yj;p-;}@X4x^53d*UyiZ|f8FqM;TmBZ7cd@SU zC?#Uh!#E$DB#NzYsaEh}Os)<)!cI=8rIroQ_ErwB*J7^QeU7sYwtiM!=lR;?_*?uE zuv$0+jBwQ+*Y!q4I?P>plb@$(T(NBdqO_WFHV+mhPcw2%X1*l#jV0E8raZvrLQCm@ zyTtU*^PeNO6cVZ-O0-l{n_p!7rjTuMa1QtzoWlYItOwoCZwST-Y{5S(9_m(+-N)q;Ouyq@OohM)>JDV2Vgib5l^It%PG|j99lL;nFiNam)ma(73dQj z6?5@pd>|f6;8(<>(g|xzd*AmJnB=I}rn0@3`060Pk%_4V?O977V2@?GdqQt<;i%?a ziDcULAEWOO5$mGVaeE}1jT44l{ZCQ3t5VmP)Zr0st}hHL1y@BNE2JNBcwk`rJ#@vn zgUPG>)!f^@)X-G#I2oCd{SL&THQaB}YCEg_uQ~nicFSf5Ob~&Kbm&sOmqSOzNYm$u zhTk0)tKW?k1^%fqZBOaNZYEkX0Vt)h4P=*Ol45(O12ai7@Nqpn$I*)dG%9Lma#oHj zNV%n(-a{MaWFk@WdvjFMS;)BTWvylY=sM08(RNcIYE98{W+``w0LI^fi`4j2^R3$t zZ^7bJO&b%^cHdda_)>$?+7Ug+TDSU+DexuU)@&GK>{LjW4!Gr{8n*DM2Ne_v=wA1- zq5_o-Eov`~ydYL<-KXK8?KcGuq_B=T{#v;fc8=nOgn) zb_W^3ak{_y`>RtjQ1sRg6}ddbKc6j)pjAs4V(s0$htI~?C8iax zo~(auAjdiUB336$C+nDJn!)ic=7~)Ej=aHeH}#6O8Tfc@AQ(81F5kCA4N^{!yB?r@ zQ38tKW_S8A@oLRy1&{UVtbmd3#ZxKwB8hdUr{+ZCnbt|rY5I^^Q9(>-2{DYnK=wij z2h_2HIay05pj;;<_pXAV8(W$!#ioi!`9ebkp*zML+5v0?`T`avT{sU`| zun;=%c(zES57fs6X^!K`&*sf*uP5JyqkR@?zRRe5!Sv&wfNLG{zFb=Uh@-0B53JHZ zp5hC@4itLKnWEHwy?OvpzI}*>t6Y6#k}?-NK1b2_$FX28WHXW2ImVezAGa5gOMXZ4 zG*&s&jE_U&RylKdTzf*T(g`;bll8S;(?azh%_J%KgirQMtZ#N3F&U(D=Q0hu#pmWp zTpV7xxb|#)>xfgts+wY*6XLo#FvkqcyGx>Q;!aWJ0ymmKID z1@}vdL5{A=9&9t%)?!1_px^q$C?iJR^bbpgc!p)?VxWN(WWCoh7zum+3rdV`*yI$jH28;6wGN1u*M%LfGt zRTk-+t&M)eX93)T>t}Q`L9qNhakqtwjm)FDlb+Pv4g@xL-h0tw;{+b`+NrEMK;4hK zoJ}?5oXqi++}En-~U0i;z2o_3hyIJY>Oz`HzL{C~rCkOyIN^>E{%e)`t{je5|qX)w!ol(M29VV45_{ z%4yc5DE6@E@w;a2V>WCC;1Zp;3PE1l@VjR2eEn)DE9DOvW!NI2{BjA^LqX`X@Z-HG z)|E=hqqL_B)#f`Lm4d`sWJ|O%7iJDMs8}8_Kl9i-Rs9#c2{F|kLFi{7o+~52%XyZL z;&zg28wy@8XQHN#r(|}-7Z;`666tYo6TVTkF*3eNca;|IQp`rVVx3ImQ)E1%^GWlg--;GD_fv zK7Fcs5bigdoiJ4T@mr=0LpLZ=T<9#G<2N{^69TbFPM{GO&jt6(itR+E^;m6$fiXz} zg&NAVr<0RBNs3ce0Dx}Ivr53JBYD0W%+A3yF*Rgl%@5$2uw}`!0TOFZBi^C`7X=p?7GfH~P)%yWtiDxtnSVEkU-ziS3)T z!t3VC!JHg;g!Vha>c(t-_|&2`{pE>bIpYx^8hi>gmrDQQhbIgxPgZT>_LkEG7|TEp zFyf%>+2o85*_o1|5K=6bc`30%WEQwWDn^Bfx&$iwWP;~r z*wp)6wO*6po2j|fK?G6>(ri}C`I6Qf!g&QYR}21X&2RqDvfR>Jw81K0fsXA;pXmfd zyBk_N`s@&_FKqsjAe6+nSS_LBgWYtw>2->ZSceF8-!sq;#{{S-TH@0}eFV{ZUP#{P zEWNcQKMbms!ToXWFSlo{iB$aY` z|6?Q%y-IzpupCFJ@|vy8>`7I%z`-w8U+*rl_jo6{yi|N#^`rOzNWNbfdNj;#wz7ya zXqu^zrFS9LYfB~TcmRfcqKxC9soaU&&5XoPe0_;a#vkr~ow%Q#p#5yot<4+RI9x;$ z_X1}XpRLT{>+oVNi-AIS^fMV{na@@88~6)aJdxEe`XYTEh(z2sb#fUP$tUaq@Ww7r$MS5!R!u@7BoHMotE>a1+FE~ zk5~77y7RD*j(2!WV>$=b5M$Ej{al_rxPfvaNHqFraF{JzY$|%-*y~?=Sg`l78i0j+ z>Vkmh;uY>;Eyn;DnTYl-waR@f)*1O~JXG4}!dtk)&ks3UVIw+h-(*T#3FNt|;pw$Q z3e0azD*mexM;KtM($uCSQ&EFVSSom@Xvh=j?Muu}aQVz>VBZ~jJ@hdgc;Frzf|g!i zzb~+!Eam}!pA_|8c_UAefxg(1>abGZ${e%)Yzv7>c4%(1Wf?!EzQarJnG;WQHqD7) zgbx3N$Y2|ejt~F5weL4HcVo*>D%2;f0E{bvbB&f{=||2l5BCO{Vei^k@k#NhE^=Dv z+_iWH_nUj7B(^&&`$~o1L%f5Zj^1E*wO*Ay*_6A)(|3%3;LB2Ve}n|FI&`z%>jz&- zTEVdZr)Y`|z`UL9dtQ0j^D-ATo7jGF`*$**lJP^f2W>avoFR!Sl5Ja@fR$rvdxgdi z5obqlUKnB(%M_l$!{*cbIvFI%VnqAIUB&Q3n*hG?!*MBjvhgQBWGVy>aoZ2x^u&Zb zkYluveH5&kp#NjT;u~BzbJmhIq;I~V_J|z#zP=YC%^^{Z+qFxO=MR1Fh!UWMww-uU z>~XQtV+GL;8N_@nYvOZsDGj$=oSGt2`46mV+eVsw^mHMYDU*mO>88esA8WGY(s@F- zd9A^wvKN&fR~3h1^v+y)SYM+j zo;Fdm{K{+D2WK>_U8%?Kp@KxA>zGgK-{SKm`Jt|Y&37kn{B3<9BoZ2;-w!4$ycvlX zgx;%)YN%EdJEKHvI@WPIf!W*K4!#IHL64ay%oxWqbjn6-Fmht2v;$AfZuR> zNs~PAkRnk+@1vwqHG}ZLQC%aa$~UpE_Fr_NiQFT4L#BhniyFNXM2p^g?>)L1y^S*JU&91m}mx`A*Oiiq`cYbdPjE0!4H!}pF^#0Q5RA{sz~s@v`a#}yZGwT zlol`4Pz;<3kKx0aHcF}s4bJA1^ z{=TRK_uF9}xVU}aHcCRIQ|@^;Im)kVJrrBS4hx-3J>U#pX+|zb8G{a&i_hY=2)nZF z5I;svWp=>dVtshwr~+BrMOPZrqd1NNQnMa^!EbvGKn;Tp*~WI2>TMDsxh zG*=QsR;z>5iH`8Q6Xsu`HXIGWGb;$38+pNP3KD(e42Fm1xGN!^S7sPaQbZxcAq( z_#IAp*0v%tgpk<0GJsd+gD(5hc2ZI5JTivD2F}JH-DvRpQAxm*u(jtQm{R<$fHvUK zWd!wERtXO()ss<6HL)J2s|a6>oP2rug~V`TlR4TJHmx%f{jU?tVlsZZTFjhe0NIR z>}y_rfV;dEaCjIr1fVJznB^19pKyTjf1Kj;to%N9wZymGM7YbjuM%@9zJQWusiXWI z0=~$69~1Gcf7Pl{vjp`K>Vhf&*sN2cVaXe(4 zSM?3-mYTf=+s^~#keYc5`S)#UO{1&Mjv1pAq7jPKZR0=)4*9$r`fhew?qLDJ`-GPQ zDDBPn>B5(VA;HEWLCQo;>D`j~#OoO)B}B|rd(bfjs_TB?Ks$_kIW_b&qY<366Ww<) zkErAZaHbMPF!g+U`50a5JS zq1{`(zjp?|4?LsUrn0W<6V@)#o6T?y-vRY_qG=F5y=I&Garmp%NEXKdU8?`-0}6Nr$MeK8bxVI zVF22vxseeY^9SZ9$0yv_=RPbE;&$r7N;XB%;YQK}K35F7uDH2-mg}LCke?x&S;kOE zd1qL>QnR(lx#jLx6HFadcN*qA7t%et&WVtY<8Z-VB8xp{l~n_2*0i18r6gKWF@=&m z0J;bgrXol*Qc!!um^K5kC+dz!2J6j01y+9E4Q|PM`iSls#rXNhP3^pejK*lRWcgIU zKz#1_TD`)!s3Eim=S!(&kClGRT{uzM2N%{bkX0>s;5$Nu%Q%z~iZa5k{gb^mHxcZ9 zLjetdCW-DA3HU2>hak(>@$pL0kg-7Drg#B(b~fqCs3juWvV1y@ecH%gzUok~z|dnv zG+-sWipuquLDW=nWj-MlSB6BTMtuPyY|)!ZR;nQ@!<~V9cM`05m#(56d&M!^&BoWplx#)| zwI3^b;R6MMbnZWQqRV8r{j6mtyhTs0%&)XaPJ+#^go(9W=1om0?D`@q*N9$g%!xBA zq`lxmISoe2P^WC~Rjz#~v&;#_`{RkJ9EET~Wl(p{Ug&a#tRSaQBVtz{<8$ZN3;t|t zXe``|m$=aDY3Y9zsQt*6BU=0CYoX6AO@kk*I=XQNjJpgo7_eYoc5thGg0H_lwWxav z)Dy!g8Nq(x+2ZLdANV+XQAgdCiM#E8=k83%Z^+7C+NmxN;SJUAUQ_QF;z_z+{XfXN z|KRfO+*AkN@eUdNiw^uxl<(h8$R>u}Em1$4Wr=(BZ>5F*_JV)D{pZ_znaF~-ONN#I z_wW8u=KBvyu>S_NQ@;`jW(>vRh5!BBEJWUU7i>hePdWeh(;{zDrLiqxh7WHB^S___ z(G7L@=pL7J$p3oUybIiS>zeB}Sz7J?{cqiT>i_@Yn`HAMJ_0NcCRPm1l+j`7GSFw! z!GzePx6w>tLpPX)u4P%iw!@HgzQJn8|9(;vJa4a5Bwp8aZ)DaGJh_GsQB-5CSj6py z{1`S~?^KX?Yv5toQ$M>#la+-+Qfx9mL0*?b_)lN=hEkuTK`kp3R`me0eR>!&rG}tiu}h9UWkjh)FQi@My?Bh}f4y z;ohFdlEKkluL_UY+~CK2RX1n4GVto~r=!UD*eZRw3agt>_}Bld)R8zr$RXT(u2y_6 z@#?TAT`J=`l0l43CuyQ)e`tN!dh<{2BSnVk+9H>QtS%S`A{Y_2S+E+AY?*y%O|5+8 zd~BN3Gt`6<)*7(KLJr8FC%)vtt=Lgl=R5Z$3;|vlgEM45_Pg?$4v)EC9&`}ikKZpZ zo{yyf?1J6e%zsI7M1b=wcb#{gF3Adbhk<~i{x&mUT@1b+wv=gngo(|IL%;ELqQVs7 zCi}mtc)cr)ah5(C)WWaEBy-+|4DT3kEXw) zb~7e+BUWwiynf;b6m|L`B*kLxVY;WO>#AH&*$W<*CxZNYyDkf<&$xhvjkqbU7k2PGhR3`cX%N$OPUG8*?1UhS zAM;*pAENoGl0&#&Pp8yOE6Yyi9>&EZ>}-~PT4<=wh><>cY1ev3(n z*>3++O(KDy)}o$0bR8bvu*a<=Dms_q3ZDH8cAK?Wa7EkzkR=M^Rnr0K6X; zr(#l(0>~z`RGGkh;iR!b#d=&aR$Z}eoHiQ`Xg(d2Pdu;Fx2_n{$ZqG*tNqh>f@;XI zo_~|$d3g@!*ZzEoZO&DJDQ-w``k+?~q!eodW4~k$7Py?0BBsFCqs|bW-6@vA@H$L! z99@I}WS@D(eCPnWL|Bwec2Ya{is!h8JxiPwyS%7yQzFBeaKmzXF@5@SY8`Hht=PKm z1oXmnt9&wWelQuGWxfEWsX(V$9ZTL5@p4)7*ygF8Ef!98=~VyR?l(e)PIb2A-1|L1 z+8MO&A9G~F>w%({tkrv8=sqYz7slNZEDXc0eGR58%8GAD>Op2Kx{2Vk__|%BG13TF zZ@+w0SYDN`)n|^mLJk11u%!Tha^;-XCuvDE#DpxYh7#QpLGWm5zZtVoSl-VD|8|Mu zE|Asc$Ub~%CG6Rr>ofldTa;bH7e@8OtCPNHhu3UKARQv0qUWN)Gg}RluJBf(0O%B& z|A<@94-mNctMG20*%WT&Xc)!Fu04|07P_sZn-U_1z7qGMB2RR0W6GiRT)ft411U4Xd6B(n8yhY2nyfBLo^6hd+#;yiaf zh{+P;8%pAj#Uv+56Ua5Vj*m!t9eC$R&TO|^9Q6GzD9%JL$(0uCL)?li2Eqi#Fd1~* z;cAvZQkP9QqIK0H;p=3u)T?5~5OS_Dt|#|i26|MDzBy`4JYH8Pv1bbl42oV8UF$F-Wk$#mrL`QwXJKBb z8HlEn5%xCv`#8~M@B@3%uku^+97-gfH%MXfi(GnG2v9PKi=H=fv36ju0<9m=#b~@v z?>1T-W7PsdjhWSQwvG2bU)$xvZfx`kQqUT4xGrbMJAuD6T~^;PwlC1l{Igb??!rEx zY!Cs}RdaPo>|LF2ts^5x8#ng-WIC@4S-VWj(7T|agnV=jxwik#)fJ}hg~jw(Gj70~ z(O@Yg+>=|q8`#a${a!9^`bUFNcQ|i!=lsa7Q7;R2)3Y1rJe3B=PO937VPyQAb>vef zBtqmuc|NMODP2yiYFW~#kP}pG_ogqo`WkvH^uhz=waVEs;|*?mLehm!wrMg_o*T1C zE^dlLwLDB$#79;oGi{h(#C7Kir0RA1RSLbsH3Q9CrqM&m>upx;u#CM)M_@NjS@on{ zux(0%`FXddu_2e0L~3F~E8zHAg=hamKM?t{1*@fz?Cu;@KK<2EGn;x@6SV-NQ>x7I|0Y`&CMR&;F zeTo6S;=Eq7H{os`t5v$jgY(~8pc=DJ`qn_JgUNy=Um}_aSxzq2#z&^iiglyq$%B(@ zO1}pPpM*LD8_l+j%Vir3^sA63JlolE08G5X@p)gnPX9I=Q&-iw3vBUHJ*n} z)q5WWQbf~Sw-XZ&$ThWpZi|*Z7(4#t@>>}LyYkkpR085RpM>+6K(@Ece0Is(In`#O zNL|OKxd-)0DtD+KR*SSh>FAA61#(MlGZN3aq8oCbM*pHeDCj z0+;WI9Nh=AURF)!9%!KrNO222gICl@EqT`u>6%@LWkWO{fh$fF#VeCB5#-EjNTHmm z0By9CbE2og0R4vrRr}V38kx1XL0EUv*Tk~@soDLpB@I-HYd>Xn|8T;~N3KoGA*b?V z(`ZBq`U`J7M+qaQaM#E%KUEe)27Y#OitSPFF{QAWV}LM@5FpTe47>0+Y1SWqU2u6n zamDZ4oatLitvM9D!#!=6goQ@8!i^3dIZ9r8C!R+GA$;G}u~lm(QaA}^PT$Bv zPdPhtt=~ZZ5eOT~^Sy#EXC=_{<@RZE4cyG~RCG&XA)Mf?9CJ(_M6sp6N}+H^uDXC7 zv*xc8X+@EYBLll#ZeD90A?rq&6Xr7Iw?@l3GO=i~<%6 zvxXcUJQi~F9k1%z$cBZk4Lg#%=3QpH=A33fS20CBjNgJ5)O6QnTo1t|%OqZ;vX^Xr zrLDiV9^aeElFP19=J*vZcIF5X4)-4(x_h2&9p|ndF);KeaE}+urex z+X!=yK^1q*A#>o?;nwm9WxJ%{{LHk7>*A+;8=kVfA6>x#VrxI|4nkZOi?!;h$c?^_ z)v8E397hHYP`sr|w%irmjGN_eV&~eoTyQh;tGiAU9;`1v^xABGfV%iGU8M;!4-mZy za@$?sI3^Hn(|6x`LO`<;O#z}cc=s^dVA$s0JY#Qkq5R6>VoQfJKXCA^9*LqaLQJPq zU3hN9Vfq~{OVF*TkQ3M?Yo)b0cGig1M}5fnAAOXDy;jFfpa(?IzO7vjcgOG_oiY&q z_79csCD0Jpav#zOr zb=6u4^kz0KCO@m`&#;1m_cmkZSVcz@R%gS5mA1yq5}w`n`bYM&dll1Z?TeU#?9V-lpH8?NKS1A0k}1KL zWr9t9Q%$>scd=gjxQ2?M7u*T}2@4ipC`yyHZ-4{rWZ+fiH{SU7*GaEEL*3T9%=l*N z4d?N~C^2H9Q{)AaWm${-HjPLh{eck1@n3dj*|QvFD4$ZlSPFqRz~Zv*ZFj&~g}0U= z1+2$XN3K2{2Hq+A!!6L6y!Tp~7JModbCopDKse7{?m_CXAVuQ@^tq6DV0gm#!M=(Q zb?BtN)xl-p9naoU2j0$UbF1d2=L^K`lT0MSK?IzD-dFqYF%Ka017Ssf4!tWOs}`%> zVU6WXP$p}rMEQQbr{MNeDUU_0OpXTd-DU4S&4l}c0)rzhHby(lu+OCp>AvIDe|b9| zi9fFwCHK*hO@XmbVVz$XqT*+NIltuO({^k4<dk@jdI3Qsd046Tf-MTpEkkRd^^!xcvNz@V2VSx#9C^qLiSb*6KgT(3Sp5z;v#W7KW3hfh1x5`)Nxd_yqexwFKhRtpq3jyum~C|a3Q|0q(- zXJBf1n-0cslT&FMumZ38(8>6cfWGcSIF+4Xdl9+R+{Sp0c>+p#IwaXJAk4) zg-f-K*AuS<1kAE_8X8wkYK)6&2xxhUcKKmyS29Z9Adc0BnpZU9UY_RbM!bP-+$hP~ zJ`t63wTp;dPDGz9G@-@vma%hAl>>Hv-S1RK3)mT+7YfIC@om4`sR53~GjlPH=NZPB zdOI-kHpMGksYR`VFGTAPE~b_D&R_)7d@SFS7aTopb%jeVwYSgDCPOLP8#s@*V)E5e zmAiN92NdB6S>b=WV%OE?;Drc*{y6JT08)yE->`Vr~HGXx>C66ZEc<5FNj zZx#28j}|s#XQF^ySn$}5lzlX9-24n*`)pEn?c{7Dt;pJLN_19wiSd@T+r*Q!O2`AW zUJ$ZI41+JaXcxFUB)n1|!X7Q>YqOUQ1w~euPhj0p|@AOKQA{w zX9w~NZW+_PSf^#j=zFfKL!6g9G25eP(ru$!{*4bAe71xG(sfg8k;S)e2?ol(6aRQT zZv4zYysR$NC^XBEzF0eRQ$m|f!y@qv7n$r_qLw>Dkl0MMVo@`vQEUsK`e)$55`G8- zmiGVtB_dxi8)(#hug6cQoZw!J0^Iy(RJwA52^C#ZVckEZV5h+$u3T1zq#vRoC2_q| zye5OfE2WZyaVuB-r~O*Jcs_b8d^qBDn^Ei~(O_v^Ke)8@vqO=;vqMk9-o^$i9<;

=;r>DCWNWK%;NClj85JwFBD43oNjs9O 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 { assert.strictEqual(fetchMock.mock.calls.length, 1); }); }); - - describe("other methods", () => { - test("should throw error in browser environment", async () => { - const client = new MediaLit({ apiKey: mockApiKey }); - mockBrowserGlobals(); - - const methods = [ - () => client.delete("test-id"), - () => client.get("test-id"), - () => client.list(), - () => client.getStats(), - () => client.getSettings(), - () => client.updateSettings({ useWebP: true }), - ]; - - for (const method of methods) { - await assert.rejects( - method, - /MediaLit SDK is only meant to be used in a server-side Node.js environment/, - ); - } - - cleanupBrowserGlobals(); - }); - - // ... existing tests for other methods ... - }); }); diff --git a/packages/models/src/constants.ts b/packages/models/src/constants.ts index 5a364de8..a4d0c1d9 100644 --- a/packages/models/src/constants.ts +++ b/packages/models/src/constants.ts @@ -10,3 +10,7 @@ export const AccessControl = { PRIVATE: "private", PUBLIC: "public", } as const; +export const PathKey = { + PRIVATE: "i", + PUBLIC: "p", +} as const; diff --git a/packages/models/src/index.ts b/packages/models/src/index.ts index 647e4446..17e5797b 100644 --- a/packages/models/src/index.ts +++ b/packages/models/src/index.ts @@ -10,3 +10,4 @@ export type { MediaWithUserId } from "./media-schema"; export type { SubscriptionStatus } from "./subscription-status"; export * from "./utils"; export * from "./access-control"; +export * from "./path-key"; diff --git a/packages/models/src/path-key.ts b/packages/models/src/path-key.ts new file mode 100644 index 00000000..2ae6e790 --- /dev/null +++ b/packages/models/src/path-key.ts @@ -0,0 +1,3 @@ +import { PathKey } from "./constants"; + +export type PathKey = (typeof PathKey)[keyof typeof PathKey]; diff --git a/packages/scripts/.env.example b/packages/scripts/.env.example new file mode 100644 index 00000000..fb0bd539 --- /dev/null +++ b/packages/scripts/.env.example @@ -0,0 +1,18 @@ +# Source bucket to migrate FROM (Required) +SOURCE_BUCKET_NAME=existing-bucket-name + +# Destination buckets (Required) +CLOUD_BUCKET_NAME=new-private-bucket-name +CLOUD_PUBLIC_BUCKET_NAME=new-public-bucket-name + +# AWS / S3 Credentials (Required) +CLOUD_KEY=your-access-key +CLOUD_SECRET=your-secret-key +CLOUD_REGION=us-east-1 +CLOUD_ENDPOINT=https://s3.amazonaws.com + +# Database Connection (Required) +DB_CONNECTION_STRING=mongodb://localhost/medialit + +# Others +PATH_PREFIX=medialit-service diff --git a/packages/scripts/package.json b/packages/scripts/package.json new file mode 100644 index 00000000..0e1323d4 --- /dev/null +++ b/packages/scripts/package.json @@ -0,0 +1,19 @@ +{ + "name": "@medialit/scripts", + "version": "0.0.1", + "private": true, + "scripts": { + "migrate:dual_bucket_architecture": "ts-node src/migrate-to-dual-buckets.ts" + }, + "dependencies": { + "@aws-sdk/client-s3": "^3.0.0", + "@medialit/models": "workspace:*", + "dotenv": "^16.0.0", + "mongoose": "^8.0.0" + }, + "devDependencies": { + "ts-node": "^10.9.1", + "typescript": "^5.0.0", + "@types/node": "^20.0.0" + } +} \ No newline at end of file diff --git a/packages/scripts/src/migrate-to-dual-buckets.ts b/packages/scripts/src/migrate-to-dual-buckets.ts new file mode 100644 index 00000000..0148b98e --- /dev/null +++ b/packages/scripts/src/migrate-to-dual-buckets.ts @@ -0,0 +1,232 @@ +/** + * This script migrates the media files from the old bucket structure to the new dual-bucket architecture. + * + * It copies the files from the source bucket to the new private and public buckets. + */ + +import dotenv from "dotenv"; +import path from "path"; +import mongoose from "mongoose"; +import { + S3Client, + CopyObjectCommand, + HeadObjectCommand, +} from "@aws-sdk/client-s3"; +import { MediaSchema, Constants, PathKey } from "@medialit/models"; + +// Load environment variables from local .env config +dotenv.config({ path: path.resolve(__dirname, "../.env") }); + +const MediaModel = mongoose.model("Media", MediaSchema); + +const SOURCE_BUCKET = process.env.SOURCE_BUCKET_NAME; +const PRIVATE_BUCKET = process.env.CLOUD_BUCKET_NAME; +const PUBLIC_BUCKET = process.env.CLOUD_PUBLIC_BUCKET_NAME; +const REGION = process.env.CLOUD_REGION; +const CLOUD_KEY = process.env.CLOUD_KEY; +const CLOUD_SECRET = process.env.CLOUD_SECRET; +const CLOUD_ENDPOINT = process.env.CLOUD_ENDPOINT; +const PATH_PREFIX = process.env.PATH_PREFIX; +const DB_CONNECTION_STRING = process.env.DB_CONNECTION_STRING; + +// Check for dry-run flag +const isDryRun = process.argv.includes("--dry-run"); + +const usage = ` +Usage: + pnpm migrate:dual_bucket_architecture [flags] + +Flags: + --dry-run Simulate the migration without copying files. + +Required Environment Variables: + SOURCE_BUCKET_NAME Name of the source bucket. + CLOUD_BUCKET_NAME Name of the destination private bucket. + CLOUD_PUBLIC_BUCKET_NAME Name of the destination public bucket. + DB_CONNECTION_STRING MongoDB connection string. + CLOUD_KEY, CLOUD_SECRET AWS/S3 credentials. + CLOUD_REGION, CLOUD_ENDPOINT AWS/S3 configuration. +`; + +if ( + !SOURCE_BUCKET || + !PRIVATE_BUCKET || + !PUBLIC_BUCKET || + !CLOUD_KEY || + !CLOUD_SECRET || + !CLOUD_ENDPOINT || + !DB_CONNECTION_STRING +) { + console.error("❌ Error: Missing required environment variables."); + console.error(usage); + process.exit(1); +} + +const s3Client = new S3Client({ + region: REGION, + endpoint: CLOUD_ENDPOINT, + credentials: { + accessKeyId: CLOUD_KEY!, + secretAccessKey: CLOUD_SECRET!, + }, + forcePathStyle: true, // Often needed for non-AWS S3 +}); + +// New key generator (using i/p) +function generateDestKey({ + mediaId, + path: pathKey, + filename, +}: { + mediaId: string; + path: PathKey; + filename: string; +}) { + return `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}${pathKey}/${mediaId}/${filename}`; +} + +// Old key generator (using private/public) +function generateSourceKey({ + mediaId, + filename, + access, +}: { + mediaId: string; + filename: string; + access: string; +}) { + const pathKey = access === "private" ? "private" : "public"; + return `${PATH_PREFIX ? `${PATH_PREFIX}/` : ""}${pathKey}/${mediaId}/${filename}`; +} + +async function copyFile( + sourceKey: string, + destinationBucket: string, + destinationKey: string, +) { + const filename = path.basename(sourceKey); + if (isDryRun) { + console.log(` ├── 📄 ${filename}`); + console.log(` FROM: ${sourceKey}`); + console.log(` TO: ${destinationKey} (đŸĒŖ ${destinationBucket})`); + return; + } + + try { + // Check if source exists + try { + await s3Client.send( + new HeadObjectCommand({ + Bucket: SOURCE_BUCKET!, + Key: sourceKey, + }), + ); + } catch (e: any) { + if (e.name === "NotFound") { + console.log(` ├── â­ī¸ [SKIP] Source not found: ${filename}`); + return; + } + throw e; + } + + // Copy + // Note: CopyObjectCommand input requires CopySource to be URL encoded "Bucket/Key" + const copySource = encodeURI(`${SOURCE_BUCKET!}/${sourceKey}`); + + await s3Client.send( + new CopyObjectCommand({ + Bucket: destinationBucket, + CopySource: copySource, + Key: destinationKey, + }), + ); + console.log(` ├── ✅ [OK] Copied ${filename}`); + } catch (error: any) { + console.error( + ` ├── ❌ [ERROR] Failed to copy ${filename}: ${error.message}`, + ); + } +} + +async function migrate() { + console.log("🚀 Starting migration..."); + console.log("🔌 Connecting to Database..."); + await mongoose.connect(DB_CONNECTION_STRING!); + console.log("✅ Connected to Database."); + + if (isDryRun) { + console.log("âš ī¸ DRY RUN MODE ENABLED - NO CHANGES WILL BE MADE"); + } + + console.log(`â„šī¸ Source Bucket: ${SOURCE_BUCKET}`); + console.log(`â„šī¸ Target Private: ${PRIVATE_BUCKET}`); + console.log(`â„šī¸ Target Public: ${PUBLIC_BUCKET}`); + + const cursor = MediaModel.find({ temp: { $ne: true } }).cursor(); // Iterate non-temp media + + let processed = 0; + for ( + let mediaWait = await cursor.next(); + mediaWait != null; + mediaWait = await cursor.next() + ) { + const media = mediaWait as any; + processed++; + if (processed % 100 === 0) + console.log(`âŗ Processed ${processed} records...`); + + const icon = media.accessControl === "private" ? "🔒" : "🌍"; + console.log(`${icon} Media: ${media.mediaId}`); + + const fileExtension = path.extname(media.fileName).replace(".", ""); + + // 1. Thumbnails + if (media.thumbnailGenerated) { + const oldKey = generateSourceKey({ + mediaId: media.mediaId, + filename: "thumb.webp", + access: "public", + }); + + const newKey = generateDestKey({ + mediaId: media.mediaId, + path: Constants.PathKey.PUBLIC, + filename: "thumb.webp", + }); + + await copyFile(oldKey, PUBLIC_BUCKET!, newKey); + } + + // 2. Main File + const mainFilename = `main.${fileExtension}`; + const oldMainKey = generateSourceKey({ + mediaId: media.mediaId, + filename: mainFilename, + access: media.accessControl, + }); + + if (media.accessControl !== "private") { + const newMainKey = generateDestKey({ + mediaId: media.mediaId, + path: Constants.PathKey.PUBLIC, + filename: mainFilename, + }); + await copyFile(oldMainKey, PUBLIC_BUCKET!, newMainKey); + } else { + const newMainKey = generateDestKey({ + mediaId: media.mediaId, + path: Constants.PathKey.PRIVATE, + filename: mainFilename, + }); + await copyFile(oldMainKey, PRIVATE_BUCKET!, newMainKey); + } + } + + console.log("✨ Migration completed."); + process.exit(0); +} + +migrate().catch((err) => { + console.error(err); + process.exit(1); +}); diff --git a/packages/scripts/tsconfig.json b/packages/scripts/tsconfig.json new file mode 100644 index 00000000..4fe11501 --- /dev/null +++ b/packages/scripts/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + "types": [ + "node" + ] + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules", + "dist" + ] +} \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2fbc9a2c..396ac9a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -423,6 +423,31 @@ importers: specifier: ^5.2.2 version: 5.8.3 + packages/scripts: + dependencies: + '@aws-sdk/client-s3': + specifier: ^3.0.0 + version: 3.922.0 + '@medialit/models': + specifier: workspace:* + version: link:../models + dotenv: + specifier: ^16.0.0 + version: 16.6.1 + mongoose: + specifier: ^8.0.0 + version: 8.19.3 + devDependencies: + '@types/node': + specifier: ^20.0.0 + version: 20.10.6 + ts-node: + specifier: ^10.9.1 + version: 10.9.2(@types/node@20.10.6)(typescript@5.9.3) + typescript: + specifier: ^5.0.0 + version: 5.9.3 + packages/thumbnail: devDependencies: '@types/node': @@ -3645,6 +3670,10 @@ packages: resolution: {integrity: sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==} deprecated: Use your platform's native DOMException instead + dotenv@16.6.1: + resolution: {integrity: sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==} + engines: {node: '>=12'} + dotenv@17.2.3: resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} engines: {node: '>=12'} @@ -11364,6 +11393,8 @@ snapshots: dependencies: webidl-conversions: 4.0.2 + dotenv@16.6.1: {} + dotenv@17.2.3: {} dunder-proto@1.0.1: @@ -15804,6 +15835,24 @@ snapshots: yn: 3.1.1 optional: true + ts-node@10.9.2(@types/node@20.10.6)(typescript@5.9.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.10.6 + acorn: 8.14.1 + acorn-walk: 8.3.4 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.9.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + ts-node@10.9.2(@types/node@22.14.1)(typescript@5.9.3): dependencies: '@cspotcode/source-map-support': 0.8.1 From 70887948172e496ff5f82671629b931b02da89f7 Mon Sep 17 00:00:00 2001 From: Rajat Date: Mon, 2 Feb 2026 12:12:31 +0530 Subject: [PATCH 09/12] feat: Standardize API error responses to `{ error: message }` and refine `sealMedia` behavior with specific status codes. --- ...05-migrate-to-dual-bucket-architecture.js} | 0 apps/api/src/media/handlers.ts | 23 +++++++++++-------- apps/api/src/media/service.ts | 2 +- apps/api/src/media/utils/get-public-urls.ts | 2 +- docs/prds/dual-bucket-architecture.md | 16 ++++++------- packages/medialit/src/index.ts | 14 +++++------ 6 files changed, 30 insertions(+), 27 deletions(-) rename .migrations/{0005-migrate-to-dual-bucket-architecture.js => 00005-migrate-to-dual-bucket-architecture.js} (100%) diff --git a/.migrations/0005-migrate-to-dual-bucket-architecture.js b/.migrations/00005-migrate-to-dual-bucket-architecture.js similarity index 100% rename from .migrations/0005-migrate-to-dual-bucket-architecture.js rename to .migrations/00005-migrate-to-dual-bucket-architecture.js diff --git a/apps/api/src/media/handlers.ts b/apps/api/src/media/handlers.ts index 2c385d7e..79659776 100644 --- a/apps/api/src/media/handlers.ts +++ b/apps/api/src/media/handlers.ts @@ -75,7 +75,7 @@ export async function uploadMedia( return res.status(200).json(media); } catch (err: any) { logger.error({ err }, err.message); - res.status(500).json({ error: err.message }); + return res.status(500).json({ error: err.message }); } } @@ -111,7 +111,7 @@ export async function getMedia( return res.status(200).json(result); } catch (err: any) { logger.error({ err }, err.message); - return res.status(500).json(err.message); + return res.status(500).json({ error: err.message }); } } @@ -123,7 +123,7 @@ export async function getMediaCount(req: any, res: any) { const totalMediaFiles = await getCount({ userId, apikey }); return res.status(200).json({ count: totalMediaFiles }); } catch (err: any) { - return res.status(500).json(err.message); + return res.status(500).json({ error: err.message }); } } @@ -140,7 +140,7 @@ export async function getTotalSpaceOccupied(req: any, res: any) { : maxStorageAllowedNotSubscribed, }); } catch (err: any) { - return res.status(500).json(err.message); + return res.status(500).json({ error: err.message }); } } @@ -160,7 +160,7 @@ export async function getMediaDetails(req: any, res: any) { return res.status(200).json(media); } catch (err: any) { logger.error({ err }, err.message); - return res.status(500).json(err.message); + return res.status(500).json({ error: err.message }); } } @@ -177,7 +177,7 @@ export async function deleteMedia(req: any, res: any) { return res.status(200).json({ message: SUCCESS }); } catch (err: any) { logger.error({ err }, err.message); - return res.status(500).json(err.message); + return res.status(500).json({ error: err.message }); } } @@ -199,12 +199,15 @@ export async function sealMedia(req: any, res: any) { return res.status(200).json(mediaDetails); } catch (err: any) { - logger.error({ err }, err.message); const statusCode = - err.message === "Media not found" || - err.message === "Media is already sealed" + err.message === "Media not found" ? 404 - : 500; + : err.message === "Media is already sealed" + ? 409 + : 500; + if (statusCode === 500) { + logger.error({ err }, err.message); + } return res.status(statusCode).json({ error: err.message }); } } diff --git a/apps/api/src/media/service.ts b/apps/api/src/media/service.ts index 11aede2b..e697cbf2 100644 --- a/apps/api/src/media/service.ts +++ b/apps/api/src/media/service.ts @@ -372,7 +372,7 @@ async function sealMedia({ } if (!media.temp) { - throw new Error("Media is already sealed"); + return media; } const fileExtension = path.extname(media.fileName).replace(".", ""); diff --git a/apps/api/src/media/utils/get-public-urls.ts b/apps/api/src/media/utils/get-public-urls.ts index a672e808..4392952a 100644 --- a/apps/api/src/media/utils/get-public-urls.ts +++ b/apps/api/src/media/utils/get-public-urls.ts @@ -4,7 +4,7 @@ import { CLOUD_ENDPOINT, PATH_PREFIX, CLOUD_ENDPOINT_PUBLIC, -} from "@/config/constants"; +} from "../../config/constants"; import { Constants, Media } from "@medialit/models"; const prefix = PATH_PREFIX ? `${PATH_PREFIX}/` : ""; diff --git a/docs/prds/dual-bucket-architecture.md b/docs/prds/dual-bucket-architecture.md index 42582ab0..495ed100 100644 --- a/docs/prds/dual-bucket-architecture.md +++ b/docs/prds/dual-bucket-architecture.md @@ -105,7 +105,7 @@ s3://public-bucket/ - `CLOUD_REGION` - Region (if applicable) - `CLOUD_KEY` - Access key ID - `CLOUD_SECRET` - Secret access key -- `CLOUD_PREFIX` - Optional prefix (if needed for multi-tenant) +- `PATH_PREFIX` - Optional prefix (if needed for multi-tenant) **Note**: Both buckets MUST use the same credentials and endpoint. Different credentials/endpoints per bucket are out of scope for v1. @@ -130,7 +130,7 @@ s3://public-bucket/ **Implementation:** - `putObject()` uses `CLOUD_BUCKET_NAME` -- Key generation: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` (if prefix exists) +- Key generation: `{PATH_PREFIX}/{mediaId}/main.{ext}` (if prefix exists) --- @@ -164,8 +164,8 @@ s3://public-bucket/ **Key Generation:** -- Source: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` in private bucket -- Destination: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` in public bucket (for public) or same private bucket (for private) +- Source: `{PATH_PREFIX}/{mediaId}/main.{ext}` in private bucket +- Destination: `{PATH_PREFIX}/{mediaId}/main.{ext}` in public bucket (for public) or same private bucket (for private) --- @@ -184,7 +184,7 @@ s3://public-bucket/ **Implementation:** - `deleteFolder()` operates on private bucket only -- Prefix: `{CLOUD_PREFIX}/{mediaId}/` (if prefix exists) +- Prefix: `{PATH_PREFIX}/{mediaId}/` (if prefix exists) --- @@ -196,7 +196,7 @@ s3://public-bucket/ - Source: Private bucket - Method: Generate signed URL using S3 presigner or CDN signer -- Key: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` or `{CLOUD_PREFIX}/{mediaId}/thumb.webp` +- Key: `{PATH_PREFIX}/{mediaId}/main.{ext}` or `{PATH_PREFIX}/{mediaId}/thumb.webp` **Implementation:** @@ -215,13 +215,13 @@ const url = await getS3SignedUrl(s3Client, command); - Source: Public bucket - Method: Direct HTTP URL or CDN URL -- Key: `{CLOUD_PREFIX}/{mediaId}/main.{ext}` or `{CLOUD_PREFIX}/{mediaId}/thumb.webp` +- Key: `{PATH_PREFIX}/{mediaId}/main.{ext}` or `{PATH_PREFIX}/{mediaId}/thumb.webp` **Implementation:** ```typescript // For public bucket -const url = `${PUBLIC_ENDPOINT}/${key}`; // or `${CLOUDFRONT_ENDPOINT}/${key}` +const url = `${PUBLIC_ENDPOINT}/${key}`; // or `${CDN_ENDPOINT}/${key}` ``` --- diff --git a/packages/medialit/src/index.ts b/packages/medialit/src/index.ts index b32a0e46..43cd8ffe 100644 --- a/packages/medialit/src/index.ts +++ b/packages/medialit/src/index.ts @@ -95,7 +95,7 @@ export class MediaLit { if (!response.ok) { const error = await response.json(); - throw new Error(error.message || "Upload failed"); + throw new Error(error.error || "Upload failed"); } return response.json(); @@ -115,7 +115,7 @@ export class MediaLit { if (!response.ok) { const error = await response.json(); - throw new Error(error.message || "Deletion failed"); + throw new Error(error.error || "Deletion failed"); } } @@ -130,7 +130,7 @@ export class MediaLit { if (!response.ok) { const error = await response.json(); - throw new Error(error.message || "Failed to seal media"); + throw new Error(error.error || "Failed to seal media"); } return response.json(); @@ -147,7 +147,7 @@ export class MediaLit { if (!response.ok) { const error = await response.json(); - throw new Error(error.message || "Failed to get media"); + throw new Error(error.error || "Failed to get media"); } return response.json(); @@ -179,7 +179,7 @@ export class MediaLit { if (!response.ok) { const error = await response.json(); - throw new Error(error.message || "Failed to list media"); + throw new Error(error.error || "Failed to list media"); } return response.json(); @@ -220,7 +220,7 @@ export class MediaLit { if (!response.ok) { const error = await response.json(); - throw new Error(error.message || "Failed to get count"); + throw new Error(error.error || "Failed to get count"); } const result = await response.json(); @@ -238,7 +238,7 @@ export class MediaLit { if (!response.ok) { const error = await response.json(); - throw new Error(error.message || "Failed to get stats"); + throw new Error(error.error || "Failed to get stats"); } return response.json(); From c07af6169532f5bd91d4b59bc2331e9e53237b16 Mon Sep 17 00:00:00 2001 From: Rajat Date: Mon, 2 Feb 2026 16:03:13 +0530 Subject: [PATCH 10/12] Node version updated --- apps/api/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/api/Dockerfile b/apps/api/Dockerfile index 0a1c869b..321f1418 100644 --- a/apps/api/Dockerfile +++ b/apps/api/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20-slim AS base +FROM node:24-slim AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" RUN corepack enable From 2e18d2b73f4a5dab26e65c0b374bf9ac87fd86a6 Mon Sep 17 00:00:00 2001 From: Rajat Date: Wed, 4 Feb 2026 00:25:11 +0530 Subject: [PATCH 11/12] medialit changeset --- .changeset/two-sites-bow.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/two-sites-bow.md diff --git a/.changeset/two-sites-bow.md b/.changeset/two-sites-bow.md new file mode 100644 index 00000000..9f19c427 --- /dev/null +++ b/.changeset/two-sites-bow.md @@ -0,0 +1,5 @@ +--- +"medialit": minor +--- + +Uploads are temporary by default From aa1d5098aaf0c8bbea379e651dbc76beb912e763 Mon Sep 17 00:00:00 2001 From: Rajat Date: Wed, 4 Feb 2026 11:38:19 +0530 Subject: [PATCH 12/12] Added migration doc --- apps/docs/content/docs/meta.json | 3 +- .../migrate-to-dual-bucket-architecture.mdx | 49 +++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 apps/docs/content/docs/migrate-to-dual-bucket-architecture.mdx diff --git a/apps/docs/content/docs/meta.json b/apps/docs/content/docs/meta.json index ef1fe06d..157d1a73 100644 --- a/apps/docs/content/docs/meta.json +++ b/apps/docs/content/docs/meta.json @@ -11,6 +11,7 @@ "rest-api", "---Resources---", "self-hosting", + "migrate-to-dual-bucket-architecture", "faqs" ] -} +} \ No newline at end of file diff --git a/apps/docs/content/docs/migrate-to-dual-bucket-architecture.mdx b/apps/docs/content/docs/migrate-to-dual-bucket-architecture.mdx new file mode 100644 index 00000000..be5bbda3 --- /dev/null +++ b/apps/docs/content/docs/migrate-to-dual-bucket-architecture.mdx @@ -0,0 +1,49 @@ +--- +title: Migrate to dual bucket architecture +description: Learn how to migrate from single bucket to dual bucket architecture +--- + +In order to make MediaLit truly vendor agnostic, we decided to move from a single bucket architecture to a dual bucket architecture. + +This is based on our years of learning from running MediaLit in production and all the community feedback we have received over the years. + +## Why dual bucket architecture? + +This makes the architecture portable across cloud providers. We discovered that providers like Backblaze B2 does not support hosting both private and public files in the same bucket. + +## How to migrate to dual bucket architecture? + +1. Create new buckets as detailed in [Self hosting](/self-hosting) section. + +2. Copy data from the old bucket to the new bucket. To do this, you will have to checkout MediaLit's Git [repo](https://github.com/codelitdev/medialit), then do the following in the terminal + +```sh +cd +pnpm i +pnpm --filter @medialit/scripts migrate:dual_bucket_architecture --dry-run # To see the changes without actually performing those +pnpm --filter @medialit/scripts migrate:dual_bucket_architecture +``` +3. Upgrade the MediaLit DB by running the following migration, by logging into your MediaLit's database and copy pasting the content of the file. + +`.migrations/00005-migrate-to-dual-bucket-architecture` + +4. Update .env file for the MediaLit API container. + +```sh +CLOUD_BUCKET_NAME=your-private-bucket +CLOUD_PUBLIC_BUCKET_NAME=your-public-bucket +PATH_PREFIX=bucket-folder-to-place-the-files-in # This is optional +CDN_ENDPOINT=endpoint + +# Optional, if using Cloudfront +ACCESS_PRIVATE_BUCKET_VIA_CLOUDFRONT=true +CLOUDFRONT_KEY_PAIR_ID=key +CLOUDFRONT_PRIVATE_KEY=priv-key +``` + +5. Re-deploy the MediaLit API container. +``` +docker compose pull +docker compose down +docker compose up -d +``` \ No newline at end of file

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 Kr78vM(EkI{N!oP) literal 0 HcmV?d00001 diff --git a/apps/docs/public/cloudflare-public-bucket-config.png b/apps/docs/public/cloudflare-public-bucket-config.png new file mode 100644 index 0000000000000000000000000000000000000000..43c5c6f797c78f31282dded1131347d82ff24ad7 GIT binary patch literal 116188 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�Q$Yi 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�XPe(Ime8p#*srk`5>^ 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 aexPv}wuUjUXLF;$KLuG;nWBqkLH`54`;_Yd literal 0 HcmV?d00001 diff --git a/apps/docs/public/serve-public-private-buckets-via-cdn.png b/apps/docs/public/serve-public-private-buckets-via-cdn.png new file mode 100644 index 0000000000000000000000000000000000000000..3f99345e049c0d59296cb041135bc79c06384e22 GIT binary patch literal 72262 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