@mavogel/awscdk-rootmail 0.0.111 → 0.0.113

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.
Files changed (38) hide show
  1. package/.jsii +8 -8
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +5 -5
  5. package/node_modules/@aws-sdk/client-route-53/package.json +5 -5
  6. package/node_modules/@aws-sdk/client-s3/package.json +5 -5
  7. package/node_modules/@aws-sdk/client-ses/package.json +5 -5
  8. package/node_modules/@aws-sdk/client-ssm/package.json +5 -5
  9. package/node_modules/@aws-sdk/client-sso/package.json +2 -2
  10. package/node_modules/@aws-sdk/client-sso-oidc/package.json +4 -4
  11. package/node_modules/@aws-sdk/client-sts/package.json +4 -4
  12. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +27 -0
  13. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js +18 -0
  14. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js +3 -1
  15. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js +2 -1
  16. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.d.ts +10 -0
  17. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +25 -1
  18. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/index.d.ts +2 -1
  19. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.d.ts +12 -0
  20. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +17 -0
  21. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/index.d.ts +2 -1
  22. package/node_modules/@aws-sdk/core/package.json +1 -1
  23. package/node_modules/@aws-sdk/credential-provider-ini/package.json +3 -3
  24. package/node_modules/@aws-sdk/credential-provider-node/package.json +3 -3
  25. package/node_modules/@aws-sdk/credential-provider-sso/package.json +2 -2
  26. package/node_modules/cdk-nag/.jsii +3 -3
  27. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  28. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  29. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  30. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  31. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  32. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  33. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  34. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  35. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  36. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  37. package/node_modules/cdk-nag/package.json +3 -3
  38. package/package.json +10 -10
package/.jsii CHANGED
@@ -7,14 +7,14 @@
7
7
  ]
8
8
  },
9
9
  "bundled": {
10
- "@aws-sdk/client-cloudwatch-logs": "^3.622.0",
11
- "@aws-sdk/client-route-53": "^3.622.0",
12
- "@aws-sdk/client-s3": "^3.622.0",
13
- "@aws-sdk/client-ses": "^3.622.0",
14
- "@aws-sdk/client-ssm": "^3.622.0",
10
+ "@aws-sdk/client-cloudwatch-logs": "^3.623.0",
11
+ "@aws-sdk/client-route-53": "^3.623.0",
12
+ "@aws-sdk/client-s3": "^3.623.0",
13
+ "@aws-sdk/client-ses": "^3.623.0",
14
+ "@aws-sdk/client-ssm": "^3.623.0",
15
15
  "async-retry": "^1.3.3",
16
16
  "axios": "^1.7.3",
17
- "cdk-nag": "^2.28.172",
17
+ "cdk-nag": "^2.28.173",
18
18
  "mailparser": "^3.7.1",
19
19
  "uuid": "^9.0.1"
20
20
  },
@@ -3877,6 +3877,6 @@
3877
3877
  "symbolId": "src/ses-receive:SESReceiveProps"
3878
3878
  }
3879
3879
  },
3880
- "version": "0.0.111",
3881
- "fingerprint": "YFzrzu+Z7ENm14e7Q9Orpg9BRd4lFCGA+7e89qE9jek="
3880
+ "version": "0.0.113",
3881
+ "fingerprint": "wfpBUfM4FWsm5E5S1Qv9yd/wHf/0V7x/nzZ+X4xeHtw="
3882
3882
  }
package/lib/rootmail.js CHANGED
@@ -74,7 +74,7 @@ class Rootmail extends constructs_1.Construct {
74
74
  }
75
75
  exports.Rootmail = Rootmail;
76
76
  _a = JSII_RTTI_SYMBOL_1;
77
- Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.111" };
77
+ Rootmail[_a] = { fqn: "@mavogel/awscdk-rootmail.Rootmail", version: "0.0.113" };
78
78
  /**
79
79
  * Aspect for setting all removal policies to DESTROY
80
80
  */
@@ -124,7 +124,7 @@ class SESReceive extends constructs_1.Construct {
124
124
  }
125
125
  exports.SESReceive = SESReceive;
126
126
  _a = JSII_RTTI_SYMBOL_1;
127
- SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.111" };
127
+ SESReceive[_a] = { fqn: "@mavogel/awscdk-rootmail.SESReceive", version: "0.0.113" };
128
128
  /**
129
129
  * Aspect for setting all removal policies to DESTROY
130
130
  */
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-cloudwatch-logs",
3
3
  "description": "AWS SDK for JavaScript Cloudwatch Logs Client for Node.js, Browser and React Native",
