@gemeentenijmegen/webapp 1.1.0 → 1.1.2

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 (728) hide show
  1. package/.jsii +12 -12
  2. package/assets/webapp/auth/auth.lambda/index.js +54 -33
  3. package/assets/webapp/login/login.lambda/index.js +54 -33
  4. package/assets/webapp/logout/logout.lambda/index.js +53 -32
  5. package/lib/webapp/Criticality.js +1 -1
  6. package/lib/webapp/Webapp.js +1 -1
  7. package/lib/webapp/Webpage.js +1 -1
  8. package/lib/webapp/util/Files.js +1 -1
  9. package/node_modules/@aws-sdk/client-dynamodb/README.md +1 -1
  10. package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/index.js +35 -30
  11. package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/runtimeConfig.browser.js +1 -1
  12. package/node_modules/@aws-sdk/client-dynamodb/dist-cjs/runtimeConfig.js +2 -1
  13. package/node_modules/@aws-sdk/client-dynamodb/dist-es/DynamoDBClient.js +12 -10
  14. package/node_modules/@aws-sdk/client-dynamodb/dist-es/models/models_0.js +15 -15
  15. package/node_modules/@aws-sdk/client-dynamodb/dist-es/protocols/Aws_json1_0.js +3 -0
  16. package/node_modules/@aws-sdk/client-dynamodb/dist-es/runtimeConfig.browser.js +2 -2
  17. package/node_modules/@aws-sdk/client-dynamodb/dist-es/runtimeConfig.js +3 -2
  18. package/node_modules/@aws-sdk/client-dynamodb/dist-types/DynamoDBClient.d.ts +3 -3
  19. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/CreateGlobalTableCommand.d.ts +10 -0
  20. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/CreateTableCommand.d.ts +28 -0
  21. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DeleteTableCommand.d.ts +20 -0
  22. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeGlobalTableCommand.d.ts +10 -0
  23. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeImportCommand.d.ts +4 -0
  24. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/DescribeTableCommand.d.ts +20 -0
  25. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/ImportTableCommand.d.ts +8 -0
  26. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/RestoreTableFromBackupCommand.d.ts +24 -0
  27. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/RestoreTableToPointInTimeCommand.d.ts +24 -0
  28. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateGlobalTableCommand.d.ts +10 -0
  29. package/node_modules/@aws-sdk/client-dynamodb/dist-types/commands/UpdateTableCommand.d.ts +32 -0
  30. package/node_modules/@aws-sdk/client-dynamodb/dist-types/models/models_0.d.ts +758 -655
  31. package/node_modules/@aws-sdk/client-dynamodb/dist-types/runtimeConfig.browser.d.ts +2 -1
  32. package/node_modules/@aws-sdk/client-dynamodb/dist-types/runtimeConfig.d.ts +2 -1
  33. package/node_modules/@aws-sdk/client-dynamodb/dist-types/runtimeConfig.native.d.ts +2 -1
  34. package/node_modules/@aws-sdk/client-dynamodb/dist-types/ts3.4/DynamoDBClient.d.ts +7 -1
  35. package/node_modules/@aws-sdk/client-dynamodb/dist-types/ts3.4/models/models_0.d.ts +744 -641
  36. package/node_modules/@aws-sdk/client-dynamodb/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -3
  37. package/node_modules/@aws-sdk/client-dynamodb/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  38. package/node_modules/@aws-sdk/client-dynamodb/dist-types/ts3.4/runtimeConfig.native.d.ts +9 -3
  39. package/node_modules/@aws-sdk/client-dynamodb/package.json +38 -38
  40. package/node_modules/@aws-sdk/client-s3/README.md +1 -1
  41. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +240 -179
  42. package/node_modules/@aws-sdk/client-s3/dist-cjs/runtimeConfig.browser.js +1 -1
  43. package/node_modules/@aws-sdk/client-s3/dist-cjs/runtimeConfig.js +2 -1
  44. package/node_modules/@aws-sdk/client-s3/dist-es/commands/DeleteObjectsCommand.js +0 -1
  45. package/node_modules/@aws-sdk/client-s3/dist-es/commands/GetObjectCommand.js +0 -1
  46. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketAccelerateConfigurationCommand.js +0 -1
  47. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketAclCommand.js +0 -1
  48. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketCorsCommand.js +0 -1
  49. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketEncryptionCommand.js +0 -1
  50. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketLifecycleConfigurationCommand.js +2 -1
  51. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketLoggingCommand.js +0 -1
  52. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketOwnershipControlsCommand.js +0 -1
  53. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketPolicyCommand.js +0 -1
  54. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketReplicationCommand.js +0 -1
  55. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketRequestPaymentCommand.js +0 -1
  56. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketTaggingCommand.js +0 -1
  57. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketVersioningCommand.js +0 -1
  58. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutBucketWebsiteCommand.js +0 -1
  59. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectAclCommand.js +0 -1
  60. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectCommand.js +0 -1
  61. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectLegalHoldCommand.js +0 -1
  62. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectLockConfigurationCommand.js +0 -1
  63. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectRetentionCommand.js +0 -1
  64. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutObjectTaggingCommand.js +0 -1
  65. package/node_modules/@aws-sdk/client-s3/dist-es/commands/PutPublicAccessBlockCommand.js +0 -1
  66. package/node_modules/@aws-sdk/client-s3/dist-es/commands/RestoreObjectCommand.js +0 -1
  67. package/node_modules/@aws-sdk/client-s3/dist-es/commands/UploadPartCommand.js +0 -1
  68. package/node_modules/@aws-sdk/client-s3/dist-es/models/models_0.js +4 -28
  69. package/node_modules/@aws-sdk/client-s3/dist-es/models/models_1.js +48 -0
  70. package/node_modules/@aws-sdk/client-s3/dist-es/protocols/Aws_restXml.js +131 -100
  71. package/node_modules/@aws-sdk/client-s3/dist-es/runtimeConfig.browser.js +2 -2
  72. package/node_modules/@aws-sdk/client-s3/dist-es/runtimeConfig.js +3 -2
  73. package/node_modules/@aws-sdk/client-s3/dist-types/commands/AbortMultipartUploadCommand.d.ts +16 -13
  74. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CompleteMultipartUploadCommand.d.ts +47 -42
  75. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CopyObjectCommand.d.ts +77 -57
  76. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateBucketCommand.d.ts +60 -45
  77. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateMultipartUploadCommand.d.ts +92 -66
  78. package/node_modules/@aws-sdk/client-s3/dist-types/commands/CreateSessionCommand.d.ts +31 -17
  79. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketAnalyticsConfigurationCommand.d.ts +1 -1
  80. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCommand.d.ts +10 -3
  81. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketCorsCommand.d.ts +1 -1
  82. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketEncryptionCommand.d.ts +18 -10
  83. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +1 -1
  84. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketInventoryConfigurationCommand.d.ts +1 -1
  85. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketLifecycleCommand.d.ts +52 -9
  86. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketMetricsConfigurationCommand.d.ts +1 -1
  87. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketOwnershipControlsCommand.d.ts +1 -1
  88. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketPolicyCommand.d.ts +25 -21
  89. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketReplicationCommand.d.ts +1 -1
  90. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketTaggingCommand.d.ts +1 -1
  91. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteBucketWebsiteCommand.d.ts +1 -1
  92. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectCommand.d.ts +44 -50
  93. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectTaggingCommand.d.ts +1 -1
  94. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeleteObjectsCommand.d.ts +63 -49
  95. package/node_modules/@aws-sdk/client-s3/dist-types/commands/DeletePublicAccessBlockCommand.d.ts +1 -1
  96. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAccelerateConfigurationCommand.d.ts +1 -1
  97. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAclCommand.d.ts +1 -1
  98. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketAnalyticsConfigurationCommand.d.ts +1 -1
  99. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketCorsCommand.d.ts +1 -1
  100. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketEncryptionCommand.d.ts +18 -10
  101. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +1 -1
  102. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketInventoryConfigurationCommand.d.ts +1 -1
  103. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLifecycleConfigurationCommand.d.ts +63 -18
  104. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLocationCommand.d.ts +1 -1
  105. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketLoggingCommand.d.ts +1 -1
  106. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketMetricsConfigurationCommand.d.ts +1 -1
  107. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketNotificationConfigurationCommand.d.ts +1 -1
  108. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +1 -1
  109. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyCommand.d.ts +30 -21
  110. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketPolicyStatusCommand.d.ts +1 -1
  111. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketReplicationCommand.d.ts +2 -2
  112. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketRequestPaymentCommand.d.ts +1 -1
  113. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketTaggingCommand.d.ts +1 -1
  114. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketVersioningCommand.d.ts +1 -1
  115. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetBucketWebsiteCommand.d.ts +1 -1
  116. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAclCommand.d.ts +1 -1
  117. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectAttributesCommand.d.ts +62 -44
  118. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectCommand.d.ts +81 -62
  119. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLegalHoldCommand.d.ts +1 -1
  120. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectLockConfigurationCommand.d.ts +1 -1
  121. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectRetentionCommand.d.ts +1 -1
  122. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTaggingCommand.d.ts +20 -20
  123. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetObjectTorrentCommand.d.ts +1 -1
  124. package/node_modules/@aws-sdk/client-s3/dist-types/commands/GetPublicAccessBlockCommand.d.ts +1 -1
  125. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadBucketCommand.d.ts +32 -16
  126. package/node_modules/@aws-sdk/client-s3/dist-types/commands/HeadObjectCommand.d.ts +61 -39
  127. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketAnalyticsConfigurationsCommand.d.ts +1 -1
  128. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +1 -1
  129. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketInventoryConfigurationsCommand.d.ts +1 -1
  130. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketMetricsConfigurationsCommand.d.ts +1 -1
  131. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListBucketsCommand.d.ts +14 -3
  132. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListDirectoryBucketsCommand.d.ts +13 -3
  133. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListMultipartUploadsCommand.d.ts +82 -65
  134. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectVersionsCommand.d.ts +1 -1
  135. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsCommand.d.ts +1 -1
  136. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListObjectsV2Command.d.ts +23 -14
  137. package/node_modules/@aws-sdk/client-s3/dist-types/commands/ListPartsCommand.d.ts +22 -17
  138. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAccelerateConfigurationCommand.d.ts +1 -1
  139. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAclCommand.d.ts +1 -1
  140. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketAnalyticsConfigurationCommand.d.ts +1 -1
  141. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketCorsCommand.d.ts +1 -1
  142. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketEncryptionCommand.d.ts +48 -33
  143. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +1 -1
  144. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketInventoryConfigurationCommand.d.ts +1 -1
  145. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLifecycleConfigurationCommand.d.ts +93 -53
  146. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketLoggingCommand.d.ts +1 -1
  147. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketMetricsConfigurationCommand.d.ts +1 -1
  148. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketNotificationConfigurationCommand.d.ts +2 -2
  149. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketOwnershipControlsCommand.d.ts +2 -2
  150. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketPolicyCommand.d.ts +30 -21
  151. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketReplicationCommand.d.ts +4 -5
  152. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketRequestPaymentCommand.d.ts +1 -1
  153. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketTaggingCommand.d.ts +1 -1
  154. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketVersioningCommand.d.ts +3 -6
  155. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutBucketWebsiteCommand.d.ts +1 -1
  156. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectAclCommand.d.ts +1 -1
  157. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectCommand.d.ts +123 -75
  158. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLegalHoldCommand.d.ts +1 -1
  159. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectLockConfigurationCommand.d.ts +3 -3
  160. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectRetentionCommand.d.ts +2 -2
  161. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutObjectTaggingCommand.d.ts +1 -1
  162. package/node_modules/@aws-sdk/client-s3/dist-types/commands/PutPublicAccessBlockCommand.d.ts +1 -1
  163. package/node_modules/@aws-sdk/client-s3/dist-types/commands/RestoreObjectCommand.d.ts +1 -5
  164. package/node_modules/@aws-sdk/client-s3/dist-types/commands/SelectObjectContentCommand.d.ts +1 -5
  165. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCommand.d.ts +52 -41
  166. package/node_modules/@aws-sdk/client-s3/dist-types/commands/UploadPartCopyCommand.d.ts +66 -52
  167. package/node_modules/@aws-sdk/client-s3/dist-types/commands/WriteGetObjectResponseCommand.d.ts +1 -1
  168. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts +1835 -1569
  169. package/node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts +613 -459
  170. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.browser.d.ts +2 -1
  171. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.d.ts +2 -1
  172. package/node_modules/@aws-sdk/client-s3/dist-types/runtimeConfig.native.d.ts +2 -1
  173. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/commands/PutBucketLifecycleConfigurationCommand.d.ts +7 -3
  174. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/commands/PutBucketNotificationConfigurationCommand.d.ts +1 -1
  175. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/commands/PutBucketOwnershipControlsCommand.d.ts +1 -1
  176. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_0.d.ts +812 -882
  177. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/models/models_1.d.ts +313 -275
  178. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -3
  179. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.d.ts +8 -3
  180. package/node_modules/@aws-sdk/client-s3/dist-types/ts3.4/runtimeConfig.native.d.ts +9 -3
  181. package/node_modules/@aws-sdk/client-s3/package.json +58 -59
  182. package/node_modules/@aws-sdk/client-secrets-manager/README.md +1 -1
  183. package/node_modules/@aws-sdk/client-secrets-manager/dist-cjs/runtimeConfig.browser.js +1 -1
  184. package/node_modules/@aws-sdk/client-secrets-manager/dist-cjs/runtimeConfig.js +2 -1
  185. package/node_modules/@aws-sdk/client-secrets-manager/dist-es/runtimeConfig.browser.js +2 -2
  186. package/node_modules/@aws-sdk/client-secrets-manager/dist-es/runtimeConfig.js +3 -2
  187. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/models/models_0.d.ts +184 -184
  188. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/runtimeConfig.browser.d.ts +2 -1
  189. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/runtimeConfig.d.ts +2 -1
  190. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/runtimeConfig.native.d.ts +2 -1
  191. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/ts3.4/models/models_0.d.ts +184 -184
  192. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -3
  193. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  194. package/node_modules/@aws-sdk/client-secrets-manager/dist-types/ts3.4/runtimeConfig.native.d.ts +9 -3
  195. package/node_modules/@aws-sdk/client-secrets-manager/package.json +36 -36
  196. package/node_modules/@aws-sdk/client-ssm/README.md +40 -8
  197. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +834 -437
  198. package/node_modules/@aws-sdk/client-ssm/dist-cjs/runtimeConfig.browser.js +1 -1
  199. package/node_modules/@aws-sdk/client-ssm/dist-cjs/runtimeConfig.js +2 -1
  200. package/node_modules/@aws-sdk/client-ssm/dist-es/SSM.js +8 -0
  201. package/node_modules/@aws-sdk/client-ssm/dist-es/commands/GetExecutionPreviewCommand.js +22 -0
  202. package/node_modules/@aws-sdk/client-ssm/dist-es/commands/ListNodesCommand.js +23 -0
  203. package/node_modules/@aws-sdk/client-ssm/dist-es/commands/ListNodesSummaryCommand.js +22 -0
  204. package/node_modules/@aws-sdk/client-ssm/dist-es/commands/SendCommandCommand.js +1 -1
  205. package/node_modules/@aws-sdk/client-ssm/dist-es/commands/StartExecutionPreviewCommand.js +22 -0
  206. package/node_modules/@aws-sdk/client-ssm/dist-es/commands/index.js +4 -0
  207. package/node_modules/@aws-sdk/client-ssm/dist-es/models/models_1.js +99 -144
  208. package/node_modules/@aws-sdk/client-ssm/dist-es/models/models_2.js +167 -1
  209. package/node_modules/@aws-sdk/client-ssm/dist-es/pagination/ListNodesPaginator.js +4 -0
  210. package/node_modules/@aws-sdk/client-ssm/dist-es/pagination/ListNodesSummaryPaginator.js +4 -0
  211. package/node_modules/@aws-sdk/client-ssm/dist-es/pagination/index.js +2 -0
  212. package/node_modules/@aws-sdk/client-ssm/dist-es/protocols/Aws_json1_1.js +159 -3
  213. package/node_modules/@aws-sdk/client-ssm/dist-es/runtimeConfig.browser.js +2 -2
  214. package/node_modules/@aws-sdk/client-ssm/dist-es/runtimeConfig.js +3 -2
  215. package/node_modules/@aws-sdk/client-ssm/dist-types/SSM.d.ts +29 -0
  216. package/node_modules/@aws-sdk/client-ssm/dist-types/SSMClient.d.ts +6 -2
  217. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/CreateResourceDataSyncCommand.d.ts +1 -1
  218. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DeleteActivationCommand.d.ts +1 -1
  219. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeActivationsCommand.d.ts +1 -1
  220. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchStatesForPatchGroupCommand.d.ts +1 -1
  221. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePatchesCommand.d.ts +1 -1
  222. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/DescribeInstancePropertiesCommand.d.ts +1 -1
  223. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetExecutionPreviewCommand.d.ts +98 -0
  224. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetInventoryCommand.d.ts +3 -4
  225. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/GetOpsSummaryCommand.d.ts +3 -4
  226. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceItemsCommand.d.ts +1 -1
  227. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListComplianceSummariesCommand.d.ts +1 -1
  228. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListInventoryEntriesCommand.d.ts +1 -1
  229. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesCommand.d.ts +123 -0
  230. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListNodesSummaryCommand.d.ts +123 -0
  231. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ListResourceComplianceSummariesCommand.d.ts +1 -1
  232. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResetServiceSettingCommand.d.ts +2 -1
  233. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/ResumeSessionCommand.d.ts +1 -1
  234. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendAutomationSignalCommand.d.ts +1 -1
  235. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/SendCommandCommand.d.ts +1 -1
  236. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAssociationsOnceCommand.d.ts +1 -1
  237. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartAutomationExecutionCommand.d.ts +1 -1
  238. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/StartExecutionPreviewCommand.d.ts +141 -0
  239. package/node_modules/@aws-sdk/client-ssm/dist-types/commands/index.d.ts +4 -0
  240. package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_0.d.ts +711 -706
  241. package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_1.d.ts +2303 -2337
  242. package/node_modules/@aws-sdk/client-ssm/dist-types/models/models_2.d.ts +961 -196
  243. package/node_modules/@aws-sdk/client-ssm/dist-types/pagination/ListNodesPaginator.d.ts +7 -0
  244. package/node_modules/@aws-sdk/client-ssm/dist-types/pagination/ListNodesSummaryPaginator.d.ts +7 -0
  245. package/node_modules/@aws-sdk/client-ssm/dist-types/pagination/index.d.ts +2 -0
  246. package/node_modules/@aws-sdk/client-ssm/dist-types/protocols/Aws_json1_1.d.ts +36 -0
  247. package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.browser.d.ts +2 -1
  248. package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.d.ts +2 -1
  249. package/node_modules/@aws-sdk/client-ssm/dist-types/runtimeConfig.native.d.ts +2 -1
  250. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/SSM.d.ts +69 -0
  251. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/SSMClient.d.ts +24 -0
  252. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/GetExecutionPreviewCommand.d.ts +51 -0
  253. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/ListNodesCommand.d.ts +47 -0
  254. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/ListNodesSummaryCommand.d.ts +48 -0
  255. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/ResetServiceSettingCommand.d.ts +2 -4
  256. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/ResumeSessionCommand.d.ts +1 -1
  257. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/SendAutomationSignalCommand.d.ts +1 -1
  258. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/SendCommandCommand.d.ts +1 -1
  259. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/StartAssociationsOnceCommand.d.ts +1 -1
  260. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/StartAutomationExecutionCommand.d.ts +1 -1
  261. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/StartExecutionPreviewCommand.d.ts +51 -0
  262. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/commands/index.d.ts +4 -0
  263. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_0.d.ts +706 -702
  264. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_1.d.ts +1010 -1004
  265. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/models/models_2.d.ts +436 -198
  266. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/pagination/ListNodesPaginator.d.ts +11 -0
  267. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/pagination/ListNodesSummaryPaginator.d.ts +11 -0
  268. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/pagination/index.d.ts +2 -0
  269. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +48 -0
  270. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -3
  271. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  272. package/node_modules/@aws-sdk/client-ssm/dist-types/ts3.4/runtimeConfig.native.d.ts +9 -3
  273. package/node_modules/@aws-sdk/client-ssm/package.json +37 -37
  274. package/node_modules/@aws-sdk/client-sso/README.md +1 -1
  275. package/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.browser.js +1 -1
  276. package/node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js +2 -1
  277. package/node_modules/@aws-sdk/client-sso/dist-es/runtimeConfig.browser.js +2 -2
  278. package/node_modules/@aws-sdk/client-sso/dist-es/runtimeConfig.js +3 -2
  279. package/node_modules/@aws-sdk/client-sso/dist-types/models/models_0.d.ts +18 -18
  280. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.browser.d.ts +2 -1
  281. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.d.ts +2 -1
  282. package/node_modules/@aws-sdk/client-sso/dist-types/runtimeConfig.native.d.ts +2 -1
  283. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/models/models_0.d.ts +18 -18
  284. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -3
  285. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  286. package/node_modules/@aws-sdk/client-sso/dist-types/ts3.4/runtimeConfig.native.d.ts +9 -3
  287. package/node_modules/@aws-sdk/client-sso/package.json +32 -32
  288. package/node_modules/@aws-sdk/client-sso-oidc/README.md +1 -1
  289. package/node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.browser.js +1 -1
  290. package/node_modules/@aws-sdk/client-sso-oidc/dist-cjs/runtimeConfig.js +2 -1
  291. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/runtimeConfig.browser.js +2 -2
  292. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/runtimeConfig.js +3 -2
  293. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/models/models_0.d.ts +74 -74
  294. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.browser.d.ts +2 -1
  295. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.d.ts +2 -1
  296. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/runtimeConfig.native.d.ts +2 -1
  297. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/models/models_0.d.ts +74 -74
  298. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -3
  299. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  300. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/runtimeConfig.native.d.ts +9 -3
  301. package/node_modules/@aws-sdk/client-sso-oidc/package.json +34 -34
  302. package/node_modules/@aws-sdk/client-sts/README.md +9 -1
  303. package/node_modules/@aws-sdk/client-sts/dist-cjs/index.js +99 -14
  304. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.browser.js +1 -1
  305. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js +2 -1
  306. package/node_modules/@aws-sdk/client-sts/dist-es/STS.js +2 -0
  307. package/node_modules/@aws-sdk/client-sts/dist-es/commands/AssumeRootCommand.js +23 -0
  308. package/node_modules/@aws-sdk/client-sts/dist-es/commands/index.js +1 -0
  309. package/node_modules/@aws-sdk/client-sts/dist-es/defaultStsRoleAssumers.js +10 -2
  310. package/node_modules/@aws-sdk/client-sts/dist-es/models/models_0.js +4 -0
  311. package/node_modules/@aws-sdk/client-sts/dist-es/protocols/Aws_query.js +53 -0
  312. package/node_modules/@aws-sdk/client-sts/dist-es/runtimeConfig.browser.js +2 -2
  313. package/node_modules/@aws-sdk/client-sts/dist-es/runtimeConfig.js +3 -2
  314. package/node_modules/@aws-sdk/client-sts/dist-types/STS.d.ts +7 -0
  315. package/node_modules/@aws-sdk/client-sts/dist-types/STSClient.d.ts +3 -2
  316. package/node_modules/@aws-sdk/client-sts/dist-types/commands/AssumeRoleCommand.d.ts +13 -13
  317. package/node_modules/@aws-sdk/client-sts/dist-types/commands/AssumeRoleWithSAMLCommand.d.ts +8 -8
  318. package/node_modules/@aws-sdk/client-sts/dist-types/commands/AssumeRoleWithWebIdentityCommand.d.ts +15 -30
  319. package/node_modules/@aws-sdk/client-sts/dist-types/commands/AssumeRootCommand.d.ts +129 -0
  320. package/node_modules/@aws-sdk/client-sts/dist-types/commands/DecodeAuthorizationMessageCommand.d.ts +2 -2
  321. package/node_modules/@aws-sdk/client-sts/dist-types/commands/GetFederationTokenCommand.d.ts +8 -8
  322. package/node_modules/@aws-sdk/client-sts/dist-types/commands/GetSessionTokenCommand.d.ts +6 -6
  323. package/node_modules/@aws-sdk/client-sts/dist-types/commands/index.d.ts +1 -0
  324. package/node_modules/@aws-sdk/client-sts/dist-types/models/models_0.d.ts +202 -88
  325. package/node_modules/@aws-sdk/client-sts/dist-types/protocols/Aws_query.d.ts +9 -0
  326. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.browser.d.ts +2 -1
  327. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.d.ts +2 -1
  328. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.native.d.ts +2 -1
  329. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/STS.d.ts +17 -0
  330. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/STSClient.d.ts +6 -0
  331. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/commands/AssumeRootCommand.d.ts +47 -0
  332. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/commands/index.d.ts +1 -0
  333. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/models/models_0.d.ts +68 -56
  334. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/protocols/Aws_query.d.ts +12 -0
  335. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.browser.d.ts +9 -3
  336. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.d.ts +6 -3
  337. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.native.d.ts +9 -3
  338. package/node_modules/@aws-sdk/client-sts/package.json +36 -36
  339. package/node_modules/@aws-sdk/core/dist-cjs/submodules/account-id-endpoint/index.js +3 -3
  340. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +36 -5
  341. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +6 -1
  342. package/node_modules/@aws-sdk/core/dist-es/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.js +1 -1
  343. package/node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js +5 -3
  344. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +2 -0
  345. package/node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js +7 -0
  346. package/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js +11 -0
  347. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js +6 -1
  348. package/node_modules/@aws-sdk/core/dist-types/submodules/client/emitWarningIfUnsupportedVersion.d.ts +3 -0
  349. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +2 -0
  350. package/node_modules/@aws-sdk/core/dist-types/submodules/client/setCredentialFeature.d.ts +7 -0
  351. package/node_modules/@aws-sdk/core/dist-types/submodules/client/setFeature.d.ts +12 -0
  352. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/emitWarningIfUnsupportedVersion.d.ts +3 -0
  353. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +2 -0
  354. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setCredentialFeature.d.ts +11 -0
  355. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/setFeature.d.ts +6 -0
  356. package/node_modules/@aws-sdk/core/package.json +14 -11
  357. package/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +4 -1
  358. package/node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js +4 -1
  359. package/node_modules/@aws-sdk/credential-provider-env/package.json +7 -5
  360. package/node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js +2 -1
  361. package/node_modules/@aws-sdk/credential-provider-http/dist-es/fromHttp/fromHttp.js +2 -1
  362. package/node_modules/@aws-sdk/credential-provider-http/package.json +12 -10
  363. package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +29 -13
  364. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveAssumeRoleCredentials.js +3 -2
  365. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveCredentialSource.js +5 -3
  366. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProcessCredentials.js +2 -1
  367. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveProfileData.js +1 -1
  368. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveSsoCredentials.js +10 -2
  369. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveStaticCredentials.js +5 -3
  370. package/node_modules/@aws-sdk/credential-provider-ini/dist-es/resolveWebIdentityCredentials.js +2 -1
  371. package/node_modules/@aws-sdk/credential-provider-ini/dist-types/resolveAssumeRoleCredentials.d.ts +2 -2
  372. package/node_modules/@aws-sdk/credential-provider-ini/dist-types/resolveSsoCredentials.d.ts +2 -2
  373. package/node_modules/@aws-sdk/credential-provider-ini/dist-types/ts3.4/resolveAssumeRoleCredentials.d.ts +2 -2
  374. package/node_modules/@aws-sdk/credential-provider-ini/dist-types/ts3.4/resolveSsoCredentials.d.ts +3 -2
  375. package/node_modules/@aws-sdk/credential-provider-ini/package.json +15 -13
  376. package/node_modules/@aws-sdk/credential-provider-node/package.json +15 -14
  377. package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +4 -1
  378. package/node_modules/@aws-sdk/credential-provider-process/dist-es/getValidatedProcessCredentials.js +4 -1
  379. package/node_modules/@aws-sdk/credential-provider-process/package.json +8 -6
  380. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +8 -1
  381. package/node_modules/@aws-sdk/credential-provider-sso/dist-es/resolveSSOCredentials.js +9 -1
  382. package/node_modules/@aws-sdk/credential-provider-sso/package.json +10 -8
  383. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js +6 -1
  384. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-es/fromTokenFile.js +6 -1
  385. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +10 -8
  386. package/node_modules/@aws-sdk/endpoint-cache/package.json +3 -2
  387. package/node_modules/@aws-sdk/middleware-bucket-endpoint/package.json +8 -7
  388. package/node_modules/@aws-sdk/middleware-endpoint-discovery/package.json +10 -8
  389. package/node_modules/@aws-sdk/middleware-expect-continue/package.json +8 -6
  390. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getCrc32ChecksumAlgorithmFunction.browser.js +6 -0
  391. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/getCrc32ChecksumAlgorithmFunction.js +28 -0
  392. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js +35 -10
  393. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/flexibleChecksumsMiddleware.js +18 -2
  394. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getChecksum.js +1 -5
  395. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getCrc32ChecksumAlgorithmFunction.browser.js +2 -0
  396. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/getCrc32ChecksumAlgorithmFunction.js +23 -0
  397. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/selectChecksumAlgorithmFunction.js +2 -2
  398. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-es/validateChecksumFromResponse.js +14 -2
  399. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexibleChecksumsMiddleware.d.ts +0 -3
  400. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getChecksum.d.ts +2 -3
  401. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getCrc32ChecksumAlgorithmFunction.browser.d.ts +2 -0
  402. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getCrc32ChecksumAlgorithmFunction.d.ts +10 -0
  403. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/flexibleChecksumsMiddleware.d.ts +0 -1
  404. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/getChecksum.d.ts +2 -8
  405. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/getCrc32ChecksumAlgorithmFunction.browser.d.ts +2 -0
  406. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/ts3.4/getCrc32ChecksumAlgorithmFunction.d.ts +12 -0
  407. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +17 -9
  408. package/node_modules/@aws-sdk/middleware-host-header/package.json +8 -6
  409. package/node_modules/@aws-sdk/middleware-location-constraint/package.json +7 -5
  410. package/node_modules/@aws-sdk/middleware-logger/package.json +7 -5
  411. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +8 -6
  412. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +18 -15
  413. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-middleware.js +13 -13
  414. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressMiddleware.js +2 -0
  415. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +20 -16
  416. package/node_modules/@aws-sdk/middleware-ssec/package.json +7 -5
  417. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +112 -4
  418. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/check-features.js +49 -0
  419. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js +22 -0
  420. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/encode-features.js +18 -0
  421. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js +11 -1
  422. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/check-features.d.ts +18 -0
  423. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/configurations.d.ts +14 -1
  424. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/encode-features.d.ts +5 -0
  425. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/check-features.d.ts +20 -0
  426. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/configurations.d.ts +5 -1
  427. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/encode-features.d.ts +2 -0
  428. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/user-agent-middleware.d.ts +2 -1
  429. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/user-agent-middleware.d.ts +2 -1
  430. package/node_modules/@aws-sdk/middleware-user-agent/package.json +12 -8
  431. package/node_modules/@aws-sdk/region-config-resolver/package.json +7 -6
  432. package/node_modules/@aws-sdk/s3-request-presigner/README.md +23 -41
  433. package/node_modules/@aws-sdk/s3-request-presigner/dist-cjs/index.js +24 -6
  434. package/node_modules/@aws-sdk/s3-request-presigner/dist-es/presigner.js +8 -4
  435. package/node_modules/@aws-sdk/s3-request-presigner/dist-types/presigner.d.ts +2 -2
  436. package/node_modules/@aws-sdk/s3-request-presigner/dist-types/ts3.4/presigner.d.ts +2 -0
  437. package/node_modules/@aws-sdk/s3-request-presigner/package.json +12 -11
  438. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +8 -7
  439. package/node_modules/@aws-sdk/token-providers/package.json +8 -7
  440. package/node_modules/@aws-sdk/types/dist-es/feature-ids.js +1 -0
  441. package/node_modules/@aws-sdk/types/dist-es/index.js +1 -0
  442. package/node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts +59 -0
  443. package/node_modules/@aws-sdk/types/dist-types/identity/AwsCredentialIdentity.d.ts +5 -0
  444. package/node_modules/@aws-sdk/types/dist-types/index.d.ts +1 -0
  445. package/node_modules/@aws-sdk/types/dist-types/middleware.d.ts +12 -0
  446. package/node_modules/@aws-sdk/types/dist-types/ts3.4/feature-ids.d.ts +54 -0
  447. package/node_modules/@aws-sdk/types/dist-types/ts3.4/identity/AwsCredentialIdentity.d.ts +5 -0
  448. package/node_modules/@aws-sdk/types/dist-types/ts3.4/index.d.ts +1 -0
  449. package/node_modules/@aws-sdk/types/dist-types/ts3.4/middleware.d.ts +7 -0
  450. package/node_modules/@aws-sdk/types/package.json +2 -2
  451. package/node_modules/@aws-sdk/util-arn-parser/dist-cjs/index.js +1 -0
  452. package/node_modules/@aws-sdk/util-arn-parser/package.json +3 -2
  453. package/node_modules/@aws-sdk/util-endpoints/package.json +8 -6
  454. package/node_modules/@aws-sdk/util-format-url/package.json +6 -5
  455. package/node_modules/@aws-sdk/util-locate-window/dist-cjs/index.js +1 -0
  456. package/node_modules/@aws-sdk/util-locate-window/package.json +3 -2
  457. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.js +9 -4
  458. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.native.js +9 -4
  459. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js +7 -2
  460. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.native.js +7 -2
  461. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/index.d.ts +9 -1
  462. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/index.native.d.ts +9 -1
  463. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/ts3.4/index.d.ts +12 -1
  464. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/ts3.4/index.native.d.ts +12 -1
  465. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +5 -4
  466. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +46 -39
  467. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/defaultUserAgent.js +29 -0
  468. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/index.js +2 -39
  469. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/nodeAppIdConfigOptions.js +8 -0
  470. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/defaultUserAgent.d.ts +23 -0
  471. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/index.d.ts +2 -20
  472. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/nodeAppIdConfigOptions.d.ts +13 -0
  473. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/defaultUserAgent.d.ts +21 -0
  474. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/index.d.ts +2 -12
  475. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/nodeAppIdConfigOptions.d.ts +6 -0
  476. package/node_modules/@aws-sdk/util-user-agent-node/package.json +7 -5
  477. package/node_modules/@aws-sdk/xml-builder/package.json +4 -3
  478. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/.jsii +5 -5
  479. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/lib/index.js +1 -1
  480. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/.jsii +2 -2
  481. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/.jsii.tabl.json.gz +0 -0
  482. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/assertions/api-call-base.js +1 -1
  483. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/assertions/assertions.js +1 -1
  484. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/assertions/common.js +2 -2
  485. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/assertions/http-call.js +1 -1
  486. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/assertions/match.js +1 -1
  487. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/assertions/providers/provider.js +1 -1
  488. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/assertions/sdk.js +2 -2
  489. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/assertions/waiter-state-machine.js +1 -1
  490. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/lib/test-case.js +3 -3
  491. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-cdk/integ-tests-alpha/package.json +7 -7
  492. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/.jsii +325 -18
  493. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/index.d.ts +2 -0
  494. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/index.js +3 -1
  495. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/apigateway-defaults.js +2 -2
  496. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/cloudfront-distribution-helper.js +2 -2
  497. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kendra-defaults.js +2 -2
  498. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/kendra-helper.js +2 -2
  499. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/pipes-defaults.d.ts +15 -0
  500. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/pipes-defaults.js +33 -0
  501. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/pipes-helper.d.ts +56 -0
  502. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/pipes-helper.js +197 -0
  503. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/step-function-helper.d.ts +2 -1
  504. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/step-function-helper.js +10 -4
  505. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/utils.d.ts +9 -0
  506. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/lib/utils.js +28 -2
  507. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/package.json +4 -4
  508. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/pipes-helper.test.d.ts +13 -0
  509. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/pipes-helper.test.js +695 -0
  510. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/step-function-helper.test.js +35 -1
  511. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/test-helper.d.ts +1 -0
  512. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/test-helper.js +8 -3
  513. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/@aws-solutions-constructs/core/test/utils.test.js +16 -1
  514. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/.jsii +85 -45
  515. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/API.md +841 -255
  516. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/Dockerfile +2 -2
  517. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/README.md +5 -1
  518. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/lib/construct.d.ts +20 -3
  519. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/lib/construct.js +36 -30
  520. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/lib/dependency.d.ts +0 -4
  521. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/lib/dependency.js +5 -9
  522. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/lib/private/stack-trace.js +1 -1
  523. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/lib/private/uniqueid.js +1 -1
  524. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/package.json +35 -31
  525. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/package.json +6 -6
  526. package/node_modules/@gemeentenijmegen/apiclient/package.json +8 -8
  527. package/node_modules/@gemeentenijmegen/apigateway-http/package.json +5 -5
  528. package/node_modules/@gemeentenijmegen/session/package.json +6 -6
  529. package/node_modules/@gemeentenijmegen/utils/package.json +8 -8
  530. package/node_modules/@smithy/abort-controller/package.json +4 -3
  531. package/node_modules/@smithy/chunked-blob-reader/dist-cjs/index.js +8 -23
  532. package/node_modules/@smithy/chunked-blob-reader/dist-es/index.js +8 -22
  533. package/node_modules/@smithy/chunked-blob-reader/dist-types/index.d.ts +1 -0
  534. package/node_modules/@smithy/chunked-blob-reader/dist-types/ts3.4/index.d.ts +1 -0
  535. package/node_modules/@smithy/chunked-blob-reader/package.json +2 -2
  536. package/node_modules/@smithy/chunked-blob-reader-native/package.json +2 -2
  537. package/node_modules/@smithy/config-resolver/package.json +7 -6
  538. package/node_modules/@smithy/core/dist-cjs/index.js +79 -158
  539. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +34 -9
  540. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +164 -0
  541. package/node_modules/@smithy/core/dist-es/index.js +4 -3
  542. package/node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +1 -2
  543. package/node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js +1 -2
  544. package/node_modules/@smithy/core/dist-es/protocols/requestBuilder.js +1 -67
  545. package/node_modules/@smithy/core/dist-es/setFeature.js +11 -0
  546. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-decode.js +2 -2
  547. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js +11 -1
  548. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor-types.js +5 -0
  549. package/node_modules/@smithy/core/dist-es/submodules/cbor/cbor.js +8 -2
  550. package/node_modules/@smithy/core/dist-es/submodules/cbor/index.js +1 -0
  551. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +4 -3
  552. package/node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js +11 -0
  553. package/node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js +5 -0
  554. package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +4 -0
  555. package/node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js +67 -0
  556. package/node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js +19 -0
  557. package/node_modules/@smithy/core/dist-types/index.d.ts +4 -3
  558. package/node_modules/@smithy/core/dist-types/protocols/requestBuilder.d.ts +2 -48
  559. package/node_modules/@smithy/core/dist-types/setFeature.d.ts +12 -0
  560. package/node_modules/@smithy/core/dist-types/submodules/cbor/cbor-types.d.ts +23 -0
  561. package/node_modules/@smithy/core/dist-types/submodules/cbor/index.d.ts +1 -0
  562. package/node_modules/@smithy/core/dist-types/submodules/cbor/parseCborBody.d.ts +4 -2
  563. package/node_modules/@smithy/core/dist-types/submodules/protocols/collect-stream-body.d.ts +10 -0
  564. package/node_modules/@smithy/core/dist-types/submodules/protocols/extended-encode-uri-component.d.ts +7 -0
  565. package/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts +4 -0
  566. package/node_modules/@smithy/core/dist-types/submodules/protocols/requestBuilder.d.ts +51 -0
  567. package/node_modules/@smithy/core/dist-types/submodules/protocols/resolve-path.d.ts +4 -0
  568. package/node_modules/@smithy/core/dist-types/ts3.4/index.d.ts +4 -3
  569. package/node_modules/@smithy/core/dist-types/ts3.4/protocols/requestBuilder.d.ts +2 -48
  570. package/node_modules/@smithy/core/dist-types/ts3.4/setFeature.d.ts +12 -0
  571. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/cbor-types.d.ts +23 -0
  572. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/index.d.ts +1 -0
  573. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/parseCborBody.d.ts +4 -2
  574. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/collect-stream-body.d.ts +10 -0
  575. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/extended-encode-uri-component.d.ts +7 -0
  576. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/index.d.ts +4 -0
  577. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/requestBuilder.d.ts +51 -0
  578. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/resolve-path.d.ts +4 -0
  579. package/node_modules/@smithy/core/package.json +19 -11
  580. package/node_modules/@smithy/core/protocols.d.ts +7 -0
  581. package/node_modules/@smithy/core/protocols.js +6 -0
  582. package/node_modules/@smithy/credential-provider-imds/package.json +7 -7
  583. package/node_modules/@smithy/eventstream-codec/package.json +4 -3
  584. package/node_modules/@smithy/eventstream-serde-browser/package.json +3 -3
  585. package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +5 -4
  586. package/node_modules/@smithy/eventstream-serde-node/package.json +3 -3
  587. package/node_modules/@smithy/eventstream-serde-universal/package.json +5 -4
  588. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +12 -30
  589. package/node_modules/@smithy/fetch-http-handler/dist-es/create-request.js +3 -0
  590. package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +3 -2
  591. package/node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js +3 -26
  592. package/node_modules/@smithy/fetch-http-handler/dist-types/create-request.d.ts +6 -0
  593. package/node_modules/@smithy/fetch-http-handler/dist-types/fetch-http-handler.d.ts +6 -0
  594. package/node_modules/@smithy/fetch-http-handler/dist-types/ts3.4/create-request.d.ts +6 -0
  595. package/node_modules/@smithy/fetch-http-handler/dist-types/ts3.4/fetch-http-handler.d.ts +6 -0
  596. package/node_modules/@smithy/fetch-http-handler/package.json +9 -6
  597. package/node_modules/@smithy/hash-blob-browser/package.json +6 -5
  598. package/node_modules/@smithy/hash-node/package.json +4 -3
  599. package/node_modules/@smithy/hash-stream-node/package.json +4 -3
  600. package/node_modules/@smithy/invalid-dependency/package.json +4 -3
  601. package/node_modules/@smithy/md5-js/package.json +4 -3
  602. package/node_modules/@smithy/middleware-content-length/package.json +5 -4
  603. package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +4 -0
  604. package/node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js +4 -0
  605. package/node_modules/@smithy/middleware-endpoint/package.json +11 -9
  606. package/node_modules/@smithy/middleware-retry/package.json +12 -10
  607. package/node_modules/@smithy/middleware-serde/package.json +6 -4
  608. package/node_modules/@smithy/middleware-stack/package.json +4 -3
  609. package/node_modules/@smithy/node-config-provider/package.json +6 -5
  610. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +20 -14
  611. package/node_modules/@smithy/node-http-handler/dist-cjs/timing.js +1 -0
  612. package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +5 -4
  613. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +1 -1
  614. package/node_modules/@smithy/node-http-handler/dist-es/server.mock.js +9 -2
  615. package/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js +5 -4
  616. package/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js +2 -1
  617. package/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +2 -1
  618. package/node_modules/@smithy/node-http-handler/dist-es/timing.js +4 -0
  619. package/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +4 -3
  620. package/node_modules/@smithy/node-http-handler/dist-types/timing.d.ts +8 -0
  621. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +8 -0
  622. package/node_modules/@smithy/node-http-handler/package.json +7 -6
  623. package/node_modules/@smithy/property-provider/package.json +4 -3
  624. package/node_modules/@smithy/protocol-http/package.json +4 -3
  625. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  626. package/node_modules/@smithy/querystring-parser/package.json +4 -3
  627. package/node_modules/@smithy/service-error-classification/package.json +4 -3
  628. package/node_modules/@smithy/shared-ini-file-loader/package.json +4 -3
  629. package/node_modules/@smithy/signature-v4/package.json +6 -5
  630. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +59 -36
  631. package/node_modules/@smithy/smithy-client/dist-cjs/quote-header.js +1 -0
  632. package/node_modules/@smithy/smithy-client/dist-cjs/split-header.js +1 -0
  633. package/node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js +1 -11
  634. package/node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js +1 -5
  635. package/node_modules/@smithy/smithy-client/dist-es/index.js +2 -0
  636. package/node_modules/@smithy/smithy-client/dist-es/quote-header.js +6 -0
  637. package/node_modules/@smithy/smithy-client/dist-es/resolve-path.js +1 -19
  638. package/node_modules/@smithy/smithy-client/dist-es/split-header.js +37 -0
  639. package/node_modules/@smithy/smithy-client/dist-types/collect-stream-body.d.ts +2 -7
  640. package/node_modules/@smithy/smithy-client/dist-types/extended-encode-uri-component.d.ts +2 -4
  641. package/node_modules/@smithy/smithy-client/dist-types/index.d.ts +2 -0
  642. package/node_modules/@smithy/smithy-client/dist-types/quote-header.d.ts +6 -0
  643. package/node_modules/@smithy/smithy-client/dist-types/resolve-path.d.ts +2 -1
  644. package/node_modules/@smithy/smithy-client/dist-types/split-header.d.ts +5 -0
  645. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/collect-stream-body.d.ts +2 -7
  646. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/extended-encode-uri-component.d.ts +2 -4
  647. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/index.d.ts +2 -0
  648. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/quote-header.d.ts +6 -0
  649. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/resolve-path.d.ts +2 -1
  650. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/split-header.d.ts +5 -0
  651. package/node_modules/@smithy/smithy-client/package.json +9 -7
  652. package/node_modules/@smithy/types/dist-cjs/feature-ids.js +1 -0
  653. package/node_modules/@smithy/types/dist-es/feature-ids.js +1 -0
  654. package/node_modules/@smithy/types/dist-es/index.js +1 -0
  655. package/node_modules/@smithy/types/dist-types/feature-ids.d.ts +16 -0
  656. package/node_modules/@smithy/types/dist-types/http.d.ts +1 -0
  657. package/node_modules/@smithy/types/dist-types/index.d.ts +1 -0
  658. package/node_modules/@smithy/types/dist-types/middleware.d.ts +30 -6
  659. package/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts +3 -2
  660. package/node_modules/@smithy/types/dist-types/ts3.4/feature-ids.d.ts +16 -0
  661. package/node_modules/@smithy/types/dist-types/ts3.4/http.d.ts +1 -0
  662. package/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +1 -0
  663. package/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +26 -2
  664. package/node_modules/@smithy/types/dist-types/ts3.4/transform/no-undefined.d.ts +3 -2
  665. package/node_modules/@smithy/types/package.json +1 -1
  666. package/node_modules/@smithy/url-parser/package.json +5 -4
  667. package/node_modules/@smithy/util-defaults-mode-browser/package.json +6 -5
  668. package/node_modules/@smithy/util-defaults-mode-node/package.json +9 -8
  669. package/node_modules/@smithy/util-endpoints/package.json +7 -5
  670. package/node_modules/@smithy/util-middleware/package.json +4 -3
  671. package/node_modules/@smithy/util-retry/dist-cjs/index.js +5 -1
  672. package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +2 -1
  673. package/node_modules/@smithy/util-retry/dist-types/DefaultRateLimiter.d.ts +4 -0
  674. package/node_modules/@smithy/util-retry/dist-types/ts3.4/DefaultRateLimiter.d.ts +4 -0
  675. package/node_modules/@smithy/util-retry/package.json +5 -4
  676. package/node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.browser.js +7 -0
  677. package/node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.js +49 -0
  678. package/node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.browser.js +40 -0
  679. package/node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.js +13 -0
  680. package/node_modules/@smithy/util-stream/dist-cjs/index.js +6 -1
  681. package/node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js +1 -2
  682. package/node_modules/@smithy/util-stream/dist-cjs/splitStream.js +1 -1
  683. package/node_modules/@smithy/util-stream/dist-cjs/stream-type-check.js +6 -1
  684. package/node_modules/@smithy/util-stream/dist-es/checksum/ChecksumStream.browser.js +3 -0
  685. package/node_modules/@smithy/util-stream/dist-es/checksum/ChecksumStream.js +44 -0
  686. package/node_modules/@smithy/util-stream/dist-es/checksum/createChecksumStream.browser.js +35 -0
  687. package/node_modules/@smithy/util-stream/dist-es/checksum/createChecksumStream.js +9 -0
  688. package/node_modules/@smithy/util-stream/dist-es/index.js +2 -0
  689. package/node_modules/@smithy/util-stream/dist-es/sdk-stream-mixin.js +0 -1
  690. package/node_modules/@smithy/util-stream/dist-es/splitStream.js +2 -2
  691. package/node_modules/@smithy/util-stream/dist-es/stream-type-check.js +3 -0
  692. package/node_modules/@smithy/util-stream/dist-types/checksum/ChecksumStream.browser.d.ts +37 -0
  693. package/node_modules/@smithy/util-stream/dist-types/checksum/ChecksumStream.d.ts +61 -0
  694. package/node_modules/@smithy/util-stream/dist-types/checksum/createChecksumStream.browser.d.ts +15 -0
  695. package/node_modules/@smithy/util-stream/dist-types/checksum/createChecksumStream.d.ts +12 -0
  696. package/node_modules/@smithy/util-stream/dist-types/index.d.ts +2 -0
  697. package/node_modules/@smithy/util-stream/dist-types/stream-type-check.d.ts +4 -0
  698. package/node_modules/@smithy/util-stream/dist-types/ts3.4/checksum/ChecksumStream.browser.d.ts +37 -0
  699. package/node_modules/@smithy/util-stream/dist-types/ts3.4/checksum/ChecksumStream.d.ts +60 -0
  700. package/node_modules/@smithy/util-stream/dist-types/ts3.4/checksum/createChecksumStream.browser.d.ts +15 -0
  701. package/node_modules/@smithy/util-stream/dist-types/ts3.4/checksum/createChecksumStream.d.ts +12 -0
  702. package/node_modules/@smithy/util-stream/dist-types/ts3.4/index.d.ts +2 -0
  703. package/node_modules/@smithy/util-stream/dist-types/ts3.4/stream-type-check.d.ts +4 -0
  704. package/node_modules/@smithy/util-stream/package.json +16 -6
  705. package/node_modules/@smithy/util-waiter/package.json +5 -4
  706. package/node_modules/@types/uuid/LICENSE +21 -0
  707. package/node_modules/@types/uuid/README.md +15 -0
  708. package/node_modules/@types/uuid/index.d.mts +12 -0
  709. package/node_modules/@types/uuid/index.d.ts +86 -0
  710. package/node_modules/@types/uuid/package.json +54 -0
  711. package/node_modules/cookie/index.js +118 -57
  712. package/node_modules/cookie/package.json +3 -3
  713. package/node_modules/form-data/Readme.md +4 -4
  714. package/node_modules/form-data/lib/form_data.js +1 -1
  715. package/node_modules/form-data/package.json +9 -6
  716. package/node_modules/tslib/modules/index.d.ts +1 -0
  717. package/node_modules/tslib/modules/index.js +2 -0
  718. package/node_modules/tslib/package.json +1 -1
  719. package/node_modules/tslib/tslib.d.ts +7 -0
  720. package/node_modules/tslib/tslib.es6.js +24 -1
  721. package/node_modules/tslib/tslib.es6.mjs +24 -1
  722. package/node_modules/tslib/tslib.js +56 -1
  723. package/package.json +18 -18
  724. package/node_modules/@aws-solutions-constructs/aws-lambda-dynamodb/node_modules/constructs/.gitattributes +0 -28
  725. package/node_modules/cookie/HISTORY.md +0 -147
  726. package/node_modules/form-data/README.md.bak +0 -358
  727. /package/node_modules/{@aws-sdk/endpoint-cache/dist-cjs/Endpoint.js → @smithy/core/dist-cjs/setFeature.js} +0 -0
  728. /package/node_modules/{@aws-sdk/endpoint-cache/dist-cjs/EndpointCache.js → @smithy/fetch-http-handler/dist-cjs/create-request.js} +0 -0
@@ -1,4 +1,4 @@
1
- FROM jsii/superchain
1
+ FROM jsii/superchain:1-bookworm-slim
2
2
 
3
3
  WORKDIR /app
4
4
 
@@ -6,5 +6,5 @@ ARG BUILD_ARGS
6
6
 
7
7
  COPY . .
8
8
 
9
- RUN yarn install && yarn build ${BUILD_ARGS}
9
+ RUN yarn install && yarn build ${BUILD_ARGS}
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Software-defined persistent state
4
4
 
5
- ![Release](https://github.com/aws/constructs/workflows/Release/badge.svg)
5
+ [![Release](https://github.com/aws/constructs/actions/workflows/release.yml/badge.svg)](https://github.com/aws/constructs/actions/workflows/release.yml)
6
6
  [![npm version](https://badge.fury.io/js/constructs.svg)](https://badge.fury.io/js/constructs)
7
7
  [![PyPI version](https://badge.fury.io/py/constructs.svg)](https://badge.fury.io/py/constructs)
8
8
  [![NuGet version](https://badge.fury.io/nu/Constructs.svg)](https://badge.fury.io/nu/Constructs)
@@ -14,6 +14,10 @@ Constructs are classes which define a "piece of system state". Constructs can be
14
14
 
15
15
  Constructs are often used to represent the _desired state_ of cloud applications. For example, in the AWS CDK, which is used to define the desired state for AWS infrastructure using CloudFormation, the lowest-level construct represents a _resource definition_ in a CloudFormation template. These resources are composed to represent higher-level logical units of a cloud application, etc.
16
16
 
17
+ ## Support policy
18
+
19
+ All [maintained Node.js versions](https://nodejs.org/en/about/previous-releases#release-schedule) are supported by this package.
20
+
17
21
  ## Contributing
18
22
 
19
23
  This project has adopted the [Amazon Open Source Code of
@@ -61,9 +61,9 @@ export declare class Node {
61
61
  * Addresses are calculated using a SHA-1 of the components of the construct
62
62
  * path.
63
63
  *
64
- * To enable refactorings of construct trees, constructs with the ID `Default`
64
+ * To enable refactoring of construct trees, constructs with the ID `Default`
65
65
  * will be excluded from the calculation. In those cases constructs in the
66
- * same tree may have the same addreess.
66
+ * same tree may have the same address.
67
67
  *
68
68
  * @example c83a2846e506bcc5f10682b564084bca2d275709ee
69
69
  */
@@ -157,6 +157,8 @@ export declare class Node {
157
157
  * Entries are arbitrary values and will also include a stack trace to allow tracing back to
158
158
  * the code location for when the entry was added. It can be used, for example, to include source
159
159
  * mapping in CloudFormation templates to improve diagnostics.
160
+ * Note that construct metadata is not the same as CloudFormation resource metadata and is never written to the CloudFormation template.
161
+ * The metadata entries are written to the Cloud Assembly Manifest if the `treeMetadata` property is specified in the props of the App that contains this Construct.
160
162
  *
161
163
  * @param type a string denoting the type of metadata
162
164
  * @param data the value of the metadata (can be a Token). If null/undefined, metadata will not be added.
@@ -195,7 +197,6 @@ export declare class Node {
195
197
  * Remove the child with the given name, if present.
196
198
  *
197
199
  * @returns Whether a child with the given name was deleted.
198
- * @experimental
199
200
  */
200
201
  tryRemoveChild(childName: string): boolean;
201
202
  /**
@@ -322,3 +323,19 @@ export interface MetadataOptions {
322
323
  */
323
324
  readonly traceFromFunction?: any;
324
325
  }
326
+ /**
327
+ * Creates a new root construct node.
328
+ *
329
+ * The root construct represents the top of the construct tree and is not contained within a parent scope itself.
330
+ * For root constructs, the id is optional.
331
+ */
332
+ export declare class RootConstruct extends Construct {
333
+ /**
334
+ * Creates a new root construct node.
335
+ *
336
+ * @param id The scoped construct ID. Must be unique amongst siblings. If
337
+ * the ID includes a path separator (`/`), then it will be replaced by double
338
+ * dash `--`.
339
+ */
340
+ constructor(id?: string);
341
+ }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- var _a, _b;
2
+ var _a, _b, _c;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ConstructOrder = exports.Construct = exports.Node = void 0;
4
+ exports.RootConstruct = exports.ConstructOrder = exports.Construct = exports.Node = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const dependency_1 = require("./dependency");
7
7
  const stack_trace_1 = require("./private/stack-trace");
@@ -60,9 +60,9 @@ class Node {
60
60
  * Addresses are calculated using a SHA-1 of the components of the construct
61
61
  * path.
62
62
  *
63
- * To enable refactorings of construct trees, constructs with the ID `Default`
63
+ * To enable refactoring of construct trees, constructs with the ID `Default`
64
64
  * will be excluded from the calculation. In those cases constructs in the
65
- * same tree may have the same addreess.
65
+ * same tree may have the same address.
66
66
  *
67
67
  * @example c83a2846e506bcc5f10682b564084bca2d275709ee
68
68
  */
@@ -194,14 +194,8 @@ class Node {
194
194
  * @returns The context object or an empty object if there is discovered context
195
195
  */
196
196
  getAllContext(defaults) {
197
- if (typeof defaults === 'undefined') {
198
- defaults = {};
199
- }
200
- if (this.scope === undefined) {
201
- return defaults;
202
- }
203
- const value = { ...this._context, ...defaults };
204
- return this.scope && this.scope.node.getAllContext(value);
197
+ return this.scopes.reverse()
198
+ .reduce((a, s) => ({ ...(s.node._context), ...a }), { ...defaults });
205
199
  }
206
200
  /**
207
201
  * Retrieves a value from tree context.
@@ -230,6 +224,8 @@ class Node {
230
224
  * Entries are arbitrary values and will also include a stack trace to allow tracing back to
231
225
  * the code location for when the entry was added. It can be used, for example, to include source
232
226
  * mapping in CloudFormation templates to improve diagnostics.
227
+ * Note that construct metadata is not the same as CloudFormation resource metadata and is never written to the CloudFormation template.
228
+ * The metadata entries are written to the Cloud Assembly Manifest if the `treeMetadata` property is specified in the props of the App that contains this Construct.
233
229
  *
234
230
  * @param type a string denoting the type of metadata
235
231
  * @param data the value of the metadata (can be a Token). If null/undefined, metadata will not be added.
@@ -305,7 +301,6 @@ class Node {
305
301
  * Remove the child with the given name, if present.
306
302
  *
307
303
  * @returns Whether a child with the given name was deleted.
308
- * @experimental
309
304
  */
310
305
  tryRemoveChild(childName) {
311
306
  if (!(childName in this._children)) {
@@ -335,17 +330,7 @@ class Node {
335
330
  * construct.
336
331
  */
337
332
  validate() {
338
- const deprecated = ['validate', 'onValidate', 'synthesize', 'onSynthesize', 'prepare', 'onPrepare'];
339
- for (const method of deprecated) {
340
- if (typeof (this.host[method]) === 'function') {
341
- throw new Error(`the construct "${this.path}" has a "${method}()" method which is no longer supported. Use "construct.node.addValidation()" to add validations to a construct`);
342
- }
343
- }
344
- const errors = new Array();
345
- for (const v of this._validations) {
346
- errors.push(...v.validate());
347
- }
348
- return errors;
333
+ return this._validations.flatMap(v => v.validate());
349
334
  }
350
335
  /**
351
336
  * Locks this construct from allowing more children to be added. After this
@@ -377,13 +362,13 @@ class Node {
377
362
  this._children[childName] = child;
378
363
  }
379
364
  }
365
+ exports.Node = Node;
380
366
  _a = JSII_RTTI_SYMBOL_1;
381
- Node[_a] = { fqn: "constructs.Node", version: "10.3.0" };
367
+ Node[_a] = { fqn: "constructs.Node", version: "10.4.2" };
382
368
  /**
383
369
  * Separator used to delimit construct path components.
384
370
  */
385
371
  Node.PATH_SEP = '/';
386
- exports.Node = Node;
387
372
  /**
388
373
  * Represents the building block of the construct graph.
389
374
  *
@@ -436,9 +421,9 @@ class Construct {
436
421
  return this.node.path || '<root>';
437
422
  }
438
423
  }
439
- _b = JSII_RTTI_SYMBOL_1;
440
- Construct[_b] = { fqn: "constructs.Construct", version: "10.3.0" };
441
424
  exports.Construct = Construct;
425
+ _b = JSII_RTTI_SYMBOL_1;
426
+ Construct[_b] = { fqn: "constructs.Construct", version: "10.4.2" };
442
427
  /**
443
428
  * In what order to return constructs
444
429
  */
@@ -452,7 +437,7 @@ var ConstructOrder;
452
437
  * Depth-first, post-order (leaf nodes first)
453
438
  */
454
439
  ConstructOrder[ConstructOrder["POSTORDER"] = 1] = "POSTORDER";
455
- })(ConstructOrder = exports.ConstructOrder || (exports.ConstructOrder = {}));
440
+ })(ConstructOrder || (exports.ConstructOrder = ConstructOrder = {}));
456
441
  const PATH_SEP_REGEX = new RegExp(`${Node.PATH_SEP}`, 'g');
457
442
  /**
458
443
  * Return a sanitized version of an arbitrary string, so it can be used as an ID
@@ -467,4 +452,25 @@ Object.defineProperty(Construct.prototype, CONSTRUCT_SYM, {
467
452
  enumerable: false,
468
453
  writable: false,
469
454
  });
470
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUF1RDtBQUV2RCx1REFBMEQ7QUFDMUQsaURBQStDO0FBRS9DLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQVl6RDs7R0FFRztBQUNILE1BQWEsSUFBSTtJQU1mOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFxQjtRQUNwQyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQXlCRCxZQUFvQyxJQUFlLEVBQUUsS0FBaUIsRUFBRSxFQUFVO1FBQTlDLFNBQUksR0FBSixJQUFJLENBQVc7UUFUM0MsWUFBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLHdDQUF3QztRQUNoRCxjQUFTLEdBQWlDLEVBQUcsQ0FBQztRQUM5QyxhQUFRLEdBQTJCLEVBQUcsQ0FBQztRQUN2QyxjQUFTLEdBQUcsSUFBSSxLQUFLLEVBQWlCLENBQUM7UUFDdkMsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBRXZDLGlCQUFZLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUl2RCxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLHdDQUF3QztRQUV2RCxJQUFJLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsc0JBQXNCO1FBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENB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Ozs7Ozs7O09BT0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVTtRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFdEMsa0NBQWtDO1FBQ2xDLHVCQUFVLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtZQUN6QixlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDeEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDO0lBQ3BDLENBQUM7Ozs7QUFwRFUsOEJBQVM7QUFzRXRCOztHQUVHO0FBQ0gsSUFBWSxjQVVYO0FBVkQsV0FBWSxjQUFjO0lBQ3hCOztPQUVHO0lBQ0gsMkRBQVEsQ0FBQTtJQUVSOztPQUVHO0lBQ0gsNkRBQVMsQ0FBQTtBQUNYLENBQUMsRUFWVyxjQUFjLEdBQWQsc0JBQWMsS0FBZCxzQkFBYyxRQVV6QjtBQUVELE1BQU0sY0FBYyxHQUFHLElBQUksTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRTNEOztHQUVHO0FBQ0gsU0FBUyxVQUFVLENBQUMsRUFBVTtJQUM1QixvQ0FBb0M7SUFDcEMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBc0JELG9DQUFvQztBQUNwQyxNQUFNLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFO0lBQ3hELEtBQUssRUFBRSxJQUFJO0lBQ1gsVUFBVSxFQUFFLEtBQUs7SUFDakIsUUFBUSxFQUFFLEtBQUs7Q0FDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwZW5kYWJsZSwgSURlcGVuZGFibGUgfSBmcm9tICcuL2RlcGVuZGVuY3knO1xuaW1wb3J0IHsgTWV0YWRhdGFFbnRyeSB9IGZyb20gJy4vbWV0YWRhdGEnO1xuaW1wb3J0IHsgY2FwdHVyZVN0YWNrVHJhY2UgfSBmcm9tICcuL3ByaXZhdGUvc3RhY2stdHJhY2UnO1xuaW1wb3J0IHsgYWRkcmVzc09mIH0gZnJvbSAnLi9wcml2YXRlL3VuaXF1ZWlkJztcblxuY29uc3QgQ09OU1RSVUNUX1NZTSA9IFN5bWJvbC5mb3IoJ2NvbnN0cnVjdHMuQ29uc3RydWN0Jyk7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29uc3RydWN0IGV4dGVuZHMgSURlcGVuZGFibGUge1xuICAvKipcbiAgICogVGhlIHRyZWUgbm9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG5vZGU6IE5vZGU7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29uc3RydWN0IG5vZGUgaW4gdGhlIHNjb3BlIHRyZWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb2RlIHtcbiAgLyoqXG4gICAqIFNlcGFyYXRvciB1c2VkIHRvIGRlbGltaXQgY29uc3RydWN0IHBhdGggY29tcG9uZW50cy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFUSF9TRVAgPSAnLyc7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5vZGUgYXNzb2NpYXRlZCB3aXRoIGEgY29uc3RydWN0LlxuICAgKiBAcGFyYW0gY29uc3RydWN0IHRoZSBjb25zdHJ1Y3RcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBjb25zdHJ1Y3Qubm9kZWAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZihjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBOb2RlIHtcbiAgICByZXR1cm4gY29uc3RydWN0Lm5vZGU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2NvcGUgaW4gd2hpY2ggdGhpcyBjb25zdHJ1Y3QgaXMgZGVmaW5lZC5cbiAgICpcbiAgICogVGhlIHZhbHVlIGlzIGB1bmRlZmluZWRgIGF0IHRoZSByb290IG9mIHRoZSBjb25zdHJ1Y3Qgc2NvcGUgdHJlZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY29wZT86IElDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGlzIGNvbnN0cnVjdCB3aXRoaW4gdGhlIGN1cnJlbnQgc2NvcGUuXG4gICAqXG4gICAqIFRoaXMgaXMgYSBzY29wZS11bmlxdWUgaWQuIFRvIG9idGFpbiBhbiBhcHAtdW5pcXVlIGlkIGZvciB0aGlzIGNvbnN0cnVjdCwgdXNlIGBhZGRyYC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2xvY2tlZCA9IGZhbHNlOyAvLyBpZiB0aGlzIGlzIFwidHJ1ZVwiLCBhZGRDaGlsZCB3aWxsIGZhaWxcbiAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGRyZW46IHsgW2lkOiBzdHJpbmddOiBJQ29uc3RydWN0IH0gPSB7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgX21ldGFkYXRhID0gbmV3IEFycmF5PE1ldGFkYXRhRW50cnk+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlcGVuZGVuY2llcyA9IG5ldyBTZXQ8SURlcGVuZGFibGU+KCk7XG4gIHByaXZhdGUgX2RlZmF1bHRDaGlsZDogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsaWRhdGlvbnMgPSBuZXcgQXJyYXk8SVZhbGlkYXRpb24+KCk7XG4gIHByaXZhdGUgX2FkZHI/OiBzdHJpbmc7IC8vIGNhY2hlXG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaG9zdDogQ29uc3RydWN0LCBzY29wZTogSUNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIGlkID0gaWQgPz8gJyc7IC8vIGlmIHVuZGVmaW5lZCwgY29udmVydCB0byBlbXB0eSBzdHJpbmdcblxuICAgIHRoaXMuaWQgPSBzYW5pdGl6ZUlkKGlkKTtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG5cbiAgICBpZiAoc2NvcGUgJiYgIXRoaXMuaWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignT25seSByb290IGNvbnN0cnVjdHMgbWF5IGhhdmUgYW4gZW1wdHkgSUQnKTtcbiAgICB9XG5cbiAgICAvLyBhZGQgdG8gcGFyZW50IHNjb3BlXG4gICAgc2NvcGU/Lm5vZGUuYWRkQ2hpbGQoaG9zdCwgdGhpcy5pZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZ1bGwsIGFic29sdXRlIHBhdGggb2YgdGhpcyBjb25zdHJ1Y3QgaW4gdGhlIHRyZWUuXG4gICAqXG4gICAqIENvbXBvbmVudHMgYXJlIHNlcGFyYXRlZCBieSAnLycuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBhdGgoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21wb25lbnRzID0gW107XG4gICAgZm9yIChjb25zdCBzY29wZSBvZiB0aGlzLnNjb3Blcykge1xuICAgICAgaWYgKHNjb3BlLm5vZGUuaWQpIHtcbiAgICAgICAgY29tcG9uZW50cy5wdXNoKHNjb3BlLm5vZGUuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29tcG9uZW50cy5qb2luKE5vZGUuUEFUSF9TRVApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb3BhcXVlIHRyZWUtdW5pcXVlIGFkZHJlc3MgZm9yIHRoaXMgY29uc3RydWN0LlxuICAgKlxuICAgKiBBZGRyZXNzZXMgYXJlIDQyIGNoYXJhY3RlcnMgaGV4YWRlY2ltYWwgc3RyaW5ncy4gVGhleSBiZWdpbiB3aXRoIFwiYzhcIlxuICAgKiBmb2xsb3dlZCBieSA0MCBsb3dlcmNhc2UgaGV4YWRlY2ltYWwgY2hhcmFjdGVycyAoMC05YS1mKS5cbiAgICpcbiAgICogQWRkcmVzc2VzIGFyZSBjYWxjdWxhdGVkIHVzaW5nIGEgU0hBLTEgb2YgdGhlIGNvbXBvbmVudHMgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBwYXRoLlxuICAgKlxuICAgKiBUbyBlbmFibGUgcmVmYWN0b3JpbmdzIG9mIGNvbnN0cnVjdCB0cmVlcywgY29uc3RydWN0cyB3aXRoIHRoZSBJRCBgRGVmYXVsdGBcbiAgICogd2lsbCBiZSBleGNsdWRlZCBmcm9tIHRoZSBjYWxjdWxhdGlvbi4gSW4gdGhvc2UgY2FzZXMgY29uc3RydWN0cyBpbiB0aGVcbiAgICogc2FtZSB0cmVlIG1heSBoYXZlIHRoZSBzYW1lIGFkZHJlZXNzLlxuICAgKlxuICAgKiBAZXhhbXBsZSBjODNhMjg0NmU1MDZiY2M1ZjEwNjgyYjU2NDA4NGJjYTJkMjc1NzA5ZWVcbiAgICovXG4gIHB1YmxpYyBnZXQgYWRkcigpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5fYWRkcikge1xuICAgICAgdGhpcy5fYWRkciA9IGFkZHJlc3NPZih0aGlzLnNjb3Blcy5tYXAoYyA9PiBjLm5vZGUuaWQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fYWRkcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSBkaXJlY3QgY2hpbGQgYnkgaWQsIG9yIHVuZGVmaW5lZFxuICAgKlxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiBkaXJlY3QgY2hpbGRcbiAgICogQHJldHVybnMgdGhlIGNoaWxkIGlmIGZvdW5kLCBvciB1bmRlZmluZWRcbiAgICovXG4gIHB1YmxpYyB0cnlGaW5kQ2hpbGQoaWQ6IHN0cmluZyk6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9jaGlsZHJlbltzYW5pdGl6ZUlkKGlkKV07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgZGlyZWN0IGNoaWxkIGJ5IGlkXG4gICAqXG4gICAqIFRocm93cyBhbiBlcnJvciBpZiB0aGUgY2hpbGQgaXMgbm90IGZvdW5kLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgSWRlbnRpZmllciBvZiBkaXJlY3QgY2hpbGRcbiAgICogQHJldHVybnMgQ2hpbGQgd2l0aCB0aGUgZ2l2ZW4gaWQuXG4gICAqL1xuICBwdWJsaWMgZmluZENoaWxkKGlkOiBzdHJpbmcpOiBJQ29uc3RydWN0IHtcbiAgICBjb25zdCByZXQgPSB0aGlzLnRyeUZpbmRDaGlsZChpZCk7XG4gICAgaWYgKCFyZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gY2hpbGQgd2l0aCBpZDogJyR7aWR9J2ApO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNoaWxkIGNvbnN0cnVjdCB0aGF0IGhhcyB0aGUgaWQgYERlZmF1bHRgIG9yIGBSZXNvdXJjZVwiYC5cbiAgICogVGhpcyBpcyB1c3VhbGx5IHRoZSBjb25zdHJ1Y3QgdGhhdCBwcm92aWRlcyB0aGUgYnVsayBvZiB0aGUgdW5kZXJseWluZyBmdW5jdGlvbmFsaXR5LlxuICAgKiBVc2VmdWwgZm9yIG1vZGlmaWNhdGlvbnMgb2YgdGhlIHVuZGVybHlpbmcgY29uc3RydWN0IHRoYXQgYXJlIG5vdCBhdmFpbGFibGUgYXQgdGhlIGhpZ2hlciBsZXZlbHMuXG4gICAqXG4gICAqIEB0aHJvd3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBjaGlsZFxuICAgKiBAcmV0dXJucyBhIGNvbnN0cnVjdCBvciB1bmRlZmluZWQgaWYgdGhlcmUgaXMgbm8gZGVmYXVsdCBjaGlsZFxuICAgKi9cbiAgcHVibGljIGdldCBkZWZhdWx0Q2hpbGQoKTogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMuX2RlZmF1bHRDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdENoaWxkO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc291cmNlQ2hpbGQgPSB0aGlzLnRyeUZpbmRDaGlsZCgnUmVzb3VyY2UnKTtcbiAgICBjb25zdCBkZWZhdWx0Q2hpbGQgPSB0aGlzLnRyeUZpbmRDaGlsZCgnRGVmYXVsdCcpO1xuICAgIGlmIChyZXNvdXJjZUNoaWxkICYmIGRlZmF1bHRDaGlsZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZGV0ZXJtaW5lIGRlZmF1bHQgY2hpbGQgZm9yICR7dGhpcy5wYXRofS4gVGhlcmUgaXMgYm90aCBhIGNoaWxkIHdpdGggaWQgXCJSZXNvdXJjZVwiIGFuZCBpZCBcIkRlZmF1bHRcImApO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0Q2hpbGQgfHwgcmVzb3VyY2VDaGlsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0aGUgZGVmYXVsdENoaWxkIHByb3BlcnR5LlxuICAgKlxuICAgKiBUaGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gdGhlIGNhc2VzIHdoZXJlIHRoZSBjb3JyZWN0XG4gICAqIGRlZmF1bHQgY2hpbGQgaXMgbm90IG5hbWVkICdSZXNvdXJjZScgb3IgJ0RlZmF1bHQnIGFzIGl0XG4gICAqIHNob3VsZCBiZS5cbiAgICpcbiAgICogSWYgeW91IHNldCB0aGlzIHRvIHVuZGVmaW5lZCwgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgZmluZGluZ1xuICAgKiB0aGUgY2hpbGQgbmFtZWQgJ1Jlc291cmNlJyBvciAnRGVmYXVsdCcgd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcHVibGljIHNldCBkZWZhdWx0Q2hpbGQodmFsdWU6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9kZWZhdWx0Q2hpbGQgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGwgZGlyZWN0IGNoaWxkcmVuIG9mIHRoaXMgY29uc3RydWN0LlxuICAgKi9cbiAgcHVibGljIGdldCBjaGlsZHJlbigpIHtcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLl9jaGlsZHJlbik7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoaXMgY29uc3RydWN0IGFuZCBhbGwgb2YgaXRzIGNoaWxkcmVuIGluIHRoZSBnaXZlbiBvcmRlclxuICAgKi9cbiAgcHVibGljIGZpbmRBbGwob3JkZXI6IENvbnN0cnVjdE9yZGVyID0gQ29uc3RydWN0T3JkZXIuUFJFT1JERVIpOiBJQ29uc3RydWN0W10ge1xuICAgIGNvbnN0IHJldCA9IG5ldyBBcnJheTxJQ29uc3RydWN0PigpO1xuICAgIHZpc2l0KHRoaXMuaG9zdCk7XG4gICAgcmV0dXJuIHJldDtcblxuICAgIGZ1bmN0aW9uIHZpc2l0KGM6IElDb25zdHJ1Y3QpIHtcbiAgICAgIGlmIChvcmRlciA9PT0gQ29uc3RydWN0T3JkZXIuUFJFT1JERVIpIHtcbiAgICAgICAgcmV0LnB1c2goYyk7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgYy5ub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgIHZpc2l0KGNoaWxkKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG9yZGVyID09PSBDb25zdHJ1Y3RPcmRlci5QT1NUT1JERVIpIHtcbiAgICAgICAgcmV0LnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gc2V0IGNvbnRleHR1YWwgdmFsdWVzLlxuICAgKiBDb250ZXh0IG11c3QgYmUgc2V0IGJlZm9yZSBhbnkgY2hpbGRyZW4gYXJlIGFkZGVkLCBzaW5jZSBjaGlsZHJlbiBtYXkgY29uc3VsdCBjb250ZXh0IGluZm8gZHVyaW5nIGNvbnN0cnVjdGlvbi5cbiAgICogSWYgdGhlIGtleSBhbHJlYWR5IGV4aXN0cywgaXQgd2lsbCBiZSBvdmVycmlkZGVuLlxuICAgKiBAcGFyYW0ga2V5IFRoZSBjb250ZXh0IGtleVxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIGNvbnRleHQgdmFsdWVcbiAgICovXG4gIHB1YmxpYyBzZXRDb250ZXh0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuY2hpbGRyZW4ubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbmFtZXMgPSB0aGlzLmNoaWxkcmVuLm1hcChjID0+IGMubm9kZS5pZCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzZXQgY29udGV4dCBhZnRlciBjaGlsZHJlbiBoYXZlIGJlZW4gYWRkZWQ6ICcgKyBuYW1lcy5qb2luKCcsJykpO1xuICAgIH1cbiAgICB0aGlzLl9jb250ZXh0W2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSB2YWx1ZSBmcm9tIHRyZWUgY29udGV4dCBpZiBwcmVzZW50LiBPdGhlcndpc2UsIHdvdWxkIHRocm93IGFuIGVycm9yLlxuICAgKlxuICAgKiBDb250ZXh0IGlzIHVzdWFsbHkgaW5pdGlhbGl6ZWQgYXQgdGhlIHJvb3QsIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBhdCBhbnkgcG9pbnQgaW4gdGhlIHRyZWUuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGNvbnRleHQga2V5XG4gICAqIEByZXR1cm5zIFRoZSBjb250ZXh0IHZhbHVlIG9yIHRocm93cyBlcnJvciBpZiB0aGVyZSBpcyBubyBjb250ZXh0IHZhbHVlIGZvciB0aGlzIGtleVxuICAgKi9cbiAgcHVibGljIGdldENvbnRleHQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fY29udGV4dFtrZXldO1xuXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHsgcmV0dXJuIHZhbHVlOyB9XG5cbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhdGhpcy5zY29wZT8ubm9kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBjb250ZXh0IHZhbHVlIHByZXNlbnQgZm9yICR7a2V5fSBrZXlgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zY29wZSAmJiB0aGlzLnNjb3BlLm5vZGUuZ2V0Q29udGV4dChrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyB0aGUgYWxsIGNvbnRleHQgb2YgYSBub2RlIGZyb20gdHJlZSBjb250ZXh0LlxuICAgKlxuICAgKiBDb250ZXh0IGlzIHVzdWFsbHkgaW5pdGlhbGl6ZWQgYXQgdGhlIHJvb3QsIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBhdCBhbnkgcG9pbnQgaW4gdGhlIHRyZWUuXG4gICAqXG4gICAqIEBwYXJhbSBkZWZhdWx0cyBBbnkga2V5cyB0byBvdmVycmlkZSB0aGUgcmV0cmlldmVkIGNvbnRleHRcbiAgICogQHJldHVybnMgVGhlIGNvbnRleHQgb2JqZWN0IG9yIGFuIGVtcHR5IG9iamVjdCBpZiB0aGVyZSBpcyBkaXNjb3ZlcmVkIGNvbnRleHRcbiAgICovXG4gIHB1YmxpYyBnZXRBbGxDb250ZXh0KGRlZmF1bHRzPzogb2JqZWN0KTogYW55IHtcbiAgICBpZiAodHlwZW9mIGRlZmF1bHRzID09PSAndW5kZWZpbmVkJykge1xuICAgICAgZGVmYXVsdHMgPSB7fTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zY29wZSA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiBkZWZhdWx0czsgfVxuXG4gICAgY29uc3QgdmFsdWUgPSB7IC4uLnRoaXMuX2NvbnRleHQsIC4uLmRlZmF1bHRzIH07XG4gICAgcmV0dXJuIHRoaXMuc2NvcGUgJiYgdGhpcy5zY29wZS5ub2RlLmdldEFsbENvbnRleHQodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIHZhbHVlIGZyb20gdHJlZSBjb250ZXh0LlxuICAgKlxuICAgKiBDb250ZXh0IGlzIHVzdWFsbHkgaW5pdGlhbGl6ZWQgYXQgdGhlIHJvb3QsIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBhdCBhbnkgcG9pbnQgaW4gdGhlIHRyZWUuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgVGhlIGNvbnRleHQga2V5XG4gICAqIEByZXR1cm5zIFRoZSBjb250ZXh0IHZhbHVlIG9yIGB1bmRlZmluZWRgIGlmIHRoZXJlIGlzIG5vIGNvbnRleHQgdmFsdWUgZm9yIHRoaXMga2V5LlxuICAgKi9cbiAgcHVibGljIHRyeUdldENvbnRleHQoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5fY29udGV4dFtrZXldO1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7IHJldHVybiB2YWx1ZTsgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2NvcGUgJiYgdGhpcy5zY29wZS5ub2RlLnRyeUdldENvbnRleHQoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBpbW11dGFibGUgYXJyYXkgb2YgbWV0YWRhdGEgb2JqZWN0cyBhc3NvY2lhdGVkIHdpdGggdGhpcyBjb25zdHJ1Y3QuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQsIGZvciBleGFtcGxlLCB0byBpbXBsZW1lbnQgc3VwcG9ydCBmb3IgZGVwcmVjYXRpb24gbm90aWNlcywgc291cmNlIG1hcHBpbmcsIGV0Yy5cbiAgICovXG4gIHB1YmxpYyBnZXQgbWV0YWRhdGEoKSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9tZXRhZGF0YV07XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG1ldGFkYXRhIGVudHJ5IHRvIHRoaXMgY29uc3RydWN0LlxuICAgKiBFbnRyaWVzIGFyZSBhcmJpdHJhcnkgdmFsdWVzIGFuZCB3aWxsIGFsc28gaW5jbHVkZSBhIHN0YWNrIHRyYWNlIHRvIGFsbG93IHRyYWNpbmcgYmFjayB0b1xuICAgKiB0aGUgY29kZSBsb2NhdGlvbiBmb3Igd2hlbiB0aGUgZW50cnkgd2FzIGFkZGVkLiBJdCBjYW4gYmUgdXNlZCwgZm9yIGV4YW1wbGUsIHRvIGluY2x1ZGUgc291cmNlXG4gICAqIG1hcHBpbmcgaW4gQ2xvdWRGb3JtYXRpb24gdGVtcGxhdGVzIHRvIGltcHJvdmUgZGlhZ25vc3RpY3MuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIGEgc3RyaW5nIGRlbm90aW5nIHRoZSB0eXBlIG9mIG1ldGFkYXRhXG4gICAqIEBwYXJhbSBkYXRhIHRoZSB2YWx1ZSBvZiB0aGUgbWV0YWRhdGEgKGNhbiBiZSBhIFRva2VuKS4gSWYgbnVsbC91bmRlZmluZWQsIG1ldGFkYXRhIHdpbGwgbm90IGJlIGFkZGVkLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBvcHRpb25zXG4gICAqL1xuICBwdWJsaWMgYWRkTWV0YWRhdGEodHlwZTogc3RyaW5nLCBkYXRhOiBhbnksIG9wdGlvbnM6IE1ldGFkYXRhT3B0aW9ucyA9IHsgfSk6IHZvaWQge1xuICAgIGlmIChkYXRhID09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzaG91bGRUcmFjZSA9IG9wdGlvbnMuc3RhY2tUcmFjZSA/PyBmYWxzZTtcbiAgICBjb25zdCB0cmFjZSA9IHNob3VsZFRyYWNlID8gY2FwdHVyZVN0YWNrVHJhY2Uob3B0aW9ucy50cmFjZUZyb21GdW5jdGlvbiA/PyB0aGlzLmFkZE1ldGFkYXRhKSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLl9tZXRhZGF0YS5wdXNoKHsgdHlwZSwgZGF0YSwgdHJhY2UgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWxsIHBhcmVudCBzY29wZXMgb2YgdGhpcyBjb25zdHJ1Y3QuXG4gICAqXG4gICAqIEByZXR1cm5zIGEgbGlzdCBvZiBwYXJlbnQgc2NvcGVzLiBUaGUgbGFzdCBlbGVtZW50IGluIHRoZSBsaXN0IHdpbGwgYWx3YXlzXG4gICAqIGJlIHRoZSBjdXJyZW50IGNvbnN0cnVjdCBhbmQgdGhlIGZpcnN0IGVsZW1lbnQgd2lsbCBiZSB0aGUgcm9vdCBvZiB0aGVcbiAgICogdHJlZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2NvcGVzKCk6IElDb25zdHJ1Y3RbXSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PElDb25zdHJ1Y3Q+KCk7XG5cbiAgICBsZXQgY3VycjogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZCA9IHRoaXMuaG9zdDtcbiAgICB3aGlsZSAoY3Vycikge1xuICAgICAgcmV0LnVuc2hpZnQoY3Vycik7XG4gICAgICBjdXJyID0gY3Vyci5ub2RlLnNjb3BlO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm9vdCBvZiB0aGUgY29uc3RydWN0IHRyZWUuXG4gICAqIEByZXR1cm5zIFRoZSByb290IG9mIHRoZSBjb25zdHJ1Y3QgdHJlZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgcm9vdCgpIHtcbiAgICByZXR1cm4gdGhpcy5zY29wZXNbMF07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgY29uc3RydWN0IG9yIHRoZSBzY29wZXMgaW4gd2hpY2ggaXQgaXMgZGVmaW5lZCBhcmVcbiAgICogbG9ja2VkLlxuICAgKi9cbiAgcHVibGljIGdldCBsb2NrZWQoKSB7XG4gICAgaWYgKHRoaXMuX2xvY2tlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2NvcGUgJiYgdGhpcy5zY29wZS5ub2RlLmxvY2tlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBvcmRlcmluZyBkZXBlbmRlbmN5IG9uIGFub3RoZXIgY29uc3RydWN0LlxuICAgKlxuICAgKiBBbiBgSURlcGVuZGFibGVgXG4gICAqL1xuICBwdWJsaWMgYWRkRGVwZW5kZW5jeSguLi5kZXBzOiBJRGVwZW5kYWJsZVtdKSB7XG4gICAgZm9yIChjb25zdCBkIG9mIGRlcHMpIHtcbiAgICAgIHRoaXMuX2RlcGVuZGVuY2llcy5hZGQoZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbGwgZGVwZW5kZW5jaWVzIHJlZ2lzdGVyZWQgb24gdGhpcyBub2RlIChub24tcmVjdXJzaXZlKS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVwZW5kZW5jaWVzKCk6IElDb25zdHJ1Y3RbXSB7XG4gICAgY29uc3QgcmVzdWx0ID0gbmV3IEFycmF5PElDb25zdHJ1Y3Q+KCk7XG4gICAgZm9yIChjb25zdCBkZXAgb2YgdGhpcy5fZGVwZW5kZW5jaWVzKSB7XG4gICAgICBmb3IgKGNvbnN0IHJvb3Qgb2YgRGVwZW5kYWJsZS5vZihkZXApLmRlcGVuZGVuY3lSb290cykge1xuICAgICAgICByZXN1bHQucHVzaChyb290KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgY2hpbGQgd2l0aCB0aGUgZ2l2ZW4gbmFtZSwgaWYgcHJlc2VudC5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciBhIGNoaWxkIHdpdGggdGhlIGdpdmVuIG5hbWUgd2FzIGRlbGV0ZWQuXG4gICAqIEBleHBlcmltZW50YWxcbiAgICovXG4gIHB1YmxpYyB0cnlSZW1vdmVDaGlsZChjaGlsZE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICghKGNoaWxkTmFtZSBpbiB0aGlzLl9jaGlsZHJlbikpIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgZGVsZXRlIHRoaXMuX2NoaWxkcmVuW2NoaWxkTmFtZV07XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHZhbGlkYXRpb24gdG8gdGhpcyBjb25zdHJ1Y3QuXG4gICAqXG4gICAqIFdoZW4gYG5vZGUudmFsaWRhdGUoKWAgaXMgY2FsbGVkLCB0aGUgYHZhbGlkYXRlKClgIG1ldGhvZCB3aWxsIGJlIGNhbGxlZCBvblxuICAgKiBhbGwgdmFsaWRhdGlvbnMgYW5kIGFsbCBlcnJvcnMgd2lsbCBiZSByZXR1cm5lZC5cbiAgICpcbiAgICogQHBhcmFtIHZhbGlkYXRpb24gVGhlIHZhbGlkYXRpb24gb2JqZWN0XG4gICAqL1xuICBwdWJsaWMgYWRkVmFsaWRhdGlvbih2YWxpZGF0aW9uOiBJVmFsaWRhdGlvbikge1xuICAgIHRoaXMuX3ZhbGlkYXRpb25zLnB1c2godmFsaWRhdGlvbik7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoaXMgY29uc3RydWN0LlxuICAgKlxuICAgKiBJbnZva2VzIHRoZSBgdmFsaWRhdGUoKWAgbWV0aG9kIG9uIGFsbCB2YWxpZGF0aW9ucyBhZGRlZCB0aHJvdWdoXG4gICAqIGBhZGRWYWxpZGF0aW9uKClgLlxuICAgKlxuICAgKiBAcmV0dXJucyBhbiBhcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzIGFzc29jaWF0ZWQgd2l0aCB0aGlzXG4gICAqIGNvbnN0cnVjdC5cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZSgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZGVwcmVjYXRlZCA9IFsndmFsaWRhdGUnLCAnb25WYWxpZGF0ZScsICdzeW50aGVzaXplJywgJ29uU3ludGhlc2l6ZScsICdwcmVwYXJlJywgJ29uUHJlcGFyZSddO1xuICAgIGZvciAoY29uc3QgbWV0aG9kIG9mIGRlcHJlY2F0ZWQpIHtcbiAgICAgIGlmICh0eXBlb2YoKHRoaXMuaG9zdCBhcyBhbnkpW21ldGhvZF0pID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdGhlIGNvbnN0cnVjdCBcIiR7dGhpcy5wYXRofVwiIGhhcyBhIFwiJHttZXRob2R9KClcIiBtZXRob2Qgd2hpY2ggaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC4gVXNlIFwiY29uc3RydWN0Lm5vZGUuYWRkVmFsaWRhdGlvbigpXCIgdG8gYWRkIHZhbGlkYXRpb25zIHRvIGEgY29uc3RydWN0YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXJyb3JzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICBmb3IgKGNvbnN0IHYgb2YgdGhpcy5fdmFsaWRhdGlvbnMpIHtcbiAgICAgIGVycm9ycy5wdXNoKC4uLnYudmFsaWRhdGUoKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2NrcyB0aGlzIGNvbnN0cnVjdCBmcm9tIGFsbG93aW5nIG1vcmUgY2hpbGRyZW4gdG8gYmUgYWRkZWQuIEFmdGVyIHRoaXNcbiAgICogY2FsbCwgbm8gbW9yZSBjaGlsZHJlbiBjYW4gYmUgYWRkZWQgdG8gdGhpcyBjb25zdHJ1Y3Qgb3IgdG8gYW55IGNoaWxkcmVuLlxuICAgKi9cbiAgcHVibGljIGxvY2soKSB7XG4gICAgdGhpcy5fbG9ja2VkID0gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY2hpbGQgY29uc3RydWN0IHRvIHRoaXMgbm9kZS5cbiAgICpcbiAgICogQHBhcmFtIGNoaWxkIFRoZSBjaGlsZCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGNoaWxkTmFtZSBUaGUgdHlwZSBuYW1lIG9mIHRoZSBjaGlsZCBjb25zdHJ1Y3QuXG4gICAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBwYXRoIHBhcnQgbmFtZSBvZiB0aGUgY2hpbGRcbiAgICovXG4gIHByaXZhdGUgYWRkQ2hpbGQoY2hpbGQ6IENvbnN0cnVjdCwgY2hpbGROYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5sb2NrZWQpIHtcblxuICAgICAgLy8gc3BlY2lhbCBlcnJvciBpZiByb290IGlzIGxvY2tlZFxuICAgICAgaWYgKCF0aGlzLnBhdGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgYWRkIGNoaWxkcmVuIGR1cmluZyBzeW50aGVzaXMnKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgYWRkIGNoaWxkcmVuIHRvIFwiJHt0aGlzLnBhdGh9XCIgZHVyaW5nIHN5bnRoZXNpc2ApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9jaGlsZHJlbltjaGlsZE5hbWVdKSB7XG4gICAgICBjb25zdCBuYW1lID0gdGhpcy5pZCA/PyAnJztcbiAgICAgIGNvbnN0IHR5cGVOYW1lID0gdGhpcy5ob3N0LmNvbnN0cnVjdG9yLm5hbWU7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZXJlIGlzIGFscmVhZHkgYSBDb25zdHJ1Y3Qgd2l0aCBuYW1lICcke2NoaWxkTmFtZX0nIGluICR7dHlwZU5hbWV9JHtuYW1lLmxlbmd0aCA+IDAgPyAnIFsnICsgbmFtZSArICddJyA6ICcnfWApO1xuICAgIH1cblxuICAgIHRoaXMuX2NoaWxkcmVuW2NoaWxkTmFtZV0gPSBjaGlsZDtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGJ1aWxkaW5nIGJsb2NrIG9mIHRoZSBjb25zdHJ1Y3QgZ3JhcGguXG4gKlxuICogQWxsIGNvbnN0cnVjdHMgYmVzaWRlcyB0aGUgcm9vdCBjb25zdHJ1Y3QgbXVzdCBiZSBjcmVhdGVkIHdpdGhpbiB0aGUgc2NvcGUgb2ZcbiAqIGFub3RoZXIgY29uc3RydWN0LlxuICovXG5leHBvcnQgY2xhc3MgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYHhgIGlzIGEgY29uc3RydWN0LlxuICAgKlxuICAgKiBVc2UgdGhpcyBtZXRob2QgaW5zdGVhZCBvZiBgaW5zdGFuY2VvZmAgdG8gcHJvcGVybHkgZGV0ZWN0IGBDb25zdHJ1Y3RgXG4gICAqIGluc3RhbmNlcywgZXZlbiB3aGVuIHRoZSBjb25zdHJ1Y3QgbGlicmFyeSBpcyBzeW1saW5rZWQuXG4gICAqXG4gICAqIEV4cGxhbmF0aW9uOiBpbiBKYXZhU2NyaXB0LCBtdWx0aXBsZSBjb3BpZXMgb2YgdGhlIGBjb25zdHJ1Y3RzYCBsaWJyYXJ5IG9uXG4gICAqIGRpc2sgYXJlIHNlZW4gYXMgaW5kZXBlbmRlbnQsIGNvbXBsZXRlbHkgZGlmZmVyZW50IGxpYnJhcmllcy4gQXMgYVxuICAgKiBjb25zZXF1ZW5jZSwgdGhlIGNsYXNzIGBDb25zdHJ1Y3RgIGluIGVhY2ggY29weSBvZiB0aGUgYGNvbnN0cnVjdHNgIGxpYnJhcnlcbiAgICogaXMgc2VlbiBhcyBhIGRpZmZlcmVudCBjbGFzcywgYW5kIGFuIGluc3RhbmNlIG9mIG9uZSBjbGFzcyB3aWxsIG5vdCB0ZXN0IGFzXG4gICAqIGBpbnN0YW5jZW9mYCB0aGUgb3RoZXIgY2xhc3MuIGBucG0gaW5zdGFsbGAgd2lsbCBub3QgY3JlYXRlIGluc3RhbGxhdGlvbnNcbiAgICogbGlrZSB0aGlzLCBidXQgdXNlcnMgbWF5IG1hbnVhbGx5IHN5bWxpbmsgY29uc3RydWN0IGxpYnJhcmllcyB0b2dldGhlciBvclxuICAgKiB1c2UgYSBtb25vcmVwbyB0b29sOiBpbiB0aG9zZSBjYXNlcywgbXVsdGlwbGUgY29waWVzIG9mIHRoZSBgY29uc3RydWN0c2BcbiAgICogbGlicmFyeSBjYW4gYmUgYWNjaWRlbnRhbGx5IGluc3RhbGxlZCwgYW5kIGBpbnN0YW5jZW9mYCB3aWxsIGJlaGF2ZVxuICAgKiB1bnByZWRpY3RhYmx5LiBJdCBpcyBzYWZlc3QgdG8gYXZvaWQgdXNpbmcgYGluc3RhbmNlb2ZgLCBhbmQgdXNpbmdcbiAgICogdGhpcyB0eXBlLXRlc3RpbmcgbWV0aG9kIGluc3RlYWQuXG4gICAqXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYHhgIGlzIGFuIG9iamVjdCBjcmVhdGVkIGZyb20gYSBjbGFzcyB3aGljaCBleHRlbmRzIGBDb25zdHJ1Y3RgLlxuICAgKiBAcGFyYW0geCBBbnkgb2JqZWN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzQ29uc3RydWN0KHg6IGFueSk6IHggaXMgQ29uc3RydWN0IHtcbiAgICByZXR1cm4geCAmJiB0eXBlb2YgeCA9PT0gJ29iamVjdCcgJiYgeFtDT05TVFJVQ1RfU1lNXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdHJlZSBub2RlLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5vZGU6IE5vZGU7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29uc3RydWN0IG5vZGUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRC4gTXVzdCBiZSB1bmlxdWUgYW1vbmdzdCBzaWJsaW5ncy4gSWZcbiAgICogdGhlIElEIGluY2x1ZGVzIGEgcGF0aCBzZXBhcmF0b3IgKGAvYCksIHRoZW4gaXQgd2lsbCBiZSByZXBsYWNlZCBieSBkb3VibGVcbiAgICogZGFzaCBgLS1gLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIHRoaXMubm9kZSA9IG5ldyBOb2RlKHRoaXMsIHNjb3BlLCBpZCk7XG5cbiAgICAvLyBpbXBsZW1lbnQgSURlcGVuZGFibGUgcHJpdmF0ZWx5XG4gICAgRGVwZW5kYWJsZS5pbXBsZW1lbnQodGhpcywge1xuICAgICAgZGVwZW5kZW5jeVJvb3RzOiBbdGhpc10sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIGNvbnN0cnVjdC5cbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlLnBhdGggfHwgJzxyb290Pic7XG4gIH1cbn1cblxuLyoqXG4gKiBJbXBsZW1lbnQgdGhpcyBpbnRlcmZhY2UgaW4gb3JkZXIgZm9yIHRoZSBjb25zdHJ1Y3QgdG8gYmUgYWJsZSB0byB2YWxpZGF0ZSBpdHNlbGYuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVZhbGlkYXRpb24ge1xuICAvKipcbiAgICogVmFsaWRhdGUgdGhlIGN1cnJlbnQgY29uc3RydWN0LlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBjYW4gYmUgaW1wbGVtZW50ZWQgYnkgZGVyaXZlZCBjb25zdHJ1Y3RzIGluIG9yZGVyIHRvIHBlcmZvcm1cbiAgICogdmFsaWRhdGlvbiBsb2dpYy4gSXQgaXMgY2FsbGVkIG9uIGFsbCBjb25zdHJ1Y3RzIGJlZm9yZSBzeW50aGVzaXMuXG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIG9yIGFuIGVtcHR5IGFycmF5IGlmIHRoZXJlIHRoZSBjb25zdHJ1Y3QgaXMgdmFsaWQuXG4gICAqL1xuICB2YWxpZGF0ZSgpOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBJbiB3aGF0IG9yZGVyIHRvIHJldHVybiBjb25zdHJ1Y3RzXG4gKi9cbmV4cG9ydCBlbnVtIENvbnN0cnVjdE9yZGVyIHtcbiAgLyoqXG4gICAqIERlcHRoLWZpcnN0LCBwcmUtb3JkZXJcbiAgICovXG4gIFBSRU9SREVSLFxuXG4gIC8qKlxuICAgKiBEZXB0aC1maXJzdCwgcG9zdC1vcmRlciAobGVhZiBub2RlcyBmaXJzdClcbiAgICovXG4gIFBPU1RPUkRFUlxufVxuXG5jb25zdCBQQVRIX1NFUF9SRUdFWCA9IG5ldyBSZWdFeHAoYCR7Tm9kZS5QQVRIX1NFUH1gLCAnZycpO1xuXG4vKipcbiAqIFJldHVybiBhIHNhbml0aXplZCB2ZXJzaW9uIG9mIGFuIGFyYml0cmFyeSBzdHJpbmcsIHNvIGl0IGNhbiBiZSB1c2VkIGFzIGFuIElEXG4gKi9cbmZ1bmN0aW9uIHNhbml0aXplSWQoaWQ6IHN0cmluZykge1xuICAvLyBFc2NhcGUgcGF0aCBzZXBzIGFzIGRvdWJsZSBkYXNoZXNcbiAgcmV0dXJuIGlkLnJlcGxhY2UoUEFUSF9TRVBfUkVHRVgsICctLScpO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBjb25zdHJ1Y3QuYWRkTWV0YWRhdGEoKWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFPcHRpb25zIHtcbiAgLyoqXG4gICAqIEluY2x1ZGUgc3RhY2sgdHJhY2Ugd2l0aCBtZXRhZGF0YSBlbnRyeS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIEphdmFTY3JpcHQgZnVuY3Rpb24gdG8gYmVnaW4gdHJhY2luZyBmcm9tLlxuICAgKlxuICAgKiBUaGlzIG9wdGlvbiBpcyBpZ25vcmVkIHVubGVzcyBgc3RhY2tUcmFjZWAgaXMgYHRydWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCBhZGRNZXRhZGF0YSgpXG4gICAqL1xuICByZWFkb25seSB0cmFjZUZyb21GdW5jdGlvbj86IGFueTtcbn1cblxuLy8gTWFyayBhbGwgaW5zdGFuY2VzIG9mICdDb25zdHJ1Y3QnXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoQ29uc3RydWN0LnByb3RvdHlwZSwgQ09OU1RSVUNUX1NZTSwge1xuICB2YWx1ZTogdHJ1ZSxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIHdyaXRhYmxlOiBmYWxzZSxcbn0pO1xuIl19
455
+ /**
456
+ * Creates a new root construct node.
457
+ *
458
+ * The root construct represents the top of the construct tree and is not contained within a parent scope itself.
459
+ * For root constructs, the id is optional.
460
+ */
461
+ class RootConstruct extends Construct {
462
+ /**
463
+ * Creates a new root construct node.
464
+ *
465
+ * @param id The scoped construct ID. Must be unique amongst siblings. If
466
+ * the ID includes a path separator (`/`), then it will be replaced by double
467
+ * dash `--`.
468
+ */
469
+ constructor(id) {
470
+ super(undefined, id ?? '');
471
+ }
472
+ }
473
+ exports.RootConstruct = RootConstruct;
474
+ _c = JSII_RTTI_SYMBOL_1;
475
+ RootConstruct[_c] = { fqn: "constructs.RootConstruct", version: "10.4.2" };
476
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUF1RDtBQUV2RCx1REFBMEQ7QUFDMUQsaURBQStDO0FBRS9DLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQVl6RDs7R0FFRztBQUNILE1BQWEsSUFBSTtJQU1mOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFxQjtRQUNwQyxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQXlCRCxZQUFvQyxJQUFlLEVBQUUsS0FBaUIsRUFBRSxFQUFVO1FBQTlDLFNBQUksR0FBSixJQUFJLENBQVc7UUFUM0MsWUFBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLHdDQUF3QztRQUNoRCxjQUFTLEdBQWlDLEVBQUcsQ0FBQztRQUM5QyxhQUFRLEdBQTJCLEVBQUcsQ0FBQztRQUN2QyxjQUFTLEdBQUcsSUFBSSxLQUFLLEVBQWlCLENBQUM7UUFDdkMsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBZSxDQUFDO1FBRXZDLGlCQUFZLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUl2RCxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLHdDQUF3QztRQUV2RCxJQUFJLENBQUMsRUFBRSxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN0QixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELHNCQUFzQjtRQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVB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LENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLFFBQVEsQ0FBQztJQUNwQyxDQUFDOztBQXBESCw4QkFxREM7OztBQWlCRDs7R0FFRztBQUNILElBQVksY0FVWDtBQVZELFdBQVksY0FBYztJQUN4Qjs7T0FFRztJQUNILDJEQUFRLENBQUE7SUFFUjs7T0FFRztJQUNILDZEQUFTLENBQUE7QUFDWCxDQUFDLEVBVlcsY0FBYyw4QkFBZCxjQUFjLFFBVXpCO0FBRUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFM0Q7O0dBRUc7QUFDSCxTQUFTLFVBQVUsQ0FBQyxFQUFVO0lBQzVCLG9DQUFvQztJQUNwQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFzQkQsb0NBQW9DO0FBQ3BDLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUU7SUFDeEQsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsS0FBSztJQUNqQixRQUFRLEVBQUUsS0FBSztDQUNoQixDQUFDLENBQUM7QUFFSDs7Ozs7R0FLRztBQUNILE1BQWEsYUFBYyxTQUFRLFNBQVM7SUFDMUM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFXO1FBQ3JCLEtBQUssQ0FBQyxTQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDOztBQVZILHNDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVwZW5kYWJsZSwgSURlcGVuZGFibGUgfSBmcm9tICcuL2RlcGVuZGVuY3knO1xuaW1wb3J0IHsgTWV0YWRhdGFFbnRyeSB9IGZyb20gJy4vbWV0YWRhdGEnO1xuaW1wb3J0IHsgY2FwdHVyZVN0YWNrVHJhY2UgfSBmcm9tICcuL3ByaXZhdGUvc3RhY2stdHJhY2UnO1xuaW1wb3J0IHsgYWRkcmVzc09mIH0gZnJvbSAnLi9wcml2YXRlL3VuaXF1ZWlkJztcblxuY29uc3QgQ09OU1RSVUNUX1NZTSA9IFN5bWJvbC5mb3IoJ2NvbnN0cnVjdHMuQ29uc3RydWN0Jyk7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29uc3RydWN0IGV4dGVuZHMgSURlcGVuZGFibGUge1xuICAvKipcbiAgICogVGhlIHRyZWUgbm9kZS5cbiAgICovXG4gIHJlYWRvbmx5IG5vZGU6IE5vZGU7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgY29uc3RydWN0IG5vZGUgaW4gdGhlIHNjb3BlIHRyZWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb2RlIHtcbiAgLyoqXG4gICAqIFNlcGFyYXRvciB1c2VkIHRvIGRlbGltaXQgY29uc3RydWN0IHBhdGggY29tcG9uZW50cy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFUSF9TRVAgPSAnLyc7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5vZGUgYXNzb2NpYXRlZCB3aXRoIGEgY29uc3RydWN0LlxuICAgKiBAcGFyYW0gY29uc3RydWN0IHRoZSBjb25zdHJ1Y3RcbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBjb25zdHJ1Y3Qubm9kZWAgaW5zdGVhZFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZihjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBOb2RlIHtcbiAgICByZXR1cm4gY29uc3RydWN0Lm5vZGU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc2NvcGUgaW4gd2hpY2ggdGhpcyBjb25zdHJ1Y3QgaXMgZGVmaW5lZC5cbiAgICpcbiAgICogVGhlIHZhbHVlIGlzIGB1bmRlZmluZWRgIGF0IHRoZSByb290IG9mIHRoZSBjb25zdHJ1Y3Qgc2NvcGUgdHJlZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzY29wZT86IElDb25zdHJ1Y3Q7XG5cbiAgLyoqXG4gICAqIFRoZSBpZCBvZiB0aGlzIGNvbnN0cnVjdCB3aXRoaW4gdGhlIGN1cnJlbnQgc2NvcGUuXG4gICAqXG4gICAqIFRoaXMgaXMgYSBzY29wZS11bmlxdWUgaWQuIFRvIG9idGFpbiBhbiBhcHAtdW5pcXVlIGlkIGZvciB0aGlzIGNvbnN0cnVjdCwgdXNlIGBhZGRyYC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgX2xvY2tlZCA9IGZhbHNlOyAvLyBpZiB0aGlzIGlzIFwidHJ1ZVwiLCBhZGRDaGlsZCB3aWxsIGZhaWxcbiAgcHJpdmF0ZSByZWFkb25seSBfY2hpbGRyZW46IHsgW2lkOiBzdHJpbmddOiBJQ29uc3RydWN0IH0gPSB7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbnRleHQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgX21ldGFkYXRhID0gbmV3IEFycmF5PE1ldGFkYXRhRW50cnk+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlcGVuZGVuY2llcyA9IG5ldyBTZXQ8SURlcGVuZGFibGU+KCk7XG4gIHByaXZhdGUgX2RlZmF1bHRDaGlsZDogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsaWRhdGlvbnMgPSBuZXcgQXJyYXk8SVZhbGlkYXRpb24+KCk7XG4gIHByaXZhdGUgX2FkZHI/OiBzdHJpbmc7IC8vIGNhY2hlXG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaG9zdDogQ29uc3RydWN0LCBzY29wZTogSUNvbnN0cnVjdCwgaWQ6IHN0cmluZykge1xuICAgIGlkID0gaWQgPz8gJyc7IC8vIGlmIHVuZGVmaW5lZCwgY29udmVydCB0byBlbXB0eSBzdHJpbmdcblxuICAgIHRoaXMuaWQgPSBzYW5pdGl6ZUlkKGlkKTtcbiAgICB0aGlzLnNjb3BlID0gc2NvcGU7XG5cbiAgICBpZiAoc2NvcGUgJiYgIXRoaXMuaWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignT25seSByb290IGNvbnN0cnVjdHMgbWF5IGhhdmUgYW4gZW1wdHkgSUQnKTtcbiAgICB9XG5cbiAgICAvLyBhZGQgdG8gcGFyZW50IHNjb3BlXG4gICAgc2NvcGU/Lm5vZGUuYWRkQ2hpbGQoaG9zdCwgdGhpcy5pZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZ1bGwsIGFic29sdXRlIHBhdGggb2YgdGhpcyBjb25zdHJ1Y3QgaW4gdGhlIHRyZWUuXG4gICAqXG4gICAqIENvbXBvbmVudHMgYXJlIHNlcGFyYXRlZCBieSAnLycuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBhdGgoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb21wb25lbnRzID0gW107XG4gICAgZm9yIChjb25zdCBzY29wZSBvZiB0aGlzLnNjb3Blcykge1xuICAgICAgaWYgKHNjb3BlLm5vZGUuaWQpIHtcbiAgICAgICAgY29tcG9uZW50cy5wdXNoKHNjb3BlLm5vZGUuaWQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29tcG9uZW50cy5qb2luKE5vZGUuUEFUSF9TRVApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb3BhcXVlIHRyZWUtdW5pcXVlIGFkZHJlc3MgZm9yIHRoaXMgY29uc3RydWN0LlxuICAgKlxuICAgKiBBZGRyZXNzZXMgYXJlIDQyIGNoYXJhY3RlcnMgaGV4YWRlY2ltYWwgc3RyaW5ncy4gVGhleSBiZWdpbiB3aXRoIFwiYzhcIlxuICAgKiBmb2xsb3dlZCBieSA0MCBsb3dlcmNhc2UgaGV4YWRlY2ltYWwgY2hhcmFjdGVycyAoMC05YS1mKS5cbiAgICpcbiAgICogQWRkcmVzc2VzIGFyZSBjYWxjdWxhdGVkIHVzaW5nIGEgU0hBLTEgb2YgdGhlIGNvbXBvbmVudHMgb2YgdGhlIGNvbnN0cnVjdFxuICAgKiBwYXRoLlxuICAgKlxuICAgKiBUbyBlbmFibGUgcmVmYWN0b3Jpbmcgb2YgY29uc3RydWN0IHRyZWVzLCBjb25zdHJ1Y3RzIHdpdGggdGhlIElEIGBEZWZhdWx0YFxuICAgKiB3aWxsIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIGNhbGN1bGF0aW9uLiBJbiB0aG9zZSBjYXNlcyBjb25zdHJ1Y3RzIGluIHRoZVxuICAgKiBzYW1lIHRyZWUgbWF5IGhhdmUgdGhlIHNhbWUgYWRkcmVzcy5cbiAgICpcbiAgICogQGV4YW1wbGUgYzgzYTI4NDZlNTA2YmNjNWYxMDY4MmI1NjQwODRiY2EyZDI3NTcwOWVlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGFkZHIoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuX2FkZHIpIHtcbiAgICAgIHRoaXMuX2FkZHIgPSBhZGRyZXNzT2YodGhpcy5zY29wZXMubWFwKGMgPT4gYy5ub2RlLmlkKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2FkZHI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgZGlyZWN0IGNoaWxkIGJ5IGlkLCBvciB1bmRlZmluZWRcbiAgICpcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgZGlyZWN0IGNoaWxkXG4gICAqIEByZXR1cm5zIHRoZSBjaGlsZCBpZiBmb3VuZCwgb3IgdW5kZWZpbmVkXG4gICAqL1xuICBwdWJsaWMgdHJ5RmluZENoaWxkKGlkOiBzdHJpbmcpOiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fY2hpbGRyZW5bc2FuaXRpemVJZChpZCldO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIGRpcmVjdCBjaGlsZCBieSBpZFxuICAgKlxuICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGNoaWxkIGlzIG5vdCBmb3VuZC5cbiAgICpcbiAgICogQHBhcmFtIGlkIElkZW50aWZpZXIgb2YgZGlyZWN0IGNoaWxkXG4gICAqIEByZXR1cm5zIENoaWxkIHdpdGggdGhlIGdpdmVuIGlkLlxuICAgKi9cbiAgcHVibGljIGZpbmRDaGlsZChpZDogc3RyaW5nKTogSUNvbnN0cnVjdCB7XG4gICAgY29uc3QgcmV0ID0gdGhpcy50cnlGaW5kQ2hpbGQoaWQpO1xuICAgIGlmICghcmV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGNoaWxkIHdpdGggaWQ6ICcke2lkfSdgKTtcbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjaGlsZCBjb25zdHJ1Y3QgdGhhdCBoYXMgdGhlIGlkIGBEZWZhdWx0YCBvciBgUmVzb3VyY2VcImAuXG4gICAqIFRoaXMgaXMgdXN1YWxseSB0aGUgY29uc3RydWN0IHRoYXQgcHJvdmlkZXMgdGhlIGJ1bGsgb2YgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb25hbGl0eS5cbiAgICogVXNlZnVsIGZvciBtb2RpZmljYXRpb25zIG9mIHRoZSB1bmRlcmx5aW5nIGNvbnN0cnVjdCB0aGF0IGFyZSBub3QgYXZhaWxhYmxlIGF0IHRoZSBoaWdoZXIgbGV2ZWxzLlxuICAgKlxuICAgKiBAdGhyb3dzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgY2hpbGRcbiAgICogQHJldHVybnMgYSBjb25zdHJ1Y3Qgb3IgdW5kZWZpbmVkIGlmIHRoZXJlIGlzIG5vIGRlZmF1bHQgY2hpbGRcbiAgICovXG4gIHB1YmxpYyBnZXQgZGVmYXVsdENoaWxkKCk6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLl9kZWZhdWx0Q2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHRDaGlsZDtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvdXJjZUNoaWxkID0gdGhpcy50cnlGaW5kQ2hpbGQoJ1Jlc291cmNlJyk7XG4gICAgY29uc3QgZGVmYXVsdENoaWxkID0gdGhpcy50cnlGaW5kQ2hpbGQoJ0RlZmF1bHQnKTtcbiAgICBpZiAocmVzb3VyY2VDaGlsZCAmJiBkZWZhdWx0Q2hpbGQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGRldGVybWluZSBkZWZhdWx0IGNoaWxkIGZvciAke3RoaXMucGF0aH0uIFRoZXJlIGlzIGJvdGggYSBjaGlsZCB3aXRoIGlkIFwiUmVzb3VyY2VcIiBhbmQgaWQgXCJEZWZhdWx0XCJgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVmYXVsdENoaWxkIHx8IHJlc291cmNlQ2hpbGQ7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHRDaGlsZCBwcm9wZXJ0eS5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgb25seSBiZSB1c2VkIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgY29ycmVjdFxuICAgKiBkZWZhdWx0IGNoaWxkIGlzIG5vdCBuYW1lZCAnUmVzb3VyY2UnIG9yICdEZWZhdWx0JyBhcyBpdFxuICAgKiBzaG91bGQgYmUuXG4gICAqXG4gICAqIElmIHlvdSBzZXQgdGhpcyB0byB1bmRlZmluZWQsIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGZpbmRpbmdcbiAgICogdGhlIGNoaWxkIG5hbWVkICdSZXNvdXJjZScgb3IgJ0RlZmF1bHQnIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHB1YmxpYyBzZXQgZGVmYXVsdENoaWxkKHZhbHVlOiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZGVmYXVsdENoaWxkID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQWxsIGRpcmVjdCBjaGlsZHJlbiBvZiB0aGlzIGNvbnN0cnVjdC5cbiAgICovXG4gIHB1YmxpYyBnZXQgY2hpbGRyZW4oKSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fY2hpbGRyZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGlzIGNvbnN0cnVjdCBhbmQgYWxsIG9mIGl0cyBjaGlsZHJlbiBpbiB0aGUgZ2l2ZW4gb3JkZXJcbiAgICovXG4gIHB1YmxpYyBmaW5kQWxsKG9yZGVyOiBDb25zdHJ1Y3RPcmRlciA9IENvbnN0cnVjdE9yZGVyLlBSRU9SREVSKTogSUNvbnN0cnVjdFtdIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8SUNvbnN0cnVjdD4oKTtcbiAgICB2aXNpdCh0aGlzLmhvc3QpO1xuICAgIHJldHVybiByZXQ7XG5cbiAgICBmdW5jdGlvbiB2aXNpdChjOiBJQ29uc3RydWN0KSB7XG4gICAgICBpZiAob3JkZXIgPT09IENvbnN0cnVjdE9yZGVyLlBSRU9SREVSKSB7XG4gICAgICAgIHJldC5wdXNoKGMpO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIGMubm9kZS5jaGlsZHJlbikge1xuICAgICAgICB2aXNpdChjaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcmRlciA9PT0gQ29uc3RydWN0T3JkZXIuUE9TVE9SREVSKSB7XG4gICAgICAgIHJldC5wdXNoKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIHRvIHNldCBjb250ZXh0dWFsIHZhbHVlcy5cbiAgICogQ29udGV4dCBtdXN0IGJlIHNldCBiZWZvcmUgYW55IGNoaWxkcmVuIGFyZSBhZGRlZCwgc2luY2UgY2hpbGRyZW4gbWF5IGNvbnN1bHQgY29udGV4dCBpbmZvIGR1cmluZyBjb25zdHJ1Y3Rpb24uXG4gICAqIElmIHRoZSBrZXkgYWxyZWFkeSBleGlzdHMsIGl0IHdpbGwgYmUgb3ZlcnJpZGRlbi5cbiAgICogQHBhcmFtIGtleSBUaGUgY29udGV4dCBrZXlcbiAgICogQHBhcmFtIHZhbHVlIFRoZSBjb250ZXh0IHZhbHVlXG4gICAqL1xuICBwdWJsaWMgc2V0Q29udGV4dChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGlmICh0aGlzLmNoaWxkcmVuLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IG5hbWVzID0gdGhpcy5jaGlsZHJlbi5tYXAoYyA9PiBjLm5vZGUuaWQpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc2V0IGNvbnRleHQgYWZ0ZXIgY2hpbGRyZW4gaGF2ZSBiZWVuIGFkZGVkOiAnICsgbmFtZXMuam9pbignLCcpKTtcbiAgICB9XG4gICAgdGhpcy5fY29udGV4dFtrZXldID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgdmFsdWUgZnJvbSB0cmVlIGNvbnRleHQgaWYgcHJlc2VudC4gT3RoZXJ3aXNlLCB3b3VsZCB0aHJvdyBhbiBlcnJvci5cbiAgICpcbiAgICogQ29udGV4dCBpcyB1c3VhbGx5IGluaXRpYWxpemVkIGF0IHRoZSByb290LCBidXQgY2FuIGJlIG92ZXJyaWRkZW4gYXQgYW55IHBvaW50IGluIHRoZSB0cmVlLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IFRoZSBjb250ZXh0IGtleVxuICAgKiBAcmV0dXJucyBUaGUgY29udGV4dCB2YWx1ZSBvciB0aHJvd3MgZXJyb3IgaWYgdGhlcmUgaXMgbm8gY29udGV4dCB2YWx1ZSBmb3IgdGhpcyBrZXlcbiAgICovXG4gIHB1YmxpYyBnZXRDb250ZXh0KGtleTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuX2NvbnRleHRba2V5XTtcblxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7IHJldHVybiB2YWx1ZTsgfVxuXG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgJiYgIXRoaXMuc2NvcGU/Lm5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gY29udGV4dCB2YWx1ZSBwcmVzZW50IGZvciAke2tleX0ga2V5YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc2NvcGUgJiYgdGhpcy5zY29wZS5ub2RlLmdldENvbnRleHQoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGFsbCBjb250ZXh0IG9mIGEgbm9kZSBmcm9tIHRyZWUgY29udGV4dC5cbiAgICpcbiAgICogQ29udGV4dCBpcyB1c3VhbGx5IGluaXRpYWxpemVkIGF0IHRoZSByb290LCBidXQgY2FuIGJlIG92ZXJyaWRkZW4gYXQgYW55IHBvaW50IGluIHRoZSB0cmVlLlxuICAgKlxuICAgKiBAcGFyYW0gZGVmYXVsdHMgQW55IGtleXMgdG8gb3ZlcnJpZGUgdGhlIHJldHJpZXZlZCBjb250ZXh0XG4gICAqIEByZXR1cm5zIFRoZSBjb250ZXh0IG9iamVjdCBvciBhbiBlbXB0eSBvYmplY3QgaWYgdGhlcmUgaXMgZGlzY292ZXJlZCBjb250ZXh0XG4gICAqL1xuICBwdWJsaWMgZ2V0QWxsQ29udGV4dChkZWZhdWx0cz86IG9iamVjdCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGVzLnJldmVyc2UoKVxuICAgICAgLnJlZHVjZSgoYSwgcykgPT4gKHsgLi4uKHMubm9kZS5fY29udGV4dCksIC4uLmEgfSksIHsgLi4uZGVmYXVsdHMgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgdmFsdWUgZnJvbSB0cmVlIGNvbnRleHQuXG4gICAqXG4gICAqIENvbnRleHQgaXMgdXN1YWxseSBpbml0aWFsaXplZCBhdCB0aGUgcm9vdCwgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGF0IGFueSBwb2ludCBpbiB0aGUgdHJlZS5cbiAgICpcbiAgICogQHBhcmFtIGtleSBUaGUgY29udGV4dCBrZXlcbiAgICogQHJldHVybnMgVGhlIGNvbnRleHQgdmFsdWUgb3IgYHVuZGVmaW5lZGAgaWYgdGhlcmUgaXMgbm8gY29udGV4dCB2YWx1ZSBmb3IgdGhpcyBrZXkuXG4gICAqL1xuICBwdWJsaWMgdHJ5R2V0Q29udGV4dChrZXk6IHN0cmluZyk6IGFueSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLl9jb250ZXh0W2tleV07XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHsgcmV0dXJuIHZhbHVlOyB9XG5cbiAgICByZXR1cm4gdGhpcy5zY29wZSAmJiB0aGlzLnNjb3BlLm5vZGUudHJ5R2V0Q29udGV4dChrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGltbXV0YWJsZSBhcnJheSBvZiBtZXRhZGF0YSBvYmplY3RzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNvbnN0cnVjdC5cbiAgICogVGhpcyBjYW4gYmUgdXNlZCwgZm9yIGV4YW1wbGUsIHRvIGltcGxlbWVudCBzdXBwb3J0IGZvciBkZXByZWNhdGlvbiBub3RpY2VzLCBzb3VyY2UgbWFwcGluZywgZXRjLlxuICAgKi9cbiAgcHVibGljIGdldCBtZXRhZGF0YSgpIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuX21ldGFkYXRhXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgbWV0YWRhdGEgZW50cnkgdG8gdGhpcyBjb25zdHJ1Y3QuXG4gICAqIEVudHJpZXMgYXJlIGFyYml0cmFyeSB2YWx1ZXMgYW5kIHdpbGwgYWxzbyBpbmNsdWRlIGEgc3RhY2sgdHJhY2UgdG8gYWxsb3cgdHJhY2luZyBiYWNrIHRvXG4gICAqIHRoZSBjb2RlIGxvY2F0aW9uIGZvciB3aGVuIHRoZSBlbnRyeSB3YXMgYWRkZWQuIEl0IGNhbiBiZSB1c2VkLCBmb3IgZXhhbXBsZSwgdG8gaW5jbHVkZSBzb3VyY2VcbiAgICogbWFwcGluZyBpbiBDbG91ZEZvcm1hdGlvbiB0ZW1wbGF0ZXMgdG8gaW1wcm92ZSBkaWFnbm9zdGljcy5cbiAgICogTm90ZSB0aGF0IGNvbnN0cnVjdCBtZXRhZGF0YSBpcyBub3QgdGhlIHNhbWUgYXMgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgbWV0YWRhdGEgYW5kIGlzIG5ldmVyIHdyaXR0ZW4gdG8gdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlLlxuICAgKiBUaGUgbWV0YWRhdGEgZW50cmllcyBhcmUgd3JpdHRlbiB0byB0aGUgQ2xvdWQgQXNzZW1ibHkgTWFuaWZlc3QgaWYgdGhlIGB0cmVlTWV0YWRhdGFgIHByb3BlcnR5IGlzIHNwZWNpZmllZCBpbiB0aGUgcHJvcHMgb2YgdGhlIEFwcCB0aGF0IGNvbnRhaW5zIHRoaXMgQ29uc3RydWN0LlxuICAgKlxuICAgKiBAcGFyYW0gdHlwZSBhIHN0cmluZyBkZW5vdGluZyB0aGUgdHlwZSBvZiBtZXRhZGF0YVxuICAgKiBAcGFyYW0gZGF0YSB0aGUgdmFsdWUgb2YgdGhlIG1ldGFkYXRhIChjYW4gYmUgYSBUb2tlbikuIElmIG51bGwvdW5kZWZpbmVkLCBtZXRhZGF0YSB3aWxsIG5vdCBiZSBhZGRlZC5cbiAgICogQHBhcmFtIG9wdGlvbnMgb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIGFkZE1ldGFkYXRhKHR5cGU6IHN0cmluZywgZGF0YTogYW55LCBvcHRpb25zOiBNZXRhZGF0YU9wdGlvbnMgPSB7IH0pOiB2b2lkIHtcbiAgICBpZiAoZGF0YSA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvdWxkVHJhY2UgPSBvcHRpb25zLnN0YWNrVHJhY2UgPz8gZmFsc2U7XG4gICAgY29uc3QgdHJhY2UgPSBzaG91bGRUcmFjZSA/IGNhcHR1cmVTdGFja1RyYWNlKG9wdGlvbnMudHJhY2VGcm9tRnVuY3Rpb24gPz8gdGhpcy5hZGRNZXRhZGF0YSkgOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5fbWV0YWRhdGEucHVzaCh7IHR5cGUsIGRhdGEsIHRyYWNlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbCBwYXJlbnQgc2NvcGVzIG9mIHRoaXMgY29uc3RydWN0LlxuICAgKlxuICAgKiBAcmV0dXJucyBhIGxpc3Qgb2YgcGFyZW50IHNjb3Blcy4gVGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgbGlzdCB3aWxsIGFsd2F5c1xuICAgKiBiZSB0aGUgY3VycmVudCBjb25zdHJ1Y3QgYW5kIHRoZSBmaXJzdCBlbGVtZW50IHdpbGwgYmUgdGhlIHJvb3Qgb2YgdGhlXG4gICAqIHRyZWUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNjb3BlcygpOiBJQ29uc3RydWN0W10ge1xuICAgIGNvbnN0IHJldCA9IG5ldyBBcnJheTxJQ29uc3RydWN0PigpO1xuXG4gICAgbGV0IGN1cnI6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSB0aGlzLmhvc3Q7XG4gICAgd2hpbGUgKGN1cnIpIHtcbiAgICAgIHJldC51bnNoaWZ0KGN1cnIpO1xuICAgICAgY3VyciA9IGN1cnIubm9kZS5zY29wZTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJvb3Qgb2YgdGhlIGNvbnN0cnVjdCB0cmVlLlxuICAgKiBAcmV0dXJucyBUaGUgcm9vdCBvZiB0aGUgY29uc3RydWN0IHRyZWUuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJvb3QoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGVzWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIGNvbnN0cnVjdCBvciB0aGUgc2NvcGVzIGluIHdoaWNoIGl0IGlzIGRlZmluZWQgYXJlXG4gICAqIGxvY2tlZC5cbiAgICovXG4gIHB1YmxpYyBnZXQgbG9ja2VkKCkge1xuICAgIGlmICh0aGlzLl9sb2NrZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNjb3BlICYmIHRoaXMuc2NvcGUubm9kZS5sb2NrZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gb3JkZXJpbmcgZGVwZW5kZW5jeSBvbiBhbm90aGVyIGNvbnN0cnVjdC5cbiAgICpcbiAgICogQW4gYElEZXBlbmRhYmxlYFxuICAgKi9cbiAgcHVibGljIGFkZERlcGVuZGVuY3koLi4uZGVwczogSURlcGVuZGFibGVbXSkge1xuICAgIGZvciAoY29uc3QgZCBvZiBkZXBzKSB7XG4gICAgICB0aGlzLl9kZXBlbmRlbmNpZXMuYWRkKGQpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYWxsIGRlcGVuZGVuY2llcyByZWdpc3RlcmVkIG9uIHRoaXMgbm9kZSAobm9uLXJlY3Vyc2l2ZSkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGRlcGVuZGVuY2llcygpOiBJQ29uc3RydWN0W10ge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxJQ29uc3RydWN0PigpO1xuICAgIGZvciAoY29uc3QgZGVwIG9mIHRoaXMuX2RlcGVuZGVuY2llcykge1xuICAgICAgZm9yIChjb25zdCByb290IG9mIERlcGVuZGFibGUub2YoZGVwKS5kZXBlbmRlbmN5Um9vdHMpIHtcbiAgICAgICAgcmVzdWx0LnB1c2gocm9vdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGNoaWxkIHdpdGggdGhlIGdpdmVuIG5hbWUsIGlmIHByZXNlbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgYSBjaGlsZCB3aXRoIHRoZSBnaXZlbiBuYW1lIHdhcyBkZWxldGVkLlxuICAgKi9cbiAgcHVibGljIHRyeVJlbW92ZUNoaWxkKGNoaWxkTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCEoY2hpbGROYW1lIGluIHRoaXMuX2NoaWxkcmVuKSkgeyByZXR1cm4gZmFsc2U7IH1cbiAgICBkZWxldGUgdGhpcy5fY2hpbGRyZW5bY2hpbGROYW1lXTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdmFsaWRhdGlvbiB0byB0aGlzIGNvbnN0cnVjdC5cbiAgICpcbiAgICogV2hlbiBgbm9kZS52YWxpZGF0ZSgpYCBpcyBjYWxsZWQsIHRoZSBgdmFsaWRhdGUoKWAgbWV0aG9kIHdpbGwgYmUgY2FsbGVkIG9uXG4gICAqIGFsbCB2YWxpZGF0aW9ucyBhbmQgYWxsIGVycm9ycyB3aWxsIGJlIHJldHVybmVkLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsaWRhdGlvbiBUaGUgdmFsaWRhdGlvbiBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBhZGRWYWxpZGF0aW9uKHZhbGlkYXRpb246IElWYWxpZGF0aW9uKSB7XG4gICAgdGhpcy5fdmFsaWRhdGlvbnMucHVzaCh2YWxpZGF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhpcyBjb25zdHJ1Y3QuXG4gICAqXG4gICAqIEludm9rZXMgdGhlIGB2YWxpZGF0ZSgpYCBtZXRob2Qgb24gYWxsIHZhbGlkYXRpb25zIGFkZGVkIHRocm91Z2hcbiAgICogYGFkZFZhbGlkYXRpb24oKWAuXG4gICAqXG4gICAqIEByZXR1cm5zIGFuIGFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMgYXNzb2NpYXRlZCB3aXRoIHRoaXNcbiAgICogY29uc3RydWN0LlxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsaWRhdGlvbnMuZmxhdE1hcCh2ID0+IHYudmFsaWRhdGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogTG9ja3MgdGhpcyBjb25zdHJ1Y3QgZnJvbSBhbGxvd2luZyBtb3JlIGNoaWxkcmVuIHRvIGJlIGFkZGVkLiBBZnRlciB0aGlzXG4gICAqIGNhbGwsIG5vIG1vcmUgY2hpbGRyZW4gY2FuIGJlIGFkZGVkIHRvIHRoaXMgY29uc3RydWN0IG9yIHRvIGFueSBjaGlsZHJlbi5cbiAgICovXG4gIHB1YmxpYyBsb2NrKCkge1xuICAgIHRoaXMuX2xvY2tlZCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNoaWxkIGNvbnN0cnVjdCB0byB0aGlzIG5vZGUuXG4gICAqXG4gICAqIEBwYXJhbSBjaGlsZCBUaGUgY2hpbGQgY29uc3RydWN0XG4gICAqIEBwYXJhbSBjaGlsZE5hbWUgVGhlIHR5cGUgbmFtZSBvZiB0aGUgY2hpbGQgY29uc3RydWN0LlxuICAgKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgcGF0aCBwYXJ0IG5hbWUgb2YgdGhlIGNoaWxkXG4gICAqL1xuICBwcml2YXRlIGFkZENoaWxkKGNoaWxkOiBDb25zdHJ1Y3QsIGNoaWxkTmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMubG9ja2VkKSB7XG5cbiAgICAgIC8vIHNwZWNpYWwgZXJyb3IgaWYgcm9vdCBpcyBsb2NrZWRcbiAgICAgIGlmICghdGhpcy5wYXRoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGFkZCBjaGlsZHJlbiBkdXJpbmcgc3ludGhlc2lzJyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGFkZCBjaGlsZHJlbiB0byBcIiR7dGhpcy5wYXRofVwiIGR1cmluZyBzeW50aGVzaXNgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY2hpbGRyZW5bY2hpbGROYW1lXSkge1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMuaWQgPz8gJyc7XG4gICAgICBjb25zdCB0eXBlTmFtZSA9IHRoaXMuaG9zdC5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBhbHJlYWR5IGEgQ29uc3RydWN0IHdpdGggbmFtZSAnJHtjaGlsZE5hbWV9JyBpbiAke3R5cGVOYW1lfSR7bmFtZS5sZW5ndGggPiAwID8gJyBbJyArIG5hbWUgKyAnXScgOiAnJ31gKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jaGlsZHJlbltjaGlsZE5hbWVdID0gY2hpbGQ7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBidWlsZGluZyBibG9jayBvZiB0aGUgY29uc3RydWN0IGdyYXBoLlxuICpcbiAqIEFsbCBjb25zdHJ1Y3RzIGJlc2lkZXMgdGhlIHJvb3QgY29uc3RydWN0IG11c3QgYmUgY3JlYXRlZCB3aXRoaW4gdGhlIHNjb3BlIG9mXG4gKiBhbm90aGVyIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogQ2hlY2tzIGlmIGB4YCBpcyBhIGNvbnN0cnVjdC5cbiAgICpcbiAgICogVXNlIHRoaXMgbWV0aG9kIGluc3RlYWQgb2YgYGluc3RhbmNlb2ZgIHRvIHByb3Blcmx5IGRldGVjdCBgQ29uc3RydWN0YFxuICAgKiBpbnN0YW5jZXMsIGV2ZW4gd2hlbiB0aGUgY29uc3RydWN0IGxpYnJhcnkgaXMgc3ltbGlua2VkLlxuICAgKlxuICAgKiBFeHBsYW5hdGlvbjogaW4gSmF2YVNjcmlwdCwgbXVsdGlwbGUgY29waWVzIG9mIHRoZSBgY29uc3RydWN0c2AgbGlicmFyeSBvblxuICAgKiBkaXNrIGFyZSBzZWVuIGFzIGluZGVwZW5kZW50LCBjb21wbGV0ZWx5IGRpZmZlcmVudCBsaWJyYXJpZXMuIEFzIGFcbiAgICogY29uc2VxdWVuY2UsIHRoZSBjbGFzcyBgQ29uc3RydWN0YCBpbiBlYWNoIGNvcHkgb2YgdGhlIGBjb25zdHJ1Y3RzYCBsaWJyYXJ5XG4gICAqIGlzIHNlZW4gYXMgYSBkaWZmZXJlbnQgY2xhc3MsIGFuZCBhbiBpbnN0YW5jZSBvZiBvbmUgY2xhc3Mgd2lsbCBub3QgdGVzdCBhc1xuICAgKiBgaW5zdGFuY2VvZmAgdGhlIG90aGVyIGNsYXNzLiBgbnBtIGluc3RhbGxgIHdpbGwgbm90IGNyZWF0ZSBpbnN0YWxsYXRpb25zXG4gICAqIGxpa2UgdGhpcywgYnV0IHVzZXJzIG1heSBtYW51YWxseSBzeW1saW5rIGNvbnN0cnVjdCBsaWJyYXJpZXMgdG9nZXRoZXIgb3JcbiAgICogdXNlIGEgbW9ub3JlcG8gdG9vbDogaW4gdGhvc2UgY2FzZXMsIG11bHRpcGxlIGNvcGllcyBvZiB0aGUgYGNvbnN0cnVjdHNgXG4gICAqIGxpYnJhcnkgY2FuIGJlIGFjY2lkZW50YWxseSBpbnN0YWxsZWQsIGFuZCBgaW5zdGFuY2VvZmAgd2lsbCBiZWhhdmVcbiAgICogdW5wcmVkaWN0YWJseS4gSXQgaXMgc2FmZXN0IHRvIGF2b2lkIHVzaW5nIGBpbnN0YW5jZW9mYCwgYW5kIHVzaW5nXG4gICAqIHRoaXMgdHlwZS10ZXN0aW5nIG1ldGhvZCBpbnN0ZWFkLlxuICAgKlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGB4YCBpcyBhbiBvYmplY3QgY3JlYXRlZCBmcm9tIGEgY2xhc3Mgd2hpY2ggZXh0ZW5kcyBgQ29uc3RydWN0YC5cbiAgICogQHBhcmFtIHggQW55IG9iamVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0NvbnN0cnVjdCh4OiBhbnkpOiB4IGlzIENvbnN0cnVjdCB7XG4gICAgcmV0dXJuIHggJiYgdHlwZW9mIHggPT09ICdvYmplY3QnICYmIHhbQ09OU1RSVUNUX1NZTV07XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRyZWUgbm9kZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBub2RlOiBOb2RlO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGNvbnN0cnVjdCBub2RlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSUQuIE11c3QgYmUgdW5pcXVlIGFtb25nc3Qgc2libGluZ3MuIElmXG4gICAqIHRoZSBJRCBpbmNsdWRlcyBhIHBhdGggc2VwYXJhdG9yIChgL2ApLCB0aGVuIGl0IHdpbGwgYmUgcmVwbGFjZWQgYnkgZG91YmxlXG4gICAqIGRhc2ggYC0tYC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLm5vZGUgPSBuZXcgTm9kZSh0aGlzLCBzY29wZSwgaWQpO1xuXG4gICAgLy8gaW1wbGVtZW50IElEZXBlbmRhYmxlIHByaXZhdGVseVxuICAgIERlcGVuZGFibGUuaW1wbGVtZW50KHRoaXMsIHtcbiAgICAgIGRlcGVuZGVuY3lSb290czogW3RoaXNdLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBjb25zdHJ1Y3QuXG4gICAqL1xuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZS5wYXRoIHx8ICc8cm9vdD4nO1xuICB9XG59XG5cbi8qKlxuICogSW1wbGVtZW50IHRoaXMgaW50ZXJmYWNlIGluIG9yZGVyIGZvciB0aGUgY29uc3RydWN0IHRvIGJlIGFibGUgdG8gdmFsaWRhdGUgaXRzZWxmLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElWYWxpZGF0aW9uIHtcbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoZSBjdXJyZW50IGNvbnN0cnVjdC5cbiAgICpcbiAgICogVGhpcyBtZXRob2QgY2FuIGJlIGltcGxlbWVudGVkIGJ5IGRlcml2ZWQgY29uc3RydWN0cyBpbiBvcmRlciB0byBwZXJmb3JtXG4gICAqIHZhbGlkYXRpb24gbG9naWMuIEl0IGlzIGNhbGxlZCBvbiBhbGwgY29uc3RydWN0cyBiZWZvcmUgc3ludGhlc2lzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBvciBhbiBlbXB0eSBhcnJheSBpZiB0aGVyZSB0aGUgY29uc3RydWN0IGlzIHZhbGlkLlxuICAgKi9cbiAgdmFsaWRhdGUoKTogc3RyaW5nW107XG59XG5cbi8qKlxuICogSW4gd2hhdCBvcmRlciB0byByZXR1cm4gY29uc3RydWN0c1xuICovXG5leHBvcnQgZW51bSBDb25zdHJ1Y3RPcmRlciB7XG4gIC8qKlxuICAgKiBEZXB0aC1maXJzdCwgcHJlLW9yZGVyXG4gICAqL1xuICBQUkVPUkRFUixcblxuICAvKipcbiAgICogRGVwdGgtZmlyc3QsIHBvc3Qtb3JkZXIgKGxlYWYgbm9kZXMgZmlyc3QpXG4gICAqL1xuICBQT1NUT1JERVJcbn1cblxuY29uc3QgUEFUSF9TRVBfUkVHRVggPSBuZXcgUmVnRXhwKGAke05vZGUuUEFUSF9TRVB9YCwgJ2cnKTtcblxuLyoqXG4gKiBSZXR1cm4gYSBzYW5pdGl6ZWQgdmVyc2lvbiBvZiBhbiBhcmJpdHJhcnkgc3RyaW5nLCBzbyBpdCBjYW4gYmUgdXNlZCBhcyBhbiBJRFxuICovXG5mdW5jdGlvbiBzYW5pdGl6ZUlkKGlkOiBzdHJpbmcpIHtcbiAgLy8gRXNjYXBlIHBhdGggc2VwcyBhcyBkb3VibGUgZGFzaGVzXG4gIHJldHVybiBpZC5yZXBsYWNlKFBBVEhfU0VQX1JFR0VYLCAnLS0nKTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBgY29uc3RydWN0LmFkZE1ldGFkYXRhKClgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJbmNsdWRlIHN0YWNrIHRyYWNlIHdpdGggbWV0YWRhdGEgZW50cnkuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBKYXZhU2NyaXB0IGZ1bmN0aW9uIHRvIGJlZ2luIHRyYWNpbmcgZnJvbS5cbiAgICpcbiAgICogVGhpcyBvcHRpb24gaXMgaWdub3JlZCB1bmxlc3MgYHN0YWNrVHJhY2VgIGlzIGB0cnVlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgYWRkTWV0YWRhdGEoKVxuICAgKi9cbiAgcmVhZG9ubHkgdHJhY2VGcm9tRnVuY3Rpb24/OiBhbnk7XG59XG5cbi8vIE1hcmsgYWxsIGluc3RhbmNlcyBvZiAnQ29uc3RydWN0J1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbnN0cnVjdC5wcm90b3R5cGUsIENPTlNUUlVDVF9TWU0sIHtcbiAgdmFsdWU6IHRydWUsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICB3cml0YWJsZTogZmFsc2UsXG59KTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IHJvb3QgY29uc3RydWN0IG5vZGUuXG4gKlxuICogVGhlIHJvb3QgY29uc3RydWN0IHJlcHJlc2VudHMgdGhlIHRvcCBvZiB0aGUgY29uc3RydWN0IHRyZWUgYW5kIGlzIG5vdCBjb250YWluZWQgd2l0aGluIGEgcGFyZW50IHNjb3BlIGl0c2VsZi5cbiAqIEZvciByb290IGNvbnN0cnVjdHMsIHRoZSBpZCBpcyBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGNsYXNzIFJvb3RDb25zdHJ1Y3QgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyByb290IGNvbnN0cnVjdCBub2RlLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgVGhlIHNjb3BlZCBjb25zdHJ1Y3QgSUQuIE11c3QgYmUgdW5pcXVlIGFtb25nc3Qgc2libGluZ3MuIElmXG4gICAqIHRoZSBJRCBpbmNsdWRlcyBhIHBhdGggc2VwYXJhdG9yIChgL2ApLCB0aGVuIGl0IHdpbGwgYmUgcmVwbGFjZWQgYnkgZG91YmxlXG4gICAqIGRhc2ggYC0tYC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGlkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIodW5kZWZpbmVkIGFzIGFueSwgaWQgPz8gJycpO1xuICB9XG59XG4iXX0=
@@ -17,8 +17,6 @@ export interface IDependable {
17
17
  *
18
18
  * This class can be used when a set of constructs which are disjoint in the
19
19
  * construct tree needs to be combined to be used as a single dependable.
20
- *
21
- * @experimental
22
20
  */
23
21
  export declare class DependencyGroup implements IDependable {
24
22
  private readonly _deps;
@@ -46,8 +44,6 @@ export declare class DependencyGroup implements IDependable {
46
44
  * Dependable.implement(construct, {
47
45
  * dependencyRoots: [construct],
48
46
  * });
49
- *
50
- * @experimental
51
47
  */
52
48
  export declare abstract class Dependable {
53
49
  /**
@@ -8,8 +8,6 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
8
8
  *
9
9
  * This class can be used when a set of constructs which are disjoint in the
10
10
  * construct tree needs to be combined to be used as a single dependable.
11
- *
12
- * @experimental
13
11
  */
14
12
  class DependencyGroup {
15
13
  constructor(...deps) {
@@ -33,9 +31,9 @@ class DependencyGroup {
33
31
  this._deps.push(...scopes);
34
32
  }
35
33
  }
36
- _a = JSII_RTTI_SYMBOL_1;
37
- DependencyGroup[_a] = { fqn: "constructs.DependencyGroup", version: "10.3.0" };
38
34
  exports.DependencyGroup = DependencyGroup;
35
+ _a = JSII_RTTI_SYMBOL_1;
36
+ DependencyGroup[_a] = { fqn: "constructs.DependencyGroup", version: "10.4.2" };
39
37
  const DEPENDABLE_SYMBOL = Symbol.for('@aws-cdk/core.DependableTrait');
40
38
  /**
41
39
  * Trait for IDependable
@@ -55,8 +53,6 @@ const DEPENDABLE_SYMBOL = Symbol.for('@aws-cdk/core.DependableTrait');
55
53
  * Dependable.implement(construct, {
56
54
  * dependencyRoots: [construct],
57
55
  * });
58
- *
59
- * @experimental
60
56
  */
61
57
  class Dependable {
62
58
  /**
@@ -86,7 +82,7 @@ class Dependable {
86
82
  return this.of(instance);
87
83
  }
88
84
  }
89
- _b = JSII_RTTI_SYMBOL_1;
90
- Dependable[_b] = { fqn: "constructs.Dependable", version: "10.3.0" };
91
85
  exports.Dependable = Dependable;
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBaUJBOzs7Ozs7O0dBT0c7QUFDSCxNQUFhLGVBQWU7SUFHMUIsWUFBWSxHQUFHLElBQW1CO1FBRmpCLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBZSxDQUFDO1FBR2hELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUVsQixVQUFVLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRTtZQUN6QixJQUFJLGVBQWU7Z0JBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxFQUFjLENBQUM7Z0JBQ3ZDLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtvQkFDMUIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7aUJBQ2xEO2dCQUNELE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7U0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksR0FBRyxDQUFDLEdBQUcsTUFBcUI7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDOzs7O0FBeEJVLDBDQUFlO0FBMkI1QixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQztBQUV0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFDSCxNQUFzQixVQUFVO0lBQzlCOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFxQixFQUFFLEtBQWlCO1FBQzlELDZFQUE2RTtRQUM3RSw4RUFBOEU7UUFDOUUsZ0NBQWdDO1FBQy9CLFFBQWdCLENBQUMsaUJBQWlCLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFxQjtRQUNwQyxNQUFNLEdBQUcsR0FBSSxRQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxRQUFRLDRFQUE0RSxDQUFDLENBQUM7U0FDMUc7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQXFCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7O0FBNUJtQixnQ0FBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElDb25zdHJ1Y3QgfSBmcm9tICcuL2NvbnN0cnVjdCc7XG5cbi8qKlxuICogVHJhaXQgbWFya2VyIGZvciBjbGFzc2VzIHRoYXQgY2FuIGJlIGRlcGVuZGVkIHVwb25cbiAqXG4gKiBUaGUgcHJlc2VuY2Ugb2YgdGhpcyBpbnRlcmZhY2UgaW5kaWNhdGVzIHRoYXQgYW4gb2JqZWN0IGhhc1xuICogYW4gYElEZXBlbmRhYmxlYCBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBUaGlzIGludGVyZmFjZSBjYW4gYmUgdXNlZCB0byB0YWtlIGFuIChvcmRlcmluZykgZGVwZW5kZW5jeSBvbiBhIHNldCBvZlxuICogY29uc3RydWN0cy4gQW4gb3JkZXJpbmcgZGVwZW5kZW5jeSBpbXBsaWVzIHRoYXQgdGhlIHJlc291cmNlcyByZXByZXNlbnRlZCBieVxuICogdGhvc2UgY29uc3RydWN0cyBhcmUgZGVwbG95ZWQgYmVmb3JlIHRoZSByZXNvdXJjZXMgZGVwZW5kaW5nIE9OIHRoZW0gYXJlXG4gKiBkZXBsb3llZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGVwZW5kYWJsZSB7XG4gIC8vIEVtcHR5LCB0aGlzIGludGVyZmFjZSBpcyBhIHRyYWl0IG1hcmtlclxufVxuXG4vKipcbiAqIEEgc2V0IG9mIGNvbnN0cnVjdHMgdG8gYmUgdXNlZCBhcyBhIGRlcGVuZGFibGVcbiAqXG4gKiBUaGlzIGNsYXNzIGNhbiBiZSB1c2VkIHdoZW4gYSBzZXQgb2YgY29uc3RydWN0cyB3aGljaCBhcmUgZGlzam9pbnQgaW4gdGhlXG4gKiBjb25zdHJ1Y3QgdHJlZSBuZWVkcyB0byBiZSBjb21iaW5lZCB0byBiZSB1c2VkIGFzIGEgc2luZ2xlIGRlcGVuZGFibGUuXG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeUdyb3VwIGltcGxlbWVudHMgSURlcGVuZGFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXBzID0gbmV3IEFycmF5PElEZXBlbmRhYmxlPigpO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmRlcHM6IElEZXBlbmRhYmxlW10pIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgIERlcGVuZGFibGUuaW1wbGVtZW50KHRoaXMsIHtcbiAgICAgIGdldCBkZXBlbmRlbmN5Um9vdHMoKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxJQ29uc3RydWN0PigpO1xuICAgICAgICBmb3IgKGNvbnN0IGQgb2Ygc2VsZi5fZGVwcykge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLkRlcGVuZGFibGUub2YoZCkuZGVwZW5kZW5jeVJvb3RzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkKC4uLmRlcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGNvbnN0cnVjdCB0byB0aGUgZGVwZW5kZW5jeSByb290c1xuICAgKi9cbiAgcHVibGljIGFkZCguLi5zY29wZXM6IElEZXBlbmRhYmxlW10pIHtcbiAgICB0aGlzLl9kZXBzLnB1c2goLi4uc2NvcGVzKTtcbiAgfVxufVxuXG5jb25zdCBERVBFTkRBQkxFX1NZTUJPTCA9IFN5bWJvbC5mb3IoJ0Bhd3MtY2RrL2NvcmUuRGVwZW5kYWJsZVRyYWl0Jyk7XG5cbi8qKlxuICogVHJhaXQgZm9yIElEZXBlbmRhYmxlXG4gKlxuICogVHJhaXRzIGFyZSBpbnRlcmZhY2VzIHRoYXQgYXJlIHByaXZhdGVseSBpbXBsZW1lbnRlZCBieSBvYmplY3RzLiBJbnN0ZWFkIG9mXG4gKiBzaG93aW5nIHVwIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIG9mIGEgY2xhc3MsIHRoZXkgbmVlZCB0byBiZSBxdWVyaWVkXG4gKiBleHBsaWNpdGx5LiBUaGlzIGlzIHVzZWQgdG8gaW1wbGVtZW50IGNlcnRhaW4gZnJhbWV3b3JrIGZlYXR1cmVzIHRoYXQgYXJlXG4gKiBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSBDb25zdHJ1Y3QgY29uc3VtZXJzLCBhbmQgc28gc2hvdWxkIGJlIGhpZGRlblxuICogZnJvbSBhY2NpZGVudGFsIHVzZS5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzYWdlXG4gKiBjb25zdCByb290cyA9IERlcGVuZGFibGUub2YoY29uc3RydWN0KS5kZXBlbmRlbmN5Um9vdHM7XG4gKlxuICogLy8gRGVmaW5pdGlvblxuICogRGVwZW5kYWJsZS5pbXBsZW1lbnQoY29uc3RydWN0LCB7XG4gKiAgICAgICBkZXBlbmRlbmN5Um9vdHM6IFtjb25zdHJ1Y3RdLFxuICogfSk7XG4gKlxuICogQGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGVwZW5kYWJsZSB7XG4gIC8qKlxuICAgKiBUdXJuIGFueSBvYmplY3QgaW50byBhbiBJRGVwZW5kYWJsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaW1wbGVtZW50KGluc3RhbmNlOiBJRGVwZW5kYWJsZSwgdHJhaXQ6IERlcGVuZGFibGUpIHtcbiAgICAvLyBJIHdvdWxkIGFsc28gbGlrZSB0byByZWZlcmVuY2UgY2xhc3NlcyAodG8gY3V0IGRvd24gb24gdGhlIGxpc3Qgb2Ygb2JqZWN0c1xuICAgIC8vIHdlIG5lZWQgdG8gbWFuYWdlKSwgYnV0IHdlIGNhbid0IGRvIHRoYXQgZWl0aGVyIHNpbmNlIGpzaWkgZG9lc24ndCBoYXZlIHRoZVxuICAgIC8vIGNvbmNlcHQgb2YgYSBjbGFzcyByZWZlcmVuY2UuXG4gICAgKGluc3RhbmNlIGFzIGFueSlbREVQRU5EQUJMRV9TWU1CT0xdID0gdHJhaXQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBtYXRjaGluZyBEZXBlbmRhYmxlIGZvciB0aGUgZ2l2ZW4gY2xhc3MgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKGluc3RhbmNlOiBJRGVwZW5kYWJsZSk6IERlcGVuZGFibGUge1xuICAgIGNvbnN0IHJldCA9IChpbnN0YW5jZSBhcyBhbnkpW0RFUEVOREFCTEVfU1lNQk9MXTtcbiAgICBpZiAoIXJldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2luc3RhbmNlfSBkb2VzIG5vdCBpbXBsZW1lbnQgSURlcGVuZGFibGUuIFVzZSBcIkRlcGVuZGFibGUuaW1wbGVtZW50KClcIiB0byBpbXBsZW1lbnRgKTtcbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1hdGNoaW5nIERlcGVuZGFibGUgZm9yIHRoZSBnaXZlbiBjbGFzcyBpbnN0YW5jZS5cbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBvZmBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0KGluc3RhbmNlOiBJRGVwZW5kYWJsZSk6IERlcGVuZGFibGUge1xuICAgIHJldHVybiB0aGlzLm9mKGluc3RhbmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2V0IG9mIGNvbnN0cnVjdHMgdGhhdCBmb3JtIHRoZSByb290IG9mIHRoaXMgZGVwZW5kYWJsZVxuICAgKlxuICAgKiBBbGwgcmVzb3VyY2VzIHVuZGVyIGFsbCByZXR1cm5lZCBjb25zdHJ1Y3RzIGFyZSBpbmNsdWRlZCBpbiB0aGUgb3JkZXJpbmdcbiAgICogZGVwZW5kZW5jeS5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBkZXBlbmRlbmN5Um9vdHM6IElDb25zdHJ1Y3RbXTtcbn1cbiJdfQ==
86
+ _b = JSII_RTTI_SYMBOL_1;
87
+ Dependable[_b] = { fqn: "constructs.Dependable", version: "10.4.2" };
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBaUJBOzs7OztHQUtHO0FBQ0gsTUFBYSxlQUFlO0lBRzFCLFlBQVksR0FBRyxJQUFtQjtRQUZqQixVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUdoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7UUFFbEIsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDekIsSUFBSSxlQUFlO2dCQUNqQixNQUFNLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO2dCQUN2QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDM0IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ25ELENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxHQUFHLENBQUMsR0FBRyxNQUFxQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7O0FBeEJILDBDQXlCQzs7O0FBRUQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFFdEU7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQXNCLFVBQVU7SUFDOUI7O09BRUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQXFCLEVBQUUsS0FBaUI7UUFDOUQsNkVBQTZFO1FBQzdFLDhFQUE4RTtRQUM5RSxnQ0FBZ0M7UUFDL0IsUUFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMvQyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQXFCO1FBQ3BDLE1BQU0sR0FBRyxHQUFJLFFBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsUUFBUSw0RUFBNEUsQ0FBQyxDQUFDO1FBQzNHLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQXFCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQixDQUFDOztBQTVCSCxnQ0FxQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSAnLi9jb25zdHJ1Y3QnO1xuXG4vKipcbiAqIFRyYWl0IG1hcmtlciBmb3IgY2xhc3NlcyB0aGF0IGNhbiBiZSBkZXBlbmRlZCB1cG9uXG4gKlxuICogVGhlIHByZXNlbmNlIG9mIHRoaXMgaW50ZXJmYWNlIGluZGljYXRlcyB0aGF0IGFuIG9iamVjdCBoYXNcbiAqIGFuIGBJRGVwZW5kYWJsZWAgaW1wbGVtZW50YXRpb24uXG4gKlxuICogVGhpcyBpbnRlcmZhY2UgY2FuIGJlIHVzZWQgdG8gdGFrZSBhbiAob3JkZXJpbmcpIGRlcGVuZGVuY3kgb24gYSBzZXQgb2ZcbiAqIGNvbnN0cnVjdHMuIEFuIG9yZGVyaW5nIGRlcGVuZGVuY3kgaW1wbGllcyB0aGF0IHRoZSByZXNvdXJjZXMgcmVwcmVzZW50ZWQgYnlcbiAqIHRob3NlIGNvbnN0cnVjdHMgYXJlIGRlcGxveWVkIGJlZm9yZSB0aGUgcmVzb3VyY2VzIGRlcGVuZGluZyBPTiB0aGVtIGFyZVxuICogZGVwbG95ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURlcGVuZGFibGUge1xuICAvLyBFbXB0eSwgdGhpcyBpbnRlcmZhY2UgaXMgYSB0cmFpdCBtYXJrZXJcbn1cblxuLyoqXG4gKiBBIHNldCBvZiBjb25zdHJ1Y3RzIHRvIGJlIHVzZWQgYXMgYSBkZXBlbmRhYmxlXG4gKlxuICogVGhpcyBjbGFzcyBjYW4gYmUgdXNlZCB3aGVuIGEgc2V0IG9mIGNvbnN0cnVjdHMgd2hpY2ggYXJlIGRpc2pvaW50IGluIHRoZVxuICogY29uc3RydWN0IHRyZWUgbmVlZHMgdG8gYmUgY29tYmluZWQgdG8gYmUgdXNlZCBhcyBhIHNpbmdsZSBkZXBlbmRhYmxlLlxuICovXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeUdyb3VwIGltcGxlbWVudHMgSURlcGVuZGFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXBzID0gbmV3IEFycmF5PElEZXBlbmRhYmxlPigpO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmRlcHM6IElEZXBlbmRhYmxlW10pIHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcblxuICAgIERlcGVuZGFibGUuaW1wbGVtZW50KHRoaXMsIHtcbiAgICAgIGdldCBkZXBlbmRlbmN5Um9vdHMoKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxJQ29uc3RydWN0PigpO1xuICAgICAgICBmb3IgKGNvbnN0IGQgb2Ygc2VsZi5fZGVwcykge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLkRlcGVuZGFibGUub2YoZCkuZGVwZW5kZW5jeVJvb3RzKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkKC4uLmRlcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGNvbnN0cnVjdCB0byB0aGUgZGVwZW5kZW5jeSByb290c1xuICAgKi9cbiAgcHVibGljIGFkZCguLi5zY29wZXM6IElEZXBlbmRhYmxlW10pIHtcbiAgICB0aGlzLl9kZXBzLnB1c2goLi4uc2NvcGVzKTtcbiAgfVxufVxuXG5jb25zdCBERVBFTkRBQkxFX1NZTUJPTCA9IFN5bWJvbC5mb3IoJ0Bhd3MtY2RrL2NvcmUuRGVwZW5kYWJsZVRyYWl0Jyk7XG5cbi8qKlxuICogVHJhaXQgZm9yIElEZXBlbmRhYmxlXG4gKlxuICogVHJhaXRzIGFyZSBpbnRlcmZhY2VzIHRoYXQgYXJlIHByaXZhdGVseSBpbXBsZW1lbnRlZCBieSBvYmplY3RzLiBJbnN0ZWFkIG9mXG4gKiBzaG93aW5nIHVwIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIG9mIGEgY2xhc3MsIHRoZXkgbmVlZCB0byBiZSBxdWVyaWVkXG4gKiBleHBsaWNpdGx5LiBUaGlzIGlzIHVzZWQgdG8gaW1wbGVtZW50IGNlcnRhaW4gZnJhbWV3b3JrIGZlYXR1cmVzIHRoYXQgYXJlXG4gKiBub3QgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSBDb25zdHJ1Y3QgY29uc3VtZXJzLCBhbmQgc28gc2hvdWxkIGJlIGhpZGRlblxuICogZnJvbSBhY2NpZGVudGFsIHVzZS5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIC8vIFVzYWdlXG4gKiBjb25zdCByb290cyA9IERlcGVuZGFibGUub2YoY29uc3RydWN0KS5kZXBlbmRlbmN5Um9vdHM7XG4gKlxuICogLy8gRGVmaW5pdGlvblxuICogRGVwZW5kYWJsZS5pbXBsZW1lbnQoY29uc3RydWN0LCB7XG4gKiAgICAgICBkZXBlbmRlbmN5Um9vdHM6IFtjb25zdHJ1Y3RdLFxuICogfSk7XG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEZXBlbmRhYmxlIHtcbiAgLyoqXG4gICAqIFR1cm4gYW55IG9iamVjdCBpbnRvIGFuIElEZXBlbmRhYmxlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbXBsZW1lbnQoaW5zdGFuY2U6IElEZXBlbmRhYmxlLCB0cmFpdDogRGVwZW5kYWJsZSkge1xuICAgIC8vIEkgd291bGQgYWxzbyBsaWtlIHRvIHJlZmVyZW5jZSBjbGFzc2VzICh0byBjdXQgZG93biBvbiB0aGUgbGlzdCBvZiBvYmplY3RzXG4gICAgLy8gd2UgbmVlZCB0byBtYW5hZ2UpLCBidXQgd2UgY2FuJ3QgZG8gdGhhdCBlaXRoZXIgc2luY2UganNpaSBkb2Vzbid0IGhhdmUgdGhlXG4gICAgLy8gY29uY2VwdCBvZiBhIGNsYXNzIHJlZmVyZW5jZS5cbiAgICAoaW5zdGFuY2UgYXMgYW55KVtERVBFTkRBQkxFX1NZTUJPTF0gPSB0cmFpdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG1hdGNoaW5nIERlcGVuZGFibGUgZm9yIHRoZSBnaXZlbiBjbGFzcyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgb2YoaW5zdGFuY2U6IElEZXBlbmRhYmxlKTogRGVwZW5kYWJsZSB7XG4gICAgY29uc3QgcmV0ID0gKGluc3RhbmNlIGFzIGFueSlbREVQRU5EQUJMRV9TWU1CT0xdO1xuICAgIGlmICghcmV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7aW5zdGFuY2V9IGRvZXMgbm90IGltcGxlbWVudCBJRGVwZW5kYWJsZS4gVXNlIFwiRGVwZW5kYWJsZS5pbXBsZW1lbnQoKVwiIHRvIGltcGxlbWVudGApO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbWF0Y2hpbmcgRGVwZW5kYWJsZSBmb3IgdGhlIGdpdmVuIGNsYXNzIGluc3RhbmNlLlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYG9mYFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXQoaW5zdGFuY2U6IElEZXBlbmRhYmxlKTogRGVwZW5kYWJsZSB7XG4gICAgcmV0dXJuIHRoaXMub2YoaW5zdGFuY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBzZXQgb2YgY29uc3RydWN0cyB0aGF0IGZvcm0gdGhlIHJvb3Qgb2YgdGhpcyBkZXBlbmRhYmxlXG4gICAqXG4gICAqIEFsbCByZXNvdXJjZXMgdW5kZXIgYWxsIHJldHVybmVkIGNvbnN0cnVjdHMgYXJlIGluY2x1ZGVkIGluIHRoZSBvcmRlcmluZ1xuICAgKiBkZXBlbmRlbmN5LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGRlcGVuZGVuY3lSb290czogSUNvbnN0cnVjdFtdO1xufVxuIl19
@@ -19,4 +19,4 @@ function captureStackTrace(below) {
19
19
  return object.stack.split('\n').slice(1).map(s => s.replace(/^\s*at\s+/, ''));
20
20
  }
21
21
  exports.captureStackTrace = captureStackTrace;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stdHJhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9zdGFjay10cmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBcUM7QUFDckMsU0FBZ0IsaUJBQWlCLENBQUMsS0FBZ0I7SUFDaEQsS0FBSyxHQUFHLEtBQUssSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLDhCQUE4QjtJQUNsRSxNQUFNLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUM3QixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQzVDLElBQUk7UUFDRixLQUFLLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNoRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ3hDO1lBQVM7UUFDUixLQUFLLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQztLQUN2QztJQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ2pCLE9BQU8sRUFBRSxDQUFDO0tBQ1g7SUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFkRCw4Q0FjQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpiYW4tdHlwZXNcbmV4cG9ydCBmdW5jdGlvbiBjYXB0dXJlU3RhY2tUcmFjZShiZWxvdz86IEZ1bmN0aW9uKTogc3RyaW5nW10ge1xuICBiZWxvdyA9IGJlbG93IHx8IGNhcHR1cmVTdGFja1RyYWNlOyAvLyBoaWRlIG15c2VsZiBpZiBub3RoaW5nIGVsc2VcbiAgY29uc3Qgb2JqZWN0ID0geyBzdGFjazogJycgfTtcbiAgY29uc3QgcHJldmlvdXNMaW1pdCA9IEVycm9yLnN0YWNrVHJhY2VMaW1pdDtcbiAgdHJ5IHtcbiAgICBFcnJvci5zdGFja1RyYWNlTGltaXQgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShvYmplY3QsIGJlbG93KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBFcnJvci5zdGFja1RyYWNlTGltaXQgPSBwcmV2aW91c0xpbWl0O1xuICB9XG4gIGlmICghb2JqZWN0LnN0YWNrKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBvYmplY3Quc3RhY2suc3BsaXQoJ1xcbicpLnNsaWNlKDEpLm1hcChzID0+IHMucmVwbGFjZSgvXlxccyphdFxccysvLCAnJykpO1xufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stdHJhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS9zdGFjay10cmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBcUM7QUFDckMsU0FBZ0IsaUJBQWlCLENBQUMsS0FBZ0I7SUFDaEQsS0FBSyxHQUFHLEtBQUssSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLDhCQUE4QjtJQUNsRSxNQUFNLE1BQU0sR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUM3QixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQzVDLElBQUksQ0FBQztRQUNILEtBQUssQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1FBQ2hELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztZQUFTLENBQUM7UUFDVCxLQUFLLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQztJQUN4QyxDQUFDO0lBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFkRCw4Q0FjQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpiYW4tdHlwZXNcbmV4cG9ydCBmdW5jdGlvbiBjYXB0dXJlU3RhY2tUcmFjZShiZWxvdz86IEZ1bmN0aW9uKTogc3RyaW5nW10ge1xuICBiZWxvdyA9IGJlbG93IHx8IGNhcHR1cmVTdGFja1RyYWNlOyAvLyBoaWRlIG15c2VsZiBpZiBub3RoaW5nIGVsc2VcbiAgY29uc3Qgb2JqZWN0ID0geyBzdGFjazogJycgfTtcbiAgY29uc3QgcHJldmlvdXNMaW1pdCA9IEVycm9yLnN0YWNrVHJhY2VMaW1pdDtcbiAgdHJ5IHtcbiAgICBFcnJvci5zdGFja1RyYWNlTGltaXQgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShvYmplY3QsIGJlbG93KTtcbiAgfSBmaW5hbGx5IHtcbiAgICBFcnJvci5zdGFja1RyYWNlTGltaXQgPSBwcmV2aW91c0xpbWl0O1xuICB9XG4gIGlmICghb2JqZWN0LnN0YWNrKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIHJldHVybiBvYmplY3Quc3RhY2suc3BsaXQoJ1xcbicpLnNsaWNlKDEpLm1hcChzID0+IHMucmVwbGFjZSgvXlxccyphdFxccysvLCAnJykpO1xufVxuIl19
@@ -28,4 +28,4 @@ function addressOf(components) {
28
28
  return 'c8' + hash.digest('hex');
29
29
  }
30
30
  exports.addressOf = addressOf;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS91bmlxdWVpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBaUM7QUFFakM7O0dBRUc7QUFDSCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFFNUI7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxVQUFvQjtJQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLEtBQUssTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFO1FBQzFCLDBEQUEwRDtRQUMxRCxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUU7WUFBRSxTQUFTO1NBQUU7UUFFbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbkI7SUFFRCwwREFBMEQ7SUFDMUQsT0FBTyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBWkQsOEJBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuLyoqXG4gKiBSZXNvdXJjZXMgd2l0aCB0aGlzIElEIGFyZSBjb21wbGV0ZSBoaWRkZW4gZnJvbSB0aGUgbG9naWNhbCBJRCBjYWxjdWxhdGlvbi5cbiAqL1xuY29uc3QgSElEREVOX0lEID0gJ0RlZmF1bHQnO1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGNvbnN0cnVjdCB1aWQgYmFzZWQgb24gcGF0aCBjb21wb25lbnRzLlxuICpcbiAqIENvbXBvbmVudHMgbmFtZWQgYERlZmF1bHRgIChjYXNlIHNlbnNpdGl2ZSkgYXJlIGV4Y2x1ZGVkIGZyb20gdWlkIGNhbGN1bGF0aW9uXG4gKiB0byBhbGxvdyB0cmVlIHJlZmFjdG9yaW5ncy5cbiAqXG4gKiBAcGFyYW0gY29tcG9uZW50cyBwYXRoIGNvbXBvbmVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZHJlc3NPZihjb21wb25lbnRzOiBzdHJpbmdbXSkge1xuICBjb25zdCBoYXNoID0gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTEnKTtcbiAgZm9yIChjb25zdCBjIG9mIGNvbXBvbmVudHMpIHtcbiAgICAvLyBza2lwIGNvbXBvbmVudHMgY2FsbGVkIFwiRGVmYXVsdFwiIHRvIGVuYWJsZSByZWZhY3RvcmluZ3NcbiAgICBpZiAoYyA9PT0gSElEREVOX0lEKSB7IGNvbnRpbnVlOyB9XG5cbiAgICBoYXNoLnVwZGF0ZShjKTtcbiAgICBoYXNoLnVwZGF0ZSgnXFxuJyk7XG4gIH1cblxuICAvLyBwcmVmaXggd2l0aCBcImM4XCIgc28gdG8gZW5zdXJlIGl0IHN0YXJ0cyB3aXRoIG5vbi1kaWdpdC5cbiAgcmV0dXJuICdjOCcgKyBoYXNoLmRpZ2VzdCgnaGV4Jyk7XG59XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJpdmF0ZS91bmlxdWVpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBaUM7QUFFakM7O0dBRUc7QUFDSCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFFNUI7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxVQUFvQjtJQUM1QyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLEtBQUssTUFBTSxDQUFDLElBQUksVUFBVSxFQUFFLENBQUM7UUFDM0IsMERBQTBEO1FBQzFELElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQUMsU0FBUztRQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFaRCw4QkFZQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG4vKipcbiAqIFJlc291cmNlcyB3aXRoIHRoaXMgSUQgYXJlIGNvbXBsZXRlIGhpZGRlbiBmcm9tIHRoZSBsb2dpY2FsIElEIGNhbGN1bGF0aW9uLlxuICovXG5jb25zdCBISURERU5fSUQgPSAnRGVmYXVsdCc7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgY29uc3RydWN0IHVpZCBiYXNlZCBvbiBwYXRoIGNvbXBvbmVudHMuXG4gKlxuICogQ29tcG9uZW50cyBuYW1lZCBgRGVmYXVsdGAgKGNhc2Ugc2Vuc2l0aXZlKSBhcmUgZXhjbHVkZWQgZnJvbSB1aWQgY2FsY3VsYXRpb25cbiAqIHRvIGFsbG93IHRyZWUgcmVmYWN0b3JpbmdzLlxuICpcbiAqIEBwYXJhbSBjb21wb25lbnRzIHBhdGggY29tcG9uZW50c1xuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkcmVzc09mKGNvbXBvbmVudHM6IHN0cmluZ1tdKSB7XG4gIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMScpO1xuICBmb3IgKGNvbnN0IGMgb2YgY29tcG9uZW50cykge1xuICAgIC8vIHNraXAgY29tcG9uZW50cyBjYWxsZWQgXCJEZWZhdWx0XCIgdG8gZW5hYmxlIHJlZmFjdG9yaW5nc1xuICAgIGlmIChjID09PSBISURERU5fSUQpIHsgY29udGludWU7IH1cblxuICAgIGhhc2gudXBkYXRlKGMpO1xuICAgIGhhc2gudXBkYXRlKCdcXG4nKTtcbiAgfVxuXG4gIC8vIHByZWZpeCB3aXRoIFwiYzhcIiBzbyB0byBlbnN1cmUgaXQgc3RhcnRzIHdpdGggbm9uLWRpZ2l0LlxuICByZXR1cm4gJ2M4JyArIGhhc2guZGlnZXN0KCdoZXgnKTtcbn1cbiJdfQ==
@@ -32,6 +32,7 @@
32
32
  "unbump": "npx projen unbump",
33
33
  "upgrade": "npx projen upgrade",
34
34
  "upgrade-cdklabs-projen-project-types": "npx projen upgrade-cdklabs-projen-project-types",
35
+ "upgrade-dev-deps": "npx projen upgrade-dev-deps",
35
36
  "watch": "npx projen watch",
36
37
  "projen": "npx projen"
37
38
  },
@@ -41,28 +42,26 @@
41
42
  "organization": true
42
43
  },
43
44
  "devDependencies": {
44
- "@types/jest": "^27",
45
- "@types/node": "^16",
46
- "@typescript-eslint/eslint-plugin": "^6",
47
- "@typescript-eslint/parser": "^6",
48
- "cdklabs-projen-project-types": "^0.1.163",
45
+ "@types/jest": "^29",
46
+ "@types/node": "^18",
47
+ "@typescript-eslint/eslint-plugin": "^7",
48
+ "@typescript-eslint/parser": "^7",
49
+ "cdklabs-projen-project-types": "^0.1.204",
50
+ "commit-and-tag-version": "^12",
49
51
  "eslint": "^8",
50
- "eslint-import-resolver-node": "^0.3.9",
51
- "eslint-import-resolver-typescript": "^3.6.1",
52
- "eslint-plugin-import": "^2.28.1",
53
- "jest": "^27",
52
+ "eslint-import-resolver-typescript": "^3.6.3",
53
+ "eslint-plugin-import": "^2.31.0",
54
+ "jest": "^29",
54
55
  "jest-junit": "^15",
55
- "jsii": "5.0.x",
56
- "jsii-diff": "^1.90.0",
57
- "jsii-docgen": "^1.8.110",
58
- "jsii-pacmak": "^1.90.0",
59
- "jsii-rosetta": "5.0.x",
60
- "npm-check-updates": "^16",
61
- "projen": "^0.73.45",
62
- "standard-version": "^9",
63
- "ts-jest": "^27",
64
- "ts-node": "^10.9.1",
65
- "typescript": "~4.9.5"
56
+ "jsii": "5.4.x",
57
+ "jsii-diff": "^1.104.0",
58
+ "jsii-docgen": "^10.5.0",
59
+ "jsii-pacmak": "1.102.0",
60
+ "jsii-rosetta": "5.4.x",
61
+ "projen": "^0.87.4",
62
+ "ts-jest": "^29",
63
+ "ts-node": "^10.9.2",
64
+ "typescript": "5.4.x"
66
65
  },
67
66
  "keywords": [
68
67
  "aws",
@@ -70,17 +69,20 @@
70
69
  "constructs",
71
70
  "jsii"
72
71
  ],
73
- "engines": {
74
- "node": ">= 16.14.0"
75
- },
76
72
  "main": "lib/index.js",
77
73
  "license": "Apache-2.0",
78
74
  "homepage": "https://github.com/aws/constructs",
79
- "version": "10.3.0",
75
+ "publishConfig": {
76
+ "access": "public"
77
+ },
78
+ "version": "10.4.2",
80
79
  "jest": {
80
+ "coverageProvider": "v8",
81
81
  "testMatch": [
82
- "<rootDir>/src/**/__tests__/**/*.ts?(x)",
83
- "<rootDir>/(test|src)/**/*(*.)@(spec|test).ts?(x)"
82
+ "<rootDir>/@(src|test)/**/*(*.)@(spec|test).ts?(x)",
83
+ "<rootDir>/@(src|test)/**/__tests__/**/*.ts?(x)",
84
+ "<rootDir>/@(projenrc)/**/*(*.)@(spec|test).ts?(x)",
85
+ "<rootDir>/@(projenrc)/**/__tests__/**/*.ts?(x)"
84
86
  ],
85
87
  "clearMocks": true,
86
88
  "collectCoverage": true,
@@ -110,11 +112,13 @@
110
112
  }
111
113
  ]
112
114
  ],
113
- "preset": "ts-jest",
114
- "globals": {
115
- "ts-jest": {
116
- "tsconfig": "tsconfig.dev.json"
117
- }
115
+ "transform": {
116
+ "^.+\\.[t]sx?$": [
117
+ "ts-jest",
118
+ {
119
+ "tsconfig": "tsconfig.dev.json"
120
+ }
121
+ ]
118
122
  }
119
123
  },
120
124
  "types": "lib/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-solutions-constructs/aws-lambda-dynamodb",
3
- "version": "2.71.0",
3
+ "version": "2.74.0",
4
4
  "description": "CDK Constructs for AWS Lambda to AWS DynamoDB integration.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -53,15 +53,15 @@
53
53
  }
54
54
  },
55
55
  "dependencies": {
56
- "@aws-cdk/integ-tests-alpha": "2.160.0-alpha.0",
57
- "@aws-solutions-constructs/core": "2.71.0",
56
+ "@aws-cdk/integ-tests-alpha": "2.161.0-alpha.0",
57
+ "@aws-solutions-constructs/core": "2.74.0",
58
58
  "constructs": "^10.0.0"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/jest": "^27.4.0",
62
62
  "@types/node": "^10.3.0",
63
63
  "constructs": "^10.0.0",
64
- "aws-cdk-lib": "2.160.0"
64
+ "aws-cdk-lib": "2.161.0"
65
65
  },
66
66
  "jest": {
67
67
  "moduleFileExtensions": [
@@ -78,9 +78,9 @@
78
78
  ]
79
79
  },
80
80
  "peerDependencies": {
81
- "@aws-solutions-constructs/core": "2.71.0",
81
+ "@aws-solutions-constructs/core": "2.74.0",
82
82
  "constructs": "^10.0.0",
83
- "aws-cdk-lib": "^2.160.0"
83
+ "aws-cdk-lib": "^2.161.0"
84
84
  },
85
85
  "keywords": [
86
86
  "aws",