cdktn 0.23.2 → 0.23.4

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 (383) hide show
  1. package/.jsii +468 -251
  2. package/README.md +3 -3
  3. package/lib/annotations.js +1 -1
  4. package/lib/app.js +1 -1
  5. package/lib/aspect.js +1 -1
  6. package/lib/backends/azurerm-backend.js +2 -2
  7. package/lib/backends/cloud-backend.js +4 -4
  8. package/lib/backends/consul-backend.js +2 -2
  9. package/lib/backends/cos-backend.js +2 -2
  10. package/lib/backends/gcs-backend.js +2 -2
  11. package/lib/backends/http-backend.js +2 -2
  12. package/lib/backends/local-backend.js +2 -2
  13. package/lib/backends/oss-backend.js +2 -2
  14. package/lib/backends/pg-backend.js +2 -2
  15. package/lib/backends/remote-backend.js +4 -4
  16. package/lib/backends/s3-backend.d.ts +11 -1
  17. package/lib/backends/s3-backend.js +11 -4
  18. package/lib/backends/swift-backend.js +2 -2
  19. package/lib/complex-computed-list.js +25 -25
  20. package/lib/errors.d.ts +1 -2
  21. package/lib/errors.js +11 -8
  22. package/lib/features.d.ts +9 -0
  23. package/lib/features.js +11 -2
  24. package/lib/functions/function-availability.generated.d.ts +16 -0
  25. package/lib/functions/function-availability.generated.js +21 -0
  26. package/lib/functions/helpers.js +3 -1
  27. package/lib/functions/terraform-functions.generated.d.ts +40 -2
  28. package/lib/functions/terraform-functions.generated.js +57 -5
  29. package/lib/functions/usage-registry.d.ts +6 -0
  30. package/lib/functions/usage-registry.js +34 -0
  31. package/lib/importable-resource.js +1 -1
  32. package/lib/manifest.js +4 -5
  33. package/lib/resource.js +1 -1
  34. package/lib/synthesize/synthesizer.js +8 -5
  35. package/lib/terraform-asset.js +1 -1
  36. package/lib/terraform-backend.js +1 -1
  37. package/lib/terraform-count.js +1 -1
  38. package/lib/terraform-data-resource.js +1 -1
  39. package/lib/terraform-data-source.js +1 -1
  40. package/lib/terraform-dynamic-block.js +2 -2
  41. package/lib/terraform-dynamic-expression.js +2 -2
  42. package/lib/terraform-element.js +1 -1
  43. package/lib/terraform-functions.js +1 -1
  44. package/lib/terraform-hcl-module.js +1 -1
  45. package/lib/terraform-iterator.js +5 -5
  46. package/lib/terraform-local.js +1 -1
  47. package/lib/terraform-module.js +1 -1
  48. package/lib/terraform-operators.js +1 -1
  49. package/lib/terraform-output.js +1 -1
  50. package/lib/terraform-provider.js +1 -1
  51. package/lib/terraform-provisioner.js +1 -1
  52. package/lib/terraform-remote-state.js +1 -1
  53. package/lib/terraform-resource-targets.js +1 -1
  54. package/lib/terraform-resource.js +1 -1
  55. package/lib/terraform-stack.js +6 -2
  56. package/lib/terraform-variable.js +2 -2
  57. package/lib/testing/index.js +8 -9
  58. package/lib/testing/matchers.js +1 -1
  59. package/lib/tokens/lazy.js +4 -4
  60. package/lib/tokens/private/intrinsic.d.ts +0 -5
  61. package/lib/tokens/private/intrinsic.js +2 -9
  62. package/lib/tokens/private/stack-trace.d.ts +6 -0
  63. package/lib/tokens/private/stack-trace.js +14 -1
  64. package/lib/tokens/resolvable.js +4 -4
  65. package/lib/tokens/string-fragments.js +1 -1
  66. package/lib/tokens/token.js +2 -2
  67. package/lib/tsconfig.tsbuildinfo +1 -1
  68. package/lib/upgrade-id-aspect.js +1 -1
  69. package/lib/validations/index.d.ts +3 -0
  70. package/lib/validations/index.js +4 -1
  71. package/lib/validations/target-versions.d.ts +71 -0
  72. package/lib/validations/target-versions.js +132 -0
  73. package/lib/validations/validate-binary-version.d.ts +10 -0
  74. package/lib/validations/validate-binary-version.js +11 -1
  75. package/lib/validations/validate-function-version-support.d.ts +21 -0
  76. package/lib/validations/validate-function-version-support.js +53 -0
  77. package/lib/validations/validate-terraform-feature-version.d.ts +34 -0
  78. package/lib/validations/validate-terraform-feature-version.js +34 -0
  79. package/node_modules/{call-bind-apply-helpers → safe-stable-stringify}/LICENSE +2 -2
  80. package/node_modules/safe-stable-stringify/esm/package.json +4 -0
  81. package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
  82. package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
  83. package/node_modules/safe-stable-stringify/index.d.ts +22 -0
  84. package/node_modules/safe-stable-stringify/index.js +625 -0
  85. package/node_modules/safe-stable-stringify/package.json +65 -0
  86. package/node_modules/safe-stable-stringify/readme.md +179 -0
  87. package/package.json +11 -12
  88. package/scripts/pack.mjs +168 -0
  89. package/node_modules/call-bind/.eslintignore +0 -1
  90. package/node_modules/call-bind/.eslintrc +0 -16
  91. package/node_modules/call-bind/.github/FUNDING.yml +0 -12
  92. package/node_modules/call-bind/.nycrc +0 -9
  93. package/node_modules/call-bind/CHANGELOG.md +0 -106
  94. package/node_modules/call-bind/LICENSE +0 -21
  95. package/node_modules/call-bind/README.md +0 -64
  96. package/node_modules/call-bind/callBound.js +0 -15
  97. package/node_modules/call-bind/index.js +0 -24
  98. package/node_modules/call-bind/package.json +0 -93
  99. package/node_modules/call-bind/test/callBound.js +0 -54
  100. package/node_modules/call-bind/test/index.js +0 -74
  101. package/node_modules/call-bind-apply-helpers/.eslintrc +0 -17
  102. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +0 -12
  103. package/node_modules/call-bind-apply-helpers/.nycrc +0 -9
  104. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +0 -30
  105. package/node_modules/call-bind-apply-helpers/README.md +0 -62
  106. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +0 -1
  107. package/node_modules/call-bind-apply-helpers/actualApply.js +0 -10
  108. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +0 -19
  109. package/node_modules/call-bind-apply-helpers/applyBind.js +0 -10
  110. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +0 -1
  111. package/node_modules/call-bind-apply-helpers/functionApply.js +0 -4
  112. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +0 -1
  113. package/node_modules/call-bind-apply-helpers/functionCall.js +0 -4
  114. package/node_modules/call-bind-apply-helpers/index.d.ts +0 -64
  115. package/node_modules/call-bind-apply-helpers/index.js +0 -15
  116. package/node_modules/call-bind-apply-helpers/package.json +0 -85
  117. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +0 -3
  118. package/node_modules/call-bind-apply-helpers/reflectApply.js +0 -4
  119. package/node_modules/call-bind-apply-helpers/test/index.js +0 -63
  120. package/node_modules/call-bind-apply-helpers/tsconfig.json +0 -9
  121. package/node_modules/call-bound/.eslintrc +0 -13
  122. package/node_modules/call-bound/.github/FUNDING.yml +0 -12
  123. package/node_modules/call-bound/.nycrc +0 -9
  124. package/node_modules/call-bound/CHANGELOG.md +0 -42
  125. package/node_modules/call-bound/LICENSE +0 -21
  126. package/node_modules/call-bound/README.md +0 -53
  127. package/node_modules/call-bound/index.d.ts +0 -94
  128. package/node_modules/call-bound/index.js +0 -19
  129. package/node_modules/call-bound/package.json +0 -99
  130. package/node_modules/call-bound/test/index.js +0 -61
  131. package/node_modules/call-bound/tsconfig.json +0 -10
  132. package/node_modules/define-data-property/.eslintrc +0 -24
  133. package/node_modules/define-data-property/.github/FUNDING.yml +0 -12
  134. package/node_modules/define-data-property/.nycrc +0 -13
  135. package/node_modules/define-data-property/CHANGELOG.md +0 -70
  136. package/node_modules/define-data-property/LICENSE +0 -21
  137. package/node_modules/define-data-property/README.md +0 -67
  138. package/node_modules/define-data-property/index.d.ts +0 -12
  139. package/node_modules/define-data-property/index.js +0 -56
  140. package/node_modules/define-data-property/package.json +0 -106
  141. package/node_modules/define-data-property/test/index.js +0 -392
  142. package/node_modules/define-data-property/tsconfig.json +0 -59
  143. package/node_modules/dunder-proto/.eslintrc +0 -5
  144. package/node_modules/dunder-proto/.github/FUNDING.yml +0 -12
  145. package/node_modules/dunder-proto/.nycrc +0 -13
  146. package/node_modules/dunder-proto/CHANGELOG.md +0 -24
  147. package/node_modules/dunder-proto/LICENSE +0 -21
  148. package/node_modules/dunder-proto/README.md +0 -54
  149. package/node_modules/dunder-proto/get.d.ts +0 -5
  150. package/node_modules/dunder-proto/get.js +0 -30
  151. package/node_modules/dunder-proto/package.json +0 -76
  152. package/node_modules/dunder-proto/set.d.ts +0 -5
  153. package/node_modules/dunder-proto/set.js +0 -35
  154. package/node_modules/dunder-proto/test/get.js +0 -34
  155. package/node_modules/dunder-proto/test/index.js +0 -4
  156. package/node_modules/dunder-proto/test/set.js +0 -50
  157. package/node_modules/dunder-proto/tsconfig.json +0 -9
  158. package/node_modules/es-define-property/.eslintrc +0 -13
  159. package/node_modules/es-define-property/.github/FUNDING.yml +0 -12
  160. package/node_modules/es-define-property/.nycrc +0 -9
  161. package/node_modules/es-define-property/CHANGELOG.md +0 -29
  162. package/node_modules/es-define-property/LICENSE +0 -21
  163. package/node_modules/es-define-property/README.md +0 -49
  164. package/node_modules/es-define-property/index.d.ts +0 -3
  165. package/node_modules/es-define-property/index.js +0 -14
  166. package/node_modules/es-define-property/package.json +0 -81
  167. package/node_modules/es-define-property/test/index.js +0 -56
  168. package/node_modules/es-define-property/tsconfig.json +0 -10
  169. package/node_modules/es-errors/.eslintrc +0 -5
  170. package/node_modules/es-errors/.github/FUNDING.yml +0 -12
  171. package/node_modules/es-errors/CHANGELOG.md +0 -40
  172. package/node_modules/es-errors/LICENSE +0 -21
  173. package/node_modules/es-errors/README.md +0 -55
  174. package/node_modules/es-errors/eval.d.ts +0 -3
  175. package/node_modules/es-errors/eval.js +0 -4
  176. package/node_modules/es-errors/index.d.ts +0 -3
  177. package/node_modules/es-errors/index.js +0 -4
  178. package/node_modules/es-errors/package.json +0 -80
  179. package/node_modules/es-errors/range.d.ts +0 -3
  180. package/node_modules/es-errors/range.js +0 -4
  181. package/node_modules/es-errors/ref.d.ts +0 -3
  182. package/node_modules/es-errors/ref.js +0 -4
  183. package/node_modules/es-errors/syntax.d.ts +0 -3
  184. package/node_modules/es-errors/syntax.js +0 -4
  185. package/node_modules/es-errors/test/index.js +0 -19
  186. package/node_modules/es-errors/tsconfig.json +0 -49
  187. package/node_modules/es-errors/type.d.ts +0 -3
  188. package/node_modules/es-errors/type.js +0 -4
  189. package/node_modules/es-errors/uri.d.ts +0 -3
  190. package/node_modules/es-errors/uri.js +0 -4
  191. package/node_modules/es-object-atoms/.eslintrc +0 -16
  192. package/node_modules/es-object-atoms/.github/FUNDING.yml +0 -12
  193. package/node_modules/es-object-atoms/CHANGELOG.md +0 -37
  194. package/node_modules/es-object-atoms/LICENSE +0 -21
  195. package/node_modules/es-object-atoms/README.md +0 -63
  196. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +0 -3
  197. package/node_modules/es-object-atoms/RequireObjectCoercible.js +0 -11
  198. package/node_modules/es-object-atoms/ToObject.d.ts +0 -7
  199. package/node_modules/es-object-atoms/ToObject.js +0 -10
  200. package/node_modules/es-object-atoms/index.d.ts +0 -3
  201. package/node_modules/es-object-atoms/index.js +0 -4
  202. package/node_modules/es-object-atoms/isObject.d.ts +0 -3
  203. package/node_modules/es-object-atoms/isObject.js +0 -6
  204. package/node_modules/es-object-atoms/package.json +0 -80
  205. package/node_modules/es-object-atoms/test/index.js +0 -38
  206. package/node_modules/es-object-atoms/tsconfig.json +0 -6
  207. package/node_modules/function-bind/.eslintrc +0 -21
  208. package/node_modules/function-bind/.github/FUNDING.yml +0 -12
  209. package/node_modules/function-bind/.github/SECURITY.md +0 -3
  210. package/node_modules/function-bind/.nycrc +0 -13
  211. package/node_modules/function-bind/CHANGELOG.md +0 -136
  212. package/node_modules/function-bind/LICENSE +0 -20
  213. package/node_modules/function-bind/README.md +0 -46
  214. package/node_modules/function-bind/implementation.js +0 -84
  215. package/node_modules/function-bind/index.js +0 -5
  216. package/node_modules/function-bind/package.json +0 -87
  217. package/node_modules/function-bind/test/.eslintrc +0 -9
  218. package/node_modules/function-bind/test/index.js +0 -252
  219. package/node_modules/get-intrinsic/.eslintrc +0 -42
  220. package/node_modules/get-intrinsic/.github/FUNDING.yml +0 -12
  221. package/node_modules/get-intrinsic/.nycrc +0 -9
  222. package/node_modules/get-intrinsic/CHANGELOG.md +0 -186
  223. package/node_modules/get-intrinsic/LICENSE +0 -21
  224. package/node_modules/get-intrinsic/README.md +0 -71
  225. package/node_modules/get-intrinsic/index.js +0 -378
  226. package/node_modules/get-intrinsic/package.json +0 -97
  227. package/node_modules/get-intrinsic/test/GetIntrinsic.js +0 -274
  228. package/node_modules/get-proto/.eslintrc +0 -10
  229. package/node_modules/get-proto/.github/FUNDING.yml +0 -12
  230. package/node_modules/get-proto/.nycrc +0 -9
  231. package/node_modules/get-proto/CHANGELOG.md +0 -21
  232. package/node_modules/get-proto/LICENSE +0 -21
  233. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +0 -5
  234. package/node_modules/get-proto/Object.getPrototypeOf.js +0 -6
  235. package/node_modules/get-proto/README.md +0 -50
  236. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +0 -3
  237. package/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -4
  238. package/node_modules/get-proto/index.d.ts +0 -5
  239. package/node_modules/get-proto/index.js +0 -27
  240. package/node_modules/get-proto/package.json +0 -81
  241. package/node_modules/get-proto/test/index.js +0 -68
  242. package/node_modules/get-proto/tsconfig.json +0 -9
  243. package/node_modules/gopd/.eslintrc +0 -16
  244. package/node_modules/gopd/.github/FUNDING.yml +0 -12
  245. package/node_modules/gopd/CHANGELOG.md +0 -45
  246. package/node_modules/gopd/LICENSE +0 -21
  247. package/node_modules/gopd/README.md +0 -40
  248. package/node_modules/gopd/gOPD.d.ts +0 -1
  249. package/node_modules/gopd/gOPD.js +0 -4
  250. package/node_modules/gopd/index.d.ts +0 -5
  251. package/node_modules/gopd/index.js +0 -15
  252. package/node_modules/gopd/package.json +0 -77
  253. package/node_modules/gopd/test/index.js +0 -36
  254. package/node_modules/gopd/tsconfig.json +0 -9
  255. package/node_modules/has-property-descriptors/.eslintrc +0 -13
  256. package/node_modules/has-property-descriptors/.github/FUNDING.yml +0 -12
  257. package/node_modules/has-property-descriptors/.nycrc +0 -9
  258. package/node_modules/has-property-descriptors/CHANGELOG.md +0 -35
  259. package/node_modules/has-property-descriptors/LICENSE +0 -21
  260. package/node_modules/has-property-descriptors/README.md +0 -43
  261. package/node_modules/has-property-descriptors/index.js +0 -22
  262. package/node_modules/has-property-descriptors/package.json +0 -77
  263. package/node_modules/has-property-descriptors/test/index.js +0 -57
  264. package/node_modules/has-symbols/.eslintrc +0 -11
  265. package/node_modules/has-symbols/.github/FUNDING.yml +0 -12
  266. package/node_modules/has-symbols/.nycrc +0 -9
  267. package/node_modules/has-symbols/CHANGELOG.md +0 -91
  268. package/node_modules/has-symbols/LICENSE +0 -21
  269. package/node_modules/has-symbols/README.md +0 -46
  270. package/node_modules/has-symbols/index.d.ts +0 -3
  271. package/node_modules/has-symbols/index.js +0 -14
  272. package/node_modules/has-symbols/package.json +0 -111
  273. package/node_modules/has-symbols/shams.d.ts +0 -3
  274. package/node_modules/has-symbols/shams.js +0 -45
  275. package/node_modules/has-symbols/test/index.js +0 -22
  276. package/node_modules/has-symbols/test/shams/core-js.js +0 -29
  277. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +0 -29
  278. package/node_modules/has-symbols/test/tests.js +0 -58
  279. package/node_modules/has-symbols/tsconfig.json +0 -10
  280. package/node_modules/hasown/.eslintrc +0 -5
  281. package/node_modules/hasown/.github/FUNDING.yml +0 -12
  282. package/node_modules/hasown/.nycrc +0 -13
  283. package/node_modules/hasown/CHANGELOG.md +0 -40
  284. package/node_modules/hasown/LICENSE +0 -21
  285. package/node_modules/hasown/README.md +0 -40
  286. package/node_modules/hasown/index.d.ts +0 -3
  287. package/node_modules/hasown/index.js +0 -8
  288. package/node_modules/hasown/package.json +0 -92
  289. package/node_modules/hasown/tsconfig.json +0 -6
  290. package/node_modules/isarray/LICENSE +0 -21
  291. package/node_modules/isarray/README.md +0 -38
  292. package/node_modules/isarray/index.js +0 -5
  293. package/node_modules/isarray/package.json +0 -48
  294. package/node_modules/json-stable-stringify/.eslintrc +0 -31
  295. package/node_modules/json-stable-stringify/.github/FUNDING.yml +0 -12
  296. package/node_modules/json-stable-stringify/CHANGELOG.md +0 -160
  297. package/node_modules/json-stable-stringify/LICENSE +0 -21
  298. package/node_modules/json-stable-stringify/README.md +0 -157
  299. package/node_modules/json-stable-stringify/example/key_cmp.js +0 -9
  300. package/node_modules/json-stable-stringify/example/nested.js +0 -7
  301. package/node_modules/json-stable-stringify/example/str.js +0 -7
  302. package/node_modules/json-stable-stringify/example/value_cmp.js +0 -12
  303. package/node_modules/json-stable-stringify/index.d.ts +0 -25
  304. package/node_modules/json-stable-stringify/index.js +0 -124
  305. package/node_modules/json-stable-stringify/package.json +0 -88
  306. package/node_modules/json-stable-stringify/test/cmp.js +0 -33
  307. package/node_modules/json-stable-stringify/test/nested.js +0 -48
  308. package/node_modules/json-stable-stringify/test/replacer.js +0 -81
  309. package/node_modules/json-stable-stringify/test/space.js +0 -127
  310. package/node_modules/json-stable-stringify/test/str.js +0 -46
  311. package/node_modules/json-stable-stringify/test/to-json.js +0 -22
  312. package/node_modules/json-stable-stringify/tsconfig.json +0 -10
  313. package/node_modules/jsonify/.eslintrc +0 -21
  314. package/node_modules/jsonify/.github/FUNDING.yml +0 -12
  315. package/node_modules/jsonify/CHANGELOG.md +0 -48
  316. package/node_modules/jsonify/README.md +0 -66
  317. package/node_modules/jsonify/index.js +0 -4
  318. package/node_modules/jsonify/lib/parse.js +0 -261
  319. package/node_modules/jsonify/lib/stringify.js +0 -151
  320. package/node_modules/jsonify/package.json +0 -62
  321. package/node_modules/jsonify/test/parse.js +0 -20
  322. package/node_modules/jsonify/test/stringify.js +0 -18
  323. package/node_modules/math-intrinsics/.eslintrc +0 -16
  324. package/node_modules/math-intrinsics/.github/FUNDING.yml +0 -12
  325. package/node_modules/math-intrinsics/CHANGELOG.md +0 -24
  326. package/node_modules/math-intrinsics/LICENSE +0 -21
  327. package/node_modules/math-intrinsics/README.md +0 -50
  328. package/node_modules/math-intrinsics/abs.d.ts +0 -1
  329. package/node_modules/math-intrinsics/abs.js +0 -4
  330. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +0 -3
  331. package/node_modules/math-intrinsics/constants/maxArrayLength.js +0 -4
  332. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +0 -3
  333. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +0 -5
  334. package/node_modules/math-intrinsics/constants/maxValue.d.ts +0 -3
  335. package/node_modules/math-intrinsics/constants/maxValue.js +0 -5
  336. package/node_modules/math-intrinsics/floor.d.ts +0 -1
  337. package/node_modules/math-intrinsics/floor.js +0 -4
  338. package/node_modules/math-intrinsics/isFinite.d.ts +0 -3
  339. package/node_modules/math-intrinsics/isFinite.js +0 -12
  340. package/node_modules/math-intrinsics/isInteger.d.ts +0 -3
  341. package/node_modules/math-intrinsics/isInteger.js +0 -16
  342. package/node_modules/math-intrinsics/isNaN.d.ts +0 -1
  343. package/node_modules/math-intrinsics/isNaN.js +0 -6
  344. package/node_modules/math-intrinsics/isNegativeZero.d.ts +0 -3
  345. package/node_modules/math-intrinsics/isNegativeZero.js +0 -6
  346. package/node_modules/math-intrinsics/max.d.ts +0 -1
  347. package/node_modules/math-intrinsics/max.js +0 -4
  348. package/node_modules/math-intrinsics/min.d.ts +0 -1
  349. package/node_modules/math-intrinsics/min.js +0 -4
  350. package/node_modules/math-intrinsics/mod.d.ts +0 -3
  351. package/node_modules/math-intrinsics/mod.js +0 -9
  352. package/node_modules/math-intrinsics/package.json +0 -86
  353. package/node_modules/math-intrinsics/pow.d.ts +0 -1
  354. package/node_modules/math-intrinsics/pow.js +0 -4
  355. package/node_modules/math-intrinsics/round.d.ts +0 -1
  356. package/node_modules/math-intrinsics/round.js +0 -4
  357. package/node_modules/math-intrinsics/sign.d.ts +0 -3
  358. package/node_modules/math-intrinsics/sign.js +0 -11
  359. package/node_modules/math-intrinsics/test/index.js +0 -192
  360. package/node_modules/math-intrinsics/tsconfig.json +0 -3
  361. package/node_modules/object-keys/.editorconfig +0 -13
  362. package/node_modules/object-keys/.eslintrc +0 -17
  363. package/node_modules/object-keys/.travis.yml +0 -277
  364. package/node_modules/object-keys/CHANGELOG.md +0 -232
  365. package/node_modules/object-keys/LICENSE +0 -21
  366. package/node_modules/object-keys/README.md +0 -76
  367. package/node_modules/object-keys/implementation.js +0 -122
  368. package/node_modules/object-keys/index.js +0 -32
  369. package/node_modules/object-keys/isArguments.js +0 -17
  370. package/node_modules/object-keys/package.json +0 -88
  371. package/node_modules/object-keys/test/index.js +0 -5
  372. package/node_modules/set-function-length/.eslintrc +0 -27
  373. package/node_modules/set-function-length/.github/FUNDING.yml +0 -12
  374. package/node_modules/set-function-length/.nycrc +0 -13
  375. package/node_modules/set-function-length/CHANGELOG.md +0 -70
  376. package/node_modules/set-function-length/LICENSE +0 -21
  377. package/node_modules/set-function-length/README.md +0 -56
  378. package/node_modules/set-function-length/env.d.ts +0 -9
  379. package/node_modules/set-function-length/env.js +0 -25
  380. package/node_modules/set-function-length/index.d.ts +0 -7
  381. package/node_modules/set-function-length/index.js +0 -42
  382. package/node_modules/set-function-length/package.json +0 -102
  383. package/node_modules/set-function-length/tsconfig.json +0 -9
@@ -60,5 +60,5 @@ class ImportableResource extends terraform_element_1.TerraformElement {
60
60
  }
61
61
  exports.ImportableResource = ImportableResource;
62
62
  _a = JSII_RTTI_SYMBOL_1;