4
- "version": "3.622.0",
4
+ "version": "3.623.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-cloudwatch-logs",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.622.0",
24
- "@aws-sdk/client-sts": "3.622.0",
25
- "@aws-sdk/core": "3.622.0",
26
- "@aws-sdk/credential-provider-node": "3.622.0",
23
+ "@aws-sdk/client-sso-oidc": "3.623.0",
24
+ "@aws-sdk/client-sts": "3.623.0",
25
+ "@aws-sdk/core": "3.623.0",
26
+ "@aws-sdk/credential-provider-node": "3.623.0",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-route-53",
3
3
  "description": "AWS SDK for JavaScript Route 53 Client for Node.js, Browser and React Native",
4
- "version": "3.622.0",
4
+ "version": "3.623.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-route-53",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.622.0",
24
- "@aws-sdk/client-sts": "3.622.0",
25
- "@aws-sdk/core": "3.622.0",
26
- "@aws-sdk/credential-provider-node": "3.622.0",
23
+ "@aws-sdk/client-sso-oidc": "3.623.0",
24
+ "@aws-sdk/client-sts": "3.623.0",
25
+ "@aws-sdk/core": "3.623.0",
26
+ "@aws-sdk/credential-provider-node": "3.623.0",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-s3",
3
3
  "description": "AWS SDK for JavaScript S3 Client for Node.js, Browser and React Native",
4
- "version": "3.622.0",
4
+ "version": "3.623.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-s3",
@@ -26,10 +26,10 @@
26
26
  "@aws-crypto/sha1-browser": "5.2.0",
27
27
  "@aws-crypto/sha256-browser": "5.2.0",
28
28
  "@aws-crypto/sha256-js": "5.2.0",
29
- "@aws-sdk/client-sso-oidc": "3.622.0",
30
- "@aws-sdk/client-sts": "3.622.0",
31
- "@aws-sdk/core": "3.622.0",
32
- "@aws-sdk/credential-provider-node": "3.622.0",
29
+ "@aws-sdk/client-sso-oidc": "3.623.0",
30
+ "@aws-sdk/client-sts": "3.623.0",
31
+ "@aws-sdk/core": "3.623.0",
32
+ "@aws-sdk/credential-provider-node": "3.623.0",
33
33
  "@aws-sdk/middleware-bucket-endpoint": "3.620.0",
34
34
  "@aws-sdk/middleware-expect-continue": "3.620.0",
35
35
  "@aws-sdk/middleware-flexible-checksums": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ses",
3
3
  "description": "AWS SDK for JavaScript Ses Client for Node.js, Browser and React Native",
4
- "version": "3.622.0",
4
+ "version": "3.623.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-ses",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.622.0",
24
- "@aws-sdk/client-sts": "3.622.0",
25
- "@aws-sdk/core": "3.622.0",
26
- "@aws-sdk/credential-provider-node": "3.622.0",
23
+ "@aws-sdk/client-sso-oidc": "3.623.0",
24
+ "@aws-sdk/client-sts": "3.623.0",
25
+ "@aws-sdk/core": "3.623.0",
26
+ "@aws-sdk/credential-provider-node": "3.623.0",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-ssm",
3
3
  "description": "AWS SDK for JavaScript Ssm Client for Node.js, Browser and React Native",
4
- "version": "3.622.0",
4
+ "version": "3.623.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-ssm",
@@ -20,10 +20,10 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.622.0",
24
- "@aws-sdk/client-sts": "3.622.0",
25
- "@aws-sdk/core": "3.622.0",
26
- "@aws-sdk/credential-provider-node": "3.622.0",
23
+ "@aws-sdk/client-sso-oidc": "3.623.0",
24
+ "@aws-sdk/client-sts": "3.623.0",
25
+ "@aws-sdk/core": "3.623.0",
26
+ "@aws-sdk/credential-provider-node": "3.623.0",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sso",
3
3
  "description": "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native",
4
- "version": "3.622.0",
4
+ "version": "3.623.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sso",
@@ -20,7 +20,7 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.622.0",
23
+ "@aws-sdk/core": "3.623.0",
24
24
  "@aws-sdk/middleware-host-header": "3.620.0",
25
25
  "@aws-sdk/middleware-logger": "3.609.0",
26
26
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sso-oidc",
3
3
  "description": "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native",
4
- "version": "3.622.0",
4
+ "version": "3.623.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sso-oidc",
@@ -20,8 +20,8 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.622.0",
24
- "@aws-sdk/credential-provider-node": "3.622.0",
23
+ "@aws-sdk/core": "3.623.0",
24
+ "@aws-sdk/credential-provider-node": "3.623.0",
25
25
  "@aws-sdk/middleware-host-header": "3.620.0",
26
26
  "@aws-sdk/middleware-logger": "3.609.0",
27
27
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -85,7 +85,7 @@
85
85
  },
86
86
  "license": "Apache-2.0",
87
87
  "peerDependencies": {
88
- "@aws-sdk/client-sts": "^3.622.0"
88
+ "@aws-sdk/client-sts": "^3.623.0"
89
89
  },
