terraconstructs 0.0.19 → 0.0.20

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 (221) hide show
  1. package/.jsii +662 -19
  2. package/lib/aws/arn.js +1 -1
  3. package/lib/aws/aws-construct.js +1 -1
  4. package/lib/aws/aws-stack.js +2 -2
  5. package/lib/aws/aws-tags.js +2 -2
  6. package/lib/aws/cloudwatch/actions/ec2.js +1 -1
  7. package/lib/aws/cloudwatch/actions/lambda.js +1 -1
  8. package/lib/aws/cloudwatch/alarm-base.js +1 -1
  9. package/lib/aws/cloudwatch/alarm-rule.js +1 -1
  10. package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
  11. package/lib/aws/cloudwatch/alarm.js +1 -1
  12. package/lib/aws/cloudwatch/composite-alarm.js +1 -1
  13. package/lib/aws/cloudwatch/dashboard.js +1 -1
  14. package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
  15. package/lib/aws/cloudwatch/graph.js +8 -8
  16. package/lib/aws/cloudwatch/layout.js +3 -3
  17. package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
  18. package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
  19. package/lib/aws/cloudwatch/log-group.js +1 -1
  20. package/lib/aws/cloudwatch/log-query.js +1 -1
  21. package/lib/aws/cloudwatch/log-stream.js +1 -1
  22. package/lib/aws/cloudwatch/metric-filter.js +1 -1
  23. package/lib/aws/cloudwatch/metric.js +2 -2
  24. package/lib/aws/cloudwatch/pattern.js +3 -3
  25. package/lib/aws/cloudwatch/policy.js +1 -1
  26. package/lib/aws/cloudwatch/query-definition.js +2 -2
  27. package/lib/aws/cloudwatch/stats.js +1 -1
  28. package/lib/aws/cloudwatch/subscription-filter.js +1 -1
  29. package/lib/aws/cloudwatch/text.js +1 -1
  30. package/lib/aws/cloudwatch/variable.js +3 -3
  31. package/lib/aws/cloudwatch/widget.js +1 -1
  32. package/lib/aws/compute/activity.js +1 -1
  33. package/lib/aws/compute/alb/application-listener-action.js +1 -1
  34. package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
  35. package/lib/aws/compute/alb/application-listener-rule.js +1 -1
  36. package/lib/aws/compute/alb/application-listener.js +1 -1
  37. package/lib/aws/compute/alb/application-load-balancer.js +1 -1
  38. package/lib/aws/compute/alb/application-target-group.js +1 -1
  39. package/lib/aws/compute/alb/conditions.js +1 -1
  40. package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
  41. package/lib/aws/compute/alb/trust-store.js +1 -1
  42. package/lib/aws/compute/architecture.js +1 -1
  43. package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
  44. package/lib/aws/compute/bastion-host.js +1 -1
  45. package/lib/aws/compute/chain.js +1 -1
  46. package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
  47. package/lib/aws/compute/client-vpn-endpoint.js +2 -2
  48. package/lib/aws/compute/client-vpn-route.js +2 -2
  49. package/lib/aws/compute/condition.js +1 -1
  50. package/lib/aws/compute/connections.js +1 -1
  51. package/lib/aws/compute/event-invoke-config.js +1 -1
  52. package/lib/aws/compute/event-source-filter.js +2 -2
  53. package/lib/aws/compute/event-source-mapping.js +1 -1
  54. package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
  55. package/lib/aws/compute/event-sources/s3.js +1 -1
  56. package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
  57. package/lib/aws/compute/event-sources/sqs.js +1 -1
  58. package/lib/aws/compute/fields.js +4 -4
  59. package/lib/aws/compute/function-alias.js +1 -1
  60. package/lib/aws/compute/function-base.js +2 -2
  61. package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
  62. package/lib/aws/compute/function-destinations/function.js +1 -1
  63. package/lib/aws/compute/function-destinations/sqs.js +1 -1
  64. package/lib/aws/compute/function-nodejs.js +1 -1
  65. package/lib/aws/compute/function-url.js +1 -1
  66. package/lib/aws/compute/function.js +1 -1
  67. package/lib/aws/compute/instance-types.js +1 -1
  68. package/lib/aws/compute/instance.js +1 -1
  69. package/lib/aws/compute/ip-addresses.js +2 -2
  70. package/lib/aws/compute/ipam.js +1 -1
  71. package/lib/aws/compute/key-pair.js +1 -1
  72. package/lib/aws/compute/launch-template.js +2 -2
  73. package/lib/aws/compute/lb-shared/base-listener.js +1 -1
  74. package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
  75. package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
  76. package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
  77. package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
  78. package/lib/aws/compute/lb-targets/alb-target.js +3 -3
  79. package/lib/aws/compute/lb-targets/instance-target.js +2 -2
  80. package/lib/aws/compute/lb-targets/ip-target.js +1 -1
  81. package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
  82. package/lib/aws/compute/load-balancer.js +3 -3
  83. package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
  84. package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
  85. package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
  86. package/lib/aws/compute/machine-image/common.js +1 -1
  87. package/lib/aws/compute/machine-image/machine-image.js +8 -8
  88. package/lib/aws/compute/nat.js +5 -5
  89. package/lib/aws/compute/network-acl-types.js +2 -2
  90. package/lib/aws/compute/network-acl.js +3 -3
  91. package/lib/aws/compute/nlb/network-listener-action.js +1 -1
  92. package/lib/aws/compute/nlb/network-listener.js +1 -1
  93. package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
  94. package/lib/aws/compute/nlb/network-target-group.js +1 -1
  95. package/lib/aws/compute/peer.js +1 -1
  96. package/lib/aws/compute/placement-group.js +1 -1
  97. package/lib/aws/compute/port.js +1 -1
  98. package/lib/aws/compute/prefix-list.js +1 -1
  99. package/lib/aws/compute/route.js +8 -8
  100. package/lib/aws/compute/security-group.js +1 -1
  101. package/lib/aws/compute/state-graph.js +1 -1
  102. package/lib/aws/compute/state-machine-fragment.js +1 -1
  103. package/lib/aws/compute/state-machine.js +4 -4
  104. package/lib/aws/compute/states/choice.js +1 -1
  105. package/lib/aws/compute/states/custom-state.js +1 -1
  106. package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
  107. package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
  108. package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
  109. package/lib/aws/compute/states/distributed-map.js +1 -1
  110. package/lib/aws/compute/states/fail.js +1 -1
  111. package/lib/aws/compute/states/map-base.js +1 -1
  112. package/lib/aws/compute/states/map.js +1 -1
  113. package/lib/aws/compute/states/parallel.js +1 -1
  114. package/lib/aws/compute/states/pass.js +2 -2
  115. package/lib/aws/compute/states/state.js +1 -1
  116. package/lib/aws/compute/states/succeed.js +1 -1
  117. package/lib/aws/compute/states/task-base.js +2 -2
  118. package/lib/aws/compute/states/task.js +1 -1
  119. package/lib/aws/compute/states/wait.js +2 -2
  120. package/lib/aws/compute/subnet-v2.js +2 -2
  121. package/lib/aws/compute/subnet.js +1 -1
  122. package/lib/aws/compute/task-credentials.js +1 -1
  123. package/lib/aws/compute/task-input.js +1 -1
  124. package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
  125. package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
  126. package/lib/aws/compute/tasks/http/invoke.js +1 -1
  127. package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
  128. package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
  129. package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
  130. package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
  131. package/lib/aws/compute/types.js +1 -1
  132. package/lib/aws/compute/user-data.js +3 -3
  133. package/lib/aws/compute/volume.js +2 -2
  134. package/lib/aws/compute/vpc-endpoint-service.js +1 -1
  135. package/lib/aws/compute/vpc-endpoint.js +6 -6
  136. package/lib/aws/compute/vpc-flow-logs.js +4 -4
  137. package/lib/aws/compute/vpc-v2-base.js +1 -1
  138. package/lib/aws/compute/vpc-v2.js +2 -2
  139. package/lib/aws/compute/vpc.js +4 -4
  140. package/lib/aws/compute/vpn.js +3 -3
  141. package/lib/aws/edge/certificate.js +1 -1
  142. package/lib/aws/edge/distribution.js +3 -3
  143. package/lib/aws/edge/dns-alias-record-targets.js +3 -3
  144. package/lib/aws/edge/dns-record.js +13 -13
  145. package/lib/aws/edge/dns-zone.js +1 -1
  146. package/lib/aws/edge/function.js +2 -2
  147. package/lib/aws/edge/key-value-store.js +4 -4
  148. package/lib/aws/edge/origin.js +3 -3
  149. package/lib/aws/edge/response-headers-policy.js +1 -1
  150. package/lib/aws/encryption/alias.js +1 -1
  151. package/lib/aws/encryption/key.js +1 -1
  152. package/lib/aws/encryption/via-service-principal.js +1 -1
  153. package/lib/aws/iam/grant.js +2 -2
  154. package/lib/aws/iam/group.js +1 -1
  155. package/lib/aws/iam/instance-profile.js +1 -1
  156. package/lib/aws/iam/managed-policy.js +1 -1
  157. package/lib/aws/iam/oidc-provider.js +1 -1
  158. package/lib/aws/iam/policy-document.js +1 -1
  159. package/lib/aws/iam/policy-statement.js +1 -1
  160. package/lib/aws/iam/policy.js +1 -1
  161. package/lib/aws/iam/principals.js +20 -20
  162. package/lib/aws/iam/role.js +1 -1
  163. package/lib/aws/iam/saml-provider.js +2 -2
  164. package/lib/aws/iam/unknown-principal.js +1 -1
  165. package/lib/aws/iam/user.js +1 -1
  166. package/lib/aws/network/simple-ipv4-vpc.js +1 -1
  167. package/lib/aws/network/subnet-group.js +3 -3
  168. package/lib/aws/network/subnet.js +4 -4
  169. package/lib/aws/notify/archive.js +1 -1
  170. package/lib/aws/notify/connection.js +3 -3
  171. package/lib/aws/notify/event-bus.js +3 -3
  172. package/lib/aws/notify/event-pattern.js +1 -1
  173. package/lib/aws/notify/index.d.ts +1 -0
  174. package/lib/aws/notify/index.js +5 -2
  175. package/lib/aws/notify/input.js +2 -2
  176. package/lib/aws/notify/kinesis-stream.js +1 -1
  177. package/lib/aws/notify/notification-rule.js +1 -1
  178. package/lib/aws/notify/policy.js +1 -1
  179. package/lib/aws/notify/queue-policy.js +1 -1
  180. package/lib/aws/notify/queue.js +1 -1
  181. package/lib/aws/notify/resource-policy.js +1 -1
  182. package/lib/aws/notify/rule.js +1 -1
  183. package/lib/aws/notify/schedule.js +1 -1
  184. package/lib/aws/notify/subscription-filter.js +1 -1
  185. package/lib/aws/notify/subscription.js +7 -5
  186. package/lib/aws/notify/subscriptions/email.d.ts +28 -0
  187. package/lib/aws/notify/subscriptions/email.js +37 -0
  188. package/lib/aws/notify/subscriptions/index.d.ts +6 -0
  189. package/lib/aws/notify/subscriptions/index.js +23 -0
  190. package/lib/aws/notify/subscriptions/lambda.d.ts +21 -0
  191. package/lib/aws/notify/subscriptions/lambda.js +69 -0
  192. package/lib/aws/notify/subscriptions/sms.d.ts +16 -0
  193. package/lib/aws/notify/subscriptions/sms.js +29 -0
  194. package/lib/aws/notify/subscriptions/sqs.d.ts +28 -0
  195. package/lib/aws/notify/subscriptions/sqs.js +107 -0
  196. package/lib/aws/notify/subscriptions/subscription.d.ts +31 -0
  197. package/lib/aws/notify/subscriptions/subscription.js +4 -0
  198. package/lib/aws/notify/subscriptions/url.d.ts +45 -0
  199. package/lib/aws/notify/subscriptions/url.js +57 -0
  200. package/lib/aws/notify/targets/event-bus.js +1 -1
  201. package/lib/aws/notify/targets/function.js +1 -1
  202. package/lib/aws/notify/targets/log-group.js +2 -2
  203. package/lib/aws/notify/targets/sqs.js +1 -1
  204. package/lib/aws/notify/targets/state-machine.js +1 -1
  205. package/lib/aws/notify/topic-base.js +1 -1
  206. package/lib/aws/notify/topic.js +1 -1
  207. package/lib/aws/storage/bucket-notifications.js +1 -1
  208. package/lib/aws/storage/bucket-policy.js +1 -1
  209. package/lib/aws/storage/bucket-source.js +1 -1
  210. package/lib/aws/storage/bucket.js +2 -2
  211. package/lib/aws/storage/notification-targets/function.js +1 -1
  212. package/lib/aws/storage/notification-targets/queue.js +1 -1
  213. package/lib/aws/storage/origin-access-identity.js +1 -1
  214. package/lib/aws/storage/parameter.js +2 -2
  215. package/lib/construct-base.js +2 -2
  216. package/lib/duration.js +1 -1
  217. package/lib/expiration.js +1 -1
  218. package/lib/size.js +1 -1
  219. package/lib/stack-base.js +1 -1
  220. package/lib/terra-func.js +1 -1
  221. package/package.json +1 -1
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.SqsSubscription = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/v2.176.0/packages/aws-cdk-lib/aws-sns-subscriptions/lib/sqs.ts
7
+ const cdktf_1 = require("cdktf");
8
+ const constructs_1 = require("constructs");
9
+ const notify = require("..");
10
+ const arn_1 = require("../../arn");
11
+ const aws_stack_1 = require("../../aws-stack");
12
+ const iam = require("../../iam");
13
+ /**
14
+ * Use an SQS queue as a subscription target
15
+ */
16
+ class SqsSubscription {
17
+ constructor(queue, props = {}) {
18
+ this.queue = queue;
19
+ this.props = props;
20
+ }
21
+ /**
22
+ * Returns a configuration for an SQS queue to subscribe to an SNS topic
23
+ */
24
+ bind(topic) {
25
+ // Create subscription under *consuming* construct to make sure it ends up
26
+ // in the correct stack in cases of cross-stack subscriptions.
27
+ if (!constructs_1.Construct.isConstruct(this.queue)) {
28
+ throw new Error("The supplied Queue object must be an instance of Construct");
29
+ }
30
+ const snsServicePrincipal = new iam.ServicePrincipal("sns.amazonaws.com");
31
+ // TODO: re-add Encryption to Queue
32
+ // // if the queue is encrypted by AWS managed KMS key (alias/aws/sqs),
33
+ // // throw error message
34
+ // if (this.queue.encryptionType === sqs.QueueEncryption.KMS_MANAGED) {
35
+ // throw new Error('SQS queue encrypted by AWS managed KMS key cannot be used as SNS subscription');
36
+ // }
37
+ //
38
+ // // if the dead-letter queue is encrypted by AWS managed KMS key (alias/aws/sqs),
39
+ // // throw error message
40
+ // if (this.props.deadLetterQueue && this.props.deadLetterQueue.encryptionType === notify.QueueEncryption.KMS_MANAGED) {
41
+ // throw new Error('SQS queue encrypted by AWS managed KMS key cannot be used as dead-letter queue');
42
+ // }
43
+ // add a statement to the queue resource policy which allows this topic
44
+ // to send messages to the queue.
45
+ const queuePolicyDependable = this.queue.addToResourcePolicy(new iam.PolicyStatement({
46
+ resources: [this.queue.queueArn],
47
+ actions: ["sqs:SendMessage"],
48
+ principals: [snsServicePrincipal],
49
+ condition: [
50
+ {
51
+ test: "ArnEquals",
52
+ variable: "aws:SourceArn",
53
+ values: [topic.topicArn],
54
+ },
55
+ ],
56
+ })).policyDependable;
57
+ // TODO: re-add Encryption to Queue
58
+ // // if the queue is encrypted, add a statement to the key resource policy
59
+ // // which allows this topic to decrypt KMS keys
60
+ // if (this.queue.encryptionMasterKey) {
61
+ // this.queue.encryptionMasterKey.addToResourcePolicy(new iam.PolicyStatement({
62
+ // resources: ['*'],
63
+ // actions: ['kms:Decrypt', 'kms:GenerateDataKey'],
64
+ // principals: [snsServicePrincipal],
65
+ // conditions: FeatureFlags.of(topic).isEnabled(cxapi.SNS_SUBSCRIPTIONS_SQS_DECRYPTION_POLICY)
66
+ // ? { ArnEquals: { 'aws:SourceArn': topic.topicArn } }
67
+ // : undefined,
68
+ // }));
69
+ // }
70
+ // if the topic and queue are created in different stacks
71
+ // then we need to make sure the topic is created first
72
+ if (topic instanceof notify.Topic && topic.stack !== this.queue.stack) {
73
+ this.queue.stack.addDependency(topic.stack);
74
+ }
75
+ return {
76
+ subscriberScope: this.queue,
77
+ subscriberId: aws_stack_1.AwsStack.uniqueId(topic),
78
+ endpoint: this.queue.queueArn,
79
+ protocol: notify.SubscriptionProtocol.SQS,
80
+ rawMessageDelivery: this.props.rawMessageDelivery,
81
+ filterPolicy: this.props.filterPolicy,
82
+ filterPolicyWithMessageBody: this.props.filterPolicyWithMessageBody,
83
+ region: this.regionFromArn(topic),
84
+ deadLetterQueue: this.props.deadLetterQueue,
85
+ subscriptionDependency: queuePolicyDependable,
86
+ };
87
+ }
88
+ regionFromArn(topic) {
89
+ // no need to specify `region` for topics defined within the same stack
90
+ if (topic instanceof notify.Topic) {
91
+ if (topic.stack !== this.queue.stack) {
92
+ // only if we know the region, will not work for
93
+ // env agnostic stacks
94
+ if (!cdktf_1.Token.isUnresolved(topic.env.region) &&
95
+ topic.env.region !== this.queue.env.region) {
96
+ return topic.env.region;
97
+ }
98
+ }
99
+ return undefined;
100
+ }
101
+ return aws_stack_1.AwsStack.ofAwsConstruct(topic).splitArn(topic.topicArn, arn_1.ArnFormat.SLASH_RESOURCE_NAME).region;
102
+ }
103
+ }
104
+ exports.SqsSubscription = SqsSubscription;
105
+ _a = JSII_RTTI_SYMBOL_1;
106
+ SqsSubscription[_a] = { fqn: "terraconstructs.aws.notify.subscriptions.SqsSubscription", version: "0.0.20" };
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvc3Vic2NyaXB0aW9ucy9zcXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxR0FBcUc7QUFFckcsaUNBQThCO0FBQzlCLDJDQUF1QztBQUN2Qyw2QkFBNkI7QUFFN0IsbUNBQXNDO0FBQ3RDLCtDQUEyQztBQUMzQyxpQ0FBaUM7QUFpQmpDOztHQUVHO0FBQ0gsTUFBYSxlQUFlO0lBQzFCLFlBQ21CLEtBQW9CLEVBQ3BCLFFBQThCLEVBQUU7UUFEaEMsVUFBSyxHQUFMLEtBQUssQ0FBZTtRQUNwQixVQUFLLEdBQUwsS0FBSyxDQUEyQjtJQUNoRCxDQUFDO0lBRUo7O09BRUc7SUFDSSxJQUFJLENBQUMsS0FBb0I7UUFDOUIsMEVBQTBFO1FBQzFFLDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsc0JBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FDYiw0REFBNEQsQ0FDN0QsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFMUUsbUNBQW1DO1FBQ25DLHVFQUF1RTtRQUN2RSx5QkFBeUI7UUFDekIsdUVBQXVFO1FBQ3ZFLHNHQUFzRztRQUN0RyxJQUFJO1FBQ0osRUFBRTtRQUNGLG1GQUFtRjtRQUNuRix5QkFBeUI7UUFDekIsd0hBQXdIO1FBQ3hILHVHQUF1RztRQUN2RyxJQUFJO1FBRUosdUVBQXVFO1FBQ3ZFLGlDQUFpQztRQUNqQyxNQUFNLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQzFELElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNoQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM1QixVQUFVLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztZQUNqQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsSUFBSSxFQUFFLFdBQVc7b0JBQ2pCLFFBQVEsRUFBRSxlQUFlO29CQUN6QixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2lCQUN6QjthQUNGO1NBQ0YsQ0FBQyxDQUNILENBQUMsZ0JBQWdCLENBQUM7UUFFbkIsbUNBQW1DO1FBQ25DLDJFQUEyRTtRQUMzRSxpREFBaUQ7UUFDakQsd0NBQXdDO1FBQ3hDLGlGQUFpRjtRQUNqRix3QkFBd0I7UUFDeEIsdURBQXVEO1FBQ3ZELHlDQUF5QztRQUN6QyxrR0FBa0c7UUFDbEcsNkRBQTZEO1FBQzdELHFCQUFxQjtRQUNyQixTQUFTO1FBQ1QsSUFBSTtRQUVKLHlEQUF5RDtRQUN6RCx1REFBdUQ7UUFDdkQsSUFBSSxLQUFLLFlBQVksTUFBTSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBRUQsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSztZQUMzQixZQUFZLEVBQUUsb0JBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO1lBQ3RDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDN0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHO1lBQ3pDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCO1lBQ2pELFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7WUFDckMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkI7WUFDbkUsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1lBQ2pDLGVBQWUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7WUFDM0Msc0JBQXNCLEVBQUUscUJBQXFCO1NBQzlDLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQW9CO1FBQ3hDLHVFQUF1RTtRQUN2RSxJQUFJLEtBQUssWUFBWSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JDLGdEQUFnRDtnQkFDaEQsc0JBQXNCO2dCQUN0QixJQUNFLENBQUMsYUFBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztvQkFDckMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUMxQyxDQUFDO29CQUNELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7Z0JBQzFCLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUNELE9BQU8sb0JBQVEsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUM1QyxLQUFLLENBQUMsUUFBUSxFQUNkLGVBQVMsQ0FBQyxtQkFBbUIsQ0FDOUIsQ0FBQyxNQUFNLENBQUM7SUFDWCxDQUFDOztBQXRHSCwwQ0F1R0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3Mtc25zLXN1YnNjcmlwdGlvbnMvbGliL3Nxcy50c1xuXG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIG5vdGlmeSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IFN1YnNjcmlwdGlvblByb3BzIH0gZnJvbSBcIi4vc3Vic2NyaXB0aW9uXCI7XG5pbXBvcnQgeyBBcm5Gb3JtYXQgfSBmcm9tIFwiLi4vLi4vYXJuXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG4vLyBpbXBvcnQgKiBhcyBjeGFwaSBmcm9tICcuLi8uLi9jeC1hcGknO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGFuIFNRUyBzdWJzY3JpcHRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcXNTdWJzY3JpcHRpb25Qcm9wcyBleHRlbmRzIFN1YnNjcmlwdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHRoZSBxdWV1ZSBpcyB0aGUgc2FtZSBhcyBpdCB3YXMgc2VudCB0byB0aGUgdG9waWNcbiAgICpcbiAgICogSWYgZmFsc2UsIHRoZSBtZXNzYWdlIHdpbGwgYmUgd3JhcHBlZCBpbiBhbiBTTlMgZW52ZWxvcGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByYXdNZXNzYWdlRGVsaXZlcnk/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFVzZSBhbiBTUVMgcXVldWUgYXMgYSBzdWJzY3JpcHRpb24gdGFyZ2V0XG4gKi9cbmV4cG9ydCBjbGFzcyBTcXNTdWJzY3JpcHRpb24gaW1wbGVtZW50cyBub3RpZnkuSVRvcGljU3Vic2NyaXB0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBxdWV1ZTogbm90aWZ5LklRdWV1ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTcXNTdWJzY3JpcHRpb25Qcm9wcyA9IHt9LFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb25maWd1cmF0aW9uIGZvciBhbiBTUVMgcXVldWUgdG8gc3Vic2NyaWJlIHRvIGFuIFNOUyB0b3BpY1xuICAgKi9cbiAgcHVibGljIGJpbmQodG9waWM6IG5vdGlmeS5JVG9waWMpOiBub3RpZnkuVG9waWNTdWJzY3JpcHRpb25Db25maWcge1xuICAgIC8vIENyZWF0ZSBzdWJzY3JpcHRpb24gdW5kZXIgKmNvbnN1bWluZyogY29uc3RydWN0IHRvIG1ha2Ugc3VyZSBpdCBlbmRzIHVwXG4gICAgLy8gaW4gdGhlIGNvcnJlY3Qgc3RhY2sgaW4gY2FzZXMgb2YgY3Jvc3Mtc3RhY2sgc3Vic2NyaXB0aW9ucy5cbiAgICBpZiAoIUNvbnN0cnVjdC5pc0NvbnN0cnVjdCh0aGlzLnF1ZXVlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSBzdXBwbGllZCBRdWV1ZSBvYmplY3QgbXVzdCBiZSBhbiBpbnN0YW5jZSBvZiBDb25zdHJ1Y3RcIixcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IHNuc1NlcnZpY2VQcmluY2lwYWwgPSBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJzbnMuYW1hem9uYXdzLmNvbVwiKTtcblxuICAgIC8vIFRPRE86IHJlLWFkZCBFbmNyeXB0aW9uIHRvIFF1ZXVlXG4gICAgLy8gLy8gaWYgdGhlIHF1ZXVlIGlzIGVuY3J5cHRlZCBieSBBV1MgbWFuYWdlZCBLTVMga2V5IChhbGlhcy9hd3Mvc3FzKSxcbiAgICAvLyAvLyB0aHJvdyBlcnJvciBtZXNzYWdlXG4gICAgLy8gaWYgKHRoaXMucXVldWUuZW5jcnlwdGlvblR5cGUgPT09IHNxcy5RdWV1ZUVuY3J5cHRpb24uS01TX01BTkFHRUQpIHtcbiAgICAvLyAgIHRocm93IG5ldyBFcnJvcignU1FTIHF1ZXVlIGVuY3J5cHRlZCBieSBBV1MgbWFuYWdlZCBLTVMga2V5IGNhbm5vdCBiZSB1c2VkIGFzIFNOUyBzdWJzY3JpcHRpb24nKTtcbiAgICAvLyB9XG4gICAgLy9cbiAgICAvLyAvLyBpZiB0aGUgZGVhZC1sZXR0ZXIgcXVldWUgaXMgZW5jcnlwdGVkIGJ5IEFXUyBtYW5hZ2VkIEtNUyBrZXkgKGFsaWFzL2F3cy9zcXMpLFxuICAgIC8vIC8vIHRocm93IGVycm9yIG1lc3NhZ2VcbiAgICAvLyBpZiAodGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUgJiYgdGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUuZW5jcnlwdGlvblR5cGUgPT09IG5vdGlmeS5RdWV1ZUVuY3J5cHRpb24uS01TX01BTkFHRUQpIHtcbiAgICAvLyAgIHRocm93IG5ldyBFcnJvcignU1FTIHF1ZXVlIGVuY3J5cHRlZCBieSBBV1MgbWFuYWdlZCBLTVMga2V5IGNhbm5vdCBiZSB1c2VkIGFzIGRlYWQtbGV0dGVyIHF1ZXVlJyk7XG4gICAgLy8gfVxuXG4gICAgLy8gYWRkIGEgc3RhdGVtZW50IHRvIHRoZSBxdWV1ZSByZXNvdXJjZSBwb2xpY3kgd2hpY2ggYWxsb3dzIHRoaXMgdG9waWNcbiAgICAvLyB0byBzZW5kIG1lc3NhZ2VzIHRvIHRoZSBxdWV1ZS5cbiAgICBjb25zdCBxdWV1ZVBvbGljeURlcGVuZGFibGUgPSB0aGlzLnF1ZXVlLmFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHJlc291cmNlczogW3RoaXMucXVldWUucXVldWVBcm5dLFxuICAgICAgICBhY3Rpb25zOiBbXCJzcXM6U2VuZE1lc3NhZ2VcIl0sXG4gICAgICAgIHByaW5jaXBhbHM6IFtzbnNTZXJ2aWNlUHJpbmNpcGFsXSxcbiAgICAgICAgY29uZGl0aW9uOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgdGVzdDogXCJBcm5FcXVhbHNcIixcbiAgICAgICAgICAgIHZhcmlhYmxlOiBcImF3czpTb3VyY2VBcm5cIixcbiAgICAgICAgICAgIHZhbHVlczogW3RvcGljLnRvcGljQXJuXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKS5wb2xpY3lEZXBlbmRhYmxlO1xuXG4gICAgLy8gVE9ETzogcmUtYWRkIEVuY3J5cHRpb24gdG8gUXVldWVcbiAgICAvLyAvLyBpZiB0aGUgcXVldWUgaXMgZW5jcnlwdGVkLCBhZGQgYSBzdGF0ZW1lbnQgdG8gdGhlIGtleSByZXNvdXJjZSBwb2xpY3lcbiAgICAvLyAvLyB3aGljaCBhbGxvd3MgdGhpcyB0b3BpYyB0byBkZWNyeXB0IEtNUyBrZXlzXG4gICAgLy8gaWYgKHRoaXMucXVldWUuZW5jcnlwdGlvbk1hc3RlcktleSkge1xuICAgIC8vICAgdGhpcy5xdWV1ZS5lbmNyeXB0aW9uTWFzdGVyS2V5LmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgIC8vICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgIC8vICAgICBhY3Rpb25zOiBbJ2ttczpEZWNyeXB0JywgJ2ttczpHZW5lcmF0ZURhdGFLZXknXSxcbiAgICAvLyAgICAgcHJpbmNpcGFsczogW3Nuc1NlcnZpY2VQcmluY2lwYWxdLFxuICAgIC8vICAgICBjb25kaXRpb25zOiBGZWF0dXJlRmxhZ3Mub2YodG9waWMpLmlzRW5hYmxlZChjeGFwaS5TTlNfU1VCU0NSSVBUSU9OU19TUVNfREVDUllQVElPTl9QT0xJQ1kpXG4gICAgLy8gICAgICAgPyB7IEFybkVxdWFsczogeyAnYXdzOlNvdXJjZUFybic6IHRvcGljLnRvcGljQXJuIH0gfVxuICAgIC8vICAgICAgIDogdW5kZWZpbmVkLFxuICAgIC8vICAgfSkpO1xuICAgIC8vIH1cblxuICAgIC8vIGlmIHRoZSB0b3BpYyBhbmQgcXVldWUgYXJlIGNyZWF0ZWQgaW4gZGlmZmVyZW50IHN0YWNrc1xuICAgIC8vIHRoZW4gd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhlIHRvcGljIGlzIGNyZWF0ZWQgZmlyc3RcbiAgICBpZiAodG9waWMgaW5zdGFuY2VvZiBub3RpZnkuVG9waWMgJiYgdG9waWMuc3RhY2sgIT09IHRoaXMucXVldWUuc3RhY2spIHtcbiAgICAgIHRoaXMucXVldWUuc3RhY2suYWRkRGVwZW5kZW5jeSh0b3BpYy5zdGFjayk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHN1YnNjcmliZXJTY29wZTogdGhpcy5xdWV1ZSxcbiAgICAgIHN1YnNjcmliZXJJZDogQXdzU3RhY2sudW5pcXVlSWQodG9waWMpLFxuICAgICAgZW5kcG9pbnQ6IHRoaXMucXVldWUucXVldWVBcm4sXG4gICAgICBwcm90b2NvbDogbm90aWZ5LlN1YnNjcmlwdGlvblByb3RvY29sLlNRUyxcbiAgICAgIHJhd01lc3NhZ2VEZWxpdmVyeTogdGhpcy5wcm9wcy5yYXdNZXNzYWdlRGVsaXZlcnksXG4gICAgICBmaWx0ZXJQb2xpY3k6IHRoaXMucHJvcHMuZmlsdGVyUG9saWN5LFxuICAgICAgZmlsdGVyUG9saWN5V2l0aE1lc3NhZ2VCb2R5OiB0aGlzLnByb3BzLmZpbHRlclBvbGljeVdpdGhNZXNzYWdlQm9keSxcbiAgICAgIHJlZ2lvbjogdGhpcy5yZWdpb25Gcm9tQXJuKHRvcGljKSxcbiAgICAgIGRlYWRMZXR0ZXJRdWV1ZTogdGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUsXG4gICAgICBzdWJzY3JpcHRpb25EZXBlbmRlbmN5OiBxdWV1ZVBvbGljeURlcGVuZGFibGUsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcmVnaW9uRnJvbUFybih0b3BpYzogbm90aWZ5LklUb3BpYyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgLy8gbm8gbmVlZCB0byBzcGVjaWZ5IGByZWdpb25gIGZvciB0b3BpY3MgZGVmaW5lZCB3aXRoaW4gdGhlIHNhbWUgc3RhY2tcbiAgICBpZiAodG9waWMgaW5zdGFuY2VvZiBub3RpZnkuVG9waWMpIHtcbiAgICAgIGlmICh0b3BpYy5zdGFjayAhPT0gdGhpcy5xdWV1ZS5zdGFjaykge1xuICAgICAgICAvLyBvbmx5IGlmIHdlIGtub3cgdGhlIHJlZ2lvbiwgd2lsbCBub3Qgd29yayBmb3JcbiAgICAgICAgLy8gZW52IGFnbm9zdGljIHN0YWNrc1xuICAgICAgICBpZiAoXG4gICAgICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZCh0b3BpYy5lbnYucmVnaW9uKSAmJlxuICAgICAgICAgIHRvcGljLmVudi5yZWdpb24gIT09IHRoaXMucXVldWUuZW52LnJlZ2lvblxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdG9waWMuZW52LnJlZ2lvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRvcGljKS5zcGxpdEFybihcbiAgICAgIHRvcGljLnRvcGljQXJuLFxuICAgICAgQXJuRm9ybWF0LlNMQVNIX1JFU09VUkNFX05BTUUsXG4gICAgKS5yZWdpb247XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import * as sns from "..";
2
+ import { IQueue } from "../queue";
3
+ /**
4
+ * Options to subscribing to an SNS topic
5
+ */
6
+ export interface SubscriptionProps {
7
+ /**
8
+ * The filter policy.
9
+ *
10
+ * @default - all messages are delivered
11
+ */
12
+ readonly filterPolicy?: {
13
+ [attribute: string]: sns.SubscriptionFilter;
14
+ };
15
+ /**
16
+ * The filter policy that is applied on the message body.
17
+ * To apply a filter policy to the message attributes, use `filterPolicy`. A maximum of one of `filterPolicyWithMessageBody` and `filterPolicy` may be used.
18
+ *
19
+ * @default - all messages are delivered
20
+ */
21
+ readonly filterPolicyWithMessageBody?: {
22
+ [attribute: string]: sns.FilterOrPolicy;
23
+ };
24
+ /**
25
+ * Queue to be used as dead letter queue.
26
+ * If not passed no dead letter queue is enabled.
27
+ *
28
+ * @default - No dead letter queue enabled.
29
+ */
30
+ readonly deadLetterQueue?: IQueue;
31
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // https://github.com/aws/aws-cdk/blob/v2.176.0/packages/aws-cdk-lib/aws-sns-subscriptions/lib/subscription.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvc3Vic2NyaXB0aW9ucy9zdWJzY3JpcHRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDhHQUE4RyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3Ni4wL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zbnMtc3Vic2NyaXB0aW9ucy9saWIvc3Vic2NyaXB0aW9uLnRzXG5cbmltcG9ydCAqIGFzIHNucyBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IElRdWV1ZSB9IGZyb20gXCIuLi9xdWV1ZVwiO1xuXG4vKipcbiAqIE9wdGlvbnMgdG8gc3Vic2NyaWJpbmcgdG8gYW4gU05TIHRvcGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3Vic2NyaXB0aW9uUHJvcHMge1xuICAvKipcbiAgICogVGhlIGZpbHRlciBwb2xpY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYWxsIG1lc3NhZ2VzIGFyZSBkZWxpdmVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlclBvbGljeT86IHsgW2F0dHJpYnV0ZTogc3RyaW5nXTogc25zLlN1YnNjcmlwdGlvbkZpbHRlciB9O1xuICAvKipcbiAgICogVGhlIGZpbHRlciBwb2xpY3kgdGhhdCBpcyBhcHBsaWVkIG9uIHRoZSBtZXNzYWdlIGJvZHkuXG4gICAqIFRvIGFwcGx5IGEgZmlsdGVyIHBvbGljeSB0byB0aGUgbWVzc2FnZSBhdHRyaWJ1dGVzLCB1c2UgYGZpbHRlclBvbGljeWAuIEEgbWF4aW11bSBvZiBvbmUgb2YgYGZpbHRlclBvbGljeVdpdGhNZXNzYWdlQm9keWAgYW5kIGBmaWx0ZXJQb2xpY3lgIG1heSBiZSB1c2VkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFsbCBtZXNzYWdlcyBhcmUgZGVsaXZlcmVkXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJQb2xpY3lXaXRoTWVzc2FnZUJvZHk/OiB7XG4gICAgW2F0dHJpYnV0ZTogc3RyaW5nXTogc25zLkZpbHRlck9yUG9saWN5O1xuICB9O1xuICAvKipcbiAgICogUXVldWUgdG8gYmUgdXNlZCBhcyBkZWFkIGxldHRlciBxdWV1ZS5cbiAgICogSWYgbm90IHBhc3NlZCBubyBkZWFkIGxldHRlciBxdWV1ZSBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGRlYWQgbGV0dGVyIHF1ZXVlIGVuYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWU/OiBJUXVldWU7XG59XG4iXX0=
@@ -0,0 +1,45 @@
1
+ import * as sns from "..";
2
+ import { SubscriptionProps } from "./subscription";
3
+ /**
4
+ * Options for URL subscriptions.
5
+ */
6
+ export interface UrlSubscriptionProps extends SubscriptionProps {
7
+ /**
8
+ * The message to the queue is the same as it was sent to the topic
9
+ *
10
+ * If false, the message will be wrapped in an SNS envelope.
11
+ *
12
+ * @default false
13
+ */
14
+ readonly rawMessageDelivery?: boolean;
15
+ /**
16
+ * The subscription's protocol.
17
+ *
18
+ * @default - Protocol is derived from url
19
+ */
20
+ readonly protocol?: sns.SubscriptionProtocol;
21
+ /**
22
+ * The delivery policy.
23
+ *
24
+ * @default - if the initial delivery of the message fails, three retries with a delay between failed attempts set at 20 seconds
25
+ */
26
+ readonly deliveryPolicy?: sns.DeliveryPolicy;
27
+ }
28
+ /**
29
+ * Use a URL as a subscription target
30
+ *
31
+ * The message will be POSTed to the given URL.
32
+ *
33
+ * @see https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html
34
+ */
35
+ export declare class UrlSubscription implements sns.ITopicSubscription {
36
+ private readonly url;
37
+ private readonly props;
38
+ private readonly protocol;
39
+ private readonly unresolvedUrl;
40
+ constructor(url: string, props?: UrlSubscriptionProps);
41
+ /**
42
+ * Returns a configuration for a URL to subscribe to an SNS topic
43
+ */
44
+ bind(_topic: sns.ITopic): sns.TopicSubscriptionConfig;
45
+ }
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.UrlSubscription = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ // https://github.com/aws/aws-cdk/blob/v2.176.0/packages/aws-cdk-lib/aws-sns-subscriptions/lib/url.ts
7
+ const cdktf_1 = require("cdktf");
8
+ const sns = require("..");
9
+ /**
10
+ * Use a URL as a subscription target
11
+ *
12
+ * The message will be POSTed to the given URL.
13
+ *
14
+ * @see https://docs.aws.amazon.com/sns/latest/dg/sns-http-https-endpoint-as-subscriber.html
15
+ */
16
+ class UrlSubscription {
17
+ constructor(url, props = {}) {
18
+ this.url = url;
19
+ this.props = props;
20
+ this.unresolvedUrl = cdktf_1.Token.isUnresolved(url);
21
+ if (!this.unresolvedUrl &&
22
+ !url.startsWith("http://") &&
23
+ !url.startsWith("https://")) {
24
+ throw new Error("URL must start with either http:// or https://");
25
+ }
26
+ if (this.unresolvedUrl && props.protocol === undefined) {
27
+ throw new Error("Must provide protocol if url is unresolved");
28
+ }
29
+ if (this.unresolvedUrl) {
30
+ this.protocol = props.protocol;
31
+ }
32
+ else {
33
+ this.protocol = this.url.startsWith("https:")
34
+ ? sns.SubscriptionProtocol.HTTPS
35
+ : sns.SubscriptionProtocol.HTTP;
36
+ }
37
+ }
38
+ /**
39
+ * Returns a configuration for a URL to subscribe to an SNS topic
40
+ */
41
+ bind(_topic) {
42
+ return {
43
+ subscriberId: this.url,
44
+ endpoint: this.url,
45
+ protocol: this.protocol,
46
+ rawMessageDelivery: this.props.rawMessageDelivery,
47
+ filterPolicy: this.props.filterPolicy,
48
+ filterPolicyWithMessageBody: this.props.filterPolicyWithMessageBody,
49
+ deadLetterQueue: this.props.deadLetterQueue,
50
+ deliveryPolicy: this.props.deliveryPolicy,
51
+ };
52
+ }
53
+ }
54
+ exports.UrlSubscription = UrlSubscription;
55
+ _a = JSII_RTTI_SYMBOL_1;
56
+ UrlSubscription[_a] = { fqn: "terraconstructs.aws.notify.subscriptions.UrlSubscription", version: "0.0.20" };
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvc3Vic2NyaXB0aW9ucy91cmwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxR0FBcUc7QUFFckcsaUNBQThCO0FBQzlCLDBCQUEwQjtBQStCMUI7Ozs7OztHQU1HO0FBQ0gsTUFBYSxlQUFlO0lBSTFCLFlBQ21CLEdBQVcsRUFDWCxRQUE4QixFQUFFO1FBRGhDLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUVqRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDN0MsSUFDRSxDQUFDLElBQUksQ0FBQyxhQUFhO1lBQ25CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUM7WUFDMUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUMzQixDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN2RCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVMsQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO2dCQUMzQyxDQUFDLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLEtBQUs7Z0JBQ2hDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJLENBQUMsTUFBa0I7UUFDNUIsT0FBTztZQUNMLFlBQVksRUFBRSxJQUFJLENBQUMsR0FBRztZQUN0QixRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDbEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCO1lBQ2pELFlBQVksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7WUFDckMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQywyQkFBMkI7WUFDbkUsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtZQUMzQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjO1NBQzFDLENBQUM7SUFDSixDQUFDOztBQTVDSCwwQ0E2Q0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNzYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3Mtc25zLXN1YnNjcmlwdGlvbnMvbGliL3VybC50c1xuXG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0ICogYXMgc25zIGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uUHJvcHMgfSBmcm9tIFwiLi9zdWJzY3JpcHRpb25cIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBVUkwgc3Vic2NyaXB0aW9ucy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcmxTdWJzY3JpcHRpb25Qcm9wcyBleHRlbmRzIFN1YnNjcmlwdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHRoZSBxdWV1ZSBpcyB0aGUgc2FtZSBhcyBpdCB3YXMgc2VudCB0byB0aGUgdG9waWNcbiAgICpcbiAgICogSWYgZmFsc2UsIHRoZSBtZXNzYWdlIHdpbGwgYmUgd3JhcHBlZCBpbiBhbiBTTlMgZW52ZWxvcGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByYXdNZXNzYWdlRGVsaXZlcnk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgc3Vic2NyaXB0aW9uJ3MgcHJvdG9jb2wuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gUHJvdG9jb2wgaXMgZGVyaXZlZCBmcm9tIHVybFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2w/OiBzbnMuU3Vic2NyaXB0aW9uUHJvdG9jb2w7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWxpdmVyeSBwb2xpY3kuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gaWYgdGhlIGluaXRpYWwgZGVsaXZlcnkgb2YgdGhlIG1lc3NhZ2UgZmFpbHMsIHRocmVlIHJldHJpZXMgd2l0aCBhIGRlbGF5IGJldHdlZW4gZmFpbGVkIGF0dGVtcHRzIHNldCBhdCAyMCBzZWNvbmRzXG4gICAqL1xuICByZWFkb25seSBkZWxpdmVyeVBvbGljeT86IHNucy5EZWxpdmVyeVBvbGljeTtcbn1cblxuLyoqXG4gKiBVc2UgYSBVUkwgYXMgYSBzdWJzY3JpcHRpb24gdGFyZ2V0XG4gKlxuICogVGhlIG1lc3NhZ2Ugd2lsbCBiZSBQT1NUZWQgdG8gdGhlIGdpdmVuIFVSTC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL3Nucy1odHRwLWh0dHBzLWVuZHBvaW50LWFzLXN1YnNjcmliZXIuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgVXJsU3Vic2NyaXB0aW9uIGltcGxlbWVudHMgc25zLklUb3BpY1N1YnNjcmlwdGlvbiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvdG9jb2w6IHNucy5TdWJzY3JpcHRpb25Qcm90b2NvbDtcbiAgcHJpdmF0ZSByZWFkb25seSB1bnJlc29sdmVkVXJsOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXJsOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogVXJsU3Vic2NyaXB0aW9uUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgdGhpcy51bnJlc29sdmVkVXJsID0gVG9rZW4uaXNVbnJlc29sdmVkKHVybCk7XG4gICAgaWYgKFxuICAgICAgIXRoaXMudW5yZXNvbHZlZFVybCAmJlxuICAgICAgIXVybC5zdGFydHNXaXRoKFwiaHR0cDovL1wiKSAmJlxuICAgICAgIXVybC5zdGFydHNXaXRoKFwiaHR0cHM6Ly9cIilcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVSTCBtdXN0IHN0YXJ0IHdpdGggZWl0aGVyIGh0dHA6Ly8gb3IgaHR0cHM6Ly9cIik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudW5yZXNvbHZlZFVybCAmJiBwcm9wcy5wcm90b2NvbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNdXN0IHByb3ZpZGUgcHJvdG9jb2wgaWYgdXJsIGlzIHVucmVzb2x2ZWRcIik7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudW5yZXNvbHZlZFVybCkge1xuICAgICAgdGhpcy5wcm90b2NvbCA9IHByb3BzLnByb3RvY29sITtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcm90b2NvbCA9IHRoaXMudXJsLnN0YXJ0c1dpdGgoXCJodHRwczpcIilcbiAgICAgICAgPyBzbnMuU3Vic2NyaXB0aW9uUHJvdG9jb2wuSFRUUFNcbiAgICAgICAgOiBzbnMuU3Vic2NyaXB0aW9uUHJvdG9jb2wuSFRUUDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgVVJMIHRvIHN1YnNjcmliZSB0byBhbiBTTlMgdG9waWNcbiAgICovXG4gIHB1YmxpYyBiaW5kKF90b3BpYzogc25zLklUb3BpYyk6IHNucy5Ub3BpY1N1YnNjcmlwdGlvbkNvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1YnNjcmliZXJJZDogdGhpcy51cmwsXG4gICAgICBlbmRwb2ludDogdGhpcy51cmwsXG4gICAgICBwcm90b2NvbDogdGhpcy5wcm90b2NvbCxcbiAgICAgIHJhd01lc3NhZ2VEZWxpdmVyeTogdGhpcy5wcm9wcy5yYXdNZXNzYWdlRGVsaXZlcnksXG4gICAgICBmaWx0ZXJQb2xpY3k6IHRoaXMucHJvcHMuZmlsdGVyUG9saWN5LFxuICAgICAgZmlsdGVyUG9saWN5V2l0aE1lc3NhZ2VCb2R5OiB0aGlzLnByb3BzLmZpbHRlclBvbGljeVdpdGhNZXNzYWdlQm9keSxcbiAgICAgIGRlYWRMZXR0ZXJRdWV1ZTogdGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUsXG4gICAgICBkZWxpdmVyeVBvbGljeTogdGhpcy5wcm9wcy5kZWxpdmVyeVBvbGljeSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -36,5 +36,5 @@ class EventBus {
36
36
  }
37
37
  exports.EventBus = EventBus;
38
38
  _a = JSII_RTTI_SYMBOL_1;
39
- EventBus[_a] = { fqn: "terraconstructs.aws.notify.targets.EventBus", version: "0.0.19" };
39
+ EventBus[_a] = { fqn: "terraconstructs.aws.notify.targets.EventBus", version: "0.0.20" };
40
40
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYnVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9ldmVudC1idXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSxpQ0FBZ0Y7QUFDaEYsaUNBQWlDO0FBNEJqQzs7R0FFRztBQUNILE1BQWEsUUFBUTtJQUNuQixZQUNtQixRQUFtQixFQUNuQixRQUF1QixFQUFFO1FBRHpCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsVUFBSyxHQUFMLEtBQUssQ0FBb0I7SUFDekMsQ0FBQztJQUVKLElBQUksQ0FBQyxJQUFXLEVBQUUsR0FBWTtRQUM1QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxJQUFBLHlCQUFrQixFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBRXBELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQixJQUFBLHlDQUFrQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUM5QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7Z0JBQzFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUU7Z0JBQy9DLENBQUMsQ0FBQyxTQUFTO1lBQ2IsSUFBSTtTQUNMLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLE9BQU8sSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQzdCLE9BQU8sRUFBRSxDQUFDLGtCQUFrQixDQUFDO1lBQzdCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBNUJILDRCQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElFdmVudEJ1cyB9IGZyb20gXCIuLi9ldmVudC1idXNcIjtcbmltcG9ydCB7IElRdWV1ZSB9IGZyb20gXCIuLi9xdWV1ZVwiO1xuaW1wb3J0IHsgSVJ1bGUgfSBmcm9tIFwiLi4vcnVsZVwiO1xuaW1wb3J0IHsgSVJ1bGVUYXJnZXQsIFJ1bGVUYXJnZXRDb25maWcgfSBmcm9tIFwiLi4vdGFyZ2V0XCI7XG5pbXBvcnQgeyBzaW5nbGV0b25FdmVudFJvbGUsIGFkZFRvRGVhZExldHRlclF1ZXVlUmVzb3VyY2VQb2xpY3kgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uLy4uL2lhbVwiO1xuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBvZiBhbiBFdmVudCBCdXMgZXZlbnRcbiAqXG4gKiBDYW5ub3QgZXh0ZW5kIFRhcmdldEJhc2VQcm9wcy4gUmV0cnkgcG9saWN5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIEV2ZW50IGJ1cyB0YXJnZXRzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50QnVzUHJvcHMge1xuICAvKipcbiAgICogUm9sZSB0byBiZSB1c2VkIHRvIHB1Ymxpc2ggdGhlIGV2ZW50XG4gICAqXG4gICAqIEBkZWZhdWx0IGEgbmV3IHJvbGUgaXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBTUVMgcXVldWUgdG8gYmUgdXNlZCBhcyBkZWFkTGV0dGVyUXVldWUuXG4gICAqIENoZWNrIG91dCB0aGUgW2NvbnNpZGVyYXRpb25zIGZvciB1c2luZyBhIGRlYWQtbGV0dGVyIHF1ZXVlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZXZlbnRicmlkZ2UvbGF0ZXN0L3VzZXJndWlkZS9ydWxlLWRscS5odG1sI2RscS1jb25zaWRlcmF0aW9ucykuXG4gICAqXG4gICAqIFRoZSBldmVudHMgbm90IHN1Y2Nlc3NmdWxseSBkZWxpdmVyZWQgYXJlIGF1dG9tYXRpY2FsbHkgcmV0cmllZCBmb3IgYSBzcGVjaWZpZWQgcGVyaW9kIG9mIHRpbWUsXG4gICAqIGRlcGVuZGluZyBvbiB0aGUgcmV0cnkgcG9saWN5IG9mIHRoZSB0YXJnZXQuXG4gICAqIElmIGFuIGV2ZW50IGlzIG5vdCBkZWxpdmVyZWQgYmVmb3JlIGFsbCByZXRyeSBhdHRlbXB0cyBhcmUgZXhoYXVzdGVkLCBpdCB3aWxsIGJlIHNlbnQgdG8gdGhlIGRlYWQgbGV0dGVyIHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGRlYWQtbGV0dGVyIHF1ZXVlXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWU/OiBJUXVldWU7XG59XG5cbi8qKlxuICogTm90aWZ5IGFuIGV4aXN0aW5nIEV2ZW50IEJ1cyBvZiBhbiBldmVudFxuICovXG5leHBvcnQgY2xhc3MgRXZlbnRCdXMgaW1wbGVtZW50cyBJUnVsZVRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRCdXM6IElFdmVudEJ1cyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBFdmVudEJ1c1Byb3BzID0ge30sXG4gICkge31cblxuICBiaW5kKHJ1bGU6IElSdWxlLCBfaWQ/OiBzdHJpbmcpOiBSdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICBjb25zdCByb2xlID0gdGhpcy5wcm9wcy5yb2xlID8/IHNpbmdsZXRvbkV2ZW50Um9sZShydWxlKTtcbiAgICByb2xlLmFkZFRvUHJpbmNpcGFsUG9saWN5KHRoaXMucHV0RXZlbnRTdGF0ZW1lbnQoKSk7XG5cbiAgICBpZiAodGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUpIHtcbiAgICAgIGFkZFRvRGVhZExldHRlclF1ZXVlUmVzb3VyY2VQb2xpY3kocnVsZSwgdGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUpO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhcm46IHRoaXMuZXZlbnRCdXMuZXZlbnRCdXNBcm4sXG4gICAgICBkZWFkTGV0dGVyQ29uZmlnOiB0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZVxuICAgICAgICA/IHsgYXJuOiB0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZT8ucXVldWVBcm4gfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHJvbGUsXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgcHV0RXZlbnRTdGF0ZW1lbnQoKSB7XG4gICAgcmV0dXJuIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcImV2ZW50czpQdXRFdmVudHNcIl0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLmV2ZW50QnVzLmV2ZW50QnVzQXJuXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -32,5 +32,5 @@ class LambdaFunction {
32
32
  }
33
33
  exports.LambdaFunction = LambdaFunction;
34
34
  _a = JSII_RTTI_SYMBOL_1;
35
- LambdaFunction[_a] = { fqn: "terraconstructs.aws.notify.targets.LambdaFunction", version: "0.0.19" };
35
+ LambdaFunction[_a] = { fqn: "terraconstructs.aws.notify.targets.LambdaFunction", version: "0.0.20" };
36
36
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXdzL25vdGlmeS90YXJnZXRzL2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsaUNBS2dCO0FBaUJoQjs7R0FFRztBQUNILE1BQWEsY0FBYztJQUN6QixZQUNtQixPQUEwQixFQUMxQixRQUE2QixFQUFFO1FBRC9CLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBQzFCLFVBQUssR0FBTCxLQUFLLENBQTBCO0lBQy9DLENBQUM7SUFFSjs7O09BR0c7SUFDSSxJQUFJLENBQUMsSUFBVyxFQUFFLEdBQVk7UUFDbkMsdUNBQXVDO1FBQ3ZDLElBQUEsMEJBQW1CLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV4QyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0IsSUFBQSx5Q0FBa0MsRUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN2RSxDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsSUFBQSwyQkFBb0IsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ25DLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVc7WUFDN0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSztZQUN2QixjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDN0IsQ0FBQztJQUNKLENBQUM7O0FBeEJILHdDQXlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJ1bGVUYXJnZXRJbnB1dCB9IGZyb20gXCIuLi9pbnB1dFwiO1xuaW1wb3J0IHsgSVJ1bGUgfSBmcm9tIFwiLi4vcnVsZVwiO1xuaW1wb3J0IHsgSVJ1bGVUYXJnZXQsIFJ1bGVUYXJnZXRDb25maWcgfSBmcm9tIFwiLi4vdGFyZ2V0XCI7XG5pbXBvcnQge1xuICBhZGRMYW1iZGFQZXJtaXNzaW9uLFxuICBhZGRUb0RlYWRMZXR0ZXJRdWV1ZVJlc291cmNlUG9saWN5LFxuICBUYXJnZXRCYXNlUHJvcHMsXG4gIGJpbmRCYXNlVGFyZ2V0Q29uZmlnLFxufSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgKiBhcyBjb21wdXRlIGZyb20gXCIuLi8uLi9jb21wdXRlXCI7XG5cbi8qKlxuICogQ3VzdG9taXplIHRoZSBMYW1iZGEgRXZlbnQgVGFyZ2V0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRnVuY3Rpb25Qcm9wcyBleHRlbmRzIFRhcmdldEJhc2VQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gc2VuZCB0byB0aGUgTGFtYmRhXG4gICAqXG4gICAqIFRoaXMgd2lsbCBiZSB0aGUgcGF5bG9hZCBzZW50IHRvIHRoZSBMYW1iZGEgRnVuY3Rpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRoZSBlbnRpcmUgRXZlbnRCcmlkZ2UgZXZlbnRcbiAgICovXG4gIHJlYWRvbmx5IGV2ZW50PzogUnVsZVRhcmdldElucHV0O1xufVxuXG4vKipcbiAqIFVzZSBhbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIGFzIGFuIGV2ZW50IHJ1bGUgdGFyZ2V0LlxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhRnVuY3Rpb24gaW1wbGVtZW50cyBJUnVsZVRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlcjogY29tcHV0ZS5JRnVuY3Rpb24sXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTGFtYmRhRnVuY3Rpb25Qcm9wcyA9IHt9LFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBSdWxlVGFyZ2V0IHRoYXQgY2FuIGJlIHVzZWQgdG8gdHJpZ2dlciB0aGlzIExhbWJkYSBhcyBhXG4gICAqIHJlc3VsdCBmcm9tIGFuIEV2ZW50QnJpZGdlIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIGJpbmQocnVsZTogSVJ1bGUsIF9pZD86IHN0cmluZyk6IFJ1bGVUYXJnZXRDb25maWcge1xuICAgIC8vIEFsbG93IGhhbmRsZXIgdG8gYmUgY2FsbGVkIGZyb20gcnVsZVxuICAgIGFkZExhbWJkYVBlcm1pc3Npb24ocnVsZSwgdGhpcy5oYW5kbGVyKTtcblxuICAgIGlmICh0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZSkge1xuICAgICAgYWRkVG9EZWFkTGV0dGVyUXVldWVSZXNvdXJjZVBvbGljeShydWxlLCB0aGlzLnByb3BzLmRlYWRMZXR0ZXJRdWV1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmJpbmRCYXNlVGFyZ2V0Q29uZmlnKHRoaXMucHJvcHMpLFxuICAgICAgYXJuOiB0aGlzLmhhbmRsZXIuZnVuY3Rpb25Bcm4sXG4gICAgICBpbnB1dDogdGhpcy5wcm9wcy5ldmVudCxcbiAgICAgIHRhcmdldFJlc291cmNlOiB0aGlzLmhhbmRsZXIsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -30,7 +30,7 @@ class LogGroupTargetInput {
30
30
  }
31
31
  exports.LogGroupTargetInput = LogGroupTargetInput;
32
32
  _a = JSII_RTTI_SYMBOL_1;
33
- LogGroupTargetInput[_a] = { fqn: "terraconstructs.aws.notify.targets.LogGroupTargetInput", version: "0.0.19" };
33
+ LogGroupTargetInput[_a] = { fqn: "terraconstructs.aws.notify.targets.LogGroupTargetInput", version: "0.0.20" };
34
34
  /**
35
35
  * Use an AWS CloudWatch LogGroup as an event rule target.
36
36
  */
@@ -106,5 +106,5 @@ class CloudWatchLogGroup {
106
106
  }
107
107
  exports.CloudWatchLogGroup = CloudWatchLogGroup;
108
108
  _b = JSII_RTTI_SYMBOL_1;
109
- CloudWatchLogGroup[_b] = { fqn: "terraconstructs.aws.notify.targets.CloudWatchLogGroup", version: "0.0.19" };
109
+ CloudWatchLogGroup[_b] = { fqn: "terraconstructs.aws.notify.targets.CloudWatchLogGroup", version: "0.0.20" };
110
110
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWdyb3VwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9sb2ctZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxvQ0FJa0I7QUFHbEIsbUNBQW1DO0FBQ25DLDZGQUE2RjtBQUM3Rix3RUFBd0U7QUFDeEUsaUNBQStEO0FBQy9ELG1DQUFzQztBQUN0QywrQ0FBMkM7QUFFM0MsaUNBQWlDO0FBMkJqQzs7R0FFRztBQUNILE1BQXNCLG1CQUFtQjtJQUN2Qzs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQ3RCLE9BQW9DO1FBRXBDLE9BQU8sdUJBQWUsQ0FBQyxVQUFVLENBQUM7WUFDaEMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLElBQUksa0JBQVUsQ0FBQyxJQUFJO1lBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLGtCQUFVLENBQUMsVUFBVTtTQUNuRCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQWRILGtEQW9CQzs7O0FBMEJEOztHQUVHO0FBQ0gsTUFBYSxrQkFBa0I7SUFFN0IsWUFDbUIsUUFBd0IsRUFDeEIsUUFBdUIsRUFBRTtRQUR6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixVQUFLLEdBQUwsS0FBSyxDQUFvQjtJQUN6QyxDQUFDO0lBRUo7O09BRUc7SUFDSSxJQUFJLENBQUMsS0FBWSxFQUFFLEdBQVk7UUFDcEMsTUFBTSxhQUFhLEdBQUcsb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUNqRCxNQUFNLElBQUksS0FBSyxDQUNiLGdFQUFnRSxDQUNqRSxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztRQUMzRSxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFM0UsT0FBTztZQUNMLEdBQUcsSUFBQSwyQkFBb0IsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ25DLEdBQUcsRUFBRSxhQUFhLENBQUMsU0FBUyxDQUFDO2dCQUMzQixPQUFPLEVBQUUsTUFBTTtnQkFDZixRQUFRLEVBQUUsV0FBVztnQkFDckIsU0FBUyxFQUFFLGVBQVMsQ0FBQyxtQkFBbUI7Z0JBQ3hDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVk7YUFDekMsQ0FBQztZQUNGLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVE7WUFDOUMsY0FBYyxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQzlCLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxDQUFDO1lBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FDckUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQzFCLENBQUM7WUFDRixJQUFJLE9BQU8sZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3pDLDBFQUEwRTtnQkFDMUUsdURBQXVEO2dCQUN2RCxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxPQUFPLENBQzdDLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsRUFDOUIsTUFBTSxDQUNQLENBQUM7Z0JBQ0YsSUFBSSxDQUFDO29CQUNILE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7b0JBQ2pELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDckQsSUFDRSxpQkFBaUIsQ0FBQyxNQUFNLEtBQUssQ0FBQzt3QkFDOUIsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO3dCQUN4QyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDdEMsQ0FBQzt3QkFDRCxPQUFPOzRCQUNMLG9IQUFvSDt5QkFDckgsQ0FBQztvQkFDSixDQUFDO2dCQUNILENBQUM7Z0JBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztvQkFDaEIsT0FBTzt3QkFDTCwyQ0FBMkM7NEJBQ3pDLG9IQUFvSDt3QkFDdEgsQ0FBQztxQkFDRixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7QUFsRkgsZ0RBbUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgUnVsZVRhcmdldElucHV0UHJvcGVydGllcyxcbiAgUnVsZVRhcmdldElucHV0LFxuICBFdmVudEZpZWxkLFxufSBmcm9tIFwiLi4vaW5wdXRcIjtcbmltcG9ydCB7IElSdWxlIH0gZnJvbSBcIi4uL3J1bGVcIjtcbmltcG9ydCB7IElSdWxlVGFyZ2V0LCBSdWxlVGFyZ2V0Q29uZmlnIH0gZnJvbSBcIi4uL3RhcmdldFwiO1xuLy8gQ3VzdG9tIFJlc291cmNlIG5vIGxvbmdlciBuZWVkZWRcbi8vIGxvZ0dyb3VwIFJlc291cmNlUG9saWN5IHdhcyBhZGRlZCB0byBDRk4gLSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8xNzAxNS9maWxlc1xuLy8gaW1wb3J0IHsgTG9nR3JvdXBSZXNvdXJjZVBvbGljeSB9IGZyb20gXCIuL2xvZy1ncm91cC1yZXNvdXJjZS1wb2xpY3lcIjtcbmltcG9ydCB7IFRhcmdldEJhc2VQcm9wcywgYmluZEJhc2VUYXJnZXRDb25maWcgfSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBBcm5Gb3JtYXQgfSBmcm9tIFwiLi4vLi4vYXJuXCI7XG5pbXBvcnQgeyBBd3NTdGFjayB9IGZyb20gXCIuLi8uLi9hd3Mtc3RhY2tcIjtcbmltcG9ydCAqIGFzIGxvZ3MgZnJvbSBcIi4uLy4uL2Nsb3Vkd2F0Y2hcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5cbi8qKlxuICogT3B0aW9ucyB1c2VkIHdoZW4gY3JlYXRpbmcgYSB0YXJnZXQgaW5wdXQgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dHcm91cFRhcmdldElucHV0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIHRoYXQgd2lsbCBhcHBlYXIgaW4gdGhlIENsb3VkV2F0Y2ggTG9ncyByZWNvcmRcbiAgICpcbiAgICogQGRlZmF1bHQgRXZlbnRGaWVsZC50aW1lXG4gICAqL1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBwcm92aWRlZCBoZXJlIHdpbGwgYmUgdXNlZCBpbiB0aGUgTG9nIFwibWVzc2FnZVwiIGZpZWxkLlxuICAgKlxuICAgKiBUaGlzIGZpZWxkIG11c3QgYmUgYSBzdHJpbmcuIElmIGFuIG9iamVjdCBpcyBwYXNzZWQgKGUuZy4gSlNPTiBkYXRhKVxuICAgKiBpdCB3aWxsIG5vdCB0aHJvdyBhbiBlcnJvciwgYnV0IHRoZSBtZXNzYWdlIHRoYXQgbWFrZXMgaXQgdG9cbiAgICogQ2xvdWRXYXRjaCBsb2dzIHdpbGwgYmUgaW5jb3JyZWN0LiBUaGlzIGlzIGEgbGlrZWx5IHNjZW5hcmlvIGlmXG4gICAqIGRvaW5nIHNvbWV0aGluZyBsaWtlOiBFdmVudEZpZWxkLmZyb21QYXRoKCckLmRldGFpbCcpIHNpbmNlIGluIG1vc3QgY2FzZXNcbiAgICogdGhlIGBkZXRhaWxgIGZpZWxkIGNvbnRhaW5zIEpTT04gZGF0YS5cbiAgICpcbiAgICogQGRlZmF1bHQgRXZlbnRGaWVsZC5kZXRhaWxUeXBlXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlPzogYW55O1xufVxuXG4vKipcbiAqIFRoZSBpbnB1dCB0byBzZW5kIHRvIHRoZSBDbG91ZFdhdGNoIExvZ0dyb3VwIHRhcmdldFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTG9nR3JvdXBUYXJnZXRJbnB1dCB7XG4gIC8qKlxuICAgKiBQYXNzIGEgSlNPTiBvYmplY3QgdG8gdGhlIHRoZSBsb2cgZ3JvdXAgZXZlbnQgdGFyZ2V0XG4gICAqXG4gICAqIE1heSBjb250YWluIHN0cmluZ3MgcmV0dXJuZWQgYnkgYEV2ZW50RmllbGQuZnJvbSgpYCB0byBzdWJzdGl0dXRlIGluIHBhcnRzIG9mIHRoZVxuICAgKiBtYXRjaGVkIGV2ZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tT2JqZWN0KFxuICAgIG9wdGlvbnM/OiBMb2dHcm91cFRhcmdldElucHV0T3B0aW9ucyxcbiAgKTogUnVsZVRhcmdldElucHV0IHtcbiAgICByZXR1cm4gUnVsZVRhcmdldElucHV0LmZyb21PYmplY3Qoe1xuICAgICAgdGltZXN0YW1wOiBvcHRpb25zPy50aW1lc3RhbXAgPz8gRXZlbnRGaWVsZC50aW1lLFxuICAgICAgbWVzc2FnZTogb3B0aW9ucz8ubWVzc2FnZSA/PyBFdmVudEZpZWxkLmRldGFpbFR5cGUsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBpbnB1dCBwcm9wZXJ0aWVzIGZvciB0aGlzIGlucHV0IG9iamVjdFxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGJpbmQocnVsZTogSVJ1bGUpOiBSdWxlVGFyZ2V0SW5wdXRQcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIEN1c3RvbWl6ZSB0aGUgQ2xvdWRXYXRjaCBMb2dHcm91cCBFdmVudCBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dHcm91cFByb3BzIGV4dGVuZHMgVGFyZ2V0QmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBldmVudCB0byBzZW5kIHRvIHRoZSBDbG91ZFdhdGNoIExvZ0dyb3VwXG4gICAqXG4gICAqIFRoaXMgd2lsbCBiZSB0aGUgZXZlbnQgbG9nZ2VkIGludG8gdGhlIENsb3VkV2F0Y2ggTG9nR3JvdXBcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgZW50aXJlIEV2ZW50QnJpZGdlIGV2ZW50XG4gICAqIEBkZXByZWNhdGVkIHVzZSBsb2dFdmVudCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBldmVudD86IFJ1bGVUYXJnZXRJbnB1dDtcblxuICAvKipcbiAgICogVGhlIGV2ZW50IHRvIHNlbmQgdG8gdGhlIENsb3VkV2F0Y2ggTG9nR3JvdXBcbiAgICpcbiAgICogVGhpcyB3aWxsIGJlIHRoZSBldmVudCBsb2dnZWQgaW50byB0aGUgQ2xvdWRXYXRjaCBMb2dHcm91cFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBlbnRpcmUgRXZlbnRCcmlkZ2UgZXZlbnRcbiAgICovXG4gIHJlYWRvbmx5IGxvZ0V2ZW50PzogTG9nR3JvdXBUYXJnZXRJbnB1dDtcbn1cblxuLyoqXG4gKiBVc2UgYW4gQVdTIENsb3VkV2F0Y2ggTG9nR3JvdXAgYXMgYW4gZXZlbnQgcnVsZSB0YXJnZXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDbG91ZFdhdGNoTG9nR3JvdXAgaW1wbGVtZW50cyBJUnVsZVRhcmdldCB7XG4gIHByaXZhdGUgdGFyZ2V0PzogUnVsZVRhcmdldElucHV0UHJvcGVydGllcztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dHcm91cDogbG9ncy5JTG9nR3JvdXAsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwcm9wczogTG9nR3JvdXBQcm9wcyA9IHt9LFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBSdWxlVGFyZ2V0IHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9nIGFuIGV2ZW50IGludG8gYSBDbG91ZFdhdGNoIExvZ0dyb3VwXG4gICAqL1xuICBwdWJsaWMgYmluZChfcnVsZTogSVJ1bGUsIF9pZD86IHN0cmluZyk6IFJ1bGVUYXJnZXRDb25maWcge1xuICAgIGNvbnN0IGxvZ0dyb3VwU3RhY2sgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdCh0aGlzLmxvZ0dyb3VwKTtcbiAgICBpZiAodGhpcy5wcm9wcy5ldmVudCAmJiB0aGlzLnByb3BzLmxvZ0V2ZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ09ubHkgb25lIG9mIFwiZXZlbnRcIiBvciBcImxvZ0V2ZW50XCIgY2FuIGJlIHNwZWNpZmllZCcpO1xuICAgIH1cblxuICAgIHRoaXMudGFyZ2V0ID0gdGhpcy5wcm9wcy5ldmVudD8uYmluZChfcnVsZSk7XG4gICAgaWYgKHRoaXMudGFyZ2V0Py5pbnB1dFBhdGggfHwgdGhpcy50YXJnZXQ/LmlucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ2xvdWRXYXRjaExvZ0dyb3VwIHRhcmdldHMgZG9lcyBub3Qgc3VwcG9ydCBpbnB1dCBvciBpbnB1dFBhdGhcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2dHcm91cC5ncmFudFdyaXRlKG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImV2ZW50cy5hbWF6b25hd3MuY29tXCIpKTtcbiAgICBfcnVsZS5ub2RlLmFkZFZhbGlkYXRpb24oeyB2YWxpZGF0ZTogKCkgPT4gdGhpcy52YWxpZGF0ZUlucHV0VGVtcGxhdGUoKSB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5iaW5kQmFzZVRhcmdldENvbmZpZyh0aGlzLnByb3BzKSxcbiAgICAgIGFybjogbG9nR3JvdXBTdGFjay5mb3JtYXRBcm4oe1xuICAgICAgICBzZXJ2aWNlOiBcImxvZ3NcIixcbiAgICAgICAgcmVzb3VyY2U6IFwibG9nLWdyb3VwXCIsXG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHJlc291cmNlTmFtZTogdGhpcy5sb2dHcm91cC5sb2dHcm91cE5hbWUsXG4gICAgICB9KSxcbiAgICAgIGlucHV0OiB0aGlzLnByb3BzLmV2ZW50ID8/IHRoaXMucHJvcHMubG9nRXZlbnQsXG4gICAgICB0YXJnZXRSZXNvdXJjZTogdGhpcy5sb2dHcm91cCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoYXQgdGhlIHRhcmdldCBldmVudCBpbnB1dCB0ZW1wbGF0ZSBoYXMgdGhlIGNvcnJlY3QgZm9ybWF0LlxuICAgKiBUaGUgQ2xvdWRXYXRjaExvZ3MgdGFyZ2V0IG9ubHkgc3VwcG9ydHMgYSB0ZW1wbGF0ZSB3aXRoIHRoZSBmb3JtYXQgb2Y6XG4gICAqICAge1widGltZXN0YW1wXCI6IDx0aW1lPiwgXCJtZXNzYWdlXCI6IDxtZXNzYWdlPn1cbiAgICpcbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpZiB0aGUgZGVwcmVjYXRlZCBgZXZlbnRgIHByb3BlcnR5IGlzIHVzZWQuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1B1dFRhcmdldHMuaHRtbFxuICAgKi9cbiAgcHJpdmF0ZSB2YWxpZGF0ZUlucHV0VGVtcGxhdGUoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLnRhcmdldD8uaW5wdXRUZW1wbGF0ZSkge1xuICAgICAgY29uc3QgcmVzb2x2ZWRUZW1wbGF0ZSA9IEF3c1N0YWNrLm9mQXdzQ29uc3RydWN0KHRoaXMubG9nR3JvdXApLnJlc29sdmUoXG4gICAgICAgIHRoaXMudGFyZ2V0LmlucHV0VGVtcGxhdGUsXG4gICAgICApO1xuICAgICAgaWYgKHR5cGVvZiByZXNvbHZlZFRlbXBsYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIC8vIG5lZWQgdG8gYWRkIHRoZSBxdW90ZXMgYmFjayB0byB0aGUgc3RyaW5nIHNvIHRoYXQgd2UgY2FuIHBhcnNlIHRoZSBqc29uXG4gICAgICAgIC8vICd7XCJ0aW1lc3RhbXBcIjogPHRpbWU+fScgLT4gJ3tcInRpbWVzdGFtcFwiOiBcIjx0aW1lPlwifSdcbiAgICAgICAgY29uc3QgcXVvdGVkVGVtcGxhdGUgPSByZXNvbHZlZFRlbXBsYXRlLnJlcGxhY2UoXG4gICAgICAgICAgbmV3IFJlZ0V4cChcIig8W148Pl0qPz4pXCIsIFwiZ1wiKSxcbiAgICAgICAgICAnXCIkMVwiJyxcbiAgICAgICAgKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBpbnB1dFRlbXBsYXRlID0gSlNPTi5wYXJzZShxdW90ZWRUZW1wbGF0ZSk7XG4gICAgICAgICAgY29uc3QgaW5wdXRUZW1wbGF0ZUtleXMgPSBPYmplY3Qua2V5cyhpbnB1dFRlbXBsYXRlKTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBpbnB1dFRlbXBsYXRlS2V5cy5sZW5ndGggIT09IDIgfHxcbiAgICAgICAgICAgICFpbnB1dFRlbXBsYXRlS2V5cy5pbmNsdWRlcyhcInRpbWVzdGFtcFwiKSB8fFxuICAgICAgICAgICAgIWlucHV0VGVtcGxhdGVLZXlzLmluY2x1ZGVzKFwibWVzc2FnZVwiKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgXCJDbG91ZFdhdGNoTG9nR3JvdXAgdGFyZ2V0cyBvbmx5IHN1cHBvcnQgaW5wdXQgdGVtcGxhdGVzIGluIHRoZSBmb3JtYXQge3RpbWVzdGFtcDogPHRpbWVzdGFtcD4sIG1lc3NhZ2U6IDxtZXNzYWdlPn1cIixcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgXCJDb3VsZCBub3QgcGFyc2UgaW5wdXQgdGVtcGxhdGUgYXMgSlNPTi5cXG5cIiArXG4gICAgICAgICAgICAgIFwiQ2xvdWRXYXRjaExvZ0dyb3VwIHRhcmdldHMgb25seSBzdXBwb3J0IGlucHV0IHRlbXBsYXRlcyBpbiB0aGUgZm9ybWF0IHt0aW1lc3RhbXA6IDx0aW1lc3RhbXA+LCBtZXNzYWdlOiA8bWVzc2FnZT59XCIsXG4gICAgICAgICAgICBlLFxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iXX0=
@@ -69,5 +69,5 @@ class SqsQueue {
69
69
  }
70
70
  exports.SqsQueue = SqsQueue;
71
71
  _a = JSII_RTTI_SYMBOL_1;
72
- SqsQueue[_a] = { fqn: "terraconstructs.aws.notify.targets.SqsQueue", version: "0.0.19" };
72
+ SqsQueue[_a] = { fqn: "terraconstructs.aws.notify.targets.SqsQueue", version: "0.0.20" };
73
73
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3FzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F3cy9ub3RpZnkvdGFyZ2V0cy9zcXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxpQ0FJZ0I7QUFDaEIsaUNBQWlDO0FBeUJqQzs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLFFBQVE7SUFDbkIsWUFDa0IsS0FBb0IsRUFDbkIsUUFBdUIsRUFBRTtRQUQxQixVQUFLLEdBQUwsS0FBSyxDQUFlO1FBQ25CLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBRTFDLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDdEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQzVFLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxJQUFJLENBQUMsSUFBa0IsRUFBRSxHQUFZO1FBQzFDLDJCQUEyQjtRQUMzQixJQUFJLFVBQVUsR0FBbUI7WUFDL0Isd0VBQXdFO1lBQ3hFLDhDQUE4QztZQUM5QztnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsUUFBUSxFQUFFLG1CQUFtQjtnQkFDN0IsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7YUFDM0I7U0FDRixDQUFDO1FBQ0YsNkJBQTZCO1FBQzdCLCtCQUErQjtRQUMvQix5Q0FBeUM7UUFDekMsaUJBQWlCO1FBQ2pCLE1BQU07UUFDTix5QkFBeUI7UUFDekIsaUNBQWlDO1FBQ2pDLDhCQUE4QjtRQUM5QixPQUFPO1FBQ1AsS0FBSztRQUNMLElBQUk7UUFFSiwrREFBK0Q7UUFDL0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FDMUIsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUNqRSxDQUFDO1FBRUYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUEseUNBQWtDLEVBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLElBQUEsMkJBQW9CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87WUFDekIsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWM7Z0JBQ3RDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRTtnQkFDL0MsQ0FBQyxDQUFDLFNBQVM7U0FDZCxDQUFDO0lBQ0osQ0FBQzs7QUF6REgsNEJBMERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbm90aWZ5IGZyb20gXCIuLlwiO1xuaW1wb3J0IHtcbiAgYWRkVG9EZWFkTGV0dGVyUXVldWVSZXNvdXJjZVBvbGljeSxcbiAgVGFyZ2V0QmFzZVByb3BzLFxuICBiaW5kQmFzZVRhcmdldENvbmZpZyxcbn0gZnJvbSBcIi4vdXRpbFwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi8uLi9pYW1cIjtcblxuLyoqXG4gKiBDdXN0b21pemUgdGhlIFNRUyBRdWV1ZSBFdmVudCBUYXJnZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcXNRdWV1ZVByb3BzIGV4dGVuZHMgVGFyZ2V0QmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIE1lc3NhZ2UgR3JvdXAgSUQgZm9yIG1lc3NhZ2VzIHNlbnQgdG8gdGhpcyBxdWV1ZVxuICAgKlxuICAgKiBSZXF1aXJlZCBmb3IgRklGTyBxdWV1ZXMsIGxlYXZlIGVtcHR5IGZvciByZWd1bGFyIHF1ZXVlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBtZXNzYWdlIGdyb3VwIElEIChyZWd1bGFyIHF1ZXVlKVxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZUdyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHNlbmQgdG8gdGhlIHF1ZXVlLlxuICAgKlxuICAgKiBNdXN0IGJlIGEgdmFsaWQgSlNPTiB0ZXh0IHBhc3NlZCB0byB0aGUgdGFyZ2V0IHF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0aGUgZW50aXJlIEV2ZW50QnJpZGdlIGV2ZW50XG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlPzogbm90aWZ5LlJ1bGVUYXJnZXRJbnB1dDtcbn1cblxuLyoqXG4gKiBVc2UgYW4gU1FTIFF1ZXVlIGFzIGEgdGFyZ2V0IGZvciBBbWF6b24gRXZlbnRCcmlkZ2UgcnVsZXMuXG4gKlxuICogQGV4YW1wbGVcbiAqICAgLy8vIGZpeHR1cmU9d2l0aFJlcG9BbmRTcXNRdWV1ZVxuICogICAvLyBwdWJsaXNoIHRvIGFuIFNRUyBxdWV1ZSBldmVyeSB0aW1lIGNvZGUgaXMgY29tbWl0dGVkXG4gKiAgIC8vIHRvIGEgQ29kZUNvbW1pdCByZXBvc2l0b3J5XG4gKiAgIHJlcG9zaXRvcnkub25Db21taXQoJ29uQ29tbWl0JywgeyB0YXJnZXQ6IG5ldyB0YXJnZXRzLlNxc1F1ZXVlKHF1ZXVlKSB9KTtcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBTcXNRdWV1ZSBpbXBsZW1lbnRzIG5vdGlmeS5JUnVsZVRhcmdldCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBxdWV1ZTogbm90aWZ5LklRdWV1ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBTcXNRdWV1ZVByb3BzID0ge30sXG4gICkge1xuICAgIGlmIChwcm9wcy5tZXNzYWdlR3JvdXBJZCAhPT0gdW5kZWZpbmVkICYmICFxdWV1ZS5maWZvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJtZXNzYWdlR3JvdXBJZCBjYW5ub3QgYmUgc3BlY2lmaWVkIGZvciBub24tRklGTyBxdWV1ZXNcIik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBSdWxlVGFyZ2V0IHRoYXQgY2FuIGJlIHVzZWQgdG8gdHJpZ2dlciB0aGlzIFNRUyBxdWV1ZSBhcyBhXG4gICAqIHJlc3VsdCBmcm9tIGFuIEV2ZW50QnJpZGdlIGV2ZW50LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9ldmVudGJyaWRnZS9sYXRlc3QvdXNlcmd1aWRlL3Jlc291cmNlLWJhc2VkLXBvbGljaWVzLWV2ZW50YnJpZGdlLmh0bWwjc3FzLXBlcm1pc3Npb25zXG4gICAqL1xuICBwdWJsaWMgYmluZChydWxlOiBub3RpZnkuSVJ1bGUsIF9pZD86IHN0cmluZyk6IG5vdGlmeS5SdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICAvLyByZXN0cmljdCB0byBzYW1lIGFjY291bnRcbiAgICBsZXQgY29uZGl0aW9uczogaWFtLkNvbmRpdGlvbnMgPSBbXG4gICAgICAvLyBBZGQgb25seSB0aGUgYWNjb3VudCBpZCBhcyBhIGNvbmRpdGlvbiwgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeS5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTExNThcbiAgICAgIHtcbiAgICAgICAgdGVzdDogXCJTdHJpbmdFcXVhbHNcIixcbiAgICAgICAgdmFyaWFibGU6IFwiYXdzOlNvdXJjZUFjY291bnRcIixcbiAgICAgICAgdmFsdWVzOiBbcnVsZS5lbnYuYWNjb3VudF0sXG4gICAgICB9LFxuICAgIF07XG4gICAgLy8gLy9UT0RPOiBSZS1hZGQgS01TIHN1cHBvcnRcbiAgICAvLyAvL1RPRE86IFVwZGF0ZSBUZXN0cyBhcyB3ZWxsXG4gICAgLy8gaWYgKCF0aGlzLnF1ZXVlLmVuY3J5cHRpb25NYXN0ZXJLZXkpIHtcbiAgICAvLyBjb25kaXRpb25zID0gW1xuICAgIC8vICAge1xuICAgIC8vICAgICB0ZXN0OiBcIkFybkVxdWFsc1wiLFxuICAgIC8vICAgICB2YXJpYWJsZTogXCJhd3M6U291cmNlQXJuXCIsXG4gICAgLy8gICAgIHZhbHVlczogW3J1bGUucnVsZUFybl0sXG4gICAgLy8gICB9LFxuICAgIC8vIF07XG4gICAgLy8gfVxuXG4gICAgLy8gZGVkdXBsaWNhdGVkIGF1dG9tYXRpY2FsbHkgKGJ5IFBvbGljeURvY3VtZW50IFBvc3RQcm9jZXNzb3IpXG4gICAgdGhpcy5xdWV1ZS5ncmFudFNlbmRNZXNzYWdlcyhcbiAgICAgIG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImV2ZW50cy5hbWF6b25hd3MuY29tXCIsIHsgY29uZGl0aW9ucyB9KSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKSB7XG4gICAgICBhZGRUb0RlYWRMZXR0ZXJRdWV1ZVJlc291cmNlUG9saWN5KHJ1bGUsIHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmluZEJhc2VUYXJnZXRDb25maWcodGhpcy5wcm9wcyksXG4gICAgICBhcm46IHRoaXMucXVldWUucXVldWVBcm4sXG4gICAgICBpbnB1dDogdGhpcy5wcm9wcy5tZXNzYWdlLFxuICAgICAgdGFyZ2V0UmVzb3VyY2U6IHRoaXMucXVldWUsXG4gICAgICBzcXNQYXJhbWV0ZXJzOiB0aGlzLnByb3BzLm1lc3NhZ2VHcm91cElkXG4gICAgICAgID8geyBtZXNzYWdlR3JvdXBJZDogdGhpcy5wcm9wcy5tZXNzYWdlR3JvdXBJZCB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -35,5 +35,5 @@ class SfnStateMachine {
35
35
  }
36
36
  exports.SfnStateMachine = SfnStateMachine;
37
37
  _a = JSII_RTTI_SYMBOL_1;
38
- SfnStateMachine[_a] = { fqn: "terraconstructs.aws.notify.targets.SfnStateMachine", version: "0.0.19" };
38
+ SfnStateMachine[_a] = { fqn: "terraconstructs.aws.notify.targets.SfnStateMachine", version: "0.0.20" };
39
39
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtbWFjaGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3RhcmdldHMvc3RhdGUtbWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLGlDQUtnQjtBQXVCaEI7O0dBRUc7QUFDSCxNQUFhLGVBQWU7SUFHMUIsWUFDa0IsT0FBOEIsRUFDN0IsUUFBOEIsRUFBRTtRQURqQyxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUVqRCwrRkFBK0Y7UUFDL0YsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUEseUJBQWtCLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEQsT0FBTyxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLElBQUksQ0FBQyxLQUFtQixFQUFFLEdBQVk7UUFDM0MsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQy9CLElBQUEseUNBQWtDLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEUsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLElBQUEsMkJBQW9CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlO1lBQ2pDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDdkIsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQzdCLENBQUM7SUFDSixDQUFDOztBQTdCSCwwQ0E4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBub3RpZnkgZnJvbSBcIi4uXCI7XG5pbXBvcnQge1xuICBhZGRUb0RlYWRMZXR0ZXJRdWV1ZVJlc291cmNlUG9saWN5LFxuICBiaW5kQmFzZVRhcmdldENvbmZpZyxcbiAgc2luZ2xldG9uRXZlbnRSb2xlLFxuICBUYXJnZXRCYXNlUHJvcHMsXG59IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCAqIGFzIGNvbXB1dGUgZnJvbSBcIi4uLy4uL2NvbXB1dGVcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vLi4vaWFtXCI7XG5cbi8qKlxuICogQ3VzdG9taXplIHRoZSBTdGVwIEZ1bmN0aW9ucyBTdGF0ZSBNYWNoaW5lIHRhcmdldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNmblN0YXRlTWFjaGluZVByb3BzIGV4dGVuZHMgVGFyZ2V0QmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnB1dCB0byB0aGUgc3RhdGUgbWFjaGluZSBleGVjdXRpb25cbiAgICpcbiAgICogQGRlZmF1bHQgdGhlIGVudGlyZSBFdmVudEJyaWRnZSBldmVudFxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ/OiBub3RpZnkuUnVsZVRhcmdldElucHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgdG8gYmUgYXNzdW1lZCB0byBleGVjdXRlIHRoZSBTdGF0ZSBNYWNoaW5lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSBuZXcgcm9sZSB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbi8qKlxuICogVXNlIGEgU3RlcEZ1bmN0aW9ucyBzdGF0ZSBtYWNoaW5lIGFzIGEgdGFyZ2V0IGZvciBBbWF6b24gRXZlbnRCcmlkZ2UgcnVsZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZm5TdGF0ZU1hY2hpbmUgaW1wbGVtZW50cyBub3RpZnkuSVJ1bGVUYXJnZXQge1xuICBwcml2YXRlIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWFjaGluZTogY29tcHV0ZS5JU3RhdGVNYWNoaW5lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IFNmblN0YXRlTWFjaGluZVByb3BzID0ge30sXG4gICkge1xuICAgIC8vIG5vIHN0YXRlbWVudHMgYXJlIHBhc3NlZCBiZWNhdXNlIHdlIGFyZSBjb25maWd1cmluZyBwZXJtaXNzaW9ucyBieSB1c2luZyBncmFudCogaGVscGVyIGJlbG93XG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZSA/PyBzaW5nbGV0b25FdmVudFJvbGUobWFjaGluZSk7XG4gICAgbWFjaGluZS5ncmFudFN0YXJ0RXhlY3V0aW9uKHRoaXMucm9sZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHByb3BlcnRpZXMgdGhhdCBhcmUgdXNlZCBpbiBhbiBSdWxlIHRvIHRyaWdnZXIgdGhpcyBTdGF0ZSBNYWNoaW5lXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2V2ZW50YnJpZGdlL2xhdGVzdC91c2VyZ3VpZGUvcmVzb3VyY2UtYmFzZWQtcG9saWNpZXMtZXZlbnRicmlkZ2UuaHRtbCNzbnMtcGVybWlzc2lvbnNcbiAgICovXG4gIHB1YmxpYyBiaW5kKF9ydWxlOiBub3RpZnkuSVJ1bGUsIF9pZD86IHN0cmluZyk6IG5vdGlmeS5SdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICBpZiAodGhpcy5wcm9wcy5kZWFkTGV0dGVyUXVldWUpIHtcbiAgICAgIGFkZFRvRGVhZExldHRlclF1ZXVlUmVzb3VyY2VQb2xpY3koX3J1bGUsIHRoaXMucHJvcHMuZGVhZExldHRlclF1ZXVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYmluZEJhc2VUYXJnZXRDb25maWcodGhpcy5wcm9wcyksXG4gICAgICBhcm46IHRoaXMubWFjaGluZS5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICByb2xlOiB0aGlzLnJvbGUsXG4gICAgICBpbnB1dDogdGhpcy5wcm9wcy5pbnB1dCxcbiAgICAgIHRhcmdldFJlc291cmNlOiB0aGlzLm1hY2hpbmUsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -171,5 +171,5 @@ class TopicBase extends aws_construct_1.AwsConstructBase {
171
171
  }
172
172
  exports.TopicBase = TopicBase;
173
173
  _a = JSII_RTTI_SYMBOL_1;
174
- TopicBase[_a] = { fqn: "terraconstructs.aws.notify.TopicBase", version: "0.0.19" };
174
+ TopicBase[_a] = { fqn: "terraconstructs.aws.notify.TopicBase", version: "0.0.20" };
175
175
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvbm90aWZ5L3RvcGljLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw4SEFBOEg7QUFFOUgsaUNBQThCO0FBTzlCLHFDQUF1QztBQUV2QyxpREFBOEM7QUFDOUMsb0RBSTBCO0FBRTFCLDhCQUE4QjtBQW1HOUI7O0dBRUc7QUFDSCxNQUFzQixTQUFVLFNBQVEsZ0NBQWdCO0lBQ3RELElBQVcsWUFBWTtRQUNyQixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztTQUMxQixDQUFDO0lBQ0osQ0FBQztJQUNELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQXlCRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQTJCLEVBQUU7UUFDckUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDdEIsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHlCQUF5QixFQUFFLElBQUksRUFBRTtTQUN4RSxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxlQUFlLENBQUMsaUJBQXFDO1FBQzFELE1BQU0sa0JBQWtCLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhELE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUM7UUFDekQsSUFBSSxFQUFFLEdBQUcsa0JBQWtCLENBQUMsWUFBWSxDQUFDO1FBQ3pDLElBQUksYUFBSyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsRUFB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LElBQUksRUFBRSxDQUFDO2dCQUNmLHNCQUFzQjtnQkFDdEIsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLDZDQUE2QztnQkFDckYsSUFBSSxXQUFXLElBQUksVUFBVSxFQUFFLENBQUM7b0JBQzlCLDRFQUE0RTtvQkFDNUUsVUFBVSxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7Z0JBQ3ZELENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8scUJBQXFCLFVBQVUsRUFBRSxDQUFDO0lBQzNDLENBQUM7O0FBOU1ILDhCQStNQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2YxYzA5MjYzNGEzOTFiMGI3YWVkMGY3NTYyNmRkNmQwZmZkNTY1NjQvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLXNucy9saWIvdG9waWMtYmFzZS50c1xuXG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIElOb3RpZmljYXRpb25SdWxlVGFyZ2V0LFxuICBOb3RpZmljYXRpb25SdWxlVGFyZ2V0Q29uZmlnLFxufSBmcm9tIFwiLi9ub3RpZmljYXRpb24tcnVsZS10YXJnZXRcIjtcbmltcG9ydCB7IFRvcGljUG9saWN5IH0gZnJvbSBcIi4vcG9saWN5XCI7XG5pbXBvcnQgeyBJVG9waWNTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9zdWJzY3JpYmVyXCI7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwiLi9zdWJzY3JpcHRpb25cIjtcbmltcG9ydCB7XG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSUtleSB9IGZyb20gXCIuLi9lbmNyeXB0aW9uXCI7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSBcIi4uL2lhbVwiO1xuLy8gVE9ETzogQWRvcHQgVmFsaWRhdGlvbkVycm9yXG4vLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9wdWxsLzMzMzgyL1xuLy8gLSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvcHVsbC8zMzA0NVxuLy8gaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIi4uLy4uL2NvcmUvbGliL2Vycm9yc1wiO1xuXG4vKipcbiAqIE91dHB1dHMgZm9yIHRoZSBTdWJzY3JpcHRpb24gY29uc3RydWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljT3V0cHV0cyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSB0b3BpY1xuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSB0b3BpY0Fybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgdG9waWNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9waWNOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBTTlMgdG9waWNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVG9waWMgZXh0ZW5kcyBJQXdzQ29uc3RydWN0LCBJTm90aWZpY2F0aW9uUnVsZVRhcmdldCB7XG4gIC8qKlxuICAgKiBzdHJvbmdseSB0eXBlZCBvdXRwdXRzIGZvciB0aGUgdG9waWNcbiAgICovXG4gIHJlYWRvbmx5IHRvcGljT3V0cHV0czogVG9waWNPdXRwdXRzO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgdG9waWNcbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9waWNBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHRvcGljXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHRvcGljTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEtNUyBLZXksIGVpdGhlciBtYW5hZ2VkIGJ5IHRoaXMgQ0RLIGFwcCwgb3IgaW1wb3J0ZWQuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgYXBwbGllcyBvbmx5IHRvIHNlcnZlci1zaWRlIGVuY3J5cHRpb24uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXNlcnZlci1zaWRlLWVuY3J5cHRpb24uaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBtYXN0ZXJLZXk/OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIGNvbnRlbnQtYmFzZWQgZGVkdXBsaWNhdGlvbiBmb3IgRklGTyB0b3BpY3MuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb246IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyB0b3BpYyBpcyBhbiBBbWF6b24gU05TIEZJRk8gcXVldWUuIElmIGZhbHNlLCB0aGlzIGlzIGEgc3RhbmRhcmQgdG9waWMuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGZpZm86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZSBzb21lIGVuZHBvaW50IHRvIHRoaXMgdG9waWNcbiAgICovXG4gIGFkZFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb246IElUb3BpY1N1YnNjcmlwdGlvbik6IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJlc291cmNlIHBvbGljeSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b3BpYy5cbiAgICpcbiAgICogSWYgdGhpcyB0b3BpYyB3YXMgY3JlYXRlZCBpbiB0aGlzIHN0YWNrIChgbmV3IFRvcGljYCksIGEgdG9waWMgcG9saWN5XG4gICAqIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIHVwb24gdGhlIGZpcnN0IGNhbGwgdG8gYGFkZFRvUmVzb3VyY2VQb2xpY3lgLiBJZlxuICAgKiB0aGUgdG9waWMgaXMgaW1wb3J0ZWQgKGBUb3BpYy5pbXBvcnRgKSwgdGhlbiB0aGlzIGlzIGEgbm8tb3AuXG4gICAqL1xuICBhZGRUb1Jlc291cmNlUG9saWN5KFxuICAgIHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCxcbiAgKTogaWFtLkFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQ7XG5cbiAgLyoqXG4gICAqIEdyYW50IHRvcGljIHB1Ymxpc2hpbmcgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGlkZW50aXR5XG4gICAqL1xuICBncmFudFB1Ymxpc2goaWRlbnRpdHk6IGlhbS5JR3JhbnRhYmxlKTogaWFtLkdyYW50O1xuXG4gIC8qKlxuICAgKiBHcmFudCB0b3BpYyBzdWJzY3JpYmluZyBwZXJtaXNzaW9ucyB0byB0aGUgZ2l2ZW4gaWRlbnRpdHlcbiAgICovXG4gIGdyYW50U3Vic2NyaWJlKGlkZW50aXR5OiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudDtcbn1cblxuLyoqXG4gKiBFaXRoZXIgYSBuZXcgb3IgaW1wb3J0ZWQgVG9waWNcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRvcGljQmFzZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJVG9waWMge1xuICBwdWJsaWMgZ2V0IHRvcGljT3V0cHV0cygpOiBUb3BpY091dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICB0b3BpY0FybjogdGhpcy50b3BpY0FybixcbiAgICAgIHRvcGljTmFtZTogdGhpcy50b3BpY05hbWUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMudG9waWNPdXRwdXRzO1xuICB9XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0b3BpY0Fybjogc3RyaW5nO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB0b3BpY05hbWU6IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgbWFzdGVyS2V5PzogSUtleTtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZmlmbzogYm9vbGVhbjtcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29udHJvbHMgYXV0b21hdGljIGNyZWF0aW9uIG9mIHBvbGljeSBvYmplY3RzLlxuICAgKlxuICAgKiBTZXQgYnkgc3ViY2xhc3Nlcy5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCByZWFkb25seSBhdXRvQ3JlYXRlUG9saWN5OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIGVuZm9yY2UgZW5jcnlwdGlvbiBvZiBkYXRhIGluIHRyYW5zaXQgd2hlbiBwdWJsaXNoaW5nIHRvIHRoZSB0b3BpYy5cbiAgICovXG4gIHByb3RlY3RlZCBlbmZvcmNlU1NMPzogYm9vbGVhbjtcblxuICBwcml2YXRlIHBvbGljeT86IFRvcGljUG9saWN5O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBd3NDb25zdHJ1Y3RQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICB0aGlzLm5vZGUuYWRkVmFsaWRhdGlvbih7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4gdGhpcy5wb2xpY3k/LmRvY3VtZW50LnZhbGlkYXRlRm9yUmVzb3VyY2VQb2xpY3koKSA/PyBbXSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmUgc29tZSBlbmRwb2ludCB0byB0aGlzIHRvcGljXG4gICAqL1xuICBwdWJsaWMgYWRkU3Vic2NyaXB0aW9uKHRvcGljU3Vic2NyaXB0aW9uOiBJVG9waWNTdWJzY3JpcHRpb24pOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbkNvbmZpZyA9IHRvcGljU3Vic2NyaXB0aW9uLmJpbmQodGhpcyk7XG5cbiAgICBjb25zdCBzY29wZSA9IHN1YnNjcmlwdGlvbkNvbmZpZy5zdWJzY3JpYmVyU2NvcGUgfHwgdGhpcztcbiAgICBsZXQgaWQgPSBzdWJzY3JpcHRpb25Db25maWcuc3Vic2NyaWJlcklkO1xuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoc3Vic2NyaXB0aW9uQ29uZmlnLnN1YnNjcmliZXJJZCkpIHtcbiAgICAgIGlkID0gdGhpcy5uZXh0VG9rZW5JZChzY29wZSk7XG4gICAgfVxuXG4gICAgLy8gV2UgdXNlIHRoZSBzdWJzY3JpYmVyJ3MgaWQgYXMgdGhlIGNvbnN0cnVjdCBpZC4gVGhlcmUncyBubyBtZWFuaW5nXG4gICAgLy8gdG8gc3Vic2NyaWJpbmcgdGhlIHNhbWUgc3Vic2NyaWJlciB0d2ljZSBvbiB0aGUgc2FtZSB0b3BpYy5cbiAgICBpZiAoc2NvcGUubm9kZS50cnlGaW5kQ2hpbGQoaWQpKSB7XG4gICAgICAvLyBUT0RPOiBBZG9wdCBWYWxpZGF0aW9uRXJyb3JcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEEgc3Vic2NyaXB0aW9uIHdpdGggaWQgXCIke2lkfVwiIGFscmVhZHkgZXhpc3RzIHVuZGVyIHRoZSBzY29wZSAke3Njb3BlLm5vZGUucGF0aH1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKHNjb3BlLCBpZCwge1xuICAgICAgdG9waWM6IHRoaXMsXG4gICAgICAuLi5zdWJzY3JpcHRpb25Db25maWcsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgZGVwZW5kZW5jeSBmb3IgdGhlIHN1YnNjcmlwdGlvbiwgZm9yIGV4YW1wbGUgZm9yIFNRUyBzdWJzY3JpcHRpb25cbiAgICAvLyB0aGUgcXVldWUgcG9saWN5IGhhcyB0byBkZXBsb3kgYmVmb3JlIHRoZSBzdWJzY3JpcHRpb24gaXMgY3JlYXRlZFxuICAgIGlmIChzdWJzY3JpcHRpb25Db25maWcuc3Vic2NyaXB0aW9uRGVwZW5kZW5jeSkge1xuICAgICAgc3Vic2NyaXB0aW9uLm5vZGUuYWRkRGVwZW5kZW5jeShcbiAgICAgICAgc3Vic2NyaXB0aW9uQ29uZmlnLnN1YnNjcmlwdGlvbkRlcGVuZGVuY3ksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJzY3JpcHRpb247XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJlc291cmNlIHBvbGljeSBhc3NvY2lhdGVkIHdpdGggdGhpcyB0b3BpYy5cbiAgICpcbiAgICogSWYgdGhpcyB0b3BpYyB3YXMgY3JlYXRlZCBpbiB0aGlzIHN0YWNrIChgbmV3IFRvcGljYCksIGEgdG9waWMgcG9saWN5XG4gICAqIHdpbGwgYmUgYXV0b21hdGljYWxseSBjcmVhdGVkIHVwb24gdGhlIGZpcnN0IGNhbGwgdG8gYGFkZFRvUmVzb3VyY2VQb2xpY3lgLlxuICAgKiBIb3dldmVyLCBpZiBgZW5mb3JjZVNTTGAgaXMgc2V0IHRvIGB0cnVlYCwgdGhlIHBvbGljeSBoYXMgYWxyZWFkeSBiZWVuIGNyZWF0ZWRcbiAgICogYmVmb3JlIHRoZSBmaXJzdCBjYWxsIHRvIHRoaXMgbWV0aG9kLlxuICAgKlxuICAgKiBJZiB0aGUgdG9waWMgaXMgaW1wb3J0ZWQgKGBUb3BpYy5pbXBvcnRgKSwgdGhlbiB0aGlzIGlzIGEgbm8tb3AuXG4gICAqL1xuICBwdWJsaWMgYWRkVG9SZXNvdXJjZVBvbGljeShcbiAgICBzdGF0ZW1lbnQ6IGlhbS5Qb2xpY3lTdGF0ZW1lbnQsXG4gICk6IGlhbS5BZGRUb1Jlc291cmNlUG9saWN5UmVzdWx0IHtcbiAgICB0aGlzLmNyZWF0ZVRvcGljUG9saWN5KCk7XG5cbiAgICBpZiAodGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5LmRvY3VtZW50LmFkZFN0YXRlbWVudHMoc3RhdGVtZW50KTtcbiAgICAgIHJldHVybiB7IHN0YXRlbWVudEFkZGVkOiB0cnVlLCBwb2xpY3lEZXBlbmRhYmxlOiB0aGlzLnBvbGljeSB9O1xuICAgIH1cbiAgICByZXR1cm4geyBzdGF0ZW1lbnRBZGRlZDogZmFsc2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgU1NMIHBvbGljeSB0byB0aGUgdG9waWMgcmVzb3VyY2UgcG9saWN5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGFkZFNTTFBvbGljeSgpOiB2b2lkIHtcbiAgICB0aGlzLmNyZWF0ZVRvcGljUG9saWN5KCk7XG5cbiAgICBpZiAodGhpcy5wb2xpY3kpIHtcbiAgICAgIHRoaXMucG9saWN5LmRvY3VtZW50LmFkZFN0YXRlbWVudHModGhpcy5jcmVhdGVTU0xQb2xpY3lEb2N1bWVudCgpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHRvcGljIHBvbGljeSBmb3IgdGhpcyB0b3BpYy5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVUb3BpY1BvbGljeSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucG9saWN5ICYmIHRoaXMuYXV0b0NyZWF0ZVBvbGljeSkge1xuICAgICAgdGhpcy5wb2xpY3kgPSBuZXcgVG9waWNQb2xpY3kodGhpcywgXCJQb2xpY3lcIiwgeyB0b3BpY3M6IFt0aGlzXSB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byBlbmZvcmNlIGVuY3J5cHRpb24gb2YgZGF0YSBpbiB0cmFuc2l0IHdoZW4gcHVibGlzaGluZyB0byB0aGUgdG9waWMuXG4gICAqXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXNlY3VyaXR5LWJlc3QtcHJhY3RpY2VzLmh0bWwjZW5mb3JjZS1lbmNyeXB0aW9uLWRhdGEtaW4tdHJhbnNpdC5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVTU0xQb2xpY3lEb2N1bWVudCgpOiBpYW0uUG9saWN5U3RhdGVtZW50IHtcbiAgICByZXR1cm4gbmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgc2lkOiBcIkFsbG93UHVibGlzaFRocm91Z2hTU0xPbmx5XCIsXG4gICAgICBhY3Rpb25zOiBbXCJzbnM6UHVibGlzaFwiXSxcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5ERU5ZLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy50b3BpY0Fybl0sXG4gICAgICBjb25kaXRpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3Q6IFwiQm9vbFwiLFxuICAgICAgICAgIHZhbHVlczogW1wiZmFsc2VcIl0sXG4gICAgICAgICAgdmFyaWFibGU6IFwiYXdzOlNlY3VyZVRyYW5zcG9ydFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByaW5jaXBhbHM6IFtuZXcgaWFtLlN0YXJQcmluY2lwYWwoKV0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdG9waWMgcHVibGlzaGluZyBwZXJtaXNzaW9ucyB0byB0aGUgZ2l2ZW4gaWRlbnRpdHlcbiAgICovXG4gIHB1YmxpYyBncmFudFB1Ymxpc2goZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICBjb25zdCByZXQgPSBpYW0uR3JhbnQuYWRkVG9QcmluY2lwYWxPclJlc291cmNlKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbXCJzbnM6UHVibGlzaFwiXSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMudG9waWNBcm5dLFxuICAgICAgcmVzb3VyY2U6IHRoaXMsXG4gICAgfSk7XG4gICAgaWYgKHRoaXMubWFzdGVyS2V5KSB7XG4gICAgICB0aGlzLm1hc3RlcktleS5ncmFudChncmFudGVlLCBcImttczpEZWNyeXB0XCIsIFwia21zOkdlbmVyYXRlRGF0YUtleSpcIik7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdG9waWMgc3Vic2NyaWJpbmcgcGVybWlzc2lvbnMgdG8gdGhlIGdpdmVuIGlkZW50aXR5XG4gICAqL1xuICBwdWJsaWMgZ3JhbnRTdWJzY3JpYmUoZ3JhbnRlZTogaWFtLklHcmFudGFibGUpIHtcbiAgICByZXR1cm4gaWFtLkdyYW50LmFkZFRvUHJpbmNpcGFsT3JSZXNvdXJjZSh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogW1wic25zOlN1YnNjcmliZVwiXSxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMudG9waWNBcm5dLFxuICAgICAgcmVzb3VyY2U6IHRoaXMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVwcmVzZW50cyBhIG5vdGlmaWNhdGlvbiB0YXJnZXRcbiAgICogVGhhdCBhbGxvd3MgU05TIHRvcGljIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgcnVsZSB0YXJnZXQuXG4gICAqL1xuICBwdWJsaWMgYmluZEFzTm90aWZpY2F0aW9uUnVsZVRhcmdldChcbiAgICBfc2NvcGU6IGNvbnN0cnVjdHMuQ29uc3RydWN0LFxuICApOiBOb3RpZmljYXRpb25SdWxlVGFyZ2V0Q29uZmlnIHtcbiAgICAvLyBTTlMgdG9waWMgbmVlZCB0byBncmFudCBjb2Rlc3Rhci1ub3RpZmljYXRpb25zIHNlcnZpY2UgdG8gcHVibGlzaFxuICAgIC8vIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2R0Y29uc29sZS9sYXRlc3QvdXNlcmd1aWRlL3NldC11cC1zbnMuaHRtbFxuICAgIHRoaXMuZ3JhbnRQdWJsaXNoKFxuICAgICAgbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKFwiY29kZXN0YXItbm90aWZpY2F0aW9ucy5hbWF6b25hd3MuY29tXCIpLFxuICAgICk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRhcmdldFR5cGU6IFwiU05TXCIsXG4gICAgICB0YXJnZXRBZGRyZXNzOiB0aGlzLnRvcGljQXJuLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIG5leHRUb2tlbklkKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICBsZXQgbmV4dFN1ZmZpeCA9IDE7XG4gICAgY29uc3QgcmUgPSAvVG9rZW5TdWJzY3JpcHRpb246KFtcXGRdKikvZ207XG4gICAgLy8gU2VhcmNoIHRocm91Z2ggdGhlIGNvbnN0cnVjdCBhbmQgYWxsIG9mIGl0cyBjaGlsZHJlblxuICAgIC8vIGZvciBwcmV2aW91cyBzdWJzY3JpcHRpb25zIHRoYXQgbWF0Y2ggb3VyIHJlZ2V4IHBhdHRlcm5cbiAgICBmb3IgKGNvbnN0IHNvdXJjZSBvZiBzY29wZS5ub2RlLmZpbmRBbGwoKSkge1xuICAgICAgY29uc3QgbSA9IHJlLmV4ZWMoc291cmNlLm5vZGUuaWQpOyAvLyBVc2UgcmVnZXggdG8gZmluZCBhIG1hdGNoXG4gICAgICBpZiAobSAhPT0gbnVsbCkge1xuICAgICAgICAvLyBpZiB3ZSBmb3VuZCBhIG1hdGNoXG4gICAgICAgIGNvbnN0IG1hdGNoU3VmZml4ID0gcGFyc2VJbnQobVsxXSwgMTApOyAvLyBnZXQgdGhlIHN1ZmZpeCBmb3IgdGhhdCBtYXRjaCAoYXMgaW50ZWdlcilcbiAgICAgICAgaWYgKG1hdGNoU3VmZml4ID49IG5leHRTdWZmaXgpIHtcbiAgICAgICAgICAvLyBjaGVjayBpZiB0aGUgbWF0Y2ggc3VmZml4IGlzIGxhcmdlciBvciBlcXVhbCB0byBjdXJyZW50bHkgcHJvcG9zZWQgc3VmZml4XG4gICAgICAgICAgbmV4dFN1ZmZpeCA9IG1hdGNoU3VmZml4ICsgMTsgLy8gaW5jcmVtZW50IHRoZSBzdWZmaXhcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gYFRva2VuU3Vic2NyaXB0aW9uOiR7bmV4dFN1ZmZpeH1gO1xuICB9XG59XG4iXX0=
@@ -215,5 +215,5 @@ class Topic extends topic_base_1.TopicBase {
215
215
  }
216
216
  exports.Topic = Topic;
217
217
  _a = JSII_RTTI_SYMBOL_1;
218
- Topic[_a] = { fqn: "terraconstructs.aws.notify.Topic", version: "0.0.19" };
218
+ Topic[_a] = { fqn: "terraconstructs.aws.notify.Topic", version: "0.0.20" };
219
219
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9waWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL25vdGlmeS90b3BpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlIQUF5SDtBQUV6SCxzREFBK0M7QUFDL0MsaUNBQThCO0FBRTlCLDBCQUF5QztBQUV6Qyw0Q0FBNEM7QUFDNUMsOEJBQThCO0FBQzlCLDZDQUFpRDtBQWtLakQ7O0dBRUc7QUFDSCxJQUFZLGVBeUJYO0FBekJELFdBQVksZUFBZTtJQUN6Qjs7T0FFRztJQUNILGdDQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILDhCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILG9DQUFpQixDQUFBO0lBRWpCOztPQUVHO0lBQ0gsd0NBQXFCLENBQUE7SUFFckI7O09BRUc7SUFDSCw4Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBekJXLGVBQWUsK0JBQWYsZUFBZSxRQXlCMUI7QUFFRDs7R0FFRztBQUNILElBQVksYUFVWDtBQVZELFdBQVksYUFBYTtJQUN2Qjs7T0FFRztJQUNILDZDQUE0QixDQUFBO0lBRTVCOztPQUVHO0lBQ0gsa0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVZXLGFBQWEsNkJBQWIsYUFBYSxRQVV4QjtBQTJCRDs7OztHQUlHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUFDbEM7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFlBQVksQ0FDeEIsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLFFBQWdCO1FBRWhCLE9BQU8sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxNQUFNLENBQUMsbUJBQW1CLENBQy9CLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFzQjtRQUV0QixNQUFNLEtBQUssR0FBRyxZQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFD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QUFFLE1BQU07b0JBQ1osUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO2lCQUNsQjthQUNGO1NBQ0YsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOztBQS9OSCxzQkFnT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi9hNzYzM2E5OGNlMzI1YTYyMGYzNjRiZmRlZGEzNTQzNDI3NTE5MDBhL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1zbnMvbGliL3RvcGljLnRzXG5cbmltcG9ydCB7IHNuc1RvcGljIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXJuRm9ybWF0LCBBd3NTdGFjayB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0ICogYXMgZW5jcnlwdGlvbiBmcm9tIFwiLi4vZW5jcnlwdGlvblwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi9pYW1cIjtcbmltcG9ydCB7IElUb3BpYywgVG9waWNCYXNlIH0gZnJvbSBcIi4vdG9waWMtYmFzZVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IFNOUyB0b3BpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBBIGRldmVsb3Blci1kZWZpbmVkIHN0cmluZyB0aGF0IGNhbiBiZSB1c2VkIHRvIGlkZW50aWZ5IHRoaXMgU05TIHRvcGljLlxuICAgKlxuICAgKiBUaGUgZGlzcGxheSBuYW1lIG11c3QgYmUgbWF4aW11bSAxMDAgY2hhcmFjdGVycyBsb25nLCBpbmNsdWRpbmcgaHlwaGVucyAoLSksXG4gICAqIHVuZGVyc2NvcmVzIChfKSwgc3BhY2VzLCBhbmQgdGFicy5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgbmFtZSBmb3IgdGhlIHRvcGljLlxuICAgKlxuICAgKiBJZiB5b3UgZG9uJ3Qgc3BlY2lmeSBhIG5hbWUsIEFXUyBDbG91ZEZvcm1hdGlvbiBnZW5lcmF0ZXMgYSB1bmlxdWVcbiAgICogcGh5c2ljYWwgSUQgYW5kIHVzZXMgdGhhdCBJRCBmb3IgdGhlIHRvcGljIG5hbWUuIEZvciBtb3JlIGluZm9ybWF0aW9uLFxuICAgKiBzZWUgTmFtZSBUeXBlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBHZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgdG9waWNOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIEtNUyBLZXksIGVpdGhlciBtYW5hZ2VkIGJ5IHRoaXMgQ0RLIGFwcCwgb3IgaW1wb3J0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IG1hc3RlcktleT86IGVuY3J5cHRpb24uSUtleTtcblxuICAvKipcbiAgICogRW5hYmxlcyBjb250ZW50LWJhc2VkIGRlZHVwbGljYXRpb24gZm9yIEZJRk8gdG9waWNzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBjb250ZW50QmFzZWREZWR1cGxpY2F0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgdG8gY3JlYXRlIGEgRklGTyB0b3BpYy5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZmlmbz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGRlbGl2ZXJ5IHN0YXR1cyBsb2dnaW5nIGNvbmZpZ3VyYXRpb25zIGZvciB0aGUgdG9waWMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXRvcGljLWF0dHJpYnV0ZXMuaHRtbC5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nZ2luZ0NvbmZpZ3M/OiBMb2dnaW5nQ29uZmlnW107XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZGF5cyBBbWF6b24gU05TIHJldGFpbnMgbWVzc2FnZXMuXG4gICAqXG4gICAqIEl0IGNhbiBvbmx5IGJlIHNldCBmb3IgRklGTyB0b3BpY3MuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvZmlmby1tZXNzYWdlLWFyY2hpdmluZy1yZXBsYXkuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCBhcmNoaXZlIG1lc3NhZ2VzXG4gICAqL1xuICByZWFkb25seSBtZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIGVuZm9yY2UgZW5jcnlwdGlvbiBvZiBkYXRhIGluIHRyYW5zaXQgd2hlbiBwdWJsaXNoaW5nIHRvIHRoZSB0b3BpYy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc25zL2xhdGVzdC9kZy9zbnMtc2VjdXJpdHktYmVzdC1wcmFjdGljZXMuaHRtbCNlbmZvcmNlLWVuY3J5cHRpb24tZGF0YS1pbi10cmFuc2l0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5mb3JjZVNTTD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBzaWduYXR1cmUgdmVyc2lvbiBjb3JyZXNwb25kcyB0byB0aGUgaGFzaGluZyBhbGdvcml0aG0gdXNlZCB3aGlsZSBjcmVhdGluZyB0aGUgc2lnbmF0dXJlIG9mIHRoZSBub3RpZmljYXRpb25zLFxuICAgKiBzdWJzY3JpcHRpb24gY29uZmlybWF0aW9ucywgb3IgdW5zdWJzY3JpYmUgY29uZmlybWF0aW9uIG1lc3NhZ2VzIHNlbnQgYnkgQW1hem9uIFNOUy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc25zL2xhdGVzdC9kZy9zbnMtdmVyaWZ5LXNpZ25hdHVyZS1vZi1tZXNzYWdlLmh0bWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IHNpZ25hdHVyZVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRyYWNpbmcgbW9kZSBvZiBhbiBBbWF6b24gU05TIHRvcGljLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zbnMvbGF0ZXN0L2RnL3Nucy1hY3RpdmUtdHJhY2luZy5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IFRyYWNpbmdDb25maWcuUEFTU19USFJPVUdIXG4gICAqL1xuICByZWFkb25seSB0cmFjaW5nQ29uZmlnPzogVHJhY2luZ0NvbmZpZztcblxuICAvLyBUT0RPOiBmaWZvVGhyb3VnaHB1dFNjb3BlIGlzIG5vdCBkaXJlY3RseSBzdXBwb3J0ZWQgYnkgYXdzX3Nuc190b3BpYyBpbiBUZXJyYWZvcm0gYXMgb2YgcHJvdmlkZXIgdjUuOTMuMFxuICAvLyAvKipcbiAgLy8gICogU3BlY2lmaWVzIHRoZSB0aHJvdWdocHV0IHF1b3RhIGFuZCBkZWR1cGxpY2F0aW9uIGJlaGF2aW9yIHRvIGFwcGx5IGZvciB0aGUgRklGTyB0b3BpYy5cbiAgLy8gICpcbiAgLy8gICogWW91IGNhbiBvbmx5IHNldCB0aGlzIHByb3BlcnR5IHdoZW4gYGZpZm9gIGlzIGB0cnVlYC5cbiAgLy8gICpcbiAgLy8gICogQGRlZmF1bHQgdW5kZWZpbmVkIC0gU05TIGRlZmF1bHQgc2V0dGluZyBpcyBGaWZvVGhyb3VnaHB1dFNjb3BlLlRPUElDXG4gIC8vICAqL1xuICAvLyByZWFkb25seSBmaWZvVGhyb3VnaHB1dFNjb3BlPzogRmlmb1Rocm91Z2hwdXRTY29wZTtcbn1cblxuLy8gVE9ETzogZmlmb1Rocm91Z2hwdXRTY29wZSBpcyBub3QgZGlyZWN0bHkgc3VwcG9ydGVkIGJ5IGF3c19zbnNfdG9waWMgaW4gVGVycmFmb3JtIGFzIG9mIHByb3ZpZGVyIHY1LjkzLjBcbi8vIC8qKlxuLy8gICogVGhlIHRocm91Z2hwdXQgcXVvdGEgYW5kIGRlZHVwbGljYXRpb24gYmVoYXZpb3IgdG8gYXBwbHkgZm9yIHRoZSBGSUZPIHRvcGljLlxuLy8gICovXG4vLyBleHBvcnQgZW51bSBGaWZvVGhyb3VnaHB1dFNjb3BlIHtcbi8vICAgLyoqXG4vLyAgICAqIFRvcGljIHNjb3BlXG4vLyAgICAqIC0gVGhyb3VnaHB1dDogMzAwMCBtZXNzYWdlcyBwZXIgc2Vjb25kIGFuZCBhIGJhbmR3aWR0aCBvZiAyME1CIHBlciBzZWNvbmQuXG4vLyAgICAqIC0gRGVkdXBsaWNhdGlvbjogTWVzc2FnZSBkZWR1cGxpY2F0aW9uIGlzIHZlcmlmaWVkIG9uIHRoZSBlbnRpcmUgRklGTyB0b3BpYy5cbi8vICAgICovXG4vLyAgIFRPUElDID0gJ1RvcGljJyxcblxuLy8gICAvKipcbi8vICAgICogTWVzc2FnZSBncm91cCBzY29wZVxuLy8gICAgKiAtIFRocm91Z2hwdXQ6IE1heGltdW0gcmVnaW9uYWwgbGltaXRzLlxuLy8gICAgKiAtIERlZHVwbGljYXRpb246IE1lc3NhZ2UgZGVkdXBsaWNhdGlvbiBpcyBvbmx5IHZlcmlmaWVkIHdpdGhpbiBhIG1lc3NhZ2UgZ3JvdXAuXG4vLyAgICAqL1xuLy8gICBNRVNTQUdFX0dST1VQID0gJ01lc3NhZ2VHcm91cCcsXG4vLyB9XG5cbi8qKlxuICogQSBsb2dnaW5nIGNvbmZpZ3VyYXRpb24gZm9yIGRlbGl2ZXJ5IHN0YXR1cyBvZiBtZXNzYWdlcyBzZW50IGZyb20gU05TIHRvcGljIHRvIHN1YnNjcmliZWQgZW5kcG9pbnRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXRvcGljLWF0dHJpYnV0ZXMuaHRtbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dnaW5nQ29uZmlnIHtcbiAgLyoqXG4gICAqIEluZGljYXRlcyBvbmUgb2YgdGhlIHN1cHBvcnRlZCBwcm90b2NvbHMgZm9yIHRoZSBTTlMgdG9waWMuXG4gICAqL1xuICByZWFkb25seSBwcm90b2NvbDogTG9nZ2luZ1Byb3RvY29sO1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgdG8gYmUgdXNlZCB3aGVuIGxvZ2dpbmcgZmFpbGVkIG1lc3NhZ2UgZGVsaXZlcmllcyBpbiBBbWF6b24gQ2xvdWRXYXRjaC5cbiAgICpcbiAgICogQGRlZmF1bHQgTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgZmFpbHVyZUZlZWRiYWNrUm9sZT86IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIHRvIGJlIHVzZWQgd2hlbiBsb2dnaW5nIHN1Y2Nlc3NmdWwgbWVzc2FnZSBkZWxpdmVyaWVzIGluIEFtYXpvbiBDbG91ZFdhdGNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBOb25lXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzRmVlZGJhY2tSb2xlPzogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyY2VudGFnZSBvZiBzdWNjZXNzZnVsIG1lc3NhZ2UgZGVsaXZlcmllcyB0byBiZSBsb2dnZWQgaW4gQW1hem9uIENsb3VkV2F0Y2guXG4gICAqXG4gICAqIFZhbGlkIHZhbHVlcyBhcmUgaW50ZWdlciBiZXR3ZWVuIDAtMTAwXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NGZWVkYmFja1NhbXBsZVJhdGU/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVGhlIHR5cGUgb2Ygc3VwcG9ydGVkIHByb3RvY29sIGZvciBkZWxpdmVyeSBzdGF0dXMgbG9nZ2luZy5cbiAqL1xuZXhwb3J0IGVudW0gTG9nZ2luZ1Byb3RvY29sIHtcbiAgLyoqXG4gICAqIEhUVFBcbiAgICovXG4gIEhUVFAgPSBcImh0dHBcIiwgLy8gTk9URTogQVdTQ0RLIGVudW0gdmFsdWUgPSBcImh0dHAvc1wiLFxuXG4gIC8qKlxuICAgKiBBbWF6b24gU2ltcGxlIFF1ZXVlIFNlcnZpY2VcbiAgICovXG4gIFNRUyA9IFwic3FzXCIsXG5cbiAgLyoqXG4gICAqIEFXUyBMYW1iZGFcbiAgICovXG4gIExBTUJEQSA9IFwibGFtYmRhXCIsXG5cbiAgLyoqXG4gICAqIEFtYXpvbiBEYXRhIEZpcmVob3NlXG4gICAqL1xuICBGSVJFSE9TRSA9IFwiZmlyZWhvc2VcIixcblxuICAvKipcbiAgICogUGxhdGZvcm0gYXBwbGljYXRpb24gZW5kcG9pbnRcbiAgICovXG4gIEFQUExJQ0FUSU9OID0gXCJhcHBsaWNhdGlvblwiLFxufVxuXG4vKipcbiAqIFRoZSB0cmFjaW5nIG1vZGUgb2YgYW4gQW1hem9uIFNOUyB0b3BpY1xuICovXG5leHBvcnQgZW51bSBUcmFjaW5nQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBtb2RlIHRoYXQgdG9waWMgcGFzc2VzIHRyYWNlIGhlYWRlcnMgcmVjZWl2ZWQgZnJvbSB0aGUgQW1hem9uIFNOUyBwdWJsaXNoZXIgdG8gaXRzIHN1YnNjcmlwdGlvbi5cbiAgICovXG4gIFBBU1NfVEhST1VHSCA9IFwiUGFzc1Rocm91Z2hcIixcblxuICAvKipcbiAgICogVGhlIG1vZGUgdGhhdCBBbWF6b24gU05TIHZlbmQgWC1SYXkgc2VnbWVudCBkYXRhIHRvIHRvcGljIG93bmVyIGFjY291bnQgaWYgdGhlIHNhbXBsZWQgZmxhZyBpbiB0aGUgdHJhY2luZyBoZWFkZXIgaXMgdHJ1ZS5cbiAgICovXG4gIEFDVElWRSA9IFwiQWN0aXZlXCIsXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBTTlMgdG9waWMgZGVmaW5lZCBvdXRzaWRlIG9mIHRoaXMgc3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVG9waWNBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIFNOUyB0b3BpYy5cbiAgICovXG4gIHJlYWRvbmx5IHRvcGljQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEtNUyBlbmNyeXB0aW9uIGtleSBBUk4sIGlmIHRoaXMgdG9waWMgaXMgc2VydmVyLXNpZGUgZW5jcnlwdGVkIGJ5IGEgS01TIGtleS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb25lXG4gICAqL1xuICByZWFkb25seSBrZXlBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgY29udGVudC1iYXNlZCBkZWR1cGxpY2F0aW9uIGlzIGVuYWJsZWQuXG4gICAqIE9ubHkgYXBwbGljYWJsZSBmb3IgRklGTyB0b3BpY3MuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjb250ZW50QmFzZWREZWR1cGxpY2F0aW9uPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIG5ldyBTTlMgdG9waWNcbiAqXG4gKiBAcmVzb3VyY2UgYXdzX3Nuc190b3BpY1xuICovXG5leHBvcnQgY2xhc3MgVG9waWMgZXh0ZW5kcyBUb3BpY0Jhc2Uge1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIFNOUyB0b3BpYyBwcm92aWRlZCBhbiBBUk5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0J3MgbmFtZVxuICAgKiBAcGFyYW0gdG9waWNBcm4gdG9waWMgQVJOIChpLmUuIGFybjphd3M6c25zOnVzLWVhc3QtMjo0NDQ0NTU1NTY2NjY6TXlUb3BpYylcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVRvcGljQXJuKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICB0b3BpY0Fybjogc3RyaW5nLFxuICApOiBJVG9waWMge1xuICAgIHJldHVybiBUb3BpYy5mcm9tVG9waWNBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyB0b3BpY0FybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgU05TIHRvcGljIHByb3ZpZGVkIGEgdG9waWMgYXR0cmlidXRlc1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjcmVhdGluZyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QncyBuYW1lXG4gICAqIEBwYXJhbSBhdHRycyB0aGUgYXR0cmlidXRlcyBvZiB0aGUgdG9waWMgdG8gaW1wb3J0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21Ub3BpY0F0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBUb3BpY0F0dHJpYnV0ZXMsXG4gICk6IElUb3BpYyB7XG4gICAgY29uc3Qgc3RhY2sgPSBBd3NTdGFjay5vZkF3c0NvbnN0cnVjdChzY29wZSk7XG4gICAgY29uc3QgdG9waWNOYW1lID0gc3RhY2suc3BsaXRBcm4oXG4gICAgICBhdHRycy50b3BpY0FybixcbiAgICAgIEFybkZvcm1hdC5OT19SRVNPVVJDRV9OQU1FLFxuICAgICkucmVzb3VyY2U7XG4gICAgY29uc3QgZmlmbyA9IHRvcGljTmFtZS5lbmRzV2l0aChcIi5maWZvXCIpO1xuXG4gICAgaWYgKGF0dHJzLmNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24gJiYgIWZpZm8pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJDYW5ub3QgaW1wb3J0IHRvcGljOyBjb250ZW50QmFzZWREZWR1cGxpY2F0aW9uIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBGSUZPIFNOUyB0b3BpY3MuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFRvcGljQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgdG9waWNBcm4gPSBhdHRycy50b3BpY0FybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSB0b3BpY05hbWUgPSB0b3BpY05hbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgbWFzdGVyS2V5ID0gYXR0cnMua2V5QXJuXG4gICAgICAgID8gZW5jcnlwdGlvbi5LZXkuZnJvbUtleUFybih0aGlzLCBcIktleVwiLCBhdHRycy5rZXlBcm4pXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGZpZm8gPSBmaWZvO1xuICAgICAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24gPVxuICAgICAgICBhdHRycy5jb250ZW50QmFzZWREZWR1cGxpY2F0aW9uIHx8IGZhbHNlO1xuICAgICAgcHJvdGVjdGVkIGF1dG9DcmVhdGVQb2xpY3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQsIHtcbiAgICAgIGVudmlyb25tZW50RnJvbUFybjogYXR0cnMudG9waWNBcm4sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgdG9waWNBcm46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRvcGljTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWFzdGVyS2V5PzogZW5jcnlwdGlvbi5JS2V5O1xuICBwdWJsaWMgcmVhZG9ubHkgY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbjogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IGZpZm86IGJvb2xlYW47XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGF1dG9DcmVhdGVQb2xpY3k6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IHNuc1RvcGljLlNuc1RvcGljO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBUb3BpY1Byb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMuZW5mb3JjZVNTTCA9IHByb3BzLmVuZm9yY2VTU0w7XG5cbiAgICBpZiAocHJvcHMuY29udGVudEJhc2VkRGVkdXBsaWNhdGlvbiAmJiAhcHJvcHMuZmlmbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNvbnRlbnQgYmFzZWQgZGVkdXBsaWNhdGlvbiBjYW4gb25seSBiZSBlbmFibGVkIGZvciBGSUZPIFNOUyB0b3BpY3MuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAocHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5cyAmJiAhcHJvcHMuZmlmbykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImBtZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzYCBpcyBvbmx5IHZhbGlkIGZvciBGSUZPIFNOUyB0b3BpY3MuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBUT0RPOiBmaWZvVGhyb3VnaHB1dFNjb3BlIHZhbGlkYXRpb24gcmVtb3ZlZCBhcyBwcm9wZXJ0eSBpcyBub3Qgc3VwcG9ydGVkXG4gICAgLy8gaWYgKHByb3BzLmZpZm9UaHJvdWdocHV0U2NvcGUgJiYgIXByb3BzLmZpZm8pIHtcbiAgICAvLyAgIHRocm93IG5ldyBFcnJvcignYGZpZm9UaHJvdWdocHV0U2NvcGVgIGNhbiBvbmx5IGJlIHNldCBmb3IgRklGTyBTTlMgdG9waWNzLicpO1xuICAgIC8vIH1cbiAgICBpZiAoXG4gICAgICBwcm9wcy5tZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICFUb2tlbi5pc1VucmVzb2x2ZWQocHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5cykgJiZcbiAgICAgICghTnVtYmVyLmlzSW50ZWdlcihwcm9wcy5tZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzKSB8fFxuICAgICAgICBwcm9wcy5tZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzID4gMzY1IHx8XG4gICAgICAgIHByb3BzLm1lc3NhZ2VSZXRlbnRpb25QZXJpb2RJbkRheXMgPCAxKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImBtZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzYCBtdXN0IGJlIGFuIGludGVnZXIgYmV0d2VlbiAxIGFuZCAzNjVcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IHRvcGljTmFtZSA9IHByb3BzLnRvcGljTmFtZTtcbiAgICBpZiAocHJvcHMuZmlmbyAmJiBwcm9wcy50b3BpY05hbWUgJiYgIXByb3BzLnRvcGljTmFtZS5lbmRzV2l0aChcIi5maWZvXCIpKSB7XG4gICAgICB0b3BpY05hbWUgPSBwcm9wcy50b3BpY05hbWUgKyBcIi5maWZvXCI7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5maWZvICYmICFwcm9wcy50b3BpY05hbWUpIHtcbiAgICAgIC8vIE1heCBsZW5ndGggYWxsb3dlZCBieSBDbG91ZEZvcm1hdGlvbiBpcyAyNTYsIHdlIHN1YnRyYWN0IDUgdG8gYWxsb3cgZm9yIFwiLmZpZm9cIiBzdWZmaXhcbiAgICAgIGNvbnN0IHByZWZpeE5hbWUgPSB0aGlzLnN0YWNrLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7XG4gICAgICAgIG1heExlbmd0aDogMjU2IC0gNSxcbiAgICAgICAgc2VwYXJhdG9yOiBcIi1cIixcbiAgICAgIH0pO1xuICAgICAgdG9waWNOYW1lID0gYCR7cHJlZml4TmFtZX0uZmlmb2A7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcHMuc2lnbmF0dXJlVmVyc2lvbiAmJlxuICAgICAgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5zaWduYXR1cmVWZXJzaW9uKSAmJlxuICAgICAgcHJvcHMuc2lnbmF0dXJlVmVyc2lvbiAhPT0gXCIxXCIgJiZcbiAgICAgIHByb3BzLnNpZ25hdHVyZVZlcnNpb24gIT09IFwiMlwiXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBzaWduYXR1cmVWZXJzaW9uIG11c3QgYmUgXCIxXCIgb3IgXCIyXCIsIHJlY2VpdmVkOiBcIiR7cHJvcHMuc2lnbmF0dXJlVmVyc2lvbn1cImAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHByb3BzLmRpc3BsYXlOYW1lICYmXG4gICAgICAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmRpc3BsYXlOYW1lKSAmJlxuICAgICAgcHJvcHMuZGlzcGxheU5hbWUubGVuZ3RoID4gMTAwXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBkaXNwbGF5TmFtZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAxMDAgY2hhcmFjdGVycywgZ290ICR7cHJvcHMuZGlzcGxheU5hbWUubGVuZ3RofWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgc25zVG9waWMuU25zVG9waWModGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBuYW1lOiB0b3BpY05hbWUsXG4gICAgICBkaXNwbGF5TmFtZTogcHJvcHMuZGlzcGxheU5hbWUsXG4gICAgICBrbXNNYXN0ZXJLZXlJZDogcHJvcHMubWFzdGVyS2V5Py5rZXlBcm4sXG4gICAgICBjb250ZW50QmFzZWREZWR1cGxpY2F0aW9uOiBwcm9wcy5jb250ZW50QmFzZWREZWR1cGxpY2F0aW9uLFxuICAgICAgZmlmb1RvcGljOiBwcm9wcy5maWZvLFxuICAgICAgc2lnbmF0dXJlVmVyc2lvbjogcHJvcHMuc2lnbmF0dXJlVmVyc2lvblxuICAgICAgICA/IHBhcnNlSW50KHByb3BzLnNpZ25hdHVyZVZlcnNpb24sIDEwKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIHRyYWNpbmdDb25maWc6IHByb3BzLnRyYWNpbmdDb25maWcsXG4gICAgICBhcmNoaXZlUG9saWN5OiBwcm9wcy5tZXNzYWdlUmV0ZW50aW9uUGVyaW9kSW5EYXlzXG4gICAgICAgID8gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgTWVzc2FnZVJldGVudGlvblBlcmlvZDogcHJvcHMubWVzc2FnZVJldGVudGlvblBlcmlvZEluRGF5cyxcbiAgICAgICAgICB9KVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIC8vIFRPRE86IGZpZm9UaHJvdWdocHV0U2NvcGUgaXMgbm90IHN1cHBvcnRlZCBpbiBUZXJyYWZvcm0gYXMgb2YgcHJvdmlkZXIgdjUuOTMuMFxuICAgIH0pO1xuXG4gICAgLy8gYWRkIGxvZ2dpbmcgY29uZmlnIG92ZXJyaWRlc1xuICAgIGlmIChwcm9wcy5sb2dnaW5nQ29uZmlncykge1xuICAgICAgcHJvcHMubG9nZ2luZ0NvbmZpZ3MuZm9yRWFjaCgoYykgPT4gdGhpcy5hZGRMb2dnaW5nQ29uZmlnKGMpKTtcbiAgICB9XG5cbiAgICB0aGlzLnRvcGljQXJuID0gdGhpcy5yZXNvdXJjZS5hcm47XG4gICAgdGhpcy50b3BpY05hbWUgPSB0aGlzLnJlc291cmNlLm5hbWU7XG4gICAgdGhpcy5tYXN0ZXJLZXkgPSBwcm9wcy5tYXN0ZXJLZXk7XG4gICAgdGhpcy5maWZvID0gcHJvcHMuZmlmbyB8fCBmYWxzZTtcbiAgICB0aGlzLmNvbnRlbnRCYXNlZERlZHVwbGljYXRpb24gPSBwcm9wcy5jb250ZW50QmFzZWREZWR1cGxpY2F0aW9uIHx8IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuZW5mb3JjZVNTTCkge1xuICAgICAgdGhpcy5hZGRTU0xQb2xpY3koKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGRlbGl2ZXJ5IHN0YXR1cyBsb2dnaW5nIGNvbmZpZ3VyYXRpb24gdG8gdGhlIHRvcGljLlxuICAgKi9cbiAgcHVibGljIGFkZExvZ2dpbmdDb25maWcoY29uZmlnOiBMb2dnaW5nQ29uZmlnKSB7XG4gICAgaWYgKGNvbmZpZy5zdWNjZXNzRmVlZGJhY2tTYW1wbGVSYXRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHJhdGUgPSBjb25maWcuc3VjY2Vzc0ZlZWRiYWNrU2FtcGxlUmF0ZTtcbiAgICAgIGlmICghTnVtYmVyLmlzSW50ZWdlcihyYXRlKSB8fCByYXRlIDwgMCB8fCByYXRlID4gMTAwKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIlN1Y2Nlc3MgZmVlZGJhY2sgc2FtcGxlIHJhdGUgbXVzdCBiZSBhbiBpbnRlZ2VyIGJldHdlZW4gMCBhbmQgMTAwXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5mYWlsdXJlRmVlZGJhY2tSb2xlKSB7XG4gICAgICB0aGlzLnJlc291cmNlLmFkZE92ZXJyaWRlKFxuICAgICAgICBgJHtjb25maWcucHJvdG9jb2x9X2ZhaWx1cmVfZmVlZGJhY2tfcm9sZV9hcm5gLFxuICAgICAgICBjb25maWcuZmFpbHVyZUZlZWRiYWNrUm9sZS5yb2xlQXJuLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnN1Y2Nlc3NGZWVkYmFja1JvbGUpIHtcbiAgICAgIHRoaXMucmVzb3VyY2UuYWRkT3ZlcnJpZGUoXG4gICAgICAgIGAke2NvbmZpZy5wcm90b2NvbH1fc3VjY2Vzc19mZWVkYmFja19yb2xlX2FybmAsXG4gICAgICAgIGNvbmZpZy5zdWNjZXNzRmVlZGJhY2tSb2xlLnJvbGVBcm4sXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuc3VjY2Vzc0ZlZWRiYWNrU2FtcGxlUmF0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnJlc291cmNlLmFkZE92ZXJyaWRlKFxuICAgICAgICBgJHtjb25maWcucHJvdG9jb2x9X3N1Y2Nlc3NfZmVlZGJhY2tfc2FtcGxlX3JhdGVgLFxuICAgICAgICBjb25maWcuc3VjY2Vzc0ZlZWRiYWNrU2FtcGxlUmF0ZS50b1N0cmluZygpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBJQU0gcG9saWN5IHN0YXRlbWVudCB0byBlbmZvcmNlIHRoZSB1c2Ugb2YgVExTIGZvciBwdWJsaXNoaW5nIHRvIHRoaXMgdG9waWMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3Nucy9sYXRlc3QvZGcvc25zLXNlY3VyaXR5LWJlc3QtcHJhY3RpY2VzLmh0bWwjZW5mb3JjZS1lbmNyeXB0aW9uLWRhdGEtaW4tdHJhbnNpdFxuICAgKi9cbiAgcHJvdGVjdGVkIGFkZFNTTFBvbGljeSgpOiB2b2lkIHtcbiAgICB0aGlzLmFkZFRvUmVzb3VyY2VQb2xpY3koXG4gICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIHNpZDogXCJFbmZvcmNlUHVibGlzaFNTTFwiLFxuICAgICAgICBhY3Rpb25zOiBbXCJzbnM6UHVibGlzaFwiXSxcbiAgICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkRFTlksXG4gICAgICAgIHJlc291cmNlczogW3RoaXMudG9waWNBcm5dLFxuICAgICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5BbnlQcmluY2lwYWwoKV0sXG4gICAgICAgIGNvbmRpdGlvbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRlc3Q6IFwiQm9vbFwiLFxuICAgICAgICAgICAgdmFyaWFibGU6IFwiYXdzOlNlY3VyZVRyYW5zcG9ydFwiLFxuICAgICAgICAgICAgdmFsdWVzOiBbXCJmYWxzZVwiXSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -165,5 +165,5 @@ class BucketNotifications extends aws_construct_1.AwsConstructBase {
165
165
  }
166
166
  exports.BucketNotifications = BucketNotifications;
167
167
  _a = JSII_RTTI_SYMBOL_1;
168
- BucketNotifications[_a] = { fqn: "terraconstructs.aws.storage.BucketNotifications", version: "0.0.19" };
168
+ BucketNotifications[_a] = { fqn: "terraconstructs.aws.storage.BucketNotifications", version: "0.0.20" };
169
169
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LW5vdGlmaWNhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL3N0b3JhZ2UvYnVja2V0LW5vdGlmaWNhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBMkQ7QUFDM0QsaUNBQTZCO0FBRTdCLG9EQUF1RTtBQUV2RSw2REFHOEI7QUFTOUI7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxNQUFhLG1CQUFvQixTQUFRLGdDQUFnQjtJQUV2RCxJQUFXLE9BQU87UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBV0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF5QjtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBVlgsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHdCQUFtQixHQUNsQyxJQUFJLEtBQUssRUFBMkQsQ0FBQztRQUN0RCx1QkFBa0IsR0FDakMsSUFBSSxLQUFLLEVBQWtELENBQUM7UUFDN0MsdUJBQWtCLEdBQ2pDLElBQUksS0FBSyxFQUFrRCxDQUFDO1FBSzVELElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUM3QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGVBQWUsQ0FDcEIsS0FBZ0IsRUFDaEIsTUFBc0MsRUFDdEMsR0FBRyxPQUFnQztRQUVuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQyxpRkFBaUY7UUFDakYseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6QixLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzdCLDBDQUEwQztZQUMxQyxxQkFBcUI7WUFDckIscUVBQXFFO1lBQ3JFLE9BQU87WUFDUCxJQUFJO1lBQ0osdUJBQXVCO1lBQ3ZCLHFCQUFxQjtZQUNyQix1QkFBdUI7WUFDdkIsaUVBQWlFO1lBQ2pFLFNB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WUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDbkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQzt3QkFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNoQyxtQ0FBb0IsQ0FBQyxvQ0FBb0MsQ0FDdkQsQ0FBQyxDQUNGLENBQ0Y7d0JBQ0gsQ0FBQyxDQUFDLFNBQVM7aUJBQ2hCLENBQUM7Z0JBQ0YsS0FBSyxFQUFFLFlBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ25CLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FDWixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUM7d0JBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDaEMsbUNBQW9CLENBQUMsb0NBQW9DLENBQ3ZELENBQUMsQ0FDRixDQUNGO3dCQUNILENBQUMsQ0FBQyxTQUFTO2lCQUNoQixDQUFDO2FBQ0gsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVc7UUFDaEIsd0VBQXdFO1FBQ3hFLDRGQUE0RjtRQUM1RixrREFBa0Q7UUFDbEQscUhBQXFIO1FBQ3JILGtHQUFrRztRQUNsRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztBQXBMSCxrREFxTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzM0J1Y2tldE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBMYXp5IH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQXdzQ29uc3RydWN0QmFzZSwgQXdzQ29uc3RydWN0UHJvcHMgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgSUJ1Y2tldCwgRXZlbnRUeXBlLCBOb3RpZmljYXRpb25LZXlGaWx0ZXIgfSBmcm9tIFwiLi9idWNrZXRcIjtcbmltcG9ydCB7XG4gIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZSxcbiAgSUJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uLFxufSBmcm9tIFwiLi9idWNrZXQtZGVzdGluYXRpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25zUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHRvIG1hbmFnZSBub3RpZmljYXRpb25zIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcbn1cblxuLyoqXG4gKiBBIGN1c3RvbSBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSB0aGF0IHVwZGF0ZXMgYnVja2V0IG5vdGlmaWNhdGlvbnMgZm9yIGFcbiAqIGJ1Y2tldC4gVGhlIHJlYXNvbiB3ZSBuZWVkIGl0IGlzIGJlY2F1c2UgdGhlIEFXUzo6UzM6OkJ1Y2tldCBub3RpZmljYXRpb25cbiAqIGNvbmZpZ3VyYXRpb24gaXMgZGVmaW5lZCBvbiB0aGUgYnVja2V0IGl0c2VsZiwgd2hpY2ggbWFrZXMgaXQgaW1wb3NzaWJsZSB0b1xuICogcHJvdmlzaW9uIG5vdGlmaWNhdGlvbnMgYXQgdGhlIHNhbWUgdGltZSBhcyB0aGUgdGFyZ2V0IChzaW5jZVxuICogUHV0QnVja2V0Tm90aWZpY2F0aW9ucyB2YWxpZGF0ZXMgdGhlIHRhcmdldHMpLlxuICpcbiAqIFNpbmNlIG9ubHkgYSBzaW5nbGUgQnVja2V0Tm90aWZpY2F0aW9ucyByZXNvdXJjZSBpcyBhbGxvd2VkIGZvciBlYWNoIEJ1Y2tldCxcbiAqIHRoaXMgY29uc3RydWN0IGlzIG5vdCBleHBvcnRlZCBpbiB0aGUgcHVibGljIEFQSSBvZiB0aGlzIG1vZHVsZS4gSW5zdGVhZCwgaXRcbiAqIGlzIGNyZWF0ZWQganVzdC1pbi10aW1lIGJ5IGBzMy5CdWNrZXQub25FdmVudGAsIHNvIGEgMToxIHJlbGF0aW9uc2hpcCBpc1xuICogZW5zdXJlZC5cbiAqXG4gKiBAc2VlXG4gKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1zMy1idWNrZXQtbm90aWZpY2F0aW9uY29uZmlnLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldE5vdGlmaWNhdGlvbnMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlIHtcbiAgcHVibGljIHJlc291cmNlPzogczNCdWNrZXROb3RpZmljYXRpb24uUzNCdWNrZXROb3RpZmljYXRpb247XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIGV2ZW50QnJpZGdlRW5hYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGxhbWJkYU5vdGlmaWNhdGlvbnMgPVxuICAgIG5ldyBBcnJheTxzM0J1Y2tldE5vdGlmaWNhdGlvbi5TM0J1Y2tldE5vdGlmaWNhdGlvbkxhbWJkYUZ1bmN0aW9uPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHF1ZXVlTm90aWZpY2F0aW9ucyA9XG4gICAgbmV3IEFycmF5PHMzQnVja2V0Tm90aWZpY2F0aW9uLlMzQnVja2V0Tm90aWZpY2F0aW9uUXVldWU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9waWNOb3RpZmljYXRpb25zID1cbiAgICBuZXcgQXJyYXk8czNCdWNrZXROb3RpZmljYXRpb24uUzNCdWNrZXROb3RpZmljYXRpb25Ub3BpYz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5vdGlmaWNhdGlvbnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5idWNrZXQgPSBwcm9wcy5idWNrZXQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG5vdGlmaWNhdGlvbiBzdWJzY3JpcHRpb24gZm9yIHRoaXMgYnVja2V0LlxuICAgKiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBub3RpZmljYXRpb24sIGEgQnVja2V0Tm90aWZpY2F0aW9uIHJlc291cmNlIGlzIGFkZGVkIHRvIHRoZSBzdGFjay5cbiAgICpcbiAgICogQHBhcmFtIGV2ZW50IFRoZSB0eXBlIG9mIGV2ZW50XG4gICAqIEBwYXJhbSB0YXJnZXQgVGhlIHRhcmdldCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGZpbHRlcnMgQSBzZXQgb2YgUzMga2V5IGZpbHRlcnNcbiAgICovXG4gIHB1YmxpYyBhZGROb3RpZmljYXRpb24oXG4gICAgZXZlbnQ6IEV2ZW50VHlwZSxcbiAgICB0YXJnZXQ6IElCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvbixcbiAgICAuLi5maWx0ZXJzOiBOb3RpZmljYXRpb25LZXlGaWx0ZXJbXVxuICApIHtcbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuY3JlYXRlUmVzb3VyY2VPbmNlKCk7XG4gICAgLy8gVE9ETzogU2VlbXMgVGVycmFmb3JtIHByb3ZpZGVyIGRvZXMgbm90IGhhdmUgbGltaXRhdGlvbnMgb24gcHJlZml4IGFuZCBzdWZmaXg/XG4gICAgLy8gbGV0IGhhc1ByZWZpeCA9IGZhbHNlO1xuICAgIC8vIGxldCBoYXNTdWZmaXggPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGZpbHRlciBvZiBmaWx0ZXJzKSB7XG4gICAgICAvLyBpZiAoIWZpbHRlci5zdWZmaXggJiYgIWZpbHRlci5wcmVmaXgpIHtcbiAgICAgIC8vICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgLy8gICAgIFwiTm90aWZpY2F0aW9uS2V5RmlsdGVyIG11c3Qgc3BlY2lmeSBgcHJlZml4YCBhbmQvb3IgYHN1ZmZpeGBcIixcbiAgICAgIC8vICAgKTtcbiAgICAgIC8vIH1cbiAgICAgIC8vIGlmIChmaWx0ZXIuc3VmZml4KSB7XG4gICAgICAvLyAgIGlmIChoYXNTdWZmaXgpIHtcbiAgICAgIC8vICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAvLyAgICAgICBcIkNhbm5vdCBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgc3VmZml4IHJ1bGUgaW4gYSBmaWx0ZXIuXCIsXG4gICAgICAvLyAgICAgKTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gICBoYXNTdWZmaXggPSB0cnVlO1xuICAgICAgLy8gfVxuICAgICAgLy8gaWYgKGZpbHRlci5wcmVmaXgpIHtcbiAgICAgIC8vICAgaWYgKGhhc1ByZWZpeCkge1xuICAgICAgLy8gICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIC8vICAgICAgIFwiQ2Fubm90IHNwZWNpZnkgbW9yZSB0aGFuIG9uZSBwcmVmaXggcnVsZSBpbiBhIGZpbHRlci5cIixcbiAgICAgIC8vICAgICApO1xuICAgICAgLy8gICB9XG4gICAgICAvLyAgIGhhc1ByZWZpeCA9IHRydWU7XG4gICAgICAvLyB9XG4gICAgICAvLyByZXNvbHZlIHRhcmdldC4gdGhpcyBhbHNvIHByb3ZpZGVzIGFuIG9wcG9ydHVuaXR5IGZvciB0aGUgdGFyZ2V0IHRvIGUuZy4gdXBkYXRlXG4gICAgICAvLyBwb2xpY2llcyB0byBhbGxvdyB0aGlzIG5vdGlmaWNhdGlvbiB0byBoYXBwZW4uXG4gICAgICBjb25zdCB0YXJnZXRQcm9wcyA9IHRhcmdldC5iaW5kKHRoaXMsIHRoaXMuYnVja2V0KTtcbiAgICAgIGNvbnN0IGNvbW1vbkNvbmZpZzogQ29tbW9uQ29uZmlndXJhdGlvbiA9IHtcbiAgICAgICAgZXZlbnRzOiBbZXZlbnRdLFxuICAgICAgICBpZDogZmlsdGVyLmlkLFxuICAgICAgICBmaWx0ZXJQcmVmaXg6IGZpbHRlci5wcmVmaXgsXG4gICAgICAgIGZpbHRlclN1ZmZpeDogZmlsdGVyLnN1ZmZpeCxcbiAgICAgIH07XG5cbiAgICAgIC8vIGlmIHRoZSB0YXJnZXQgc3BlY2lmaWVzIGFueSBkZXBlbmRlbmNpZXMsIGFkZCB0aGVtIGhlcmUuXG4gICAgICAvLyBmb3IgZXhhbXBsZSwgdGhlIFNOUyB0b3BpYyBwb2xpY3kgbXVzdCBiZSBjcmVhdGVkIC9iZWZvcmUvIHRoZSBub3RpZmljYXRpb24gcmVzb3VyY2UuXG4gICAgICAvLyBvdGhlcndpc2UsIFMzIHdvbid0IGJlIGFibGUgdG8gY29uZmlybSB0aGUgc3Vic2NyaXB0aW9uLlxuICAgICAgaWYgKHRhcmdldFByb3BzLmRlcGVuZGVuY2llcykge1xuICAgICAgICByZXNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3koLi4udGFyZ2V0UHJvcHMuZGVwZW5kZW5jaWVzKTtcbiAgICAgIH1cblxuICAgICAgLy8gYmFzZWQgb24gdGhlIHRhcmdldCB0eXBlLCBhZGQgdGhlIHRoZSBjb3JyZWN0IGNvbmZpZ3VyYXRpb25zIGFycmF5XG4gICAgICBzd2l0Y2ggKHRhcmdldFByb3BzLnR5cGUpIHtcbiAgICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuTEFNQkRBOlxuICAgICAgICAgIHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIC4uLmNvbW1vbkNvbmZpZyxcbiAgICAgICAgICAgIGxhbWJkYUZ1bmN0aW9uQXJuOiB0YXJnZXRQcm9wcy5hcm4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBCdWNrZXROb3RpZmljYXRpb25EZXN0aW5hdGlvblR5cGUuUVVFVUU6XG4gICAgICAgICAgdGhpcy5xdWV1ZU5vdGlmaWNhdGlvbnMucHVzaCh7XG4gICAgICAgICAgICAuLi5jb21tb25Db25maWcsXG4gICAgICAgICAgICBxdWV1ZUFybjogdGFyZ2V0UHJvcHMuYXJuLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIC8vIFRPRE86IHJlLWFkZCBTTlMgc3VwcG9ydFxuICAgICAgICBjYXNlIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZS5UT1BJQzpcbiAgICAgICAgICB0aGlzLnRvcGljTm90aWZpY2F0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIC4uLmNvbW1vbkNvbmZpZyxcbiAgICAgICAgICAgIHRvcGljQXJuOiB0YXJnZXRQcm9wcy5hcm4sXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBcIlVuc3VwcG9ydGVkIG5vdGlmaWNhdGlvbiB0YXJnZXQgdHlwZTpcIiArXG4gICAgICAgICAgICAgIEJ1Y2tldE5vdGlmaWNhdGlvbkRlc3RpbmF0aW9uVHlwZVt0YXJnZXRQcm9wcy50eXBlXSxcbiAgICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbmFibGVFdmVudEJyaWRnZU5vdGlmaWNhdGlvbigpIHtcbiAgICB0aGlzLmNyZWF0ZVJlc291cmNlT25jZSgpO1xuICAgIHRoaXMuZXZlbnRCcmlkZ2VFbmFibGVkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRoZSBidWNrZXQgbm90aWZpY2F0aW9ucyByZXNvdXJjZXMgaW4gdGhlIHN0YWNrIG9ubHkgb25jZS5cbiAgICogVGhpcyBpcyBjYWxsZWQgbGF6aWx5IGFzIHdlIGFkZCBub3RpZmljYXRpb25zLCBzbyB0aGF0IGlmIG5vdGlmaWNhdGlvbnMgYXJlIG5vdCBhZGRlZCxcbiAgICogdGhlcmUgaXMgbm8gbm90aWZpY2F0aW9ucyByZXNvdXJjZS5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlUmVzb3VyY2VPbmNlKCkge1xuICAgIGlmICghdGhpcy5yZXNvdXJjZSkge1xuICAgICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBzM0J1Y2tldE5vdGlmaWNhdGlvbi5TM0J1Y2tldE5vdGlmaWNhdGlvbihcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJSZXNvdXJjZVwiLFxuICAgICAgICB7XG4gICAgICAgICAgYnVja2V0OiB0aGlzLmJ1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgIGV2ZW50YnJpZGdlOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+IHRoaXMuZXZlbnRCcmlkZ2VFbmFibGVkLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGxhbWJkYUZ1bmN0aW9uOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+XG4gICAgICAgICAgICAgIHRoaXMubGFtYmRhTm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLmxhbWJkYU5vdGlmaWNhdGlvbnMubWFwKChsKSA9PlxuICAgICAgICAgICAgICAgICAgICBzM0J1Y2tldE5vdGlmaWNhdGlvbi5zM0J1Y2tldE5vdGlmaWNhdGlvbkxhbWJkYUZ1bmN0aW9uVG9UZXJyYWZvcm0oXG4gICAgICAgICAgICAgICAgICAgICAgbCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBxdWV1ZTogTGF6eS5hbnlWYWx1ZSh7XG4gICAgICAgICAgICBwcm9kdWNlOiAoKSA9PlxuICAgICAgICAgICAgICB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgPyB0aGlzLnF1ZXVlTm90aWZpY2F0aW9ucy5tYXAoKHEpID0+XG4gICAgICAgICAgICAgICAgICAgIHMzQnVja2V0Tm90aWZpY2F0aW9uLnMzQnVja2V0Tm90aWZpY2F0aW9uUXVldWVUb1RlcnJhZm9ybShcbiAgICAgICAgICAgICAgICAgICAgICBxLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRvcGljOiBMYXp5LmFueVZhbHVlKHtcbiAgICAgICAgICAgIHByb2R1Y2U6ICgpID0+XG4gICAgICAgICAgICAgIHRoaXMudG9waWNOb3RpZmljYXRpb25zLmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgICA/IHRoaXMudG9waWNOb3RpZmljYXRpb25zLm1hcCgodCkgPT5cbiAgICAgICAgICAgICAgICAgICAgczNCdWNrZXROb3RpZmljYXRpb24uczNCdWNrZXROb3RpZmljYXRpb25Ub3BpY1RvVGVycmFmb3JtKFxuICAgICAgICAgICAgICAgICAgICAgIHQsXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXNvdXJjZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHJlc291cmNlIHRvIHRoZSBUZXJyYWZvcm0gSlNPTiBvdXRwdXQgYXQgU3ludGggdGltZS5cbiAgICpcbiAgICogY2FsbGVkIGJ5IFRlcnJhZm9ybVN0YWNrLnByZXBhcmVTdGFjaygpXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICAvLyBBZGQgZGVwZW5kZW5jeSBvbiBidWNrZXQgcG9saWN5IGlmIGl0IGV4aXN0cyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnNcbiAgICAvLyBTMyBkb2VzIG5vdCBhbGxvdyBjYWxsaW5nIFB1dEJ1Y2tldFBvbGljeSBhbmQgUHV0QnVja2V0Tm90aWZpY2F0aW9uIEFQSXMgYXQgdGhlIHNhbWUgdGltZVxuICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzI3NjAwXG4gICAgLy8gcHJlcGFyZVN0YWNrIGFyZSB1c2VkIGhlcmUgYmVjYXVzZSBidWNrZXQgcG9saWN5IG1heWJlIGFkZGVkIHRvIGNvbnN0cnVjdCBhZnRlciBhZGRpdGlvbiBvZiBub3RpZmljYXRpb24gcmVzb3VyY2UuXG4gICAgLy8gYnV0IHdlIG5lZWQgdGhpcyBkZWZpbmVkIGJlZm9yZSBzdGFjayBBc3BlY3QgbWFwcyBjb25zdHJ1Y3QgZGVwZW5kZW5jaWVzIHRvIFRlcnJhZm9ybSBkZXBlbmRzT25cbiAgICBpZiAodGhpcy5idWNrZXQucG9saWN5KSB7XG4gICAgICB0aGlzLm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLmJ1Y2tldC5wb2xpY3kpO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuaW50ZXJmYWNlIENvbW1vbkNvbmZpZ3VyYXRpb24ge1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9yZXNvdXJjZXMvczNfYnVja2V0X25vdGlmaWNhdGlvbiNpZCBTM0J1Y2tldE5vdGlmaWNhdGlvbiNpZH1cbiAgICpcbiAgICogUGxlYXNlIGJlIGF3YXJlIHRoYXQgdGhlIGlkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWxsIHJlc291cmNlcyBpbiBUZXJyYWZvcm0gcHJvdmlkZXJzIHVzaW5nIGEgVGVycmFmb3JtIHByb3ZpZGVyIFNESyB2ZXJzaW9uIGJlbG93IDIuXG4gICAqIElmIHlvdSBleHBlcmllbmNlIHByb2JsZW1zIHNldHRpbmcgdGhpcyB2YWx1ZSBpdCBtaWdodCBub3QgYmUgc2V0dGFibGUuIFBsZWFzZSB0YWtlIGEgbG9vayBhdCB0aGUgcHJvdmlkZXIgZG9jdW1lbnRhdGlvbiB0byBlbnN1cmUgaXQgc2hvdWxkIGJlIHNldHRhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV2ZW50czogc3RyaW5nW107XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9zM19idWNrZXRfbm90aWZpY2F0aW9uI2ZpbHRlcl9wcmVmaXggUzNCdWNrZXROb3RpZmljYXRpb24jZmlsdGVyX3ByZWZpeH1cbiAgICovXG4gIHJlYWRvbmx5IGZpbHRlclByZWZpeD86IHN0cmluZztcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvcmVzb3VyY2VzL3MzX2J1Y2tldF9ub3RpZmljYXRpb24jZmlsdGVyX3N1ZmZpeCBTM0J1Y2tldE5vdGlmaWNhdGlvbiNmaWx0ZXJfc3VmZml4fVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVyU3VmZml4Pzogc3RyaW5nO1xufVxuIl19
@@ -49,5 +49,5 @@ class BucketPolicy extends aws_construct_1.AwsConstructBase {
49
49
  }
50
50
  exports.BucketPolicy = BucketPolicy;
51
51
  _a = JSII_RTTI_SYMBOL_1;
52
- BucketPolicy[_a] = { fqn: "terraconstructs.aws.storage.BucketPolicy", version: "0.0.19" };
52
+ BucketPolicy[_a] = { fqn: "terraconstructs.aws.storage.BucketPolicy", version: "0.0.20" };
53
53
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXBvbGljeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS9idWNrZXQtcG9saWN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0RBQXFEO0FBRXJELG9EQUF1RTtBQUV2RSxnQ0FBd0M7QUFTeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsZ0NBQWdCO0lBR2hELElBQVcsT0FBTztRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFZRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksNkJBQWMsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNsRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVO1lBQzlCLE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUEzQkgsb0NBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgczNCdWNrZXRQb2xpY3kgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdFByb3BzLCBBd3NDb25zdHJ1Y3RCYXNlIH0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7IElCdWNrZXQgfSBmcm9tIFwiLi9idWNrZXRcIjtcbmltcG9ydCB7IFBvbGljeURvY3VtZW50IH0gZnJvbSBcIi4uL2lhbVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFBvbGljeVByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIEFtYXpvbiBTMyBidWNrZXQgdGhhdCB0aGUgcG9saWN5IGFwcGxpZXMgdG8uXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG59XG5cbi8qKlxuICogVGhlIGJ1Y2tldCBwb2xpY3kgZm9yIGFuIEFtYXpvbiBTMyBidWNrZXRcbiAqXG4gKiBQb2xpY2llcyBkZWZpbmUgdGhlIG9wZXJhdGlvbnMgdGhhdCBhcmUgYWxsb3dlZCBvbiB0aGlzIHJlc291cmNlLlxuICpcbiAqIFlvdSBhbG1vc3QgbmV2ZXIgbmVlZCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QgZGlyZWN0bHkuXG4gKlxuICogQWxsIEFXUyByZXNvdXJjZXMgdGhhdCBzdXBwb3J0IHJlc291cmNlIHBvbGljaWVzIGhhdmUgYSBtZXRob2QgY2FsbGVkXG4gKiBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCwgd2hpY2ggd2lsbCBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBhIG5ldyByZXNvdXJjZVxuICogcG9saWN5IGlmIG9uZSBkb2Vzbid0IGV4aXN0IHlldCwgb3RoZXJ3aXNlIGl0IHdpbGwgYWRkIHRvIHRoZSBleGlzdGluZ1xuICogcG9saWN5LlxuICpcbiAqIFRoZSBidWNrZXQgcG9saWN5IG1ldGhvZCBpcyBpbXBsZW1lbnRlZCBkaWZmZXJlbnRseSB0aGFuIGBhZGRUb1Jlc291cmNlUG9saWN5KClgXG4gKiBhcyBgQnVja2V0UG9saWN5KClgIGNyZWF0ZXMgYSBuZXcgcG9saWN5IHdpdGhvdXQga25vd2luZyBvbmUgZWFybGllciBleGlzdGVkLlxuICogZS5nLiBpZiBkdXJpbmcgQnVja2V0IGNyZWF0aW9uLCBpZiBgYXV0b0RlbGV0ZU9iamVjdDp0cnVlYCwgdGhlc2UgcG9saWNpZXMgYXJlXG4gKiBhZGRlZCB0byB0aGUgYnVja2V0IHBvbGljeTpcbiAqICAgIFtcInMzOkRlbGV0ZU9iamVjdCpcIiwgXCJzMzpHZXRCdWNrZXQqXCIsIFwiczM6TGlzdCpcIiwgXCJzMzpQdXRCdWNrZXRQb2xpY3lcIl0sXG4gKiBhbmQgd2hlbiB5b3UgYWRkIGEgbmV3IEJ1Y2tldFBvbGljeSB3aXRoIFtcInMzOkdldE9iamVjdFwiLCBcInMzOkxpc3RCdWNrZXRcIl0gb25cbiAqIHRoaXMgZXhpc3RpbmcgYnVja2V0LCBpbnZva2luZyBgQnVja2V0UG9saWN5KClgIHdpbGwgY3JlYXRlIGEgbmV3IFBvbGljeVxuICogd2l0aG91dCBrbm93aW5nIG9uZSBlYXJsaWVyIGV4aXN0cyBhbHJlYWR5LCBzbyBpdCBjcmVhdGVzIGEgbmV3IG9uZS5cbiAqIEluIHRoaXMgY2FzZSwgdGhlIGN1c3RvbSByZXNvdXJjZSBoYW5kbGVyIHdpbGwgbm90IGhhdmUgYWNjZXNzIHRvXG4gKiBgczM6R2V0QnVja2V0VGFnZ2luZ2AgYWN0aW9uIHdoaWNoIHdpbGwgY2F1c2UgZmFpbHVyZSBkdXJpbmcgZGVsZXRpb24gb2Ygc3RhY2suXG4gKlxuICogSGVuY2UgaXRzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSBgYWRkVG9SZXNvdXJjZVBvbGljeSgpYCBtZXRob2QgdG8gYWRkXG4gKiBuZXcgcGVybWlzc2lvbnMgdG8gZXhpc3RpbmcgcG9saWN5LlxuICpcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1Y2tldFBvbGljeSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2Uge1xuICAvLyBUT0RPOiByZS1hZGQgc3RhdGljIGZyb20gTWV0aG9kXG4gIHB1YmxpYyByZWFkb25seSByZXNvdXJjZTogczNCdWNrZXRQb2xpY3kuUzNCdWNrZXRQb2xpY3k7XG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICAvKipcbiAgICogQSBwb2xpY3kgZG9jdW1lbnQgY29udGFpbmluZyBwZXJtaXNzaW9ucyB0byBhZGQgdG8gdGhlIHNwZWNpZmllZCBidWNrZXQuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgQWNjZXNzIFBvbGljeSBMYW5ndWFnZSBPdmVydmlldyBpbiB0aGUgQW1hem9uXG4gICAqIFNpbXBsZSBTdG9yYWdlIFNlcnZpY2UgRGV2ZWxvcGVyIEd1aWRlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRvY3VtZW50OiBQb2xpY3lEb2N1bWVudDtcblxuICAvKiogVGhlIEJ1Y2tldCB0aGlzIFBvbGljeSBhcHBsaWVzIHRvLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWNrZXRQb2xpY3lQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmJ1Y2tldCA9IHByb3BzLmJ1Y2tldDtcbiAgICB0aGlzLmRvY3VtZW50ID0gbmV3IFBvbGljeURvY3VtZW50KHRoaXMsIFwiUG9saWN5XCIpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBzM0J1Y2tldFBvbGljeS5TM0J1Y2tldFBvbGljeSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGJ1Y2tldDogdGhpcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIHBvbGljeTogdGhpcy5kb2N1bWVudC5qc29uLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -75,5 +75,5 @@ class BucketSource extends aws_construct_1.AwsConstructBase {
75
75
  }
76
76
  exports.BucketSource = BucketSource;
77
77
  _a = JSII_RTTI_SYMBOL_1;
78
- BucketSource[_a] = { fqn: "terraconstructs.aws.storage.BucketSource", version: "0.0.19" };
78
+ BucketSource[_a] = { fqn: "terraconstructs.aws.storage.BucketSource", version: "0.0.20" };
79
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVja2V0LXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3Mvc3RvcmFnZS9idWNrZXQtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3QixzREFBK0M7QUFDL0MsaUNBQTRFO0FBRTVFLG1DQUFtQztBQUNuQyx3QkFBMEQ7QUFDMUQsb0RBSTBCO0FBMkIxQjs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLGdDQUFnQjtJQUloRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7SUFPRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdCO1FBQ2hFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBakJWLFlBQU8sR0FBd0IsRUFBRSxDQUFDO1FBV2pDLGNBQVMsR0FBMkIsRUFBRSxDQUFDO1FBUXRELE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztRQUN2QyxpRUFBaUU7UUFFakUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUUzQixNQUFNLEtBQUssR0FBRyxJQUFJLHNCQUFjLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNsRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDdkIsSUFBSSxFQUFFLGlCQUFTLENBQUMsU0FBUztTQUMxQixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUMsSUFBSSxDQUFDLG9CQUFvQixHQUFHO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FDMUIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ1gsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRztvQkFDYixVQUFVLEVBQUUsR0FBRyxDQUFDLFVBQVU7aUJBQzNCLENBQUM7Z0JBQ0YsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLEVBQ0QsRUFBd0MsQ0FDekM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELHdEQUF3RDtJQUN4RCxxTEFBcUw7SUFDN0ssY0FBYyxDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDeEQsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDbkQsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWUsQ0FBQyxRQUFnQixFQUFFLFNBQWlCO1FBQ3pELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQzFCLElBQUksQ0FBQyxNQUFNLEVBQ1gsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUN4QyxDQUFDO1FBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBQSxhQUFVLEVBQUMsWUFBWSxDQUFDLENBQUM7UUFFekMsNEJBQTRCO1FBQzVCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLElBQUksdUJBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNqRSxHQUFHLEVBQUUsT0FBTztZQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJO1lBQ3ZDLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLFVBQVUsRUFBRSxVQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztZQUNqQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksU0FBUztZQUNuRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ2xFLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7QUFqRkgsb0NBa0ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBzM09iamVjdCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXdzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Bc3NldCwgQXNzZXRUeXBlLCBGbiwgSVRlcnJhZm9ybURlcGVuZGFibGUgfSBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyBtaW1lIGZyb20gXCJtaW1lLXR5cGVzXCI7XG5pbXBvcnQgeyBub3JtYWxQYXRoLCBJQnVja2V0LCBBZGRTb3VyY2VPcHRpb25zIH0gZnJvbSBcIi5cIjtcbmltcG9ydCB7XG4gIEF3c0NvbnN0cnVjdEJhc2UsXG4gIElBd3NDb25zdHJ1Y3QsXG4gIEF3c0NvbnN0cnVjdFByb3BzLFxufSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFNvdXJjZVByb3BzIGV4dGVuZHMgQWRkU291cmNlT3B0aW9ucywgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGFyZ2V0IGJ1Y2tldCB0byB1cGxvYWQgdG9cbiAgICovXG4gIHJlYWRvbmx5IGJ1Y2tldDogSUJ1Y2tldDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRPYmplY3RPdXRwdXQge1xuICAvKipcbiAgICogVGhlIG9iamVjdCBzb3VyY2UgSGFzaFxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlSGFzaDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1Y2tldFNvdXJjZU91dHB1dHMge1xuICAvKipcbiAgICogVGhlIG9iamVjdHMgdXBsb2FkZWQgdG8gdGhlIGJ1Y2tldCBpbmRleGVkIGJ5IGtleVxuICAgKi9cbiAgcmVhZG9ubHkgb2JqZWN0czogUmVjb3JkPHN0cmluZywgQnVja2V0T2JqZWN0T3V0cHV0Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQnVja2V0U291cmNlIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IGJ1Y2tldFNvdXJjZU91dHB1dHM6IEJ1Y2tldFNvdXJjZU91dHB1dHM7XG59XG5cbi8qKlxuICogQSBCdWNrZXQgU291cmNlIHdoaWNoIHJlYWRzIGZpbGVzIGZyb20gZGlzayBhbmQgY3JlYXRlcyB1cGxvYWRzIHRvIHMzLlxuICovXG5leHBvcnQgY2xhc3MgQnVja2V0U291cmNlIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElCdWNrZXRTb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgb2JqZWN0czogczNPYmplY3QuUzNPYmplY3RbXSA9IFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1Y2tldFNvdXJjZU91dHB1dHM6IEJ1Y2tldFNvdXJjZU91dHB1dHM7XG4gIHB1YmxpYyBnZXQgYnVja2V0U291cmNlT3V0cHV0cygpOiBCdWNrZXRTb3VyY2VPdXRwdXRzIHtcbiAgICByZXR1cm4gdGhpcy5fYnVja2V0U291cmNlT3V0cHV0cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3V0cHV0cygpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5idWNrZXRTb3VyY2VPdXRwdXRzO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXBlbmRzT246IElUZXJyYWZvcm1EZXBlbmRhYmxlW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvbHZlZFBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgcHJpdmF0ZSBfYnVja2V0OiBJQnVja2V0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBCdWNrZXRTb3VyY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgY29uc3QgeyBidWNrZXQsIHBhdGg6IHNvdXJjZVBhdGgsIHByZWZpeCB9ID0gcHJvcHM7XG5cbiAgICB0aGlzLl9idWNrZXQgPSBidWNrZXQ7XG4gICAgdGhpcy5kZXBlbmRzT24gPSBwcm9wcy5kZXBlbmRzT24gPz8gW107XG4gICAgLy8gc2hvdWxkIHdlIHN1cHBvcnQgYWJzb2x1dGUgcGF0aHM/IHBhdGguaXNBYnNvbHV0ZShwcm9wcy5wYXRoKT9cblxuICAgIHRoaXMucmVzb2x2ZWRQYXRoID0gcGF0aC5yZXNvbHZlKHNvdXJjZVBhdGgpO1xuICAgIHRoaXMucHJlZml4ID0gcHJlZml4ID8/IFwiXCI7XG5cbiAgICBjb25zdCBhc3NldCA9IG5ldyBUZXJyYWZvcm1Bc3NldCh0aGlzLCBcIlBhdGhBc3NldFwiLCB7XG4gICAgICBwYXRoOiB0aGlzLnJlc29sdmVkUGF0aCxcbiAgICAgIHR5cGU6IEFzc2V0VHlwZS5ESVJFQ1RPUlksXG4gICAgfSk7XG4gICAgdGhpcy51cGxvYWRBc3NldERpcihzb3VyY2VQYXRoLCBhc3NldC5wYXRoKTtcblxuICAgIHRoaXMuX2J1Y2tldFNvdXJjZU91dHB1dHMgPSB7XG4gICAgICBvYmplY3RzOiB0aGlzLm9iamVjdHMucmVkdWNlKFxuICAgICAgICAoYWNjLCBvYmopID0+IHtcbiAgICAgICAgICBhY2Nbb2JqLmtleV0gPSB7XG4gICAgICAgICAgICBzb3VyY2VIYXNoOiBvYmouc291cmNlSGFzaCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sXG4gICAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIEJ1Y2tldE9iamVjdE91dHB1dD4sXG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICAvLyBUT0RPOiBIYW5kbGUgZGVwbG95bWVudHMgd2l0aCBjdXN0b20gbGFtYmRhcyBpbnN0ZWFkP1xuICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi85OTQ2YWIwMzY3MmJmNjY2NGU4ZWM5NWE4MWRkYjY3YzNiYjJmNjNiL3BhY2thZ2VzLyU0MGF3cy1jZGsvY3VzdG9tLXJlc291cmNlLWhhbmRsZXJzL2xpYi9hd3MtczMtZGVwbG95bWVudC9idWNrZXQtZGVwbG95bWVudC1oYW5kbGVyL2luZGV4LnB5XG4gIHByaXZhdGUgdXBsb2FkQXNzZXREaXIoYmFzZVBhdGg6IHN0cmluZywgYXNzZXRQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmaWxlcyA9IGZzLnJlYWRkaXJTeW5jKGJhc2VQYXRoLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICBjb25zdCBiYXNlRmlsZW5hbWUgPSBwYXRoLmpvaW4oYmFzZVBhdGgsIGZpbGUubmFtZSk7XG4gICAgICBjb25zdCBhc3NldEZpbGVuYW1lID0gcGF0aC5qb2luKGFzc2V0UGF0aCwgZmlsZS5uYW1lKTtcbiAgICAgIGlmIChmaWxlLmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgICAgdGhpcy51cGxvYWRBc3NldERpcihiYXNlRmlsZW5hbWUsIGFzc2V0RmlsZW5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51cGxvYWRBc3NldEZpbGUoYmFzZUZpbGVuYW1lLCBhc3NldEZpbGVuYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwbG9hZEFzc2V0RmlsZShiYXNlUGF0aDogc3RyaW5nLCBhc3NldFBhdGg6IHN0cmluZykge1xuICAgIGxldCByZWxhdGl2ZVBhdGggPSBwYXRoLmpvaW4oXG4gICAgICB0aGlzLnByZWZpeCxcbiAgICAgIGJhc2VQYXRoLnJlcGxhY2UodGhpcy5yZXNvbHZlZFBhdGgsIFwiXCIpLFxuICAgICk7XG4gICAgY29uc3QgZmlsZUtleSA9IG5vcm1hbFBhdGgocmVsYXRpdmVQYXRoKTtcblxuICAgIC8vIGNvcHkgZnJvbSBhc3NldCBkaXJlY3RvcnlcbiAgICB0aGlzLm9iamVjdHMucHVzaChcbiAgICAgIG5ldyBzM09iamVjdC5TM09iamVjdCh0aGlzLCBgRmlsZSR7ZmlsZUtleS5yZXBsYWNlKC9cXC8vZywgXCItLVwiKX1gLCB7XG4gICAgICAgIGtleTogZmlsZUtleSxcbiAgICAgICAgYnVja2V0OiB0aGlzLl9idWNrZXQuYnVja2V0T3V0cHV0cy5uYW1lLFxuICAgICAgICBzb3VyY2U6IGFzc2V0UGF0aCxcbiAgICAgICAgc291cmNlSGFzaDogRm4uZmlsZW1kNShhc3NldFBhdGgpLFxuICAgICAgICBjb250ZW50VHlwZTogbWltZS5jb250ZW50VHlwZShwYXRoLmV4dG5hbWUoYXNzZXRQYXRoKSkgfHwgdW5kZWZpbmVkLFxuICAgICAgICBkZXBlbmRzT246IHRoaXMuZGVwZW5kc09uLmxlbmd0aCA+IDAgPyB0aGlzLmRlcGVuZHNPbiA6IHVuZGVmaW5lZCxcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==