63
- ImportableResource[_a] = { fqn: "cdktn.ImportableResource", version: "0.23.2" };
63
+ ImportableResource[_a] = { fqn: "cdktn.ImportableResource", version: "0.23.4" };
64
64
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0YWJsZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbXBvcnRhYmxlLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsMkRBQXVEO0FBRXZELHlGQUFvRjtBQVFwRjs7R0FFRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsb0NBQWdCO0lBQ3RELFlBQ0UsS0FBZ0IsRUFDaEIsSUFBWSxFQUNLLE1BQXlCO1FBRTFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRmhDLFdBQU0sR0FBTixNQUFNLENBQW1CO1FBRzFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUNyQixJQUFJLHFEQUF3QixDQUMxQixPQUFPLEVBQ1AsOEZBQThGLENBQy9GLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hHLE9BQU87WUFDTCxNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsRUFBRSxFQUFFO3dCQUNGLEtBQUssRUFBRSx1QkFBdUI7d0JBQzlCLElBQUksRUFBRSxRQUFRO3dCQUNkLGdCQUFnQixFQUFFLFdBQVc7cUJBQzlCO29CQUNELEVBQUUsRUFBRTt3QkFDRixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUMzQixJQUFJLEVBQUUsUUFBUTt3QkFDZCxnQkFBZ0IsRUFBRSxRQUFRO3FCQUMzQjtvQkFDRCxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO3dCQUM1QixDQUFDLENBQUM7NEJBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUc7NEJBQy9CLElBQUksRUFBRSxRQUFROzRCQUNkLGdCQUFnQixFQUFFLFdBQVc7eUJBQzlCO3dCQUNILENBQUMsQ0FBQyxTQUFTO2lCQUNkO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDaEcsT0FBTztZQUNMLE1BQU0sRUFBRTtnQkFDTjtvQkFDRSxFQUFFLEVBQUUsdUJBQXVCO29CQUMzQixFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRO29CQUN4QixRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUztpQkFDdEU7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU87WUFDTCw4QkFBOEIsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztTQUN4RCxDQUFDO0lBQ0osQ0FBQzs7QUEzREgsZ0RBNERDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtRWxlbWVudCB9IGZyb20gXCIuL3RlcnJhZm9ybS1lbGVtZW50XCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Qcm92aWRlciB9IGZyb20gXCIuL3RlcnJhZm9ybS1wcm92aWRlclwiO1xuaW1wb3J0IHsgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uIH0gZnJvbSBcIi4vdmFsaWRhdGlvbnMvdmFsaWRhdGUtdGVycmFmb3JtLXZlcnNpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBJSW1wb3J0YWJsZUNvbmZpZyB7XG4gIHRlcnJhZm9ybVJlc291cmNlVHlwZTogc3RyaW5nO1xuICBpbXBvcnRJZDogc3RyaW5nO1xuICBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xufVxuXG4vKipcbiAqIENsYXNzIHVzZWQgdG8gcmVwcmVzZW50IGFuIGltcG9ydGFibGUgcmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbXBvcnRhYmxlUmVzb3VyY2UgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IElJbXBvcnRhYmxlQ29uZmlnLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSwgY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZSk7XG4gICAgdGhpcy5ub2RlLmFkZFZhbGlkYXRpb24oXG4gICAgICBuZXcgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uKFxuICAgICAgICBcIj49MS41XCIsXG4gICAgICAgIGBJbXBvcnQgYmxvY2tzIGFyZSBvbmx5IHN1cHBvcnRlZCBmb3IgVGVycmFmb3JtID49MS41LiBQbGVhc2UgdXBncmFkZSB5b3VyIFRlcnJhZm9ybSB2ZXJzaW9uLmAsXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBleHBlY3RlZFJlc291cmNlQWRkcmVzcyA9IGAke3RoaXMuY29uZmlnLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9YDtcbiAgICByZXR1cm4ge1xuICAgICAgaW1wb3J0OiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0bzoge1xuICAgICAgICAgICAgdmFsdWU6IGV4cGVjdGVkUmVzb3VyY2VBZGRyZXNzLFxuICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwicmVmZXJlbmNlXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY29uZmlnLmltcG9ydElkLFxuICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcm92aWRlcjogdGhpcy5jb25maWcucHJvdmlkZXJcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy5wcm92aWRlci5mcW4sXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgICAgICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInJlZmVyZW5jZVwiLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIGNvbnN0IGV4cGVjdGVkUmVzb3VyY2VBZGRyZXNzID0gYCR7dGhpcy5jb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlfS4ke3RoaXMuZnJpZW5kbHlVbmlxdWVJZH1gO1xuICAgIHJldHVybiB7XG4gICAgICBpbXBvcnQ6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRvOiBleHBlY3RlZFJlc291cmNlQWRkcmVzcyxcbiAgICAgICAgICBpZDogdGhpcy5jb25maWcuaW1wb3J0SWQsXG4gICAgICAgICAgcHJvdmlkZXI6IHRoaXMuY29uZmlnLnByb3ZpZGVyID8gdGhpcy5jb25maWcucHJvdmlkZXIuZnFuIDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgaW1wb3J0c0dlbmVyYXRpbmdDb25maWd1cmF0aW9uOiBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
package/lib/manifest.js CHANGED
@@ -7,8 +7,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
7
7
  // SPDX-License-Identifier: MPL-2.0
8
8
  const path = require("path");
9
9
  const fs = require("fs");
10
- // eslint-disable-next-line @typescript-eslint/no-require-imports
11
- const stringify = require("json-stable-stringify");
10
+ const safe_stable_stringify_1 = require("safe-stable-stringify");
12
11
  // eslint-disable-next-line jsdoc/require-jsdoc
13
12
  class Manifest {
14
13
  constructor(version, outdir, hclOutput) {
@@ -46,13 +45,13 @@ class Manifest {
46
45
  };
47
46
  }
48
47
  writeToFile() {
49
- fs.writeFileSync(path.join(this.outdir, Manifest.fileName), stringify(this.buildManifest(), { space: 2 }));
48
+ fs.writeFileSync(path.join(this.outdir, Manifest.fileName), (0, safe_stable_stringify_1.default)(this.buildManifest(), null, 2));
50
49
  }
51
50
  }
52
51
  exports.Manifest = Manifest;
53
52
  _a = JSII_RTTI_SYMBOL_1;
54
- Manifest[_a] = { fqn: "cdktn.Manifest", version: "0.23.2" };
53
+ Manifest[_a] = { fqn: "cdktn.Manifest", version: "0.23.4" };
55
54
  Manifest.fileName = "manifest.json";
56
55
  Manifest.stacksFolder = "stacks";
57
56
  Manifest.stackMetadataPath = "metadata.json";
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFHekIsaUVBQWlFO0FBQ2pFLG1EQUFvRDtBQXdCcEQsK0NBQStDO0FBQy9DLE1BQWEsUUFBUTtJQVFuQixZQUNrQixPQUFlLEVBQ2YsTUFBYyxFQUNkLFNBQWtCO1FBRmxCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsY0FBUyxHQUFULFNBQVMsQ0FBUztRQU5wQixXQUFNLEdBQWlELEVBQUUsQ0FBQztRQVF4RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQztZQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFekQsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQzVELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBcUI7UUFDbkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBRXJCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQWtCO1lBQzlCLElBQUk7WUFDSixhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDeEIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FDN0IsUUFBUSxDQUFDLFlBQVksRUFDckIsSUFBSSxDQUFDLEVBQUUsRUFDUCxJQUFJLENBQUMsYUFBYSxDQUNuQjtZQUNELGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQzFCLFFBQVEsQ0FBQyxZQUFZLEVBQ3JCLElBQUksQ0FBQyxFQUFFLEVBQ1AsUUFBUSxDQUFDLGlCQUFpQixDQUMzQjtZQUNELFdBQVcsRUFBRSxFQUFFLEVBQUUsK0NBQStDO1lBQ2hFLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDL0QsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTdCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRU0sV0FBVztRQUNoQixFQUFFLENBQUMsYUFBYSxDQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQ3pDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQVcsQ0FDeEQsQ0FBQztJQUNKLENBQUM7O0FBN0RILDRCQThEQzs7O0FBN0R3QixpQkFBUSxHQUFHLGVBQWUsQUFBbEIsQ0FBbUI7QUFDM0IscUJBQVksR0FBRyxRQUFRLEFBQVgsQ0FBWTtBQUN4QiwwQkFBaUIsR0FBRyxlQUFlLEFBQWxCLENBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi90ZXJyYWZvcm0tc3RhY2tcIjtcbmltcG9ydCB7IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSB9IGZyb20gXCIuL2Fubm90YXRpb25zXCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuaW1wb3J0IHN0cmluZ2lmeSA9IHJlcXVpcmUoXCJqc29uLXN0YWJsZS1zdHJpbmdpZnlcIik7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tBbm5vdGF0aW9uIHtcbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aDogc3RyaW5nO1xuICByZWFkb25seSBsZXZlbDogQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlO1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrdHJhY2U/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tNYW5pZmVzdCB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aDogc3RyaW5nO1xuICByZWFkb25seSBzeW50aGVzaXplZFN0YWNrUGF0aDogc3RyaW5nO1xuICAvLyBPbmx5IHZhbGlkIGZvciBIQ0wgc3ludGhlc2lzLCBmb3IgSlNPTiB0aGUgbWV0YWRhdGEgaXMgd2l0aGluIHRoZSBzeW50aGVzaXplZCBvdXRwdXRcbiAgcmVhZG9ubHkgc3RhY2tNZXRhZGF0YVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgd29ya2luZ0RpcmVjdG9yeTogc3RyaW5nO1xuICByZWFkb25seSBhbm5vdGF0aW9uczogU3RhY2tBbm5vdGF0aW9uW107XG4gIHJlYWRvbmx5IGRlcGVuZGVuY2llczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmlmZXN0IHtcbiAgcmVhZG9ubHkgc3RhY2tzOiBSZWNvcmQ8U3RhY2tNYW5pZmVzdFtcIm5hbWVcIl0sIFN0YWNrTWFuaWZlc3Q+O1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgTWFuaWZlc3QgaW1wbGVtZW50cyBJTWFuaWZlc3Qge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGZpbGVOYW1lID0gXCJtYW5pZmVzdC5qc29uXCI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgc3RhY2tzRm9sZGVyID0gXCJzdGFja3NcIjtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBzdGFja01ldGFkYXRhUGF0aCA9IFwibWV0YWRhdGEuanNvblwiO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGFja3M6IFJlY29yZDxTdGFja01hbmlmZXN0W1wibmFtZVwiXSwgU3RhY2tNYW5pZmVzdD4gPSB7fTtcbiAgcHVibGljIHJlYWRvbmx5IHN0YWNrRmlsZU5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBvdXRkaXI6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaGNsT3V0cHV0OiBib29sZWFuLFxuICApIHtcbiAgICBjb25zdCBzdGFja3NQYXRoID0gcGF0aC5qb2luKHRoaXMub3V0ZGlyLCBNYW5pZmVzdC5zdGFja3NGb2xkZXIpO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhzdGFja3NQYXRoKSkgZnMubWtkaXJTeW5jKHN0YWNrc1BhdGgpO1xuXG4gICAgdGhpcy5zdGFja0ZpbGVOYW1lID0gaGNsT3V0cHV0ID8gXCJjZGsudGZcIiA6IFwiY2RrLnRmLmpzb25cIjtcbiAgfVxuXG4gIHB1YmxpYyBmb3JTdGFjayhzdGFjazogVGVycmFmb3JtU3RhY2spOiBTdGFja01hbmlmZXN0IHtcbiAgICBjb25zdCBub2RlID0gc3RhY2subm9kZTtcbiAgICBjb25zdCBuYW1lID0gbm9kZS5pZDtcblxuICAgIGlmICh0aGlzLnN0YWNrc1tuYW1lXSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhY2tzW25hbWVdO1xuICAgIH1cblxuICAgIGNvbnN0IG1hbmlmZXN0OiBTdGFja01hbmlmZXN0ID0ge1xuICAgICAgbmFtZSxcbiAgICAgIGNvbnN0cnVjdFBhdGg6IG5vZGUucGF0aCxcbiAgICAgIHdvcmtpbmdEaXJlY3Rvcnk6IHBhdGguam9pbihNYW5pZmVzdC5zdGFja3NGb2xkZXIsIG5vZGUuaWQpLFxuICAgICAgc3ludGhlc2l6ZWRTdGFja1BhdGg6IHBhdGguam9pbihcbiAgICAgICAgTWFuaWZlc3Quc3RhY2tzRm9sZGVyLFxuICAgICAgICBub2RlLmlkLFxuICAgICAgICB0aGlzLnN0YWNrRmlsZU5hbWUsXG4gICAgICApLFxuICAgICAgc3RhY2tNZXRhZGF0YVBhdGg6IHBhdGguam9pbihcbiAgICAgICAgTWFuaWZlc3Quc3RhY2tzRm9sZGVyLFxuICAgICAgICBub2RlLmlkLFxuICAgICAgICBNYW5pZmVzdC5zdGFja01ldGFkYXRhUGF0aCxcbiAgICAgICksXG4gICAgICBhbm5vdGF0aW9uczogW10sIC8vIHdpbGwgYmUgcmVwbGFjZWQgbGF0ZXIgd2hlbiBwcm9jZXNzZWQgaW4gQXBwXG4gICAgICBkZXBlbmRlbmNpZXM6IHN0YWNrLmRlcGVuZGVuY2llcy5tYXAoKGl0ZW0pID0+IGl0ZW0ubm9kZS5wYXRoKSxcbiAgICB9O1xuICAgIHRoaXMuc3RhY2tzW25hbWVdID0gbWFuaWZlc3Q7XG5cbiAgICByZXR1cm4gbWFuaWZlc3Q7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRNYW5pZmVzdCgpOiBJTWFuaWZlc3Qge1xuICAgIHJldHVybiB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBzdGFja3M6IHRoaXMuc3RhY2tzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgd3JpdGVUb0ZpbGUoKSB7XG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbih0aGlzLm91dGRpciwgTWFuaWZlc3QuZmlsZU5hbWUpLFxuICAgICAgc3RyaW5naWZ5KHRoaXMuYnVpbGRNYW5pZmVzdCgpLCB7IHNwYWNlOiAyIH0pIGFzIHN0cmluZyxcbiAgICApO1xuICB9XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFHekIsaUVBQThDO0FBd0I5QywrQ0FBK0M7QUFDL0MsTUFBYSxRQUFRO0lBUW5CLFlBQ2tCLE9BQWUsRUFDZixNQUFjLEVBQ2QsU0FBa0I7UUFGbEIsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxjQUFTLEdBQVQsU0FBUyxDQUFTO1FBTnBCLFdBQU0sR0FBaUQsRUFBRSxDQUFDO1FBUXhFLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDO1lBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsYUFBYSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUM7SUFDNUQsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFxQjtRQUNuQyxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFFckIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBa0I7WUFDOUIsSUFBSTtZQUNKLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUN4QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxvQkFBb0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUM3QixRQUFRLENBQUMsWUFBWSxFQUNyQixJQUFJLENBQUMsRUFBRSxFQUNQLElBQUksQ0FBQyxhQUFhLENBQ25CO1lBQ0QsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FDMUIsUUFBUSxDQUFDLFlBQVksRUFDckIsSUFBSSxDQUFDLEVBQUUsRUFDUCxRQUFRLENBQUMsaUJBQWlCLENBQzNCO1lBQ0QsV0FBVyxFQUFFLEVBQUUsRUFBRSwrQ0FBK0M7WUFDaEUsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMvRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFN0IsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTztZQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFTSxXQUFXO1FBQ2hCLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFDekMsSUFBQSwrQkFBUyxFQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFXLENBQ25ELENBQUM7SUFDSixDQUFDOztBQTdESCw0QkE4REM7OztBQTdEd0IsaUJBQVEsR0FBRyxlQUFlLEFBQWxCLENBQW1CO0FBQzNCLHFCQUFZLEdBQUcsUUFBUSxBQUFYLENBQVk7QUFDeEIsMEJBQWlCLEdBQUcsZUFBZSxBQUFsQixDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4vdGVycmFmb3JtLXN0YWNrXCI7XG5pbXBvcnQgeyBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUgfSBmcm9tIFwiLi9hbm5vdGF0aW9uc1wiO1xuaW1wb3J0IHN0cmluZ2lmeSBmcm9tIFwic2FmZS1zdGFibGUtc3RyaW5naWZ5XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tBbm5vdGF0aW9uIHtcbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aDogc3RyaW5nO1xuICByZWFkb25seSBsZXZlbDogQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlO1xuICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrdHJhY2U/OiBzdHJpbmdbXTtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tNYW5pZmVzdCB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY29uc3RydWN0UGF0aDogc3RyaW5nO1xuICByZWFkb25seSBzeW50aGVzaXplZFN0YWNrUGF0aDogc3RyaW5nO1xuICAvLyBPbmx5IHZhbGlkIGZvciBIQ0wgc3ludGhlc2lzLCBmb3IgSlNPTiB0aGUgbWV0YWRhdGEgaXMgd2l0aGluIHRoZSBzeW50aGVzaXplZCBvdXRwdXRcbiAgcmVhZG9ubHkgc3RhY2tNZXRhZGF0YVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgd29ya2luZ0RpcmVjdG9yeTogc3RyaW5nO1xuICByZWFkb25seSBhbm5vdGF0aW9uczogU3RhY2tBbm5vdGF0aW9uW107XG4gIHJlYWRvbmx5IGRlcGVuZGVuY2llczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSU1hbmlmZXN0IHtcbiAgcmVhZG9ubHkgc3RhY2tzOiBSZWNvcmQ8U3RhY2tNYW5pZmVzdFtcIm5hbWVcIl0sIFN0YWNrTWFuaWZlc3Q+O1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgTWFuaWZlc3QgaW1wbGVtZW50cyBJTWFuaWZlc3Qge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGZpbGVOYW1lID0gXCJtYW5pZmVzdC5qc29uXCI7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgc3RhY2tzRm9sZGVyID0gXCJzdGFja3NcIjtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBzdGFja01ldGFkYXRhUGF0aCA9IFwibWV0YWRhdGEuanNvblwiO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGFja3M6IFJlY29yZDxTdGFja01hbmlmZXN0W1wibmFtZVwiXSwgU3RhY2tNYW5pZmVzdD4gPSB7fTtcbiAgcHVibGljIHJlYWRvbmx5IHN0YWNrRmlsZU5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBvdXRkaXI6IHN0cmluZyxcbiAgICBwdWJsaWMgcmVhZG9ubHkgaGNsT3V0cHV0OiBib29sZWFuLFxuICApIHtcbiAgICBjb25zdCBzdGFja3NQYXRoID0gcGF0aC5qb2luKHRoaXMub3V0ZGlyLCBNYW5pZmVzdC5zdGFja3NGb2xkZXIpO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhzdGFja3NQYXRoKSkgZnMubWtkaXJTeW5jKHN0YWNrc1BhdGgpO1xuXG4gICAgdGhpcy5zdGFja0ZpbGVOYW1lID0gaGNsT3V0cHV0ID8gXCJjZGsudGZcIiA6IFwiY2RrLnRmLmpzb25cIjtcbiAgfVxuXG4gIHB1YmxpYyBmb3JTdGFjayhzdGFjazogVGVycmFmb3JtU3RhY2spOiBTdGFja01hbmlmZXN0IHtcbiAgICBjb25zdCBub2RlID0gc3RhY2subm9kZTtcbiAgICBjb25zdCBuYW1lID0gbm9kZS5pZDtcblxuICAgIGlmICh0aGlzLnN0YWNrc1tuYW1lXSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhY2tzW25hbWVdO1xuICAgIH1cblxuICAgIGNvbnN0IG1hbmlmZXN0OiBTdGFja01hbmlmZXN0ID0ge1xuICAgICAgbmFtZSxcbiAgICAgIGNvbnN0cnVjdFBhdGg6IG5vZGUucGF0aCxcbiAgICAgIHdvcmtpbmdEaXJlY3Rvcnk6IHBhdGguam9pbihNYW5pZmVzdC5zdGFja3NGb2xkZXIsIG5vZGUuaWQpLFxuICAgICAgc3ludGhlc2l6ZWRTdGFja1BhdGg6IHBhdGguam9pbihcbiAgICAgICAgTWFuaWZlc3Quc3RhY2tzRm9sZGVyLFxuICAgICAgICBub2RlLmlkLFxuICAgICAgICB0aGlzLnN0YWNrRmlsZU5hbWUsXG4gICAgICApLFxuICAgICAgc3RhY2tNZXRhZGF0YVBhdGg6IHBhdGguam9pbihcbiAgICAgICAgTWFuaWZlc3Quc3RhY2tzRm9sZGVyLFxuICAgICAgICBub2RlLmlkLFxuICAgICAgICBNYW5pZmVzdC5zdGFja01ldGFkYXRhUGF0aCxcbiAgICAgICksXG4gICAgICBhbm5vdGF0aW9uczogW10sIC8vIHdpbGwgYmUgcmVwbGFjZWQgbGF0ZXIgd2hlbiBwcm9jZXNzZWQgaW4gQXBwXG4gICAgICBkZXBlbmRlbmNpZXM6IHN0YWNrLmRlcGVuZGVuY2llcy5tYXAoKGl0ZW0pID0+IGl0ZW0ubm9kZS5wYXRoKSxcbiAgICB9O1xuICAgIHRoaXMuc3RhY2tzW25hbWVdID0gbWFuaWZlc3Q7XG5cbiAgICByZXR1cm4gbWFuaWZlc3Q7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRNYW5pZmVzdCgpOiBJTWFuaWZlc3Qge1xuICAgIHJldHVybiB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLnZlcnNpb24sXG4gICAgICBzdGFja3M6IHRoaXMuc3RhY2tzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgd3JpdGVUb0ZpbGUoKSB7XG4gICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgIHBhdGguam9pbih0aGlzLm91dGRpciwgTWFuaWZlc3QuZmlsZU5hbWUpLFxuICAgICAgc3RyaW5naWZ5KHRoaXMuYnVpbGRNYW5pZmVzdCgpLCBudWxsLCAyKSBhcyBzdHJpbmcsXG4gICAgKTtcbiAgfVxufVxuIl19
package/lib/resource.js CHANGED
@@ -19,5 +19,5 @@ class Resource extends constructs_1.Construct {
19
19
  }
20
20
  exports.Resource = Resource;
21
21
  _a = JSII_RTTI_SYMBOL_1;
22
- Resource[_a] = { fqn: "cdktn.Resource", version: "0.23.2" };
22
+ Resource[_a] = { fqn: "cdktn.Resource", version: "0.23.4" };
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDJDQUFtRDtBQUNuRCx1REFBbUQ7QUFhbkQ7OztHQUdHO0FBQ0gsTUFBc0IsUUFBUyxTQUFRLHNCQUFTO0lBRzlDLFlBQVksS0FBZ0IsRUFBRSxFQUFVO1FBQ3RDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxnQ0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDOztBQU5ILDRCQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCwgSUNvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuL3RlcnJhZm9ybS1zdGFja1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvdXJjZSBleHRlbmRzIElDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIHN0YWNrIGluIHdoaWNoIHRoaXMgcmVzb3VyY2UgaXMgZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmVzb3VyY2VDb25zdHJ1Y3RvciB7XG4gIG5ldyAoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBJUmVzb3VyY2U7XG59XG5cbi8qKlxuICogQSBjb25zdHJ1Y3Qgd2hpY2ggcmVwcmVzZW50cyBhIHJlc291cmNlLlxuICogQGRlcHJlY2F0ZWQgLSBQbGVhc2UgdXNlIENvbnN0cnVjdCBmcm9tIHRoZSBjb25zdHJ1Y3RzIHBhY2thZ2UgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc291cmNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSVJlc291cmNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnN0YWNrID0gVGVycmFmb3JtU3RhY2sub2YodGhpcyk7XG4gIH1cbn1cbiJdfQ==
@@ -7,8 +7,7 @@ exports.addCustomSynthesis = addCustomSynthesis;
7
7
  // SPDX-License-Identifier: MPL-2.0
8
8
  const path = require("path");
9
9
  const fs = require("fs");
10
- // eslint-disable-next-line @typescript-eslint/no-require-imports
11
- const stringify = require("json-stable-stringify");
10
+ const safe_stable_stringify_1 = require("safe-stable-stringify");
12
11
  const annotations_1 = require("../annotations");
13
12
  const constructs_1 = require("constructs");
14
13
  const aspect_1 = require("../aspect");