90
90
  "browser": {
91
91
  "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sts",
3
3
  "description": "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native",
4
- "version": "3.622.0",
4
+ "version": "3.623.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sts",
@@ -22,9 +22,9 @@
22
22
  "dependencies": {
23
23
  "@aws-crypto/sha256-browser": "5.2.0",
24
24
  "@aws-crypto/sha256-js": "5.2.0",
25
- "@aws-sdk/client-sso-oidc": "3.622.0",
26
- "@aws-sdk/core": "3.622.0",
27
- "@aws-sdk/credential-provider-node": "3.622.0",
25
+ "@aws-sdk/client-sso-oidc": "3.623.0",
26
+ "@aws-sdk/core": "3.623.0",
27
+ "@aws-sdk/credential-provider-node": "3.623.0",
28
28
  "@aws-sdk/middleware-host-header": "3.620.0",
29
29
  "@aws-sdk/middleware-logger": "3.609.0",
30
30
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
@@ -22,6 +22,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
22
22
  var httpAuthSchemes_exports = {};
23
23
  __export(httpAuthSchemes_exports, {
24
24
  AWSSDKSigV4Signer: () => AWSSDKSigV4Signer,
25
+ AwsSdkSigV4ASigner: () => AwsSdkSigV4ASigner,
25
26
  AwsSdkSigV4Signer: () => AwsSdkSigV4Signer,
26
27
  resolveAWSSDKSigV4Config: () => resolveAWSSDKSigV4Config,
27
28
  resolveAwsSdkSigV4Config: () => resolveAwsSdkSigV4Config
@@ -74,11 +75,13 @@ var validateSigningProperties = /* @__PURE__ */ __name(async (signingProperties)
74
75
  );
75
76
  const signer = await signerFunction(authScheme);
76
77
  const signingRegion = signingProperties == null ? void 0 : signingProperties.signingRegion;
78
+ const signingRegionSet = signingProperties == null ? void 0 : signingProperties.signingRegionSet;
77
79
  const signingName = signingProperties == null ? void 0 : signingProperties.signingName;
78
80
  return {
79
81
  config,
80
82
  signer,
81
83
  signingRegion,
84
+ signingRegionSet,
82
85
  signingName
83
86
  };
84
87
  }, "validateSigningProperties");
@@ -122,6 +125,29 @@ __name(_AwsSdkSigV4Signer, "AwsSdkSigV4Signer");
122
125
  var AwsSdkSigV4Signer = _AwsSdkSigV4Signer;
123
126
  var AWSSDKSigV4Signer = AwsSdkSigV4Signer;
124
127
 
128
+ // src/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.ts
129
+ var import_protocol_http3 = require("@smithy/protocol-http");
130
+ var _AwsSdkSigV4ASigner = class _AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
131
+ async sign(httpRequest, identity, signingProperties) {
132
+ var _a;
133
+ if (!import_protocol_http3.HttpRequest.isInstance(httpRequest)) {
134
+ throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
135
+ }
136
+ const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(
137
+ signingProperties
138
+ );
139
+ const multiRegionOverride = ((_a = signingRegionSet == null ? void 0 : signingRegionSet.join) == null ? void 0 : _a.call(signingRegionSet, ",")) ?? signingRegion;
140
+ const signedRequest = await signer.sign(httpRequest, {
141
+ signingDate: getSkewCorrectedDate(config.systemClockOffset),
142
+ signingRegion: multiRegionOverride,
143
+ signingService: signingName
144
+ });
145
+ return signedRequest;
146
+ }
147
+ };
148
+ __name(_AwsSdkSigV4ASigner, "AwsSdkSigV4ASigner");
149
+ var AwsSdkSigV4ASigner = _AwsSdkSigV4ASigner;
150
+
125
151
  // src/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.ts
126
152
  var import_core = require("@smithy/core");
127
153
  var import_signature_v4 = require("@smithy/signature-v4");
@@ -220,6 +246,7 @@ var resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;
220
246
  // Annotate the CommonJS export names for ESM import in node:
221
247
  0 && (module.exports = {
222
248
  AWSSDKSigV4Signer,
249
+ AwsSdkSigV4ASigner,
223
250
  AwsSdkSigV4Signer,
224
251
  resolveAWSSDKSigV4Config,
225
252
  resolveAwsSdkSigV4Config
@@ -0,0 +1,18 @@
1
+ import { HttpRequest } from "@smithy/protocol-http";
2
+ import { getSkewCorrectedDate } from "../utils";
3
+ import { AwsSdkSigV4Signer, validateSigningProperties } from "./AwsSdkSigV4Signer";
4
+ export class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
5
+ async sign(httpRequest, identity, signingProperties) {
6
+ if (!HttpRequest.isInstance(httpRequest)) {
7
+ throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
8
+ }
9
+ const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);
10
+ const multiRegionOverride = signingRegionSet?.join?.(",") ?? signingRegion;
11
+ const signedRequest = await signer.sign(httpRequest, {
12
+ signingDate: getSkewCorrectedDate(config.systemClockOffset),
13
+ signingRegion: multiRegionOverride,
14
+ signingService: signingName,
15
+ });
16
+ return signedRequest;
17
+ }
18
+ }
@@ -6,18 +6,20 @@ const throwSigningPropertyError = (name, property) => {
6
6
  }
7
7
  return property;
8
8
  };
