diff --git a/package.json b/package.json index 585f7c7..8b4445b 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "@apollo/client": "^3.6.9", "@apollographql/graphql-playground-html": "^1.6.24", "@auth0/auth0-react": "^1.0.0", + "@aws-sdk/client-s3": "^3.178.0", "@chakra-ui/icons": "^1.0.4", "@chakra-ui/react": "^1.6.0", "@chakra-ui/theme-tools": "^1.0.3", diff --git a/pages/api/readFromArchive.js b/pages/api/readFromArchive.js new file mode 100644 index 0000000..96098f8 --- /dev/null +++ b/pages/api/readFromArchive.js @@ -0,0 +1,97 @@ +/** + * /api/readFromArchive reads a file from our images.neopets.com archive. + * + * Parameters: + * - url: The original canonical URL of the image, + * e.g. "https://images.neopets.com/items/acbg_virtupets.gif". + * + * One might wonder, why have this proxy at all? Why not just use the storage + * service's own lil HTTP server? My main reason is to have one more lil + * gate to control access, if it turns out someone tries to burn our egress + * costs and we need to shut them off! And just in general, I don't like + * relying on "public ACL" default behavior, it's scary :p + * + * For *actual* sharing of the whole archive, we'd want to like, put a .zip + * file somewhere for people to download, from a service optimized for large + * downloads. + * + * We don't check the incoming request very closely, because like, anything in + * the archive bucket *is* meant to be read, there aren't secrets in it. And + * this endpoint doesn't have any dangerous permissions, just endpoints for the + * bucket. So even if someone did something clever with a URL to trick us into + * loading the "wrong" thing, I don't see what they'd even *want*, y'know? + */ +const beeline = require("honeycomb-beeline")({ + writeKey: process.env["HONEYCOMB_WRITE_KEY"], + dataset: + process.env["NODE_ENV"] === "production" + ? "Dress to Impress (2020)" + : "Dress to Impress (2020, dev)", + serviceName: "impress-2020-gql-server", +}); +import { GetObjectCommand, S3Client } from "@aws-sdk/client-s3"; + +async function handle(req, res) { + const { url } = req.query; + + let parsedUrl; + try { + parsedUrl = new URL(url); + } catch (error) { + res.end(`Error parsing URL parameter: ${error.message}`); + return; + } + + // An archive key is like: "images.neopets.com/cp/data/1/2/3/atlas.png?v=123". + // So basically, just the host, path, and query string; no protocol or hash. + // (Most archive keys don't have a query string, but some do! And don't + // worry, `parsedUrl.search` will just be empty if there's no query string.) + const archiveKey = `${parsedUrl.host}${parsedUrl.pathname}${parsedUrl.search}`; + let archiveRes; + try { + archiveRes = await fetchFromArchive(archiveKey); + } catch (error) { + if (error.Code === "NoSuchKey") { + res.status(404); + res.end(); + } + + res.end(`Error loading file from archive: ${error.message}`); + return; + } + + // Send a long-term cache header, like images.neopets.com does! We assume + // that, if they change an asset, they'll change the query string to bust the + // cache, and so we'll get to see that change in the updated archive too. + res.setHeader("Cache-Control", "public, max-age=31536000, immutable"); + res.setHeader("Content-Type", archiveRes.ContentType); + res.send(archiveRes.Body); +} + +async function fetchFromArchive(archiveKey) { + const storage = new S3Client({ + region: process.env.ARCHIVE_STORAGE_REGION, + endpoint: `https://${process.env.ARCHIVE_STORAGE_HOST}`, + credentials: { + accessKeyId: process.env.ARCHIVE_STORAGE_READ_ACCESS_KEY, + secretAccessKey: process.env.ARCHIVE_STORAGE_READ_SECRET_KEY, + }, + }); + + const res = await storage.send( + new GetObjectCommand({ + Bucket: process.env.ARCHIVE_STORAGE_BUCKET, + Key: archiveKey, + }) + ); + return res; +} + +async function handleWithBeeline(req, res) { + beeline.withTrace( + { name: "api/readFromArchive", operation_name: "api/readFromArchive" }, + () => handle(req, res) + ); +} + +export default handleWithBeeline; diff --git a/yarn.lock b/yarn.lock index b32fcff..d73c0b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -98,6 +98,889 @@ promise-polyfill "^8.1.3" unfetch "^4.1.0" +"@aws-crypto/crc32@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32/-/crc32-2.0.0.tgz#4ad432a3c03ec3087c5540ff6e41e6565d2dc153" + integrity sha512-TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/crc32c@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz#4235336ef78f169f6a05248906703b9b78da676e" + integrity sha512-vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/ie11-detection@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz#9c39f4a5558196636031a933ec1b4792de959d6a" + integrity sha512-5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/sha1-browser@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz#71e735df20ea1d38f59259c4b1a2e00ca74a0eea" + integrity sha512-3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-browser@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz#741c9024df55ec59b51e5b1f5d806a4852699fb5" + integrity sha512-rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A== + dependencies: + "@aws-crypto/ie11-detection" "^2.0.0" + "@aws-crypto/sha256-js" "^2.0.0" + "@aws-crypto/supports-web-crypto" "^2.0.0" + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + "@aws-sdk/util-locate-window" "^3.0.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz#f1f936039bdebd0b9e2dd834d65afdc2aac4efcb" + integrity sha512-VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig== + dependencies: + "@aws-crypto/util" "^2.0.0" + "@aws-sdk/types" "^3.1.0" + tslib "^1.11.1" + +"@aws-crypto/sha256-js@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-2.0.2.tgz#c81e5d378b8a74ff1671b58632779986e50f4c99" + integrity sha512-iXLdKH19qPmIC73fVCrHWCSYjN/sxaAvZ3jNNyw6FclmHyjLKg0f69WlC9KTnyElxCR5MO9SKaG00VwlJwyAkQ== + dependencies: + "@aws-crypto/util" "^2.0.2" + "@aws-sdk/types" "^3.110.0" + tslib "^1.11.1" + +"@aws-crypto/supports-web-crypto@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz#9f02aafad8789cac9c0ab5faaebb1ab8aa841338" + integrity sha512-6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ== + dependencies: + tslib "^1.11.1" + +"@aws-crypto/util@^2.0.0", "@aws-crypto/util@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-2.0.2.tgz#adf5ff5dfbc7713082f897f1d01e551ce0edb9c0" + integrity sha512-Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA== + dependencies: + "@aws-sdk/types" "^3.110.0" + "@aws-sdk/util-utf8-browser" "^3.0.0" + tslib "^1.11.1" + +"@aws-sdk/abort-controller@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.178.0.tgz#fd189d62a689add822c3f40b2827f887639f015c" + integrity sha512-ptDkCB06BJrYdhKzamM9yI15LxcGkPczY80hzKAY/aecm09alnW27uCt5HJJx2nCd18IUH28ZO1sc7DTLOWb3A== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/chunked-blob-reader-native@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.170.0.tgz#a277f4aec88246c6de69d4f15e5fd5e262f0ac6b" + integrity sha512-haJ7fdWaOgAM4trw2LBd1VIvRFzMMPz2jy9mu4rE+z1uHbPZHNMGytBo1FJO2DShzUCmJZi3t3CD/7aE3H38+w== + dependencies: + "@aws-sdk/util-base64-browser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/chunked-blob-reader@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.170.0.tgz#059fd50c8ed7ddc9219f483258ec3a0cab6ca699" + integrity sha512-73Fy1u9zR9ZMC59QobuCWg3LoYfcrFsrP8569vvqtlGqPuQUW+RW3gfx0omIDmxaSg8qq8REPLJFrAGfeL7VtQ== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/client-s3@^3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-s3/-/client-s3-3.178.0.tgz#c77e06e10dca7627e75aba28b062701aa9563a09" + integrity sha512-MyVmDj/eR/n5b8SRWKHK/U4c4HEppW+9uqaTLdYYlz9RpFyc3Pw1dWbwdvT65+Eb/ZOy4VkWPxzL+SAibvoFpw== + dependencies: + "@aws-crypto/sha1-browser" "2.0.0" + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/client-sts" "3.178.0" + "@aws-sdk/config-resolver" "3.178.0" + "@aws-sdk/credential-provider-node" "3.178.0" + "@aws-sdk/eventstream-serde-browser" "3.178.0" + "@aws-sdk/eventstream-serde-config-resolver" "3.178.0" + "@aws-sdk/eventstream-serde-node" "3.178.0" + "@aws-sdk/fetch-http-handler" "3.178.0" + "@aws-sdk/hash-blob-browser" "3.178.0" + "@aws-sdk/hash-node" "3.178.0" + "@aws-sdk/hash-stream-node" "3.178.0" + "@aws-sdk/invalid-dependency" "3.178.0" + "@aws-sdk/md5-js" "3.178.0" + "@aws-sdk/middleware-bucket-endpoint" "3.178.0" + "@aws-sdk/middleware-content-length" "3.178.0" + "@aws-sdk/middleware-expect-continue" "3.178.0" + "@aws-sdk/middleware-flexible-checksums" "3.178.0" + "@aws-sdk/middleware-host-header" "3.178.0" + "@aws-sdk/middleware-location-constraint" "3.178.0" + "@aws-sdk/middleware-logger" "3.178.0" + "@aws-sdk/middleware-recursion-detection" "3.178.0" + "@aws-sdk/middleware-retry" "3.178.0" + "@aws-sdk/middleware-sdk-s3" "3.178.0" + "@aws-sdk/middleware-serde" "3.178.0" + "@aws-sdk/middleware-signing" "3.178.0" + "@aws-sdk/middleware-ssec" "3.178.0" + "@aws-sdk/middleware-stack" "3.178.0" + "@aws-sdk/middleware-user-agent" "3.178.0" + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/node-http-handler" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/signature-v4-multi-region" "3.178.0" + "@aws-sdk/smithy-client" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/url-parser" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + "@aws-sdk/util-base64-node" "3.170.0" + "@aws-sdk/util-body-length-browser" "3.170.0" + "@aws-sdk/util-body-length-node" "3.170.0" + "@aws-sdk/util-defaults-mode-browser" "3.178.0" + "@aws-sdk/util-defaults-mode-node" "3.178.0" + "@aws-sdk/util-stream-browser" "3.178.0" + "@aws-sdk/util-stream-node" "3.178.0" + "@aws-sdk/util-user-agent-browser" "3.178.0" + "@aws-sdk/util-user-agent-node" "3.178.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + "@aws-sdk/util-utf8-node" "3.170.0" + "@aws-sdk/util-waiter" "3.178.0" + "@aws-sdk/xml-builder" "3.170.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.3.1" + +"@aws-sdk/client-sso@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.178.0.tgz#69bfabe6610bce46ce05834d3d59ebe24996d3ef" + integrity sha512-3y7+/eD7VgByUu6IXIT0ICBNVJiDdkCKsck18OUzankICQsCsEg7RGeOlhdHkKBmDqGDJEJMuTWnGJQo1IVsgw== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.178.0" + "@aws-sdk/fetch-http-handler" "3.178.0" + "@aws-sdk/hash-node" "3.178.0" + "@aws-sdk/invalid-dependency" "3.178.0" + "@aws-sdk/middleware-content-length" "3.178.0" + "@aws-sdk/middleware-host-header" "3.178.0" + "@aws-sdk/middleware-logger" "3.178.0" + "@aws-sdk/middleware-recursion-detection" "3.178.0" + "@aws-sdk/middleware-retry" "3.178.0" + "@aws-sdk/middleware-serde" "3.178.0" + "@aws-sdk/middleware-stack" "3.178.0" + "@aws-sdk/middleware-user-agent" "3.178.0" + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/node-http-handler" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/smithy-client" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/url-parser" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + "@aws-sdk/util-base64-node" "3.170.0" + "@aws-sdk/util-body-length-browser" "3.170.0" + "@aws-sdk/util-body-length-node" "3.170.0" + "@aws-sdk/util-defaults-mode-browser" "3.178.0" + "@aws-sdk/util-defaults-mode-node" "3.178.0" + "@aws-sdk/util-user-agent-browser" "3.178.0" + "@aws-sdk/util-user-agent-node" "3.178.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + "@aws-sdk/util-utf8-node" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/client-sts@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.178.0.tgz#a26bbb48185f1edebec0313dcb9c3f2b81dd3e86" + integrity sha512-r7LNxDhNpXmXxenHUcPROgwgpZLIuL3b8qWbRISp98YjT34G/MsxGseC8mhEPjuqcdc96xh+I2fknJ4JmeUKag== + dependencies: + "@aws-crypto/sha256-browser" "2.0.0" + "@aws-crypto/sha256-js" "2.0.0" + "@aws-sdk/config-resolver" "3.178.0" + "@aws-sdk/credential-provider-node" "3.178.0" + "@aws-sdk/fetch-http-handler" "3.178.0" + "@aws-sdk/hash-node" "3.178.0" + "@aws-sdk/invalid-dependency" "3.178.0" + "@aws-sdk/middleware-content-length" "3.178.0" + "@aws-sdk/middleware-host-header" "3.178.0" + "@aws-sdk/middleware-logger" "3.178.0" + "@aws-sdk/middleware-recursion-detection" "3.178.0" + "@aws-sdk/middleware-retry" "3.178.0" + "@aws-sdk/middleware-sdk-sts" "3.178.0" + "@aws-sdk/middleware-serde" "3.178.0" + "@aws-sdk/middleware-signing" "3.178.0" + "@aws-sdk/middleware-stack" "3.178.0" + "@aws-sdk/middleware-user-agent" "3.178.0" + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/node-http-handler" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/smithy-client" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/url-parser" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + "@aws-sdk/util-base64-node" "3.170.0" + "@aws-sdk/util-body-length-browser" "3.170.0" + "@aws-sdk/util-body-length-node" "3.170.0" + "@aws-sdk/util-defaults-mode-browser" "3.178.0" + "@aws-sdk/util-defaults-mode-node" "3.178.0" + "@aws-sdk/util-user-agent-browser" "3.178.0" + "@aws-sdk/util-user-agent-node" "3.178.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + "@aws-sdk/util-utf8-node" "3.170.0" + entities "2.2.0" + fast-xml-parser "3.19.0" + tslib "^2.3.1" + +"@aws-sdk/config-resolver@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.178.0.tgz#83a66f79bc1c25450b0ab4dffe48288dfb3df3bb" + integrity sha512-8xL98TGMaVULIN7HRWV2q1o0Y2p38QuweehzM8yXCZrrLOyHgWo3waP2RNVeddOB7MrSwwU/gw9rXSv7YHLZ6w== + dependencies: + "@aws-sdk/signature-v4" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-config-provider" "3.170.0" + "@aws-sdk/util-middleware" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-env@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.178.0.tgz#0f497bb9924eef70b070bc9c6acb0a7c55d6114d" + integrity sha512-5CMswTJ188RuK9TmI5yAosIsyu4Mm9Cdq1068tRls5EqqwGK1PI7Q007b6rD7zqCb5IgeFBV0t2DxHkBmHRd3w== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-imds@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.178.0.tgz#e1ecb0df813e4f6c25deaa9e8266682ede6fdb8e" + integrity sha512-ZvqQTi3+S13LACVgaWNCOKBv5jROIz7rqyZh56QunAkaAUqPbpM4VFODgAGZYPCOSggZbEUUqXOVB9xSnshLnA== + dependencies: + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/url-parser" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-ini@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.178.0.tgz#5700518f0ed8b448312ed39fa6dfca04ccc0ca99" + integrity sha512-PhaJMzgg0I0WMD6i+t53Y7x0vCZQ5p6fTOQMOrbfJkAaCLZvUuDd2XfoCGpS53PPQKOg7hHQxMLJ5lfJ4qSIzg== + dependencies: + "@aws-sdk/credential-provider-env" "3.178.0" + "@aws-sdk/credential-provider-imds" "3.178.0" + "@aws-sdk/credential-provider-sso" "3.178.0" + "@aws-sdk/credential-provider-web-identity" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-node@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.178.0.tgz#6c813487dbf3e32dc1239f2ff578c29f55daf67b" + integrity sha512-4yTP1ny0+D3fM7U4IdIp99EgveXxMSsxBr1jpCcZqTfP5MtfG9DK3i6QzkXGK4T6CQRU3o+DpD3yfcBChdjrww== + dependencies: + "@aws-sdk/credential-provider-env" "3.178.0" + "@aws-sdk/credential-provider-imds" "3.178.0" + "@aws-sdk/credential-provider-ini" "3.178.0" + "@aws-sdk/credential-provider-process" "3.178.0" + "@aws-sdk/credential-provider-sso" "3.178.0" + "@aws-sdk/credential-provider-web-identity" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-process@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.178.0.tgz#60fe3de1fb142cce563cdf1a582c9b7c670dfe5a" + integrity sha512-J4TldKrAnfayvRfxNEnLJUnTgkpTcct6rc7PwZlVSGSUgjglbcqfemUOP/pisLKbVNNL742lsUXmkUVH4km0Fw== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-sso@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.178.0.tgz#0f7bfbac12485b3f268a5224879d43ae267af421" + integrity sha512-fHgKYAve+nHKyr/j7njwfogLMZhlEWumTuZCmJjl19r0kM1X9c0MYStd1MvCDP3c+XG8vI17bQWNsD9eTJ86OQ== + dependencies: + "@aws-sdk/client-sso" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/credential-provider-web-identity@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.178.0.tgz#5cb626980777a45496c478c6730d73a37de04396" + integrity sha512-aei8o9ALtzwgYsZCAWdr+ItJyYTkYRmCoKstM4mkGtWNK9BjdISaVUAnndl6Pc/l/5eiK+2rlA+6Ujs4H8m+XQ== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-codec@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-codec/-/eventstream-codec-3.178.0.tgz#bcda3cd121625bd3cb09933af4ddeb816fb1162a" + integrity sha512-x18waxfidmI9i4BLpnwV37rxHPyyviyWo5qRgYWX+gLxhN6Z6sB3/Pc/s8/yQmywMs6/DlMBYJUDTvYXR1cezA== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-hex-encoding" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-browser@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.178.0.tgz#b38638cbc65eee48d4dabdd8c24ac6017561d1c5" + integrity sha512-UMlCevpJoQ8oMlNKlQF0Ti5zIztLzx9zcrxfi4KK1A22qXamTA5kHloyq1mFwrTkbcr4uhQ9omDDx//hYQ+yNw== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-config-resolver@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.178.0.tgz#24f683ab3e8839dd45906f9cd462e18f0cb38840" + integrity sha512-LmH5JuNCOvUI2g/7e2qlvHqRQW316J5iTawZQd233xUlmRO49kHc8HFvKPo98/V/S4MFsjlrZF9dcnly2txCxw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-node@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.178.0.tgz#2cd1ece8523a8adefa5548d96e6de4eae146c70e" + integrity sha512-YsFoZ8MlVReGm7GKMjvo5vxLVo/ZPSDg6ckp7kff18zZMlbNtuK+zfgub3tX1f2hbDoV2bBVL3xuZJkeBELpHQ== + dependencies: + "@aws-sdk/eventstream-serde-universal" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/eventstream-serde-universal@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.178.0.tgz#71887fa3c784cbd895d52d8a43b68f12c669abf5" + integrity sha512-Rd8QjqzN2roSHsLn0y1iCt/KrEQL2qlNdunXRjBwXvjZGuODa6M8gpOvaPNpTWLiD+V6mO0zuPp+tWiLZxMndw== + dependencies: + "@aws-sdk/eventstream-codec" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/fetch-http-handler@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.178.0.tgz#1d6489041d7334de4f924b24c909647b3c0b6d5f" + integrity sha512-T/LCNwCihdVNzGn39Dw7tk2U1fMlupFlCsAvDBbO+FOM3h+y9WLHzxmlAVsjPrFXlzdONKf9zd5cuQ+ZW93yAQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/querystring-builder" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/hash-blob-browser@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.178.0.tgz#573f4ef6ce4cc824e15beda4986dca26bd137275" + integrity sha512-LgrKDNi56q3ayxcvbC0MMt/fgliKgMb8G2o1y6bUAKzlEtBHLFfTUjvzW1WsDfK8ZSrtz/bZNGECIjeFEdTggQ== + dependencies: + "@aws-sdk/chunked-blob-reader" "3.170.0" + "@aws-sdk/chunked-blob-reader-native" "3.170.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/hash-node@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.178.0.tgz#140b716e40bbcb30aae16a6446b6c79e61e200ab" + integrity sha512-mqYraRQlvPO5egUKTNZ1kP52sfwBlsz7woOewQTHOGomZBDXrh8bl1J+sgaDi1NAwXdZUgxuD3QKxxAKRs9a2Q== + dependencies: + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-buffer-from" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/hash-stream-node@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/hash-stream-node/-/hash-stream-node-3.178.0.tgz#c14058ca153aed0877bc425fffd430b12e012365" + integrity sha512-YzockpOajp5WOweB+/hIrQy9KNVXEgnbMDcuCmevYfoub+BJbjCs5eAZrhCJBkXpRKBz3X1U0vlYp7twFacPqw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/invalid-dependency@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.178.0.tgz#0e4a4793a912bf67e0c484da666d2e047357cde2" + integrity sha512-JJNaiLr3nbRYym6oUAAaoFFYtDnIZ9Scco2p4sG/thT2eyAfXcEdNl1cSD3E/R1J+Ml/YplqTiIY4u1KPAriRw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/is-array-buffer@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.170.0.tgz#a34b82b0d7c534544db001837785ed086d99344c" + integrity sha512-yYXqgp8rilBckIvNRs22yAXHKcXb86/g+F+hsTZl38OJintTsLQB//O5v6EQTYhSW7T3wMe1NHDrjZ+hFjAy4Q== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/md5-js@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/md5-js/-/md5-js-3.178.0.tgz#b3bdc6099361fa2d9f5838a442cc9cb4d08d3abc" + integrity sha512-o/F4QKjJL2gQdGq5eQnVGc9SlJ+/TjUBDJfn0Nyz4/OhDYVRvf4yJLT3+I9ZQN5M6DoFgqrLPH0MUHv4EmDPpw== + dependencies: + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + "@aws-sdk/util-utf8-node" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-bucket-endpoint@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.178.0.tgz#0d10257138387201a10b963a0f01f5f309ba87a2" + integrity sha512-HCHonBmv5SWZMZqVNtWr73d6moZfcqTI87Xmi0Ofpra8tmu99WQpYgXmVLqK13wlPP2MJErBLkcDt15dsS0pJw== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-arn-parser" "3.170.0" + "@aws-sdk/util-config-provider" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-content-length@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.178.0.tgz#53ed59ff542b86e7cfe1223572fb68e5223db6f0" + integrity sha512-p3n3IzU03eRzZivEoQn1HA83LbAKukZwRevsJpya1UfCUtWkXQO3v0jU8rhZE4deGa9k7zuCAEmJ8nCw3QxclQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-expect-continue@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.178.0.tgz#7e6f927badb4f909b3edf9d298be405563c5fd0b" + integrity sha512-4OJgVeN2fBRHpRBNq1cCkT02QmsIZmiqsCXDgoRRlHJdcrbE5vLVs/PG/B1LB5ugxLD8EzwgoTbnOxIk0R1Weg== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-flexible-checksums@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.178.0.tgz#be52f7d364860e144b0a8875672d582c0e751259" + integrity sha512-nd9mvl7uF3S3ok4u9O/Avlc5d9YL8/OMDnKBoGeIYuop5bAdcO1t/sEJWEex6YYgtj0e20fIosO7maCXs8/C1A== + dependencies: + "@aws-crypto/crc32" "2.0.0" + "@aws-crypto/crc32c" "2.0.0" + "@aws-sdk/is-array-buffer" "3.170.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-host-header@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.178.0.tgz#1482cbbb7b83145b659f3504b83b998e26a2bbcc" + integrity sha512-EFc9S63iwCmudVpVSiVPiTnp6WCfsRYUmTrZJJouZzthEhJwcrunwu7Fa9lHYb0zcWLgVFLhzs1Z34J/Er4JoQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-location-constraint@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.178.0.tgz#81792cd114b8dc538124b62ebff3cce564e8b538" + integrity sha512-0Zrcdy75Q1CpAfjOFddiZSvK5iyeyh6fI7YRpUC8Fa3H+1kgW5sHESw0zyoC0NMAQkp1TgFrgxpaBuhAkdUzkg== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-logger@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.178.0.tgz#c8547ba355d96cd942efcfb8cdcdae1211bbb861" + integrity sha512-k4jnB+ryGiAhv6vyNFz2YoaVodldjkbz4mqDlVzhwEn77LT/TcwdBoown3cJD/45LEtiuPqeONoTcNCsuCkRFQ== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-recursion-detection@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.178.0.tgz#6c43015ea8a618f1c0ededcb9af17c53329578a2" + integrity sha512-dVgSoP2Mer8A0JGaWgpC/f4vPyvHh7laES/u5sTy6RfwrR87oTx+uhKrc6eh+9NkMR2xdRyaNJAMIXwL5bsVzg== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-retry@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.178.0.tgz#e787a93185ca72a346db93624da4f8d03f5f8f8b" + integrity sha512-glBXpAqt+4KQ7q8y2/kwDX2ujCvCSQok5rlAmUjaQjVPc3cX77QwATIRQTS2nBC4v9tfMc7yL64ZeRbx6n0RAQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/service-error-classification" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-middleware" "3.178.0" + tslib "^2.3.1" + uuid "^8.3.2" + +"@aws-sdk/middleware-sdk-s3@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.178.0.tgz#b692c76926e623f91bbe73df478255690120107a" + integrity sha512-/4IMPfSCsHZ3nFPPOFdNh+KlKkQE7LhesaxHEZA8f4qn/AnzBJUQLQ7iN4uvE+mD/WjNDUhNXX3ZqDRVaI2a+w== + dependencies: + "@aws-sdk/middleware-bucket-endpoint" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-arn-parser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-sdk-sts@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.178.0.tgz#fd21bce7eed9a5673836ad27a2335653a4de4c8c" + integrity sha512-5L29ElHmG2/i21tJVhwJOji/wvOlO5Ma2KGwbJgLywwcMov6VAm+0NIyAKhB5G96qEsexKenKj7swIDYtoEVHQ== + dependencies: + "@aws-sdk/middleware-signing" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/signature-v4" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-serde@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.178.0.tgz#09bfdcf83782381078523db549734be837a087bc" + integrity sha512-TERiu/B4hYi5Jd4iQN9ECTWbt2IZweAgFB010MboM4CAPm6EcszEc/uCB4faLZNdJaksk1BhAR7koURcda8Sew== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-signing@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.178.0.tgz#59bec4a2781d6efe7eeb83bfe509847b2340797d" + integrity sha512-593rKbGhgDmMxdgv6K1HruNteRm8uLaTde0HQkSXDyLw1xb7l2oeVcM7nmCt6WluQYJGKYoIBOWC9ePsisqDrg== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/signature-v4" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-ssec@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-ssec/-/middleware-ssec-3.178.0.tgz#fdc1943fe3b813e8399ec7ce087bb69cb85a71cc" + integrity sha512-6TcOTv03X8ygg9XnGTN2nTC1gSNaSIPBFvvQntVGr08umIajtalnI+2a9F3/+DQkUk/3u/V5j39mL9m0oAiMVw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/middleware-stack@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.178.0.tgz#42e92ef9aaa3c1fdaca159ac6c24c37629dd4aee" + integrity sha512-ELYM5Imhlcz2zT1Z4OjVZwO564KvI4L9dMBxuUgO0fwommzjWqxR03yaRGhpGwpCP64d0Op5Koc/RKq5V92Wbw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/middleware-user-agent@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.178.0.tgz#f212079c2691d27df665b6a88532cee1dc3a4f2d" + integrity sha512-xkKBxrFbs+UwUPpfIGEPuHeBWS2Jgmcd+ipEJUQRR3lY4h1fJ6mPGeyyaVDvwaJp9KgESSI6QTp6V15l8GXXgQ== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/node-config-provider@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.178.0.tgz#4b709f3c23a88c96eaf4e9941f501b149131693a" + integrity sha512-yb5XJcC7SxkZ5oxu3zQ/foBdMkLBKryzx/CVg5BNSsKDjfbouf/ZYPcJDHhc2gzCtZcx18GjFBOnv8cpo/tyXQ== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/shared-ini-file-loader" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/node-http-handler@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.178.0.tgz#5b68f09b3b23f0c4cafd175b0013560050bcd90a" + integrity sha512-EtH6YiX1IX0QraQ/+kKBWAEtsFYBnFyxOimTBtlpDYwFpgDzIZ1GFn2wORYomEWALg10kphs8n3E5/7b5t5OWQ== + dependencies: + "@aws-sdk/abort-controller" "3.178.0" + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/querystring-builder" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/property-provider@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.178.0.tgz#5d322cc52b866c4d03469163a57d2fd2fe16271f" + integrity sha512-+Fh1aUANa+Gt/rh4SUHO0yHwKsibyZGk2LLDUcM1+9r0pUZT0qy3h0UCl5Kkj9HUcDJMD73wHTx4UB440xRobw== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/protocol-http@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.178.0.tgz#e6582feaab8cfbd6a278eb628e9d01f25ba2c631" + integrity sha512-GsnANW60mVYMlE16UGNSOwYZ6TbkoODvmDQi95SEPjM7asf4vihEyDvhxiGS/JvC18UyxRVWT89l/V3hR/SF7w== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/querystring-builder@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.178.0.tgz#1d096111321e46a5eaa4ac1de56030d3e3c6de9e" + integrity sha512-vJXlExSshlHtGVvan/U6JihWvzf8t9QwH5I4F6HUY+exxMy5vFDYCnNqGAzbJwq7w/HME1gQWLoXq2k0uODz7g== + dependencies: + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-uri-escape" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/querystring-parser@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.178.0.tgz#8a608fbb65b31ffd14d4d25b0851b0d5368d12a6" + integrity sha512-dp3pLnsOvAcIF7Yn2PY5CIVWX7GvC33nSlWDYeLeCMapccwTbe6zBqreWbScmIGJra4QJTdjccpwo2Yxwhr5QQ== + dependencies: + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/service-error-classification@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.178.0.tgz#a0887bd30e07fe5a0328c0b993a74bf55d8e7396" + integrity sha512-tDKTBXxck2N4bhAnQaeokx9ps38V3G70lcDdHS/N9hmqcQQmH5x+1/AMwYWLjUZmOQPBW9sFoG4B3psnl+sefw== + +"@aws-sdk/shared-ini-file-loader@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.178.0.tgz#cd8f2bff7faf4111134ecbf76a8c3a2b395dcfc9" + integrity sha512-nZGmuhGLDFbXsb7QYDg7PiPMAmsdlSshKJ+AhKSZF/J0SK94kdZgGnGXGUZe52S3G41E3CZIgnLnnsMXq0uErA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/signature-v4-multi-region@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.178.0.tgz#d2b7d375157bc53eebdbb45ae5aed7c16dcc417c" + integrity sha512-aSMu8j8llz7qXgWoojX2rpHE1LNAcA+X49A9gbwoeGIN9DxXotZO25DaW9Jgr7kVANP042+pwzAxluA15HYI8w== + dependencies: + "@aws-sdk/protocol-http" "3.178.0" + "@aws-sdk/signature-v4" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-arn-parser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/signature-v4@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.178.0.tgz#02f874021725c328a7b044cd71af118fba7d6b11" + integrity sha512-8oOx6o0uOqlCDPM0dszfR1WHqd0E1VuFqez8iNItp0DhmhaCuanEwKYYA6HOkVu/MA6CsG6zDIJaFr5ODU2NvQ== + dependencies: + "@aws-sdk/is-array-buffer" "3.170.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-hex-encoding" "3.170.0" + "@aws-sdk/util-middleware" "3.178.0" + "@aws-sdk/util-uri-escape" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/smithy-client@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.178.0.tgz#c7529ce092fa31116f86709e1f972392c8deb6d8" + integrity sha512-y2uAL3VMKIMZ/6kRAeL/vlIN4qrnmsfYhihm0yYhetdHtaXAN3WRsOpxOEjO3T92KmtQxMvtmRoAN05aVwtgoQ== + dependencies: + "@aws-sdk/middleware-stack" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/types@3.178.0", "@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.110.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.178.0.tgz#2b79d705be218f8c9b5829ec71284549c37733be" + integrity sha512-CrHxHzXSEr/Z3NLFvJgSGHGcD9tYUZ0Rhp8tFCSpD3TpBo3/Y7RIvqaEPvECsL52UEloeBhQf65AO8590YkVmQ== + +"@aws-sdk/url-parser@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.178.0.tgz#aee06f73313154d9d0e34e16a974a6d35bbf7d93" + integrity sha512-+Ch29d+IZG6zD1gNDVgFC00huY8ytrPdijAuNJ4DtPBTGP4zbrImw3js0GfvfBjLrQYBnclcAvSx4J1Q/8tqBQ== + dependencies: + "@aws-sdk/querystring-parser" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/util-arn-parser@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-arn-parser/-/util-arn-parser-3.170.0.tgz#42587a958fd892ae51a447606e34ab5614bcb616" + integrity sha512-2ivABL9GNsucfMMkgGjVdFidbDogtSr4FBVW12D4ltijOL82CAynGrnxHAczRGnmi5/1/Ir4ipkr9pAdRMGiGw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-base64-browser@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-browser/-/util-base64-browser-3.170.0.tgz#3352aeb2891f650fa0eda75d8be38ebdc6f98b43" + integrity sha512-uLP9Kp74+jc+UWI392LSWIaUj9eXZBhkAiSm8dXAyrr+5GFOKvmEdidFoZKKcFcZ2v3RMonDgFVcDBiZ33w7BQ== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-base64-node@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64-node/-/util-base64-node-3.170.0.tgz#434f719d467e04f553f3dc8991aec40483078607" + integrity sha512-sjpOmfyW0RWCLXU8Du0ZtwgFoxIuKQIyVygXJ4qxByoa3jIUJXf4U33uSRMy47V3JoogdZuKSpND9hiNk2wU4w== + dependencies: + "@aws-sdk/util-buffer-from" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-body-length-browser@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.170.0.tgz#4f88ad2493e7088a8b22972d4ff512a64f02fc7b" + integrity sha512-SqSWA++gsZgHw6tlcEXx9K6R6cVKNYzOq6bca+NR7jXvy1hfqiv9Gx5TZrG4oL4JziP8QA0fTklmI1uQJ4HBRA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-body-length-node@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.170.0.tgz#ef69fc0895338c2b15b5b4c9b201e72d4232cba1" + integrity sha512-sFb85ngsgfpamwDn22LC/+FkbDTNiddbMHptkajw+CAD2Rb4SJDp2PfXZ6k883BueJWhmxZ9+lApHZqYtgPdzw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-buffer-from@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.170.0.tgz#efa9e74cd6fda5d711a99dc8a6f288afabe3b9fe" + integrity sha512-3ClE3wgN/Zw0ahfVAY5KQ/y3K2c+SYHwVUQaGSuVQlPOCDInGYjE/XEFwCeGJzncRPHIKDRPEsHCpm1uwgwEqQ== + dependencies: + "@aws-sdk/is-array-buffer" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-config-provider@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.170.0.tgz#85ad4dfa8102fe44b737c0aee23e63ae37ff9022" + integrity sha512-VV6lfss6Go00TF2hRVJnN8Uf2FOwC++1e8glaeU7fMWluYCBjwl+116mPOPFaxvkJCg0dui2tFroXioslM/rvQ== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-defaults-mode-browser@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.178.0.tgz#37578b40b651412374ac9833adafa774c6566a82" + integrity sha512-XssMIemfTOA3Pat+xRtCPUF6Irh05HJ3H9VEI3CJSMEduM0DCDKf7hbc9rp8Y/s/WTSJpa2Ag3JJ50dy2YGCqA== + dependencies: + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + bowser "^2.11.0" + tslib "^2.3.1" + +"@aws-sdk/util-defaults-mode-node@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.178.0.tgz#d95ae7156875405099ae89117814a41dc3a91c9e" + integrity sha512-GChdZiWC1gLC2BY4pkyFLw6/3fgtCv1uUaCuA6fWLo8doDBKi1D4Rhgkg3sYgtC3M2C042zMNmyGdiSywT0SXg== + dependencies: + "@aws-sdk/config-resolver" "3.178.0" + "@aws-sdk/credential-provider-imds" "3.178.0" + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/property-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/util-hex-encoding@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.170.0.tgz#e81f0fd8c951e0da7ada8d3148ead9b15c57f2f8" + integrity sha512-BDYyMqaxX4/N7rYOIYlqgpZaBuHw3kNXKgOkWtJdzndIZbQX8HnyJ+rF0Pr1aVsOpVDM+fY1prERleFh/ZRTCg== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-locate-window@^3.0.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.170.0.tgz#acc8717abe1e568de41d9b8ede33a49c6c1e108d" + integrity sha512-uQvn3ZaAokWcNSY+tNR71RGXPPncv5ejrpGa/MGOCioeBjkU5n5OJp7BdaTGouZu4fffeVpdZJ/ZNld8LWMgLw== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-middleware@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.178.0.tgz#c628d6df8f5f1bc9391c07621d899213e41c8207" + integrity sha512-93WgrJKuwtv3f2r1Q04emzjMiwpYR5hysOHKMkrGOvAVZdDqe1UTjmtuxQadVi3DBr1KOT/d5uP9MjV8LqaUUA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-stream-browser@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-browser/-/util-stream-browser-3.178.0.tgz#a659b9b5af9efc936edd039cb8e6f8e639eb5665" + integrity sha512-CgXIJjDtkJPpig3/37xNzwPvtySN21m3nI/61CDjmQTFU9CfrfFplR/K3yBhB465AyINrLcDyuiBBcv78wqBzg== + dependencies: + "@aws-sdk/fetch-http-handler" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-base64-browser" "3.170.0" + "@aws-sdk/util-hex-encoding" "3.170.0" + "@aws-sdk/util-utf8-browser" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-stream-node@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-stream-node/-/util-stream-node-3.178.0.tgz#a49f0c1332f446ed7b0b57a63908c294670544b7" + integrity sha512-SarpMLzoG49Tosp+s+yMsE2rGwsDqa6NDP6umqo2HXX3D26I3uqaefoB0E+Jn/VAJZcKbwxRZUPKnwQEOn1xMA== + dependencies: + "@aws-sdk/node-http-handler" "3.178.0" + "@aws-sdk/types" "3.178.0" + "@aws-sdk/util-buffer-from" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-uri-escape@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.170.0.tgz#1121fb47a59dab0f732b881742e9871c3690367c" + integrity sha512-Fof0urZ3Lx6z6LNKSEO6T4DNaNh6sLJaSWFaC6gtVDPux/C3R7wy2RQRDp0baHxE8m1KMB0XnKzHizJNrbDI1w== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-user-agent-browser@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.178.0.tgz#c9e02d4cb7edee51cfdc36179036b01120e1b0c1" + integrity sha512-LxOrn7Ai88n0i5J5rTb5Bt0TAycPvDYzjdCwmd2mahsPHZGSDLeCeh6KOIxZsEfnzYRl4HGWvIEXdHIYZ3RTug== + dependencies: + "@aws-sdk/types" "3.178.0" + bowser "^2.11.0" + tslib "^2.3.1" + +"@aws-sdk/util-user-agent-node@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.178.0.tgz#45c4c90550bdf66092682abfea36a68504b1e433" + integrity sha512-TrP6v+V4Qnv3E9CNgwR/G+1xiy8fa9j5LAm43qwp9PfJHchNyWOJ0FURD3Ne2sm/388Ybzjb1DRYRZ7B+xbnOw== + dependencies: + "@aws-sdk/node-config-provider" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/util-utf8-browser@3.170.0", "@aws-sdk/util-utf8-browser@^3.0.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.170.0.tgz#3fcea278e7a6fca4fef3d562300a3eea9a2f244f" + integrity sha512-tJby9krepSwDsBK+KQF5ACacZQ4LH1Aheh5Dy0pghxsN/9IRw7kMWTumuRCnSntLFFphDD7GM494/Dvnl1UCLA== + dependencies: + tslib "^2.3.1" + +"@aws-sdk/util-utf8-node@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-node/-/util-utf8-node-3.170.0.tgz#8f46d05bc887a7a8e3372a25e0f46035290a9aad" + integrity sha512-52QWGNoNQoyT2CuoQz6LjBKxHQtN/ceMFLW+9J1E0I1ni8XTuTYP52BlMe5484KkmZKsHOm+EWe4xuwwVetTxg== + dependencies: + "@aws-sdk/util-buffer-from" "3.170.0" + tslib "^2.3.1" + +"@aws-sdk/util-waiter@3.178.0": + version "3.178.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/util-waiter/-/util-waiter-3.178.0.tgz#4be4a2efddba5858fc53c00231876b7bc4ddc912" + integrity sha512-1VMh/3tCECT4GHx0nXfA8PE8QWvj6E7x+FxZfuWctS/DyeO8hxzhGz8SWQhOfKT1rdraCCKp+f2cTv+4Q6LO2w== + dependencies: + "@aws-sdk/abort-controller" "3.178.0" + "@aws-sdk/types" "3.178.0" + tslib "^2.3.1" + +"@aws-sdk/xml-builder@3.170.0": + version "3.170.0" + resolved "https://registry.yarnpkg.com/@aws-sdk/xml-builder/-/xml-builder-3.170.0.tgz#bee57bd55db4003bbd09ca3d2fa7a001b24ed21c" + integrity sha512-eN458rrukeI62yU1k4a+032IfpAS7aK30VEITzKanklMW6AxTpxUC6vGrP6bwtIpCFDN8yVaIiAwGXQg5l1X4g== + dependencies: + tslib "^2.3.1" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -3756,6 +4639,11 @@ body-parser@1.19.0, body-parser@^1.18.3: raw-body "2.4.0" type-is "~1.6.17" +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -4927,6 +5815,11 @@ enquirer@^2.3.5, enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" +entities@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -5487,6 +6380,11 @@ fast-text-encoding@^1.0.1: resolved "https://registry.yarnpkg.com/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz#ec02ac8e01ab8a319af182dae2681213cfe9ce53" integrity sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig== +fast-xml-parser@3.19.0: + version "3.19.0" + resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz#cb637ec3f3999f51406dd8ff0e6fc4d83e520d01" + integrity sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg== + fastq@^1.6.0: version "1.13.0" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" @@ -9997,7 +10895,7 @@ tslib@^1.0.0, tslib@^1.10.0, tslib@^1.9.0, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== -tslib@^1.8.1: +tslib@^1.11.1, tslib@^1.8.1: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -10012,6 +10910,11 @@ tslib@^2.3.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== +tslib@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -10284,7 +11187,7 @@ uuid@^3.1.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.0.0: +uuid@^8.0.0, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==