@@ -30,6 +29,10 @@ class StackSynthesizer {
30
29
  synthesize(session) {
31
30
  invokeAspects(this.stack);
32
31
  if (this.stack.hasResourceMove()) {
32
+ // TODO(target-versions): this probes the locally installed binary during
33
+ // synth. Migrate to ValidateFeatureTargetSupport (declared cdktf.json
34
+ // targetVersions) and leave installed-binary verification to the opt-in
35
+ // validateInstalledBinary CLI behavior.
33
36
  this.stack.node.addValidation(new validate_terraform_version_1.ValidateTerraformVersion(">=1.5", `Resource move functionality is only supported for Terraform >=1.5. Please upgrade your Terraform version.`));
34
37
  }
35
38
  if (!session.skipValidation) {
@@ -71,11 +74,11 @@ class StackSynthesizer {
71
74
  if (this.hclOutput) {
72
75
  const hcl = this.stack.toHclTerraform();
73
76
  fs.writeFileSync(path.join(session.outdir, stackManifest.synthesizedStackPath), hcl.hcl);
74
- fs.writeFileSync(path.join(session.outdir, stackManifest.stackMetadataPath), stringify(hcl.metadata, { space: 2 }));
77
+ fs.writeFileSync(path.join(session.outdir, stackManifest.stackMetadataPath), (0, safe_stable_stringify_1.default)(hcl.metadata, null, 2));
75
78
  return;
76
79
  }
77
80
  const jsonTfConfig = this.stack.toTerraform();
78
- fs.writeFileSync(path.join(session.outdir, stackManifest.synthesizedStackPath), stringify(jsonTfConfig, { space: 2 }));
81
+ fs.writeFileSync(path.join(session.outdir, stackManifest.synthesizedStackPath), (0, safe_stable_stringify_1.default)(jsonTfConfig, null, 2));
79
82
  }
80
83
  }
81
84
  exports.StackSynthesizer = StackSynthesizer;
@@ -143,4 +146,4 @@ function addCustomSynthesis(construct, synthesis) {
143
146
  function getCustomSynthesis(construct) {
144
147
  return construct[CUSTOM_SYNTHESIS_SYM];
145
148
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGhlc2l6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3ludGhlc2l6ZS9zeW50aGVzaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUF5SEEsc0NBeUNDO0FBbUNELGdEQVFDO0FBN01ELCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixpRUFBaUU7QUFDakUsbURBQW9EO0FBR3BELGdEQUEwRTtBQUMxRSwyQ0FBdUU7QUFDdkUsc0NBQTZDO0FBRTdDLDBGQUFxRjtBQUNyRixzQ0FBZ0U7QUFFaEUsK0NBQStDO0FBQy9DLE1BQWEsZ0JBQWdCO0lBQzNCOzs7OztPQUtHO0lBQ0gsWUFDWSxLQUFxQixFQUN2Qiw2QkFBNkIsS0FBSyxFQUNsQyxZQUFZLEtBQUs7UUFGZixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUN2QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQVE7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBUTtJQUN4QixDQUFDO0lBRUosVUFBVSxDQUFDLE9BQTBCO1FBQ25DLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFMUIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUMzQixJQUFJLHFEQUF3QixDQUMxQixPQUFPLEVBQ1AsMkdBQTJHLENBQzVHLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQ2hDLE9BQU8sQ0FBQyxNQUFNLEVBQ2QsYUFBYSxDQUFDLGdCQUFnQixDQUMvQixDQUFDO1FBQ0YsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7WUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFckUscURBQXFEO1FBQ3JELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTthQUNaLE9BQU8sQ0FBQywyQkFBYyxDQUFDLFNBQVMsQ0FBQzthQUNqQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRXRFLG9DQUFvQztRQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUk7YUFDaEMsT0FBTyxFQUFFO2FBQ1QsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2QsSUFBSTtZQUNKLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7U0FDM0QsQ0FBQyxDQUFDO2FBQ0YsR0FBRyxDQUFvQixDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsQ0FDOUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUMzQixhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQzdCLEtBQUssRUFBRSxRQUFRLENBQUMsSUFBbUM7WUFDbkQsT0FBTyxFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQ3RCLFVBQVUsRUFBRSxRQUFRLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUMsQ0FDSjthQUNBLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWU7UUFFNUUsMkVBQTJFO1FBQzFFLGFBQWEsQ0FBQyxXQUFtQixHQUFHLFdBQVcsQ0FBQztRQUVqRCwrREFBK0Q7UUFDL0QsSUFDRSxDQUFDLElBQUksQ0FBQywwQkFBMEI7WUFDaEMsV0FBVyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUNuQyxDQUFDO1lBQ0QsTUFBTSxJQUFBLDRDQUFtQyxFQUN2QyxXQUFXO2lCQUNSLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQztpQkFDekIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO2lCQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ2QsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hDLEVBQUUsQ0FBQyxhQUFhLENBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxFQUM3RCxHQUFHLENBQUMsR0FBRyxDQUNSLENBQUM7WUFFRixFQUFFLENBQUMsYUFBYSxDQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsaUJBQWtCLENBQUMsRUFDM0QsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQVcsQ0FDaEQsQ0FBQztZQUVGLE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU5QyxFQUFFLENBQUMsYUFBYSxDQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsb0JBQW9CLENBQUMsRUFDN0QsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBVyxDQUNoRCxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBbEdELDRDQWtHQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixhQUFhLENBQUMsSUFBZ0I7SUFDNUMsTUFBTSxhQUFhLEdBQXNDLEVBQUUsQ0FBQztJQUU1RCxJQUFJLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNoQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWxCLCtDQUErQztJQUMvQyxTQUFTLE9BQU8sQ0FBQyxTQUFxQixFQUFFLGdCQUEyQjtRQUNqRSxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzVCLE1BQU0sT0FBTyxHQUFHLGdCQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDNUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUNwQyxJQUFJLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixPQUFPLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUMsQ0FBQztZQUVELElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2dCQUM3QixTQUFTO1lBQ1gsQ0FBQztZQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7WUFFeEIsMEdBQTBHO1lBQzFHLG1HQUFtRztZQUNuRyxJQUFJLENBQUMsbUJBQW1CLElBQUksZ0JBQWdCLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEUseUJBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUNsQyw2RUFBNkUsQ0FDOUUsQ0FBQztnQkFDRixtQkFBbUIsR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztZQUVELGdDQUFnQztZQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUMsT0FBTyxDQUFDLEtBQUssRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLDRCQUE0QixHQUFHO0lBQ25DLHlDQUEyQixDQUFDLElBQUk7SUFDaEMseUNBQTJCLENBQUMsSUFBSTtJQUNoQyx5Q0FBMkIsQ0FBQyxLQUFLO0NBQ3RCLENBQUM7QUFFZCwrQ0FBK0M7QUFDL0MsU0FBUyxvQkFBb0IsQ0FBQyxRQUF1QjtJQUNuRCxPQUFPLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELCtDQUErQztBQUMvQyxTQUFTLGlCQUFpQixDQUFDLFVBQTJCO0lBQ3BELE9BQU8sVUFBVSxDQUFDLEtBQUssS0FBSyx5Q0FBMkIsQ0FBQyxLQUFLLENBQUM7QUFDaEUsQ0FBQztBQUVELHFKQUFxSjtBQUNySixNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQWVqRSwrQ0FBK0M7QUFDL0MsU0FBZ0Isa0JBQWtCLENBQ2hDLFNBQXFCLEVBQ3JCLFNBQTJCO0lBRTNCLE1BQU0sQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLG9CQUFvQixFQUFFO1FBQ3JELEtBQUssRUFBRSxTQUFTO1FBQ2hCLFVBQVUsRUFBRSxLQUFLO0tBQ2xCLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCwrQ0FBK0M7QUFDL0MsU0FBUyxrQkFBa0IsQ0FDekIsU0FBcUI7SUFFckIsT0FBUSxTQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5pbXBvcnQgc3RyaW5naWZ5ID0gcmVxdWlyZShcImpzb24tc3RhYmxlLXN0cmluZ2lmeVwiKTtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHsgSVN0YWNrU3ludGhlc2l6ZXIsIElTeW50aGVzaXNTZXNzaW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSwgQW5ub3RhdGlvbnMgfSBmcm9tIFwiLi4vYW5ub3RhdGlvbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdE9yZGVyLCBJQ29uc3RydWN0LCBNZXRhZGF0YUVudHJ5IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFzcGVjdHMsIElBc3BlY3QgfSBmcm9tIFwiLi4vYXNwZWN0XCI7XG5pbXBvcnQgeyBTdGFja0Fubm90YXRpb24gfSBmcm9tIFwiLi4vbWFuaWZlc3RcIjtcbmltcG9ydCB7IFZhbGlkYXRlVGVycmFmb3JtVmVyc2lvbiB9IGZyb20gXCIuLi92YWxpZGF0aW9ucy92YWxpZGF0ZS10ZXJyYWZvcm0tdmVyc2lvblwiO1xuaW1wb3J0IHsgZW5jb3VudGVyZWRBbm5vdGF0aW9uV2l0aExldmVsRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgU3RhY2tTeW50aGVzaXplciBpbXBsZW1lbnRzIElTdGFja1N5bnRoZXNpemVyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBzdGFjayB0aGUgc3RhY2sgdG8gc3ludGhlc2l6ZVxuICAgKiBAcGFyYW0gY29udGludWVPbkVycm9yQW5ub3RhdGlvbnMgaWYgc2V0IHRvIHRydWUsIGBzeW50aGVzaXplKClgIHdpbGwgbm90IHRocm93IGFuIGVycm9yXG4gICAqIGlmIGl0IGVuY291bnRlcnMgYW4gZXJyb3IgQW5ub3RhdGlvbi4gSG93ZXZlciwgaXQgd2lsbCBzdGlsbCBhZGQgYWxsIGVycm9ycyB0byB0aGUgbWFuaWZlc3RcbiAgICogZmlsZS4gVGhlIGNka3RuLWNsaSB1c2VzIHRoaXMgZmxhZyB0byBwcmludCB0aGUgZXJyb3JzIGl0c2VsZi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdGFjazogVGVycmFmb3JtU3RhY2ssXG4gICAgcHJpdmF0ZSBjb250aW51ZU9uRXJyb3JBbm5vdGF0aW9ucyA9IGZhbHNlLFxuICAgIHByaXZhdGUgaGNsT3V0cHV0ID0gZmFsc2UsXG4gICkge31cblxuICBzeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKSB7XG4gICAgaW52b2tlQXNwZWN0cyh0aGlzLnN0YWNrKTtcblxuICAgIGlmICh0aGlzLnN0YWNrLmhhc1Jlc291cmNlTW92ZSgpKSB7XG4gICAgICB0aGlzLnN0YWNrLm5vZGUuYWRkVmFsaWRhdGlvbihcbiAgICAgICAgbmV3IFZhbGlkYXRlVGVycmFmb3JtVmVyc2lvbihcbiAgICAgICAgICBcIj49MS41XCIsXG4gICAgICAgICAgYFJlc291cmNlIG1vdmUgZnVuY3Rpb25hbGl0eSBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgVGVycmFmb3JtID49MS41LiBQbGVhc2UgdXBncmFkZSB5b3VyIFRlcnJhZm9ybSB2ZXJzaW9uLmAsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghc2Vzc2lvbi5za2lwVmFsaWRhdGlvbikge1xuICAgICAgdGhpcy5zdGFjay5ydW5BbGxWYWxpZGF0aW9ucygpO1xuICAgIH1cblxuICAgIGNvbnN0IG1hbmlmZXN0ID0gc2Vzc2lvbi5tYW5pZmVzdDtcbiAgICBjb25zdCBzdGFja01hbmlmZXN0ID0gbWFuaWZlc3QuZm9yU3RhY2sodGhpcy5zdGFjayk7XG5cbiAgICBjb25zdCB3b3JraW5nRGlyZWN0b3J5ID0gcGF0aC5qb2luKFxuICAgICAgc2Vzc2lvbi5vdXRkaXIsXG4gICAgICBzdGFja01hbmlmZXN0LndvcmtpbmdEaXJlY3RvcnksXG4gICAgKTtcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMod29ya2luZ0RpcmVjdG9yeSkpIGZzLm1rZGlyU3luYyh3b3JraW5nRGlyZWN0b3J5KTtcblxuICAgIC8vIGNhbGwgY3VzdG9tIHN5bnRoZXNpcyBvbiBjaGlsZCBub2RlcyAobGVhZnMgZmlyc3QpXG4gICAgdGhpcy5zdGFjay5ub2RlXG4gICAgICAuZmluZEFsbChDb25zdHJ1Y3RPcmRlci5QT1NUT1JERVIpXG4gICAgICAuZm9yRWFjaCgobm9kZSkgPT4gZ2V0Q3VzdG9tU3ludGhlc2lzKG5vZGUpPy5vblN5bnRoZXNpemUoc2Vzc2lvbikpO1xuXG4gICAgLy8gY29sbGVjdCBBbm5vdGF0aW9ucyBpbnRvIE1hbmlmZXN0XG4gICAgY29uc3QgYW5ub3RhdGlvbnMgPSB0aGlzLnN0YWNrLm5vZGVcbiAgICAgIC5maW5kQWxsKClcbiAgICAgIC5tYXAoKG5vZGUpID0+ICh7XG4gICAgICAgIG5vZGUsXG4gICAgICAgIG1ldGFkYXRhczogbm9kZS5ub2RlLm1ldGFkYXRhLmZpbHRlcihpc0Fubm90YXRpb25NZXRhZGF0YSksXG4gICAgICB9KSlcbiAgICAgIC5tYXA8U3RhY2tBbm5vdGF0aW9uW10+KCh7IG5vZGUsIG1ldGFkYXRhcyB9KSA9PlxuICAgICAgICBtZXRhZGF0YXMubWFwKChtZXRhZGF0YSkgPT4gKHtcbiAgICAgICAgICBjb25zdHJ1Y3RQYXRoOiBub2RlLm5vZGUucGF0aCxcbiAgICAgICAgICBsZXZlbDogbWV0YWRhdGEudHlwZSBhcyBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUsXG4gICAgICAgICAgbWVzc2FnZTogbWV0YWRhdGEuZGF0YSxcbiAgICAgICAgICBzdGFja3RyYWNlOiBtZXRhZGF0YS50cmFjZSxcbiAgICAgICAgfSkpLFxuICAgICAgKVxuICAgICAgLnJlZHVjZSgobGlzdCwgbWV0YWRhdGFzKSA9PiBbLi4ubGlzdCwgLi4ubWV0YWRhdGFzXSwgW10pOyAvLyBBcnJheS5mbGF0KClcblxuICAgIC8vIGl0IGlzIHJlYWRvbmx5IGJ1dCB0aGlzIGlzIHRoZSBwbGFjZSB3aGVyZSB3ZSBhcmUgYWxsb3dlZCB0byB3cml0ZSB0byBpdFxuICAgIChzdGFja01hbmlmZXN0LmFubm90YXRpb25zIGFzIGFueSkgPSBhbm5vdGF0aW9ucztcblxuICAgIC8vIGFib3J0IGlmIG9uZSBvciBtb3JlIGVycm9yIGFubm90YXRpb25zIGhhdmUgYmVlbiBlbmNvdW50ZXJlZFxuICAgIGlmIChcbiAgICAgICF0aGlzLmNvbnRpbnVlT25FcnJvckFubm90YXRpb25zICYmXG4gICAgICBhbm5vdGF0aW9ucy5zb21lKGlzRXJyb3JBbm5vdGF0aW9uKVxuICAgICkge1xuICAgICAgdGhyb3cgZW5jb3VudGVyZWRBbm5vdGF0aW9uV2l0aExldmVsRXJyb3IoXG4gICAgICAgIGFubm90YXRpb25zXG4gICAgICAgICAgLmZpbHRlcihpc0Vycm9yQW5ub3RhdGlvbilcbiAgICAgICAgICAubWFwKChhKSA9PiBgWyR7YS5jb25zdHJ1Y3RQYXRofV0gJHthLm1lc3NhZ2V9YClcbiAgICAgICAgICAuam9pbihcIlxcblwiKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaGNsT3V0cHV0KSB7XG4gICAgICBjb25zdCBoY2wgPSB0aGlzLnN0YWNrLnRvSGNsVGVycmFmb3JtKCk7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgpLFxuICAgICAgICBoY2wuaGNsLFxuICAgICAgKTtcblxuICAgICAgZnMud3JpdGVGaWxlU3luYyhcbiAgICAgICAgcGF0aC5qb2luKHNlc3Npb24ub3V0ZGlyLCBzdGFja01hbmlmZXN0LnN0YWNrTWV0YWRhdGFQYXRoISksXG4gICAgICAgIHN0cmluZ2lmeShoY2wubWV0YWRhdGEsIHsgc3BhY2U6IDIgfSkgYXMgc3RyaW5nLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGpzb25UZkNvbmZpZyA9IHRoaXMuc3RhY2sudG9UZXJyYWZvcm0oKTtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgpLFxuICAgICAgc3RyaW5naWZ5KGpzb25UZkNvbmZpZywgeyBzcGFjZTogMiB9KSBhcyBzdHJpbmcsXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIEludm9rZSBhc3BlY3RzIG9uIHRoZSBnaXZlbiBjb25zdHJ1Y3QgdHJlZS5cbiAqXG4gKiBvcmlnaW5hbGx5IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvZGNhZTNlZWFkMGRiZjlhY2IxZWQ4MGJhOTViYjEwNGM2NGNiMWJkNy9wYWNrYWdlcy9AYXdzLWNkay9jb3JlL2xpYi9wcml2YXRlL3N5bnRoZXNpcy50cyNMOTktTDEzN1xuICovXG5leHBvcnQgZnVuY3Rpb24gaW52b2tlQXNwZWN0cyhyb290OiBJQ29uc3RydWN0KSB7XG4gIGNvbnN0IGludm9rZWRCeVBhdGg6IHsgW25vZGVQYXRoOiBzdHJpbmddOiBJQXNwZWN0W10gfSA9IHt9O1xuXG4gIGxldCBuZXN0ZWRBc3BlY3RXYXJuaW5nID0gZmFsc2U7XG4gIHJlY3Vyc2Uocm9vdCwgW10pO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gIGZ1bmN0aW9uIHJlY3Vyc2UoY29uc3RydWN0OiBJQ29uc3RydWN0LCBpbmhlcml0ZWRBc3BlY3RzOiBJQXNwZWN0W10pIHtcbiAgICBjb25zdCBub2RlID0gY29uc3RydWN0Lm5vZGU7XG4gICAgY29uc3QgYXNwZWN0cyA9IEFzcGVjdHMub2YoY29uc3RydWN0KTtcbiAgICBjb25zdCBhbGxBc3BlY3RzSGVyZSA9IFsuLi4oaW5oZXJpdGVkQXNwZWN0cyA/PyBbXSksIC4uLmFzcGVjdHMuYWxsXTtcbiAgICBjb25zdCBub2RlQXNwZWN0c0NvdW50ID0gYXNwZWN0cy5hbGwubGVuZ3RoO1xuICAgIGZvciAoY29uc3QgYXNwZWN0IG9mIGFsbEFzcGVjdHNIZXJlKSB7XG4gICAgICBsZXQgaW52b2tlZCA9IGludm9rZWRCeVBhdGhbbm9kZS5wYXRoXTtcbiAgICAgIGlmICghaW52b2tlZCkge1xuICAgICAgICBpbnZva2VkID0gaW52b2tlZEJ5UGF0aFtub2RlLnBhdGhdID0gW107XG4gICAgICB9XG5cbiAgICAgIGlmIChpbnZva2VkLmluY2x1ZGVzKGFzcGVjdCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGFzcGVjdC52aXNpdChjb25zdHJ1Y3QpO1xuXG4gICAgICAvLyBpZiBhbiBhc3BlY3Qgd2FzIGFkZGVkIHRvIHRoZSBub2RlIHdoaWxlIGludm9raW5nIGFub3RoZXIgYXNwZWN0IGl0IHdpbGwgbm90IGJlIGludm9rZWQsIGVtaXQgYSB3YXJuaW5nXG4gICAgICAvLyB0aGUgYG5lc3RlZEFzcGVjdFdhcm5pbmdgIGZsYWcgaXMgdXNlZCB0byBwcmV2ZW50IHRoZSB3YXJuaW5nIGZyb20gYmVpbmcgZW1pdHRlZCBmb3IgZXZlcnkgY2hpbGRcbiAgICAgIGlmICghbmVzdGVkQXNwZWN0V2FybmluZyAmJiBub2RlQXNwZWN0c0NvdW50ICE9PSBhc3BlY3RzLmFsbC5sZW5ndGgpIHtcbiAgICAgICAgQW5ub3RhdGlvbnMub2YoY29uc3RydWN0KS5hZGRXYXJuaW5nKFxuICAgICAgICAgIFwiV2UgZGV0ZWN0ZWQgYW4gQXNwZWN0IHdhcyBhZGRlZCB2aWEgYW5vdGhlciBBc3BlY3QsIGFuZCB3aWxsIG5vdCBiZSBhcHBsaWVkXCIsXG4gICAgICAgICk7XG4gICAgICAgIG5lc3RlZEFzcGVjdFdhcm5pbmcgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBtYXJrIGFzIGludm9rZWQgZm9yIHRoaXMgbm9kZVxuICAgICAgaW52b2tlZC5wdXNoKGFzcGVjdCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb25zdHJ1Y3Qubm9kZS5jaGlsZHJlbikge1xuICAgICAgcmVjdXJzZShjaGlsZCwgYWxsQXNwZWN0c0hlcmUpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGVzID0gW1xuICBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuSU5GTyxcbiAgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLldBUk4sXG4gIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5FUlJPUixcbl0gYXMgc3RyaW5nW107XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBpc0Fubm90YXRpb25NZXRhZGF0YShtZXRhZGF0YTogTWV0YWRhdGFFbnRyeSk6IGJvb2xlYW4ge1xuICByZXR1cm4gYW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlcy5pbmNsdWRlcyhtZXRhZGF0YS50eXBlKTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIGlzRXJyb3JBbm5vdGF0aW9uKGFubm90YXRpb246IFN0YWNrQW5ub3RhdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gYW5ub3RhdGlvbi5sZXZlbCA9PT0gQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLkVSUk9SO1xufVxuXG4vLyBvcmlnaW5hbGx5IGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvZGNhZTNlZWFkMGRiZjlhY2IxZWQ4MGJhOTViYjEwNGM2NGNiMWJkNy9wYWNrYWdlcy8lNDBhd3MtY2RrL2NvcmUvbGliL3ByaXZhdGUvc3ludGhlc2lzLnRzI0w1MlxuY29uc3QgQ1VTVE9NX1NZTlRIRVNJU19TWU0gPSBTeW1ib2wuZm9yKFwiY2RrdGYvY3VzdG9tU3ludGhlc2lzXCIpO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgY29uc3RydWN0cyB0aGF0IHdhbnQgdG8gZG8gc29tZXRoaW5nIGN1c3RvbSBkdXJpbmcgc3ludGhlc2lzXG4gKlxuICogVGhpcyBmZWF0dXJlIGlzIGludGVuZGVkIGZvciB1c2UgYnkgdGhlIENES1ROIG9ubHk7IDNyZCBwYXJ0eVxuICogbGlicmFyeSBhdXRob3JzIGFuZCBDREsgdXNlcnMgc2hvdWxkIG5vdCB1c2UgdGhpcyBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ3VzdG9tU3ludGhlc2lzIHtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBjb25zdHJ1Y3QgaXMgc3ludGhlc2l6ZWRcbiAgICovXG4gIG9uU3ludGhlc2l6ZShzZXNzaW9uOiBJU3ludGhlc2lzU2Vzc2lvbik6IHZvaWQ7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgZnVuY3Rpb24gYWRkQ3VzdG9tU3ludGhlc2lzKFxuICBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QsXG4gIHN5bnRoZXNpczogSUN1c3RvbVN5bnRoZXNpcyxcbik6IHZvaWQge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoY29uc3RydWN0LCBDVVNUT01fU1lOVEhFU0lTX1NZTSwge1xuICAgIHZhbHVlOiBzeW50aGVzaXMsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gIH0pO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gZ2V0Q3VzdG9tU3ludGhlc2lzKFxuICBjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QsXG4pOiBJQ3VzdG9tU3ludGhlc2lzIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIChjb25zdHJ1Y3QgYXMgYW55KVtDVVNUT01fU1lOVEhFU0lTX1NZTV07XG59XG4iXX0=
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ludGhlc2l6ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3ludGhlc2l6ZS9zeW50aGVzaXplci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE0SEEsc0NBeUNDO0FBbUNELGdEQVFDO0FBaE5ELCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsNkJBQTZCO0FBQzdCLHlCQUF5QjtBQUN6QixpRUFBOEM7QUFHOUMsZ0RBQTBFO0FBQzFFLDJDQUF1RTtBQUN2RSxzQ0FBNkM7QUFFN0MsMEZBQXFGO0FBQ3JGLHNDQUFnRTtBQUVoRSwrQ0FBK0M7QUFDL0MsTUFBYSxnQkFBZ0I7SUFDM0I7Ozs7O09BS0c7SUFDSCxZQUNZLEtBQXFCLEVBQ3ZCLDZCQUE2QixLQUFLLEVBQ2xDLFlBQVksS0FBSztRQUZmLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3ZCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FBUTtRQUNsQyxjQUFTLEdBQVQsU0FBUyxDQUFRO0lBQ3hCLENBQUM7SUFFSixVQUFVLENBQUMsT0FBMEI7UUFDbkMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUNqQyx5RUFBeUU7WUFDekUsc0VBQXNFO1lBQ3RFLHdFQUF3RTtZQUN4RSx3Q0FBd0M7WUFDeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUMzQixJQUFJLHFEQUF3QixDQUMxQixPQUFPLEVBQ1AsMkdBQTJHLENBQzVHLENBQ0YsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO1FBRUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNsQyxNQUFNLGFBQWEsR0FB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QUFDLFNBQVMsRUFBRSxvQkFBb0IsRUFBRTtRQUNyRCxLQUFLLEVBQUUsU0FBUztRQUNoQixVQUFVLEVBQUUsS0FBSztLQUNsQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsK0NBQStDO0FBQy9DLFNBQVMsa0JBQWtCLENBQ3pCLFNBQXFCO0lBRXJCLE9BQVEsU0FBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgc3RyaW5naWZ5IGZyb20gXCJzYWZlLXN0YWJsZS1zdHJpbmdpZnlcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHsgSVN0YWNrU3ludGhlc2l6ZXIsIElTeW50aGVzaXNTZXNzaW9uIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSwgQW5ub3RhdGlvbnMgfSBmcm9tIFwiLi4vYW5ub3RhdGlvbnNcIjtcbmltcG9ydCB7IENvbnN0cnVjdE9yZGVyLCBJQ29uc3RydWN0LCBNZXRhZGF0YUVudHJ5IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEFzcGVjdHMsIElBc3BlY3QgfSBmcm9tIFwiLi4vYXNwZWN0XCI7XG5pbXBvcnQgeyBTdGFja0Fubm90YXRpb24gfSBmcm9tIFwiLi4vbWFuaWZlc3RcIjtcbmltcG9ydCB7IFZhbGlkYXRlVGVycmFmb3JtVmVyc2lvbiB9IGZyb20gXCIuLi92YWxpZGF0aW9ucy92YWxpZGF0ZS10ZXJyYWZvcm0tdmVyc2lvblwiO1xuaW1wb3J0IHsgZW5jb3VudGVyZWRBbm5vdGF0aW9uV2l0aExldmVsRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgU3RhY2tTeW50aGVzaXplciBpbXBsZW1lbnRzIElTdGFja1N5bnRoZXNpemVyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBzdGFjayB0aGUgc3RhY2sgdG8gc3ludGhlc2l6ZVxuICAgKiBAcGFyYW0gY29udGludWVPbkVycm9yQW5ub3RhdGlvbnMgaWYgc2V0IHRvIHRydWUsIGBzeW50aGVzaXplKClgIHdpbGwgbm90IHRocm93IGFuIGVycm9yXG4gICAqIGlmIGl0IGVuY291bnRlcnMgYW4gZXJyb3IgQW5ub3RhdGlvbi4gSG93ZXZlciwgaXQgd2lsbCBzdGlsbCBhZGQgYWxsIGVycm9ycyB0byB0aGUgbWFuaWZlc3RcbiAgICogZmlsZS4gVGhlIGNka3RuLWNsaSB1c2VzIHRoaXMgZmxhZyB0byBwcmludCB0aGUgZXJyb3JzIGl0c2VsZi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdGFjazogVGVycmFmb3JtU3RhY2ssXG4gICAgcHJpdmF0ZSBjb250aW51ZU9uRXJyb3JBbm5vdGF0aW9ucyA9IGZhbHNlLFxuICAgIHByaXZhdGUgaGNsT3V0cHV0ID0gZmFsc2UsXG4gICkge31cblxuICBzeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKSB7XG4gICAgaW52b2tlQXNwZWN0cyh0aGlzLnN0YWNrKTtcblxuICAgIGlmICh0aGlzLnN0YWNrLmhhc1Jlc291cmNlTW92ZSgpKSB7XG4gICAgICAvLyBUT0RPKHRhcmdldC12ZXJzaW9ucyk6IHRoaXMgcHJvYmVzIHRoZSBsb2NhbGx5IGluc3RhbGxlZCBiaW5hcnkgZHVyaW5nXG4gICAgICAvLyBzeW50aC4gTWlncmF0ZSB0byBWYWxpZGF0ZUZlYXR1cmVUYXJnZXRTdXBwb3J0IChkZWNsYXJlZCBjZGt0Zi5qc29uXG4gICAgICAvLyB0YXJnZXRWZXJzaW9ucykgYW5kIGxlYXZlIGluc3RhbGxlZC1iaW5hcnkgdmVyaWZpY2F0aW9uIHRvIHRoZSBvcHQtaW5cbiAgICAgIC8vIHZhbGlkYXRlSW5zdGFsbGVkQmluYXJ5IENMSSBiZWhhdmlvci5cbiAgICAgIHRoaXMuc3RhY2subm9kZS5hZGRWYWxpZGF0aW9uKFxuICAgICAgICBuZXcgVmFsaWRhdGVUZXJyYWZvcm1WZXJzaW9uKFxuICAgICAgICAgIFwiPj0xLjVcIixcbiAgICAgICAgICBgUmVzb3VyY2UgbW92ZSBmdW5jdGlvbmFsaXR5IGlzIG9ubHkgc3VwcG9ydGVkIGZvciBUZXJyYWZvcm0gPj0xLjUuIFBsZWFzZSB1cGdyYWRlIHlvdXIgVGVycmFmb3JtIHZlcnNpb24uYCxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCFzZXNzaW9uLnNraXBWYWxpZGF0aW9uKSB7XG4gICAgICB0aGlzLnN0YWNrLnJ1bkFsbFZhbGlkYXRpb25zKCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWFuaWZlc3QgPSBzZXNzaW9uLm1hbmlmZXN0O1xuICAgIGNvbnN0IHN0YWNrTWFuaWZlc3QgPSBtYW5pZmVzdC5mb3JTdGFjayh0aGlzLnN0YWNrKTtcblxuICAgIGNvbnN0IHdvcmtpbmdEaXJlY3RvcnkgPSBwYXRoLmpvaW4oXG4gICAgICBzZXNzaW9uLm91dGRpcixcbiAgICAgIHN0YWNrTWFuaWZlc3Qud29ya2luZ0RpcmVjdG9yeSxcbiAgICApO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh3b3JraW5nRGlyZWN0b3J5KSkgZnMubWtkaXJTeW5jKHdvcmtpbmdEaXJlY3RvcnkpO1xuXG4gICAgLy8gY2FsbCBjdXN0b20gc3ludGhlc2lzIG9uIGNoaWxkIG5vZGVzIChsZWFmcyBmaXJzdClcbiAgICB0aGlzLnN0YWNrLm5vZGVcbiAgICAgIC5maW5kQWxsKENvbnN0cnVjdE9yZGVyLlBPU1RPUkRFUilcbiAgICAgIC5mb3JFYWNoKChub2RlKSA9PiBnZXRDdXN0b21TeW50aGVzaXMobm9kZSk/Lm9uU3ludGhlc2l6ZShzZXNzaW9uKSk7XG5cbiAgICAvLyBjb2xsZWN0IEFubm90YXRpb25zIGludG8gTWFuaWZlc3RcbiAgICBjb25zdCBhbm5vdGF0aW9ucyA9IHRoaXMuc3RhY2subm9kZVxuICAgICAgLmZpbmRBbGwoKVxuICAgICAgLm1hcCgobm9kZSkgPT4gKHtcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbWV0YWRhdGFzOiBub2RlLm5vZGUubWV0YWRhdGEuZmlsdGVyKGlzQW5ub3RhdGlvbk1ldGFkYXRhKSxcbiAgICAgIH0pKVxuICAgICAgLm1hcDxTdGFja0Fubm90YXRpb25bXT4oKHsgbm9kZSwgbWV0YWRhdGFzIH0pID0+XG4gICAgICAgIG1ldGFkYXRhcy5tYXAoKG1ldGFkYXRhKSA9PiAoe1xuICAgICAgICAgIGNvbnN0cnVjdFBhdGg6IG5vZGUubm9kZS5wYXRoLFxuICAgICAgICAgIGxldmVsOiBtZXRhZGF0YS50eXBlIGFzIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZSxcbiAgICAgICAgICBtZXNzYWdlOiBtZXRhZGF0YS5kYXRhLFxuICAgICAgICAgIHN0YWNrdHJhY2U6IG1ldGFkYXRhLnRyYWNlLFxuICAgICAgICB9KSksXG4gICAgICApXG4gICAgICAucmVkdWNlKChsaXN0LCBtZXRhZGF0YXMpID0+IFsuLi5saXN0LCAuLi5tZXRhZGF0YXNdLCBbXSk7IC8vIEFycmF5LmZsYXQoKVxuXG4gICAgLy8gaXQgaXMgcmVhZG9ubHkgYnV0IHRoaXMgaXMgdGhlIHBsYWNlIHdoZXJlIHdlIGFyZSBhbGxvd2VkIHRvIHdyaXRlIHRvIGl0XG4gICAgKHN0YWNrTWFuaWZlc3QuYW5ub3RhdGlvbnMgYXMgYW55KSA9IGFubm90YXRpb25zO1xuXG4gICAgLy8gYWJvcnQgaWYgb25lIG9yIG1vcmUgZXJyb3IgYW5ub3RhdGlvbnMgaGF2ZSBiZWVuIGVuY291bnRlcmVkXG4gICAgaWYgKFxuICAgICAgIXRoaXMuY29udGludWVPbkVycm9yQW5ub3RhdGlvbnMgJiZcbiAgICAgIGFubm90YXRpb25zLnNvbWUoaXNFcnJvckFubm90YXRpb24pXG4gICAgKSB7XG4gICAgICB0aHJvdyBlbmNvdW50ZXJlZEFubm90YXRpb25XaXRoTGV2ZWxFcnJvcihcbiAgICAgICAgYW5ub3RhdGlvbnNcbiAgICAgICAgICAuZmlsdGVyKGlzRXJyb3JBbm5vdGF0aW9uKVxuICAgICAgICAgIC5tYXAoKGEpID0+IGBbJHthLmNvbnN0cnVjdFBhdGh9XSAke2EubWVzc2FnZX1gKVxuICAgICAgICAgIC5qb2luKFwiXFxuXCIpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5oY2xPdXRwdXQpIHtcbiAgICAgIGNvbnN0IGhjbCA9IHRoaXMuc3RhY2sudG9IY2xUZXJyYWZvcm0oKTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICAgIHBhdGguam9pbihzZXNzaW9uLm91dGRpciwgc3RhY2tNYW5pZmVzdC5zeW50aGVzaXplZFN0YWNrUGF0aCksXG4gICAgICAgIGhjbC5oY2wsXG4gICAgICApO1xuXG4gICAgICBmcy53cml0ZUZpbGVTeW5jKFxuICAgICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3RhY2tNZXRhZGF0YVBhdGghKSxcbiAgICAgICAgc3RyaW5naWZ5KGhjbC5tZXRhZGF0YSwgbnVsbCwgMikgYXMgc3RyaW5nLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGpzb25UZkNvbmZpZyA9IHRoaXMuc3RhY2sudG9UZXJyYWZvcm0oKTtcblxuICAgIGZzLndyaXRlRmlsZVN5bmMoXG4gICAgICBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgpLFxuICAgICAgc3RyaW5naWZ5KGpzb25UZkNvbmZpZywgbnVsbCwgMikgYXMgc3RyaW5nLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnZva2UgYXNwZWN0cyBvbiB0aGUgZ2l2ZW4gY29uc3RydWN0IHRyZWUuXG4gKlxuICogb3JpZ2luYWxseSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2RjYWUzZWVhZDBkYmY5YWNiMWVkODBiYTk1YmIxMDRjNjRjYjFiZDcvcGFja2FnZXMvQGF3cy1jZGsvY29yZS9saWIvcHJpdmF0ZS9zeW50aGVzaXMudHMjTDk5LUwxMzdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludm9rZUFzcGVjdHMocm9vdDogSUNvbnN0cnVjdCkge1xuICBjb25zdCBpbnZva2VkQnlQYXRoOiB7IFtub2RlUGF0aDogc3RyaW5nXTogSUFzcGVjdFtdIH0gPSB7fTtcblxuICBsZXQgbmVzdGVkQXNwZWN0V2FybmluZyA9IGZhbHNlO1xuICByZWN1cnNlKHJvb3QsIFtdKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuICBmdW5jdGlvbiByZWN1cnNlKGNvbnN0cnVjdDogSUNvbnN0cnVjdCwgaW5oZXJpdGVkQXNwZWN0czogSUFzcGVjdFtdKSB7XG4gICAgY29uc3Qgbm9kZSA9IGNvbnN0cnVjdC5ub2RlO1xuICAgIGNvbnN0IGFzcGVjdHMgPSBBc3BlY3RzLm9mKGNvbnN0cnVjdCk7XG4gICAgY29uc3QgYWxsQXNwZWN0c0hlcmUgPSBbLi4uKGluaGVyaXRlZEFzcGVjdHMgPz8gW10pLCAuLi5hc3BlY3RzLmFsbF07XG4gICAgY29uc3Qgbm9kZUFzcGVjdHNDb3VudCA9IGFzcGVjdHMuYWxsLmxlbmd0aDtcbiAgICBmb3IgKGNvbnN0IGFzcGVjdCBvZiBhbGxBc3BlY3RzSGVyZSkge1xuICAgICAgbGV0IGludm9rZWQgPSBpbnZva2VkQnlQYXRoW25vZGUucGF0aF07XG4gICAgICBpZiAoIWludm9rZWQpIHtcbiAgICAgICAgaW52b2tlZCA9IGludm9rZWRCeVBhdGhbbm9kZS5wYXRoXSA9IFtdO1xuICAgICAgfVxuXG4gICAgICBpZiAoaW52b2tlZC5pbmNsdWRlcyhhc3BlY3QpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBhc3BlY3QudmlzaXQoY29uc3RydWN0KTtcblxuICAgICAgLy8gaWYgYW4gYXNwZWN0IHdhcyBhZGRlZCB0byB0aGUgbm9kZSB3aGlsZSBpbnZva2luZyBhbm90aGVyIGFzcGVjdCBpdCB3aWxsIG5vdCBiZSBpbnZva2VkLCBlbWl0IGEgd2FybmluZ1xuICAgICAgLy8gdGhlIGBuZXN0ZWRBc3BlY3RXYXJuaW5nYCBmbGFnIGlzIHVzZWQgdG8gcHJldmVudCB0aGUgd2FybmluZyBmcm9tIGJlaW5nIGVtaXR0ZWQgZm9yIGV2ZXJ5IGNoaWxkXG4gICAgICBpZiAoIW5lc3RlZEFzcGVjdFdhcm5pbmcgJiYgbm9kZUFzcGVjdHNDb3VudCAhPT0gYXNwZWN0cy5hbGwubGVuZ3RoKSB7XG4gICAgICAgIEFubm90YXRpb25zLm9mKGNvbnN0cnVjdCkuYWRkV2FybmluZyhcbiAgICAgICAgICBcIldlIGRldGVjdGVkIGFuIEFzcGVjdCB3YXMgYWRkZWQgdmlhIGFub3RoZXIgQXNwZWN0LCBhbmQgd2lsbCBub3QgYmUgYXBwbGllZFwiLFxuICAgICAgICApO1xuICAgICAgICBuZXN0ZWRBc3BlY3RXYXJuaW5nID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gbWFyayBhcyBpbnZva2VkIGZvciB0aGlzIG5vZGVcbiAgICAgIGludm9rZWQucHVzaChhc3BlY3QpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY29uc3RydWN0Lm5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIHJlY3Vyc2UoY2hpbGQsIGFsbEFzcGVjdHNIZXJlKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgYW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlcyA9IFtcbiAgQW5ub3RhdGlvbk1ldGFkYXRhRW50cnlUeXBlLklORk8sXG4gIEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5XQVJOLFxuICBBbm5vdGF0aW9uTWV0YWRhdGFFbnRyeVR5cGUuRVJST1IsXG5dIGFzIHN0cmluZ1tdO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZnVuY3Rpb24gaXNBbm5vdGF0aW9uTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFkYXRhRW50cnkpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZXMuaW5jbHVkZXMobWV0YWRhdGEudHlwZSk7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5mdW5jdGlvbiBpc0Vycm9yQW5ub3RhdGlvbihhbm5vdGF0aW9uOiBTdGFja0Fubm90YXRpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGFubm90YXRpb24ubGV2ZWwgPT09IEFubm90YXRpb25NZXRhZGF0YUVudHJ5VHlwZS5FUlJPUjtcbn1cblxuLy8gb3JpZ2luYWxseSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL2RjYWUzZWVhZDBkYmY5YWNiMWVkODBiYTk1YmIxMDRjNjRjYjFiZDcvcGFja2FnZXMvJTQwYXdzLWNkay9jb3JlL2xpYi9wcml2YXRlL3N5bnRoZXNpcy50cyNMNTJcbmNvbnN0IENVU1RPTV9TWU5USEVTSVNfU1lNID0gU3ltYm9sLmZvcihcImNka3RmL2N1c3RvbVN5bnRoZXNpc1wiKTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbnN0cnVjdHMgdGhhdCB3YW50IHRvIGRvIHNvbWV0aGluZyBjdXN0b20gZHVyaW5nIHN5bnRoZXNpc1xuICpcbiAqIFRoaXMgZmVhdHVyZSBpcyBpbnRlbmRlZCBmb3IgdXNlIGJ5IHRoZSBDREtUTiBvbmx5OyAzcmQgcGFydHlcbiAqIGxpYnJhcnkgYXV0aG9ycyBhbmQgQ0RLIHVzZXJzIHNob3VsZCBub3QgdXNlIHRoaXMgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUN1c3RvbVN5bnRoZXNpcyB7XG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgY29uc3RydWN0IGlzIHN5bnRoZXNpemVkXG4gICAqL1xuICBvblN5bnRoZXNpemUoc2Vzc2lvbjogSVN5bnRoZXNpc1Nlc3Npb24pOiB2b2lkO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGZ1bmN0aW9uIGFkZEN1c3RvbVN5bnRoZXNpcyhcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuICBzeW50aGVzaXM6IElDdXN0b21TeW50aGVzaXMsXG4pOiB2b2lkIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnN0cnVjdCwgQ1VTVE9NX1NZTlRIRVNJU19TWU0sIHtcbiAgICB2YWx1ZTogc3ludGhlc2lzLFxuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICB9KTtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmZ1bmN0aW9uIGdldEN1c3RvbVN5bnRoZXNpcyhcbiAgY29uc3RydWN0OiBJQ29uc3RydWN0LFxuKTogSUN1c3RvbVN5bnRoZXNpcyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiAoY29uc3RydWN0IGFzIGFueSlbQ1VTVE9NX1NZTlRIRVNJU19TWU1dO1xufVxuIl19
@@ -116,5 +116,5 @@ class TerraformAsset extends constructs_1.Construct {
116
116
  }
117
117
  exports.TerraformAsset = TerraformAsset;
118
118
  _a = JSII_RTTI_SYMBOL_1;
119
- TerraformAsset[_a] = { fqn: "cdktn.TerraformAsset", version: "0.23.2" };
119
+ TerraformAsset[_a] = { fqn: "cdktn.TerraformAsset", version: "0.23.4" };
120
120
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWFzc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1hc3NldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsMkNBQXVDO0FBQ3ZDLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IscUNBS3NCO0FBRXRCLDBEQUE4RDtBQUM5RCx1REFBbUQ7QUFDbkQscUNBSWtCO0FBV2xCLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQix5Q0FBSSxDQUFBO0lBQ0osbURBQVMsQ0FBQTtJQUNULCtDQUFPLENBQUE7QUFDVCxDQUFDLEVBSlcsU0FBUyx5QkFBVCxTQUFTLFFBSXBCO0FBRUQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDO0FBQ25DLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0FBRWxDLCtDQUErQztBQUMvQyxNQUFhLGNBQWUsU0FBUSxzQkFBUztJQVEzQzs7Ozs7O09BTUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQTRCO1FBQ3BFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxnQ0FBYyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ2hDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxhQUFhLEdBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQztnQkFDekMsSUFBQSxxQkFBZ0IsRUFBQyxZQUFZLENBQUMsQ0FBQztZQUNqQyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQiwwSEFBMEg7Z0JBQzFILE1BQU0sWUFB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SUFBQSxnQ0FBdUIsR0FBRSxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDOztBQTVISCx3Q0E2SEMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHtcbiAgY29weVN5bmMsXG4gIGFyY2hpdmVTeW5jLFxuICBoYXNoUGF0aCxcbiAgZmluZEZpbGVBYm92ZUN3ZCxcbn0gZnJvbSBcIi4vcHJpdmF0ZS9mc1wiO1xuaW1wb3J0IHsgSVN5bnRoZXNpc1Nlc3Npb24gfSBmcm9tIFwiLi9zeW50aGVzaXplXCI7XG5pbXBvcnQgeyBhZGRDdXN0b21TeW50aGVzaXMgfSBmcm9tIFwiLi9zeW50aGVzaXplL3N5bnRoZXNpemVyXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCIuL3RlcnJhZm9ybS1zdGFja1wiO1xuaW1wb3J0IHtcbiAgYXNzZXRFeHBlY3RzRGlyZWN0b3J5LFxuICBhc3NldE91dE9mU2NvcGVPZkNES1RGSnNvbixcbiAgYXNzZXRUeXBlTm90SW1wbGVtZW50ZWQsXG59IGZyb20gXCIuL2Vycm9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlcnJhZm9ybUFzc2V0Q29uZmlnIHtcbiAgLy8gcGF0aCB0byB0aGUgZmlsZSBvciBmb2xkZXIgY29uZmlndXJlZC4gSWYgcmVsYXRpdmUsIHRoZSBwYXRoIGlzIHJlc29sdmVkIGZyb20gdGhlIGxvY2F0aW9uIG9mIGNka3RmLmpzb25cbiAgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuICAvLyBmaWxlIHR5cGUgb2YgdGhlIGFzc2V0LCBlaXRoZXIgQXNzZXRUeXBlLkZJTEUsIEFzc2V0VHlwZS5ESVJFQ1RPUlksIEFzc2V0VHlwZS5BUkNISVZFXG4gIHJlYWRvbmx5IHR5cGU/OiBBc3NldFR5cGU7XG4gIC8vIGhhc2ggdmFsdWUgb2YgdGhlIGFzc2V0LCBpZiBwYXNzZWQgd2lsbCBiZSB1c2VkIGFzIHJldHVybmVkIGFzc2V0SGFzaFxuICByZWFkb25seSBhc3NldEhhc2g/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBlbnVtIEFzc2V0VHlwZSB7XG4gIEZJTEUsXG4gIERJUkVDVE9SWSxcbiAgQVJDSElWRSxcbn1cblxuY29uc3QgQVJDSElWRV9OQU1FID0gXCJhcmNoaXZlLnppcFwiO1xuY29uc3QgQVNTRVRTX0RJUkVDVE9SWSA9IFwiYXNzZXRzXCI7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtQXNzZXQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcml2YXRlIHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbiAgcHJpdmF0ZSBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIC8vIGhhc2ggdmFsdWUgb2YgdGhlIGFzc2V0IHRoYXQgY2FuIGJlIHBhc3NlZCB0byBjb25zdW1pbmcgY29uc3RydWN0cyAoZS5nLiB0byBub3QgcmVjcmVhdGUgYSBsYW1iZGEgZnVuY3Rpb24gaW4gY2FzZSB0aGUgdW5kZXJseWluZyBmaWxlcyBkaWQgbm90IGNoYW5nZSlcbiAgcHVibGljIGFzc2V0SGFzaDogc3RyaW5nO1xuICAvLyBmaWxlIHR5cGUgb2YgdGhlIGFzc2V0LCBlaXRoZXIgQXNzZXRUeXBlLkZJTEUsIEFzc2V0VHlwZS5ESVJFQ1RPUlksIEFzc2V0VHlwZS5BUkNISVZFXG4gIHB1YmxpYyB0eXBlOiBBc3NldFR5cGU7XG5cbiAgLyoqXG4gICAqIEEgVGVycmFmb3JtIEFzc2V0IHRha2VzIGEgZmlsZSBvciBkaXJlY3Rvcnkgb3V0c2lkZSBvZiB0aGUgQ0RLIFRlcnJhaW4gY29udGV4dCBhbmQgbW92ZXMgaXQgaW50byBpdC5cbiAgICogQXNzZXRzIGNvcHkgcmVmZXJlbmNlZCBmaWxlcyBpbnRvIHRoZSBzdGFja3MgY29udGV4dCBmb3IgZnVydGhlciB1c2FnZSBpbiBvdGhlciByZXNvdXJjZXMuXG4gICAqIEBwYXJhbSBzY29wZVxuICAgKiBAcGFyYW0gaWRcbiAgICogQHBhcmFtIGNvbmZpZ1xuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1Bc3NldENvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnN0YWNrID0gVGVycmFmb3JtU3RhY2sub2YodGhpcyk7XG5cbiAgICBpZiAocGF0aC5pc0Fic29sdXRlKGNvbmZpZy5wYXRoKSkge1xuICAgICAgdGhpcy5zb3VyY2VQYXRoID0gY29uZmlnLnBhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNka3RmSnNvblBhdGggPVxuICAgICAgICBzY29wZS5ub2RlLnRyeUdldENvbnRleHQoXCJjZGt0Zkpzb25QYXRoXCIpID8/XG4gICAgICAgIGZpbmRGaWxlQWJvdmVDd2QoXCJjZGt0Zi5qc29uXCIpO1xuICAgICAgaWYgKGNka3RmSnNvblBhdGgpIHtcbiAgICAgICAgLy8gUmVsYXRpdmUgcGF0aHMgYXJlIGFsd2F5cyBjb25zaWRlcmVkIHRvIGJlIHJlbGF0aXZlIHRvIGNka3RmLmpzb24sIGJ1dCBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgcmVsYXRpdmUgdG8gcHJvY2Vzcy5jd2RcbiAgICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gcGF0aC5yZXNvbHZlKFxuICAgICAgICAgIHBhdGguZGlybmFtZShjZGt0Zkpzb25QYXRoKSxcbiAgICAgICAgICBjb25maWcucGF0aCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5zb3VyY2VQYXRoID0gcGF0aC5yZWxhdGl2ZShwcm9jZXNzLmN3ZCgpLCBhYnNvbHV0ZVBhdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgYXNzZXRPdXRPZlNjb3BlT2ZDREtURkpzb24oaWQsIGNvbmZpZy5wYXRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzdGF0ID0gZnMuc3RhdFN5bmModGhpcy5zb3VyY2VQYXRoKTtcbiAgICBjb25zdCBpbmZlcnJlZFR5cGUgPSBzdGF0LmlzRmlsZSgpID8gQXNzZXRUeXBlLkZJTEUgOiBBc3NldFR5cGUuRElSRUNUT1JZO1xuICAgIHRoaXMudHlwZSA9IGNvbmZpZy50eXBlID8/IGluZmVycmVkVHlwZTtcbiAgICB0aGlzLmFzc2V0SGFzaCA9IGNvbmZpZy5hc3NldEhhc2ggfHwgaGFzaFBhdGgodGhpcy5zb3VyY2VQYXRoKTtcblxuICAgIGlmIChzdGF0LmlzRmlsZSgpICYmIHRoaXMudHlwZSAhPT0gQXNzZXRUeXBlLkZJTEUpIHtcbiAgICAgIHRocm93IGFzc2V0RXhwZWN0c0RpcmVjdG9yeShpZCwgY29uZmlnLnBhdGgpO1xuICAgIH1cblxuICAgIGlmICghc3RhdC5pc0ZpbGUoKSAmJiB0aGlzLnR5cGUgPT09IEFzc2V0VHlwZS5GSUxFKSB7XG4gICAgICB0aHJvdyBhc3NldEV4cGVjdHNEaXJlY3RvcnkoaWQsIGNvbmZpZy5wYXRoKTtcbiAgICB9XG5cbiAgICBhZGRDdXN0b21TeW50aGVzaXModGhpcywge1xuICAgICAgb25TeW50aGVzaXplOiB0aGlzLl9vblN5bnRoZXNpemUuYmluZCh0aGlzKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IG5hbWVkRm9sZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucG9zaXguam9pbihcbiAgICAgIEFTU0VUU19ESVJFQ1RPUlksXG4gICAgICB0aGlzLnN0YWNrLmdldExvZ2ljYWxJZCh0aGlzLm5vZGUpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHBhdGggcmVsYXRpdmUgdG8gdGhlIHJvb3Qgb2YgdGhlIHRlcnJhZm9ybSBkaXJlY3RvcnkgaW4gcG9zaXggZm9ybWF0XG4gICAqIFVzZSB0aGlzIHByb3BlcnR5IHRvIHJlZmVyZW5jZSB0aGUgYXNzZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgcGF0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBwYXRoLnBvc2l4LmpvaW4oXG4gICAgICB0aGlzLm5hbWVkRm9sZGVyLCAvLyByZWFkYWJsZSBuYW1lXG4gICAgICB0aGlzLmFzc2V0SGFzaCwgLy8gaGFzaCBkZXBlbmRpbmcgb24gY29udGVudCBzbyB0aGF0IHBhdGggY2hhbmdlcyBpZiBjb250ZW50IGNoYW5nZXNcbiAgICAgIHRoaXMudHlwZSA9PT0gQXNzZXRUeXBlLkRJUkVDVE9SWSA/IFwiXCIgOiB0aGlzLmZpbGVOYW1lLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYXNzZXRcbiAgICovXG4gIHB1YmxpYyBnZXQgZmlsZU5hbWUoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBBc3NldFR5cGUuQVJDSElWRTpcbiAgICAgICAgcmV0dXJuIEFSQ0hJVkVfTkFNRTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBwYXRoLmJhc2VuYW1lKHRoaXMuc291cmNlUGF0aCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25TeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKSB7XG4gICAgY29uc3Qgc3RhY2tNYW5pZmVzdCA9IHNlc3Npb24ubWFuaWZlc3QuZm9yU3RhY2sodGhpcy5zdGFjayk7XG4gICAgY29uc3QgYmFzZVBhdGggPSBwYXRoLmpvaW4oXG4gICAgICBzZXNzaW9uLm1hbmlmZXN0Lm91dGRpcixcbiAgICAgIHN0YWNrTWFuaWZlc3Quc3ludGhlc2l6ZWRTdGFja1BhdGgsXG4gICAgICBcIi4uXCIsXG4gICAgKTtcblxuICAgIC8vIENsZWFudXAgZXhpc3RpbmcgYXNzZXRzXG4gICAgY29uc3QgcHJldmlvdXNWZXJzaW9uc0ZvbGRlciA9IHBhdGguam9pbihiYXNlUGF0aCwgdGhpcy5uYW1lZEZvbGRlcik7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMocHJldmlvdXNWZXJzaW9uc0ZvbGRlcikpIHtcbiAgICAgIGZzLnJtU3luYyhwcmV2aW91c1ZlcnNpb25zRm9sZGVyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRQYXRoID0gcGF0aC5qb2luKGJhc2VQYXRoLCB0aGlzLnBhdGgpO1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gQXNzZXRUeXBlLkRJUkVDVE9SWSkge1xuICAgICAgZnMubWtkaXJTeW5jKHRhcmdldFBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBmcy5ta2RpclN5bmMocGF0aC5kaXJuYW1lKHRhcmdldFBhdGgpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgY2FzZSBBc3NldFR5cGUuRklMRTpcbiAgICAgICAgZnMuY29weUZpbGVTeW5jKHRoaXMuc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEFzc2V0VHlwZS5ESVJFQ1RPUlk6XG4gICAgICAgIGNvcHlTeW5jKHRoaXMuc291cmNlUGF0aCwgdGFyZ2V0UGF0aCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEFzc2V0VHlwZS5BUkNISVZFOlxuICAgICAgICBhcmNoaXZlU3luYyh0aGlzLnNvdXJjZVBhdGgsIHRhcmdldFBhdGgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IGFzc2V0VHlwZU5vdEltcGxlbWVudGVkKCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -55,5 +55,5 @@ class TerraformBackend extends terraform_element_1.TerraformElement {
55
55
  }
56
56
  exports.TerraformBackend = TerraformBackend;
57
57
  _a = JSII_RTTI_SYMBOL_1;
58
- TerraformBackend[_a] = { fqn: "cdktn.TerraformBackend", version: "0.23.2" };
58
+ TerraformBackend[_a] = { fqn: "cdktn.TerraformBackend", version: "0.23.4" };
59
59
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWJhY2tlbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWJhY2tlbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSwyREFBdUQ7QUFDdkQsaUNBQW1DO0FBRW5DLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUU1RCwrQ0FBK0M7QUFDL0MsTUFBc0IsZ0JBQWlCLFNBQVEsb0NBQWdCO0lBQzdELFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNTLElBQVk7UUFFL0IsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUZFLFNBQUksR0FBSixJQUFJLENBQVE7UUFHL0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBTTtRQUM1QixPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLGNBQWMsSUFBSSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELHNDQUFzQztJQUM1QixvQkFBb0I7UUFDNUIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQVdNLGNBQWM7UUFDbkIsT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxPQUFPLEVBQUU7b0JBQ1AsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBQSxnQkFBUyxFQUNwQixJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FDbEI7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2hCLE9BQU87WUFDTCxTQUFTLEVBQUU7Z0JBQ1QsT0FBTyxFQUFFO29CQUNQLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUEsZ0JBQVMsRUFDcEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQzNCLElBQUksQ0FBQyxZQUFZLENBQ2xCO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDUixDQUFDO0lBQ0osQ0FBQzs7QUFwRUgsNENBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1SZW1vdGVTdGF0ZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1yZW1vdGUtc3RhdGVcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUVsZW1lbnQgfSBmcm9tIFwiLi90ZXJyYWZvcm0tZWxlbWVudFwiO1xuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSBcIi4vdXRpbFwiO1xuXG5jb25zdCBCQUNLRU5EX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1CYWNrZW5kXCIpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRlcnJhZm9ybUJhY2tlbmQgZXh0ZW5kcyBUZXJyYWZvcm1FbGVtZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBuYW1lOiBzdHJpbmcsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIEJBQ0tFTkRfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc0JhY2tlbmQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1CYWNrZW5kIHtcbiAgICByZXR1cm4geCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBCQUNLRU5EX1NZTUJPTCBpbiB4O1xuICB9XG5cbiAgLy8ganNpaSBjYW4ndCBoYW5kbGUgYWJzdHJhY3QgY2xhc3Nlcz9cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUhjbEF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgVGVycmFmb3JtUmVtb3RlU3RhdGUgcmVzb3VyY2UgdGhhdCBhY2Nlc3NlcyB0aGlzIGJhY2tlbmQuXG4gICAqL1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0UmVtb3RlU3RhdGVEYXRhU291cmNlKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGZyb21TdGFjazogc3RyaW5nLFxuICApOiBUZXJyYWZvcm1SZW1vdGVTdGF0ZTtcblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgdGVycmFmb3JtOiB7XG4gICAgICAgIGJhY2tlbmQ6IHtcbiAgICAgICAgICBbdGhpcy5uYW1lXTogZGVlcE1lcmdlKFxuICAgICAgICAgICAgdGhpcy5zeW50aGVzaXplSGNsQXR0cmlidXRlcygpLFxuICAgICAgICAgICAgdGhpcy5yYXdPdmVycmlkZXMsXG4gICAgICAgICAgKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoaXMgcmVzb3VyY2UgdG8gdGhlIHRlcnJhZm9ybSBKU09OIG91dHB1dC5cbiAgICovXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICB0ZXJyYWZvcm06IHtcbiAgICAgICAgYmFja2VuZDoge1xuICAgICAgICAgIFt0aGlzLm5hbWVdOiBkZWVwTWVyZ2UoXG4gICAgICAgICAgICB0aGlzLnN5bnRoZXNpemVBdHRyaWJ1dGVzKCksXG4gICAgICAgICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvTWV0YWRhdGEoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgYmFja2VuZDogdGhpcy5uYW1lLFxuICAgICAgLi4uKE9iamVjdC5rZXlzKHRoaXMucmF3T3ZlcnJpZGVzKS5sZW5ndGggPiAwXG4gICAgICAgID8geyBvdmVycmlkZXM6IHsgYmFja2VuZDogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpIH0gfVxuICAgICAgICA6IHt9KSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -34,5 +34,5 @@ class TerraformCount {
34
34
  }
35
35
  exports.TerraformCount = TerraformCount;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- TerraformCount[_a] = { fqn: "cdktn.TerraformCount", version: "0.23.2" };
37
+ TerraformCount[_a] = { fqn: "cdktn.TerraformCount", version: "0.23.4" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWNvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1jb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQjtBQUMvQixtQ0FBbUM7QUFDbkMsaURBQXFDO0FBQ3JDLHFDQUFpQztBQUNqQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFDekIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFhO1FBQ3JCLE9BQU8sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUNNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFNO1FBQ25DLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksWUFBWSxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsWUFBcUMsS0FBYTtRQUFiLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDaEQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLGtCQUFHLEVBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7QUF0Qkgsd0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmNvbnN0IENPVU5UX1NZTUJPTCA9IFN5bWJvbC5mb3IoXCJjZGt0Zi9UZXJyYWZvcm1Db3VudFwiKTtcblxuLyoqXG4gKiBJdGVyYXRvciBmb3IgdGhlIFRlcnJhZm9ybSBjb3VudCBwcm9wZXJ0eVxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtQ291bnQge1xuICBzdGF0aWMgb2YoY291bnQ6IG51bWJlcik6IFRlcnJhZm9ybUNvdW50IHtcbiAgICByZXR1cm4gbmV3IFRlcnJhZm9ybUNvdW50KGNvdW50KTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtQ291bnQoeDogYW55KTogeCBpcyBUZXJyYWZvcm1Db3VudCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgQ09VTlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY291bnQ6IG51bWJlcikge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBDT1VOVF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHJlZihcImNvdW50LmluZGV4XCIpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmNvdW50O1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY291bnQudG9TdHJpbmcoKTtcbiAgfVxufVxuIl19
@@ -131,7 +131,7 @@ class DataResource extends terraform_resource_1.TerraformResource {
131
131
  }
132
132
  exports.DataResource = DataResource;
133
133
  _a = JSII_RTTI_SYMBOL_1;
134
- DataResource[_a] = { fqn: "cdktn.DataResource", version: "0.23.2" };
134
+ DataResource[_a] = { fqn: "cdktn.DataResource", version: "0.23.4" };
135
135
  // =================
136
136
  // STATIC PROPERTIES
137
137
  // =================
@@ -120,5 +120,5 @@ class TerraformDataSource extends terraform_element_1.TerraformElement {
120
120
  }
121
121
  exports.TerraformDataSource = TerraformDataSource;
122
122
  _a = JSII_RTTI_SYMBOL_1;
123
- TerraformDataSource[_a] = { fqn: "cdktn.TerraformDataSource", version: "0.23.2" };
123
+ TerraformDataSource[_a] = { fqn: "cdktn.TerraformDataSource", version: "0.23.4" };
124
124
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUdBLHFDQUFpQztBQUNqQywyREFBdUQ7QUFFdkQsNkRBTThCO0FBQzlCLGlDQUtnQjtBQUVoQixpREFBaUQ7QUFHakQsdURBQW1EO0FBQ25ELGlFQUFpRTtBQUNqRSxpQ0FBa0M7QUFFbEMsTUFBTSw0QkFBNEIsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFFN0UsK0NBQStDO0FBQy9DLE1BQWEsbUJBQ1gsU0FBUSxvQ0FBZ0I7SUFjeEIsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxNQUErQjtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxRQUFRLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7UUFDekQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsNEJBQTRCLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO1FBQzFELElBQUksQ0FBQywwQkFBMEIsR0FBRyxNQUFNLENBQUMsMEJBQTBCLENBQUM7UUFDcEUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNuRCxJQUFBLHlCQUFVLEVBQUMsVUFBVSxDQUFDLENBQ3ZCLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFB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Q0FBQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUM3RDtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0seUJBQXlCLENBQUMsa0JBQTBCO1FBQ3pELE9BQU8sSUFBQSxrQkFBRyxFQUNSLFFBQVEsSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsR0FDekQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUN4QixJQUFJLGtCQUFrQixFQUFFLEVBQ3hCLElBQUksQ0FBQyxVQUFVLENBQ2hCLENBQUM7SUFDSixDQUFDOztBQXhLSCxrREF5S0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFRva2VuIH0gZnJvbSBcIi4vdG9rZW5zXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1FbGVtZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWVsZW1lbnRcIjtcbmltcG9ydCB7IFRlcnJhZm9ybVByb3ZpZGVyIH0gZnJvbSBcIi4vdGVycmFmb3JtLXByb3ZpZGVyXCI7XG5pbXBvcnQge1xuICBUZXJyYWZvcm1Qcm92aWRlckdlbmVyYXRvck1ldGFkYXRhLFxuICBUZXJyYWZvcm1SZXNvdXJjZUNvbmZpZyxcbiAgVGVycmFmb3JtUmVzb3VyY2VMaWZlY3ljbGUsXG4gIElUZXJyYWZvcm1SZXNvdXJjZSxcbiAgbGlmZWN5Y2xlVG9UZXJyYWZvcm0sXG59IGZyb20gXCIuL3RlcnJhZm9ybS1yZXNvdXJjZVwiO1xuaW1wb3J0IHtcbiAga2V5c1RvU25ha2VDYXNlLFxuICBkZWVwTWVyZ2UsXG4gIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlcyxcbiAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzRm9ySGNsLFxufSBmcm9tIFwiLi91dGlsXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtRGVwZW5kYWJsZSB9IGZyb20gXCIuL3RlcnJhZm9ybS1kZXBlbmRhYmxlXCI7XG5pbXBvcnQgeyByZWYsIGRlcGVuZGFibGUgfSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElJbnRlcnBvbGF0aW5nUGFyZW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWFkZHJlc3NhYmxlXCI7XG5pbXBvcnQgeyBJVGVycmFmb3JtSXRlcmF0b3IgfSBmcm9tIFwiLi90ZXJyYWZvcm0taXRlcmF0b3JcIjtcbmltcG9ydCB7IFRlcnJhZm9ybUNvdW50IH0gZnJvbSBcIi4vdGVycmFmb3JtLWNvdW50XCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuaW1wb3J0IGFzc2VydCA9IHJlcXVpcmUoXCJhc3NlcnRcIik7XG5cbmNvbnN0IFRFUlJBRk9STV9EQVRBX1NPVVJDRV9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRGF0YVNvdXJjZVwiKTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBUZXJyYWZvcm1EYXRhU291cmNlXG4gIGV4dGVuZHMgVGVycmFmb3JtRWxlbWVudFxuICBpbXBsZW1lbnRzIElUZXJyYWZvcm1SZXNvdXJjZSwgSVRlcnJhZm9ybURlcGVuZGFibGUsIElJbnRlcnBvbGF0aW5nUGFyZW50XG57XG4gIHB1YmxpYyByZWFkb25seSB0ZXJyYWZvcm1SZXNvdXJjZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhPzogVGVycmFmb3JtUHJvdmlkZXJHZW5lcmF0b3JNZXRhZGF0YTtcblxuICAvLyBUZXJyYWZvcm1NZXRhQXJndW1lbnRzXG5cbiAgcHVibGljIGRlcGVuZHNPbj86IHN0cmluZ1tdO1xuICBwdWJsaWMgY291bnQ/OiBudW1iZXIgfCBUZXJyYWZvcm1Db3VudDtcbiAgcHVibGljIHByb3ZpZGVyPzogVGVycmFmb3JtUHJvdmlkZXI7XG4gIHB1YmxpYyBsaWZlY3ljbGU/OiBUZXJyYWZvcm1SZXNvdXJjZUxpZmVjeWNsZTtcbiAgcHVibGljIGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBUZXJyYWZvcm1SZXNvdXJjZUNvbmZpZykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgYGRhdGEuJHtjb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlfWApO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fREFUQV9TT1VSQ0VfU1lNQk9MLCB7IHZhbHVlOiB0cnVlIH0pO1xuXG4gICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGUgPSBjb25maWcudGVycmFmb3JtUmVzb3VyY2VUeXBlO1xuICAgIHRoaXMudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGEgPSBjb25maWcudGVycmFmb3JtR2VuZXJhdG9yTWV0YWRhdGE7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY29uZmlnLmRlcGVuZHNPbikpIHtcbiAgICAgIHRoaXMuZGVwZW5kc09uID0gY29uZmlnLmRlcGVuZHNPbi5tYXAoKGRlcGVuZGVuY3kpID0+XG4gICAgICAgIGRlcGVuZGFibGUoZGVwZW5kZW5jeSksXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmNvdW50ID0gY29uZmlnLmNvdW50O1xuICAgIHRoaXMucHJvdmlkZXIgPSBjb25maWcucHJvdmlkZXI7XG4gICAgdGhpcy5saWZlY3ljbGUgPSBjb25maWcubGlmZWN5Y2xlO1xuICAgIHRoaXMuZm9yRWFjaCA9IGNvbmZpZy5mb3JFYWNoO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybURhdGFTb3VyY2UoeDogYW55KTogeCBpcyBUZXJyYWZvcm1EYXRhU291cmNlIHtcbiAgICByZXR1cm4gKFxuICAgICAgeCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBURVJSQUZPUk1fREFUQV9TT1VSQ0VfU1lNQk9MIGluIHhcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldFN0cmluZ0F0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TnVtYmVyQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyKHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMaXN0QXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTGlzdCh0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbkF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXJMaXN0QXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTnVtYmVyTGlzdChcbiAgICAgIHRoaXMuaW50ZXJwb2xhdGlvbkZvckF0dHJpYnV0ZSh0ZXJyYWZvcm1BdHRyaWJ1dGUpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RyaW5nTWFwQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXJNYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJNYXAoXG4gICAgICB0aGlzLmludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldEJvb2xlYW5NYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNCb29sZWFuTWFwKFxuICAgICAgdGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbnlNYXBBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAodGhpcy5pbnRlcnBvbGF0aW9uRm9yQXR0cmlidXRlKHRlcnJhZm9ybUF0dHJpYnV0ZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCB0ZXJyYWZvcm1NZXRhQXJndW1lbnRzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBhc3NlcnQoXG4gICAgICAhdGhpcy5mb3JFYWNoIHx8IHR5cGVvZiB0aGlzLmNvdW50ID09PSBcInVuZGVmaW5lZFwiLFxuICAgICAgYGZvckVhY2ggYW5kIGNvdW50IGFyZSBib3RoIHNldCwgYnV0IHRoZXkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gWW91IGNhbiBvbmx5IHVzZSBlaXRoZXIgb2YgdGhlbS4gQ2hlY2sgdGhlIGRhdGEgc291cmNlIGF0IHBhdGg6ICR7dGhpcy5ub2RlLnBhdGh9YCxcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGRlcGVuZHNPbjogdGhpcy5kZXBlbmRzT24sXG4gICAgICBjb3VudDogVGVycmFmb3JtQ291bnQuaXNUZXJyYWZvcm1Db3VudCh0aGlzLmNvdW50KVxuICAgICAgICA/IHRoaXMuY291bnQudG9UZXJyYWZvcm0oKVxuICAgICAgICA6IHRoaXMuY291bnQsXG4gICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcj8uZnFuLFxuICAgICAgbGlmZWN5Y2xlOiBsaWZlY3ljbGVUb1RlcnJhZm9ybSh0aGlzLmxpZmVjeWNsZSksXG4gICAgICBmb3JFYWNoOiB0aGlzLmZvckVhY2g/Ll9nZXRGb3JFYWNoRXhwcmVzc2lvbigpLFxuICAgIH07XG4gIH1cblxuICAvLyBqc2lpIGNhbid0IGhhbmRsZSBhYnN0cmFjdCBjbGFzc2VzP1xuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKTogeyBbbmFtZTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhpcyByZXNvdXJjZSB0byB0aGUgdGVycmFmb3JtIEpTT04gb3V0cHV0LlxuICAgKi9cbiAgcHVibGljIHRvSGNsVGVycmFmb3JtKCk6IGFueSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGRlZXBNZXJnZShcbiAgICAgIHByb2Nlc3NEeW5hbWljQXR0cmlidXRlc0ZvckhjbCh0aGlzLnN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCkpLFxuICAgICAga2V5c1RvU25ha2VDYXNlKHRoaXMudGVycmFmb3JtTWV0YUFyZ3VtZW50cyksXG4gICAgICB0aGlzLnJhd092ZXJyaWRlcyxcbiAgICApO1xuXG4gICAgYXR0cmlidXRlc1tcIi8vXCJdID0gdGhpcy5jb25zdHJ1Y3ROb2RlTWV0YWRhdGE7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YToge1xuICAgICAgICBbdGhpcy50ZXJyYWZvcm1SZXNvdXJjZVR5cGVdOiB7XG4gICAgICAgICAgW3RoaXMuZnJpZW5kbHlVbmlxdWVJZF06IGF0dHJpYnV0ZXMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQWRkcyB0aGlzIHJlc291cmNlIHRvIHRoZSB0ZXJyYWZvcm0gSlNPTiBvdXRwdXQuXG4gICAqL1xuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gZGVlcE1lcmdlKFxuICAgICAgcHJvY2Vzc0R5bmFtaWNBdHRyaWJ1dGVzKHRoaXMuc3ludGhlc2l6ZUF0dHJpYnV0ZXMoKSksXG4gICAgICBrZXlzVG9TbmFrZUNhc2UodGhpcy50ZXJyYWZvcm1NZXRhQXJndW1lbnRzKSxcbiAgICAgIHRoaXMucmF3T3ZlcnJpZGVzLFxuICAgICk7XG5cbiAgICBhdHRyaWJ1dGVzW1wiLy9cIl0gPSB0aGlzLmNvbnN0cnVjdE5vZGVNZXRhZGF0YTtcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhOiB7XG4gICAgICAgIFt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZV06IHtcbiAgICAgICAgICBbdGhpcy5mcmllbmRseVVuaXF1ZUlkXTogYXR0cmlidXRlcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIGlmICghT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBvdmVycmlkZXM6IHtcbiAgICAgICAgW3RoaXMudGVycmFmb3JtUmVzb3VyY2VUeXBlXTogT2JqZWN0LmtleXModGhpcy5yYXdPdmVycmlkZXMpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGludGVycG9sYXRpb25Gb3JBdHRyaWJ1dGUodGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVmKFxuICAgICAgYGRhdGEuJHt0aGlzLnRlcnJhZm9ybVJlc291cmNlVHlwZX0uJHt0aGlzLmZyaWVuZGx5VW5pcXVlSWR9JHtcbiAgICAgICAgdGhpcy5mb3JFYWNoID8gXCIuKlwiIDogXCJcIlxuICAgICAgfS4ke3RlcnJhZm9ybUF0dHJpYnV0ZX1gLFxuICAgICAgdGhpcy5jZGt0ZlN0YWNrLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -13,7 +13,7 @@ class TerraformDynamicBlock {
13
13
  constructor(args) {
14
14
  this.iterator = "each"; // name of temporary variable used in iteration, needed in the future when allowing nesting iterators
15
15
  Object.defineProperty(this, DYNAMIC_BLOCK_SYMBOL, { value: true });
16
- this.creationStack = (0, stack_trace_1.captureStackTrace)();
16
+ this.creationStack = (0, stack_trace_1.captureCreationStack)();
17
17
  this.forEach = args.forEach;
18
18
  this.content = args.content;
19
19
  }
@@ -54,4 +54,4 @@ class TerraformDynamicBlock {
54
54
  }
55
55
  }
56
56
  exports.TerraformDynamicBlock = TerraformDynamicBlock;
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWR5bmFtaWMtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxxQ0FBb0Q7QUFHcEQscUNBQXFFO0FBQ3JFLDhEQUFpRTtBQUVqRSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV2RSwrQ0FBK0M7QUFDL0MsTUFBYSxxQkFBcUI7SUFLaEMsK0hBQStIO0lBRS9ILFlBQW9CLElBR25CO1FBUGUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLHFHQUFxRztRQVF0SSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSwrQkFBaUIsR0FBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDakMsSUFBZ0M7UUFFaEMsT0FBTyxJQUFJLHFCQUFxQixDQUFDO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDWixNQUFNLElBQUEsaUNBQXdCLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxPQUFPLGFBQUksQ0FBQyxRQUFRLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUMsT0FBd0IsRUFBRSxFQUFFO2dCQUNwQyxPQUFPLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxDQUFDLGdGQUFnRjtnQkFFM0gsT0FBTztvQkFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtvQkFDOUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2lCQUN2QyxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sc0NBQXNDLENBQUM7SUFDaEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFNO1FBQzFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksb0JBQW9CLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQTVERCxzREE0REMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgZHluYW1pY0Jsb2NrTm90U3VwcG9ydGVkIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUsIElSZXNvbHZlQ29udGV4dCwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IGNhcHR1cmVTdGFja1RyYWNlIH0gZnJvbSBcIi4vdG9rZW5zL3ByaXZhdGUvc3RhY2stdHJhY2VcIjtcblxuY29uc3QgRFlOQU1JQ19CTE9DS19TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRHluYW1pY0Jsb2NrXCIpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUR5bmFtaWNCbG9jayBpbXBsZW1lbnRzIElSZXNvbHZhYmxlIHtcbiAgcHVibGljIHJlYWRvbmx5IGNyZWF0aW9uU3RhY2s6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgZm9yRWFjaDogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICBwdWJsaWMgcmVhZG9ubHkgaXRlcmF0b3IgPSBcImVhY2hcIjsgLy8gbmFtZSBvZiB0ZW1wb3JhcnkgdmFyaWFibGUgdXNlZCBpbiBpdGVyYXRpb24sIG5lZWRlZCBpbiB0aGUgZnV0dXJlIHdoZW4gYWxsb3dpbmcgbmVzdGluZyBpdGVyYXRvcnNcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIC8vIGxhYmVsczogVE9ETzogc3VwcG9ydCBsYWJlbHMsIGJ1dCB0aGV5IHNlZW0gdG8gYmUgcXVpdGUgcmFyZSAoaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLWNkay9pc3N1ZXMvMTkzOSlcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGFyZ3M6IHtcbiAgICBmb3JFYWNoOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gICAgY29udGVudDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgfSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBEWU5BTUlDX0JMT0NLX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBjYXB0dXJlU3RhY2tUcmFjZSgpO1xuICAgIHRoaXMuZm9yRWFjaCA9IGFyZ3MuZm9yRWFjaDtcbiAgICB0aGlzLmNvbnRlbnQgPSBhcmdzLmNvbnRlbnQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21EeW5hbWljRXhwcmVzc2lvbihcbiAgICBleHByOiBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbixcbiAgKTogVGVycmFmb3JtRHluYW1pY0Jsb2NrIHtcbiAgICByZXR1cm4gbmV3IFRlcnJhZm9ybUR5bmFtaWNCbG9jayh7XG4gICAgICBmb3JFYWNoOiBleHByLml0ZXJhdG9yLFxuICAgICAgY29udGVudDogZXhwci5jb250ZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUoKTogYW55IHtcbiAgICB0aHJvdyBkeW5hbWljQmxvY2tOb3RTdXBwb3J0ZWQodGhpcy5mb3JFYWNoLl9nZXRGb3JFYWNoRXhwcmVzc2lvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybUR5bmFtaWNCbG9ja0pzb24oKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6IChjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29udGV4dC5pdGVyYXRvckNvbnRleHQgPSBcIkRZTkFNSUNfQkxPQ0tcIjsgLy8gcmVzb2x2ZSBuZXN0ZWQgTGF6eSB2YWx1ZXMgKHdpdGhpbiB0aGlzLmNvbnRlbnQpIGFzIGR5bmFtaWMgYmxvY2sgZXhwcmVzc2lvbnNcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGZvcl9lYWNoOiB0aGlzLmZvckVhY2guX2dldEZvckVhY2hFeHByZXNzaW9uKCksXG4gICAgICAgICAgaXRlcmF0b3I6IHRoaXMuaXRlcmF0b3IsXG4gICAgICAgICAgY29udGVudDogY29udGV4dC5yZXNvbHZlKHRoaXMuY29udGVudCksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogVHVybiB0aGlzIER5bmFtaWMgQmxvY2sgaW50byBKU09OXG4gICAqXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gSlNPTi5zdHJpbmdpZnkoKSBpcyBjYWxsZWQgb24gdGhpcy5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBcIjx1bnJlc29sdmVkLXRlcnJhZm9ybS1keW5hbWljLWJsb2NrPlwiO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybUR5bmFtaWNCbG9jayh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybUR5bmFtaWNCbG9jayB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgRFlOQU1JQ19CTE9DS19TWU1CT0wgaW4geDtcbiAgfVxufVxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtYmxvY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWR5bmFtaWMtYmxvY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyxxQ0FBb0Q7QUFHcEQscUNBQXFFO0FBQ3JFLDhEQUFvRTtBQUVwRSxNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUV2RSwrQ0FBK0M7QUFDL0MsTUFBYSxxQkFBcUI7SUFLaEMsK0hBQStIO0lBRS9ILFlBQW9CLElBR25CO1FBUGUsYUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLHFHQUFxRztRQVF0SSxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSxrQ0FBb0IsR0FBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxxQkFBcUIsQ0FDakMsSUFBZ0M7UUFFaEMsT0FBTyxJQUFJLHFCQUFxQixDQUFDO1lBQy9CLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN0QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU87UUFDWixNQUFNLElBQUEsaUNBQXdCLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxPQUFPLGFBQUksQ0FBQyxRQUFRLENBQUM7WUFDbkIsT0FBTyxFQUFFLENBQUMsT0FBd0IsRUFBRSxFQUFFO2dCQUNwQyxPQUFPLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxDQUFDLGdGQUFnRjtnQkFFM0gsT0FBTztvQkFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtvQkFDOUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO29CQUN2QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2lCQUN2QyxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sc0NBQXNDLENBQUM7SUFDaEQsQ0FBQztJQUVNLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFNO1FBQzFDLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRLElBQUksb0JBQW9CLElBQUksQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRjtBQTVERCxzREE0REMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHsgZHluYW1pY0Jsb2NrTm90U3VwcG9ydGVkIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgSVJlc29sdmFibGUsIElSZXNvbHZlQ29udGV4dCwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IGNhcHR1cmVDcmVhdGlvblN0YWNrIH0gZnJvbSBcIi4vdG9rZW5zL3ByaXZhdGUvc3RhY2stdHJhY2VcIjtcblxuY29uc3QgRFlOQU1JQ19CTE9DS19TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRHluYW1pY0Jsb2NrXCIpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUR5bmFtaWNCbG9jayBpbXBsZW1lbnRzIElSZXNvbHZhYmxlIHtcbiAgcHVibGljIHJlYWRvbmx5IGNyZWF0aW9uU3RhY2s6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgZm9yRWFjaDogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICBwdWJsaWMgcmVhZG9ubHkgaXRlcmF0b3IgPSBcImVhY2hcIjsgLy8gbmFtZSBvZiB0ZW1wb3JhcnkgdmFyaWFibGUgdXNlZCBpbiBpdGVyYXRpb24sIG5lZWRlZCBpbiB0aGUgZnV0dXJlIHdoZW4gYWxsb3dpbmcgbmVzdGluZyBpdGVyYXRvcnNcbiAgcHVibGljIHJlYWRvbmx5IGNvbnRlbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIC8vIGxhYmVsczogVE9ETzogc3VwcG9ydCBsYWJlbHMsIGJ1dCB0aGV5IHNlZW0gdG8gYmUgcXVpdGUgcmFyZSAoaXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLWNkay9pc3N1ZXMvMTkzOSlcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGFyZ3M6IHtcbiAgICBmb3JFYWNoOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gICAgY29udGVudDogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcbiAgfSkge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBEWU5BTUlDX0JMT0NLX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBjYXB0dXJlQ3JlYXRpb25TdGFjaygpO1xuICAgIHRoaXMuZm9yRWFjaCA9IGFyZ3MuZm9yRWFjaDtcbiAgICB0aGlzLmNvbnRlbnQgPSBhcmdzLmNvbnRlbnQ7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZyb21EeW5hbWljRXhwcmVzc2lvbihcbiAgICBleHByOiBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbixcbiAgKTogVGVycmFmb3JtRHluYW1pY0Jsb2NrIHtcbiAgICByZXR1cm4gbmV3IFRlcnJhZm9ybUR5bmFtaWNCbG9jayh7XG4gICAgICBmb3JFYWNoOiBleHByLml0ZXJhdG9yLFxuICAgICAgY29udGVudDogZXhwci5jb250ZW50LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJlc29sdmUoKTogYW55IHtcbiAgICB0aHJvdyBkeW5hbWljQmxvY2tOb3RTdXBwb3J0ZWQodGhpcy5mb3JFYWNoLl9nZXRGb3JFYWNoRXhwcmVzc2lvbigpKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1RlcnJhZm9ybUR5bmFtaWNCbG9ja0pzb24oKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6IChjb250ZXh0OiBJUmVzb2x2ZUNvbnRleHQpID0+IHtcbiAgICAgICAgY29udGV4dC5pdGVyYXRvckNvbnRleHQgPSBcIkRZTkFNSUNfQkxPQ0tcIjsgLy8gcmVzb2x2ZSBuZXN0ZWQgTGF6eSB2YWx1ZXMgKHdpdGhpbiB0aGlzLmNvbnRlbnQpIGFzIGR5bmFtaWMgYmxvY2sgZXhwcmVzc2lvbnNcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGZvcl9lYWNoOiB0aGlzLmZvckVhY2guX2dldEZvckVhY2hFeHByZXNzaW9uKCksXG4gICAgICAgICAgaXRlcmF0b3I6IHRoaXMuaXRlcmF0b3IsXG4gICAgICAgICAgY29udGVudDogY29udGV4dC5yZXNvbHZlKHRoaXMuY29udGVudCksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogVHVybiB0aGlzIER5bmFtaWMgQmxvY2sgaW50byBKU09OXG4gICAqXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gSlNPTi5zdHJpbmdpZnkoKSBpcyBjYWxsZWQgb24gdGhpcy5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBcIjx1bnJlc29sdmVkLXRlcnJhZm9ybS1keW5hbWljLWJsb2NrPlwiO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBpc1RlcnJhZm9ybUR5bmFtaWNCbG9jayh4OiBhbnkpOiB4IGlzIFRlcnJhZm9ybUR5bmFtaWNCbG9jayB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgRFlOQU1JQ19CTE9DS19TWU1CT0wgaW4geDtcbiAgfVxufVxuIl19
@@ -18,7 +18,7 @@ const DYNAMIC_EXPRESSION_SYMBOL = Symbol.for("cdktf/TerraformDynamicExpression")
18
18
  class TerraformDynamicExpression {
19
19
  constructor(args) {
20
20
  Object.defineProperty(this, DYNAMIC_EXPRESSION_SYMBOL, { value: true });
21
- this.creationStack = (0, stack_trace_1.captureStackTrace)();
21
+ this.creationStack = (0, stack_trace_1.captureCreationStack)();
22
22
  this.iterator = args.iterator;
23
23
  this.content = args.content;
24
24
  }
@@ -56,4 +56,4 @@ class TerraformDynamicExpression {
56
56
  }
57
57
  }
58
58
  exports.TerraformDynamicExpression = TerraformDynamicExpression;
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZHluYW1pYy1leHByZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHdCQUFrQztBQUNsQyxxQ0FBb0Q7QUFDcEQsOERBQWlFO0FBRWpFLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDMUMsa0NBQWtDLENBQ25DLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLDBCQUEwQjtJQUtyQyxZQUFZLElBR1g7UUFDQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSwrQkFBaUIsR0FBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTztRQUNaLE9BQU8sYUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbkIsd0VBQXdFO2dCQUN4RSxPQUFPLENBQUMsZUFBZSxHQUFHLGdCQUFnQixDQUFDO2dCQUMzQyxzREFBc0Q7Z0JBQ3RELDZFQUE2RTtnQkFDN0UscUNBQXFDO2dCQUNyQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUEsZ0JBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNwRSxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sMkNBQTJDLENBQUM7SUFDckQsQ0FBQztJQUVNLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDeEMsQ0FBTTtRQUVOLE9BQU8sQ0FDTCxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx5QkFBeUIsSUFBSSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF4REQsZ0VBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgZm9yRXhwcmVzc2lvbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IGNhcHR1cmVTdGFja1RyYWNlIH0gZnJvbSBcIi4vdG9rZW5zL3ByaXZhdGUvc3RhY2stdHJhY2VcIjtcblxuY29uc3QgRFlOQU1JQ19FWFBSRVNTSU9OX1NZTUJPTCA9IFN5bWJvbC5mb3IoXG4gIFwiY2RrdGYvVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb25cIixcbik7XG5cbi8qKlxuICogQSBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiBpcyByZXR1cm5lZCBieSBUZXJyYWZvcm1JdGVyYXRvci5keW5hbWljXG4gKiBhbmQgY2FuIGJlIHBhc3NlZCB0byBsaXN0IGF0dHJpYnV0ZXMgb2YgZS5nLiBUZXJyYWZvcm1SZXNvdXJjZXNcbiAqIEFzIGl0IHJlc29sdmVzIHRvIGEgZm9yIGV4cHJlc3Npb24sIGl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IG9uIGF0dHJpYnV0ZXMgb2ZcbiAqIGEgbGlzdChvYmplY3QpIHR5cGUgKG9yIHNpbWlsYXIpIGFuZCBpbiBUZXJyYWZvcm0gZnVuY3Rpb25zIHRoYXQgdGFrZSBhIGxpc3QuXG4gKiBXaGVuIHVzZWQgaW4gYXR0cmlidXRlcyB0aGF0IGFyZSBvZiBhIGJsb2NrIHR5cGUgd2hpY2ggbmVlZCB0byBiZSBtb2RlbGVkIGFzXG4gKiBhIGR5bmFtaWMgYmxvY2ssIHRoZSBsaXN0TWFwcGVyIGZvciB0aGF0IGF0dHJpYnV0ZSB3aWxsIGNoYW5nZSB0aGlzIHRvIGFcbiAqIFRlcnJhZm9ybUR5bmFtaWNCbG9jaywgd2hpY2ggaW4gdHVybiB3aWxsIGJlIHByb3Blcmx5IGhhbmRsZWQgYnkgdGhlXG4gKiBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXMoKSB1dGlsaXR5IGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24gaW1wbGVtZW50cyBJUmVzb2x2YWJsZSB7XG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGlvblN0YWNrOiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IGl0ZXJhdG9yOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIGNvbnN0cnVjdG9yKGFyZ3M6IHtcbiAgICBpdGVyYXRvcjogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICAgIGNvbnRlbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIH0pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgRFlOQU1JQ19FWFBSRVNTSU9OX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBjYXB0dXJlU3RhY2tUcmFjZSgpO1xuICAgIHRoaXMuaXRlcmF0b3IgPSBhcmdzLml0ZXJhdG9yO1xuICAgIHRoaXMuY29udGVudCA9IGFyZ3MuY29udGVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXNvbHZlcyB0aGlzIGFzIGEgVGVycmFmb3JtIGZvciBleHByZXNzaW9uLlxuICAgKiBUaGlzIGFsbG93cyB1c2luZyBpdGVyYXRvci5keW5hbWljKCkgb24gYXR0cmlidXRlcyB0aGF0IGFyZSBub3QgYmxvY2tzIGJ1dFxuICAgKiBsaXN0cyBvZiBvYmplY3RzICh3aGljaCBpcyBub3QgdmlzaWJsZSB0byB0aGUgdXNlciB3aGVuIHdvcmtpbmcgd2l0aCBwcm92aWRlclxuICAgKiBtYXBwaW5ncyBhcyBpdCBpcyBhYnN0cmFjdGVkIGF3YXkpXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZSgpOiBhbnkge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgIC8vIHJlc29sdmUgbmVzdGVkIExhenkgdmFsdWVzICh3aXRoaW4gdGhpcy5jb250ZW50KSBmb3IgYSBmb3IgZXhwcmVzc2lvblxuICAgICAgICBjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCA9IFwiRk9SX0VYUFJFU1NJT05cIjtcbiAgICAgICAgLy8gcmV0dXJucyBbIGZvciBrZXksIHZhbHVlIGluIGZvckVhY2hFeHByIDogY29udGVudCBdXG4gICAgICAgIC8vIGNvbnRleHQucmVzb2x2ZSBpcyByZXF1aXJlZCBmb3IgdGhlIGl0ZXJhdG9yQ29udGV4dCB0byBiZSBjb3JyZWN0bHkgcGFzc2VkXG4gICAgICAgIC8vIHRvIExhenkgdmFsdWVzIHdpdGhpbiB0aGlzLmNvbnRlbnRcbiAgICAgICAgcmV0dXJuIGNvbnRleHQucmVzb2x2ZShcbiAgICAgICAgICBmb3JFeHByZXNzaW9uKHRoaXMuaXRlcmF0b3IuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCB0aGlzLmNvbnRlbnQpLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFR1cm4gdGhpcyBEeW5hbWljIEV4cHJlc3Npb24gaW50byBKU09OXG4gICAqXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gSlNPTi5zdHJpbmdpZnkoKSBpcyBjYWxsZWQgb24gdGhpcy5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBcIjx1bnJlc29sdmVkLXRlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb24+XCI7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24oXG4gICAgeDogYW55LFxuICApOiB4IGlzIFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uIHtcbiAgICByZXR1cm4gKFxuICAgICAgeCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBEWU5BTUlDX0VYUFJFU1NJT05fU1lNQk9MIGluIHhcbiAgICApO1xuICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWR5bmFtaWMtZXhwcmVzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZHluYW1pYy1leHByZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLHdCQUFrQztBQUNsQyxxQ0FBb0Q7QUFDcEQsOERBQW9FO0FBRXBFLE1BQU0seUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FDMUMsa0NBQWtDLENBQ25DLENBQUM7QUFFRjs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLDBCQUEwQjtJQUtyQyxZQUFZLElBR1g7UUFDQyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSx5QkFBeUIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBQSxrQ0FBb0IsR0FBRSxDQUFDO1FBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTztRQUNaLE9BQU8sYUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNuQixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbkIsd0VBQXdFO2dCQUN4RSxPQUFPLENBQUMsZUFBZSxHQUFHLGdCQUFnQixDQUFDO2dCQUMzQyxzREFBc0Q7Z0JBQ3RELDZFQUE2RTtnQkFDN0UscUNBQXFDO2dCQUNyQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUEsZ0JBQWEsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUNwRSxDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxjQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sMkNBQTJDLENBQUM7SUFDckQsQ0FBQztJQUVNLE1BQU0sQ0FBQyw0QkFBNEIsQ0FDeEMsQ0FBTTtRQUVOLE9BQU8sQ0FDTCxDQUFDLEtBQUssSUFBSSxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSx5QkFBeUIsSUFBSSxDQUFDLENBQ3RFLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF4REQsZ0VBd0RDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSBIYXNoaUNvcnAsIEluY1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1QTC0yLjBcbmltcG9ydCB7IElUZXJyYWZvcm1JdGVyYXRvciB9IGZyb20gXCIuL3RlcnJhZm9ybS1pdGVyYXRvclwiO1xuaW1wb3J0IHsgZm9yRXhwcmVzc2lvbiB9IGZyb20gXCIuXCI7XG5pbXBvcnQgeyBJUmVzb2x2YWJsZSwgTGF6eSwgVG9rZW4gfSBmcm9tIFwiLi90b2tlbnNcIjtcbmltcG9ydCB7IGNhcHR1cmVDcmVhdGlvblN0YWNrIH0gZnJvbSBcIi4vdG9rZW5zL3ByaXZhdGUvc3RhY2stdHJhY2VcIjtcblxuY29uc3QgRFlOQU1JQ19FWFBSRVNTSU9OX1NZTUJPTCA9IFN5bWJvbC5mb3IoXG4gIFwiY2RrdGYvVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb25cIixcbik7XG5cbi8qKlxuICogQSBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiBpcyByZXR1cm5lZCBieSBUZXJyYWZvcm1JdGVyYXRvci5keW5hbWljXG4gKiBhbmQgY2FuIGJlIHBhc3NlZCB0byBsaXN0IGF0dHJpYnV0ZXMgb2YgZS5nLiBUZXJyYWZvcm1SZXNvdXJjZXNcbiAqIEFzIGl0IHJlc29sdmVzIHRvIGEgZm9yIGV4cHJlc3Npb24sIGl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IG9uIGF0dHJpYnV0ZXMgb2ZcbiAqIGEgbGlzdChvYmplY3QpIHR5cGUgKG9yIHNpbWlsYXIpIGFuZCBpbiBUZXJyYWZvcm0gZnVuY3Rpb25zIHRoYXQgdGFrZSBhIGxpc3QuXG4gKiBXaGVuIHVzZWQgaW4gYXR0cmlidXRlcyB0aGF0IGFyZSBvZiBhIGJsb2NrIHR5cGUgd2hpY2ggbmVlZCB0byBiZSBtb2RlbGVkIGFzXG4gKiBhIGR5bmFtaWMgYmxvY2ssIHRoZSBsaXN0TWFwcGVyIGZvciB0aGF0IGF0dHJpYnV0ZSB3aWxsIGNoYW5nZSB0aGlzIHRvIGFcbiAqIFRlcnJhZm9ybUR5bmFtaWNCbG9jaywgd2hpY2ggaW4gdHVybiB3aWxsIGJlIHByb3Blcmx5IGhhbmRsZWQgYnkgdGhlXG4gKiBwcm9jZXNzRHluYW1pY0F0dHJpYnV0ZXMoKSB1dGlsaXR5IGZ1bmN0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24gaW1wbGVtZW50cyBJUmVzb2x2YWJsZSB7XG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGlvblN0YWNrOiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IGl0ZXJhdG9yOiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIHB1YmxpYyByZWFkb25seSBjb250ZW50OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIGNvbnN0cnVjdG9yKGFyZ3M6IHtcbiAgICBpdGVyYXRvcjogSVRlcnJhZm9ybUl0ZXJhdG9yO1xuICAgIGNvbnRlbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gIH0pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgRFlOQU1JQ19FWFBSRVNTSU9OX1NZTUJPTCwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB0aGlzLmNyZWF0aW9uU3RhY2sgPSBjYXB0dXJlQ3JlYXRpb25TdGFjaygpO1xuICAgIHRoaXMuaXRlcmF0b3IgPSBhcmdzLml0ZXJhdG9yO1xuICAgIHRoaXMuY29udGVudCA9IGFyZ3MuY29udGVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiByZXNvbHZlcyB0aGlzIGFzIGEgVGVycmFmb3JtIGZvciBleHByZXNzaW9uLlxuICAgKiBUaGlzIGFsbG93cyB1c2luZyBpdGVyYXRvci5keW5hbWljKCkgb24gYXR0cmlidXRlcyB0aGF0IGFyZSBub3QgYmxvY2tzIGJ1dFxuICAgKiBsaXN0cyBvZiBvYmplY3RzICh3aGljaCBpcyBub3QgdmlzaWJsZSB0byB0aGUgdXNlciB3aGVuIHdvcmtpbmcgd2l0aCBwcm92aWRlclxuICAgKiBtYXBwaW5ncyBhcyBpdCBpcyBhYnN0cmFjdGVkIGF3YXkpXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZSgpOiBhbnkge1xuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKHtcbiAgICAgIHByb2R1Y2U6IChjb250ZXh0KSA9PiB7XG4gICAgICAgIC8vIHJlc29sdmUgbmVzdGVkIExhenkgdmFsdWVzICh3aXRoaW4gdGhpcy5jb250ZW50KSBmb3IgYSBmb3IgZXhwcmVzc2lvblxuICAgICAgICBjb250ZXh0Lml0ZXJhdG9yQ29udGV4dCA9IFwiRk9SX0VYUFJFU1NJT05cIjtcbiAgICAgICAgLy8gcmV0dXJucyBbIGZvciBrZXksIHZhbHVlIGluIGZvckVhY2hFeHByIDogY29udGVudCBdXG4gICAgICAgIC8vIGNvbnRleHQucmVzb2x2ZSBpcyByZXF1aXJlZCBmb3IgdGhlIGl0ZXJhdG9yQ29udGV4dCB0byBiZSBjb3JyZWN0bHkgcGFzc2VkXG4gICAgICAgIC8vIHRvIExhenkgdmFsdWVzIHdpdGhpbiB0aGlzLmNvbnRlbnRcbiAgICAgICAgcmV0dXJuIGNvbnRleHQucmVzb2x2ZShcbiAgICAgICAgICBmb3JFeHByZXNzaW9uKHRoaXMuaXRlcmF0b3IuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCB0aGlzLmNvbnRlbnQpLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFR1cm4gdGhpcyBEeW5hbWljIEV4cHJlc3Npb24gaW50byBKU09OXG4gICAqXG4gICAqIENhbGxlZCBhdXRvbWF0aWNhbGx5IHdoZW4gSlNPTi5zdHJpbmdpZnkoKSBpcyBjYWxsZWQgb24gdGhpcy5cbiAgICovXG4gIHRvSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBcIjx1bnJlc29sdmVkLXRlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb24+XCI7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGlzVGVycmFmb3JtRHluYW1pY0V4cHJlc3Npb24oXG4gICAgeDogYW55LFxuICApOiB4IGlzIFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uIHtcbiAgICByZXR1cm4gKFxuICAgICAgeCAhPT0gbnVsbCAmJiB0eXBlb2YgeCA9PT0gXCJvYmplY3RcIiAmJiBEWU5BTUlDX0VYUFJFU1NJT05fU1lNQk9MIGluIHhcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -103,5 +103,5 @@ class TerraformElement extends constructs_1.Construct {
103
103
  }
104
104
  exports.TerraformElement = TerraformElement;
105
105
  _a = JSII_RTTI_SYMBOL_1;
106
- TerraformElement[_a] = { fqn: "cdktn.TerraformElement", version: "0.23.2" };
106
+ TerraformElement[_a] = { fqn: "cdktn.TerraformElement", version: "0.23.4" };
107
107
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWVsZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWVsZW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLG1DQUE0QjtBQUM1QiwyQ0FBdUM7QUFDdkMscUNBQWlDO0FBQ2pDLHVEQUFtRDtBQUNuRCxpREFBcUM7QUFDckMscUNBQXdEO0FBRXhELE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBUXRFLCtDQUErQztBQUMvQyxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBZ0I3QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFoQkEsaUJBQVksR0FBUSxFQUFFLENBQUM7UUFpQnhDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUM7UUFFaEMsSUFBSSxjQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFBLHFDQUE0QixFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLGdDQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBTTtRQUNyQyxPQUFPLENBQUMsS0FBSyxJQUFJLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLHdC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Q0FBQyxnQkFBZ0I7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDO29CQUNqRSxFQUFFLEtBQUs7YUFDa0I7U0FDOUIsQ0FBQztJQUNKLENBQUM7O0FBaElILDRDQWlJQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBvayB9IGZyb20gXCJhc3NlcnRcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtU3RhY2sgfSBmcm9tIFwiLi90ZXJyYWZvcm0tc3RhY2tcIjtcbmltcG9ydCB7IHJlZiB9IGZyb20gXCIuL3RmRXhwcmVzc2lvblwiO1xuaW1wb3J0IHsgdW5yZXNvbHZlZFRva2VuSW5Db25zdHJ1Y3RJZCB9IGZyb20gXCIuL2Vycm9yc1wiO1xuXG5jb25zdCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wgPSBTeW1ib2wuZm9yKFwiY2RrdGYvVGVycmFmb3JtRWxlbWVudFwiKTtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1FbGVtZW50TWV0YWRhdGEge1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVuaXF1ZUlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U6IHN0cmluZ1tdO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUVsZW1lbnQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmF3T3ZlcnJpZGVzOiBhbnkgPSB7fTtcblxuICAvKipcbiAgICogQW4gZXhwbGljaXQgbG9naWNhbCBJRCBwcm92aWRlZCBieSBgb3ZlcnJpZGVMb2dpY2FsSWRgLlxuICAgKi9cbiAgcHJpdmF0ZSBfbG9naWNhbElkT3ZlcnJpZGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFR5cGUgb2YgdGhpcyBlbGVtZW50LCB1c2VkIGZvciBmcW4uXG4gICAqIFRoaXMgaXMgdW5kZWZpbmVkIGZvclxuICAgKiAtIGVsZW1lbnRzIG5vdCByZWZlcmFibGUsIGxpa2UgVGVycmFmb3JtT3V0cHV0XG4gICAqIC0gZWxlbWVudHMgdXNpbmcgdGhlaXIgb3duIGZxbiBpbXBsZW1lbnRhdGlvbiwgbGlrZSBUZXJyYWZvcm1Qcm92aWRlclxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFR5cGU/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgZWxlbWVudFR5cGU/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBURVJSQUZPUk1fRUxFTUVOVF9TWU1CT0wsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdGhpcy5fZWxlbWVudFR5cGUgPSBlbGVtZW50VHlwZTtcblxuICAgIGlmIChUb2tlbi5pc1VucmVzb2x2ZWQoaWQpKSB7XG4gICAgICB0aHJvdyB1bnJlc29sdmVkVG9rZW5JbkNvbnN0cnVjdElkKGlkKTtcbiAgICB9XG5cbiAgICB0aGlzLm5vZGUuYWRkTWV0YWRhdGEoXCJzdGFja3RyYWNlXCIsIFwidHJhY2VcIik7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNka3RmU3RhY2soKTogVGVycmFmb3JtU3RhY2sge1xuICAgIHJldHVybiBUZXJyYWZvcm1TdGFjay5vZih0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaXNUZXJyYWZvcm1FbGVtZW50KHg6IGFueSk6IHggaXMgVGVycmFmb3JtRWxlbWVudCB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgJiYgVEVSUkFGT1JNX0VMRU1FTlRfU1lNQk9MIGluIHg7XG4gIH1cblxuICBwdWJsaWMgdG9UZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgdG9IY2xUZXJyYWZvcm0oKTogYW55IHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgdG9NZXRhZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZxblRva2VuPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZnFuKCkge1xuICAgIGlmICghdGhpcy5fZnFuVG9rZW4pIHtcbiAgICAgIG9rKCEhdGhpcy5fZWxlbWVudFR5cGUsIFwiRWxlbWVudCB0eXBlIG5vdCBzZXRcIik7XG4gICAgICB0aGlzLl9mcW5Ub2tlbiA9IFRva2VuLmFzU3RyaW5nKFxuICAgICAgICByZWYoYCR7dGhpcy5fZWxlbWVudFR5cGV9LiR7dGhpcy5mcmllbmRseVVuaXF1ZUlkfWAsIHRoaXMuY2RrdGZTdGFjayksXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZnFuVG9rZW47XG4gIH1cblxuICBwcml2YXRlIF9mcmllbmRseVVuaXF1ZUlkPzogc3RyaW5nO1xuXG4gIHB1YmxpYyBnZXQgZnJpZW5kbHlVbmlxdWVJZCgpIHtcbiAgICBpZiAoIXRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQpIHtcbiAgICAgIGlmICh0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSkge1xuICAgICAgICB0aGlzLl9mcmllbmRseVVuaXF1ZUlkID0gdGhpcy5fbG9naWNhbElkT3ZlcnJpZGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9mcmllbmRseVVuaXF1ZUlkID0gdGhpcy5jZGt0ZlN0YWNrLmdldExvZ2ljYWxJZCh0aGlzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2ZyaWVuZGx5VW5pcXVlSWQ7XG4gIH1cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgYXV0by1nZW5lcmF0ZWQgbG9naWNhbCBJRCB3aXRoIGEgc3BlY2lmaWMgSUQuXG4gICAqIEBwYXJhbSBuZXdMb2dpY2FsSWQgVGhlIG5ldyBsb2dpY2FsIElEIHRvIHVzZSBmb3IgdGhpcyBzdGFjayBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlTG9naWNhbElkKG5ld0xvZ2ljYWxJZDogc3RyaW5nKSB7XG4gICAgb2soXG4gICAgICAhdGhpcy5fZnFuVG9rZW4sXG4gICAgICBcIkxvZ2ljYWwgSUQgbWF5IG5vdCBiZSBvdmVycmlkZGVuIG9uY2UgLmZxbiBoYXMgYmVlbiByZXF1ZXN0ZWQuIE1ha2Ugc3VyZSB0byBvdmVycmlkZSB0aGUgaWQgYmVmb3JlIHBhc3NpbmcgdGhlIGNvbnN0cnVjdCB0byBvdGhlciBjb25zdHJ1Y3RzLlwiLFxuICAgICk7XG4gICAgdGhpcy5fbG9naWNhbElkT3ZlcnJpZGUgPSBuZXdMb2dpY2FsSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIGEgcHJldmlvdXNseSBwYXNzZWQgbG9naWNhbCBJZCB0byB1c2UgdGhlIGF1dG8tZ2VuZXJhdGVkIGxvZ2ljYWwgaWQgYWdhaW5cbiAgICovXG4gIHB1YmxpYyByZXNldE92ZXJyaWRlTG9naWNhbElkKCkge1xuICAgIG9rKFxuICAgICAgIXRoaXMuX2ZxblRva2VuLFxuICAgICAgXCJMb2dpY2FsIElEIG1heSBub3QgYmUgb3ZlcnJpZGRlbiBvbmNlIC5mcW4gaGFzIGJlZW4gcmVxdWVzdGVkLiBZb3UgY2FuIG9ubHkgcmVzZXQgdGhlIG92ZXJyaWRlIGJlZm9yZSB5b3UgcGFzcyB0aGUgY29uc3RydWN0IHRvIG90aGVyIGNvbnN0cnVjdHMuXCIsXG4gICAgKTtcbiAgICB0aGlzLl9sb2dpY2FsSWRPdmVycmlkZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBhZGRPdmVycmlkZShwYXRoOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBwYXJ0cyA9IHBhdGguc3BsaXQoXCIuXCIpO1xuICAgIGxldCBjdXJyOiBhbnkgPSB0aGlzLnJhd092ZXJyaWRlcztcblxuICAgIHdoaWxlIChwYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBrZXkgPSBwYXJ0cy5zaGlmdCgpITtcblxuICAgICAgLy8gaWYgd2UgY2FuJ3QgcmVjdXJzZSBmdXJ0aGVyIG9yIHRoZSBwcmV2aW91cyB2YWx1ZSBpcyBub3QgYW5cbiAgICAgIC8vIG9iamVjdCBvdmVyd3JpdGUgaXQgd2l0aCBhbiBvYmplY3QuXG4gICAgICBjb25zdCBpc09iamVjdCA9XG4gICAgICAgIGN1cnJba2V5XSAhPSBudWxsICYmXG4gICAgICAgIHR5cGVvZiBjdXJyW2tleV0gPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgIUFycmF5LmlzQXJyYXkoY3VycltrZXldKTtcbiAgICAgIGlmICghaXNPYmplY3QpIHtcbiAgICAgICAgY3VycltrZXldID0ge307XG4gICAgICB9XG5cbiAgICAgIGN1cnIgPSBjdXJyW2tleV07XG4gICAgfVxuXG4gICAgY29uc3QgbGFzdEtleSA9IHBhcnRzLnNoaWZ0KCkhO1xuICAgIGN1cnJbbGFzdEtleV0gPSB2YWx1ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgY29uc3RydWN0Tm9kZU1ldGFkYXRhKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0ge1xuICAgIHJldHVybiB7XG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICBwYXRoOiB0aGlzLm5vZGUucGF0aCxcbiAgICAgICAgdW5pcXVlSWQ6IHRoaXMuZnJpZW5kbHlVbmlxdWVJZCxcbiAgICAgICAgc3RhY2tUcmFjZTogdGhpcy5ub2RlLm1ldGFkYXRhLmZpbmQoKGUpID0+IGUudHlwZSA9PT0gXCJzdGFja3RyYWNlXCIpXG4gICAgICAgICAgPy50cmFjZSxcbiAgICAgIH0gYXMgVGVycmFmb3JtRWxlbWVudE1ldGFkYXRhLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -83,5 +83,5 @@ class Fn extends terraform_functions_generated_1.FnGenerated {
83
83
  }
84
84
  exports.Fn = Fn;
85
85
  _a = JSII_RTTI_SYMBOL_1;
86
- Fn[_a] = { fqn: "cdktn.Fn", version: "0.23.2" };
86
+ Fn[_a] = { fqn: "cdktn.Fn", version: "0.23.4" };
87
87
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXJyYWZvcm0tZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx3QkFBOEU7QUFDOUUsaURBQTRDO0FBQzVDLDZGQUF3RTtBQUV4RSwrQ0FBK0M7QUFDL0MsTUFBYSxFQUFHLFNBQVEsMkNBQVc7SUFDakM7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLElBQWE7UUFDdEMsMEZBQTBGO1FBQzFGLCtFQUErRTtRQUMvRSwrSEFBK0g7UUFDL0gsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxXQUFXLENBQ2hCLFNBQXFCLEVBQ3JCLFNBQXFCLEVBQ3JCLFVBQXNCO1FBRXRCLE9BQU8sSUFBQSxjQUFXLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQWEsRUFBRSxHQUFXLEVBQUUsWUFBa0I7UUFDMUQsc0ZBQXNGO1FBQ3RGLElBQUksWUFBWTtZQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuRSxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQywrRUFBK0U7SUFDaEksQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFhLEVBQUUsSUFBVztRQUM1QyxPQUFPLElBQUEsZUFBSyxFQUFDLElBQUEsaUJBQWMsRUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBaUIsRUFBRSxJQUFjO1FBQzNDLGdHQUFnRztRQUNoRyxtRUFBbUU7UUFDbkUsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLElBQUksR0FBRyxDQUFDO1FBQ3hELGtFQUFrRTtRQUNsRSwwRUFBMEU7UUFDMUUsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFXO1FBQzFCLE9BQU8sUUFBSyxDQUFDLFFBQVEsQ0FBQyxJQUFBLFlBQVMsRUFBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7O0FBL0VILGdCQWdGQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBjb25kaXRpb25hbCwgRXhwcmVzc2lvbiwgcHJvcGVydHlBY2Nlc3MsIHJhd1N0cmluZywgVG9rZW4gfSBmcm9tIFwiLlwiO1xuaW1wb3J0IHsgYXNBbnkgfSBmcm9tIFwiLi9mdW5jdGlvbnMvaGVscGVyc1wiO1xuaW1wb3J0IHsgRm5HZW5lcmF0ZWQgfSBmcm9tIFwiLi9mdW5jdGlvbnMvdGVycmFmb3JtLWZ1bmN0aW9ucy5nZW5lcmF0ZWRcIjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBGbiBleHRlbmRzIEZuR2VuZXJhdGVkIHtcbiAgLyoqXG4gICAqIHtAbGluayAvdGVycmFmb3JtL2RvY3MvbGFuZ3VhZ2UvZnVuY3Rpb25zL2JjcnlwdC5odG1sIGJjcnlwdH0gY29tcHV0ZXMgYSBoYXNoIG9mIHRoZSBnaXZlbiBzdHJpbmcgdXNpbmcgdGhlIEJsb3dmaXNoIGNpcGhlciwgcmV0dXJuaW5nIGEgc3RyaW5nIGluIFt0aGUgX01vZHVsYXIgQ3J5cHQgRm9ybWF0X10oaHR0cHM6Ly9wYXNzbGliLnJlYWR0aGVkb2NzLmlvL2VuL3N0YWJsZS9tb2R1bGFyX2NyeXB0X2Zvcm1hdC5odG1sKSB1c3VhbGx5IGV4cGVjdGVkIGluIHRoZSBzaGFkb3cgcGFzc3dvcmQgZmlsZSBvbiBtYW55IFVuaXggc3lzdGVtcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICAgKiBAcGFyYW0ge251bWJlcn0gW2Nvc3RdXG4gICAqL1xuICBzdGF0aWMgYmNyeXB0KHN0cjogc3RyaW5nLCBjb3N0PzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGJjcnlwdCgpIG9ubHkgc3VwcG9ydHMgYSBzaW5nbGUgdmFyaWFkaWMgcGFyYW1ldGVyIGFuZCBub3QgbXVsdGlwbGVcbiAgICAvLyBUaGVyZSBpcyBjdXJyZW50bHkgbm90aGluZyBpbiB0aGUgc2NoZW1hIHRoYXQgcmVwcmVzZW50cyB0aGlzIHJ1bnRpbWUgY2hlY2s6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2hhc2hpY29ycC90ZXJyYWZvcm0vYmxvYi82YWIzZmFmNWY2NWE5MGFlMWU1YmQwNjI1ZmE5ZTgzYzBiMzRjNWUxL2ludGVybmFsL2xhbmcvZnVuY3MvY3J5cHRvLmdvI0wxMTUtTDExN1xuICAgIHJldHVybiBGbi5fYmNyeXB0KHN0ciwgY29zdCA/IFtjb3N0XSA6IFtdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIuaGFzaGljb3JwLmNvbS90ZXJyYWZvcm0vbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY29uZGl0aW9uYWxzfSBBIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gdXNlcyB0aGUgdmFsdWUgb2YgYSBib29sZWFuIGV4cHJlc3Npb24gdG8gc2VsZWN0IG9uZSBvZiB0d28gdmFsdWVzLlxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGNvbmRpdGlvblxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IHRydWVWYWx1ZVxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGZhbHNlVmFsdWVcbiAgICovXG4gIHN0YXRpYyBjb25kaXRpb25hbChcbiAgICBjb25kaXRpb246IEV4cHJlc3Npb24sXG4gICAgdHJ1ZVZhbHVlOiBFeHByZXNzaW9uLFxuICAgIGZhbHNlVmFsdWU6IEV4cHJlc3Npb24sXG4gICk6IGFueSB7XG4gICAgcmV0dXJuIGNvbmRpdGlvbmFsKGNvbmRpdGlvbiwgdHJ1ZVZhbHVlLCBmYWxzZVZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9sb29rdXAuaHRtbCBsb29rdXB9IHJldHJpZXZlcyB0aGUgdmFsdWUgb2YgYSBzaW5nbGUgZWxlbWVudCBmcm9tIGEgbWFwLCBnaXZlbiBpdHMga2V5LiBJZiB0aGUgZ2l2ZW4ga2V5IGRvZXMgbm90IGV4aXN0LCB0aGUgZ2l2ZW4gZGVmYXVsdCB2YWx1ZSBpcyByZXR1cm5lZCBpbnN0ZWFkLlxuICAgKiBAcGFyYW0ge2FueX0gaW5wdXRNYXBcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0ge2FueX0gW2RlZmF1bHRWYWx1ZV1cbiAgICovXG4gIHN0YXRpYyBsb29rdXAoaW5wdXRNYXA6IGFueSwga2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IGFueSkge1xuICAgIC8vIG92ZXJ3cml0dGVuIGJlY2F1c2UgbG9va3VwKCkgdXNlcyBhIHZhcmlhZGljIGFyZ3VtZW50IGZvciBpdHMgb3B0aW9uYWwgZGVmYXVsdFZhbHVlXG4gICAgaWYgKGRlZmF1bHRWYWx1ZSkgcmV0dXJuIEZuLl9sb29rdXAoaW5wdXRNYXAsIGtleSwgW2RlZmF1bHRWYWx1ZV0pO1xuICAgIHJldHVybiBhc0FueShwcm9wZXJ0eUFjY2VzcyhpbnB1dE1hcCwgW2tleV0pKTsgLy8gLT4gcmVuZGVycyBpbnB1dE1hcFtrZXldICh3aGljaCBpcyByZWNvbW1lbmRlZCBpZiBubyBkZWZhdWx0IHZhbHVlIGlzIGdpdmVuKVxuICB9XG5cbiAgLyoqXG4gICAqIHJldHVybnMgYSBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbiB0aGF0IGFjY2Vzc2VzIHRoZSBwcm9wZXJ0eSBhdCB0aGUgZ2l2ZW4gcGF0aCBpbiB0aGUgZ2l2ZW4gaW5wdXRNYXAuXG4gICAqIEZvciBleGFtcGxlIGxvb2t1cE5lc3RlZCh4LCBbXCJhXCIsIFwiYlwiLCBcImNcIl0pIHdpbGwgcmV0dXJuIGEgVGVycmFmb3JtIGV4cHJlc3Npb24gbGlrZSB4W1wiYVwiXVtcImJcIl1bXCJjXCJdXG4gICAqIEBwYXJhbSB7YW55fSBpbnB1dE1hcFxuICAgKiBAcGFyYW0ge0FycmF5PGFueT59IHBhdGhcbiAgICovXG4gIHN0YXRpYyBsb29rdXBOZXN0ZWQoaW5wdXRNYXA6IGFueSwgcGF0aDogYW55W10pIHtcbiAgICByZXR1cm4gYXNBbnkocHJvcGVydHlBY2Nlc3MoaW5wdXRNYXAsIHBhdGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9qb2luLmh0bWwgam9pbn0gcHJvZHVjZXMgYSBzdHJpbmcgYnkgY29uY2F0ZW5hdGluZyB0b2dldGhlciBhbGwgZWxlbWVudHMgb2YgYSBnaXZlbiBsaXN0IG9mIHN0cmluZ3Mgd2l0aCB0aGUgZ2l2ZW4gZGVsaW1pdGVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VwYXJhdG9yXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gbGlzdFxuICAgKi9cbiAgc3RhdGljIGpvaW4oc2VwYXJhdG9yOiBzdHJpbmcsIGxpc3Q6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIGpvaW4oKSBzdXBwb3J0cyBwYXNzaW5nIG11bHRpcGxlIGxpc3RzIHRvIGl0IGUuZy4gam9pbihzZXAsIGxpc3RBLCBsaXN0QilcbiAgICAvLyB3aGljaCB3ZSBjYW4ndCBtb2RlbCBhcyBKU0lJIGRvZXMgbm90IHN1cHBvcnQgdmFyaWFkaWMgYXJndW1lbnRzXG4gICAgcmV0dXJuIEZuLl9qb2luKHNlcGFyYXRvciwgW2xpc3RdKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGxpbmsgL3RlcnJhZm9ybS9kb2NzL2xhbmd1YWdlL2Z1bmN0aW9ucy9yYW5nZS5odG1sIHJhbmdlfSBnZW5lcmF0ZXMgYSBsaXN0IG9mIG51bWJlcnMgdXNpbmcgYSBzdGFydCB2YWx1ZSwgYSBsaW1pdCB2YWx1ZSwgYW5kIGEgc3RlcCB2YWx1ZS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IHN0YXJ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaW1pdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW3N0ZXA9MV1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmFuZ2Uoc3RhcnQ6IG51bWJlciwgbGltaXQ6IG51bWJlciwgc3RlcCA9IDEpIHtcbiAgICAvLyBvdmVyd3JpdHRlbiBiZWNhdXNlIHRoZSBzdGVwIHBhcmFtIGluIHJhbmdlKCkgaXMgb3B0aW9uYWwgd2hpY2hcbiAgICAvLyB0aGUgVGVycmFmb3JtIGZ1bmN0aW9ucyBzY2hlbWEgcmVwcmVzZW50cyBhcyBhIHNpbmdsZSB2YXJpYWRpYyBhcmd1bWVudFxuICAgIHJldHVybiBGbi5fcmFuZ2UoW3N0YXJ0LCBsaW1pdCwgc3RlcF0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHdyYXAgYSBzdHJpbmcgYW5kIGVzY2FwZSBpdCBwcm9wZXJseSBmb3IgdGhlIHVzZSBpbiBUZXJyYWZvcm1cbiAgICogVGhpcyBpcyBvbmx5IG5lZWRlZCBpbiBjZXJ0YWluIHNjZW5hcmlvcyAoZS5nLiwgaWYgeW91IGhhdmUgdW5lc2NhcGVkIGRvdWJsZSBxdW90ZXMgaW4gdGhlIHN0cmluZylcbiAgICogQHBhcmFtIHtTdHJpbmd9IHN0clxuICAgKi9cbiAgc3RhdGljIHJhd1N0cmluZyhzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHJhd1N0cmluZyhzdHIpKTtcbiAgfVxufVxuIl19
@@ -52,5 +52,5 @@ class TerraformHclModule extends terraform_module_1.TerraformModule {
52
52
  }
53
53
  exports.TerraformHclModule = TerraformHclModule;
54
54
  _a = JSII_RTTI_SYMBOL_1;
55
- TerraformHclModule[_a] = { fqn: "cdktn.TerraformHclModule", version: "0.23.2" };
55
+ TerraformHclModule[_a] = { fqn: "cdktn.TerraformHclModule", version: "0.23.4" };
56
56
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWhjbC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVycmFmb3JtLWhjbC1tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSx5REFBNEU7QUFDNUUscUNBQThDO0FBTTlDLCtDQUErQztBQUMvQyxNQUFhLGtCQUFtQixTQUFRLGtDQUFlO0lBR3JELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsT0FBaUM7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFTSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxLQUFVO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxHQUFHLENBQUMsTUFBYztRQUN2QixPQUFPLGNBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLE9BQU8sY0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sVUFBVSxDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFjO1FBQzNCLE9BQU8sY0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRVMsb0JBQW9CO1FBQzVCLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRVMsdUJBQXVCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUN2QixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUM1RCxPQUFPO2dCQUNMLEdBQUc7Z0JBQ0g7b0JBQ0UsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7YUFDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O0FBeERILGdEQXlEQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgVGVycmFmb3JtTW9kdWxlQ29uZmlnLCBUZXJyYWZvcm1Nb2R1bGUgfSBmcm9tIFwiLi90ZXJyYWZvcm0tbW9kdWxlXCI7XG5pbXBvcnQgeyBUb2tlbiwgSVJlc29sdmFibGUgfSBmcm9tIFwiLi90b2tlbnNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUZXJyYWZvcm1IY2xNb2R1bGVDb25maWcgZXh0ZW5kcyBUZXJyYWZvcm1Nb2R1bGVDb25maWcge1xuICByZWFkb25seSB2YXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUhjbE1vZHVsZSBleHRlbmRzIFRlcnJhZm9ybU1vZHVsZSB7XG4gIHByaXZhdGUgX3ZhcmlhYmxlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0aW9uczogVGVycmFmb3JtSGNsTW9kdWxlQ29uZmlnKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX3ZhcmlhYmxlcyA9IG9wdGlvbnMudmFyaWFibGVzO1xuICB9XG5cbiAgcHVibGljIGdldCB2YXJpYWJsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhYmxlcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQodmFyaWFibGU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGlmICghdGhpcy5fdmFyaWFibGVzKSB7XG4gICAgICB0aGlzLl92YXJpYWJsZXMgPSB7fTtcbiAgICB9XG4gICAgdGhpcy5fdmFyaWFibGVzW3ZhcmlhYmxlXSA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldChvdXRwdXQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXROdW1iZXIob3V0cHV0OiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcih0aGlzLmludGVycG9sYXRpb25Gb3JPdXRwdXQob3V0cHV0KSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Qm9vbGVhbihvdXRwdXQ6IHN0cmluZyk6IElSZXNvbHZhYmxlIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcnBvbGF0aW9uRm9yT3V0cHV0KG91dHB1dCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGlzdChvdXRwdXQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNMaXN0KHRoaXMuaW50ZXJwb2xhdGlvbkZvck91dHB1dChvdXRwdXQpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHsgLi4udGhpcy52YXJpYWJsZXMgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplSGNsQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgaWYgKCF0aGlzLnZhcmlhYmxlcykge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyh0aGlzLnZhcmlhYmxlcyBhcyBhbnkpLm1hcCgoW2tleSwgdmFyaWFibGVdKSA9PiB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAga2V5LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhbHVlOiB2YXJpYWJsZSxcbiAgICAgICAgICAgIHR5cGU6IFwiYW55XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -273,7 +273,7 @@ class TerraformIterator {
273
273
  }
274
274
  exports.TerraformIterator = TerraformIterator;
275
275
  _a = JSII_RTTI_SYMBOL_1;
276
- TerraformIterator[_a] = { fqn: "cdktn.TerraformIterator", version: "0.23.2" };
276
+ TerraformIterator[_a] = { fqn: "cdktn.TerraformIterator", version: "0.23.4" };
277
277
  // eslint-disable-next-line jsdoc/require-jsdoc
278
278
  class ListTerraformIterator extends TerraformIterator {
279
279
  constructor(list) {
@@ -305,7 +305,7 @@ class ListTerraformIterator extends TerraformIterator {
305
305
  }
306
306
  exports.ListTerraformIterator = ListTerraformIterator;
307
307
  _b = JSII_RTTI_SYMBOL_1;
308
- ListTerraformIterator[_b] = { fqn: "cdktn.ListTerraformIterator", version: "0.23.2" };
308
+ ListTerraformIterator[_b] = { fqn: "cdktn.ListTerraformIterator", version: "0.23.4" };
309
309
  // eslint-disable-next-line jsdoc/require-jsdoc
310
310
  class MapTerraformIterator extends TerraformIterator {
311
311
  constructor(map) {
@@ -334,7 +334,7 @@ class MapTerraformIterator extends TerraformIterator {
334
334
  }
335
335
  exports.MapTerraformIterator = MapTerraformIterator;
336
336
  _c = JSII_RTTI_SYMBOL_1;
337
- MapTerraformIterator[_c] = { fqn: "cdktn.MapTerraformIterator", version: "0.23.2" };
337
+ MapTerraformIterator[_c] = { fqn: "cdktn.MapTerraformIterator", version: "0.23.4" };
338
338
  // eslint-disable-next-line jsdoc/require-jsdoc
339
339
  class ResourceTerraformIterator extends TerraformIterator {
340
340
  constructor(element) {
@@ -371,7 +371,7 @@ class ResourceTerraformIterator extends TerraformIterator {
371
371
  }
372
372
  exports.ResourceTerraformIterator = ResourceTerraformIterator;
373
373
  _d = JSII_RTTI_SYMBOL_1;
374
- ResourceTerraformIterator[_d] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.23.2" };
374
+ ResourceTerraformIterator[_d] = { fqn: "cdktn.ResourceTerraformIterator", version: "0.23.4" };
375
375
  // eslint-disable-next-line jsdoc/require-jsdoc
376
376
  class DynamicListTerraformIterator extends MapTerraformIterator {
377
377
  constructor(list, mapKeyAttributeName) {
@@ -399,5 +399,5 @@ class DynamicListTerraformIterator extends MapTerraformIterator {
399
399
  }
400
400
  exports.DynamicListTerraformIterator = DynamicListTerraformIterator;
401
401
  _e = JSII_RTTI_SYMBOL_1;
402
- DynamicListTerraformIterator[_e] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.23.2" };
402
+ DynamicListTerraformIterator[_e] = { fqn: "cdktn.DynamicListTerraformIterator", version: "0.23.4" };
403
403
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWl0ZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlcnJhZm9ybS1pdGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWNBLHFDQUdrQjtBQUNsQixpRkFBNEU7QUFDNUUsK0RBQTJDO0FBRTNDLGlEQU13QjtBQUN4QixxQ0FBb0Q7QUF3Q3BELCtDQUErQztBQUMvQyxNQUFzQixpQkFBaUI7SUFNckM7Ozs7OztPQU1HO0lBQ0ksc0JBQXNCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFjO1FBQ25DLGdGQUFnRjtRQUNoRix3RkFBd0Y7UUFDeEYsT0FBTyxJQUFJLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTRCRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLElBQXFCLEVBQ3JCLG1CQUEyQjtRQUUzQixPQUFPLElBQUksNEJBQTRCLENBQUMsSUFBSSxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FDbkIsR0FLOEI7UUFFOUIsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUN6QixRQUE0QjtRQUU1QixPQUFPLElBQUkseUJBQXlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQzNCLFFBQTRCO1FBRTVCLE9BQU8sSUFBSSx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLFNBQWlC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Q0FBQztJQUVEOztPQUVHO0lBQ0kscUJBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxzQ0FBc0M7SUFDakUsQ0FBQzs7QUFuQ0gsOERBb0NDOzs7QUFFRCwrQ0FBK0M7QUFDL0MsTUFBYSw0QkFBNkIsU0FBUSxvQkFBb0I7SUFDcEUsWUFDbUIsSUFBYyxFQUNkLG1CQUEyQjtRQUU1QyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFISyxTQUFJLEdBQUosSUFBSSxDQUFVO1FBQ2Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO0lBRzlDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0kscUJBQXFCO1FBQzFCLHNGQUFzRjtRQUN0RixPQUFPLElBQUEsNEJBQWEsRUFDbEIsSUFBSSxDQUFDLElBQUksRUFDVCxtQ0FBb0IsRUFDcEIsd0JBQUUsQ0FBQyxZQUFZLENBQUMsbUNBQW9CLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQkFBc0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7O0FBN0JILG9FQThCQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgSGFzaGlDb3JwLCBJbmNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNUEwtMi4wXG5pbXBvcnQge1xuICBBbnlNYXAsXG4gIEFueU1hcExpc3QsXG4gIEJvb2xlYW5NYXAsXG4gIEJvb2xlYW5NYXBMaXN0LFxuICBDb21wbGV4TGlzdCxcbiAgQ29tcGxleE1hcCxcbiAgTnVtYmVyTWFwLFxuICBOdW1iZXJNYXBMaXN0LFxuICBTdHJpbmdNYXAsXG4gIFN0cmluZ01hcExpc3QsXG59IGZyb20gXCIuL2NvbXBsZXgtY29tcHV0ZWQtbGlzdFwiO1xuaW1wb3J0IHtcbiAgaXRlcmF0b3JPblJlc291cmNlV2l0aENvdW50LFxuICBpdGVyYXRvck9uUmVzb3VyY2VXaXRob3V0Rm9yRWFjaCxcbn0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1EeW5hbWljRXhwcmVzc2lvbiB9IGZyb20gXCIuL3RlcnJhZm9ybS1keW5hbWljLWV4cHJlc3Npb25cIjtcbmltcG9ydCB7IEZuIH0gZnJvbSBcIi4vdGVycmFmb3JtLWZ1bmN0aW9uc1wiO1xuaW1wb3J0IHsgSVRlcnJhZm9ybVJlc291cmNlIH0gZnJvbSBcIi4vdGVycmFmb3JtLXJlc291cmNlXCI7XG5pbXBvcnQge1xuICBGT1JfRVhQUkVTU0lPTl9LRVksXG4gIEZPUl9FWFBSRVNTSU9OX1ZBTFVFLFxuICBmb3JFeHByZXNzaW9uLFxuICBwcm9wZXJ0eUFjY2VzcyxcbiAgcmVmLFxufSBmcm9tIFwiLi90ZkV4cHJlc3Npb25cIjtcbmltcG9ydCB7IElSZXNvbHZhYmxlLCBMYXp5LCBUb2tlbiB9IGZyb20gXCIuL3Rva2Vuc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElUZXJyYWZvcm1JdGVyYXRvciB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnB1dCB1c2VkIHdoZW4gdGhpcyBpdGVyYXRvciBhcHBlYXJzIGluc2lkZSBhIGZvci1leHByZXNzaW9uXG4gICAqIGJvZHkgKGtleXMgLyB2YWx1ZXMgLyBwbHVja1Byb3BlcnR5IC8gZm9yRXhwcmVzc2lvbkZvckxpc3QgL1xuICAgKiBmb3JFeHByZXNzaW9uRm9yTWFwIC8gZHluYW1pYykuXG4gICAqL1xuICBfZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCk6IGFueTtcbn1cblxudHlwZSBMaXN0VHlwZSA9XG4gIHwgQXJyYXk8c3RyaW5nPlxuICB8IEFycmF5PG51bWJlcj5cbiAgfCBBcnJheTxib29sZWFuIHwgSVJlc29sdmFibGU+XG4gIHwgSVJlc29sdmFibGU7IC8vIGUuZy4gYXJyYXkgb2YgYm9vbGVhbnNcblxudHlwZSBDb21wbGV4TGlzdFR5cGUgPVxuICB8IENvbXBsZXhMaXN0XG4gIHwgU3RyaW5nTWFwTGlzdFxuICB8IE51bWJlck1hcExpc3RcbiAgfCBCb29sZWFuTWFwTGlzdFxuICB8IEFueU1hcExpc3RcbiAgfCBJUmVzb2x2YWJsZTsgLy8gZS5nLiBhIHJlZmVyZW5jZSB0byBhIGNvbXBsZXggbGlzdCAoZS5nLiB2aWEgYSB2YXJpYWJsZSlcblxudHlwZSBNYXBUeXBlID1cbiAgfCB7IFtrZXk6IHN0cmluZ106IGFueSB9XG4gIHwgeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuICB8IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH1cbiAgfCBTdHJpbmdNYXBcbiAgfCBOdW1iZXJNYXBcbiAgfCBCb29sZWFuTWFwXG4gIHwgQW55TWFwXG4gIHwgQ29tcGxleE1hcDtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUZXJyYWZvcm1JdGVyYXRvciBpbXBsZW1lbnRzIElUZXJyYWZvcm1JdGVyYXRvciB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb25cbiAgICovXG4gIGFic3RyYWN0IF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnk7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnB1dCB1c2VkIHdoZW4gdGhpcyBpdGVyYXRvciBhcHBlYXJzIGluc2lkZSBhIGZvci1leHByZXNzaW9uXG4gICAqIGJvZHkgKGtleXMgLyB2YWx1ZXMgLyBwbHVja1Byb3BlcnR5IC8gZm9yRXhwcmVzc2lvbkZvckxpc3QgL1xuICAgKiBmb3JFeHByZXNzaW9uRm9yTWFwIC8gZHluYW1pYykuIERlZmF1bHRzIHRvIHRoZSBmb3JfZWFjaCBleHByZXNzaW9uO1xuICAgKiBzdWJjbGFzc2VzIHRoYXQgbmVlZCBhIGRpZmZlcmVudCBzaGFwZSBpbiBmb3ItZXhwcmVzc2lvbiBib2RpZXNcbiAgICogKGUuZy4gRHluYW1pY0xpc3RUZXJyYWZvcm1JdGVyYXRvcikgY2FuIG92ZXJyaWRlLlxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBsaXN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21MaXN0KGxpc3Q6IExpc3RUeXBlKTogTGlzdFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICAvLyBUT0RPOiB0aGlzIGNvdWxkIHJldHVybiBkaWZmZXJlbnQgaXRlcmF0b3JzIGRlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0aGUgbGlzdFxuICAgIC8vIGZvciBleGFtcGxlIGl0IGNvdWxkIHJldHVybiBhIE51bWJlckxpc3RJdGVyYXRvciB3aG9zZSBpdGVyYXRvci5rZXkgd291bGQgYmUgYSBudW1iZXJcbiAgICByZXR1cm4gbmV3IExpc3RUZXJyYWZvcm1JdGVyYXRvcihsaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBjb21wbGV4IGxpc3QuIE9uZSBleGFtcGxlIGZvciB0aGlzIHdvdWxkIGJlIGEgbGlzdCBvZiBtYXBzLlxuICAgKiBUaGUgbGlzdCB3aWxsIGJlIGNvbnZlcnRlZCBpbnRvIGEgbWFwIHdpdGggdGhlIG1hcEtleUF0dHJpYnV0ZU5hbWUgYXMgdGhlIGtleS5cbiAgICogQHBhcmFtIGxpc3QgdGhlIGxpc3QgdG8gaXRlcmF0ZSBvdmVyXG4gICAqIEBwYXJhbSBtYXBLZXlBdHRyaWJ1dGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBhdHRyaWJ1dGUgdGhhdCBzaG91bGQgYmUgdXNlZCBhcyB0aGUga2V5IGluIHRoZSBtYXBcbiAgICpcbiAgICogVmlzaXQgaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL2l0ZXJhdG9ycyN1c2luZy1pdGVyYXRvcnMtb24tY29tcGxleC1saXN0cyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgY2VydCA9IG5ldyBBY21DZXJ0aWZpY2F0ZSh0aGlzLCBcImNlcnRcIiwge1xuICAgKiAgICBkb21haW5OYW1lOiBcImV4YW1wbGUuY29tXCIsXG4gICAqICAgIHZhbGlkYXRpb25NZXRob2Q6IFwiRE5TXCIsXG4gICAqICB9KTtcbiAgICpcbiAgICogY29uc3QgZHZvSXRlcmF0b3IgPSBUZXJyYWZvcm1JdGVyYXRvci5mcm9tQ29tcGxleExpc3QoXG4gICAqICAgY2VydC5kb21haW5WYWxpZGF0aW9uT3B0aW9ucyxcbiAgICogICBcImRvbWFpbl9uYW1lXCJcbiAgICogKTtcbiAgICpcbiAgICogbmV3IFJvdXRlNTNSZWNvcmQodGhpcywgXCJyZWNvcmRcIiwge1xuICAgKiAgIGFsbG93T3ZlcndyaXRlOiB0cnVlLFxuICAgKiAgIG5hbWU6IGR2b0l0ZXJhdG9yLmdldFN0cmluZyhcIm5hbWVcIiksXG4gICAqICAgcmVjb3JkczogW2R2b0l0ZXJhdG9yLmdldFN0cmluZyhcInJlY29yZFwiKV0sXG4gICAqICAgdHRsOiA2MCxcbiAgICogICB0eXBlOiBkdm9JdGVyYXRvci5nZXRTdHJpbmcoXCJ0eXBlXCIpLFxuICAgKiAgIHpvbmVJZDogVG9rZW4uYXNTdHJpbmcoZGF0YUF3c1JvdXRlNTNab25lRXhhbXBsZS56b25lSWQpLFxuICAgKiAgIGZvckVhY2g6IGR2b0l0ZXJhdG9yLFxuICAgKiB9KTtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNvbXBsZXhMaXN0KFxuICAgIGxpc3Q6IENvbXBsZXhMaXN0VHlwZSxcbiAgICBtYXBLZXlBdHRyaWJ1dGVOYW1lOiBzdHJpbmcsXG4gICk6IER5bmFtaWNMaXN0VGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgRHluYW1pY0xpc3RUZXJyYWZvcm1JdGVyYXRvcihsaXN0LCBtYXBLZXlBdHRyaWJ1dGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBtYXBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbU1hcChcbiAgICBtYXA6XG4gICAgICB8IENvbXBsZXhNYXBcbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBhbnkgfVxuICAgICAgfCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICAgICB8IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH1cbiAgICAgIHwgeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0sXG4gICk6IE1hcFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgICByZXR1cm4gbmV3IE1hcFRlcnJhZm9ybUl0ZXJhdG9yKG1hcCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpdGVyYXRvciBmcm9tIGEgcmVzb3VyY2UgdGhhdFxuICAgKiBoYXMgYmVlbiBjcmVhdGVkIHdpdGggdGhlIGBmb3JfZWFjaGAgYXJndW1lbnQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21SZXNvdXJjZXMoXG4gICAgcmVzb3VyY2U6IElUZXJyYWZvcm1SZXNvdXJjZSxcbiAgKTogUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciB7XG4gICAgcmV0dXJuIG5ldyBSZXNvdXJjZVRlcnJhZm9ybUl0ZXJhdG9yKHJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGl0ZXJhdG9yIGZyb20gYSBkYXRhIHNvdXJjZSB0aGF0XG4gICAqIGhhcyBiZWVuIGNyZWF0ZWQgd2l0aCB0aGUgYGZvcl9lYWNoYCBhcmd1bWVudC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbURhdGFTb3VyY2VzKFxuICAgIHJlc291cmNlOiBJVGVycmFmb3JtUmVzb3VyY2UsXG4gICk6IFJlc291cmNlVGVycmFmb3JtSXRlcmF0b3Ige1xuICAgIHJldHVybiBuZXcgUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvcihyZXNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIHN0cmluZ1xuICAgKi9cbiAgZ2V0U3RyaW5nKGF0dHJpYnV0ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmcocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbnVtYmVyXG4gICAqL1xuICBnZXROdW1iZXIoYXR0cmlidXRlOiBzdHJpbmcpOiBudW1iZXIge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlcihwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBib29sZWFuXG4gICAqL1xuICBnZXRCb29sZWFuKGF0dHJpYnV0ZTogc3RyaW5nKTogSVJlc29sdmFibGUge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYW55XG4gICAqL1xuICBnZXRBbnkoYXR0cmlidXRlOiBzdHJpbmcpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIChzdHJpbmcpIGxpc3RcbiAgICovXG4gIGdldExpc3QoYXR0cmlidXRlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFRva2VuLmFzTGlzdChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBudW1iZXIgbGlzdFxuICAgKi9cbiAgZ2V0TnVtYmVyTGlzdChhdHRyaWJ1dGU6IHN0cmluZyk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gVG9rZW4uYXNOdW1iZXJMaXN0KHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcFxuICAgKi9cbiAgZ2V0TWFwKGF0dHJpYnV0ZTogc3RyaW5nKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55TWFwKHByb3BlcnR5QWNjZXNzKHRoaXMuX2dldFZhbHVlKCksIFthdHRyaWJ1dGVdKSk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIGF0dHJpYnV0ZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyB0aGUgZ2l2ZW4gYXR0cmlidXRlIG9mIHRoZSBjdXJyZW50IGl0ZW0gaXRlcmF0ZWQgb3ZlciBhcyBhIG1hcCBvZiBzdHJpbmdzXG4gICAqL1xuICBnZXRTdHJpbmdNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNTdHJpbmdNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0gYXR0cmlidXRlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHJldHJpZXZlXG4gICAqIEByZXR1cm5zIHRoZSBnaXZlbiBhdHRyaWJ1dGUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyIGFzIGEgbWFwIG9mIG51bWJlcnNcbiAgICovXG4gIGdldE51bWJlck1hcChhdHRyaWJ1dGU6IHN0cmluZyk6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0ge1xuICAgIHJldHVybiBUb2tlbi5hc051bWJlck1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2YgYm9vbGVhbnNcbiAgICovXG4gIGdldEJvb2xlYW5NYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQm9vbGVhbk1hcChwcm9wZXJ0eUFjY2Vzcyh0aGlzLl9nZXRWYWx1ZSgpLCBbYXR0cmlidXRlXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBhdHRyaWJ1dGUgbmFtZSBvZiB0aGUgcHJvcGVydHkgdG8gcmV0cmlldmVcbiAgICogQHJldHVybnMgdGhlIGdpdmVuIGF0dHJpYnV0ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIgYXMgYSBtYXAgb2YgYW55XG4gICAqL1xuICBnZXRBbnlNYXAoYXR0cmlidXRlOiBzdHJpbmcpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnlNYXAocHJvcGVydHlBY2Nlc3ModGhpcy5fZ2V0VmFsdWUoKSwgW2F0dHJpYnV0ZV0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHByb3RlY3RlZCBfZ2V0VmFsdWUoKTogYW55IHtcbiAgICAvLyB1c2VzIGEgTGF6eSB2YWx1ZSB0byBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgY3VycmVudCBUZXJyYWZvcm1TdGFjayBhbmQgcGFzcyBpdCB0byByZWYoKVxuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKFxuICAgICAge1xuICAgICAgICBwcm9kdWNlOiAoY29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY29udGV4dC5pdGVyYXRvckNvbnRleHQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJEWU5BTUlDX0JMT0NLXCI6XG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLnZhbHVlXCIpO1xuICAgICAgICAgICAgY2FzZSBcIkZPUl9FWFBSRVNTSU9OXCI6XG4gICAgICAgICAgICAgIHJldHVybiBGT1JfRVhQUkVTU0lPTl9WQUxVRTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIC8vIHNhbWUgYXMgZHluYW1pYyBibG9jaywgYXMgdGhpcyBpcyB0aGUgY2FzZSB3aGVuIGEgaXRlcmF0b3IgaXMgcGFzc2VkIHRvIHRoZSByb290IGxldmVsIG9mIGUuZy4gYSByZXNvdXJjZVxuICAgICAgICAgICAgICByZXR1cm4gcmVmKFwiZWFjaC52YWx1ZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBkaXNwbGF5SGludDogXCI8aXRlcmF0b3IgdmFsdWU+XCIgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHJvdGVjdGVkIF9nZXRLZXkoKTogYW55IHtcbiAgICAvLyB1c2VzIGEgTGF6eSB2YWx1ZSB0byBiZSBhYmxlIHRvIGFjY2VzcyB0aGUgY3VycmVudCBUZXJyYWZvcm1TdGFjayBhbmQgcGFzcyBpdCB0byByZWYoKVxuICAgIHJldHVybiBMYXp5LmFueVZhbHVlKFxuICAgICAge1xuICAgICAgICBwcm9kdWNlOiAoY29udGV4dCkgPT4ge1xuICAgICAgICAgIHN3aXRjaCAoY29udGV4dC5pdGVyYXRvckNvbnRleHQpIHtcbiAgICAgICAgICAgIGNhc2UgXCJEWU5BTUlDX0JMT0NLXCI6XG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLmtleVwiKTtcbiAgICAgICAgICAgIGNhc2UgXCJGT1JfRVhQUkVTU0lPTlwiOlxuICAgICAgICAgICAgICByZXR1cm4gRk9SX0VYUFJFU1NJT05fS0VZO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgLy8gc2FtZSBhcyBkeW5hbWljIGJsb2NrLCBhcyB0aGlzIGlzIHRoZSBjYXNlIHdoZW4gYSBpdGVyYXRvciBpcyBwYXNzZWQgdG8gdGhlIHJvb3QgbGV2ZWwgb2YgZS5nLiBhIHJlc291cmNlXG4gICAgICAgICAgICAgIHJldHVybiByZWYoXCJlYWNoLmtleVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgeyBkaXNwbGF5SGludDogXCI8aXRlcmF0b3Iga2V5PlwiIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZHluYW1pYyBleHByZXNzaW9uIHRoYXQgY2FuIGJlIHVzZWQgdG8gbG9vcCBvdmVyIHRoaXMgaXRlcmF0b3JcbiAgICogaW4gYSBkeW5hbWljIGJsb2NrLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICogU2VlIGh0dHBzOi8vY2RrdG4uaW8vZG9jcy9jb25jZXB0cy9pdGVyYXRvcnMjdXNpbmctaXRlcmF0b3JzLWZvci1saXN0LWF0dHJpYnV0ZXNcbiAgICovXG4gIHB1YmxpYyBkeW5hbWljKGF0dHJpYnV0ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgbmV3IFRlcnJhZm9ybUR5bmFtaWNFeHByZXNzaW9uKHtcbiAgICAgICAgaXRlcmF0b3I6IHRoaXMsXG4gICAgICAgIGNvbnRlbnQ6IGF0dHJpYnV0ZXMsXG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IG1hcHMgdGhlIGl0ZXJhdG9ycyB0byBpdHMga2V5cy5cbiAgICogRm9yIGxpc3RzIHRoZXNlIHdvdWxkIGJlIHRoZSBpbmRpY2VzLCBmb3IgbWFwcyB0aGUga2V5cy5cbiAgICogQXMgdGhpcyByZXR1cm5zIGFuIElSZXNvbHZhYmxlIHlvdSBtaWdodCBuZWVkIHRvIHdyYXAgdGhlIG91dHB1dCBpblxuICAgKiBhIFRva2VuLCBlLmcuIGBUb2tlbi5hc1N0cmluZ2AuXG4gICAqL1xuICBwdWJsaWMga2V5cygpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbih0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSwgRk9SX0VYUFJFU1NJT05fS0VZKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IG1hcHMgdGhlIGl0ZXJhdG9ycyB0byBpdHMgdmFsdWUgaW4gY2FzZSBpdCBpcyBhIG1hcC5cbiAgICogRm9yIGxpc3RzIHRoZXNlIHdvdWxkIHN0YXkgdGhlIHNhbWUuXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKi9cbiAgcHVibGljIHZhbHVlcygpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbih0aGlzLl9nZXRGb3JFeHByZXNzaW9uSW5wdXQoKSwgRk9SX0VYUFJFU1NJT05fVkFMVUUpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZvciBleHByZXNzaW9uIHRoYXQgYWNjZXNzZXMgdGhlIGtleSBvbiBlYWNoIGVsZW1lbnQgb2YgdGhlIGl0ZXJhdG9yLlxuICAgKiBBcyB0aGlzIHJldHVybnMgYW4gSVJlc29sdmFibGUgeW91IG1pZ2h0IG5lZWQgdG8gd3JhcCB0aGUgb3V0cHV0IGluXG4gICAqIGEgVG9rZW4sIGUuZy4gYFRva2VuLmFzU3RyaW5nYC5cbiAgICogQHBhcmFtIHByb3BlcnR5IFRoZSBwcm9wZXJ0eSBvZiB0aGUgaXRlcmF0b3JzIHZhbHVlcyB0byBtYXAgdG9cbiAgICovXG4gIHB1YmxpYyBwbHVja1Byb3BlcnR5KHByb3BlcnR5OiBzdHJpbmcpOiBJUmVzb2x2YWJsZSB7XG4gICAgcmV0dXJuIFRva2VuLmFzQW55KFxuICAgICAgZm9yRXhwcmVzc2lvbihcbiAgICAgICAgdGhpcy5fZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCksXG4gICAgICAgIHByb3BlcnR5QWNjZXNzKEZPUl9FWFBSRVNTSU9OX1ZBTFVFLCBbcHJvcGVydHldKSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZm9yIGV4cHJlc3Npb24gdGhhdCByZXN1bHRzIGluIGEgbGlzdC5cbiAgICogVGhpcyBtZXRob2QgYWxsb3dzIHlvdSB0byBjcmVhdGUgZXZlcnkgcG9zc2libGUgZm9yIGV4cHJlc3Npb24sIGJ1dCByZXF1aXJlcyBtb3JlIGtub3dsZWRnZSBhYm91dFxuICAgKiBUZXJyYWZvcm0ncyBmb3IgZXhwcmVzc2lvbiBzeW50YXguXG4gICAqIEZvciB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VzIHlvdSBjYW4gdXNlIGtleXMoKSwgdmFsdWVzKCksIGFuZCBwbHVja1Byb3BlcnR5KCkgaW5zdGVhZC5cbiAgICpcbiAgICogWW91IG1heSB3cml0ZSBhbnkgdmFsaWQgVGVycmFmb3JtIGZvciBlYWNoIGV4cHJlc3Npb24sIGUuZy5cbiAgICogYFRlcnJhZm9ybUl0ZXJhdG9yLmZyb21MaXN0KG15SXRlcmF0b3JTb3VyY2VWYXIpLmZvckV4cHJlc3Npb25Gb3JMaXN0KFwidmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWVcIilgXG4gICAqIHdpbGwgcmVzdWx0IGluIGBbIGZvciBrZXksIHZhbCBpbiB2YXIubXlJdGVyYXRvclNvdXJjZTogdmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWUgXWAuXG4gICAqXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBAcGFyYW0gZXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbiB0byB1c2UgaW4gdGhlIGZvciBtYXBwaW5nXG4gICAqL1xuICBwdWJsaWMgZm9yRXhwcmVzc2lvbkZvckxpc3QoZXhwcmVzc2lvbjogc3RyaW5nIHwgSVJlc29sdmFibGUpIHtcbiAgICByZXR1cm4gVG9rZW4uYXNBbnkoXG4gICAgICBmb3JFeHByZXNzaW9uKHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLCBleHByZXNzaW9uKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb3IgZXhwcmVzc2lvbiB0aGF0IHJlc3VsdHMgaW4gYSBtYXAuXG4gICAqIFRoaXMgbWV0aG9kIGFsbG93cyB5b3UgdG8gY3JlYXRlIGV2ZXJ5IHBvc3NpYmxlIGZvciBleHByZXNzaW9uLCBidXQgcmVxdWlyZXMgbW9yZSBrbm93bGVkZ2UgYWJvdXRcbiAgICogVGVycmFmb3JtcyBmb3IgZXhwcmVzc2lvbiBzeW50YXguXG4gICAqIEZvciB0aGUgbW9zdCBjb21tb24gdXNlIGNhc2VzIHlvdSBjYW4gdXNlIGtleXMoKSwgdmFsdWVzKCksIGFuZCBwbHVja1Byb3BlcnR5IGluc3RlYWQuXG4gICAqXG4gICAqIFlvdSBtYXkgd3JpdGUgYW55IHZhbGlkIFRlcnJhZm9ybSBmb3IgZWFjaCBleHByZXNzaW9uLCBlLmcuXG4gICAqIGBUZXJyYWZvcm1JdGVyYXRvci5mcm9tTWFwKG15SXRlcmF0b3JTb3VyY2VWYXIpLmZvckV4cHJlc3Npb25Gb3JNYXAoXCJrZXlcIiwgXCJ2YWwuZm9vIGlmIHZhbC5iYXIgPT0gdHJ1ZVwiKWBcbiAgICogd2lsbCByZXN1bHQgaW4gYHsgZm9yIGtleSwgdmFsIGluIHZhci5teUl0ZXJhdG9yU291cmNlOiBrZXkgPT4gdmFsLmZvbyBpZiB2YWwuYmFyID09IHRydWUgfWAuXG4gICAqXG4gICAqIEFzIHRoaXMgcmV0dXJucyBhbiBJUmVzb2x2YWJsZSB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSBvdXRwdXQgaW5cbiAgICogYSBUb2tlbiwgZS5nLiBgVG9rZW4uYXNTdHJpbmdgLlxuICAgKiBAcGFyYW0ga2V5RXhwcmVzc2lvbiBUaGUgZXhwcmVzc2lvbiB0byB1c2UgYXMga2V5IGluIHRoZSBmb3IgbWFwcGluZ1xuICAgKiBAcGFyYW0gdmFsdWVFeHByZXNzaW9uIFRoZSBleHByZXNzaW9uIHRvIHVzZSBhcyB2YWx1ZSBpbiB0aGUgZm9yIG1hcHBpbmdcbiAgICovXG4gIHB1YmxpYyBmb3JFeHByZXNzaW9uRm9yTWFwKFxuICAgIGtleUV4cHJlc3Npb246IHN0cmluZyB8IElSZXNvbHZhYmxlLFxuICAgIHZhbHVlRXhwcmVzc2lvbjogc3RyaW5nIHwgSVJlc29sdmFibGUsXG4gICkge1xuICAgIHJldHVybiBUb2tlbi5hc0FueShcbiAgICAgIGZvckV4cHJlc3Npb24oXG4gICAgICAgIHRoaXMuX2dldEZvckV4cHJlc3Npb25JbnB1dCgpLFxuICAgICAgICB2YWx1ZUV4cHJlc3Npb24sXG4gICAgICAgIGtleUV4cHJlc3Npb24sXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBMaXN0VGVycmFmb3JtSXRlcmF0b3IgZXh0ZW5kcyBUZXJyYWZvcm1JdGVyYXRvciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbGlzdDogTGlzdFR5cGUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnRseSBlbnRyeSBpbiB0aGUgbGlzdCBvciBzZXQgdGhhdCBpcyBiZWluZyBpdGVyYXRlZCBvdmVyLlxuICAgKiBGb3IgbGlzdHMgdGhpcyBpcyB0aGUgc2FtZSBhcyBgaXRlcmF0b3IudmFsdWVgLiBJZiB5b3UgbmVlZCB0aGUgaW5kZXgsXG4gICAqIHVzZSBjb3VudCB2aWEgYFRlcnJhZm9ybUNvdW50YDpcbiAgICogaHR0cHM6Ly9jZGt0bi5pby9kb2NzL2NvbmNlcHRzL2l0ZXJhdG9ycyN1c2luZy1jb3VudFxuICAgKi9cbiAgcHVibGljIGdldCBrZXkoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0S2V5KCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCB1c2VkIGJ5IFRlcnJhZm9ybVJlc291cmNlIHRvIHNldCB0aGUgZm9yX2VhY2ggZXhwcmVzc2lvblxuICAgKi9cbiAgcHVibGljIF9nZXRGb3JFYWNoRXhwcmVzc2lvbigpOiBhbnkge1xuICAgIC8vIG5lZWRzIHRvIGJlIHdyYXBwZWQgaW4gYSBzZXQgYXMgVGVycmFmb3JtIG9ubHkgYWxsb3dzIHNldHMgaW4gZm9yX2VhY2hcbiAgICByZXR1cm4gRm4udG9zZXQodGhpcy5saXN0KTtcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganNkb2MvcmVxdWlyZS1qc2RvY1xuZXhwb3J0IGNsYXNzIE1hcFRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1hcDogTWFwVHlwZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgLy8gZXhwbGljaXQgd3JhcHBpbmcgdG8gY2lyY3VtdmVudCBcIkZvdW5kIGFuIGVuY29kZWQgbWFwIHRva2VuIGluIGEgc2NhbGFyIHN0cmluZyBjb250ZXh0LlwiIGVycm9yXG4gICAgcmV0dXJuIFRva2VuLmFzU3RyaW5nKHRoaXMubWFwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIGN1cnJlbnQgZW50cnkgaW4gdGhlIG1hcCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBUb2tlbi5hc1N0cmluZyh0aGlzLl9nZXRLZXkoKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgaXRlbSBpdGVyYXRlZCBvdmVyLlxuICAgKi9cbiAgcHVibGljIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSgpO1xuICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBqc2RvYy9yZXF1aXJlLWpzZG9jXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VUZXJyYWZvcm1JdGVyYXRvciBleHRlbmRzIFRlcnJhZm9ybUl0ZXJhdG9yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50OiBJVGVycmFmb3JtUmVzb3VyY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgaWYgKGVsZW1lbnQuY291bnQpIHtcbiAgICAgIHRocm93IGl0ZXJhdG9yT25SZXNvdXJjZVdpdGhDb3VudCgpO1xuICAgIH1cblxuICAgIGlmICghZWxlbWVudC5mb3JFYWNoKSB7XG4gICAgICB0aHJvdyBpdGVyYXRvck9uUmVzb3VyY2VXaXRob3V0Rm9yRWFjaCgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGVudHJ5IGluIHRoZSBsaXN0IG9yIHNldCB0aGF0IGlzIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gICAqIEZvciBsaXN0cyB0aGlzIGlzIHRoZSBzYW1lIGFzIGBpdGVyYXRvci52YWx1ZWAuIElmIHlvdSBuZWVkIHRoZSBpbmRleCxcbiAgICogdXNlIGNvdW50IHZpYSBgVGVycmFmb3JtQ291bnRgOlxuICAgKiBodHRwczovL2Nka3RuLmlvL2RvY3MvY29uY2VwdHMvaXRlcmF0b3JzI3VzaW5nLWNvdW50XG4gICAqL1xuICBwdWJsaWMgZ2V0IGtleSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9nZXRLZXkoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBpdGVtIGl0ZXJhdGVkIG92ZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIHVzZWQgYnkgVGVycmFmb3JtUmVzb3VyY2UgdG8gc2V0IHRoZSBmb3JfZWFjaCBleHByZXNzaW9uXG4gICAqL1xuICBwdWJsaWMgX2dldEZvckVhY2hFeHByZXNzaW9uKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudC5mcW47IC8vIG5vIHdyYXBwaW5nIG5lY2Vzc2FyeSBmb3IgcmVzb3VyY2VzXG4gIH1cbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmV4cG9ydCBjbGFzcyBEeW5hbWljTGlzdFRlcnJhZm9ybUl0ZXJhdG9yIGV4dGVuZHMgTWFwVGVycmFmb3JtSXRlcmF0b3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3Q6IExpc3RUeXBlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWFwS2V5QXR0cmlidXRlTmFtZTogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihsaXN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWwgdXNlZCBieSBUZXJyYWZvcm1SZXNvdXJjZSB0byBzZXQgdGhlIGZvcl9lYWNoIGV4cHJlc3Npb24uXG4gICAqIEFsd2F5cyByZXR1cm5zIHRoZSBtYXAtd3JhcHBlZCBmb3JtIHNvIGVhY2gua2V5IGlzIHRoZSBtYXBLZXlBdHRyaWJ1dGVOYW1lXG4gICAqIGFuZCBlbnRyaWVzIGFyZSB1bmlxdWVseSBrZXllZC5cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRWFjaEV4cHJlc3Npb24oKTogYW55IHtcbiAgICAvLyBUdXJuIGxpc3QgaW50byBhIG1hcDogeyBmb3Igayx2IGluIDxpbnB1dD4gOiA8a2V5RXhwcmVzc2lvbj4gPT4gPHZhbHVlRXhwcmVzc2lvbj4gfVxuICAgIHJldHVybiBmb3JFeHByZXNzaW9uKFxuICAgICAgdGhpcy5saXN0LFxuICAgICAgRk9SX0VYUFJFU1NJT05fVkFMVUUsXG4gICAgICBGbi5sb29rdXBOZXN0ZWQoRk9SX0VYUFJFU1NJT05fVkFMVUUsIFt0aGlzLm1hcEtleUF0dHJpYnV0ZU5hbWVdKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBpbnNpZGUgYSBmb3ItZXhwcmVzc2lvbiBib2R5IHdlIHdhbGsgdGhlIHJhdyBsaXN0IHNvXG4gICAqIGBbIGZvciBrZXksIHZhbCBpbiA8bGlzdD4gOiAuLi4gXWAgaXRlcmF0ZXMgbGlzdCBlbGVtZW50cyBvbmNlLFxuICAgKiByYXRoZXIgdGhhbiB0aGUgZG91Ymx5LXdyYXBwZWQgZm9ybSB0aGUgZm9yX2VhY2ggY29udmVyc2lvbiBwcm9kdWNlcy5cbiAgICovXG4gIHB1YmxpYyBfZ2V0Rm9yRXhwcmVzc2lvbklucHV0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdDtcbiAgfVxufVxuIl19