@liflig/cdk 3.26.5 → 3.26.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/slack-error-log-handler-lambda/__pycache__/index.cpython-314.pyc +0 -0
- package/assets/slack-error-log-handler-lambda/__pycache__/test_handler.cpython-314-pytest-9.0.3.pyc +0 -0
- package/lib/api-gateway/authorizers/basic-auth-authorizer.js +2 -2
- package/lib/api-gateway/authorizers/cognito-user-pool-authorizer.js +2 -2
- package/lib/cross-region-ssm-parameter.js +6 -1
- package/lib/ecs/cluster.js +11 -2
- package/lib/ses/configurationsetdeliveryoptions/index.js +6 -1
- package/lib/snapshots.js +24 -2
- package/lib/ssm-parameter-reader.js +6 -1
- package/package.json +17 -17
|
Binary file
|
package/assets/slack-error-log-handler-lambda/__pycache__/test_handler.cpython-314-pytest-9.0.3.pyc
CHANGED
|
Binary file
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { SecretsManager } from "@aws-sdk/client-secrets-manager";
|
|
11
11
|
export const handler = async (event) => {
|
|
12
12
|
const authHeader = event.headers?.authorization;
|
|
13
|
-
if (!authHeader
|
|
13
|
+
if (!authHeader?.startsWith("Basic ")) {
|
|
14
14
|
return { isAuthorized: false };
|
|
15
15
|
}
|
|
16
16
|
const expectedCredentials = await getExpectedBasicAuthCredentials();
|
|
@@ -157,4 +157,4 @@ function parseEncodedBasicAuthCredentials(encodedCredentials) {
|
|
|
157
157
|
export function clearCache() {
|
|
158
158
|
cachedBasicAuthCredentials = undefined;
|
|
159
159
|
}
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYXV0aC1hdXRob3JpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1nYXRld2F5L2F1dGhvcml6ZXJzL2Jhc2ljLWF1dGgtYXV0aG9yaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQXdCaEUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFDMUIsS0FBeUMsRUFDZCxFQUFFO0lBQzdCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFBO0lBQy9DLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLCtCQUErQixFQUFFLENBQUE7SUFFbkUsS0FBSyxNQUFNLFFBQVEsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQzNDLElBQUksVUFBVSxLQUFLLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QyxPQUFPO2dCQUNMLFlBQVksRUFBRSxJQUFJO2dCQUNsQixPQUFPLEVBQUU7b0JBQ1AsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO2lCQUM1QjthQUNGLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBT0QscUZBQXFGO0FBQ3JGLElBQUksMEJBQXNFLENBQUE7QUFFMUU7OztHQUdHO0FBQ0gsS0FBSyxVQUFVLCtCQUErQjtJQUc1QyxJQUFJLDBCQUEwQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUF1QixPQUFPLENBQUMs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QUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxnQ0FBZ0MsQ0FDdkMsa0JBQTBCO0lBRTFCLElBQUksa0JBQTBCLENBQUE7SUFDOUIsSUFBSSxDQUFDO1FBQ0gsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUMzRSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxLQUFLLENBQ1gsK0RBQStELEVBQy9ELENBQUMsQ0FDRixDQUFBO1FBQ0QsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUQsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckMsT0FBTyxDQUFDLEtBQUssQ0FDWCwyRUFBMkUsQ0FDNUUsQ0FBQTtRQUNELE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsT0FBTztRQUNMLGVBQWUsRUFBRSxTQUFTLGtCQUFrQixFQUFFO1FBQzlDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7S0FDakMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVTtJQUN4QiwwQkFBMEIsR0FBRyxTQUFTLENBQUE7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBsYW1iZGEgdmVyaWZpZXMgYXV0aG9yaXphdGlvbiBoZWFkZXIgYWdhaW5zdCBzdGF0aWMgYmFzaWMgYXV0aCBjcmVkZW50aWFscyBzYXZlZCBpbiBTZWNyZXRzXG4gKiBNYW5hZ2VyLlxuICpcbiAqIEV4cGVjdHMgdGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIENSRURFTlRJQUxTX1NFQ1JFVF9OQU1FXG4gKiAgIC0gTmFtZSBvZiBzZWNyZXQgaW4gQVdTIFNlY3JldHMgTWFuYWdlciB0aGF0IHN0b3JlcyBiYXNpYyBhdXRoIGNyZWRlbnRpYWxzLiBTZWVcbiAqICAgICBgQmFzaWNBdXRoQXV0aG9yaXplclByb3BzYCBvbiB0aGUgYEFwaUdhdGV3YXlgIGNvbnN0cnVjdCBmb3IgdGhlIHN1cHBvcnRlZCBmb3JtYXRzLlxuICovXG5cbmltcG9ydCB7IFNlY3JldHNNYW5hZ2VyIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIlxuaW1wb3J0IHR5cGUge1xuICBBUElHYXRld2F5UmVxdWVzdEF1dGhvcml6ZXJFdmVudFYyLFxuICBBUElHYXRld2F5U2ltcGxlQXV0aG9yaXplclJlc3VsdCxcbn0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG50eXBlIEF1dGhvcml6ZXJSZXN1bHQgPSBBUElHYXRld2F5U2ltcGxlQXV0aG9yaXplclJlc3VsdCAmIHtcbiAgLyoqXG4gICAqIFJldHVybmluZyBhIGNvbnRleHQgb2JqZWN0IGZyb20gb3VyIGF1dGhvcml6ZXIgYWxsb3dzIG91ciBBUEkgR2F0ZXdheSB0byBhY2Nlc3MgdGhlc2UgdmFyaWFibGVzXG4gICAqIHZpYSBgJHtjb250ZXh0LmF1dGhvcml6ZXIuPHByb3BlcnR5Pn1gLlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXBpZ2F0ZXdheS9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaHR0cC1hcGktcGFyYW1ldGVyLW1hcHBpbmcuaHRtbFxuICAgKi9cbiAgY29udGV4dD86IHtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgcmVxdWVzdCdzIGNyZWRlbnRpYWxzIGFyZSB2ZXJpZmllZCwgd2UgcmV0dXJuIHRoZSB1c2VybmFtZSB0aGF0IHdhcyB1c2VkIGluIHRoaXNcbiAgICAgKiBjb250ZXh0IHZhcmlhYmxlIChuYW1lZCBgYXV0aG9yaXplci51c2VybmFtZWApLiBXZSB1c2UgdGhpcyB0byBpbmNsdWRlIHRoZSByZXF1ZXN0aW5nIHVzZXIgaW5cbiAgICAgKiB0aGUgQVBJIEdhdGV3YXkgYWNjZXNzIGxvZ3MgKHNlZSBgZGVmYXVsdEFjY2Vzc0xvZ0Zvcm1hdGAgaW4gb3VyIGBBcGlHYXRld2F5YCBjb25zdHJ1Y3QpLiBZb3VcbiAgICAgKiBjYW4gYWxzbyB1c2UgdGhpcyB3aGVuIG1hcHBpbmcgcGFyYW1ldGVycyB0byB0aGUgYmFja2VuZCBpbnRlZ3JhdGlvbiAoc2VlXG4gICAgICogYEFsYkludGVncmF0aW9uUHJvcHMubWFwUGFyYW1ldGVyc2Agb24gdGhlIGBBcGlHYXRld2F5YCBjb25zdHJ1Y3QpLlxuICAgICAqL1xuICAgIHVzZXJuYW1lOiBzdHJpbmdcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChcbiAgZXZlbnQ6IEFQSUdhdGV3YXlSZXF1ZXN0QXV0aG9yaXplckV2ZW50VjIsXG4pOiBQcm9taXNlPEF1dGhvcml6ZXJSZXN1bHQ+ID0+IHtcbiAgY29uc3QgYXV0aEhlYWRlciA9IGV2ZW50LmhlYWRlcnM/LmF1dGhvcml6YXRpb25cbiAgaWYgKCFhdXRoSGVhZGVyIHx8ICFhdXRoSGVhZGVyLnN0YXJ0c1dpdGgoXCJCYXNpYyBcIikpIHtcbiAgICByZXR1cm4geyBpc0F1dGhvcml6ZWQ6IGZhbHNlIH1cbiAgfVxuXG4gIGNvbnN0IGV4cGVjdGVkQ3JlZGVudGlhbHMgPSBhd2FpdCBnZXRFeHBlY3RlZEJhc2ljQXV0aENyZWRlbnRpYWxzKClcblxuICBmb3IgKGNvbnN0IGV4cGVjdGVkIG9mIGV4cGVjdGVkQ3JlZGVudGlhbHMpIHtcbiAgICBpZiAoYXV0aEhlYWRlciA9PT0gZXhwZWN0ZWQuYmFzaWNBdXRoSGVhZGVyKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpc0F1dGhvcml6ZWQ6IHRydWUsXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICB1c2VybmFtZTogZXhwZWN0ZWQudXNlcm5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgaXNBdXRob3JpemVkOiBmYWxzZSB9XG59XG5cbnR5cGUgRXhwZWN0ZWRCYXNpY0F1dGhDcmVkZW50aWFscyA9IHtcbiAgYmFzaWNBdXRoSGVhZGVyOiBzdHJpbmdcbiAgdXNlcm5hbWU6IHN0cmluZ1xufVxuXG4vKiogQ2FjaGUgdGhpcyB2YWx1ZSwgc28gdGhhdCBzdWJzZXF1ZW50IGxhbWJkYSBpbnZvY2F0aW9ucyBkb24ndCBoYXZlIHRvIHJlZmV0Y2guICovXG5sZXQgY2FjaGVkQmFzaWNBdXRoQ3JlZGVudGlhbHM6IEV4cGVjdGVkQmFzaWNBdXRoQ3JlZGVudGlhbHNbXSB8IHVuZGVmaW5lZFxuXG4vKipcbiAqIFJldHVybnMgYW4gYXJyYXksIHRvIHN1cHBvcnQgY3JlZGVudGlhbCBzZWNyZXRzIHdpdGggbXVsdGlwbGUgdmFsdWVzIChzZWVcbiAqIGBCYXNpY0F1dGhBdXRob3JpemVyUHJvcHNgIG9uIHRoZSBgQXBpR2F0ZXdheWAgY29uc3RydWN0IGZvciBtb3JlIG9uIHRoaXMpLlxuICovXG5hc3luYyBmdW5jdGlvbiBnZXRFeHBlY3RlZEJhc2ljQXV0aENyZWRlbnRpYWxzKCk6IFByb21pc2U8XG4gIEV4cGVjdGVkQmFzaWNBdXRoQ3JlZGVudGlhbHNbXVxuPiB7XG4gIGlmIChjYWNoZWRCYXNpY0F1dGhDcmVkZW50aWFscyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3Qgc2VjcmV0TmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gcHJvY2Vzcy5lbnYuQ1JFREVOVElBTFNfU0VDUkVUX05BTUVcbiAgICBpZiAoIXNlY3JldE5hbWUpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJDUkVERU5USUFMU19TRUNSRVRfTkFNRSBlbnYgdmFyaWFibGUgaXMgbm90IGRlZmluZWRcIilcbiAgICAgIHRocm93IG5ldyBFcnJvcigpXG4gICAgfVxuXG4gICAgY2FjaGVkQmFzaWNBdXRoQ3JlZGVudGlhbHMgPSBhd2FpdCBnZXRCYXNpY0F1dGhDcmVkZW50aWFsc1NlY3JldChzZWNyZXROYW1lKVxuICB9XG5cbiAgcmV0dXJuIGNhY2hlZEJhc2ljQXV0aENyZWRlbnRpYWxzXG59XG5cbmFzeW5jIGZ1bmN0aW9uIGdldEJhc2ljQXV0aENyZWRlbnRpYWxzU2VjcmV0KFxuICBzZWNyZXROYW1lOiBzdHJpbmcsXG4pOiBQcm9taXNlPEV4cGVjdGVkQmFzaWNBdXRoQ3JlZGVudGlhbHNbXT4ge1xuICBjb25zdCBzZWNyZXQgPSBhd2FpdCBnZXRTZWNyZXRWYWx1ZShzZWNyZXROYW1lKVxuXG4gIGlmIChpc1VzZXJuYW1lQW5kUGFzc3dvcmRPYmplY3Qoc2VjcmV0KSkge1xuICAgIHJldHVybiBbZW5jb2RlQmFzaWNBdXRoQ3JlZGVudGlhbHMoc2VjcmV0KV1cbiAgfVxuXG4gIC8vIFNlZSBgQmFzaWNBdXRoQXV0aG9yaXplclByb3BzYCBvbiB0aGUgYEFwaUdhdGV3YXlgIGNvbnN0cnVjdCBmb3IgYW4gZXhwbGFuYXRpb24gb2YgdGhlIGZvcm1hdHNcbiAgLy8gd2UgcGFyc2UgaGVyZVxuICBpZiAoaGFzQ3JlZGVudGlhbHNLZXlXaXRoU3RyaW5nVmFsdWUoc2VjcmV0KSkge1xuICAgIGxldCBjcmVkZW50aWFsc0FycmF5OiB1bmtub3duXG4gICAgdHJ5IHtcbiAgICAgIGNyZWRlbnRpYWxzQXJyYXkgPSBKU09OLnBhcnNlKHNlY3JldC5jcmVkZW50aWFscylcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIGNyZWRlbnRpYWxzIGFycmF5IGluIHNlY3JldCAnJHtzZWNyZXROYW1lfScgYXMgSlNPTmAsXG4gICAgICAgIGUsXG4gICAgICApXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoKVxuICAgIH1cblxuICAgIGlmIChpc0FycmF5T2ZVc2VybmFtZUFuZFBhc3N3b3JkT2JqZWN0cyhjcmVkZW50aWFsc0FycmF5KSkge1xuICAgICAgcmV0dXJuIGNyZWRlbnRpYWxzQXJyYXkubWFwKGVuY29kZUJhc2ljQXV0aENyZWRlbnRpYWxzKVxuICAgIH1cblxuICAgIGlmIChpc1N0cmluZ0FycmF5KGNyZWRlbnRpYWxzQXJyYXkpKSB7XG4gICAgICByZXR1cm4gY3JlZGVudGlhbHNBcnJheS5tYXAocGFyc2VFbmNvZGVkQmFzaWNBdXRoQ3JlZGVudGlhbHMpXG4gICAgfVxuICB9XG5cbiAgY29uc29sZS5lcnJvcihcbiAgICBgQmFzaWMgYXV0aCBjcmVkZW50aWFscyBzZWNyZXQgZGlkIG5vdCBmb2xsb3cgYW55IGV4cGVjdGVkIGZvcm1hdCAoc2VjcmV0IG5hbWU6ICcke3NlY3JldE5hbWV9JylgLFxuICApXG4gIHRocm93IG5ldyBFcnJvcigpXG59XG5cbi8qKiBGb3Igb3ZlcnJpZGluZyBkZXBlbmRlbmN5IGNyZWF0aW9uIGluIHRlc3RzLiAqL1xuZXhwb3J0IGNvbnN0IGRlcGVuZGVuY2llcyA9IHtcbiAgY3JlYXRlU2VjcmV0c01hbmFnZXI6ICgpID0+IG5ldyBTZWNyZXRzTWFuYWdlcigpLFxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRTZWNyZXRWYWx1ZShzZWNyZXROYW1lOiBzdHJpbmcpOiBQcm9taXNlPHVua25vd24+IHtcbiAgY29uc3QgY2xpZW50ID0gZGVwZW5kZW5jaWVzLmNyZWF0ZVNlY3JldHNNYW5hZ2VyKClcbiAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgY2xpZW50LmdldFNlY3JldFZhbHVlKHsgU2VjcmV0SWQ6IHNlY3JldE5hbWUgfSlcblxuICBpZiAoIXNlY3JldC5TZWNyZXRTdHJpbmcpIHtcbiAgICBjb25zb2xlLmVycm9yKGBTZWNyZXQgdmFsdWUgbm90IGZvdW5kIGZvciAnJHtzZWNyZXROYW1lfSdgKVxuICAgIHRocm93IG5ldyBFcnJvcigpXG4gIH1cblxuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHNlY3JldC5TZWNyZXRTdHJpbmcpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gcGFyc2Ugc2VjcmV0ICcke3NlY3JldE5hbWV9JyBhcyBKU09OOmAsIGUpXG4gICAgdGhyb3cgbmV3IEVycm9yKClcbiAgfVxufVxuXG5mdW5jdGlvbiBlbmNvZGVCYXNpY0F1dGhDcmVkZW50aWFscyhjcmVkZW50aWFsczoge1xuICB1c2VybmFtZTogc3RyaW5nXG4gIHBhc3N3b3JkOiBzdHJpbmdcbn0pOiBFeHBlY3RlZEJhc2ljQXV0aENyZWRlbnRpYWxzIHtcbiAgY29uc3QgYmFzaWNBdXRoSGVhZGVyID1cbiAgICBcIkJhc2ljIFwiICtcbiAgICBCdWZmZXIuZnJvbShgJHtjcmVkZW50aWFscy51c2VybmFtZX06JHtjcmVkZW50aWFscy5wYXNzd29yZH1gKS50b1N0cmluZyhcbiAgICAgIFwiYmFzZTY0XCIsXG4gICAgKVxuXG4gIHJldHVybiB7IGJhc2ljQXV0aEhlYWRlciwgdXNlcm5hbWU6IGNyZWRlbnRpYWxzLnVzZXJuYW1lIH1cbn1cblxuZnVuY3Rpb24gaXNVc2VybmFtZUFuZFBhc3N3b3JkT2JqZWN0KFxuICB2YWx1ZTogdW5rbm93bixcbik6IHZhbHVlIGlzIHsgdXNlcm5hbWU6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiZcbiAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgIFwidXNlcm5hbWVcIiBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiB2YWx1ZS51c2VybmFtZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgIFwicGFzc3dvcmRcIiBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiB2YWx1ZS5wYXNzd29yZCA9PT0gXCJzdHJpbmdcIlxuICApXG59XG5cbmZ1bmN0aW9uIGlzQXJyYXlPZlVzZXJuYW1lQW5kUGFzc3dvcmRPYmplY3RzKFxuICB2YWx1ZTogdW5rbm93bixcbik6IHZhbHVlIGlzIHsgdXNlcm5hbWU6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9W10ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdmFsdWUpIHtcbiAgICBpZiAoIWlzVXNlcm5hbWVBbmRQYXNzd29yZE9iamVjdChlbGVtZW50KSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZnVuY3Rpb24gaGFzQ3JlZGVudGlhbHNLZXlXaXRoU3RyaW5nVmFsdWUoXG4gIHZhbHVlOiB1bmtub3duLFxuKTogdmFsdWUgaXMgeyBjcmVkZW50aWFsczogc3RyaW5nIH0ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgXCJjcmVkZW50aWFsc1wiIGluIHZhbHVlICYmXG4gICAgdHlwZW9mIHZhbHVlLmNyZWRlbnRpYWxzID09PSBcInN0cmluZ1wiXG4gIClcbn1cblxuZnVuY3Rpb24gaXNTdHJpbmdBcnJheSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIHN0cmluZ1tdIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZm9yIChjb25zdCBlbGVtZW50IG9mIHZhbHVlKSB7XG4gICAgaWYgKHR5cGVvZiBlbGVtZW50ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG4vKipcbiAqIFdlIHdhbnQgdG8gcmV0dXJuIHRoZSByZXF1ZXN0aW5nIHVzZXJuYW1lIGFzIGEgY29udGV4dCB2YXJpYWJsZSBpblxuICoge0BsaW5rIEF1dGhvcml6ZXJSZXN1bHQuY29udGV4dH0sIGZvciBBUEkgR2F0ZXdheSBhY2Nlc3MgbG9ncyBhbmQgcGFyYW1ldGVyIG1hcHBpbmcuIFNvIGlmIHRoZVxuICogYmFzaWMgYXV0aCBjcmVkZW50aWFscyBzZWNyZXQgaXMgc3RvcmVkIGFzIHByZS1lbmNvZGVkIGJhc2U2NCBzdHJpbmdzLCB3ZSBuZWVkIHRvIHBhcnNlIHRoZW0gdG9cbiAqIGdldCB0aGUgdXNlcm5hbWUuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlRW5jb2RlZEJhc2ljQXV0aENyZWRlbnRpYWxzKFxuICBlbmNvZGVkQ3JlZGVudGlhbHM6IHN0cmluZyxcbik6IEV4cGVjdGVkQmFzaWNBdXRoQ3JlZGVudGlhbHMge1xuICBsZXQgZGVjb2RlZENyZWRlbnRpYWxzOiBzdHJpbmdcbiAgdHJ5IHtcbiAgICBkZWNvZGVkQ3JlZGVudGlhbHMgPSBCdWZmZXIuZnJvbShlbmNvZGVkQ3JlZGVudGlhbHMsIFwiYmFzZTY0XCIpLnRvU3RyaW5nKClcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBcIkJhc2ljIGF1dGggY3JlZGVudGlhbHMgc2VjcmV0IGNvdWxkIG5vdCBiZSBkZWNvZGVkIGFzIGJhc2U2NDpcIixcbiAgICAgIGUsXG4gICAgKVxuICAgIHRocm93IG5ldyBFcnJvcigpXG4gIH1cblxuICBjb25zdCB1c2VybmFtZUFuZFBhc3N3b3JkID0gZGVjb2RlZENyZWRlbnRpYWxzLnNwbGl0KFwiOlwiLCAyKVxuICBpZiAodXNlcm5hbWVBbmRQYXNzd29yZC5sZW5ndGggIT09IDIpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgXCJCYXNpYyBhdXRoIGNyZWRlbnRpYWxzIHNlY3JldCBjb3VsZCBub3QgYmUgZGVjb2RlZCBhcyAndXNlcm5hbWU6cGFzc3dvcmQnXCIsXG4gICAgKVxuICAgIHRocm93IG5ldyBFcnJvcigpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJhc2ljQXV0aEhlYWRlcjogYEJhc2ljICR7ZW5jb2RlZENyZWRlbnRpYWxzfWAsXG4gICAgdXNlcm5hbWU6IHVzZXJuYW1lQW5kUGFzc3dvcmRbMF0sXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQ2FjaGUoKSB7XG4gIGNhY2hlZEJhc2ljQXV0aENyZWRlbnRpYWxzID0gdW5kZWZpbmVkXG59XG4iXX0=
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYXV0aC1hdXRob3JpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1nYXRld2F5L2F1dGhvcml6ZXJzL2Jhc2ljLWF1dGgtYXV0aG9yaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQXdCaEUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFDMUIsS0FBeUMsRUFDZCxFQUFFO0lBQzdCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFBO0lBQy9DLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQTtJQUNoQyxDQUFDO0lBRUQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLCtCQUErQixFQUFFLENBQUE7SUFFbkUsS0FBSyxNQUFNLFFBQVEsSUFBSSxtQkFBbUIsRUFBRSxDQUFDO1FBQzNDLElBQUksVUFBVSxLQUFLLFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QyxPQUFPO2dCQUNMLFlBQVksRUFBRSxJQUFJO2dCQUNsQixPQUFPLEVBQUU7b0JBQ1AsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO2lCQUM1QjthQUNGLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBT0QscUZBQXFGO0FBQ3JGLElBQUksMEJBQXNFLENBQUE7QUFFMUU7OztHQUdHO0FBQ0gsS0FBSyxVQUFVLCtCQUErQjtJQUc1QyxJQUFJLDBCQUEwQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzdDLE1BQU0sVUFBVSxHQUF1QixPQUFPLENBQUMsR0FBRyxDQUFDLHVCQUF1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QUssUUFBUSxFQUFFLENBQUM7WUFDaEMsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBUyxnQ0FBZ0MsQ0FDdkMsa0JBQTBCO0lBRTFCLElBQUksa0JBQTBCLENBQUE7SUFDOUIsSUFBSSxDQUFDO1FBQ0gsa0JBQWtCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtJQUMzRSxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxLQUFLLENBQ1gsK0RBQStELEVBQy9ELENBQUMsQ0FDRixDQUFBO1FBQ0QsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxNQUFNLG1CQUFtQixHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDNUQsSUFBSSxtQkFBbUIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDckMsT0FBTyxDQUFDLEtBQUssQ0FDWCwyRUFBMkUsQ0FDNUUsQ0FBQTtRQUNELE1BQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBRUQsT0FBTztRQUNMLGVBQWUsRUFBRSxTQUFTLGtCQUFrQixFQUFFO1FBQzlDLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7S0FDakMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVTtJQUN4QiwwQkFBMEIsR0FBRyxTQUFTLENBQUE7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBsYW1iZGEgdmVyaWZpZXMgYXV0aG9yaXphdGlvbiBoZWFkZXIgYWdhaW5zdCBzdGF0aWMgYmFzaWMgYXV0aCBjcmVkZW50aWFscyBzYXZlZCBpbiBTZWNyZXRzXG4gKiBNYW5hZ2VyLlxuICpcbiAqIEV4cGVjdHMgdGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIENSRURFTlRJQUxTX1NFQ1JFVF9OQU1FXG4gKiAgIC0gTmFtZSBvZiBzZWNyZXQgaW4gQVdTIFNlY3JldHMgTWFuYWdlciB0aGF0IHN0b3JlcyBiYXNpYyBhdXRoIGNyZWRlbnRpYWxzLiBTZWVcbiAqICAgICBgQmFzaWNBdXRoQXV0aG9yaXplclByb3BzYCBvbiB0aGUgYEFwaUdhdGV3YXlgIGNvbnN0cnVjdCBmb3IgdGhlIHN1cHBvcnRlZCBmb3JtYXRzLlxuICovXG5cbmltcG9ydCB7IFNlY3JldHNNYW5hZ2VyIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIlxuaW1wb3J0IHR5cGUge1xuICBBUElHYXRld2F5UmVxdWVzdEF1dGhvcml6ZXJFdmVudFYyLFxuICBBUElHYXRld2F5U2ltcGxlQXV0aG9yaXplclJlc3VsdCxcbn0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG50eXBlIEF1dGhvcml6ZXJSZXN1bHQgPSBBUElHYXRld2F5U2ltcGxlQXV0aG9yaXplclJlc3VsdCAmIHtcbiAgLyoqXG4gICAqIFJldHVybmluZyBhIGNvbnRleHQgb2JqZWN0IGZyb20gb3VyIGF1dGhvcml6ZXIgYWxsb3dzIG91ciBBUEkgR2F0ZXdheSB0byBhY2Nlc3MgdGhlc2UgdmFyaWFibGVzXG4gICAqIHZpYSBgJHtjb250ZXh0LmF1dGhvcml6ZXIuPHByb3BlcnR5Pn1gLlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXBpZ2F0ZXdheS9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaHR0cC1hcGktcGFyYW1ldGVyLW1hcHBpbmcuaHRtbFxuICAgKi9cbiAgY29udGV4dD86IHtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgcmVxdWVzdCdzIGNyZWRlbnRpYWxzIGFyZSB2ZXJpZmllZCwgd2UgcmV0dXJuIHRoZSB1c2VybmFtZSB0aGF0IHdhcyB1c2VkIGluIHRoaXNcbiAgICAgKiBjb250ZXh0IHZhcmlhYmxlIChuYW1lZCBgYXV0aG9yaXplci51c2VybmFtZWApLiBXZSB1c2UgdGhpcyB0byBpbmNsdWRlIHRoZSByZXF1ZXN0aW5nIHVzZXIgaW5cbiAgICAgKiB0aGUgQVBJIEdhdGV3YXkgYWNjZXNzIGxvZ3MgKHNlZSBgZGVmYXVsdEFjY2Vzc0xvZ0Zvcm1hdGAgaW4gb3VyIGBBcGlHYXRld2F5YCBjb25zdHJ1Y3QpLiBZb3VcbiAgICAgKiBjYW4gYWxzbyB1c2UgdGhpcyB3aGVuIG1hcHBpbmcgcGFyYW1ldGVycyB0byB0aGUgYmFja2VuZCBpbnRlZ3JhdGlvbiAoc2VlXG4gICAgICogYEFsYkludGVncmF0aW9uUHJvcHMubWFwUGFyYW1ldGVyc2Agb24gdGhlIGBBcGlHYXRld2F5YCBjb25zdHJ1Y3QpLlxuICAgICAqL1xuICAgIHVzZXJuYW1lOiBzdHJpbmdcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgaGFuZGxlciA9IGFzeW5jIChcbiAgZXZlbnQ6IEFQSUdhdGV3YXlSZXF1ZXN0QXV0aG9yaXplckV2ZW50VjIsXG4pOiBQcm9taXNlPEF1dGhvcml6ZXJSZXN1bHQ+ID0+IHtcbiAgY29uc3QgYXV0aEhlYWRlciA9IGV2ZW50LmhlYWRlcnM/LmF1dGhvcml6YXRpb25cbiAgaWYgKCFhdXRoSGVhZGVyPy5zdGFydHNXaXRoKFwiQmFzaWMgXCIpKSB7XG4gICAgcmV0dXJuIHsgaXNBdXRob3JpemVkOiBmYWxzZSB9XG4gIH1cblxuICBjb25zdCBleHBlY3RlZENyZWRlbnRpYWxzID0gYXdhaXQgZ2V0RXhwZWN0ZWRCYXNpY0F1dGhDcmVkZW50aWFscygpXG5cbiAgZm9yIChjb25zdCBleHBlY3RlZCBvZiBleHBlY3RlZENyZWRlbnRpYWxzKSB7XG4gICAgaWYgKGF1dGhIZWFkZXIgPT09IGV4cGVjdGVkLmJhc2ljQXV0aEhlYWRlcikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXNBdXRob3JpemVkOiB0cnVlLFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgdXNlcm5hbWU6IGV4cGVjdGVkLnVzZXJuYW1lLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IGlzQXV0aG9yaXplZDogZmFsc2UgfVxufVxuXG50eXBlIEV4cGVjdGVkQmFzaWNBdXRoQ3JlZGVudGlhbHMgPSB7XG4gIGJhc2ljQXV0aEhlYWRlcjogc3RyaW5nXG4gIHVzZXJuYW1lOiBzdHJpbmdcbn1cblxuLyoqIENhY2hlIHRoaXMgdmFsdWUsIHNvIHRoYXQgc3Vic2VxdWVudCBsYW1iZGEgaW52b2NhdGlvbnMgZG9uJ3QgaGF2ZSB0byByZWZldGNoLiAqL1xubGV0IGNhY2hlZEJhc2ljQXV0aENyZWRlbnRpYWxzOiBFeHBlY3RlZEJhc2ljQXV0aENyZWRlbnRpYWxzW10gfCB1bmRlZmluZWRcblxuLyoqXG4gKiBSZXR1cm5zIGFuIGFycmF5LCB0byBzdXBwb3J0IGNyZWRlbnRpYWwgc2VjcmV0cyB3aXRoIG11bHRpcGxlIHZhbHVlcyAoc2VlXG4gKiBgQmFzaWNBdXRoQXV0aG9yaXplclByb3BzYCBvbiB0aGUgYEFwaUdhdGV3YXlgIGNvbnN0cnVjdCBmb3IgbW9yZSBvbiB0aGlzKS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZ2V0RXhwZWN0ZWRCYXNpY0F1dGhDcmVkZW50aWFscygpOiBQcm9taXNlPFxuICBFeHBlY3RlZEJhc2ljQXV0aENyZWRlbnRpYWxzW11cbj4ge1xuICBpZiAoY2FjaGVkQmFzaWNBdXRoQ3JlZGVudGlhbHMgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IHNlY3JldE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHByb2Nlc3MuZW52LkNSRURFTlRJQUxTX1NFQ1JFVF9OQU1FXG4gICAgaWYgKCFzZWNyZXROYW1lKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiQ1JFREVOVElBTFNfU0VDUkVUX05BTUUgZW52IHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkXCIpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoKVxuICAgIH1cblxuICAgIGNhY2hlZEJhc2ljQXV0aENyZWRlbnRpYWxzID0gYXdhaXQgZ2V0QmFzaWNBdXRoQ3JlZGVudGlhbHNTZWNyZXQoc2VjcmV0TmFtZSlcbiAgfVxuXG4gIHJldHVybiBjYWNoZWRCYXNpY0F1dGhDcmVkZW50aWFsc1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRCYXNpY0F1dGhDcmVkZW50aWFsc1NlY3JldChcbiAgc2VjcmV0TmFtZTogc3RyaW5nLFxuKTogUHJvbWlzZTxFeHBlY3RlZEJhc2ljQXV0aENyZWRlbnRpYWxzW10+IHtcbiAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgZ2V0U2VjcmV0VmFsdWUoc2VjcmV0TmFtZSlcblxuICBpZiAoaXNVc2VybmFtZUFuZFBhc3N3b3JkT2JqZWN0KHNlY3JldCkpIHtcbiAgICByZXR1cm4gW2VuY29kZUJhc2ljQXV0aENyZWRlbnRpYWxzKHNlY3JldCldXG4gIH1cblxuICAvLyBTZWUgYEJhc2ljQXV0aEF1dGhvcml6ZXJQcm9wc2Agb24gdGhlIGBBcGlHYXRld2F5YCBjb25zdHJ1Y3QgZm9yIGFuIGV4cGxhbmF0aW9uIG9mIHRoZSBmb3JtYXRzXG4gIC8vIHdlIHBhcnNlIGhlcmVcbiAgaWYgKGhhc0NyZWRlbnRpYWxzS2V5V2l0aFN0cmluZ1ZhbHVlKHNlY3JldCkpIHtcbiAgICBsZXQgY3JlZGVudGlhbHNBcnJheTogdW5rbm93blxuICAgIHRyeSB7XG4gICAgICBjcmVkZW50aWFsc0FycmF5ID0gSlNPTi5wYXJzZShzZWNyZXQuY3JlZGVudGlhbHMpXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgYEZhaWxlZCB0byBwYXJzZSBjcmVkZW50aWFscyBhcnJheSBpbiBzZWNyZXQgJyR7c2VjcmV0TmFtZX0nIGFzIEpTT05gLFxuICAgICAgICBlLFxuICAgICAgKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKClcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheU9mVXNlcm5hbWVBbmRQYXNzd29yZE9iamVjdHMoY3JlZGVudGlhbHNBcnJheSkpIHtcbiAgICAgIHJldHVybiBjcmVkZW50aWFsc0FycmF5Lm1hcChlbmNvZGVCYXNpY0F1dGhDcmVkZW50aWFscylcbiAgICB9XG5cbiAgICBpZiAoaXNTdHJpbmdBcnJheShjcmVkZW50aWFsc0FycmF5KSkge1xuICAgICAgcmV0dXJuIGNyZWRlbnRpYWxzQXJyYXkubWFwKHBhcnNlRW5jb2RlZEJhc2ljQXV0aENyZWRlbnRpYWxzKVxuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUuZXJyb3IoXG4gICAgYEJhc2ljIGF1dGggY3JlZGVudGlhbHMgc2VjcmV0IGRpZCBub3QgZm9sbG93IGFueSBleHBlY3RlZCBmb3JtYXQgKHNlY3JldCBuYW1lOiAnJHtzZWNyZXROYW1lfScpYCxcbiAgKVxuICB0aHJvdyBuZXcgRXJyb3IoKVxufVxuXG4vKiogRm9yIG92ZXJyaWRpbmcgZGVwZW5kZW5jeSBjcmVhdGlvbiBpbiB0ZXN0cy4gKi9cbmV4cG9ydCBjb25zdCBkZXBlbmRlbmNpZXMgPSB7XG4gIGNyZWF0ZVNlY3JldHNNYW5hZ2VyOiAoKSA9PiBuZXcgU2VjcmV0c01hbmFnZXIoKSxcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0U2VjcmV0VmFsdWUoc2VjcmV0TmFtZTogc3RyaW5nKTogUHJvbWlzZTx1bmtub3duPiB7XG4gIGNvbnN0IGNsaWVudCA9IGRlcGVuZGVuY2llcy5jcmVhdGVTZWNyZXRzTWFuYWdlcigpXG4gIGNvbnN0IHNlY3JldCA9IGF3YWl0IGNsaWVudC5nZXRTZWNyZXRWYWx1ZSh7IFNlY3JldElkOiBzZWNyZXROYW1lIH0pXG5cbiAgaWYgKCFzZWNyZXQuU2VjcmV0U3RyaW5nKSB7XG4gICAgY29uc29sZS5lcnJvcihgU2VjcmV0IHZhbHVlIG5vdCBmb3VuZCBmb3IgJyR7c2VjcmV0TmFtZX0nYClcbiAgICB0aHJvdyBuZXcgRXJyb3IoKVxuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShzZWNyZXQuU2VjcmV0U3RyaW5nKVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHBhcnNlIHNlY3JldCAnJHtzZWNyZXROYW1lfScgYXMgSlNPTjpgLCBlKVxuICAgIHRocm93IG5ldyBFcnJvcigpXG4gIH1cbn1cblxuZnVuY3Rpb24gZW5jb2RlQmFzaWNBdXRoQ3JlZGVudGlhbHMoY3JlZGVudGlhbHM6IHtcbiAgdXNlcm5hbWU6IHN0cmluZ1xuICBwYXNzd29yZDogc3RyaW5nXG59KTogRXhwZWN0ZWRCYXNpY0F1dGhDcmVkZW50aWFscyB7XG4gIGNvbnN0IGJhc2ljQXV0aEhlYWRlciA9XG4gICAgXCJCYXNpYyBcIiArXG4gICAgQnVmZmVyLmZyb20oYCR7Y3JlZGVudGlhbHMudXNlcm5hbWV9OiR7Y3JlZGVudGlhbHMucGFzc3dvcmR9YCkudG9TdHJpbmcoXG4gICAgICBcImJhc2U2NFwiLFxuICAgIClcblxuICByZXR1cm4geyBiYXNpY0F1dGhIZWFkZXIsIHVzZXJuYW1lOiBjcmVkZW50aWFscy51c2VybmFtZSB9XG59XG5cbmZ1bmN0aW9uIGlzVXNlcm5hbWVBbmRQYXNzd29yZE9iamVjdChcbiAgdmFsdWU6IHVua25vd24sXG4pOiB2YWx1ZSBpcyB7IHVzZXJuYW1lOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICBcInVzZXJuYW1lXCIgaW4gdmFsdWUgJiZcbiAgICB0eXBlb2YgdmFsdWUudXNlcm5hbWUgPT09IFwic3RyaW5nXCIgJiZcbiAgICBcInBhc3N3b3JkXCIgaW4gdmFsdWUgJiZcbiAgICB0eXBlb2YgdmFsdWUucGFzc3dvcmQgPT09IFwic3RyaW5nXCJcbiAgKVxufVxuXG5mdW5jdGlvbiBpc0FycmF5T2ZVc2VybmFtZUFuZFBhc3N3b3JkT2JqZWN0cyhcbiAgdmFsdWU6IHVua25vd24sXG4pOiB2YWx1ZSBpcyB7IHVzZXJuYW1lOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfVtdIHtcbiAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZm9yIChjb25zdCBlbGVtZW50IG9mIHZhbHVlKSB7XG4gICAgaWYgKCFpc1VzZXJuYW1lQW5kUGFzc3dvcmRPYmplY3QoZWxlbWVudCkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmZ1bmN0aW9uIGhhc0NyZWRlbnRpYWxzS2V5V2l0aFN0cmluZ1ZhbHVlKFxuICB2YWx1ZTogdW5rbm93bixcbik6IHZhbHVlIGlzIHsgY3JlZGVudGlhbHM6IHN0cmluZyB9IHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIgJiZcbiAgICB2YWx1ZSAhPT0gbnVsbCAmJlxuICAgIFwiY3JlZGVudGlhbHNcIiBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiB2YWx1ZS5jcmVkZW50aWFscyA9PT0gXCJzdHJpbmdcIlxuICApXG59XG5cbmZ1bmN0aW9uIGlzU3RyaW5nQXJyYXkodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBzdHJpbmdbXSB7XG4gIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGZvciAoY29uc3QgZWxlbWVudCBvZiB2YWx1ZSkge1xuICAgIGlmICh0eXBlb2YgZWxlbWVudCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuLyoqXG4gKiBXZSB3YW50IHRvIHJldHVybiB0aGUgcmVxdWVzdGluZyB1c2VybmFtZSBhcyBhIGNvbnRleHQgdmFyaWFibGUgaW5cbiAqIHtAbGluayBBdXRob3JpemVyUmVzdWx0LmNvbnRleHR9LCBmb3IgQVBJIEdhdGV3YXkgYWNjZXNzIGxvZ3MgYW5kIHBhcmFtZXRlciBtYXBwaW5nLiBTbyBpZiB0aGVcbiAqIGJhc2ljIGF1dGggY3JlZGVudGlhbHMgc2VjcmV0IGlzIHN0b3JlZCBhcyBwcmUtZW5jb2RlZCBiYXNlNjQgc3RyaW5ncywgd2UgbmVlZCB0byBwYXJzZSB0aGVtIHRvXG4gKiBnZXQgdGhlIHVzZXJuYW1lLlxuICovXG5mdW5jdGlvbiBwYXJzZUVuY29kZWRCYXNpY0F1dGhDcmVkZW50aWFscyhcbiAgZW5jb2RlZENyZWRlbnRpYWxzOiBzdHJpbmcsXG4pOiBFeHBlY3RlZEJhc2ljQXV0aENyZWRlbnRpYWxzIHtcbiAgbGV0IGRlY29kZWRDcmVkZW50aWFsczogc3RyaW5nXG4gIHRyeSB7XG4gICAgZGVjb2RlZENyZWRlbnRpYWxzID0gQnVmZmVyLmZyb20oZW5jb2RlZENyZWRlbnRpYWxzLCBcImJhc2U2NFwiKS50b1N0cmluZygpXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgXCJCYXNpYyBhdXRoIGNyZWRlbnRpYWxzIHNlY3JldCBjb3VsZCBub3QgYmUgZGVjb2RlZCBhcyBiYXNlNjQ6XCIsXG4gICAgICBlLFxuICAgIClcbiAgICB0aHJvdyBuZXcgRXJyb3IoKVxuICB9XG5cbiAgY29uc3QgdXNlcm5hbWVBbmRQYXNzd29yZCA9IGRlY29kZWRDcmVkZW50aWFscy5zcGxpdChcIjpcIiwgMilcbiAgaWYgKHVzZXJuYW1lQW5kUGFzc3dvcmQubGVuZ3RoICE9PSAyKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIFwiQmFzaWMgYXV0aCBjcmVkZW50aWFscyBzZWNyZXQgY291bGQgbm90IGJlIGRlY29kZWQgYXMgJ3VzZXJuYW1lOnBhc3N3b3JkJ1wiLFxuICAgIClcbiAgICB0aHJvdyBuZXcgRXJyb3IoKVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBiYXNpY0F1dGhIZWFkZXI6IGBCYXNpYyAke2VuY29kZWRDcmVkZW50aWFsc31gLFxuICAgIHVzZXJuYW1lOiB1c2VybmFtZUFuZFBhc3N3b3JkWzBdLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckNhY2hlKCkge1xuICBjYWNoZWRCYXNpY0F1dGhDcmVkZW50aWFscyA9IHVuZGVmaW5lZFxufVxuIl19
|
|
@@ -14,7 +14,7 @@ import { SecretsManager } from "@aws-sdk/client-secrets-manager";
|
|
|
14
14
|
import { CognitoJwtVerifier } from "aws-jwt-verify";
|
|
15
15
|
export const handler = async (event) => {
|
|
16
16
|
const authHeader = event.headers?.authorization;
|
|
17
|
-
if (!authHeader
|
|
17
|
+
if (!authHeader?.startsWith("Bearer ")) {
|
|
18
18
|
return { isAuthorized: false };
|
|
19
19
|
}
|
|
20
20
|
const result = await verifyAccessToken(authHeader.substring(7)); // substring(7) == after 'Bearer '
|
|
@@ -128,4 +128,4 @@ export function clearCache() {
|
|
|
128
128
|
cachedTokenVerifier = undefined;
|
|
129
129
|
cachedInternalAuthorizationHeader = undefined;
|
|
130
130
|
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29nbml0by11c2VyLXBvb2wtYXV0aG9yaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGktZ2F0ZXdheS9hdXRob3JpemVycy9jb2duaXRvLXVzZXItcG9vbC1hdXRob3JpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBZ0NuRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUMxQixLQUF5QyxFQUNkLEVBQUU7SUFDN0IsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUE7SUFDL0MsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLGtDQUFrQztJQUNsRyxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxTQUFTO1lBQ1osT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQTtRQUNoQyxLQUFLLFNBQVM7WUFDWix3RkFBd0Y7WUFDeEYscUZBQXFGO1lBQ3JGLHlGQUF5RjtZQUN6RixxRUFBcUU7WUFDckUsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUNqQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1IsT0FBTztnQkFDTCxZQUFZLEVBQUUsSUFBSTtnQkFDbEIsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRSxNQUFNLENBQUMsU0FBUztv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VCxDQUNGLENBQUE7QUFDSCxDQUFDO0FBRUQsS0FBSyxVQUFVLGNBQWMsQ0FBQyxVQUFrQjtJQUM5QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtJQUNsRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUVwRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLFVBQVUsR0FBRyxDQUFDLENBQUE7UUFDM0QsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQ3hDLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUM5QixLQUFjO0lBRWQsT0FBTyxDQUNMLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsS0FBSyxLQUFLLElBQUk7UUFDZCxVQUFVLElBQUksS0FBSztRQUNuQixPQUFPLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUTtRQUNsQyxVQUFVLElBQUksS0FBSztRQUNuQixPQUFPLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUNuQyxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVO0lBQ3hCLG1CQUFtQixHQUFHLFNBQVMsQ0FBQTtJQUMvQixpQ0FBaUMsR0FBRyxTQUFTLENBQUE7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBsYW1iZGEgdmVyaWZpZXMgYWNjZXNzIHRva2VuIGluIEJlYXJlciBhdXRob3JpemF0aW9uIGhlYWRlciB1c2luZyBDb2duaXRvLlxuICpcbiAqIEV4cGVjdHMgdGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIFVTRVJfUE9PTF9JRFxuICogLSBSRVFVSVJFRF9TQ09QRSAob3B0aW9uYWwpXG4gKiAgIC0gU2V0IHRoaXMgdG8gcmVxdWlyZSB0aGF0IHRoZSBhY2Nlc3MgdG9rZW4gcGF5bG9hZCBjb250YWlucyB0aGUgZ2l2ZW4gc2NvcGVcbiAqIC0gQ1JFREVOVElBTFNfRk9SX0lOVEVSTkFMX0FVVEhPUklaQVRJT04gKG9wdGlvbmFsKVxuICogICAtIFNlY3JldCBuYW1lIGZyb20gd2hpY2ggdG8gZ2V0IGJhc2ljIGF1dGggY3JlZGVudGlhbHMgdGhhdCBzaG91bGQgYmUgZm9yd2FyZGVkIHRvIGJhY2tlbmRcbiAqICAgICBpbnRlZ3JhdGlvbiBpZiBhdXRoZW50aWNhdGlvbiBzdWNjZWVkc1xuICogICAtIFNlY3JldCB2YWx1ZSBzaG91bGQgZm9sbG93IHRoaXMgZm9ybWF0OiBge1widXNlcm5hbWVcIjpcIjx1c2VybmFtZT5cIixcInBhc3N3b3JkXCI6XCI8cGFzc3dvcmQ+XCJ9YFxuICovXG5cbmltcG9ydCB7IFNlY3JldHNNYW5hZ2VyIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIlxuaW1wb3J0IHsgQ29nbml0b0p3dFZlcmlmaWVyIH0gZnJvbSBcImF3cy1qd3QtdmVyaWZ5XCJcbmltcG9ydCB0eXBlIHsgQ29nbml0b0FjY2Vzc1Rva2VuUGF5bG9hZCB9IGZyb20gXCJhd3Mtand0LXZlcmlmeS9qd3QtbW9kZWxcIlxuaW1wb3J0IHR5cGUge1xuICBBUElHYXRld2F5UmVxdWVzdEF1dGhvcml6ZXJFdmVudFYyLFxuICBBUElHYXRld2F5U2ltcGxlQXV0aG9yaXplclJlc3VsdCxcbn0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG50eXBlIEF1dGhvcml6ZXJSZXN1bHQgPSBBUElHYXRld2F5U2ltcGxlQXV0aG9yaXplclJlc3VsdCAmIHtcbiAgLyoqXG4gICAqIFJldHVybmluZyBhIGNvbnRleHQgb2JqZWN0IGZyb20gb3VyIGF1dGhvcml6ZXIgYWxsb3dzIG91ciBBUEkgR2F0ZXdheSB0byBhY2Nlc3MgdGhlc2UgdmFyaWFibGVzXG4gICAqIHZpYSBgJHtjb250ZXh0LmF1dGhvcml6ZXIuPHByb3BlcnR5Pn1gLlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXBpZ2F0ZXdheS9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaHR0cC1hcGktcGFyYW1ldGVyLW1hcHBpbmcuaHRtbFxuICAgKi9cbiAgY29udGV4dD86IHtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgdG9rZW4gaXMgdmVyaWZpZWQsIHdlIHJldHVybiB0aGUgYXV0aCBjbGllbnQgSUQgZnJvbSB0aGUgdG9rZW4ncyBjbGFpbXMgYXMgYSBjb250ZXh0XG4gICAgICogdmFyaWFibGUgKG5hbWVkIGBhdXRob3JpemVyLmNsaWVudElkYCkuIFdlIHVzZSB0aGlzIHRvIGluY2x1ZGUgdGhlIHJlcXVlc3RpbmcgY2xpZW50IGluIHRoZVxuICAgICAqIEFQSSBHYXRld2F5IGFjY2VzcyBsb2dzIChzZWUgYGRlZmF1bHRBY2Nlc3NMb2dGb3JtYXRgIGluIG91ciBgQXBpR2F0ZXdheWAgY29uc3RydWN0KS4gWW91IGNhblxuICAgICAqIGFsc28gdXNlIHRoaXMgd2hlbiBtYXBwaW5nIHBhcmFtZXRlcnMgdG8gdGhlIGJhY2tlbmQgaW50ZWdyYXRpb24gKHNlZVxuICAgICAqIGBBbGJJbnRlZ3JhdGlvblByb3BzLm1hcFBhcmFtZXRlcnNgIG9uIHRoZSBgQXBpR2F0ZXdheWAgY29uc3RydWN0KS5cbiAgICAgKi9cbiAgICBjbGllbnRJZDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogSWYgYENSRURFTlRJQUxTX0ZPUl9JTlRFUk5BTF9BVVRIT1JJWkFUSU9OYCBpcyBwcm92aWRlZCwgd2Ugd2FudCB0byBmb3J3YXJkIGJhc2ljIGF1dGhcbiAgICAgKiBjcmVkZW50aWFscyB0byBvdXIgYmFja2VuZCwgYXMgYW4gYWRkaXRpb25hbCBhdXRoZW50aWNhdGlvbiBsYXllci4gU2VlIHRoZSBkb2NzdHJpbmcgb25cbiAgICAgKiBgQ29nbml0b1VzZXJQb29sQXV0aG9yaXplclByb3BzLmJhc2ljQXV0aEZvckludGVybmFsQXV0aG9yaXphdGlvbmAgaW4gdGhlIGBBcGlHYXRld2F5YFxuICAgICAqIGNvbnN0cnVjdCBmb3IgbW9yZSBvbiB0aGlzLlxuICAgICAqL1xuICAgIGludGVybmFsQXV0aG9yaXphdGlvbkhlYWRlcj86IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKFxuICBldmVudDogQVBJR2F0ZXdheVJlcXVlc3RBdXRob3JpemVyRXZlbnRWMixcbik6IFByb21pc2U8QXV0aG9yaXplclJlc3VsdD4gPT4ge1xuICBjb25zdCBhdXRoSGVhZGVyID0gZXZlbnQuaGVhZGVycz8uYXV0aG9yaXphdGlvblxuICBpZiAoIWF1dGhIZWFkZXIgfHwgIWF1dGhIZWFkZXIuc3RhcnRzV2l0aChcIkJlYXJlciBcIikpIHtcbiAgICByZXR1cm4geyBpc0F1dGhvcml6ZWQ6IGZhbHNlIH1cbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHZlcmlmeUFjY2Vzc1Rva2VuKGF1dGhIZWFkZXIuc3Vic3RyaW5nKDcpKSAvLyBzdWJzdHJpbmcoNykgPT0gYWZ0ZXIgJ0JlYXJlciAnXG4gIHN3aXRjaCAocmVzdWx0KSB7XG4gICAgY2FzZSBcIklOVkFMSURcIjpcbiAgICAgIHJldHVybiB7IGlzQXV0aG9yaXplZDogZmFsc2UgfVxuICAgIGNhc2UgXCJFWFBJUkVEXCI6XG4gICAgICAvLyBXZSB3YW50IHRvIHJldHVybiA0MDEgVW5hdXRob3JpemVkIGZvciBleHBpcmVkIHRva2Vucywgc28gdGhlIGNsaWVudCBrbm93cyB0byByZWZyZXNoXG4gICAgICAvLyB0aGVpciB0b2tlbiB3aGVuIHJlY2VpdmluZyB0aGlzIHN0YXR1cyBjb2RlLiBBUEkgR2F0ZXdheSBMYW1iZGEgYXV0aG9yaXplcnMgcmV0dXJuXG4gICAgICAvLyA0MDMgRm9yYmlkZGVuIGZvciB7aXNBdXRob3JpemVkOiBmYWxzZX0sIGJ1dCB0aGVyZSBpcyBhIHdheSB0byByZXR1cm4gNDAxOiB0aHJvd2luZyBhblxuICAgICAgLy8gZXJyb3Igd2l0aCB0aGlzIGV4YWN0IHN0cmluZy4gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzcxOTY1ODkwXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmF1dGhvcml6ZWRcIilcbiAgICBkZWZhdWx0OiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpc0F1dGhvcml6ZWQ6IHRydWUsXG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBjbGllbnRJZDogcmVzdWx0LmNsaWVudF9pZCxcbiAgICAgICAgICBpbnRlcm5hbEF1dGhvcml6YXRpb25IZWFkZXI6IGF3YWl0IGdldEludGVybmFsQXV0aG9yaXphdGlvbkhlYWRlcigpLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiogRGVjb2RlcyBhbmQgdmVyaWZpZXMgdGhlIGdpdmVuIHRva2VuIGFnYWluc3QgQ29nbml0by4gKi9cbmFzeW5jIGZ1bmN0aW9uIHZlcmlmeUFjY2Vzc1Rva2VuKFxuICB0b2tlbjogc3RyaW5nLFxuKTogUHJvbWlzZTxDb2duaXRvQWNjZXNzVG9rZW5QYXlsb2FkIHwgXCJFWFBJUkVEXCIgfCBcIklOVkFMSURcIj4ge1xuICB0cnkge1xuICAgIGNvbnN0IHRva2VuVmVyaWZpZXIgPSBnZXRUb2tlblZlcmlmaWVyKClcbiAgICAvLyBNdXN0IGF3YWl0IGhlcmUgaW5zdGVhZCBvZiByZXR1cm5pbmcgdGhlIHByb21pc2UgZGlyZWN0bHksIHNvIHRoYXQgZXJyb3JzIGNhbiBiZSBjYXVnaHQgaW5cbiAgICAvLyB0aGlzIGZ1bmN0aW9uXG4gICAgcmV0dXJuIGF3YWl0IHRva2VuVmVyaWZpZXIudmVyaWZ5KHRva2VuKVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gSWYgdGhlIEpXVCBoYXMgZXhwaXJlZCwgYXdzLWp3dC12ZXJpZnkgdGhyb3dzIHRoaXMgZXJyb3I6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3c2xhYnMvYXdzLWp3dC12ZXJpZnkvYmxvYi84ZDhmNzE0ZDcyODE5MTNlY2Q2NjAxNDdmNWMzMDMxMTQ3OTYwMWMxL3NyYy9qd3QudHMjTDE5N1xuICAgIC8vIFdlIGNhbid0IGNoZWNrIGluc3RhbmNlb2Ygb24gdGhhdCBlcnJvciBjbGFzcywgc2luY2UgaXQncyBub3QgZXhwb3J0ZWQsIHNvIHRoaXMgaXMgdGhlIG5leHRcbiAgICAvLyBiZXN0IHRoaW5nLlxuICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5tZXNzYWdlPy5pbmNsdWRlcyhcIlRva2VuIGV4cGlyZWRcIikpIHtcbiAgICAgIHJldHVybiBcIkVYUElSRURcIlxuICAgIH1cbiAgICByZXR1cm4gXCJJTlZBTElEXCJcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBUb2tlblZlcmlmaWVyID0ge1xuICB2ZXJpZnk6IChhY2Nlc3NUb2tlbjogc3RyaW5nKSA9PiBQcm9taXNlPENvZ25pdG9BY2Nlc3NUb2tlblBheWxvYWQ+XG59XG5cbi8qKlxuICogV2UgY2FjaGUgdGhlIHZlcmlmaWVyIGluIHRoaXMgZ2xvYmFsIHZhcmlhYmxlLCBzbyB0aGF0IHN1YnNlcXVlbnQgaW52b2NhdGlvbnMgb2YgYSBob3QgbGFtYmRhXG4gKiB3aWxsIHJlLXVzZSB0aGlzLlxuICovXG5sZXQgY2FjaGVkVG9rZW5WZXJpZmllcjogVG9rZW5WZXJpZmllciB8IHVuZGVmaW5lZFxuXG5mdW5jdGlvbiBnZXRUb2tlblZlcmlmaWVyKCk6IFRva2VuVmVyaWZpZXIge1xuICBpZiAoY2FjaGVkVG9rZW5WZXJpZmllciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FjaGVkVG9rZW5WZXJpZmllciA9IGRlcGVuZGVuY2llcy5jcmVhdGVUb2tlblZlcmlmaWVyKClcbiAgfVxuICByZXR1cm4gY2FjaGVkVG9rZW5WZXJpZmllclxufVxuXG4vKiogRm9yIG92ZXJyaWRpbmcgZGVwZW5kZW5jeSBjcmVhdGlvbiBpbiB0ZXN0cy4gKi9cbmV4cG9ydCBjb25zdCBkZXBlbmRlbmNpZXMgPSB7XG4gIGNyZWF0ZVRva2VuVmVyaWZpZXI6ICgpOiBUb2tlblZlcmlmaWVyID0+IHtcbiAgICBjb25zdCB1c2VyUG9vbElkID0gcHJvY2Vzcy5lbnYuVVNFUl9QT09MX0lEXG4gICAgaWYgKCF1c2VyUG9vbElkKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFwiVVNFUl9QT09MX0lEIGVudiB2YXJpYWJsZSBpcyBub3QgZGVmaW5lZFwiKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKClcbiAgICB9XG5cbiAgICByZXR1cm4gQ29nbml0b0p3dFZlcmlmaWVyLmNyZWF0ZSh7XG4gICAgICB1c2VyUG9vbElkLFxuICAgICAgdG9rZW5Vc2U6IFwiYWNjZXNzXCIsXG4gICAgICBjbGllbnRJZDogbnVsbCxcbiAgICAgIHNjb3BlOiBwcm9jZXNzLmVudi5SRVFVSVJFRF9TQ09QRSB8fCB1bmRlZmluZWQsIC8vIGB8fCB1bmRlZmluZWRgIHRvIGRpc2NhcmQgZW1wdHkgc3RyaW5nXG4gICAgfSlcbiAgfSxcbiAgY3JlYXRlU2VjcmV0c01hbmFnZXI6ICgpID0+IG5ldyBTZWNyZXRzTWFuYWdlcigpLFxufVxuXG4vKiogQ2FjaGUgdGhpcyB2YWx1ZSwgc28gdGhhdCBzdWJzZXF1ZW50IGxhbWJkYSBpbnZvY2F0aW9ucyBkb24ndCBoYXZlIHRvIHJlZmV0Y2guICovXG5sZXQgY2FjaGVkSW50ZXJuYWxBdXRob3JpemF0aW9uSGVhZGVyOiBzdHJpbmcgfCB1bmRlZmluZWRcblxuYXN5bmMgZnVuY3Rpb24gZ2V0SW50ZXJuYWxBdXRob3JpemF0aW9uSGVhZGVyKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gIGlmIChjYWNoZWRJbnRlcm5hbEF1dGhvcml6YXRpb25IZWFkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IHNlY3JldE5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9XG4gICAgICBwcm9jZXNzLmVudi5DUkVERU5USUFMU19GT1JfSU5URVJOQUxfQVVUSE9SSVpBVElPTlxuICAgIGlmICghc2VjcmV0TmFtZSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNhY2hlZEludGVybmFsQXV0aG9yaXphdGlvbkhlYWRlciA9XG4gICAgICBhd2FpdCBnZXRTZWNyZXRBc0Jhc2ljQXV0aEhlYWRlcihzZWNyZXROYW1lKVxuICB9XG5cbiAgcmV0dXJuIGNhY2hlZEludGVybmFsQXV0aG9yaXphdGlvbkhlYWRlclxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRTZWNyZXRBc0Jhc2ljQXV0aEhlYWRlcihzZWNyZXROYW1lOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBjcmVkZW50aWFscyA9IGF3YWl0IGdldFNlY3JldFZhbHVlKHNlY3JldE5hbWUpXG4gIGlmICghc2VjcmV0SGFzRXhwZWN0ZWRGb3JtYXQoY3JlZGVudGlhbHMpKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIGBCYXNpYyBhdXRoIGNyZWRlbnRpYWxzIHNlY3JldCBkaWQgbm90IGZvbGxvdyBleHBlY3RlZCBmb3JtYXQgKHNlY3JldCBuYW1lOiAnJHtzZWNyZXROYW1lfScpYCxcbiAgICApXG4gICAgdGhyb3cgbmV3IEVycm9yKClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgXCJCYXNpYyBcIiArXG4gICAgQnVmZmVyLmZyb20oYCR7Y3JlZGVudGlhbHMudXNlcm5hbWV9OiR7Y3JlZGVudGlhbHMucGFzc3dvcmR9YCkudG9TdHJpbmcoXG4gICAgICBcImJhc2U2NFwiLFxuICAgIClcbiAgKVxufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRTZWNyZXRWYWx1ZShzZWNyZXROYW1lOiBzdHJpbmcpOiBQcm9taXNlPHVua25vd24+IHtcbiAgY29uc3QgY2xpZW50ID0gZGVwZW5kZW5jaWVzLmNyZWF0ZVNlY3JldHNNYW5hZ2VyKClcbiAgY29uc3Qgc2VjcmV0ID0gYXdhaXQgY2xpZW50LmdldFNlY3JldFZhbHVlKHsgU2VjcmV0SWQ6IHNlY3JldE5hbWUgfSlcblxuICBpZiAoIXNlY3JldC5TZWNyZXRTdHJpbmcpIHtcbiAgICBjb25zb2xlLmVycm9yKGBTZWNyZXQgdmFsdWUgbm90IGZvdW5kIGZvciAnJHtzZWNyZXROYW1lfSdgKVxuICAgIHRocm93IG5ldyBFcnJvcigpXG4gIH1cblxuICByZXR1cm4gSlNPTi5wYXJzZShzZWNyZXQuU2VjcmV0U3RyaW5nKVxufVxuXG5mdW5jdGlvbiBzZWNyZXRIYXNFeHBlY3RlZEZvcm1hdChcbiAgdmFsdWU6IHVua25vd24sXG4pOiB2YWx1ZSBpcyB7IHVzZXJuYW1lOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICBcInVzZXJuYW1lXCIgaW4gdmFsdWUgJiZcbiAgICB0eXBlb2YgdmFsdWUudXNlcm5hbWUgPT09IFwic3RyaW5nXCIgJiZcbiAgICBcInBhc3N3b3JkXCIgaW4gdmFsdWUgJiZcbiAgICB0eXBlb2YgdmFsdWUucGFzc3dvcmQgPT09IFwic3RyaW5nXCJcbiAgKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJDYWNoZSgpIHtcbiAgY2FjaGVkVG9rZW5WZXJpZmllciA9IHVuZGVmaW5lZFxuICBjYWNoZWRJbnRlcm5hbEF1dGhvcml6YXRpb25IZWFkZXIgPSB1bmRlZmluZWRcbn1cbiJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29nbml0by11c2VyLXBvb2wtYXV0aG9yaXplci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGktZ2F0ZXdheS9hdXRob3JpemVycy9jb2duaXRvLXVzZXItcG9vbC1hdXRob3JpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztHQVdHO0FBRUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBZ0NuRCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUMxQixLQUF5QyxFQUNkLEVBQUU7SUFDN0IsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUE7SUFDL0MsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUN2QyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQSxDQUFDLGtDQUFrQztJQUNsRyxRQUFRLE1BQU0sRUFBRSxDQUFDO1FBQ2YsS0FBSyxTQUFTO1lBQ1osT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQTtRQUNoQyxLQUFLLFNBQVM7WUFDWix3RkFBd0Y7WUFDeEYscUZBQXFGO1lBQ3JGLHlGQUF5RjtZQUN6RixxRUFBcUU7WUFDckUsTUFBTSxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUNqQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ1IsT0FBTztnQkFDTCxZQUFZLEVBQUUsSUFBSTtnQkFDbEIsT0FBTyxFQUFFO29CQUNQLFFBQVEsRUFBRSxNQUFNLENBQUMsU0FBUztvQkFDMUIsMkJBQTJCLEVB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SCxDQUFDO0FBRUQsS0FBSyxVQUFVLGNBQWMsQ0FBQyxVQUFrQjtJQUM5QyxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQTtJQUNsRCxNQUFNLE1BQU0sR0FBRyxNQUFNLE1BQU0sQ0FBQyxjQUFjLENBQUMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQTtJQUVwRSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsK0JBQStCLFVBQVUsR0FBRyxDQUFDLENBQUE7UUFDM0QsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO0FBQ3hDLENBQUM7QUFFRCxTQUFTLHVCQUF1QixDQUM5QixLQUFjO0lBRWQsT0FBTyxDQUNMLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsS0FBSyxLQUFLLElBQUk7UUFDZCxVQUFVLElBQUksS0FBSztRQUNuQixPQUFPLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUTtRQUNsQyxVQUFVLElBQUksS0FBSztRQUNuQixPQUFPLEtBQUssQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUNuQyxDQUFBO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVO0lBQ3hCLG1CQUFtQixHQUFHLFNBQVMsQ0FBQTtJQUMvQixpQ0FBaUMsR0FBRyxTQUFTLENBQUE7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBsYW1iZGEgdmVyaWZpZXMgYWNjZXNzIHRva2VuIGluIEJlYXJlciBhdXRob3JpemF0aW9uIGhlYWRlciB1c2luZyBDb2duaXRvLlxuICpcbiAqIEV4cGVjdHMgdGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIFVTRVJfUE9PTF9JRFxuICogLSBSRVFVSVJFRF9TQ09QRSAob3B0aW9uYWwpXG4gKiAgIC0gU2V0IHRoaXMgdG8gcmVxdWlyZSB0aGF0IHRoZSBhY2Nlc3MgdG9rZW4gcGF5bG9hZCBjb250YWlucyB0aGUgZ2l2ZW4gc2NvcGVcbiAqIC0gQ1JFREVOVElBTFNfRk9SX0lOVEVSTkFMX0FVVEhPUklaQVRJT04gKG9wdGlvbmFsKVxuICogICAtIFNlY3JldCBuYW1lIGZyb20gd2hpY2ggdG8gZ2V0IGJhc2ljIGF1dGggY3JlZGVudGlhbHMgdGhhdCBzaG91bGQgYmUgZm9yd2FyZGVkIHRvIGJhY2tlbmRcbiAqICAgICBpbnRlZ3JhdGlvbiBpZiBhdXRoZW50aWNhdGlvbiBzdWNjZWVkc1xuICogICAtIFNlY3JldCB2YWx1ZSBzaG91bGQgZm9sbG93IHRoaXMgZm9ybWF0OiBge1widXNlcm5hbWVcIjpcIjx1c2VybmFtZT5cIixcInBhc3N3b3JkXCI6XCI8cGFzc3dvcmQ+XCJ9YFxuICovXG5cbmltcG9ydCB7IFNlY3JldHNNYW5hZ2VyIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIlxuaW1wb3J0IHsgQ29nbml0b0p3dFZlcmlmaWVyIH0gZnJvbSBcImF3cy1qd3QtdmVyaWZ5XCJcbmltcG9ydCB0eXBlIHsgQ29nbml0b0FjY2Vzc1Rva2VuUGF5bG9hZCB9IGZyb20gXCJhd3Mtand0LXZlcmlmeS9qd3QtbW9kZWxcIlxuaW1wb3J0IHR5cGUge1xuICBBUElHYXRld2F5UmVxdWVzdEF1dGhvcml6ZXJFdmVudFYyLFxuICBBUElHYXRld2F5U2ltcGxlQXV0aG9yaXplclJlc3VsdCxcbn0gZnJvbSBcImF3cy1sYW1iZGFcIlxuXG50eXBlIEF1dGhvcml6ZXJSZXN1bHQgPSBBUElHYXRld2F5U2ltcGxlQXV0aG9yaXplclJlc3VsdCAmIHtcbiAgLyoqXG4gICAqIFJldHVybmluZyBhIGNvbnRleHQgb2JqZWN0IGZyb20gb3VyIGF1dGhvcml6ZXIgYWxsb3dzIG91ciBBUEkgR2F0ZXdheSB0byBhY2Nlc3MgdGhlc2UgdmFyaWFibGVzXG4gICAqIHZpYSBgJHtjb250ZXh0LmF1dGhvcml6ZXIuPHByb3BlcnR5Pn1gLlxuICAgKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXBpZ2F0ZXdheS9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaHR0cC1hcGktcGFyYW1ldGVyLW1hcHBpbmcuaHRtbFxuICAgKi9cbiAgY29udGV4dD86IHtcbiAgICAvKipcbiAgICAgKiBJZiB0aGUgdG9rZW4gaXMgdmVyaWZpZWQsIHdlIHJldHVybiB0aGUgYXV0aCBjbGllbnQgSUQgZnJvbSB0aGUgdG9rZW4ncyBjbGFpbXMgYXMgYSBjb250ZXh0XG4gICAgICogdmFyaWFibGUgKG5hbWVkIGBhdXRob3JpemVyLmNsaWVudElkYCkuIFdlIHVzZSB0aGlzIHRvIGluY2x1ZGUgdGhlIHJlcXVlc3RpbmcgY2xpZW50IGluIHRoZVxuICAgICAqIEFQSSBHYXRld2F5IGFjY2VzcyBsb2dzIChzZWUgYGRlZmF1bHRBY2Nlc3NMb2dGb3JtYXRgIGluIG91ciBgQXBpR2F0ZXdheWAgY29uc3RydWN0KS4gWW91IGNhblxuICAgICAqIGFsc28gdXNlIHRoaXMgd2hlbiBtYXBwaW5nIHBhcmFtZXRlcnMgdG8gdGhlIGJhY2tlbmQgaW50ZWdyYXRpb24gKHNlZVxuICAgICAqIGBBbGJJbnRlZ3JhdGlvblByb3BzLm1hcFBhcmFtZXRlcnNgIG9uIHRoZSBgQXBpR2F0ZXdheWAgY29uc3RydWN0KS5cbiAgICAgKi9cbiAgICBjbGllbnRJZDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogSWYgYENSRURFTlRJQUxTX0ZPUl9JTlRFUk5BTF9BVVRIT1JJWkFUSU9OYCBpcyBwcm92aWRlZCwgd2Ugd2FudCB0byBmb3J3YXJkIGJhc2ljIGF1dGhcbiAgICAgKiBjcmVkZW50aWFscyB0byBvdXIgYmFja2VuZCwgYXMgYW4gYWRkaXRpb25hbCBhdXRoZW50aWNhdGlvbiBsYXllci4gU2VlIHRoZSBkb2NzdHJpbmcgb25cbiAgICAgKiBgQ29nbml0b1VzZXJQb29sQXV0aG9yaXplclByb3BzLmJhc2ljQXV0aEZvckludGVybmFsQXV0aG9yaXphdGlvbmAgaW4gdGhlIGBBcGlHYXRld2F5YFxuICAgICAqIGNvbnN0cnVjdCBmb3IgbW9yZSBvbiB0aGlzLlxuICAgICAqL1xuICAgIGludGVybmFsQXV0aG9yaXphdGlvbkhlYWRlcj86IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVyID0gYXN5bmMgKFxuICBldmVudDogQVBJR2F0ZXdheVJlcXVlc3RBdXRob3JpemVyRXZlbnRWMixcbik6IFByb21pc2U8QXV0aG9yaXplclJlc3VsdD4gPT4ge1xuICBjb25zdCBhdXRoSGVhZGVyID0gZXZlbnQuaGVhZGVycz8uYXV0aG9yaXphdGlvblxuICBpZiAoIWF1dGhIZWFkZXI/LnN0YXJ0c1dpdGgoXCJCZWFyZXIgXCIpKSB7XG4gICAgcmV0dXJuIHsgaXNBdXRob3JpemVkOiBmYWxzZSB9XG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCB2ZXJpZnlBY2Nlc3NUb2tlbihhdXRoSGVhZGVyLnN1YnN0cmluZyg3KSkgLy8gc3Vic3RyaW5nKDcpID09IGFmdGVyICdCZWFyZXIgJ1xuICBzd2l0Y2ggKHJlc3VsdCkge1xuICAgIGNhc2UgXCJJTlZBTElEXCI6XG4gICAgICByZXR1cm4geyBpc0F1dGhvcml6ZWQ6IGZhbHNlIH1cbiAgICBjYXNlIFwiRVhQSVJFRFwiOlxuICAgICAgLy8gV2Ugd2FudCB0byByZXR1cm4gNDAxIFVuYXV0aG9yaXplZCBmb3IgZXhwaXJlZCB0b2tlbnMsIHNvIHRoZSBjbGllbnQga25vd3MgdG8gcmVmcmVzaFxuICAgICAgLy8gdGhlaXIgdG9rZW4gd2hlbiByZWNlaXZpbmcgdGhpcyBzdGF0dXMgY29kZS4gQVBJIEdhdGV3YXkgTGFtYmRhIGF1dGhvcml6ZXJzIHJldHVyblxuICAgICAgLy8gNDAzIEZvcmJpZGRlbiBmb3Ige2lzQXV0aG9yaXplZDogZmFsc2V9LCBidXQgdGhlcmUgaXMgYSB3YXkgdG8gcmV0dXJuIDQwMTogdGhyb3dpbmcgYW5cbiAgICAgIC8vIGVycm9yIHdpdGggdGhpcyBleGFjdCBzdHJpbmcuIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS83MTk2NTg5MFxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVW5hdXRob3JpemVkXCIpXG4gICAgZGVmYXVsdDoge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXNBdXRob3JpemVkOiB0cnVlLFxuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgY2xpZW50SWQ6IHJlc3VsdC5jbGllbnRfaWQsXG4gICAgICAgICAgaW50ZXJuYWxBdXRob3JpemF0aW9uSGVhZGVyOiBhd2FpdCBnZXRJbnRlcm5hbEF1dGhvcml6YXRpb25IZWFkZXIoKSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqIERlY29kZXMgYW5kIHZlcmlmaWVzIHRoZSBnaXZlbiB0b2tlbiBhZ2FpbnN0IENvZ25pdG8uICovXG5hc3luYyBmdW5jdGlvbiB2ZXJpZnlBY2Nlc3NUb2tlbihcbiAgdG9rZW46IHN0cmluZyxcbik6IFByb21pc2U8Q29nbml0b0FjY2Vzc1Rva2VuUGF5bG9hZCB8IFwiRVhQSVJFRFwiIHwgXCJJTlZBTElEXCI+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB0b2tlblZlcmlmaWVyID0gZ2V0VG9rZW5WZXJpZmllcigpXG4gICAgLy8gTXVzdCBhd2FpdCBoZXJlIGluc3RlYWQgb2YgcmV0dXJuaW5nIHRoZSBwcm9taXNlIGRpcmVjdGx5LCBzbyB0aGF0IGVycm9ycyBjYW4gYmUgY2F1Z2h0IGluXG4gICAgLy8gdGhpcyBmdW5jdGlvblxuICAgIHJldHVybiBhd2FpdCB0b2tlblZlcmlmaWVyLnZlcmlmeSh0b2tlbilcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIElmIHRoZSBKV1QgaGFzIGV4cGlyZWQsIGF3cy1qd3QtdmVyaWZ5IHRocm93cyB0aGlzIGVycm9yOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3NsYWJzL2F3cy1qd3QtdmVyaWZ5L2Jsb2IvOGQ4ZjcxNGQ3MjgxOTEzZWNkNjYwMTQ3ZjVjMzAzMTE0Nzk2MDFjMS9zcmMvand0LnRzI0wxOTdcbiAgICAvLyBXZSBjYW4ndCBjaGVjayBpbnN0YW5jZW9mIG9uIHRoYXQgZXJyb3IgY2xhc3MsIHNpbmNlIGl0J3Mgbm90IGV4cG9ydGVkLCBzbyB0aGlzIGlzIHRoZSBuZXh0XG4gICAgLy8gYmVzdCB0aGluZy5cbiAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUubWVzc2FnZT8uaW5jbHVkZXMoXCJUb2tlbiBleHBpcmVkXCIpKSB7XG4gICAgICByZXR1cm4gXCJFWFBJUkVEXCJcbiAgICB9XG4gICAgcmV0dXJuIFwiSU5WQUxJRFwiXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgVG9rZW5WZXJpZmllciA9IHtcbiAgdmVyaWZ5OiAoYWNjZXNzVG9rZW46IHN0cmluZykgPT4gUHJvbWlzZTxDb2duaXRvQWNjZXNzVG9rZW5QYXlsb2FkPlxufVxuXG4vKipcbiAqIFdlIGNhY2hlIHRoZSB2ZXJpZmllciBpbiB0aGlzIGdsb2JhbCB2YXJpYWJsZSwgc28gdGhhdCBzdWJzZXF1ZW50IGludm9jYXRpb25zIG9mIGEgaG90IGxhbWJkYVxuICogd2lsbCByZS11c2UgdGhpcy5cbiAqL1xubGV0IGNhY2hlZFRva2VuVmVyaWZpZXI6IFRva2VuVmVyaWZpZXIgfCB1bmRlZmluZWRcblxuZnVuY3Rpb24gZ2V0VG9rZW5WZXJpZmllcigpOiBUb2tlblZlcmlmaWVyIHtcbiAgaWYgKGNhY2hlZFRva2VuVmVyaWZpZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhY2hlZFRva2VuVmVyaWZpZXIgPSBkZXBlbmRlbmNpZXMuY3JlYXRlVG9rZW5WZXJpZmllcigpXG4gIH1cbiAgcmV0dXJuIGNhY2hlZFRva2VuVmVyaWZpZXJcbn1cblxuLyoqIEZvciBvdmVycmlkaW5nIGRlcGVuZGVuY3kgY3JlYXRpb24gaW4gdGVzdHMuICovXG5leHBvcnQgY29uc3QgZGVwZW5kZW5jaWVzID0ge1xuICBjcmVhdGVUb2tlblZlcmlmaWVyOiAoKTogVG9rZW5WZXJpZmllciA9PiB7XG4gICAgY29uc3QgdXNlclBvb2xJZCA9IHByb2Nlc3MuZW52LlVTRVJfUE9PTF9JRFxuICAgIGlmICghdXNlclBvb2xJZCkge1xuICAgICAgY29uc29sZS5lcnJvcihcIlVTRVJfUE9PTF9JRCBlbnYgdmFyaWFibGUgaXMgbm90IGRlZmluZWRcIilcbiAgICAgIHRocm93IG5ldyBFcnJvcigpXG4gICAgfVxuXG4gICAgcmV0dXJuIENvZ25pdG9Kd3RWZXJpZmllci5jcmVhdGUoe1xuICAgICAgdXNlclBvb2xJZCxcbiAgICAgIHRva2VuVXNlOiBcImFjY2Vzc1wiLFxuICAgICAgY2xpZW50SWQ6IG51bGwsXG4gICAgICBzY29wZTogcHJvY2Vzcy5lbnYuUkVRVUlSRURfU0NPUEUgfHwgdW5kZWZpbmVkLCAvLyBgfHwgdW5kZWZpbmVkYCB0byBkaXNjYXJkIGVtcHR5IHN0cmluZ1xuICAgIH0pXG4gIH0sXG4gIGNyZWF0ZVNlY3JldHNNYW5hZ2VyOiAoKSA9PiBuZXcgU2VjcmV0c01hbmFnZXIoKSxcbn1cblxuLyoqIENhY2hlIHRoaXMgdmFsdWUsIHNvIHRoYXQgc3Vic2VxdWVudCBsYW1iZGEgaW52b2NhdGlvbnMgZG9uJ3QgaGF2ZSB0byByZWZldGNoLiAqL1xubGV0IGNhY2hlZEludGVybmFsQXV0aG9yaXphdGlvbkhlYWRlcjogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbmFzeW5jIGZ1bmN0aW9uIGdldEludGVybmFsQXV0aG9yaXphdGlvbkhlYWRlcigpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBpZiAoY2FjaGVkSW50ZXJuYWxBdXRob3JpemF0aW9uSGVhZGVyID09PSB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBzZWNyZXROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQgPVxuICAgICAgcHJvY2Vzcy5lbnYuQ1JFREVOVElBTFNfRk9SX0lOVEVSTkFMX0FVVEhPUklaQVRJT05cbiAgICBpZiAoIXNlY3JldE5hbWUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjYWNoZWRJbnRlcm5hbEF1dGhvcml6YXRpb25IZWFkZXIgPVxuICAgICAgYXdhaXQgZ2V0U2VjcmV0QXNCYXNpY0F1dGhIZWFkZXIoc2VjcmV0TmFtZSlcbiAgfVxuXG4gIHJldHVybiBjYWNoZWRJbnRlcm5hbEF1dGhvcml6YXRpb25IZWFkZXJcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0U2VjcmV0QXNCYXNpY0F1dGhIZWFkZXIoc2VjcmV0TmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgY3JlZGVudGlhbHMgPSBhd2FpdCBnZXRTZWNyZXRWYWx1ZShzZWNyZXROYW1lKVxuICBpZiAoIXNlY3JldEhhc0V4cGVjdGVkRm9ybWF0KGNyZWRlbnRpYWxzKSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICBgQmFzaWMgYXV0aCBjcmVkZW50aWFscyBzZWNyZXQgZGlkIG5vdCBmb2xsb3cgZXhwZWN0ZWQgZm9ybWF0IChzZWNyZXQgbmFtZTogJyR7c2VjcmV0TmFtZX0nKWAsXG4gICAgKVxuICAgIHRocm93IG5ldyBFcnJvcigpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIFwiQmFzaWMgXCIgK1xuICAgIEJ1ZmZlci5mcm9tKGAke2NyZWRlbnRpYWxzLnVzZXJuYW1lfToke2NyZWRlbnRpYWxzLnBhc3N3b3JkfWApLnRvU3RyaW5nKFxuICAgICAgXCJiYXNlNjRcIixcbiAgICApXG4gIClcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0U2VjcmV0VmFsdWUoc2VjcmV0TmFtZTogc3RyaW5nKTogUHJvbWlzZTx1bmtub3duPiB7XG4gIGNvbnN0IGNsaWVudCA9IGRlcGVuZGVuY2llcy5jcmVhdGVTZWNyZXRzTWFuYWdlcigpXG4gIGNvbnN0IHNlY3JldCA9IGF3YWl0IGNsaWVudC5nZXRTZWNyZXRWYWx1ZSh7IFNlY3JldElkOiBzZWNyZXROYW1lIH0pXG5cbiAgaWYgKCFzZWNyZXQuU2VjcmV0U3RyaW5nKSB7XG4gICAgY29uc29sZS5lcnJvcihgU2VjcmV0IHZhbHVlIG5vdCBmb3VuZCBmb3IgJyR7c2VjcmV0TmFtZX0nYClcbiAgICB0aHJvdyBuZXcgRXJyb3IoKVxuICB9XG5cbiAgcmV0dXJuIEpTT04ucGFyc2Uoc2VjcmV0LlNlY3JldFN0cmluZylcbn1cblxuZnVuY3Rpb24gc2VjcmV0SGFzRXhwZWN0ZWRGb3JtYXQoXG4gIHZhbHVlOiB1bmtub3duLFxuKTogdmFsdWUgaXMgeyB1c2VybmFtZTogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgXCJ1c2VybmFtZVwiIGluIHZhbHVlICYmXG4gICAgdHlwZW9mIHZhbHVlLnVzZXJuYW1lID09PSBcInN0cmluZ1wiICYmXG4gICAgXCJwYXNzd29yZFwiIGluIHZhbHVlICYmXG4gICAgdHlwZW9mIHZhbHVlLnBhc3N3b3JkID09PSBcInN0cmluZ1wiXG4gIClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyQ2FjaGUoKSB7XG4gIGNhY2hlZFRva2VuVmVyaWZpZXIgPSB1bmRlZmluZWRcbiAgY2FjaGVkSW50ZXJuYWxBdXRob3JpemF0aW9uSGVhZGVyID0gdW5kZWZpbmVkXG59XG4iXX0=
|
|
@@ -9,6 +9,11 @@ export class CrossRegionSsmParameter extends constructs.Construct {
|
|
|
9
9
|
const physicalResourceId = cr.PhysicalResourceId.of(props.name);
|
|
10
10
|
// TODO: Can we somehow propagate tags as well?
|
|
11
11
|
new cr.AwsCustomResource(this, "Resoure", {
|
|
12
|
+
// Use SDK bundled with the Lambda runtime instead of installing the
|
|
13
|
+
// latest at execution time. Avoids ~60s npm install on every invocation
|
|
14
|
+
// and removes a runtime dependency on npmjs.com availability.
|
|
15
|
+
// https://constructs.dev/packages/aws-cdk-lib/v/2.251.0?submodule=custom_resources&lang=typescript
|
|
16
|
+
installLatestAwsSdk: false,
|
|
12
17
|
onUpdate: {
|
|
13
18
|
service: "SSM",
|
|
14
19
|
action: "putParameter",
|
|
@@ -39,4 +44,4 @@ export class CrossRegionSsmParameter extends constructs.Construct {
|
|
|
39
44
|
});
|
|
40
45
|
}
|
|
41
46
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3MtcmVnaW9uLXNzbS1wYXJhbWV0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY3Jvc3MtcmVnaW9uLXNzbS1wYXJhbWV0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUNsRCxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQVF4Qzs7R0FFRztBQUNILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxVQUFVLENBQUMsU0FBUztJQUMvRCxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQVk7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRS9ELCtDQUErQztRQUMvQyxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3hDLG9FQUFvRTtZQUNwRSx3RUFBd0U7WUFDeEUsOERBQThEO1lBQzlELG1HQUFtRztZQUNuRyxtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsY0FBYztnQkFDdEIsVUFBVSxFQUFFO29CQUNWLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtvQkFDaEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO29CQUNsQixJQUFJLEVBQUUsUUFBUTtvQkFDZCxTQUFTLEVBQUUsSUFBSTtpQkFDaEI7Z0JBQ0QsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixrQkFBa0I7YUFDbkI7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLGlCQUFpQjtnQkFDekIsVUFBVSxFQUFFO29CQUNWLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtpQkFDakI7Z0JBQ0QsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO2dCQUNwQixrQkFBa0I7YUFDbkI7WUFDRCxNQUFNLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQztnQkFDOUMsc0RBQXNEO2dCQUN0RCxvREFBb0Q7Z0JBQ3BELHFCQUFxQjtnQkFDckIsU0FBUyxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZO2FBQ25ELENBQUM7U0FDSCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgcmVnaW9uOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHZhbHVlOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBTU00gUGFyYW1ldGVyIHN0b3JlZCBpbiBhbm90aGVyIHJlZ2lvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENyb3NzUmVnaW9uU3NtUGFyYW1ldGVyIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZClcblxuICAgIGNvbnN0IHBoeXNpY2FsUmVzb3VyY2VJZCA9IGNyLlBoeXNpY2FsUmVzb3VyY2VJZC5vZihwcm9wcy5uYW1lKVxuXG4gICAgLy8gVE9ETzogQ2FuIHdlIHNvbWVob3cgcHJvcGFnYXRlIHRhZ3MgYXMgd2VsbD9cbiAgICBuZXcgY3IuQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJSZXNvdXJlXCIsIHtcbiAgICAgIC8vIFVzZSBTREsgYnVuZGxlZCB3aXRoIHRoZSBMYW1iZGEgcnVudGltZSBpbnN0ZWFkIG9mIGluc3RhbGxpbmcgdGhlXG4gICAgICAvLyBsYXRlc3QgYXQgZXhlY3V0aW9uIHRpbWUuIEF2b2lkcyB+NjBzIG5wbSBpbnN0YWxsIG9uIGV2ZXJ5IGludm9jYXRpb25cbiAgICAgIC8vIGFuZCByZW1vdmVzIGEgcnVudGltZSBkZXBlbmRlbmN5IG9uIG5wbWpzLmNvbSBhdmFpbGFiaWxpdHkuXG4gICAgICAvLyBodHRwczovL2NvbnN0cnVjdHMuZGV2L3BhY2thZ2VzL2F3cy1jZGstbGliL3YvMi4yNTEuMD9zdWJtb2R1bGU9Y3VzdG9tX3Jlc291cmNlcyZsYW5nPXR5cGVzY3JpcHRcbiAgICAgIGluc3RhbGxMYXRlc3RBd3NTZGs6IGZhbHNlLFxuICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgc2VydmljZTogXCJTU01cIixcbiAgICAgICAgYWN0aW9uOiBcInB1dFBhcmFtZXRlclwiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgTmFtZTogcHJvcHMubmFtZSxcbiAgICAgICAgICBWYWx1ZTogcHJvcHMudmFsdWUsXG4gICAgICAgICAgVHlwZTogXCJTdHJpbmdcIixcbiAgICAgICAgICBPdmVyd3JpdGU6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlZ2lvbjogcHJvcHMucmVnaW9uLFxuICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQsXG4gICAgICB9LFxuICAgICAgb25EZWxldGU6IHtcbiAgICAgICAgc2VydmljZTogXCJTU01cIixcbiAgICAgICAgYWN0aW9uOiBcImRlbGV0ZVBhcmFtZXRlclwiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgTmFtZTogcHJvcHMubmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZCxcbiAgICAgIH0sXG4gICAgICBwb2xpY3k6IGNyLkF3c0N1c3RvbVJlc291cmNlUG9saWN5LmZyb21TZGtDYWxscyh7XG4gICAgICAgIC8vIFdlIGdyYW50IHRoZSBDdXN0b20gUmVzb3VyY2UgYWNjZXNzIHRvIHdyaXRlIHRvIGFueVxuICAgICAgICAvLyBwYXJhbWV0ZXIsIGFzIHRoaXMgaXMgbmVlZGVkIHRvIGJlIGFibGUgdG8gcmVuYW1lXG4gICAgICAgIC8vIGEgcGFyYW1ldGVyIGxhdGVyLlxuICAgICAgICByZXNvdXJjZXM6IGNyLkF3c0N1c3RvbVJlc291cmNlUG9saWN5LkFOWV9SRVNPVVJDRSxcbiAgICAgIH0pLFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
package/lib/ecs/cluster.js
CHANGED
|
@@ -34,7 +34,16 @@ export class Cluster extends constructs.Construct {
|
|
|
34
34
|
clusterArn: [this.cluster.clusterArn],
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
|
-
targets: [
|
|
37
|
+
targets: [
|
|
38
|
+
new targets.CloudWatchLogGroup(this.clusterEventLogs, {
|
|
39
|
+
// Use SDK bundled with the Lambda runtime instead of installing the
|
|
40
|
+
// latest at execution time. Avoids ~60s npm install on every
|
|
41
|
+
// invocation and removes a runtime dependency on npmjs.com
|
|
42
|
+
// availability.
|
|
43
|
+
// https://constructs.dev/packages/aws-cdk-lib/v/2.251.0?submodule=custom_resources&lang=typescript
|
|
44
|
+
installLatestAwsSdk: false,
|
|
45
|
+
}),
|
|
46
|
+
],
|
|
38
47
|
});
|
|
39
48
|
if (props.alarmAction) {
|
|
40
49
|
this.addRestartFrequencyAlarm(props.alarmAction);
|
|
@@ -65,4 +74,4 @@ export class Cluster extends constructs.Construct {
|
|
|
65
74
|
alarm.addOkAction(action);
|
|
66
75
|
}
|
|
67
76
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2x1c3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lY3MvY2x1c3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssR0FBRyxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLEtBQUssVUFBVSxNQUFNLDRCQUE0QixDQUFBO0FBRXhELE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLE1BQU0sTUFBTSx3QkFBd0IsQ0FBQTtBQUNoRCxPQUFPLEtBQUssT0FBTyxNQUFNLGdDQUFnQyxDQUFBO0FBQ3pELE9BQU8sS0FBSyxJQUFJLE1BQU0sc0JBQXNCLENBQUE7QUFDNUMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFjeEMsTUFBTSxPQUFPLE9BQVEsU0FBUSxVQUFVLENBQUMsU0FBUztJQUMvQixPQUFPLENBQWE7SUFDcEIsZ0JBQWdCLENBQWU7SUFFL0MsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUFtQjtRQUN0RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1FBRWhCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDL0MsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLDJCQUEyQixFQUFFO2dCQUMzQixxREFBcUQ7Z0JBQ3JELG9EQUFvRDtnQkFDcEQsaUNBQWlDO2dCQUNqQyxnREFBZ0Q7Z0JBQ2hELE9BQU8sRUFBRSxHQUFHLENBQUMscUJBQXFCLENBQUMsSUFBSTthQUN4QztTQUNGLENBQUMsQ0FBQTtRQUVGLCtEQUErRDtRQUMvRCwyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQzNELFNBQVMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7WUFDdkMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTztTQUN6QyxDQUFDLENBQUE7UUFFRixJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNqQyxZQUFZLEVBQUU7Z0JBQ1osTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDO2dCQUNuQixNQUFNLEVBQUU7b0JBQ04sVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7aUJBQ3RDO2FBQ0Y7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsSUFBSSxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUNwRCxvRUFBb0U7b0JBQ3BFLDZEQUE2RDtvQkFDN0QsMkRBQTJEO29CQUMzRCxnQkFBZ0I7b0JBQ2hCLG1HQUFtRztvQkFDbkcsbUJBQW1CLEVBQUUsS0FBSztpQkFDM0IsQ0FBQzthQUNIO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNsRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssd0JBQXdCLENBQUMsTUFBK0I7UUFDOUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUM3RCwrQkFBK0IsRUFDL0I7WUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUM1QixlQUFlLEVBQ2YsR0FBRyxFQUNILHVCQUF1QixDQUN4QixFQUNELElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUM1QixxQkFBcUIsRUFDckIsR0FBRyxFQUNILGNBQWMsQ0FDZixDQUNGO1lBQ0QsVUFBVSxFQUFFLGNBQWM7WUFDMUIsZUFBZSxFQUFFLGVBQWUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7U0FDM0QsQ0FDRixDQUFBO1FBRUQsTUFBTSxLQUFLLEdBQUcsaUJBQWlCO2FBQzVCLE1BQU0sRUFBRTthQUNSLElBQUksQ0FBQztZQUNKLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLE1BQU0sRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7U0FDakMsQ0FBQzthQUNELFdBQVcsQ0FBQyxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7WUFDMUMsZ0JBQWdCLEVBQUUsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsNkJBQTZCO1lBQ25GLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsU0FBUyxFQUFFLEVBQUU7WUFDYixnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCLENBQUMsYUFBYTtTQUM1RCxDQUFDLENBQUE7UUFFSixLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzVCLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDM0IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgKiBhcyBjbG91ZHdhdGNoIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiXG5pbXBvcnQgdHlwZSAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiXG5pbXBvcnQgKiBhcyBlY3MgZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIlxuaW1wb3J0ICogYXMgZXZlbnRzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZXZlbnRzXCJcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1ldmVudHMtdGFyZ2V0c1wiXG5pbXBvcnQgKiBhcyBsb2dzIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcblxuZXhwb3J0IGludGVyZmFjZSBDbHVzdGVyUHJvcHMge1xuICAvKipcbiAgICogQGRlZmF1bHQgd2lsbCBiZSBnZW5lcmF0ZWRcbiAgICovXG4gIGNsdXN0ZXJOYW1lPzogc3RyaW5nXG4gIHZwYzogZWMyLklWcGNcbiAgLyoqXG4gICAqIEBkZWZhdWx0IG5vIGFsYXJtcyB3aWxsIGJlIHNldCB1cFxuICAgKi9cbiAgYWxhcm1BY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxufVxuXG5leHBvcnQgY2xhc3MgQ2x1c3RlciBleHRlbmRzIGNvbnN0cnVjdHMuQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGNsdXN0ZXI6IGVjcy5DbHVzdGVyXG4gIHB1YmxpYyByZWFkb25seSBjbHVzdGVyRXZlbnRMb2dzOiBsb2dzLkxvZ0dyb3VwXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2x1c3RlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKVxuXG4gICAgdGhpcy5jbHVzdGVyID0gbmV3IGVjcy5DbHVzdGVyKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgY2x1c3Rlck5hbWU6IHByb3BzLmNsdXN0ZXJOYW1lLFxuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBleGVjdXRlQ29tbWFuZENvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgLy8gVGhlIGRlZmF1bHQgd291bGQgbG9nIHRvIHRoZSBzYW1lIGF3c2xvZ3Mgc2V0dXAgYXNcbiAgICAgICAgLy8gdGhlIHRhc2tzLCB3aGljaCB3b3VsZCBwcm9kdWNlIGRpZmZlcmVudCB0eXBlcyBvZlxuICAgICAgICAvLyBvdXRwdXRzIGluIHRoZSBzYW1lIGxvZyBncm91cC5cbiAgICAgICAgLy8gV2UgaGF2ZSBub3Qgc2V0IHVwIHNwZWNpZmljIGxvZ2dpbmcgZm9yIHRoaXMuXG4gICAgICAgIGxvZ2dpbmc6IGVjcy5FeGVjdXRlQ29tbWFuZExvZ2dpbmcuTk9ORSxcbiAgICAgIH0sXG4gICAgfSlcblxuICAgIC8vIFRoZSBkZXRhaWxzIGluIEVDUyBjb25zb2xlIGlzIGF2YWlsYWJsZSBvbmx5IGZvciBzaG9ydCB0aW1lLFxuICAgIC8vIHNvIHdlIHN0b3JlIGl0IHRvIFMzIHRvIGltcHJvdmUgaW5zaWdodC5cbiAgICB0aGlzLmNsdXN0ZXJFdmVudExvZ3MgPSBuZXcgbG9ncy5Mb2dHcm91cCh0aGlzLCBcIkV2ZW50TG9nc1wiLCB7XG4gICAgICByZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgICByZW1vdmFsUG9saWN5OiBjZGsuUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgIH0pXG5cbiAgICBuZXcgZXZlbnRzLlJ1bGUodGhpcywgXCJTdGF0ZVJ1bGVcIiwge1xuICAgICAgZXZlbnRQYXR0ZXJuOiB7XG4gICAgICAgIHNvdXJjZTogW1wiYXdzLmVjc1wiXSxcbiAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgY2x1c3RlckFybjogW3RoaXMuY2x1c3Rlci5jbHVzdGVyQXJuXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB0YXJnZXRzOiBbXG4gICAgICAgIG5ldyB0YXJnZXRzLkNsb3VkV2F0Y2hMb2dHcm91cCh0aGlzLmNsdXN0ZXJFdmVudExvZ3MsIHtcbiAgICAgICAgICAvLyBVc2UgU0RLIGJ1bmRsZWQgd2l0aCB0aGUgTGFtYmRhIHJ1bnRpbWUgaW5zdGVhZCBvZiBpbnN0YWxsaW5nIHRoZVxuICAgICAgICAgIC8vIGxhdGVzdCBhdCBleGVjdXRpb24gdGltZS4gQXZvaWRzIH42MHMgbnBtIGluc3RhbGwgb24gZXZlcnlcbiAgICAgICAgICAvLyBpbnZvY2F0aW9uIGFuZCByZW1vdmVzIGEgcnVudGltZSBkZXBlbmRlbmN5IG9uIG5wbWpzLmNvbVxuICAgICAgICAgIC8vIGF2YWlsYWJpbGl0eS5cbiAgICAgICAgICAvLyBodHRwczovL2NvbnN0cnVjdHMuZGV2L3BhY2thZ2VzL2F3cy1jZGstbGliL3YvMi4yNTEuMD9zdWJtb2R1bGU9Y3VzdG9tX3Jlc291cmNlcyZsYW5nPXR5cGVzY3JpcHRcbiAgICAgICAgICBpbnN0YWxsTGF0ZXN0QXdzU2RrOiBmYWxzZSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgIH0pXG5cbiAgICBpZiAocHJvcHMuYWxhcm1BY3Rpb24pIHtcbiAgICAgIHRoaXMuYWRkUmVzdGFydEZyZXF1ZW5jeUFsYXJtKHByb3BzLmFsYXJtQWN0aW9uKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNb25pdG9yIGhpZ2ggbnVtYmVyIG9mIHJlc3RhcnRzIHdoaWNoIHR5cGljYWxseSBzaWduYWwgYSBmYWlsaW5nIHRhc2suXG4gICAqL1xuICBwcml2YXRlIGFkZFJlc3RhcnRGcmVxdWVuY3lBbGFybShhY3Rpb246IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgZXJyb3JNZXRyaWNGaWx0ZXIgPSB0aGlzLmNsdXN0ZXJFdmVudExvZ3MuYWRkTWV0cmljRmlsdGVyKFxuICAgICAgXCJQcm92aXNpb25pbmdFcnJvck1ldHJpY0ZpbHRlclwiLFxuICAgICAge1xuICAgICAgICBmaWx0ZXJQYXR0ZXJuOiBsb2dzLkZpbHRlclBhdHRlcm4uYWxsKFxuICAgICAgICAgIGxvZ3MuRmlsdGVyUGF0dGVybi5zdHJpbmdWYWx1ZShcbiAgICAgICAgICAgIFwiJC5kZXRhaWwtdHlwZVwiLFxuICAgICAgICAgICAgXCI9XCIsXG4gICAgICAgICAgICBcIkVDUyBUYXNrIFN0YXRlIENoYW5nZVwiLFxuICAgICAgICAgICksXG4gICAgICAgICAgbG9ncy5GaWx0ZXJQYXR0ZXJuLnN0cmluZ1ZhbHVlKFxuICAgICAgICAgICAgXCIkLmRldGFpbC5sYXN0U3RhdHVzXCIsXG4gICAgICAgICAgICBcIj1cIixcbiAgICAgICAgICAgIFwiUFJPVklTSU9OSU5HXCIsXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgbWV0cmljTmFtZTogXCJQcm92aXNpb25pbmdcIixcbiAgICAgICAgbWV0cmljTmFtZXNwYWNlOiBgRUNTL0NsdXN0ZXIvJHt0aGlzLmNsdXN0ZXIuY2x1c3Rlck5hbWV9YCxcbiAgICAgIH0sXG4gICAgKVxuXG4gICAgY29uc3QgYWxhcm0gPSBlcnJvck1ldHJpY0ZpbHRlclxuICAgICAgLm1ldHJpYygpXG4gICAgICAud2l0aCh7XG4gICAgICAgIHN0YXRpc3RpYzogXCJTdW1cIixcbiAgICAgICAgcGVyaW9kOiBjZGsuRHVyYXRpb24ubWludXRlcygxMCksXG4gICAgICB9KVxuICAgICAgLmNyZWF0ZUFsYXJtKHRoaXMsIFwiUmVzdGFydEZyZXF1ZW5jeUFsYXJtXCIsIHtcbiAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYFRhc2tzIGluICR7dGhpcy5jbHVzdGVyLmNsdXN0ZXJOYW1lfSBpcyBmcmVxdWVudGx5IHByb3Zpc2lvbmluZ2AsXG4gICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAxLFxuICAgICAgICB0aHJlc2hvbGQ6IDI1LFxuICAgICAgICB0cmVhdE1pc3NpbmdEYXRhOiBjbG91ZHdhdGNoLlRyZWF0TWlzc2luZ0RhdGEuTk9UX0JSRUFDSElORyxcbiAgICAgIH0pXG5cbiAgICBhbGFybS5hZGRBbGFybUFjdGlvbihhY3Rpb24pXG4gICAgYWxhcm0uYWRkT2tBY3Rpb24oYWN0aW9uKVxuICB9XG59XG4iXX0=
|
|
@@ -13,6 +13,11 @@ export class ConfigurationSetDeliveryOptions extends constructs.Construct {
|
|
|
13
13
|
constructor(scope, id, props) {
|
|
14
14
|
super(scope, id);
|
|
15
15
|
new cr.AwsCustomResource(this, "Resource", {
|
|
16
|
+
// Use SDK bundled with the Lambda runtime instead of installing the
|
|
17
|
+
// latest at execution time. Avoids ~60s npm install on every invocation
|
|
18
|
+
// and removes a runtime dependency on npmjs.com availability.
|
|
19
|
+
// https://constructs.dev/packages/aws-cdk-lib/v/2.251.0?submodule=custom_resources&lang=typescript
|
|
20
|
+
installLatestAwsSdk: false,
|
|
16
21
|
policy: cr.AwsCustomResourcePolicy.fromStatements([
|
|
17
22
|
new iam.PolicyStatement({
|
|
18
23
|
actions: ["ses:PutConfigurationSetDeliveryOptions"],
|
|
@@ -41,4 +46,4 @@ export class ConfigurationSetDeliveryOptions extends constructs.Construct {
|
|
|
41
46
|
});
|
|
42
47
|
}
|
|
43
48
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VzL2NvbmZpZ3VyYXRpb25zZXRkZWxpdmVyeW9wdGlvbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUMxQyxPQUFPLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ2xELE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBa0J4Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLCtCQUFnQyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ3ZFLFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQTJDO1FBRTNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUN6QyxvRUFBb0U7WUFDcEUsd0VBQXdFO1lBQ3hFLDhEQUE4RDtZQUM5RCxtR0FBbUc7WUFDbkcsbUJBQW1CLEVBQUUsS0FBSztZQUMxQixNQUFNLEVBQUUsRUFBRSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQztnQkFDaEQsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO29CQUN0QixPQUFPLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztvQkFDbkQsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO2lCQUNqQixDQUFDO2FBQ0gsQ0FBQztZQUNGLHFDQUFxQztZQUNyQyxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFLG9DQUFvQztnQkFDNUMsVUFBVSxFQUFFO29CQUNWLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxvQkFBb0I7b0JBQ2hELGVBQWUsRUFBRTt3QkFDZixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7cUJBQzNCO2lCQUNGO2dCQUNELGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQzFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FDM0I7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsb0NBQW9DO2dCQUM1QyxVQUFVLEVBQUU7b0JBQ1Ysb0JBQW9CLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtpQkFDakQ7YUFDRjtTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiXG5pbXBvcnQgKiBhcyBjciBmcm9tIFwiYXdzLWNkay1saWIvY3VzdG9tLXJlc291cmNlc1wiXG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcblxuZXhwb3J0IHR5cGUgVGxzUG9saWN5ID0gXCJSZXF1aXJlXCIgfCBcIk9wdGlvbmFsXCJcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uU2V0RGVsaXZlcnlPcHRpb25zUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgU0VTIGNvbmZpZ3VyYXRpb24gc2V0IHRvIHVwZGF0ZSBkZWxpdmVyeSBvcHRpb25zIG9uXG4gICAqL1xuICBjb25maWd1cmF0aW9uU2V0TmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiBUaGUgVExTIHBvbGljeSBmb3Igb3V0Z29pbmcgZW1haWxzXG4gICAqXG4gICAqIFNldHRpbmcgdGhpcyB0byBcIlJlcXVpcmVcIiB3aWxsIG1ha2UgbWFpbCBkZWxpdmVyeSBmYWlsIGlmIFNFUyBjYW5ub3RcbiAgICogZXN0YWJsaXNoIGEgVExTLWVuY3J5cHRlZCBjb25uZWN0aW9uIHRvIHRoZSByZWNlaXZpbmcgbWFpbCBzZXJ2ZXIuXG4gICAqL1xuICB0bHNQb2xpY3k6IFRsc1BvbGljeVxufVxuXG4vKipcbiAqIFNldCBEZWxpdmVyeSBPcHRpb25zIGZvciBhIFNFUyBDb25maWd1cmF0aW9uIFNldC5cbiAqXG4gKiBDdXJyZW50bHkgdGhlIG9ubHkgZGVsaXZlcnkgb3B0aW9uIHRoYXQgY2FuIGJlIHNldCBpcyB0aGUgVExTIFBvbGljeSwgd2hpY2hcbiAqIGNhbiBiZSBzZXQgdG8gZWl0aGVyIFwiUmVxdWlyZVwiIG9yIFwiT3B0aW9uYWxcIi4gSWYgc2V0IHRvIFwiUmVxdWlyZVwiIFNFU1xuICogd2lsbCByZWZ1c2UgdG8gZGVsaXZlciBtYWlsIHRvIG1haWwgc2VydmVycyBpdCBjYW5ub3QgY29ubmVjdCB0byB1c2luZ1xuICogYW4gZW5jcnlwdGVkIGNvbm5lY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2V0RGVsaXZlcnlPcHRpb25zIGV4dGVuZHMgY29uc3RydWN0cy5Db25zdHJ1Y3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQ29uZmlndXJhdGlvblNldERlbGl2ZXJ5T3B0aW9uc1Byb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBuZXcgY3IuQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICAvLyBVc2UgU0RLIGJ1bmRsZWQgd2l0aCB0aGUgTGFtYmRhIHJ1bnRpbWUgaW5zdGVhZCBvZiBpbnN0YWxsaW5nIHRoZVxuICAgICAgLy8gbGF0ZXN0IGF0IGV4ZWN1dGlvbiB0aW1lLiBBdm9pZHMgfjYwcyBucG0gaW5zdGFsbCBvbiBldmVyeSBpbnZvY2F0aW9uXG4gICAgICAvLyBhbmQgcmVtb3ZlcyBhIHJ1bnRpbWUgZGVwZW5kZW5jeSBvbiBucG1qcy5jb20gYXZhaWxhYmlsaXR5LlxuICAgICAgLy8gaHR0cHM6Ly9jb25zdHJ1Y3RzLmRldi9wYWNrYWdlcy9hd3MtY2RrLWxpYi92LzIuMjUxLjA/c3VibW9kdWxlPWN1c3RvbV9yZXNvdXJjZXMmbGFuZz10eXBlc2NyaXB0XG4gICAgICBpbnN0YWxsTGF0ZXN0QXdzU2RrOiBmYWxzZSxcbiAgICAgIHBvbGljeTogY3IuQXdzQ3VzdG9tUmVzb3VyY2VQb2xpY3kuZnJvbVN0YXRlbWVudHMoW1xuICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgYWN0aW9uczogW1wic2VzOlB1dENvbmZpZ3VyYXRpb25TZXREZWxpdmVyeU9wdGlvbnNcIl0sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICB9KSxcbiAgICAgIF0pLFxuICAgICAgLy8gSGFuZGxlcyBib3RoIG9uQ3JlYXRlIGFuZCBvblVwZGF0ZVxuICAgICAgb25VcGRhdGU6IHtcbiAgICAgICAgc2VydmljZTogXCJTRVNcIixcbiAgICAgICAgYWN0aW9uOiBcInB1dENvbmZpZ3VyYXRpb25TZXREZWxpdmVyeU9wdGlvbnNcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIENvbmZpZ3VyYXRpb25TZXROYW1lOiBwcm9wcy5jb25maWd1cmF0aW9uU2V0TmFtZSxcbiAgICAgICAgICBEZWxpdmVyeU9wdGlvbnM6IHtcbiAgICAgICAgICAgIFRsc1BvbGljeTogcHJvcHMudGxzUG9saWN5LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogY3IuUGh5c2ljYWxSZXNvdXJjZUlkLm9mKFxuICAgICAgICAgIHByb3BzLmNvbmZpZ3VyYXRpb25TZXROYW1lLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIG9uRGVsZXRlOiB7XG4gICAgICAgIHNlcnZpY2U6IFwiU0VTXCIsXG4gICAgICAgIGFjdGlvbjogXCJwdXRDb25maWd1cmF0aW9uU2V0RGVsaXZlcnlPcHRpb25zXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBDb25maWd1cmF0aW9uU2V0TmFtZTogcHJvcHMuY29uZmlndXJhdGlvblNldE5hbWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
package/lib/snapshots.js
CHANGED
|
@@ -18,6 +18,23 @@ function removeTrace(data) {
|
|
|
18
18
|
}
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
+
// CDK >= 2.251.0 emits `aws:cdk:creationStack` metadata entries containing
|
|
22
|
+
// construct creation stack traces. These include absolute paths from the
|
|
23
|
+
// machine that ran `cdk synth`, so they are not stable across environments.
|
|
24
|
+
function removeCreationStack(data) {
|
|
25
|
+
if (Array.isArray(data)) {
|
|
26
|
+
return data
|
|
27
|
+
.filter((item) => !(item === Object(item) &&
|
|
28
|
+
item.type === "aws:cdk:creationStack"))
|
|
29
|
+
.map(removeCreationStack);
|
|
30
|
+
}
|
|
31
|
+
if (data === Object(data)) {
|
|
32
|
+
return Object.fromEntries(Object.entries(data)
|
|
33
|
+
.map(([key, value]) => [key, removeCreationStack(value)])
|
|
34
|
+
.filter(([, value]) => !(Array.isArray(value) && value.length === 0)));
|
|
35
|
+
}
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
21
38
|
function removeRuntimeLibraries(data) {
|
|
22
39
|
const cp = {
|
|
23
40
|
...data,
|
|
@@ -152,6 +169,7 @@ export function sanitizeManifest(content) {
|
|
|
152
169
|
// or other users generating the snapshots.
|
|
153
170
|
removeRuntimeLibraries,
|
|
154
171
|
removeTrace,
|
|
172
|
+
removeCreationStack,
|
|
155
173
|
// Avoid details (hashes) from assets.
|
|
156
174
|
removeAssetDetailsFromManifest,
|
|
157
175
|
].reduce((acc, fn) => fn(acc), input);
|
|
@@ -167,7 +185,11 @@ export function sanitizeManifest(content) {
|
|
|
167
185
|
*/
|
|
168
186
|
export function sanitizeMetadata(content) {
|
|
169
187
|
const input = JSON.parse(content);
|
|
170
|
-
const output = [
|
|
188
|
+
const output = [
|
|
189
|
+
removeTrace,
|
|
190
|
+
removeCreationStack,
|
|
191
|
+
removeAssetDetailsFromManifest,
|
|
192
|
+
].reduce((acc, fn) => fn(acc), input);
|
|
171
193
|
return JSON.stringify(output, undefined, " ");
|
|
172
194
|
}
|
|
173
195
|
export function sanitizeTemplate(content) {
|
|
@@ -222,4 +244,4 @@ export async function createCloudAssemblySnapshot(src, dst) {
|
|
|
222
244
|
};
|
|
223
245
|
await Promise.all(Object.entries(fileTransforms).flatMap(([pattern, transform]) => expandGlob(pattern, destAbs).map((f) => transformFileInPlace(f, transform))));
|
|
224
246
|
}
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NuYXBzaG90cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUM3QixPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUVqQyxTQUFTLGFBQWEsQ0FBQyxJQUFTO0lBQzlCLE1BQU0sRUFBRSxHQUFHO1FBQ1QsR0FBRyxJQUFJO0tBQ1IsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQTtJQUNqQixPQUFPLEVBQUUsQ0FBQTtBQUNYLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxJQUFTO0lBQzVCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQStCLENBQUM7YUFDNUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQzthQUNsQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDcEQsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFFRCxTQUFTLHNCQUFzQixDQUFDLElBQVM7SUFDdkMsTUFBTSxFQUFFLEdBQUc7UUFDVCxHQUFHLElBQUk7S0FDUixDQUFBO0lBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDakIs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RUFBRSxDQUNyQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQ25DLENBQ0YsQ0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiXG5cbmZ1bmN0aW9uIHJlbW92ZVZlcnNpb24oZGF0YTogYW55KTogYW55IHtcbiAgY29uc3QgY3AgPSB7XG4gICAgLi4uZGF0YSxcbiAgfVxuXG4gIGRlbGV0ZSBjcC52ZXJzaW9uXG4gIHJldHVybiBjcFxufVxuXG5mdW5jdGlvbiByZW1vdmVUcmFjZShkYXRhOiBhbnkpOiBhbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhLm1hcChyZW1vdmVUcmFjZSlcbiAgfVxuXG4gIGlmIChkYXRhID09PSBPYmplY3QoZGF0YSkpIHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICAgICAgLmZpbHRlcigoW2tleV0pID0+IGtleSAhPT0gXCJ0cmFjZVwiKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIHJlbW92ZVRyYWNlKHZhbHVlKV0pLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiBkYXRhXG59XG5cbmZ1bmN0aW9uIHJlbW92ZVJ1bnRpbWVMaWJyYXJpZXMoZGF0YTogYW55KTogYW55IHtcbiAgY29uc3QgY3AgPSB7XG4gICAgLi4uZGF0YSxcbiAgfVxuXG4gIGlmIChkYXRhLnJ1bnRpbWUpIHtcbiAgICBjcC5ydW50aW1lID0ge1xuICAgICAgLi4uZGF0YS5ydW50aW1lLFxuICAgIH1cblxuICAgIGRlbGV0ZSBjcC5ydW50aW1lLmxpYnJhcmllc1xuICB9XG5cbiAgcmV0dXJuIGNwXG59XG5cbmNvbnN0IGN1cnJlbnRWZXJzaW9uUmVnZXggPSAvXiguK0N1cnJlbnRWZXJzaW9uWzAtOUEtRl17OH0pWzAtOWEtZl17MzJ9JC9cblxuLy8gTWF0Y2hlcyA2NC1jaGFyIGhleCBzdHJpbmdzIHVzZWQgYXMgQ0RLIGFzc2V0IGNvbnRlbnQgaGFzaGVzLlxuY29uc3QgYXNzZXRDb250ZW50SGFzaFJlZ2V4ID0gL1swLTlhLWZdezY0fS9nXG5cbi8vIE1hdGNoZXMgdGhlIHNob3J0IDgtY2hhciBoYXNoIHN1ZmZpeCBpbiBDREsgUGlwZWxpbmVzIGFzc2V0IGlkZW50aWZpZXJzLFxuLy8gZS5nLiBcInNuYXBzaG90LXZhbHVlOjEyMzQ1Njc4OTAxMi1ldS13ZXN0LTEtMGU5NGY5ZGVcIi5cbmNvbnN0IHBpcGVsaW5lc0Fzc2V0SWRTdWZmaXhSZWdleCA9XG4gIC8oc25hcHNob3QtdmFsdWU6XFxkKy1bYS16MC05LV0rLSlbMC05YS1mXXs4fS9nXG5cbi8qKlxuICogTWF0Y2ggYSByZXNvdXJjZSBjcmVhdGVkIGJ5IGBsYW1iZGEuRnVuY3Rpb24uY3VycmVudFZlcnNpb25gLCB3aGljaFxuICogd2lsbCBpbmNsdWRlIHRoZSBhc3NldCBoYXNoIGFzIHBhcnQgb2YgdGhlIHJlb3VzcmNlIG5hbWUgYW5kIHJldHVyblxuICogYSBzbmFwc2hvdC1mcmllbmRseSB2ZXJzaW9uIG9mIGl0IGlmIGZvdW5kLlxuICovXG5mdW5jdGlvbiByZXdyaXRlQ3VycmVudFZlcnNpb25JZkZvdW5kKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgbWF0Y2ggPSBjdXJyZW50VmVyc2lvblJlZ2V4LmV4ZWModmFsdWUpXG4gIHJldHVybiBtYXRjaCA/IGAke21hdGNoWzFdfXh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4YCA6IG51bGxcbn1cblxuLyoqXG4gKiBSZXBsYWNlIGFzc2V0IGhhc2hlcyBpbiBhIHN0cmluZyB2YWx1ZSB3aXRoIHN0YWJsZSBwbGFjZWhvbGRlcnMuXG4gKiBTaGFyZWQgYnkgYm90aCB0ZW1wbGF0ZSBhbmQgbWFuaWZlc3QvbWV0YWRhdGEgYXNzZXQgc3RyaXBwaW5nLlxuICovXG5mdW5jdGlvbiByZXBsYWNlQXNzZXRIYXNoZXNJblN0cmluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbmV3Q3VycmVudFZlcnNpb24gPSByZXdyaXRlQ3VycmVudFZlcnNpb25JZkZvdW5kKHZhbHVlKVxuICBpZiAobmV3Q3VycmVudFZlcnNpb24pIHtcbiAgICByZXR1cm4gbmV3Q3VycmVudFZlcnNpb25cbiAgfVxuXG4gIHJldHVybiB2YWx1ZVxuICAgIC5yZXBsYWNlKGFzc2V0Q29udGVudEhhc2hSZWdleCwgXCJzbmFwc2hvdC12YWx1ZVwiKVxuICAgIC5yZXBsYWNlKHBpcGVsaW5lc0Fzc2V0SWRTdWZmaXhSZWdleCwgXCIkMXNuYXBzaG90LXZhbHVlXCIpXG59XG5cbmZ1bmN0aW9uIHJlbW92ZUFzc2V0RGV0YWlsc0Zyb21UZW1wbGF0ZShkYXRhOiBhbnkpOiBhbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhLm1hcChyZW1vdmVBc3NldERldGFpbHNGcm9tVGVtcGxhdGUpXG4gIH1cblxuICBpZiAoZGF0YSA9PT0gT2JqZWN0KGRhdGEpKSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0N1cnJlbnRWZXJzaW9uID0gcmV3cml0ZUN1cnJlbnRWZXJzaW9uSWZGb3VuZChrZXkpXG4gICAgICAgICAgaWYgKG5ld0N1cnJlbnRWZXJzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gW25ld0N1cnJlbnRWZXJzaW9uLCByZW1vdmVBc3NldERldGFpbHNGcm9tVGVtcGxhdGUodmFsdWUpXVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKFwiQXNzZXRQYXJhbWV0ZXJcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGtleSA9PT0gXCJSZWZcIiAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICB2YWx1ZS5pbmNsdWRlcyhcIkFzc2V0UGFyYW1ldGVyc1wiKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFtrZXksIFwic25hcHNob3QtdmFsdWVcIl1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAga2V5ID09PSBcImF3czphc3NldDpwYXRoXCIgJiZcbiAgICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgL2Fzc2V0XFwuWzAtOWEtZl17NjR9Ly50ZXN0KHZhbHVlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFtrZXksIFwiYXNzZXQuc25hcHNob3QtdmFsdWVcIl1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFtrZXksIHJlbW92ZUFzc2V0RGV0YWlsc0Zyb21UZW1wbGF0ZSh2YWx1ZSldXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoKGl0KTogaXQgaXMgW10gPT4gaXQgIT0gbnVsbCksXG4gICAgKVxuICB9XG5cbiAgaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHJlcGxhY2VBc3NldEhhc2hlc0luU3RyaW5nKGRhdGEpXG4gIH1cblxuICByZXR1cm4gZGF0YVxufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHN0cmlwIGFzc2V0LXJlbGF0ZWQgZGV0YWlscyAoaGFzaGVzLCBwYXJhbWV0ZXJzKSBmcm9tIGEgSlNPTlxuICogc3RydWN0dXJlLiBVc2VkIGZvciBib3RoIG1hbmlmZXN0Lmpzb24gKENESyA8IDIuMjQyLjAgd2l0aCBpbmxpbmUgbWV0YWRhdGEpXG4gKiBhbmQgc3RhbmRhbG9uZSAqLm1ldGFkYXRhLmpzb24gZmlsZXMgKENESyA+PSAyLjI0Mi4wKS5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlQXNzZXREZXRhaWxzRnJvbU1hbmlmZXN0KGRhdGE6IGFueSk6IGFueSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgcmV0dXJuIGRhdGEubWFwKHJlbW92ZUFzc2V0RGV0YWlsc0Zyb21NYW5pZmVzdClcbiAgfVxuXG4gIGlmIChkYXRhID09PSBPYmplY3QoZGF0YSkpIHtcbiAgICAvLyBhd3M6Y2RrOmFzc2V0IGluIG1ldGFkYXRhXG4gICAgaWYgKGRhdGEudHlwZSA9PT0gXCJhd3M6Y2RrOmFzc2V0XCIgJiYgXCJkYXRhXCIgaW4gZGF0YSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgZGF0YTogXCJzbmFwc2hvdC12YWx1ZVwiLFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKFwiQXNzZXRQYXJhbWV0ZXJzXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gW2tleSwgcmVtb3ZlQXNzZXREZXRhaWxzRnJvbU1hbmlmZXN0KHZhbHVlKV1cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcigoaXQpOiBpdCBpcyBbXSA9PiBpdCAhPSBudWxsKSxcbiAgICApXG4gIH1cblxuICBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gcmVwbGFjZUFzc2V0SGFzaGVzSW5TdHJpbmcoZGF0YSlcbiAgfVxuXG4gIHJldHVybiBkYXRhXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBDREtNZXRhZGF0YSByZXNvdXJjZXMgdGhhdCBpcyBwYXJ0IG9mIHRoZSBzeW50aGVzaXplZFxuICogdGVtcGxhdGUgc2luY2UgQ0RLIDEuNjMuMC5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlQ2RrTWV0YWRhdGFSZXNvdXJjZUZyb21UZW1wbGF0ZShkYXRhOiBhbnkpOiBhbnkge1xuICBjb25zdCBjcCA9IHtcbiAgICAuLi5kYXRhLFxuICAgIFJlc291cmNlczoge1xuICAgICAgLi4uZGF0YS5SZXNvdXJjZXMsXG4gICAgfSxcbiAgfVxuXG4gIGRlbGV0ZSBjcC5SZXNvdXJjZXMuQ0RLTWV0YWRhdGFcbiAgcmV0dXJuIGNwXG59XG5cbi8qKlxuICogU2FuaXRpemUgYSBDbG91ZCBBc3NlbWJseSBtYW5pZmVzdC5qc29uIGZvciBzbmFwc2hvdCB1c2UuXG4gKlxuICogT24gQ0RLIDwgMi4yNDIuMCB0aGUgbWFuaWZlc3QgY29udGFpbnMgaW5saW5lIG1ldGFkYXRhIHBlciBzdGFjayBhcnRpZmFjdC5cbiAqIE9uIENESyA+PSAyLjI0Mi4wIHRoYXQgbWV0YWRhdGEgaXMgZXh0cmFjdGVkIGludG8gc2VwYXJhdGUgZmlsZXMgKGhhbmRsZWRcbiAqIGJ5IHtAbGluayBzYW5pdGl6ZU1ldGFkYXRhfSksIGJ1dCB0aGUgbWFuaWZlc3Qgc3RpbGwgbmVlZHMgdmVyc2lvbixcbiAqIHJ1bnRpbWUsIHRyYWNlLCBhbmQgYXNzZXQgZGV0YWlsIHN0cmlwcGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplTWFuaWZlc3QoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgaW5wdXQgPSBKU09OLnBhcnNlKGNvbnRlbnQpXG4gIGNvbnN0IG91dHB1dCA9IFtcbiAgICByZW1vdmVWZXJzaW9uLFxuICAgIC8vIFJlbW92ZSB0aGUgcnVudGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uIHNvIGl0IGRvbid0IGNvbmZsaWN0IHdpdGggQ0lcbiAgICAvLyBvciBvdGhlciB1c2VycyBnZW5lcmF0aW5nIHRoZSBzbmFwc2hvdHMuXG4gICAgcmVtb3ZlUnVudGltZUxpYnJhcmllcyxcbiAgICByZW1vdmVUcmFjZSxcbiAgICAvLyBBdm9pZCBkZXRhaWxzIChoYXNoZXMpIGZyb20gYXNzZXRzLlxuICAgIHJlbW92ZUFzc2V0RGV0YWlsc0Zyb21NYW5pZmVzdCxcbiAgXS5yZWR1Y2UoKGFjYywgZm4pID0+IGZuKGFjYyksIGlucHV0KVxuXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShvdXRwdXQsIHVuZGVmaW5lZCwgXCIgIFwiKVxufVxuXG4vKipcbiAqIFNhbml0aXplIGFuIGV4dHJhY3RlZCBtZXRhZGF0YSBKU09OIGZpbGUgZm9yIHNuYXBzaG90IHVzZS5cbiAqXG4gKiBDREsgPj0gMi4yNDIuMCBleHRyYWN0cyBwZXItc3RhY2sgbWV0YWRhdGEgaW50byBzZXBhcmF0ZSAqLm1ldGFkYXRhLmpzb25cbiAqIGZpbGVzIChwcmV2aW91c2x5IHRoaXMgZGF0YSB3YXMgaW5saW5lIGluIG1hbmlmZXN0Lmpzb24pLiBUaGlzIGZ1bmN0aW9uXG4gKiBhcHBsaWVzIHRoZSBzYW1lIHNhbml0aXphdGlvbiAodHJhY2UgcmVtb3ZhbCwgYXNzZXQgZGV0YWlsIHN0cmlwcGluZykgc29cbiAqIHNuYXBzaG90cyByZW1haW4gc3RhYmxlIGFjcm9zcyBzeW50aGVzaXplcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplTWV0YWRhdGEoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgaW5wdXQgPSBKU09OLnBhcnNlKGNvbnRlbnQpXG4gIGNvbnN0IG91dHB1dCA9IFtyZW1vdmVUcmFjZSwgcmVtb3ZlQXNzZXREZXRhaWxzRnJvbU1hbmlmZXN0XS5yZWR1Y2UoXG4gICAgKGFjYywgZm4pID0+IGZuKGFjYyksXG4gICAgaW5wdXQsXG4gIClcblxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob3V0cHV0LCB1bmRlZmluZWQsIFwiICBcIilcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplVGVtcGxhdGUoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgaW5wdXQgPSBKU09OLnBhcnNlKGNvbnRlbnQpXG4gIGNvbnN0IG91dHB1dCA9IFtcbiAgICByZW1vdmVDZGtNZXRhZGF0YVJlc291cmNlRnJvbVRlbXBsYXRlLFxuICAgIC8vIEF2b2lkIGRldGFpbHMgKGhhc2hlcykgZnJvbSBhc3NldHMuXG4gICAgcmVtb3ZlQXNzZXREZXRhaWxzRnJvbVRlbXBsYXRlLFxuICBdLnJlZHVjZSgoYWNjLCBmbikgPT4gZm4oYWNjKSwgaW5wdXQpXG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG91dHB1dCwgdW5kZWZpbmVkLCBcIiAgXCIpXG59XG5cbi8qKlxuICogUmVhZCBhIGZpbGUsIGFwcGx5IGEgdHJhbnNmb3JtLCBhbmQgd3JpdGUgdGhlIHJlc3VsdCBiYWNrLlxuICovXG5hc3luYyBmdW5jdGlvbiB0cmFuc2Zvcm1GaWxlSW5QbGFjZShcbiAgZmlsZTogc3RyaW5nLFxuICB0cmFuc2Zvcm06IChjb250ZW50OiBzdHJpbmcpID0+IHN0cmluZyxcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCByZXN1bHQgPSB0cmFuc2Zvcm0oYXdhaXQgZnMucHJvbWlzZXMucmVhZEZpbGUoZmlsZSwgXCJ1dGY4XCIpKVxuICBhd2FpdCBmcy5wcm9taXNlcy53cml0ZUZpbGUoZmlsZSwgcmVzdWx0KVxufVxuXG4vKipcbiAqIENvbnZlcnQgYSBDbG91ZCBBc3NlbWJseSB0byBhIHNuYXBzaG90LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlQ2xvdWRBc3NlbWJseVNuYXBzaG90KFxuICBzcmM6IHN0cmluZyxcbiAgZHN0OiBzdHJpbmcsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgZGVzdEFicyA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBkc3QpXG4gIGNvbnN0IHNyY0FicyA9IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBzcmMpXG5cbiAgLy8gQ29weSBhbGwgZmlsZXMgZnJvbSBzcmMgKGNkay5vdXQpIHRvIGRlc3QgKF9fc25hcHNob3RzX18pXG4gIGZzLmNwU3luYyhzcmNBYnMsIGRlc3RBYnMsIHsgcmVjdXJzaXZlOiB0cnVlIH0pXG5cbiAgY29uc3QgZXhwYW5kR2xvYiA9IChwYXR0ZXJuOiBzdHJpbmcsIGN3ZDogc3RyaW5nKTogc3RyaW5nW10gPT4ge1xuICAgIHJldHVybiBmcy5nbG9iU3luYyhwYXR0ZXJuLCB7IGN3ZCB9KS5tYXAoKHApID0+IHBhdGguam9pbihjd2QsIHApKVxuICB9XG5cbiAgY29uc3QgZmlsZXNUb0RlbGV0ZSA9IFtcbiAgICAvLyBEb24ndCBrZWVwIHRyYWNrIG9mIG1hbmlmZXN0IHZlcnNpb24uXG4gICAgXCIqKi9jZGsub3V0XCIsXG5cbiAgICAvLyBUaGUgdHJlZSBmaWxlIGRvZXNuJ3QgZ2l2ZSB1cyBtdWNoIHZhbHVlIGFzIHBhcnQgb2YgdGhlIHNuYXBzaG90LlxuICAgIFwiKiovdHJlZS5qc29uXCIsXG5cbiAgICAvLyBSZW1vdmUgYXNzZXQgY29udGVudHMgZm9yIG5vdy5cbiAgICBcIioqL2Fzc2V0LipcIixcblxuICAgIC8vIFJlbW92ZSBhc3NldCBjb25maWdzIHNvIHdlIGRvbid0IGhhdmUgdG8gdXBkYXRlIHNuYXBzaG90cyBmb3IgYXNzZXQgY2hhbmdlcy5cbiAgICBcIioqLyouYXNzZXRzLmpzb25cIixcblxuICAgIC8vIFJlbW92ZSBncmFwaHZpeiBmaWxlcyBnZW5lcmF0ZWQgd2hlbiB1c2luZyBDREsgUGlwZWxpbmVzXG4gICAgXCIqKi8qLmRvdFwiLFxuICBdLmZsYXRNYXAoKGcpID0+IGV4cGFuZEdsb2IoZywgZGVzdEFicykpXG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgZmlsZXNUb0RlbGV0ZS5tYXAoKHApID0+XG4gICAgICBmcy5wcm9taXNlcy5ybShwLCB7XG4gICAgICAgIHJlY3Vyc2l2ZTogdHJ1ZSxcbiAgICAgICAgZm9yY2U6IHRydWUsXG4gICAgICB9KSxcbiAgICApLFxuICApXG5cbiAgY29uc3QgZmlsZVRyYW5zZm9ybXM6IFJlY29yZDxzdHJpbmcsIChjb250ZW50OiBzdHJpbmcpID0+IHN0cmluZz4gPSB7XG4gICAgXCIqKi9tYW5pZmVzdC5qc29uXCI6IHNhbml0aXplTWFuaWZlc3QsXG4gICAgLy8gQ0RLID49IDIuMjQyLjAgZXh0cmFjdHMgcGVyLXN0YWNrIG1ldGFkYXRhIGludG8gc2VwYXJhdGUgZmlsZXMuXG4gICAgLy8gTm8gbWF0Y2hlcyBvbiBvbGRlciBDREsg4oCUIHNhZmUgdG8gcHJvY2VzcyB1bmNvbmRpdGlvbmFsbHkuXG4gICAgXCIqKi8qLm1ldGFkYXRhLmpzb25cIjogc2FuaXRpemVNZXRhZGF0YSxcbiAgICBcIioqLyoudGVtcGxhdGUuanNvblwiOiBzYW5pdGl6ZVRlbXBsYXRlLFxuICB9XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgT2JqZWN0LmVudHJpZXMoZmlsZVRyYW5zZm9ybXMpLmZsYXRNYXAoKFtwYXR0ZXJuLCB0cmFuc2Zvcm1dKSA9PlxuICAgICAgZXhwYW5kR2xvYihwYXR0ZXJuLCBkZXN0QWJzKS5tYXAoKGYpID0+XG4gICAgICAgIHRyYW5zZm9ybUZpbGVJblBsYWNlKGYsIHRyYW5zZm9ybSksXG4gICAgICApLFxuICAgICksXG4gIClcbn1cbiJdfQ==
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NuYXBzaG90cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUM3QixPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUVqQyxTQUFTLGFBQWEsQ0FBQyxJQUFTO0lBQzlCLE1BQU0sRUFBRSxHQUFHO1FBQ1QsR0FBRyxJQUFJO0tBQ1IsQ0FBQTtJQUVELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQTtJQUNqQixPQUFPLEVBQUUsQ0FBQTtBQUNYLENBQUM7QUFFRCxTQUFTLFdBQVcsQ0FBQyxJQUFTO0lBQzVCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsSUFBSSxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQStCLENBQUM7YUFDNUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQzthQUNsQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDcEQsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFFRCwyRUFBMkU7QUFDM0UseUVBQXlFO0FBQ3pFLDRFQUE0RTtBQUM1RSxTQUFTLG1CQUFtQixDQUFDLElBQVM7SUFDcEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENB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Q3BFLENBQUMsQ0FBQTtJQUVELE1BQU0sYUFBYSxHQUFHO1FBQ3BCLHdDQUF3QztRQUN4QyxZQUFZO1FBRVosb0VBQW9FO1FBQ3BFLGNBQWM7UUFFZCxpQ0FBaUM7UUFDakMsWUFBWTtRQUVaLCtFQUErRTtRQUMvRSxrQkFBa0I7UUFFbEIsMkRBQTJEO1FBQzNELFVBQVU7S0FDWCxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBRXhDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdEIsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFO1FBQ2hCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsS0FBSyxFQUFFLElBQUk7S0FDWixDQUFDLENBQ0gsQ0FDRixDQUFBO0lBRUQsTUFBTSxjQUFjLEdBQWdEO1FBQ2xFLGtCQUFrQixFQUFFLGdCQUFnQjtRQUNwQyxrRUFBa0U7UUFDbEUsNkRBQTZEO1FBQzdELG9CQUFvQixFQUFFLGdCQUFnQjtRQUN0QyxvQkFBb0IsRUFBRSxnQkFBZ0I7S0FDdkMsQ0FBQTtJQUVELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDZixNQUFNLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FDOUQsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNyQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQ25DLENBQ0YsQ0FDRixDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gXCJub2RlOmZzXCJcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiXG5cbmZ1bmN0aW9uIHJlbW92ZVZlcnNpb24oZGF0YTogYW55KTogYW55IHtcbiAgY29uc3QgY3AgPSB7XG4gICAgLi4uZGF0YSxcbiAgfVxuXG4gIGRlbGV0ZSBjcC52ZXJzaW9uXG4gIHJldHVybiBjcFxufVxuXG5mdW5jdGlvbiByZW1vdmVUcmFjZShkYXRhOiBhbnkpOiBhbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhLm1hcChyZW1vdmVUcmFjZSlcbiAgfVxuXG4gIGlmIChkYXRhID09PSBPYmplY3QoZGF0YSkpIHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMoZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPilcbiAgICAgICAgLmZpbHRlcigoW2tleV0pID0+IGtleSAhPT0gXCJ0cmFjZVwiKVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIHJlbW92ZVRyYWNlKHZhbHVlKV0pLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiBkYXRhXG59XG5cbi8vIENESyA+PSAyLjI1MS4wIGVtaXRzIGBhd3M6Y2RrOmNyZWF0aW9uU3RhY2tgIG1ldGFkYXRhIGVudHJpZXMgY29udGFpbmluZ1xuLy8gY29uc3RydWN0IGNyZWF0aW9uIHN0YWNrIHRyYWNlcy4gVGhlc2UgaW5jbHVkZSBhYnNvbHV0ZSBwYXRocyBmcm9tIHRoZVxuLy8gbWFjaGluZSB0aGF0IHJhbiBgY2RrIHN5bnRoYCwgc28gdGhleSBhcmUgbm90IHN0YWJsZSBhY3Jvc3MgZW52aXJvbm1lbnRzLlxuZnVuY3Rpb24gcmVtb3ZlQ3JlYXRpb25TdGFjayhkYXRhOiBhbnkpOiBhbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhXG4gICAgICAuZmlsdGVyKFxuICAgICAgICAoaXRlbSkgPT5cbiAgICAgICAgICAhKFxuICAgICAgICAgICAgaXRlbSA9PT0gT2JqZWN0KGl0ZW0pICYmXG4gICAgICAgICAgICAoaXRlbSBhcyB7IHR5cGU/OiB1bmtub3duIH0pLnR5cGUgPT09IFwiYXdzOmNkazpjcmVhdGlvblN0YWNrXCJcbiAgICAgICAgICApLFxuICAgICAgKVxuICAgICAgLm1hcChyZW1vdmVDcmVhdGlvblN0YWNrKVxuICB9XG5cbiAgaWYgKGRhdGEgPT09IE9iamVjdChkYXRhKSkge1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IFtrZXksIHJlbW92ZUNyZWF0aW9uU3RhY2sodmFsdWUpXSlcbiAgICAgICAgLmZpbHRlcigoWywgdmFsdWVdKSA9PiAhKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkpLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiBkYXRhXG59XG5cbmZ1bmN0aW9uIHJlbW92ZVJ1bnRpbWVMaWJyYXJpZXMoZGF0YTogYW55KTogYW55IHtcbiAgY29uc3QgY3AgPSB7XG4gICAgLi4uZGF0YSxcbiAgfVxuXG4gIGlmIChkYXRhLnJ1bnRpbWUpIHtcbiAgICBjcC5ydW50aW1lID0ge1xuICAgICAgLi4uZGF0YS5ydW50aW1lLFxuICAgIH1cblxuICAgIGRlbGV0ZSBjcC5ydW50aW1lLmxpYnJhcmllc1xuICB9XG5cbiAgcmV0dXJuIGNwXG59XG5cbmNvbnN0IGN1cnJlbnRWZXJzaW9uUmVnZXggPSAvXiguK0N1cnJlbnRWZXJzaW9uWzAtOUEtRl17OH0pWzAtOWEtZl17MzJ9JC9cblxuLy8gTWF0Y2hlcyA2NC1jaGFyIGhleCBzdHJpbmdzIHVzZWQgYXMgQ0RLIGFzc2V0IGNvbnRlbnQgaGFzaGVzLlxuY29uc3QgYXNzZXRDb250ZW50SGFzaFJlZ2V4ID0gL1swLTlhLWZdezY0fS9nXG5cbi8vIE1hdGNoZXMgdGhlIHNob3J0IDgtY2hhciBoYXNoIHN1ZmZpeCBpbiBDREsgUGlwZWxpbmVzIGFzc2V0IGlkZW50aWZpZXJzLFxuLy8gZS5nLiBcInNuYXBzaG90LXZhbHVlOjEyMzQ1Njc4OTAxMi1ldS13ZXN0LTEtMGU5NGY5ZGVcIi5cbmNvbnN0IHBpcGVsaW5lc0Fzc2V0SWRTdWZmaXhSZWdleCA9XG4gIC8oc25hcHNob3QtdmFsdWU6XFxkKy1bYS16MC05LV0rLSlbMC05YS1mXXs4fS9nXG5cbi8qKlxuICogTWF0Y2ggYSByZXNvdXJjZSBjcmVhdGVkIGJ5IGBsYW1iZGEuRnVuY3Rpb24uY3VycmVudFZlcnNpb25gLCB3aGljaFxuICogd2lsbCBpbmNsdWRlIHRoZSBhc3NldCBoYXNoIGFzIHBhcnQgb2YgdGhlIHJlb3VzcmNlIG5hbWUgYW5kIHJldHVyblxuICogYSBzbmFwc2hvdC1mcmllbmRseSB2ZXJzaW9uIG9mIGl0IGlmIGZvdW5kLlxuICovXG5mdW5jdGlvbiByZXdyaXRlQ3VycmVudFZlcnNpb25JZkZvdW5kKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgbWF0Y2ggPSBjdXJyZW50VmVyc2lvblJlZ2V4LmV4ZWModmFsdWUpXG4gIHJldHVybiBtYXRjaCA/IGAke21hdGNoWzFdfXh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4YCA6IG51bGxcbn1cblxuLyoqXG4gKiBSZXBsYWNlIGFzc2V0IGhhc2hlcyBpbiBhIHN0cmluZyB2YWx1ZSB3aXRoIHN0YWJsZSBwbGFjZWhvbGRlcnMuXG4gKiBTaGFyZWQgYnkgYm90aCB0ZW1wbGF0ZSBhbmQgbWFuaWZlc3QvbWV0YWRhdGEgYXNzZXQgc3RyaXBwaW5nLlxuICovXG5mdW5jdGlvbiByZXBsYWNlQXNzZXRIYXNoZXNJblN0cmluZyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbmV3Q3VycmVudFZlcnNpb24gPSByZXdyaXRlQ3VycmVudFZlcnNpb25JZkZvdW5kKHZhbHVlKVxuICBpZiAobmV3Q3VycmVudFZlcnNpb24pIHtcbiAgICByZXR1cm4gbmV3Q3VycmVudFZlcnNpb25cbiAgfVxuXG4gIHJldHVybiB2YWx1ZVxuICAgIC5yZXBsYWNlKGFzc2V0Q29udGVudEhhc2hSZWdleCwgXCJzbmFwc2hvdC12YWx1ZVwiKVxuICAgIC5yZXBsYWNlKHBpcGVsaW5lc0Fzc2V0SWRTdWZmaXhSZWdleCwgXCIkMXNuYXBzaG90LXZhbHVlXCIpXG59XG5cbmZ1bmN0aW9uIHJlbW92ZUFzc2V0RGV0YWlsc0Zyb21UZW1wbGF0ZShkYXRhOiBhbnkpOiBhbnkge1xuICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgIHJldHVybiBkYXRhLm1hcChyZW1vdmVBc3NldERldGFpbHNGcm9tVGVtcGxhdGUpXG4gIH1cblxuICBpZiAoZGF0YSA9PT0gT2JqZWN0KGRhdGEpKSB7XG4gICAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pXG4gICAgICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0N1cnJlbnRWZXJzaW9uID0gcmV3cml0ZUN1cnJlbnRWZXJzaW9uSWZGb3VuZChrZXkpXG4gICAgICAgICAgaWYgKG5ld0N1cnJlbnRWZXJzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gW25ld0N1cnJlbnRWZXJzaW9uLCByZW1vdmVBc3NldERldGFpbHNGcm9tVGVtcGxhdGUodmFsdWUpXVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKFwiQXNzZXRQYXJhbWV0ZXJcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGtleSA9PT0gXCJSZWZcIiAmJlxuICAgICAgICAgICAgdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICAgICB2YWx1ZS5pbmNsdWRlcyhcIkFzc2V0UGFyYW1ldGVyc1wiKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFtrZXksIFwic25hcHNob3QtdmFsdWVcIl1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAga2V5ID09PSBcImF3czphc3NldDpwYXRoXCIgJiZcbiAgICAgICAgICAgIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJlxuICAgICAgICAgICAgL2Fzc2V0XFwuWzAtOWEtZl17NjR9Ly50ZXN0KHZhbHVlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFtrZXksIFwiYXNzZXQuc25hcHNob3QtdmFsdWVcIl1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIFtrZXksIHJlbW92ZUFzc2V0RGV0YWlsc0Zyb21UZW1wbGF0ZSh2YWx1ZSldXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoKGl0KTogaXQgaXMgW10gPT4gaXQgIT0gbnVsbCksXG4gICAgKVxuICB9XG5cbiAgaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHJlcGxhY2VBc3NldEhhc2hlc0luU3RyaW5nKGRhdGEpXG4gIH1cblxuICByZXR1cm4gZGF0YVxufVxuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHN0cmlwIGFzc2V0LXJlbGF0ZWQgZGV0YWlscyAoaGFzaGVzLCBwYXJhbWV0ZXJzKSBmcm9tIGEgSlNPTlxuICogc3RydWN0dXJlLiBVc2VkIGZvciBib3RoIG1hbmlmZXN0Lmpzb24gKENESyA8IDIuMjQyLjAgd2l0aCBpbmxpbmUgbWV0YWRhdGEpXG4gKiBhbmQgc3RhbmRhbG9uZSAqLm1ldGFkYXRhLmpzb24gZmlsZXMgKENESyA+PSAyLjI0Mi4wKS5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlQXNzZXREZXRhaWxzRnJvbU1hbmlmZXN0KGRhdGE6IGFueSk6IGFueSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XG4gICAgcmV0dXJuIGRhdGEubWFwKHJlbW92ZUFzc2V0RGV0YWlsc0Zyb21NYW5pZmVzdClcbiAgfVxuXG4gIGlmIChkYXRhID09PSBPYmplY3QoZGF0YSkpIHtcbiAgICAvLyBhd3M6Y2RrOmFzc2V0IGluIG1ldGFkYXRhXG4gICAgaWYgKGRhdGEudHlwZSA9PT0gXCJhd3M6Y2RrOmFzc2V0XCIgJiYgXCJkYXRhXCIgaW4gZGF0YSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgZGF0YTogXCJzbmFwc2hvdC12YWx1ZVwiLFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KVxuICAgICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICBpZiAoa2V5LmluY2x1ZGVzKFwiQXNzZXRQYXJhbWV0ZXJzXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gW2tleSwgcmVtb3ZlQXNzZXREZXRhaWxzRnJvbU1hbmlmZXN0KHZhbHVlKV1cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcigoaXQpOiBpdCBpcyBbXSA9PiBpdCAhPSBudWxsKSxcbiAgICApXG4gIH1cblxuICBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gcmVwbGFjZUFzc2V0SGFzaGVzSW5TdHJpbmcoZGF0YSlcbiAgfVxuXG4gIHJldHVybiBkYXRhXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBDREtNZXRhZGF0YSByZXNvdXJjZXMgdGhhdCBpcyBwYXJ0IG9mIHRoZSBzeW50aGVzaXplZFxuICogdGVtcGxhdGUgc2luY2UgQ0RLIDEuNjMuMC5cbiAqL1xuZnVuY3Rpb24gcmVtb3ZlQ2RrTWV0YWRhdGFSZXNvdXJjZUZyb21UZW1wbGF0ZShkYXRhOiBhbnkpOiBhbnkge1xuICBjb25zdCBjcCA9IHtcbiAgICAuLi5kYXRhLFxuICAgIFJlc291cmNlczoge1xuICAgICAgLi4uZGF0YS5SZXNvdXJjZXMsXG4gICAgfSxcbiAgfVxuXG4gIGRlbGV0ZSBjcC5SZXNvdXJjZXMuQ0RLTWV0YWRhdGFcbiAgcmV0dXJuIGNwXG59XG5cbi8qKlxuICogU2FuaXRpemUgYSBDbG91ZCBBc3NlbWJseSBtYW5pZmVzdC5qc29uIGZvciBzbmFwc2hvdCB1c2UuXG4gKlxuICogT24gQ0RLIDwgMi4yNDIuMCB0aGUgbWFuaWZlc3QgY29udGFpbnMgaW5saW5lIG1ldGFkYXRhIHBlciBzdGFjayBhcnRpZmFjdC5cbiAqIE9uIENESyA+PSAyLjI0Mi4wIHRoYXQgbWV0YWRhdGEgaXMgZXh0cmFjdGVkIGludG8gc2VwYXJhdGUgZmlsZXMgKGhhbmRsZWRcbiAqIGJ5IHtAbGluayBzYW5pdGl6ZU1ldGFkYXRhfSksIGJ1dCB0aGUgbWFuaWZlc3Qgc3RpbGwgbmVlZHMgdmVyc2lvbixcbiAqIHJ1bnRpbWUsIHRyYWNlLCBhbmQgYXNzZXQgZGV0YWlsIHN0cmlwcGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNhbml0aXplTWFuaWZlc3QoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgaW5wdXQgPSBKU09OLnBhcnNlKGNvbnRlbnQpXG4gIGNvbnN0IG91dHB1dCA9IFtcbiAgICByZW1vdmVWZXJzaW9uLFxuICAgIC8vIFJlbW92ZSB0aGUgcnVudGltZSB2ZXJzaW9uIGluZm9ybWF0aW9uIHNvIGl0IGRvbid0IGNvbmZsaWN0IHdpdGggQ0lcbiAgICAvLyBvciBvdGhlciB1c2VycyBnZW5lcmF0aW5nIHRoZSBzbmFwc2hvdHMuXG4gICAgcmVtb3ZlUnVudGltZUxpYnJhcmllcyxcbiAgICByZW1vdmVUcmFjZSxcbiAgICByZW1vdmVDcmVhdGlvblN0YWNrLFxuICAgIC8vIEF2b2lkIGRldGFpbHMgKGhhc2hlcykgZnJvbSBhc3NldHMuXG4gICAgcmVtb3ZlQXNzZXREZXRhaWxzRnJvbU1hbmlmZXN0LFxuICBdLnJlZHVjZSgoYWNjLCBmbikgPT4gZm4oYWNjKSwgaW5wdXQpXG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG91dHB1dCwgdW5kZWZpbmVkLCBcIiAgXCIpXG59XG5cbi8qKlxuICogU2FuaXRpemUgYW4gZXh0cmFjdGVkIG1ldGFkYXRhIEpTT04gZmlsZSBmb3Igc25hcHNob3QgdXNlLlxuICpcbiAqIENESyA+PSAyLjI0Mi4wIGV4dHJhY3RzIHBlci1zdGFjayBtZXRhZGF0YSBpbnRvIHNlcGFyYXRlICoubWV0YWRhdGEuanNvblxuICogZmlsZXMgKHByZXZpb3VzbHkgdGhpcyBkYXRhIHdhcyBpbmxpbmUgaW4gbWFuaWZlc3QuanNvbikuIFRoaXMgZnVuY3Rpb25cbiAqIGFwcGxpZXMgdGhlIHNhbWUgc2FuaXRpemF0aW9uICh0cmFjZSByZW1vdmFsLCBhc3NldCBkZXRhaWwgc3RyaXBwaW5nKSBzb1xuICogc25hcHNob3RzIHJlbWFpbiBzdGFibGUgYWNyb3NzIHN5bnRoZXNpemVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2FuaXRpemVNZXRhZGF0YShjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBpbnB1dCA9IEpTT04ucGFyc2UoY29udGVudClcbiAgY29uc3Qgb3V0cHV0ID0gW1xuICAgIHJlbW92ZVRyYWNlLFxuICAgIHJlbW92ZUNyZWF0aW9uU3RhY2ssXG4gICAgcmVtb3ZlQXNzZXREZXRhaWxzRnJvbU1hbmlmZXN0LFxuICBdLnJlZHVjZSgoYWNjLCBmbikgPT4gZm4oYWNjKSwgaW5wdXQpXG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG91dHB1dCwgdW5kZWZpbmVkLCBcIiAgXCIpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZVRlbXBsYXRlKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGlucHV0ID0gSlNPTi5wYXJzZShjb250ZW50KVxuICBjb25zdCBvdXRwdXQgPSBbXG4gICAgcmVtb3ZlQ2RrTWV0YWRhdGFSZXNvdXJjZUZyb21UZW1wbGF0ZSxcbiAgICAvLyBBdm9pZCBkZXRhaWxzIChoYXNoZXMpIGZyb20gYXNzZXRzLlxuICAgIHJlbW92ZUFzc2V0RGV0YWlsc0Zyb21UZW1wbGF0ZSxcbiAgXS5yZWR1Y2UoKGFjYywgZm4pID0+IGZuKGFjYyksIGlucHV0KVxuXG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShvdXRwdXQsIHVuZGVmaW5lZCwgXCIgIFwiKVxufVxuXG4vKipcbiAqIFJlYWQgYSBmaWxlLCBhcHBseSBhIHRyYW5zZm9ybSwgYW5kIHdyaXRlIHRoZSByZXN1bHQgYmFjay5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gdHJhbnNmb3JtRmlsZUluUGxhY2UoXG4gIGZpbGU6IHN0cmluZyxcbiAgdHJhbnNmb3JtOiAoY29udGVudDogc3RyaW5nKSA9PiBzdHJpbmcsXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzdWx0ID0gdHJhbnNmb3JtKGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKGZpbGUsIFwidXRmOFwiKSlcbiAgYXdhaXQgZnMucHJvbWlzZXMud3JpdGVGaWxlKGZpbGUsIHJlc3VsdClcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgQ2xvdWQgQXNzZW1ibHkgdG8gYSBzbmFwc2hvdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUNsb3VkQXNzZW1ibHlTbmFwc2hvdChcbiAgc3JjOiBzdHJpbmcsXG4gIGRzdDogc3RyaW5nLFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGRlc3RBYnMgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgZHN0KVxuICBjb25zdCBzcmNBYnMgPSBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgc3JjKVxuXG4gIC8vIENvcHkgYWxsIGZpbGVzIGZyb20gc3JjIChjZGsub3V0KSB0byBkZXN0IChfX3NuYXBzaG90c19fKVxuICBmcy5jcFN5bmMoc3JjQWJzLCBkZXN0QWJzLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KVxuXG4gIGNvbnN0IGV4cGFuZEdsb2IgPSAocGF0dGVybjogc3RyaW5nLCBjd2Q6IHN0cmluZyk6IHN0cmluZ1tdID0+IHtcbiAgICByZXR1cm4gZnMuZ2xvYlN5bmMocGF0dGVybiwgeyBjd2QgfSkubWFwKChwKSA9PiBwYXRoLmpvaW4oY3dkLCBwKSlcbiAgfVxuXG4gIGNvbnN0IGZpbGVzVG9EZWxldGUgPSBbXG4gICAgLy8gRG9uJ3Qga2VlcCB0cmFjayBvZiBtYW5pZmVzdCB2ZXJzaW9uLlxuICAgIFwiKiovY2RrLm91dFwiLFxuXG4gICAgLy8gVGhlIHRyZWUgZmlsZSBkb2Vzbid0IGdpdmUgdXMgbXVjaCB2YWx1ZSBhcyBwYXJ0IG9mIHRoZSBzbmFwc2hvdC5cbiAgICBcIioqL3RyZWUuanNvblwiLFxuXG4gICAgLy8gUmVtb3ZlIGFzc2V0IGNvbnRlbnRzIGZvciBub3cuXG4gICAgXCIqKi9hc3NldC4qXCIsXG5cbiAgICAvLyBSZW1vdmUgYXNzZXQgY29uZmlncyBzbyB3ZSBkb24ndCBoYXZlIHRvIHVwZGF0ZSBzbmFwc2hvdHMgZm9yIGFzc2V0IGNoYW5nZXMuXG4gICAgXCIqKi8qLmFzc2V0cy5qc29uXCIsXG5cbiAgICAvLyBSZW1vdmUgZ3JhcGh2aXogZmlsZXMgZ2VuZXJhdGVkIHdoZW4gdXNpbmcgQ0RLIFBpcGVsaW5lc1xuICAgIFwiKiovKi5kb3RcIixcbiAgXS5mbGF0TWFwKChnKSA9PiBleHBhbmRHbG9iKGcsIGRlc3RBYnMpKVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGZpbGVzVG9EZWxldGUubWFwKChwKSA9PlxuICAgICAgZnMucHJvbWlzZXMucm0ocCwge1xuICAgICAgICByZWN1cnNpdmU6IHRydWUsXG4gICAgICAgIGZvcmNlOiB0cnVlLFxuICAgICAgfSksXG4gICAgKSxcbiAgKVxuXG4gIGNvbnN0IGZpbGVUcmFuc2Zvcm1zOiBSZWNvcmQ8c3RyaW5nLCAoY29udGVudDogc3RyaW5nKSA9PiBzdHJpbmc+ID0ge1xuICAgIFwiKiovbWFuaWZlc3QuanNvblwiOiBzYW5pdGl6ZU1hbmlmZXN0LFxuICAgIC8vIENESyA+PSAyLjI0Mi4wIGV4dHJhY3RzIHBlci1zdGFjayBtZXRhZGF0YSBpbnRvIHNlcGFyYXRlIGZpbGVzLlxuICAgIC8vIE5vIG1hdGNoZXMgb24gb2xkZXIgQ0RLIOKAlCBzYWZlIHRvIHByb2Nlc3MgdW5jb25kaXRpb25hbGx5LlxuICAgIFwiKiovKi5tZXRhZGF0YS5qc29uXCI6IHNhbml0aXplTWV0YWRhdGEsXG4gICAgXCIqKi8qLnRlbXBsYXRlLmpzb25cIjogc2FuaXRpemVUZW1wbGF0ZSxcbiAgfVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKFxuICAgIE9iamVjdC5lbnRyaWVzKGZpbGVUcmFuc2Zvcm1zKS5mbGF0TWFwKChbcGF0dGVybiwgdHJhbnNmb3JtXSkgPT5cbiAgICAgIGV4cGFuZEdsb2IocGF0dGVybiwgZGVzdEFicykubWFwKChmKSA9PlxuICAgICAgICB0cmFuc2Zvcm1GaWxlSW5QbGFjZShmLCB0cmFuc2Zvcm0pLFxuICAgICAgKSxcbiAgICApLFxuICApXG59XG4iXX0=
|
|
@@ -10,6 +10,11 @@ function removeLeadingSlash(value) {
|
|
|
10
10
|
export class SsmParameterReader extends cr.AwsCustomResource {
|
|
11
11
|
constructor(scope, id, props) {
|
|
12
12
|
super(scope, id, {
|
|
13
|
+
// Use SDK bundled with the Lambda runtime instead of installing the
|
|
14
|
+
// latest at execution time. Avoids ~60s npm install on every invocation
|
|
15
|
+
// and removes a runtime dependency on npmjs.com availability.
|
|
16
|
+
// https://constructs.dev/packages/aws-cdk-lib/v/2.251.0?submodule=custom_resources&lang=typescript
|
|
17
|
+
installLatestAwsSdk: false,
|
|
13
18
|
onUpdate: {
|
|
14
19
|
service: "SSM",
|
|
15
20
|
action: "getParameter",
|
|
@@ -40,4 +45,4 @@ export class SsmParameterReader extends cr.AwsCustomResource {
|
|
|
40
45
|
return this.getResponseField("Parameter.Value");
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NtLXBhcmFtZXRlci1yZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3NtLXBhcmFtZXRlci1yZWFkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEdBQUcsTUFBTSxhQUFhLENBQUE7QUFDbEMsT0FBTyxLQUFLLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQWNsRCxTQUFTLGtCQUFrQixDQUFDLEtBQWE7SUFDdkMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUMzRCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLEVBQUUsQ0FBQyxpQkFBaUI7SUFDMUQsWUFBWSxLQUEyQixFQUFFLEVBQVUsRUFBRSxLQUFZO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2Ysb0VBQW9FO1lBQ3BFLHdFQUF3RTtZQUN4RSw4REFBOEQ7WUFDOUQsbUdBQW1HO1lBQ25HLG1CQUFtQixFQUFFLEtBQUs7WUFDMUIsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE1BQU0sRUFBRSxjQUFjO2dCQUN0QixVQUFVLEVBQUU7b0JBQ1YsSUFBSSxFQUFFLEtBQUssQ0FBQyxhQUFhO2lCQUMxQjtnQkFDRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLGtEQUFrRDtnQkFDbEQsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDO2FBQ2xFO1lBQ0QsTUFBTSxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxZQUFZLENBQUM7Z0JBQzlDLFNBQVMsRUFBRTtvQkFDVCxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FDWjt3QkFDRSxPQUFPLEVBQUUsS0FBSzt3QkFDZCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07d0JBQ3BCLFFBQVEsRUFBRSxXQUFXO3dCQUNyQixZQUFZLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztxQkFDdEQsRUFDRCxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FDcEI7aUJBQ0Y7YUFDRixDQUFDO1NBQ0gsQ0FBQyxDQUFBO1FBRUYsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSTthQUMzQyxZQUErQixDQUFBO1FBQ2xDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQTtRQUNuRCxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDcEUsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2pELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgY3IgZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIlxuaW1wb3J0IHR5cGUgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCJcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgcGFyYW1ldGVyTmFtZTogc3RyaW5nXG4gIHJlZ2lvbjogc3RyaW5nXG4gIC8qKlxuICAgKiBWYWx1ZSB0aGF0IG11c3QgYmUgdXBkYXRlZCB0byBjaGVjayBpZiB0aGUgcGFyYW1ldGVyIGhhcyBhIG5ldyB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgRGF0ZS5ub3coKS50b1N0cmluZygpXG4gICAqL1xuICBub25jZT86IHN0cmluZ1xufVxuXG5mdW5jdGlvbiByZW1vdmVMZWFkaW5nU2xhc2godmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB2YWx1ZS5zbGljZSgwLCAxKSA9PT0gXCIvXCIgPyB2YWx1ZS5zbGljZSgxKSA6IHZhbHVlXG59XG5cbi8qKlxuICogR2V0IHZhbHVlIG9mIGEgU1NNIHBhcmFtZXRlciBkeW5hbWljYWxseSBkdXJpbmcgZGVwbG95bWVudFxuICogd2l0aCBzdXBwb3J0IHRvIHJlYWQgY3Jvc3MtcmVnaW9uLlxuICovXG5leHBvcnQgY2xhc3MgU3NtUGFyYW1ldGVyUmVhZGVyIGV4dGVuZHMgY3IuQXdzQ3VzdG9tUmVzb3VyY2Uge1xuICBjb25zdHJ1Y3RvcihzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLy8gVXNlIFNESyBidW5kbGVkIHdpdGggdGhlIExhbWJkYSBydW50aW1lIGluc3RlYWQgb2YgaW5zdGFsbGluZyB0aGVcbiAgICAgIC8vIGxhdGVzdCBhdCBleGVjdXRpb24gdGltZS4gQXZvaWRzIH42MHMgbnBtIGluc3RhbGwgb24gZXZlcnkgaW52b2NhdGlvblxuICAgICAgLy8gYW5kIHJlbW92ZXMgYSBydW50aW1lIGRlcGVuZGVuY3kgb24gbnBtanMuY29tIGF2YWlsYWJpbGl0eS5cbiAgICAgIC8vIGh0dHBzOi8vY29uc3RydWN0cy5kZXYvcGFja2FnZXMvYXdzLWNkay1saWIvdi8yLjI1MS4wP3N1Ym1vZHVsZT1jdXN0b21fcmVzb3VyY2VzJmxhbmc9dHlwZXNjcmlwdFxuICAgICAgaW5zdGFsbExhdGVzdEF3c1NkazogZmFsc2UsXG4gICAgICBvblVwZGF0ZToge1xuICAgICAgICBzZXJ2aWNlOiBcIlNTTVwiLFxuICAgICAgICBhY3Rpb246IFwiZ2V0UGFyYW1ldGVyXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBOYW1lOiBwcm9wcy5wYXJhbWV0ZXJOYW1lLFxuICAgICAgICB9LFxuICAgICAgICByZWdpb246IHByb3BzLnJlZ2lvbixcbiAgICAgICAgLy8gVXBkYXRlIHBoeXNpY2FsIGlkIHRvIGZldGNoIHRoZSBsYXRlc3QgdmVyc2lvbi5cbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBjci5QaHlzaWNhbFJlc291cmNlSWQub2YocHJvcHMucGFyYW1ldGVyTmFtZSksXG4gICAgICB9LFxuICAgICAgcG9saWN5OiBjci5Bd3NDdXN0b21SZXNvdXJjZVBvbGljeS5mcm9tU2RrQ2FsbHMoe1xuICAgICAgICByZXNvdXJjZXM6IFtcbiAgICAgICAgICBjZGsuQXJuLmZvcm1hdChcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc2VydmljZTogXCJzc21cIixcbiAgICAgICAgICAgICAgcmVnaW9uOiBwcm9wcy5yZWdpb24sXG4gICAgICAgICAgICAgIHJlc291cmNlOiBcInBhcmFtZXRlclwiLFxuICAgICAgICAgICAgICByZXNvdXJjZU5hbWU6IHJlbW92ZUxlYWRpbmdTbGFzaChwcm9wcy5wYXJhbWV0ZXJOYW1lKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjZGsuU3RhY2sub2Yoc2NvcGUpLFxuICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICB9KSxcbiAgICB9KVxuXG4gICAgY29uc3QgciA9IHRoaXMubm9kZS5maW5kQ2hpbGQoXCJSZXNvdXJjZVwiKS5ub2RlXG4gICAgICAuZGVmYXVsdENoaWxkIGFzIGNkay5DZm5SZXNvdXJjZVxuICAgIHIuY2ZuT3B0aW9ucy5tZXRhZGF0YSA9IHIuY2ZuT3B0aW9ucy5tZXRhZGF0YSB8fCB7fVxuICAgIHIuY2ZuT3B0aW9ucy5tZXRhZGF0YS5Ob25jZSA9IHByb3BzLm5vbmNlID8/IERhdGUubm93KCkudG9TdHJpbmcoKVxuICB9XG5cbiAgcHVibGljIGdldFBhcmFtZXRlclZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzcG9uc2VGaWVsZChcIlBhcmFtZXRlci5WYWx1ZVwiKVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@liflig/cdk",
|
|
3
|
-
"version": "3.26.
|
|
3
|
+
"version": "3.26.7",
|
|
4
4
|
"description": "CDK library for Liflig",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"build": "tsc",
|
|
12
12
|
"watch": "tsc -w",
|
|
13
|
-
"test": "NODE_OPTIONS='--experimental-vm-modules --enable-source-maps' jest
|
|
13
|
+
"test": "NODE_OPTIONS='--experimental-vm-modules --enable-source-maps' jest",
|
|
14
14
|
"lint": "biome check",
|
|
15
15
|
"lint:fix": "biome check --fix",
|
|
16
16
|
"format": "biome format --write",
|
|
@@ -40,17 +40,17 @@
|
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@aws-cdk/assert": "2.68.0",
|
|
43
|
-
"@aws-sdk/client-cloudwatch-logs": "3.
|
|
44
|
-
"@aws-sdk/client-codebuild": "3.
|
|
45
|
-
"@aws-sdk/client-codepipeline": "3.
|
|
46
|
-
"@aws-sdk/client-ecs": "3.
|
|
47
|
-
"@aws-sdk/client-s3": "3.
|
|
48
|
-
"@aws-sdk/client-secrets-manager": "3.
|
|
49
|
-
"@aws-sdk/client-ses": "3.
|
|
50
|
-
"@aws-sdk/client-sesv2": "3.
|
|
51
|
-
"@aws-sdk/client-sfn": "3.
|
|
52
|
-
"@aws-sdk/client-ssm": "3.
|
|
53
|
-
"@aws-sdk/lib-storage": "3.
|
|
43
|
+
"@aws-sdk/client-cloudwatch-logs": "3.1038.0",
|
|
44
|
+
"@aws-sdk/client-codebuild": "3.1038.0",
|
|
45
|
+
"@aws-sdk/client-codepipeline": "3.1038.0",
|
|
46
|
+
"@aws-sdk/client-ecs": "3.1038.0",
|
|
47
|
+
"@aws-sdk/client-s3": "3.1038.0",
|
|
48
|
+
"@aws-sdk/client-secrets-manager": "3.1038.0",
|
|
49
|
+
"@aws-sdk/client-ses": "3.1038.0",
|
|
50
|
+
"@aws-sdk/client-sesv2": "3.1038.0",
|
|
51
|
+
"@aws-sdk/client-sfn": "3.1038.0",
|
|
52
|
+
"@aws-sdk/client-ssm": "3.1038.0",
|
|
53
|
+
"@aws-sdk/lib-storage": "3.1038.0",
|
|
54
54
|
"@biomejs/biome": "2.4.13",
|
|
55
55
|
"@commitlint/cli": "20.5.2",
|
|
56
56
|
"@commitlint/config-conventional": "20.5.0",
|
|
@@ -58,21 +58,21 @@
|
|
|
58
58
|
"@types/jest": "30.0.0",
|
|
59
59
|
"@types/node": "24.12.2",
|
|
60
60
|
"aws-cdk": "2.1119.0",
|
|
61
|
-
"aws-cdk-lib": "2.
|
|
61
|
+
"aws-cdk-lib": "2.251.0",
|
|
62
62
|
"constructs": "10.6.0",
|
|
63
63
|
"esbuild": "0.28.0",
|
|
64
64
|
"jest": "30.3.0",
|
|
65
65
|
"jest-cdk-snapshot": "2.3.6",
|
|
66
66
|
"lefthook": "2.1.6",
|
|
67
|
-
"npm-check-updates": "
|
|
67
|
+
"npm-check-updates": "22.0.1",
|
|
68
68
|
"semantic-release": "25.0.3",
|
|
69
69
|
"ts-jest": "29.4.9",
|
|
70
70
|
"tsx": "4.21.0",
|
|
71
71
|
"typedoc": "0.28.19",
|
|
72
|
-
"typescript": "
|
|
72
|
+
"typescript": "6.0.3"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@capraconsulting/webapp-deploy-lambda": "2.5.
|
|
75
|
+
"@capraconsulting/webapp-deploy-lambda": "2.5.94",
|
|
76
76
|
"aws-jwt-verify": "5.1.1"
|
|
77
77
|
},
|
|
78
78
|
"peerDependencies": {
|