9
- const validateSigningProperties = async (signingProperties) => {
9
+ export const validateSigningProperties = async (signingProperties) => {
10
10
  const context = throwSigningPropertyError("context", signingProperties.context);
11
11
  const config = throwSigningPropertyError("config", signingProperties.config);
12
12
  const authScheme = context.endpointV2?.properties?.authSchemes?.[0];
13
13
  const signerFunction = throwSigningPropertyError("signer", config.signer);
14
14
  const signer = await signerFunction(authScheme);
15
15
  const signingRegion = signingProperties?.signingRegion;
16
+ const signingRegionSet = signingProperties?.signingRegionSet;
16
17
  const signingName = signingProperties?.signingName;
17
18
  return {
18
19
  config,
19
20
  signer,
20
21
  signingRegion,
22
+ signingRegionSet,
21
23
  signingName,
22
24
  };
23
25
  };
@@ -1,2 +1,3 @@
1
- export * from "./AwsSdkSigV4Signer";
1
+ export { AwsSdkSigV4Signer, AWSSDKSigV4Signer } from "./AwsSdkSigV4Signer";
2
+ export { AwsSdkSigV4ASigner } from "./AwsSdkSigV4ASigner";
2
3
  export * from "./resolveAwsSdkSigV4Config";
@@ -0,0 +1,10 @@
1
+ import { AwsCredentialIdentity, HttpRequest as IHttpRequest } from "@smithy/types";
2
+ import { AwsSdkSigV4Signer } from "./AwsSdkSigV4Signer";
3
+ /**
4
+ * @internal
5
+ * Note: this is not a signing algorithm implementation. The sign method
6
+ * accepts the real signer as an input parameter.
7
+ */
8
+ export declare class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
9
+ sign(httpRequest: IHttpRequest, identity: AwsCredentialIdentity, signingProperties: Record<string, unknown>): Promise<IHttpRequest>;
10
+ }
@@ -1,7 +1,30 @@
1
- import { AwsCredentialIdentity, HttpRequest as IHttpRequest, HttpResponse, HttpSigner } from "@smithy/types";
1
+ import { AuthScheme, AwsCredentialIdentity, HttpRequest as IHttpRequest, HttpResponse, HttpSigner, RequestSigner } from "@smithy/types";
2
2
  /**
3
3
  * @internal
4
4
  */
5
+ interface AwsSdkSigV4Config {
6
+ systemClockOffset: number;
7
+ signer: (authScheme?: AuthScheme) => Promise<RequestSigner>;
8
+ }
9
+ /**
10
+ * @internal
11
+ */
12
+ interface AwsSdkSigV4AuthSigningProperties {
13
+ config: AwsSdkSigV4Config;
14
+ signer: RequestSigner;
15
+ signingRegion?: string;
16
+ signingRegionSet?: string[];
17
+ signingName?: string;
18
+ }
19
+ /**
20
+ * @internal
21
+ */
22
+ export declare const validateSigningProperties: (signingProperties: Record<string, unknown>) => Promise<AwsSdkSigV4AuthSigningProperties>;
23
+ /**
24
+ * @internal
25
+ * Note: this is not a signing algorithm implementation. The sign method
26
+ * accepts the real signer as an input parameter.
27
+ */
5
28
  export declare class AwsSdkSigV4Signer implements HttpSigner {
6
29
  sign(httpRequest: IHttpRequest,
7
30
  /**
@@ -15,3 +38,4 @@ export declare class AwsSdkSigV4Signer implements HttpSigner {
15
38
  * @deprecated renamed to {@link AwsSdkSigV4Signer}
16
39
  */
17
40
  export declare const AWSSDKSigV4Signer: typeof AwsSdkSigV4Signer;
41
+ export {};
@@ -1,2 +1,3 @@
1
- export * from "./AwsSdkSigV4Signer";
1
+ export { AwsSdkSigV4Signer, AWSSDKSigV4Signer } from "./AwsSdkSigV4Signer";
2
+ export { AwsSdkSigV4ASigner } from "./AwsSdkSigV4ASigner";
2
3
  export * from "./resolveAwsSdkSigV4Config";
@@ -0,0 +1,12 @@
1
+ import {
2
+ AwsCredentialIdentity,
3
+ HttpRequest as IHttpRequest,
4
+ } from "@smithy/types";
5
+ import { AwsSdkSigV4Signer } from "./AwsSdkSigV4Signer";
6
+ export declare class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
7
+ sign(
8
+ httpRequest: IHttpRequest,
9
+ identity: AwsCredentialIdentity,
10
+ signingProperties: Record<string, unknown>
11
+ ): Promise<IHttpRequest>;
12
+ }
@@ -1,9 +1,25 @@
1
1
  import {
2
+ AuthScheme,
2
3
  AwsCredentialIdentity,
3
4
  HttpRequest as IHttpRequest,
4
5
  HttpResponse,
5
6
  HttpSigner,
7
+ RequestSigner,
6
8
  } from "@smithy/types";
9
+ interface AwsSdkSigV4Config {
10
+ systemClockOffset: number;
11
+ signer: (authScheme?: AuthScheme) => Promise<RequestSigner>;
12
+ }
13
+ interface AwsSdkSigV4AuthSigningProperties {
14
+ config: AwsSdkSigV4Config;
15
+ signer: RequestSigner;
16
+ signingRegion?: string;
17
+ signingRegionSet?: string[];
18
+ signingName?: string;
19
+ }
20
+ export declare const validateSigningProperties: (
21
+ signingProperties: Record<string, unknown>
22
+ ) => Promise<AwsSdkSigV4AuthSigningProperties>;
7
23
  export declare class AwsSdkSigV4Signer implements HttpSigner {
8
24
  sign(
9
25
  httpRequest: IHttpRequest,
@@ -19,3 +35,4 @@ export declare class AwsSdkSigV4Signer implements HttpSigner {
19
35
  ): void;
20
36
  }
21
37
  export declare const AWSSDKSigV4Signer: typeof AwsSdkSigV4Signer;
38
+ export {};
@@ -1,2 +1,3 @@
1
- export * from "./AwsSdkSigV4Signer";
1
+ export { AwsSdkSigV4Signer, AWSSDKSigV4Signer } from "./AwsSdkSigV4Signer";
2
+ export { AwsSdkSigV4ASigner } from "./AwsSdkSigV4ASigner";
2
3
  export * from "./resolveAwsSdkSigV4Config";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/core",
3
- "version": "3.622.0",
3
+ "version": "3.623.0",
4
4
  "description": "Core functions & classes shared by multiple AWS SDK clients",
5
5
  "scripts": {
6
6
  "build": "yarn lint && concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-ini",
3
- "version": "3.622.0",
3
+ "version": "3.623.0",
4
4
  "description": "AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -27,7 +27,7 @@
27
27
  "@aws-sdk/credential-provider-env": "3.620.1",
28
28
  "@aws-sdk/credential-provider-http": "3.622.0",
29
29
  "@aws-sdk/credential-provider-process": "3.620.1",
30
- "@aws-sdk/credential-provider-sso": "3.622.0",
30
+ "@aws-sdk/credential-provider-sso": "3.623.0",
31
31
  "@aws-sdk/credential-provider-web-identity": "3.621.0",
32
32
  "@aws-sdk/types": "3.609.0",
33
33
  "@smithy/credential-provider-imds": "^3.2.0",
@@ -45,7 +45,7 @@
45
45
  "typescript": "~4.9.5"
46
46
  },
47
47
  "peerDependencies": {
48
- "@aws-sdk/client-sts": "^3.622.0"
48
+ "@aws-sdk/client-sts": "^3.623.0"
49
49
  },
50
50
  "types": "./dist-types/index.d.ts",
51
51
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-node",
3
- "version": "3.622.0",
3
+ "version": "3.623.0",
4
4
  "description": "AWS credential provider that sources credentials from a Node.JS environment. ",
5
5
  "engines": {
6
6
  "node": ">=16.0.0"
@@ -30,9 +30,9 @@
30
30
  "dependencies": {
31
31
  "@aws-sdk/credential-provider-env": "3.620.1",
32
32
  "@aws-sdk/credential-provider-http": "3.622.0",
33
- "@aws-sdk/credential-provider-ini": "3.622.0",
33
+ "@aws-sdk/credential-provider-ini": "3.623.0",
34
34
  "@aws-sdk/credential-provider-process": "3.620.1",
35
- "@aws-sdk/credential-provider-sso": "3.622.0",
35
+ "@aws-sdk/credential-provider-sso": "3.623.0",
36
36
  "@aws-sdk/credential-provider-web-identity": "3.621.0",
37
37
  "@aws-sdk/types": "3.609.0",
38
38
  "@smithy/credential-provider-imds": "^3.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-sso",
3
- "version": "3.622.0",
3
+ "version": "3.623.0",
4
4
  "description": "AWS credential provider that exchanges a resolved SSO login token file for temporary AWS credentials",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/client-sso": "3.622.0",
27
+ "@aws-sdk/client-sso": "3.623.0",
28
28
  "@aws-sdk/token-providers": "3.614.0",
29
29
  "@aws-sdk/types": "3.609.0",
30
30
  "@smithy/property-provider": "^3.1.3",
@@ -3623,7 +3623,7 @@
3623
3623
  "stability": "stable"
3624
3624
  },
3625
3625
  "homepage": "https://github.com/cdklabs/cdk-nag.git",
3626
- "jsiiVersion": "1.101.0 (build b95fe5d)",
3626
+ "jsiiVersion": "1.102.0 (build e354887)",
3627
3627
  "keywords": [
3628
3628
  "cdk"
3629
3629
  ],
@@ -6939,6 +6939,6 @@
6939
6939
  "symbolId": "src/ignore-suppression-conditions:SuppressionIgnoreOr"
6940
6940
  }
6941
6941
  },
6942
- "version": "2.28.172",
6943
- "fingerprint": "gnxlrwqDDN4RE/YxkyYZy68MmFGnlIS9rZiPEC2dzec="
6942
+ "version": "2.28.173",
6943
+ "fingerprint": "gPpYcCLQIMEyKvcB1jkBZcZzm7q9X78P5hHcr2HUE5s="
6944
6944
  }
@@ -28,7 +28,7 @@ class SuppressionIgnoreAnd {
28
28
  }
29
29
  exports.SuppressionIgnoreAnd = SuppressionIgnoreAnd;
30
30
  _a = JSII_RTTI_SYMBOL_1;
31
- SuppressionIgnoreAnd[_a] = { fqn: "cdk-nag.SuppressionIgnoreAnd", version: "2.28.172" };
31
+ SuppressionIgnoreAnd[_a] = { fqn: "cdk-nag.SuppressionIgnoreAnd", version: "2.28.173" };
32
32
  /**
33
33
  * Ignore the suppression if any of the given INagSuppressionIgnore return a non-empty message
34
34
  */
@@ -52,7 +52,7 @@ class SuppressionIgnoreOr {
52
52
  }
53
53
  exports.SuppressionIgnoreOr = SuppressionIgnoreOr;
54
54
  _b = JSII_RTTI_SYMBOL_1;
55
- SuppressionIgnoreOr[_b] = { fqn: "cdk-nag.SuppressionIgnoreOr", version: "2.28.172" };
55
+ SuppressionIgnoreOr[_b] = { fqn: "cdk-nag.SuppressionIgnoreOr", version: "2.28.173" };
56
56
  /**
57
57
  * Always ignore the suppression
58
58
  */
@@ -69,7 +69,7 @@ class SuppressionIgnoreAlways {
69
69
  }
70
70
  exports.SuppressionIgnoreAlways = SuppressionIgnoreAlways;
71
71
  _c = JSII_RTTI_SYMBOL_1;
72
- SuppressionIgnoreAlways[_c] = { fqn: "cdk-nag.SuppressionIgnoreAlways", version: "2.28.172" };
72
+ SuppressionIgnoreAlways[_c] = { fqn: "cdk-nag.SuppressionIgnoreAlways", version: "2.28.173" };
73
73
  /**
74
74
  * Don't ignore the suppression
75
75
  */
@@ -80,7 +80,7 @@ class SuppressionIgnoreNever {
80
80
  }
81
81
  exports.SuppressionIgnoreNever = SuppressionIgnoreNever;
82
82
  _d = JSII_RTTI_SYMBOL_1;
83
- SuppressionIgnoreNever[_d] = { fqn: "cdk-nag.SuppressionIgnoreNever", version: "2.28.172" };
83
+ SuppressionIgnoreNever[_d] = { fqn: "cdk-nag.SuppressionIgnoreNever", version: "2.28.173" };
84
84
  /**
85
85
  * Ignore Suppressions for Rules with a NagMessageLevel.ERROR
86
86
  */
@@ -93,5 +93,5 @@ class SuppressionIgnoreErrors {
93
93
  }
94
94
  exports.SuppressionIgnoreErrors = SuppressionIgnoreErrors;
95
95
  _e = JSII_RTTI_SYMBOL_1;
96
- SuppressionIgnoreErrors[_e] = { fqn: "cdk-nag.SuppressionIgnoreErrors", version: "2.28.172" };
96
+ SuppressionIgnoreErrors[_e] = { fqn: "cdk-nag.SuppressionIgnoreErrors", version: "2.28.173" };
97
97
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaWdub3JlLXN1cHByZXNzaW9uLWNvbmRpdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSwyQ0FBOEM7QUF5QjlDOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7SUFHL0IsWUFBWSxHQUFHLHFCQUE4QztRQUMzRCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FDYiwrREFBK0QsQ0FDaEUsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLHFCQUFxQixDQUFDO0lBQ3JELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBNkI7UUFDekMsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFO1lBQzFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqQixJQUFJLENBQUMsQ0FBQyxFQUFFO2dCQUNOLE9BQU8sRUFBRSxDQUFDO2FBQ1g7U0FDRjtRQUNELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDOztBQXRCSCxvREF1QkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7SUFHOUIsWUFBWSxHQUFHLG9CQUE2QztRQUMxRCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FDYiw4REFBOEQsQ0FDL0QsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLG9CQUFvQixDQUFDO0lBQ25ELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBNkI7UUFDekMsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ3pDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsQjtTQUNGO1FBQ0QsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMvQyxDQUFDOztBQXJCSCxrREFzQkM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7SUFFbEMsWUFBWSxjQUFzQjtRQUNoQyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQy9CLE1BQU0sSUFBSSxLQUFLLENBQ2IsMERBQTBELENBQzNELENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxhQUFhLENBQUMsTUFBOEI7UUFDMUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7O0FBWkgsMERBYUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDakMsYUFBYSxDQUFDLE1BQThCO1FBQzFDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7QUFISCx3REFJQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHVCQUF1QjtJQUNsQyxhQUFhLENBQUMsS0FBNkI7UUFDekMsT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLDJCQUFlLENBQUMsS0FBSztZQUM3QyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSx1REFBdUQ7WUFDeEUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7O0FBTEgsMERBTUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuKi9cbmltcG9ydCB7IENmblJlc291cmNlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgTmFnTWVzc2FnZUxldmVsIH0gZnJvbSAnLi9uYWctcnVsZXMnO1xuXG4vKipcbiAqIEluZm9ybWF0aW9uIGFib3V0IHRoZSBOYWdSdWxlIGFuZCB0aGUgcmVsZXZhbnQgTmFnU3VwcHJlc3Npb24gZm9yIHRoZSBJTmFnU3VwcHJlc3Npb25JZ25vcmVcbiAqIEBwYXJhbSByZXNvdXJjZSBUaGUgcmVzb3VyY2UgdGhlIHN1cHByZXNzaW9uIGlzIGFwcGxpZWQgdG8uXG4gKiBAcGFyYW0gcmVhc29uIFRoZSByZWFzb24gZ2l2ZW4gZm9yIHRoZSBzdXBwcmVzc2lvbi5cbiAqIEBwYXJhbSBydWxlSWQgVGhlIGlkIG9mIHRoZSBydWxlIHRvIGlnbm9yZS5cbiAqIEBwYXJhbSBmaW5kaW5nSWQgVGhlIGlkIG9mIHRoZSBmaW5kaW5nIHRoYXQgaXMgYmVpbmcgY2hlY2tlZC5cbiAqIEBwYXJhbSBydWxlTGV2ZWwgVGhlIHNldmVyaXR5IGxldmVsIG9mIHRoZSBydWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN1cHByZXNzaW9uSWdub3JlSW5wdXQge1xuICByZWFkb25seSByZXNvdXJjZTogQ2ZuUmVzb3VyY2U7XG4gIHJlYWRvbmx5IHJlYXNvbjogc3RyaW5nO1xuICByZWFkb25seSBydWxlSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgZmluZGluZ0lkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bGVMZXZlbDogTmFnTWVzc2FnZUxldmVsO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY3JlYXRpbmcgTmFnU3VwcHJlc3Npb24gSWdub3Jlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIGNyZWF0ZU1lc3NhZ2UoaW5wdXQ6IFN1cHByZXNzaW9uSWdub3JlSW5wdXQpOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSWdub3JlIHRoZSBzdXBwcmVzc2lvbiBpZiBhbGwgb2YgdGhlIGdpdmVuIElOYWdTdXBwcmVzc2lvbklnbm9yZSByZXR1cm4gYSBub24tZW1wdHkgbWVzc2FnZVxuICovXG5leHBvcnQgY2xhc3MgU3VwcHJlc3Npb25JZ25vcmVBbmQgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBwcml2YXRlIGFuZFN1cHByZXNzaW9uSWdub3JlczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW107XG5cbiAgY29uc3RydWN0b3IoLi4uU3VwcHJlc3Npb25JZ25vcmVBbmRzOiBJTmFnU3VwcHJlc3Npb25JZ25vcmVbXSkge1xuICAgIGlmIChTdXBwcmVzc2lvbklnbm9yZUFuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTdXBwcmVzc2lvbklnbm9yZUFuZCBuZWVkcyBhdCBsZWFzdCBvbmUgSU5hZ1N1cHByZXNzaW9uSWdub3JlJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5hbmRTdXBwcmVzc2lvbklnbm9yZXMgPSBTdXBwcmVzc2lvbklnbm9yZUFuZHM7XG4gIH1cblxuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICBsZXQgbWVzc2FnZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy5hbmRTdXBwcmVzc2lvbklnbm9yZXMpIHtcbiAgICAgIGNvbnN0IG0gPSBpLmNyZWF0ZU1lc3NhZ2UoaW5wdXQpO1xuICAgICAgbWVzc2FnZXMucHVzaChtKTtcbiAgICAgIGlmICghbSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlcy5qb2luKCdcXG5cXHQnKTtcbiAgfVxufVxuXG4vKipcbiAqIElnbm9yZSB0aGUgc3VwcHJlc3Npb24gaWYgYW55IG9mIHRoZSBnaXZlbiBJTmFnU3VwcHJlc3Npb25JZ25vcmUgcmV0dXJuIGEgbm9uLWVtcHR5IG1lc3NhZ2VcbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlT3IgaW1wbGVtZW50cyBJTmFnU3VwcHJlc3Npb25JZ25vcmUge1xuICBwcml2YXRlIFN1cHByZXNzaW9uSWdub3JlT3JzOiBJTmFnU3VwcHJlc3Npb25JZ25vcmVbXTtcblxuICBjb25zdHJ1Y3RvciguLi5vclN1cHByZXNzaW9uSWdub3JlczogSU5hZ1N1cHByZXNzaW9uSWdub3JlW10pIHtcbiAgICBpZiAob3JTdXBwcmVzc2lvbklnbm9yZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdTdXBwcmVzc2lvbklnbm9yZU9yIG5lZWRzIGF0IGxlYXN0IG9uZSBJTmFnU3VwcHJlc3Npb25JZ25vcmUnXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLlN1cHByZXNzaW9uSWdub3JlT3JzID0gb3JTdXBwcmVzc2lvbklnbm9yZXM7XG4gIH1cblxuICBjcmVhdGVNZXNzYWdlKGlucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICBsZXQgbWVzc2FnZXMgPSBbXTtcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy5TdXBwcmVzc2lvbklnbm9yZU9ycykge1xuICAgICAgY29uc3QgbSA9IGkuY3JlYXRlTWVzc2FnZShpbnB1dCk7XG4gICAgICBpZiAobSkge1xuICAgICAgICBtZXNzYWdlcy5wdXNoKG0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbWVzc2FnZXMgPyBtZXNzYWdlcy5qb2luKCdcXG5cXHQnKSA6ICcnO1xuICB9XG59XG5cbi8qKlxuICogQWx3YXlzIGlnbm9yZSB0aGUgc3VwcHJlc3Npb25cbiAqL1xuZXhwb3J0IGNsYXNzIFN1cHByZXNzaW9uSWdub3JlQWx3YXlzIGltcGxlbWVudHMgSU5hZ1N1cHByZXNzaW9uSWdub3JlIHtcbiAgcHJpdmF0ZSB0cmlnZ2VyTWVzc2FnZTogc3RyaW5nO1xuICBjb25zdHJ1Y3Rvcih0cmlnZ2VyTWVzc2FnZTogc3RyaW5nKSB7XG4gICAgaWYgKHRyaWdnZXJNZXNzYWdlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAncHJvdmlkZSBhIHRyaWdnZXJNZXNzYWdlIGZvciB0aGUgU3VwcHJlc3Npb25JZ25vcmVBbHdheXMnXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnRyaWdnZXJNZXNzYWdlID0gdHJpZ2dlck1lc3NhZ2U7XG4gIH1cbiAgY3JlYXRlTWVzc2FnZShfaW5wdXQ6IFN1cHByZXNzaW9uSWdub3JlSW5wdXQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJNZXNzYWdlO1xuICB9XG59XG5cbi8qKlxuICogRG9uJ3QgaWdub3JlIHRoZSBzdXBwcmVzc2lvblxuICovXG5leHBvcnQgY2xhc3MgU3VwcHJlc3Npb25JZ25vcmVOZXZlciBpbXBsZW1lbnRzIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIGNyZWF0ZU1lc3NhZ2UoX2lucHV0OiBTdXBwcmVzc2lvbklnbm9yZUlucHV0KTogc3RyaW5nIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cblxuLyoqXG4gKiBJZ25vcmUgU3VwcHJlc3Npb25zIGZvciBSdWxlcyB3aXRoIGEgTmFnTWVzc2FnZUxldmVsLkVSUk9SXG4gKi9cbmV4cG9ydCBjbGFzcyBTdXBwcmVzc2lvbklnbm9yZUVycm9ycyBpbXBsZW1lbnRzIElOYWdTdXBwcmVzc2lvbklnbm9yZSB7XG4gIGNyZWF0ZU1lc3NhZ2UoaW5wdXQ6IFN1cHByZXNzaW9uSWdub3JlSW5wdXQpOiBzdHJpbmcge1xuICAgIHJldHVybiBpbnB1dC5ydWxlTGV2ZWwgPT0gTmFnTWVzc2FnZUxldmVsLkVSUk9SXG4gICAgICA/IGAke2lucHV0LnJ1bGVJZH0gaXMgY2F0ZWdvcml6ZWQgYXMgYW4gRVJST1IgYW5kIG1heSBub3QgYmUgc3VwcHJlc3NlZGBcbiAgICAgIDogJyc7XG4gIH1cbn1cbiJdfQ==