@microsoft/terraform-cdk-constructs 1.8.0 → 1.10.0

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 (201) hide show
  1. package/.jsii +60376 -32133
  2. package/API.md +72290 -37038
  3. package/lib/azure-actiongroup/lib/action-group.js +1 -1
  4. package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
  5. package/lib/azure-aks/lib/aks-cluster.js +1 -1
  6. package/lib/azure-applicationinsights/index.d.ts +7 -0
  7. package/lib/azure-applicationinsights/index.js +24 -0
  8. package/lib/azure-applicationinsights/lib/application-insights-schemas.d.ts +29 -0
  9. package/lib/azure-applicationinsights/lib/application-insights-schemas.js +162 -0
  10. package/lib/azure-applicationinsights/lib/application-insights.d.ts +206 -0
  11. package/lib/azure-applicationinsights/lib/application-insights.js +209 -0
  12. package/lib/azure-applicationinsights/lib/index.d.ts +5 -0
  13. package/lib/azure-applicationinsights/lib/index.js +22 -0
  14. package/lib/azure-applicationinsights/test/application-insights.integ.d.ts +9 -0
  15. package/lib/azure-applicationinsights/test/application-insights.integ.js +84 -0
  16. package/lib/azure-applicationinsights/test/application-insights.spec.d.ts +8 -0
  17. package/lib/azure-applicationinsights/test/application-insights.spec.js +209 -0
  18. package/lib/azure-containerapps/index.d.ts +1 -0
  19. package/lib/azure-containerapps/index.js +18 -0
  20. package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +50 -0
  21. package/lib/azure-containerapps/lib/container-app-environment-schemas.js +522 -0
  22. package/lib/azure-containerapps/lib/container-app-environment.d.ts +374 -0
  23. package/lib/azure-containerapps/lib/container-app-environment.js +310 -0
  24. package/lib/azure-containerapps/lib/container-app-schemas.d.ts +48 -0
  25. package/lib/azure-containerapps/lib/container-app-schemas.js +466 -0
  26. package/lib/azure-containerapps/lib/container-app.d.ts +925 -0
  27. package/lib/azure-containerapps/lib/container-app.js +320 -0
  28. package/lib/azure-containerapps/lib/index.d.ts +4 -0
  29. package/lib/azure-containerapps/lib/index.js +21 -0
  30. package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +10 -0
  31. package/lib/azure-containerapps/test/container-app-environment.integ.js +82 -0
  32. package/lib/azure-containerapps/test/container-app-environment.spec.d.ts +9 -0
  33. package/lib/azure-containerapps/test/container-app-environment.spec.js +412 -0
  34. package/lib/azure-containerapps/test/container-app.integ.d.ts +10 -0
  35. package/lib/azure-containerapps/test/container-app.integ.js +119 -0
  36. package/lib/azure-containerapps/test/container-app.spec.d.ts +9 -0
  37. package/lib/azure-containerapps/test/container-app.spec.js +839 -0
  38. package/lib/azure-containerregistry/index.d.ts +1 -0
  39. package/lib/azure-containerregistry/index.js +18 -0
  40. package/lib/azure-containerregistry/lib/container-registry-schemas.d.ts +32 -0
  41. package/lib/azure-containerregistry/lib/container-registry-schemas.js +316 -0
  42. package/lib/azure-containerregistry/lib/container-registry.d.ts +330 -0
  43. package/lib/azure-containerregistry/lib/container-registry.js +217 -0
  44. package/lib/azure-containerregistry/lib/index.d.ts +2 -0
  45. package/lib/azure-containerregistry/lib/index.js +19 -0
  46. package/lib/azure-containerregistry/test/container-registry.integ.d.ts +9 -0
  47. package/lib/azure-containerregistry/test/container-registry.integ.js +101 -0
  48. package/lib/azure-containerregistry/test/container-registry.spec.d.ts +4 -0
  49. package/lib/azure-containerregistry/test/container-registry.spec.js +425 -0
  50. package/lib/azure-cosmosdb/index.d.ts +1 -0
  51. package/lib/azure-cosmosdb/index.js +18 -0
  52. package/lib/azure-cosmosdb/lib/cosmos-db-schemas.d.ts +40 -0
  53. package/lib/azure-cosmosdb/lib/cosmos-db-schemas.js +330 -0
  54. package/lib/azure-cosmosdb/lib/cosmos-db.d.ts +290 -0
  55. package/lib/azure-cosmosdb/lib/cosmos-db.js +222 -0
  56. package/lib/azure-cosmosdb/lib/index.d.ts +2 -0
  57. package/lib/azure-cosmosdb/lib/index.js +19 -0
  58. package/lib/azure-cosmosdb/test/cosmos-db.integ.d.ts +9 -0
  59. package/lib/azure-cosmosdb/test/cosmos-db.integ.js +98 -0
  60. package/lib/azure-cosmosdb/test/cosmos-db.spec.d.ts +4 -0
  61. package/lib/azure-cosmosdb/test/cosmos-db.spec.js +339 -0
  62. package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
  63. package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
  64. package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
  65. package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
  66. package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
  67. package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
  68. package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
  69. package/lib/azure-dnszone/lib/dns-zone.js +1 -1
  70. package/lib/azure-dnszone/lib/records/dns-records.js +10 -10
  71. package/lib/azure-functionapp/index.d.ts +1 -0
  72. package/lib/azure-functionapp/index.js +18 -0
  73. package/lib/azure-functionapp/lib/function-app-schemas.d.ts +32 -0
  74. package/lib/azure-functionapp/lib/function-app-schemas.js +303 -0
  75. package/lib/azure-functionapp/lib/function-app.d.ts +367 -0
  76. package/lib/azure-functionapp/lib/function-app.js +223 -0
  77. package/lib/azure-functionapp/lib/index.d.ts +2 -0
  78. package/lib/azure-functionapp/lib/index.js +19 -0
  79. package/lib/azure-functionapp/test/function-app.integ.d.ts +12 -0
  80. package/lib/azure-functionapp/test/function-app.integ.js +134 -0
  81. package/lib/azure-functionapp/test/function-app.spec.d.ts +4 -0
  82. package/lib/azure-functionapp/test/function-app.spec.js +566 -0
  83. package/lib/azure-keyvault/index.d.ts +1 -0
  84. package/lib/azure-keyvault/index.js +18 -0
  85. package/lib/azure-keyvault/lib/index.d.ts +2 -0
  86. package/lib/azure-keyvault/lib/index.js +19 -0
  87. package/lib/azure-keyvault/lib/key-vault-schemas.d.ts +40 -0
  88. package/lib/azure-keyvault/lib/key-vault-schemas.js +312 -0
  89. package/lib/azure-keyvault/lib/key-vault.d.ts +344 -0
  90. package/lib/azure-keyvault/lib/key-vault.js +243 -0
  91. package/lib/azure-keyvault/test/key-vault.integ.d.ts +9 -0
  92. package/lib/azure-keyvault/test/key-vault.integ.js +108 -0
  93. package/lib/azure-keyvault/test/key-vault.spec.d.ts +4 -0
  94. package/lib/azure-keyvault/test/key-vault.spec.js +264 -0
  95. package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
  96. package/lib/azure-loganalyticsworkspace/index.js +23 -0
  97. package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
  98. package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
  99. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
  100. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
  101. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
  102. package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
  103. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
  104. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
  105. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
  106. package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
  107. package/lib/azure-metricalert/lib/metric-alert.js +1 -1
  108. package/lib/azure-networkinterface/lib/network-interface.js +1 -1
  109. package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
  110. package/lib/azure-networkwatcher/index.d.ts +14 -0
  111. package/lib/azure-networkwatcher/index.js +31 -0
  112. package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
  113. package/lib/azure-networkwatcher/lib/index.js +22 -0
  114. package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
  115. package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
  116. package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
  117. package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
  118. package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
  119. package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
  120. package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
  121. package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
  122. package/lib/azure-policyassignment/lib/policy-assignment.js +1 -1
  123. package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
  124. package/lib/azure-policysetdefinition/index.d.ts +10 -0
  125. package/lib/azure-policysetdefinition/index.js +27 -0
  126. package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
  127. package/lib/azure-policysetdefinition/lib/index.js +22 -0
  128. package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
  129. package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
  130. package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
  131. package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
  132. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
  133. package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
  134. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
  135. package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
  136. package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
  137. package/lib/azure-privatednszone/lib/records/private-dns-records.js +8 -8
  138. package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
  139. package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
  140. package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
  141. package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
  142. package/lib/azure-roledefinition/lib/role-definition.js +1 -1
  143. package/lib/azure-sreagent/index.d.ts +1 -0
  144. package/lib/azure-sreagent/index.js +18 -0
  145. package/lib/azure-sreagent/lib/index.d.ts +2 -0
  146. package/lib/azure-sreagent/lib/index.js +19 -0
  147. package/lib/azure-sreagent/lib/sre-agent-schemas.d.ts +29 -0
  148. package/lib/azure-sreagent/lib/sre-agent-schemas.js +296 -0
  149. package/lib/azure-sreagent/lib/sre-agent.d.ts +208 -0
  150. package/lib/azure-sreagent/lib/sre-agent.js +217 -0
  151. package/lib/azure-sreagent/test/sre-agent.integ.d.ts +9 -0
  152. package/lib/azure-sreagent/test/sre-agent.integ.js +78 -0
  153. package/lib/azure-sreagent/test/sre-agent.spec.d.ts +4 -0
  154. package/lib/azure-sreagent/test/sre-agent.spec.js +216 -0
  155. package/lib/azure-staticwebapp/index.d.ts +1 -0
  156. package/lib/azure-staticwebapp/index.js +18 -0
  157. package/lib/azure-staticwebapp/lib/index.d.ts +2 -0
  158. package/lib/azure-staticwebapp/lib/index.js +19 -0
  159. package/lib/azure-staticwebapp/lib/static-web-app-schemas.d.ts +40 -0
  160. package/lib/azure-staticwebapp/lib/static-web-app-schemas.js +236 -0
  161. package/lib/azure-staticwebapp/lib/static-web-app.d.ts +242 -0
  162. package/lib/azure-staticwebapp/lib/static-web-app.js +232 -0
  163. package/lib/azure-staticwebapp/test/static-web-app.integ.d.ts +9 -0
  164. package/lib/azure-staticwebapp/test/static-web-app.integ.js +76 -0
  165. package/lib/azure-staticwebapp/test/static-web-app.spec.d.ts +15 -0
  166. package/lib/azure-staticwebapp/test/static-web-app.spec.js +293 -0
  167. package/lib/azure-storageaccount/lib/storage-account.js +1 -1
  168. package/lib/azure-subnet/lib/subnet.js +1 -1
  169. package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
  170. package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
  171. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
  172. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +4 -2
  173. package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +8 -5
  174. package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +109 -1
  175. package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
  176. package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
  177. package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
  178. package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
  179. package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
  180. package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
  181. package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
  182. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
  183. package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
  184. package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
  185. package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
  186. package/lib/core-azure/lib/azapi/azapi-resource.js +2 -2
  187. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
  188. package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
  189. package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +1 -1
  190. package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
  191. package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
  192. package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
  193. package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +1 -1
  194. package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
  195. package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
  196. package/lib/index.d.ts +25 -0
  197. package/lib/index.js +27 -2
  198. package/lib/testing/index.js +2 -2
  199. package/lib/testing/lib/cleanup.js +1 -1
  200. package/lib/testing/lib/metadata.js +1 -1
  201. package/package.json +1 -1
@@ -505,5 +505,5 @@ class ApiVersionManager {
505
505
  }
506
506
  exports.ApiVersionManager = ApiVersionManager;
507
507
  _a = JSII_RTTI_SYMBOL_1;
508
- ApiVersionManager[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ApiVersionManager", version: "1.8.0" };
508
+ ApiVersionManager[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ApiVersionManager", version: "1.10.0" };
509
509
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXZlcnNpb24tbWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvYXBpLXZlcnNpb24tbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFFSCx3RUFTeUM7QUFXekM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQWEsaUJBQWlCO0lBQzVCOzs7Ozs7Ozs7OztPQVdHO0lBQ0ksTUFBTSxDQUFDLFFBQVE7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLGlCQUFpQixDQUFDLFNBQVMsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUMsU0FBUyxDQUFDO0lBQ3JDLENBQUM7SUFPRDs7O09BR0c7SUFDSDtRQUNFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXVCRztJQUNJLG9CQUFvQixDQUN6QixZQUFvQixFQUNwQixRQUF5QjtRQUV6QixJQUFJLENBQUMsMEJBQTBCLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRXhELE1BQU0sVUFBVSxHQUF5QyxFQUFFLENBQUM7UUFDNUQsSUFBSSxhQUFpQyxDQUFDO1FBQ3RDLElBQUksaUJBQWlCLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7UUFFeEQsb0NBQW9DO1FBQ3BDLEtBQUssTUFBTSxhQUFhLElBQUksUUFBUSxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUV6RCwrQkFBK0I7WUFDL0IsSUFBSSxhQUFhLENBQUMsT0FBTyxJQUFJ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Q0E4bUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBcGlWZXJzaW9uTWFuYWdlciAtIEEgSlNJSS1jb21wbGlhbnQgc2luZ2xldG9uIGZvciBtYW5hZ2luZyBBenVyZSBBUEkgdmVyc2lvbnNcbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGNlbnRyYWxpemVkIHZlcnNpb24gbWFuYWdlbWVudCBmb3IgQXp1cmUgcmVzb3VyY2VzLCBpbmNsdWRpbmc6XG4gKiAtIFZlcnNpb24gcmVnaXN0cnkgYW5kIG1ldGFkYXRhIHN0b3JhZ2VcbiAqIC0gVmVyc2lvbiByZXNvbHV0aW9uIGFuZCBjb21wYXRpYmlsaXR5IGFuYWx5c2lzXG4gKiAtIE1pZ3JhdGlvbiBhbmFseXNpcyBiZXR3ZWVuIHZlcnNpb25zXG4gKiAtIFRocmVhZC1zYWZlIHNpbmdsZXRvbiBvcGVyYXRpb25zXG4gKlxuICogVGhlIHNpbmdsZXRvbiBwYXR0ZXJuIGlzIGltcGxlbWVudGVkIGluIGEgSlNJSS1jb21wbGlhbnQgd2F5IHVzaW5nIGluc3RhbmNlIG1ldGhvZHNcbiAqIHJhdGhlciB0aGFuIHN0YXRpYyBjbGFzc2VzIHRvIGVuc3VyZSBtdWx0aS1sYW5ndWFnZSBjb21wYXRpYmlsaXR5LlxuICpcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICovXG5cbmltcG9ydCB7XG4gIFZlcnNpb25Db25maWcsXG4gIE1pZ3JhdGlvbkFuYWx5c2lzLFxuICBCcmVha2luZ0NoYW5nZSxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbiAgTWlncmF0aW9uRWZmb3J0LFxuICBWZXJzaW9uTGlmZWN5Y2xlLFxuICBWZXJzaW9uQ29uc3RyYWludHMsXG4gIEJyZWFraW5nQ2hhbmdlVHlwZSxcbn0gZnJvbSBcIi4vaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBSZWdpc3RyeSBlbnRyeSBmb3IgYSByZXNvdXJjZSB0eXBlIGNvbnRhaW5pbmcgYWxsIHZlcnNpb24gY29uZmlndXJhdGlvbnNcbiAqL1xuaW50ZXJmYWNlIFJlc291cmNlVHlwZVJlZ2lzdHJ5IHtcbiAgcmVhZG9ubHkgcmVzb3VyY2VUeXBlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHZlcnNpb25zOiB7IFt2ZXJzaW9uOiBzdHJpbmddOiBWZXJzaW9uQ29uZmlnIH07XG4gIHJlYWRvbmx5IGxhdGVzdFZlcnNpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXBpVmVyc2lvbk1hbmFnZXIgc2luZ2xldG9uIGNsYXNzIGZvciBjZW50cmFsaXplZCB2ZXJzaW9uIG1hbmFnZW1lbnRcbiAqXG4gKiBUaGlzIGNsYXNzIG1hbmFnZXMgQVBJIHZlcnNpb25zIGZvciBBenVyZSByZXNvdXJjZXMsIHByb3ZpZGluZyB2ZXJzaW9uIHJlc29sdXRpb24sXG4gKiBjb21wYXRpYmlsaXR5IGFuYWx5c2lzLCBhbmQgbWlncmF0aW9uIGd1aWRhbmNlLiBJdCBpbXBsZW1lbnRzIGEgSlNJSS1jb21wbGlhbnRcbiAqIHNpbmdsZXRvbiBwYXR0ZXJuIGZvciB0aHJlYWQtc2FmZSBvcGVyYXRpb25zIGFjcm9zcyBtdWx0aXBsZSBsYW5ndWFnZSBiaW5kaW5ncy5cbiAqXG4gKiBLZXkgRmVhdHVyZXM6XG4gKiAtIFRocmVhZC1zYWZlIHNpbmdsZXRvbiBpbXBsZW1lbnRhdGlvblxuICogLSBWZXJzaW9uIHJlZ2lzdHJ5IG1hbmFnZW1lbnQgd2l0aCBmdWxsIGxpZmVjeWNsZSBzdXBwb3J0XG4gKiAtIEFkdmFuY2VkIHZlcnNpb24gcmVzb2x1dGlvbiB3aXRoIGNvbnN0cmFpbnQtYmFzZWQgc2VsZWN0aW9uXG4gKiAtIENvbXByZWhlbnNpdmUgbWlncmF0aW9uIGFuYWx5c2lzIHdpdGggZWZmb3J0IGVzdGltYXRpb25cbiAqIC0gRXh0ZW5zaXZlIHZhbGlkYXRpb24gYW5kIGVycm9yIGhhbmRsaW5nXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IG1hbmFnZXIgPSBBcGlWZXJzaW9uTWFuYWdlci5nZXRJbnN0YW5jZSgpO1xuICogbWFuYWdlci5yZWdpc3RlclJlc291cmNlVHlwZSgnTWljcm9zb2Z0LlJlc291cmNlcy9yZXNvdXJjZUdyb3VwcycsIHZlcnNpb25zKTtcbiAqIGNvbnN0IGxhdGVzdCA9IG1hbmFnZXIuZ2V0TGF0ZXN0VmVyc2lvbignTWljcm9zb2Z0LlJlc291cmNlcy9yZXNvdXJjZUdyb3VwcycpO1xuICogY29uc3QgYW5hbHlzaXMgPSBtYW5hZ2VyLmFuYWx5emVNaWdyYXRpb24oJ01pY3Jvc29mdC5SZXNvdXJjZXMvcmVzb3VyY2VHcm91cHMnLCAnMjAyNC0wMS0wMScsICcyMDI0LTExLTAxJyk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIEFwaVZlcnNpb25NYW5hZ2VyIHtcbiAgLyoqXG4gICAqIEdldHMgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiBBcGlWZXJzaW9uTWFuYWdlclxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBpbXBsZW1lbnRzIGEgdGhyZWFkLXNhZmUgc2luZ2xldG9uIHBhdHRlcm4gdGhhdCdzIGNvbXBhdGlibGVcbiAgICogd2l0aCBKU0lJIG11bHRpLWxhbmd1YWdlIGJpbmRpbmdzLiBUaGUgaW5zdGFuY2UgaXMgbGF6aWx5IGNyZWF0ZWQgb25cbiAgICogZmlyc3QgYWNjZXNzIGFuZCByZXVzZWQgZm9yIGFsbCBzdWJzZXF1ZW50IGNhbGxzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgc2luZ2xldG9uIEFwaVZlcnNpb25NYW5hZ2VyIGluc3RhbmNlXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IG1hbmFnZXIgPSBBcGlWZXJzaW9uTWFuYWdlci5pbnN0YW5jZSgpO1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnN0YW5jZSgpOiBBcGlWZXJzaW9uTWFuYWdlciB7XG4gICAgaWYgKCFBcGlWZXJzaW9uTWFuYWdlci5faW5zdGFuY2UpIHtcbiAgICAgIEFwaVZlcnNpb25NYW5hZ2VyLl9pbnN0YW5jZSA9IG5ldyBBcGlWZXJzaW9uTWFuYWdlcigpO1xuICAgIH1cbiAgICByZXR1cm4gQXBpVmVyc2lvbk1hbmFnZXIuX2luc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBBcGlWZXJzaW9uTWFuYWdlciB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzb3VyY2VSZWdpc3RyeToge1xuICAgIFtyZXNvdXJjZVR5cGU6IHN0cmluZ106IFJlc291cmNlVHlwZVJlZ2lzdHJ5O1xuICB9O1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIGNvbnN0cnVjdG9yIHRvIGVuZm9yY2Ugc2luZ2xldG9uIHBhdHRlcm5cbiAgICogSW5pdGlhbGl6ZXMgdGhlIGludGVybmFsIHJlZ2lzdHJpZXMgYW5kIGRhdGEgc3RydWN0dXJlc1xuICAgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9yZXNvdXJjZVJlZ2lzdHJ5ID0ge307XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgcmVzb3VyY2UgdHlwZSB3aXRoIGl0cyB2ZXJzaW9uIGNvbmZpZ3VyYXRpb25zXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIHN0b3JlcyB2ZXJzaW9uIG1ldGFkYXRhIGZvciBhIHNwZWNpZmljIEF6dXJlIHJlc291cmNlIHR5cGUsXG4gICAqIGluY2x1ZGluZyBzY2hlbWFzLCBsaWZlY3ljbGUgaW5mb3JtYXRpb24sIGFuZCBtaWdyYXRpb24gZGF0YS4gSXQgdmFsaWRhdGVzXG4gICAqIHRoZSBpbnB1dCBhbmQgbWFpbnRhaW5zIGludGVybmFsIGluZGV4ZXMgZm9yIGVmZmljaWVudCBsb29rdXBzLlxuICAgKlxuICAgKiBAcGFyYW0gcmVzb3VyY2VUeXBlIC0gVGhlIEF6dXJlIHJlc291cmNlIHR5cGUgKGUuZy4sICdNaWNyb3NvZnQuUmVzb3VyY2VzL3Jlc291cmNlR3JvdXBzJylcbiAgICogQHBhcmFtIHZlcnNpb25zIC0gQXJyYXkgb2YgdmVyc2lvbiBjb25maWd1cmF0aW9ucyBmb3IgdGhlIHJlc291cmNlIHR5cGVcbiAgICpcbiAgICogQHRocm93cyBFcnJvciBpZiByZXNvdXJjZVR5cGUgaXMgZW1wdHkgb3IgdmVyc2lvbnMgYXJyYXkgaXMgZW1wdHlcbiAgICogQHRocm93cyBFcnJvciBpZiBkdXBsaWNhdGUgdmVyc2lvbnMgYXJlIGZvdW5kIGluIHRoZSB2ZXJzaW9ucyBhcnJheVxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHZlcnNpb24gY29uZmlndXJhdGlvbnMgYXJlIGludmFsaWRcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogbWFuYWdlci5yZWdpc3RlclJlc291cmNlVHlwZSgnTWljcm9zb2Z0LlJlc291cmNlcy9yZXNvdXJjZUdyb3VwcycsIFtcbiAgICogICB7XG4gICAqICAgICB2ZXJzaW9uOiAnMjAyNC0wMS0wMScsXG4gICAqICAgICBzY2hlbWE6IHsgcmVzb3VyY2VUeXBlOiAnTWljcm9zb2Z0LlJlc291cmNlcy9yZXNvdXJjZUdyb3VwcycsIHZlcnNpb246ICcyMDI0LTAxLTAxJywgcHJvcGVydGllczoge30sIHJlcXVpcmVkOiBbXSB9LFxuICAgKiAgICAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgICogICAgIHJlbGVhc2VEYXRlOiAnMjAyNC0wMS0wMSdcbiAgICogICB9XG4gICAqIF0pO1xuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyUmVzb3VyY2VUeXBlKFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgIHZlcnNpb25zOiBWZXJzaW9uQ29uZmlnW10sXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX3ZhbGlkYXRlUmVzb3VyY2VUeXBlSW5wdXQocmVzb3VyY2VUeXBlLCB2ZXJzaW9ucyk7XG5cbiAgICBjb25zdCB2ZXJzaW9uTWFwOiB7IFt2ZXJzaW9uOiBzdHJpbmddOiBWZXJzaW9uQ29uZmlnIH0gPSB7fTtcbiAgICBsZXQgbGF0ZXN0VmVyc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGxldCBsYXRlc3RSZWxlYXNlRGF0ZSA9IG5ldyBEYXRlKDApOyAvLyBTdGFydCB3aXRoIGVwb2NoXG5cbiAgICAvLyBQcm9jZXNzIGFuZCB2YWxpZGF0ZSBlYWNoIHZlcnNpb25cbiAgICBmb3IgKGNvbnN0IHZlcnNpb25Db25maWcgb2YgdmVyc2lvbnMpIHtcbiAgICAgIHRoaXMuX3ZhbGlkYXRlVmVyc2lvbkNvbmZpZyh2ZXJzaW9uQ29uZmlnLCByZXNvdXJjZVR5cGUpO1xuXG4gICAgICAvLyBDaGVjayBmb3IgZHVwbGljYXRlIHZlcnNpb25zXG4gICAgICBpZiAodmVyc2lvbkNvbmZpZy52ZXJzaW9uIGluIHZlcnNpb25NYXApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBEdXBsaWNhdGUgdmVyc2lvbiAnJHt2ZXJzaW9uQ29uZmlnLnZlcnNpb259JyBmb3VuZCBmb3IgcmVzb3VyY2UgdHlwZSAnJHtyZXNvdXJjZVR5cGV9J2AsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHZlcnNpb25NYXBbdmVyc2lvbkNvbmZpZy52ZXJzaW9uXSA9IHZlcnNpb25Db25maWc7XG5cbiAgICAgIC8vIFRyYWNrIHRoZSBsYXRlc3QgdmVyc2lvbiBiYXNlZCBvbiByZWxlYXNlIGRhdGUgYW5kIHN1cHBvcnQgbGV2ZWxcbiAgICAgIGNvbnN0IHJlbGVhc2VEYXRlID0gbmV3IERhdGUodmVyc2lvbkNvbmZpZy5yZWxlYXNlRGF0ZSk7XG4gICAgICBpZiAoXG4gICAgICAgIHJlbGVhc2VEYXRlID49IGxhdGVzdFJlbGVhc2VEYXRlICYmXG4gICAgICAgIHZlcnNpb25Db25maWcuc3VwcG9ydExldmVsID09PSBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRVxuICAgICAgKSB7XG4gICAgICAgIGxhdGVzdFZlcnNpb24gPSB2ZXJzaW9uQ29uZmlnLnZlcnNpb247XG4gICAgICAgIGxhdGVzdFJlbGVhc2VEYXRlID0gcmVsZWFzZURhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3RvcmUgdGhlIHJlZ2lzdHJ5IGVudHJ5XG4gICAgY29uc3QgcmVnaXN0cnlFbnRyeTogUmVzb3VyY2VUeXBlUmVnaXN0cnkgPSB7XG4gICAgICByZXNvdXJjZVR5cGUsXG4gICAgICB2ZXJzaW9uczogdmVyc2lvbk1hcCxcbiAgICAgIGxhdGVzdFZlcnNpb24sXG4gICAgfTtcblxuICAgIHRoaXMuX3Jlc291cmNlUmVnaXN0cnlbcmVzb3VyY2VUeXBlXSA9IHJlZ2lzdHJ5RW50cnk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgbGF0ZXN0IGFjdGl2ZSB2ZXJzaW9uIGZvciBhIHJlc291cmNlIHR5cGVcbiAgICpcbiAgICogUmV0dXJucyB0aGUgbW9zdCByZWNlbnQgdmVyc2lvbiB3aXRoIEFDVElWRSBzdXBwb3J0IGxldmVsLiBJZiBubyBhY3RpdmVcbiAgICogdmVyc2lvbnMgYXJlIGZvdW5kLCByZXR1cm5zIHRoZSBtb3N0IHJlY2VudCB2ZXJzaW9uIHJlZ2FyZGxlc3Mgb2Ygc3VwcG9ydCBsZXZlbC5cbiAgICpcbiAgICogQHBhcmFtIHJlc291cmNlVHlwZSAtIFRoZSBBenVyZSByZXNvdXJjZSB0eXBlIHRvIGdldCB0aGUgbGF0ZXN0IHZlcnNpb24gZm9yXG4gICAqIEByZXR1cm5zIFRoZSBsYXRlc3QgdmVyc2lvbiBzdHJpbmcsIG9yIHVuZGVmaW5lZCBpZiB0aGUgcmVzb3VyY2UgdHlwZSBpcyBub3QgcmVnaXN0ZXJlZFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCBsYXRlc3QgPSBtYW5hZ2VyLmxhdGVzdFZlcnNpb24oJ01pY3Jvc29mdC5SZXNvdXJjZXMvcmVzb3VyY2VHcm91cHMnKTtcbiAgICogLy8gUmV0dXJuczogXCIyMDI0LTExLTAxXCJcbiAgICovXG4gIHB1YmxpYyBsYXRlc3RWZXJzaW9uKHJlc291cmNlVHlwZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCByZWdpc3RyeSA9IHRoaXMuX3Jlc291cmNlUmVnaXN0cnlbcmVzb3VyY2VUeXBlXTtcbiAgICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiByZWdpc3RyeS5sYXRlc3RWZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIGEgc3BlY2lmaWMgdmVyc2lvbiBvZiBhIHJlc291cmNlIHR5cGVcbiAgICpcbiAgICogUmV0cmlldmVzIHRoZSBjb21wbGV0ZSB2ZXJzaW9uIGNvbmZpZ3VyYXRpb24gaW5jbHVkaW5nIHNjaGVtYSwgbGlmZWN5Y2xlXG4gICAqIGluZm9ybWF0aW9uLCBicmVha2luZyBjaGFuZ2VzLCBhbmQgbWlncmF0aW9uIG1ldGFkYXRhLlxuICAgKlxuICAgKiBAcGFyYW0gcmVzb3VyY2VUeXBlIC0gVGhlIEF6dXJlIHJlc291cmNlIHR5cGVcbiAgICogQHBhcmFtIHZlcnNpb24gLSBUaGUgc3BlY2lmaWMgdmVyc2lvbiB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyBUaGUgdmVyc2lvbiBjb25maWd1cmF0aW9uLCBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IGNvbmZpZyA9IG1hbmFnZXIudmVyc2lvbkNvbmZpZygnTWljcm9zb2Z0LlJlc291cmNlcy9yZXNvdXJjZUdyb3VwcycsICcyMDI0LTAxLTAxJyk7XG4gICAqIGlmIChjb25maWcpIHtcbiAgICogICBjb25zb2xlLmxvZyhgU3VwcG9ydCBsZXZlbDogJHtjb25maWcuc3VwcG9ydExldmVsfWApO1xuICAgKiAgIGNvbnNvbGUubG9nKGBSZWxlYXNlIGRhdGU6ICR7Y29uZmlnLnJlbGVhc2VEYXRlfWApO1xuICAgKiB9XG4gICAqL1xuICBwdWJsaWMgdmVyc2lvbkNvbmZpZyhcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICk6IFZlcnNpb25Db25maWcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHJlZ2lzdHJ5ID0gdGhpcy5fcmVzb3VyY2VSZWdpc3RyeVtyZXNvdXJjZVR5cGVdO1xuICAgIGlmICghcmVnaXN0cnkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlZ2lzdHJ5LnZlcnNpb25zW3ZlcnNpb25dO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIHN1cHBvcnRlZCB2ZXJzaW9ucyBmb3IgYSByZXNvdXJjZSB0eXBlXG4gICAqXG4gICAqIFJldHVybnMgYW4gYXJyYXkgb2YgYWxsIHJlZ2lzdGVyZWQgdmVyc2lvbiBzdHJpbmdzIGZvciB0aGUgc3BlY2lmaWVkXG4gICAqIHJlc291cmNlIHR5cGUsIHNvcnRlZCBieSByZWxlYXNlIGRhdGUgKG5ld2VzdCBmaXJzdCkuXG4gICAqXG4gICAqIEBwYXJhbSByZXNvdXJjZVR5cGUgLSBUaGUgQXp1cmUgcmVzb3VyY2UgdHlwZVxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBzdXBwb3J0ZWQgdmVyc2lvbiBzdHJpbmdzLCBlbXB0eSBpZiByZXNvdXJjZSB0eXBlIG5vdCByZWdpc3RlcmVkXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IHZlcnNpb25zID0gbWFuYWdlci5zdXBwb3J0ZWRWZXJzaW9ucygnTWljcm9zb2Z0LlJlc291cmNlcy9yZXNvdXJjZUdyb3VwcycpO1xuICAgKiAvLyBSZXR1cm5zOiBbXCIyMDI0LTExLTAxXCIsIFwiMjAyNC0wMS0wMVwiLCBcIjIwMjMtMDctMDFcIl1cbiAgICovXG4gIHB1YmxpYyBzdXBwb3J0ZWRWZXJzaW9ucyhyZXNvdXJjZVR5cGU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCByZWdpc3RyeSA9IHRoaXMuX3Jlc291cmNlUmVnaXN0cnlbcmVzb3VyY2VUeXBlXTtcbiAgICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLy8gU29ydCB2ZXJzaW9ucyBieSByZWxlYXNlIGRhdGUgKG5ld2VzdCBmaXJzdClcbiAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhyZWdpc3RyeS52ZXJzaW9ucylcbiAgICAgIC5zb3J0KFxuICAgICAgICAoYSwgYikgPT5cbiAgICAgICAgICBuZXcgRGF0ZShiLnJlbGVhc2VEYXRlKS5nZXRUaW1lKCkgLSBuZXcgRGF0ZShhLnJlbGVhc2VEYXRlKS5nZXRUaW1lKCksXG4gICAgICApXG4gICAgICAubWFwKChjb25maWcpID0+IGNvbmZpZy52ZXJzaW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbmFseXplcyBtaWdyYXRpb24gcmVxdWlyZW1lbnRzIGJldHdlZW4gdHdvIHZlcnNpb25zXG4gICAqXG4gICAqIFBlcmZvcm1zIGNvbXByZWhlbnNpdmUgYW5hbHlzaXMgb2YgdGhlIG1pZ3JhdGlvbiBwYXRoIGJldHdlZW4gc291cmNlIGFuZFxuICAgKiB0YXJnZXQgdmVyc2lvbnMsIGluY2x1ZGluZyBjb21wYXRpYmlsaXR5IGFzc2Vzc21lbnQsIGJyZWFraW5nIGNoYW5nZXNcbiAgICogaWRlbnRpZmljYXRpb24sIGVmZm9ydCBlc3RpbWF0aW9uLCBhbmQgdXBncmFkZSBmZWFzaWJpbGl0eS5cbiAgICpcbiAgICogQHBhcmFtIHJlc291cmNlVHlwZSAtIFRoZSBBenVyZSByZXNvdXJjZSB0eXBlXG4gICAqIEBwYXJhbSBmcm9tVmVyc2lvbiAtIFRoZSBzb3VyY2UgdmVyc2lvbiB0byBtaWdyYXRlIGZyb21cbiAgICogQHBhcmFtIHRvVmVyc2lvbiAtIFRoZSB0YXJnZXQgdmVyc2lvbiB0byBtaWdyYXRlIHRvXG4gICAqIEByZXR1cm5zIERldGFpbGVkIG1pZ3JhdGlvbiBhbmFseXNpcyByZXN1bHRzXG4gICAqXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgZWl0aGVyIHZlcnNpb24gaXMgbm90IHJlZ2lzdGVyZWQgZm9yIHRoZSByZXNvdXJjZSB0eXBlXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgcmVzb3VyY2VUeXBlIGlzIG5vdCByZWdpc3RlcmVkXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IGFuYWx5c2lzID0gbWFuYWdlci5hbmFseXplTWlncmF0aW9uKFxuICAgKiAgICdNaWNyb3NvZnQuUmVzb3VyY2VzL3Jlc291cmNlR3JvdXBzJyxcbiAgICogICAnMjAyNC0wMS0wMScsXG4gICAqICAgJzIwMjQtMTEtMDEnXG4gICAqICk7XG4gICAqXG4gICAqIGNvbnNvbGUubG9nKGBDb21wYXRpYmxlOiAke2FuYWx5c2lzLmNvbXBhdGlibGV9YCk7XG4gICAqIGNvbnNvbGUubG9nKGBFZmZvcnQ6ICR7YW5hbHlzaXMuZXN0aW1hdGVkRWZmb3J0fWApO1xuICAgKiBjb25zb2xlLmxvZyhgQnJlYWtpbmcgY2hhbmdlczogJHthbmFseXNpcy5icmVha2luZ0NoYW5nZXMubGVuZ3RofWApO1xuICAgKi9cbiAgcHVibGljIGFuYWx5emVNaWdyYXRpb24oXG4gICAgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gICAgZnJvbVZlcnNpb246IHN0cmluZyxcbiAgICB0b1ZlcnNpb246IHN0cmluZyxcbiAgKTogTWlncmF0aW9uQW5hbHlzaXMge1xuICAgIC8vIFZhbGlkYXRlIGlucHV0cyBhbmQgZ2V0IGNvbmZpZ3VyYXRpb25zXG4gICAgY29uc3QgZnJvbUNvbmZpZyA9IHRoaXMudmVyc2lvbkNvbmZpZyhyZXNvdXJjZVR5cGUsIGZyb21WZXJzaW9uKTtcbiAgICBjb25zdCB0b0NvbmZpZyA9IHRoaXMudmVyc2lvbkNvbmZpZyhyZXNvdXJjZVR5cGUsIHRvVmVyc2lvbik7XG5cbiAgICBpZiAoIWZyb21Db25maWcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFNvdXJjZSB2ZXJzaW9uICcke2Zyb21WZXJzaW9ufScgbm90IGZvdW5kIGZvciByZXNvdXJjZSB0eXBlICcke3Jlc291cmNlVHlwZX0nYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0b0NvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGFyZ2V0IHZlcnNpb24gJyR7dG9WZXJzaW9ufScgbm90IGZvdW5kIGZvciByZXNvdXJjZSB0eXBlICcke3Jlc291cmNlVHlwZX0nYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQW5hbHl6ZSBjb21wYXRpYmlsaXR5IGFuZCBjaGFuZ2VzXG4gICAgY29uc3QgYWxsQnJlYWtpbmdDaGFuZ2VzID0gdGhpcy5fY29sbGVjdEJyZWFraW5nQ2hhbmdlcyhcbiAgICAgIHJlc291cmNlVHlwZSxcbiAgICAgIGZyb21WZXJzaW9uLFxuICAgICAgdG9WZXJzaW9uLFxuICAgICk7XG4gICAgY29uc3QgY29tcGF0aWJsZSA9IGFsbEJyZWFraW5nQ2hhbmdlcy5sZW5ndGggPT09IDA7XG4gICAgY29uc3Qgd2FybmluZ3MgPSB0aGlzLl9nZW5lcmF0ZU1pZ3JhdGlvbldhcm5pbmdzKGZyb21Db25maWcsIHRvQ29uZmlnKTtcbiAgICBjb25zdCBlc3RpbWF0ZWRFZmZvcnQgPSB0aGlzLl9jYWxjdWxhdGVNaWdyYXRpb25FZmZvcnQoYWxsQnJlYWtpbmdDaGFuZ2VzKTtcbiAgICBjb25zdCBhdXRvbWF0aWNVcGdyYWRlUG9zc2libGUgPSB0aGlzLl9jYW5BdXRvVXBncmFkZShhbGxCcmVha2luZ0NoYW5nZXMpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZyb21WZXJzaW9uLFxuICAgICAgdG9WZXJzaW9uLFxuICAgICAgY29tcGF0aWJsZSxcbiAgICAgIGJyZWFraW5nQ2hhbmdlczogYWxsQnJlYWtpbmdDaGFuZ2VzLFxuICAgICAgd2FybmluZ3MsXG4gICAgICBlc3RpbWF0ZWRFZmZvcnQsXG4gICAgICBhdXRvbWF0aWNVcGdyYWRlUG9zc2libGUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHZlcnNpb24gaXMgc3VwcG9ydGVkIGZvciBhIHJlc291cmNlIHR5cGVcbiAgICpcbiAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQgdmVyc2lvbiBpcyByZWdpc3RlcmVkIGFuZCBhdmFpbGFibGUgZm9yIHVzZVxuICAgKiB3aXRoIHRoZSBnaXZlbiByZXNvdXJjZSB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gcmVzb3VyY2VUeXBlIC0gVGhlIEF6dXJlIHJlc291cmNlIHR5cGVcbiAgICogQHBhcmFtIHZlcnNpb24gLSBUaGUgdmVyc2lvbiB0byB2YWxpZGF0ZVxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSB2ZXJzaW9uIGlzIHN1cHBvcnRlZCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGlmIChtYW5hZ2VyLnZhbGlkYXRlVmVyc2lvblN1cHBvcnQoJ01pY3Jvc29mdC5SZXNvdXJjZXMvcmVzb3VyY2VHcm91cHMnLCAnMjAyNC0wMS0wMScpKSB7XG4gICAqICAgLy8gVmVyc2lvbiBpcyBzdXBwb3J0ZWQsIHByb2NlZWQgd2l0aCByZXNvdXJjZSBjcmVhdGlvblxuICAgKiB9IGVsc2Uge1xuICAgKiAgIC8vIEhhbmRsZSB1bnN1cHBvcnRlZCB2ZXJzaW9uXG4gICAqIH1cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZVZlcnNpb25TdXBwb3J0KFxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcmVnaXN0cnkgPSB0aGlzLl9yZXNvdXJjZVJlZ2lzdHJ5W3Jlc291cmNlVHlwZV07XG4gICAgaWYgKCFyZWdpc3RyeSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiB2ZXJzaW9uIGluIHJlZ2lzdHJ5LnZlcnNpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYWxsIHJlZ2lzdGVyZWQgcmVzb3VyY2UgdHlwZXNcbiAgICpcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBhbGwgQXp1cmUgcmVzb3VyY2UgdHlwZXMgdGhhdCBoYXZlIGJlZW4gcmVnaXN0ZXJlZFxuICAgKiB3aXRoIHRoZSB2ZXJzaW9uIG1hbmFnZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIHJlZ2lzdGVyZWQgcmVzb3VyY2UgdHlwZSBzdHJpbmdzXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IHJlc291cmNlVHlwZXMgPSBtYW5hZ2VyLnJlZ2lzdGVyZWRSZXNvdXJjZVR5cGVzKCk7XG4gICAqIC8vIFJldHVybnM6IFtcIk1pY3Jvc29mdC5SZXNvdXJjZXMvcmVzb3VyY2VHcm91cHNcIiwgXCJNaWNyb3NvZnQuU3RvcmFnZS9zdG9yYWdlQWNjb3VudHNcIiwgLi4uXVxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyZWRSZXNvdXJjZVR5cGVzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5fcmVzb3VyY2VSZWdpc3RyeSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB2ZXJzaW9uIGxpZmVjeWNsZSBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyB2ZXJzaW9uXG4gICAqXG4gICAqIFByb3ZpZGVzIGxpZmVjeWNsZSBtZXRhZGF0YSBpbmNsdWRpbmcgY3VycmVudCBwaGFzZSwgdHJhbnNpdGlvbiBkYXRlcyxcbiAgICogYW5kIHByb2plY3RlZCBzdW5zZXQgdGltZWxpbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZXNvdXJjZVR5cGUgLSBUaGUgQXp1cmUgcmVzb3VyY2UgdHlwZVxuICAgKiBAcGFyYW0gdmVyc2lvbiAtIFRoZSB2ZXJzaW9uIHRvIGdldCBsaWZlY3ljbGUgaW5mb3JtYXRpb24gZm9yXG4gICAqIEByZXR1cm5zIFZlcnNpb24gbGlmZWN5Y2xlIGluZm9ybWF0aW9uLCBvciB1bmRlZmluZWQgaWYgbm90IGZvdW5kXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGNvbnN0IGxpZmVjeWNsZSA9IG1hbmFnZXIudmVyc2lvbkxpZmVjeWNsZSgnTWljcm9zb2Z0LlJlc291cmNlcy9yZXNvdXJjZUdyb3VwcycsICcyMDI0LTAxLTAxJyk7XG4gICAqIGlmIChsaWZlY3ljbGUpIHtcbiAgICogICBjb25zb2xlLmxvZyhgQ3VycmVudCBwaGFzZTogJHtsaWZlY3ljbGUucGhhc2V9YCk7XG4gICAqICAgY29uc29sZS5sb2coYFN1bnNldCBkYXRlOiAke2xpZmVjeWNsZS5lc3RpbWF0ZWRTdW5zZXREYXRlfWApO1xuICAgKiB9XG4gICAqL1xuICBwdWJsaWMgdmVyc2lvbkxpZmVjeWNsZShcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICk6IFZlcnNpb25MaWZlY3ljbGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMudmVyc2lvbkNvbmZpZyhyZXNvdXJjZVR5cGUsIHZlcnNpb24pO1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB2ZXJzaW9uOiBjb25maWcudmVyc2lvbixcbiAgICAgIHBoYXNlOiBjb25maWcuc3VwcG9ydExldmVsLFxuICAgICAgdHJhbnNpdGlvbkRhdGU6IGNvbmZpZy5yZWxlYXNlRGF0ZSxcbiAgICAgIG5leHRQaGFzZTogdGhpcy5fZGV0ZXJtaW5lTmV4dFBoYXNlKGNvbmZpZy5zdXBwb3J0TGV2ZWwpLFxuICAgICAgZXN0aW1hdGVkU3Vuc2V0RGF0ZTogY29uZmlnLnN1bnNldERhdGUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgYmVzdCB2ZXJzaW9uIG1hdGNoaW5nIHRoZSBnaXZlbiBjb25zdHJhaW50c1xuICAgKlxuICAgKiBTZWxlY3RzIHRoZSBvcHRpbWFsIHZlcnNpb24gZm9yIGEgcmVzb3VyY2UgdHlwZSBiYXNlZCBvbiBzcGVjaWZpZWRcbiAgICogY29uc3RyYWludHMgc3VjaCBhcyBzdXBwb3J0IGxldmVsLCBmZWF0dXJlIHJlcXVpcmVtZW50cywgYW5kIGFnZSBsaW1pdHMuXG4gICAqXG4gICAqIEBwYXJhbSByZXNvdXJjZVR5cGUgLSBUaGUgQXp1cmUgcmVzb3VyY2UgdHlwZVxuICAgKiBAcGFyYW0gY29uc3RyYWludHMgLSBWZXJzaW9uIHNlbGVjdGlvbiBjb25zdHJhaW50c1xuICAgKiBAcmV0dXJucyBUaGUgYmVzdCBtYXRjaGluZyB2ZXJzaW9uLCBvciB1bmRlZmluZWQgaWYgbm8gdmVyc2lvbiBtYXRjaGVzXG4gICAqIEBpbnRlcm5hbFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCB2ZXJzaW9uID0gbWFuYWdlci5fZmluZFZlcnNpb25CeUNvbnN0cmFpbnRzKCdNaWNyb3NvZnQuUmVzb3VyY2VzL3Jlc291cmNlR3JvdXBzJywge1xuICAgKiAgIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gICAqICAgZXhjbHVkZURlcHJlY2F0ZWQ6IHRydWUsXG4gICAqICAgbm90T2xkZXJUaGFuOiBuZXcgRGF0ZSgnMjAyNC0wMS0wMScpXG4gICAqIH0pO1xuICAgKi9cbiAgcHVibGljIF9maW5kVmVyc2lvbkJ5Q29uc3RyYWludHMoXG4gICAgcmVzb3VyY2VUeXBlOiBzdHJpbmcsXG4gICAgY29uc3RyYWludHM6IFZlcnNpb25Db25zdHJhaW50cyxcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCByZWdpc3RyeSA9IHRoaXMuX3Jlc291cmNlUmVnaXN0cnlbcmVzb3VyY2VUeXBlXTtcbiAgICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbmRpZGF0ZXMgPSBPYmplY3QudmFsdWVzKHJlZ2lzdHJ5LnZlcnNpb25zKS5maWx0ZXIoKGNvbmZpZykgPT4ge1xuICAgICAgLy8gQ2hlY2sgc3VwcG9ydCBsZXZlbCBjb25zdHJhaW50XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnN0cmFpbnRzLnN1cHBvcnRMZXZlbCAmJlxuICAgICAgICBjb25maWcuc3VwcG9ydExldmVsICE9PSBjb25zdHJhaW50cy5zdXBwb3J0TGV2ZWxcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGV4Y2x1ZGUgZGVwcmVjYXRlZCBjb25zdHJhaW50XG4gICAgICBpZiAoXG4gICAgICAgIGNvbnN0cmFpbnRzLmV4Y2x1ZGVEZXByZWNhdGVkICE9PSBmYWxzZSAmJlxuICAgICAgICBjb25maWcuc3VwcG9ydExldmVsID09PSBWZXJzaW9uU3VwcG9ydExldmVsLkRFUFJFQ0FURURcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIGFnZSBjb25zdHJhaW50XG4gICAgICBpZiAoY29uc3RyYWludHMubm90T2xkZXJUaGFuKSB7XG4gICAgICAgIGNvbnN0IHJlbGVhc2VEYXRlID0gbmV3IERhdGUoY29uZmlnLnJlbGVhc2VEYXRlKTtcbiAgICAgICAgaWYgKHJlbGVhc2VEYXRlIDwgY29uc3RyYWludHMubm90T2xkZXJUaGFuKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIENoZWNrIHJlcXVpcmVkIGZlYXR1cmVzIChzaW1wbGlmaWVkIGNoZWNrKVxuICAgICAgaWYgKFxuICAgICAgICBjb25zdHJhaW50cy5yZXF1aXJlZEZlYXR1cmVzICYmXG4gICAgICAgIGNvbnN0cmFpbnRzLnJlcXVpcmVkRmVhdHVyZXMubGVuZ3RoID4gMFxuICAgICAgKSB7XG4gICAgICAgIC8vIFRoaXMgd291bGQgbmVlZCB0byBiZSBpbXBsZW1lbnRlZCBiYXNlZCBvbiBmZWF0dXJlIG1ldGFkYXRhXG4gICAgICAgIC8vIEZvciBub3csIHdlIGFzc3VtZSBhbGwgdmVyc2lvbnMgc3VwcG9ydCBhbGwgZmVhdHVyZXNcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG5cbiAgICBpZiAoY2FuZGlkYXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gU29ydCBieSByZWxlYXNlIGRhdGUgYW5kIHJldHVybiB0aGUgbmV3ZXN0XG4gICAgY2FuZGlkYXRlcy5zb3J0KFxuICAgICAgKGEsIGIpID0+XG4gICAgICAgIG5ldyBEYXRlKGIucmVsZWFzZURhdGUpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGEucmVsZWFzZURhdGUpLmdldFRpbWUoKSxcbiAgICApO1xuICAgIHJldHVybiBjYW5kaWRhdGVzWzBdLnZlcnNpb247XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQUklWQVRFIEhFTFBFUiBNRVRIT0RTXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyByZXNvdXJjZSB0eXBlIGFuZCB2ZXJzaW9ucyBpbnB1dFxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVSZXNvdXJjZVR5cGVJbnB1dChcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICB2ZXJzaW9uczogVmVyc2lvbkNvbmZpZ1tdLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIXJlc291cmNlVHlwZSB8fCByZXNvdXJjZVR5cGUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVzb3VyY2UgdHlwZSBjYW5ub3QgYmUgZW1wdHlcIik7XG4gICAgfVxuXG4gICAgaWYgKCF2ZXJzaW9ucyB8fCB2ZXJzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlZlcnNpb25zIGFycmF5IGNhbm5vdCBiZSBlbXB0eVwiKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGEgc2luZ2xlIHZlcnNpb24gY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBfdmFsaWRhdGVWZXJzaW9uQ29uZmlnKFxuICAgIGNvbmZpZzogVmVyc2lvbkNvbmZpZyxcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgKTogdm9pZCB7XG4gICAgaWYgKCFjb25maWcudmVyc2lvbiB8fCBjb25maWcudmVyc2lvbi50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBWZXJzaW9uIHN0cmluZyBjYW5ub3QgYmUgZW1wdHkgZm9yIHJlc291cmNlIHR5cGUgJyR7cmVzb3VyY2VUeXBlfSdgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5zY2hlbWEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFNjaGVtYSBpcyByZXF1aXJlZCBmb3IgdmVyc2lvbiAnJHtjb25maWcudmVyc2lvbn0nIG9mIHJlc291cmNlIHR5cGUgJyR7cmVzb3VyY2VUeXBlfSdgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnNjaGVtYS5yZXNvdXJjZVR5cGUgIT09IHJlc291cmNlVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgU2NoZW1hIHJlc291cmNlIHR5cGUgJyR7Y29uZmlnLnNjaGVtYS5yZXNvdXJjZVR5cGV9JyBkb2VzIG5vdCBtYXRjaCByZWdpc3RlcmVkIHJlc291cmNlIHR5cGUgJyR7cmVzb3VyY2VUeXBlfSdgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLnNjaGVtYS52ZXJzaW9uICE9PSBjb25maWcudmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgU2NoZW1hIHZlcnNpb24gJyR7Y29uZmlnLnNjaGVtYS52ZXJzaW9ufScgZG9lcyBub3QgbWF0Y2ggY29uZmlnIHZlcnNpb24gJyR7Y29uZmlnLnZlcnNpb259J2AsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLnN1cHBvcnRMZXZlbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgU3VwcG9ydCBsZXZlbCBpcyByZXF1aXJlZCBmb3IgdmVyc2lvbiAnJHtjb25maWcudmVyc2lvbn0nIG9mIHJlc291cmNlIHR5cGUgJyR7cmVzb3VyY2VUeXBlfSdgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIWNvbmZpZy5yZWxlYXNlRGF0ZSB8fCBjb25maWcucmVsZWFzZURhdGUudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgUmVsZWFzZSBkYXRlIGlzIHJlcXVpcmVkIGZvciB2ZXJzaW9uICcke2NvbmZpZy52ZXJzaW9ufScgb2YgcmVzb3VyY2UgdHlwZSAnJHtyZXNvdXJjZVR5cGV9J2AsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFZhbGlkYXRlIGRhdGUgZm9ybWF0XG4gICAgaWYgKGlzTmFOKG5ldyBEYXRlKGNvbmZpZy5yZWxlYXNlRGF0ZSkuZ2V0VGltZSgpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSW52YWxpZCByZWxlYXNlIGRhdGUgZm9ybWF0ICcke2NvbmZpZy5yZWxlYXNlRGF0ZX0nIGZvciB2ZXJzaW9uICcke2NvbmZpZy52ZXJzaW9ufScgb2YgcmVzb3VyY2UgdHlwZSAnJHtyZXNvdXJjZVR5cGV9J2AsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDb2xsZWN0cyBhbGwgYnJlYWtpbmcgY2hhbmdlcyBiZXR3ZWVuIHR3byB2ZXJzaW9uc1xuICAgKi9cbiAgcHJpdmF0ZSBfY29sbGVjdEJyZWFraW5nQ2hhbmdlcyhcbiAgICByZXNvdXJjZVR5cGU6IHN0cmluZyxcbiAgICBmcm9tVmVyc2lvbjogc3RyaW5nLFxuICAgIHRvVmVyc2lvbjogc3RyaW5nLFxuICApOiBCcmVha2luZ0NoYW5nZVtdIHtcbiAgICBjb25zdCByZWdpc3RyeSA9IHRoaXMuX3Jlc291cmNlUmVnaXN0cnlbcmVzb3VyY2VUeXBlXTtcbiAgICBpZiAoIXJlZ2lzdHJ5KSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgYWxsVmVyc2lvbnMgPSBPYmplY3QudmFsdWVzKHJlZ2lzdHJ5LnZlcnNpb25zKS5zb3J0KFxuICAgICAgKGEsIGIpID0+XG4gICAgICAgIG5ldyBEYXRlKGEucmVsZWFzZURhdGUpLmdldFRpbWUoKSAtIG5ldyBEYXRlKGIucmVsZWFzZURhdGUpLmdldFRpbWUoKSxcbiAgICApO1xuXG4gICAgY29uc3QgZnJvbUluZGV4ID0gYWxsVmVyc2lvbnMuZmluZEluZGV4KCh2KSA9PiB2LnZlcnNpb24gPT09IGZyb21WZXJzaW9uKTtcbiAgICBjb25zdCB0b0luZGV4ID0gYWxsVmVyc2lvbnMuZmluZEluZGV4KCh2KSA9PiB2LnZlcnNpb24gPT09IHRvVmVyc2lvbik7XG5cbiAgICBpZiAoZnJvbUluZGV4ID09PSAtMSB8fCB0b0luZGV4ID09PSAtMSkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGJyZWFraW5nQ2hhbmdlczogQnJlYWtpbmdDaGFuZ2VbXSA9IFtdO1xuXG4gICAgLy8gQ29sbGVjdCBicmVha2luZyBjaGFuZ2VzIGZyb20gYWxsIHZlcnNpb25zIGJldHdlZW4gZnJvbVZlcnNpb24gYW5kIHRvVmVyc2lvblxuICAgIGZvciAobGV0IGkgPSBmcm9tSW5kZXggKyAxOyBpIDw9IHRvSW5kZXg7IGkrKykge1xuICAgICAgY29uc3QgdmVyc2lvbkNvbmZpZyA9IGFsbFZlcnNpb25zW2ldO1xuICAgICAgaWYgKHZlcnNpb25Db25maWcuYnJlYWtpbmdDaGFuZ2VzKSB7XG4gICAgICAgIGJyZWFraW5nQ2hhbmdlcy5wdXNoKC4uLnZlcnNpb25Db25maWcuYnJlYWtpbmdDaGFuZ2VzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYnJlYWtpbmdDaGFuZ2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBtaWdyYXRpb24gd2FybmluZ3NcbiAgICovXG4gIHByaXZhdGUgX2dlbmVyYXRlTWlncmF0aW9uV2FybmluZ3MoXG4gICAgZnJvbUNvbmZpZzogVmVyc2lvbkNvbmZpZyxcbiAgICB0b0NvbmZpZzogVmVyc2lvbkNvbmZpZyxcbiAgKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHdhcm5pbmdzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKGZyb21Db25maWcuc3VwcG9ydExldmVsID09PSBWZXJzaW9uU3VwcG9ydExldmVsLkRFUFJFQ0FURUQpIHtcbiAgICAgIHdhcm5pbmdzLnB1c2goXG4gICAgICAgIGBTb3VyY2UgdmVyc2lvbiAnJHtmcm9tQ29uZmlnLnZlcnNpb259JyBpcyBkZXByZWNhdGVkLiBDb25zaWRlciBtaWdyYXRpbmcgdG8gYXZvaWQgZnV0dXJlIGNvbXBhdGliaWxpdHkgaXNzdWVzLmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0b0NvbmZpZy5zdXBwb3J0TGV2ZWwgPT09IFZlcnNpb25TdXBwb3J0TGV2ZWwuREVQUkVDQVRFRCkge1xuICAgICAgd2FybmluZ3MucHVzaChcbiAgICAgICAgYFRhcmdldCB2ZXJzaW9uICcke3RvQ29uZmlnLnZlcnNpb259JyBpcyBkZXByZWNhdGVkLiBDb25zaWRlciB1c2luZyBhIG5ld2VyIHZlcnNpb24uYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGZyb21Db25maWcuc3Vuc2V0RGF0ZSkge1xuICAgICAgY29uc3Qgc3Vuc2V0RGF0ZSA9IG5ldyBEYXRlKGZyb21Db25maWcuc3Vuc2V0RGF0ZSk7XG4gICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgaWYgKHN1bnNldERhdGUgPCBub3cpIHtcbiAgICAgICAgd2FybmluZ3MucHVzaChcbiAgICAgICAgICBgU291cmNlIHZlcnNpb24gJyR7ZnJvbUNvbmZpZy52ZXJzaW9ufScgaGFzIHJlYWNoZWQgc3Vuc2V0IGRhdGUgKCR7ZnJvbUNvbmZpZy5zdW5zZXREYXRlfSkuIEltbWVkaWF0ZSBtaWdyYXRpb24gaXMgcmVxdWlyZWQuYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gd2FybmluZ3M7XG4gIH1cblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyBtaWdyYXRpb24gZWZmb3J0IGJhc2VkIG9uIGJyZWFraW5nIGNoYW5nZXMgYW5kIHZlcnNpb24gZGlmZmVyZW5jZXNcbiAgICovXG4gIHByaXZhdGUgX2NhbGN1bGF0ZU1pZ3JhdGlvbkVmZm9ydChicmVha2luZ0NoYW5nZXM6IEJyZWFraW5nQ2hhbmdlW10pOiBzdHJpbmcge1xuICAgIGlmIChicmVha2luZ0NoYW5nZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gTWlncmF0aW9uRWZmb3J0LkxPVztcbiAgICB9XG5cbiAgICAvLyBDb3VudCBkaWZmZXJlbnQgdHlwZXMgb2YgYnJlYWtpbmcgY2hhbmdlc1xuICAgIGNvbnN0IHByb3BlcnR5UmVtb3ZlZCA9IGJyZWFraW5nQ2hhbmdlcy5maWx0ZXIoXG4gICAgICAoYmMpID0+IGJjLmNoYW5nZVR5cGUgPT09IEJyZWFraW5nQ2hhbmdlVHlwZS5QUk9QRVJUWV9SRU1PVkVELFxuICAgICkubGVuZ3RoO1xuICAgIGNvbnN0IHNjaGVtYVJlc3RydWN0dXJlZCA9IGJyZWFraW5nQ2hhbmdlcy5maWx0ZXIoXG4gICAgICAoYmMpID0+IGJjLmNoYW5nZVR5cGUgPT09IEJyZWFraW5nQ2hhbmdlVHlwZS5TQ0hFTUFfUkVTVFJVQ1RVUkVELFxuICAgICkubGVuZ3RoO1xuICAgIGNvbnN0IHByb3BlcnR5VHlwZUNoYW5nZWQgPSBicmVha2luZ0NoYW5nZXMuZmlsdGVyKFxuICAgICAgKGJjKSA9PiBiYy5jaGFuZ2VUeXBlID09PSBCcmVha2luZ0NoYW5nZVR5cGUuUFJPUEVSVFlfVFlQRV9DSEFOR0VELFxuICAgICkubGVuZ3RoO1xuXG4gICAgLy8gQ2FsY3VsYXRlIGVmZm9ydCBiYXNlZCBvbiBicmVha2luZyBjaGFuZ2Ugc2V2ZXJpdHlcbiAgICBpZiAoXG4gICAgICBzY2hlbWFSZXN0cnVjdHVyZWQgPiAwIHx8XG4gICAgICBwcm9wZXJ0eVJlbW92ZWQgPiAzIHx8XG4gICAgICBwcm9wZXJ0eVR5cGVDaGFuZ2VkID4gM1xuICAgICkge1xuICAgICAgcmV0dXJuIE1pZ3JhdGlvbkVmZm9ydC5CUkVBS0lORztcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBwcm9wZXJ0eVJlbW92ZWQgPiAxIHx8XG4gICAgICBwcm9wZXJ0eVR5cGVDaGFuZ2VkID4gMSB8fFxuICAgICAgYnJlYWtpbmdDaGFuZ2VzLmxlbmd0aCA+IDVcbiAgICApIHtcbiAgICAgIHJldHVybiBNaWdyYXRpb25FZmZvcnQuSElHSDtcbiAgICB9XG5cbiAgICBpZiAoYnJlYWtpbmdDaGFuZ2VzLmxlbmd0aCA+IDIpIHtcbiAgICAgIHJldHVybiBNaWdyYXRpb25FZmZvcnQuTUVESVVNO1xuICAgIH1cblxuICAgIHJldHVybiBNaWdyYXRpb25FZmZvcnQuTE9XO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYXV0b21hdGljIHVwZ3JhZGUgaXMgcG9zc2libGVcbiAgICovXG4gIHByaXZhdGUgX2NhbkF1dG9VcGdyYWRlKGJyZWFraW5nQ2hhbmdlczogQnJlYWtpbmdDaGFuZ2VbXSk6IGJvb2xlYW4ge1xuICAgIC8vIEF1dG9tYXRpYyB1cGdyYWRlIGlzIG5vdCBwb3NzaWJsZSBpZiB0aGVyZSBhcmUgY2VydGFpbiB0eXBlcyBvZiBicmVha2luZyBjaGFuZ2VzXG4gICAgY29uc3QgYmxvY2tpbmdDaGFuZ2VUeXBlcyA9IFtcbiAgICAgIEJyZWFraW5nQ2hhbmdlVHlwZS5QUk9QRVJUWV9SRU1PVkVELFxuICAgICAgQnJlYWtpbmdDaGFuZ2VUeXBlLlNDSEVNQV9SRVNUUlVDVFVSRUQsXG4gICAgICBCcmVha2luZ0NoYW5nZVR5cGUuUFJPUEVSVFlfVFlQRV9DSEFOR0VELFxuICAgIF07XG5cbiAgICByZXR1cm4gIWJyZWFraW5nQ2hhbmdlcy5zb21lKChiYykgPT5cbiAgICAgIGJsb2NraW5nQ2hhbmdlVHlwZXMuaW5jbHVkZXMoYmMuY2hhbmdlVHlwZSBhcyBhbnkpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB0aGUgbmV4dCBwaGFzZSBpbiB0aGUgdmVyc2lvbiBsaWZlY3ljbGVcbiAgICovXG4gIHByaXZhdGUgX2RldGVybWluZU5leHRQaGFzZShjdXJyZW50UGhhc2U6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoIChjdXJyZW50UGhhc2UpIHtcbiAgICAgIGNhc2UgVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkU6XG4gICAgICAgIHJldHVybiBWZXJzaW9uU3VwcG9ydExldmVsLk1BSU5URU5BTkNFO1xuICAgICAgY2FzZSBWZXJzaW9uU3VwcG9ydExldmVsLk1BSU5URU5BTkNFOlxuICAgICAgICByZXR1cm4gVmVyc2lvblN1cHBvcnRMZXZlbC5ERVBSRUNBVEVEO1xuICAgICAgY2FzZSBWZXJzaW9uU3VwcG9ydExldmVsLkRFUFJFQ0FURUQ6XG4gICAgICAgIHJldHVybiBWZXJzaW9uU3VwcG9ydExldmVsLlNVTlNFVDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -27,7 +27,7 @@ class VersionSupportLevel {
27
27
  }
28
28
  exports.VersionSupportLevel = VersionSupportLevel;
29
29
  _a = JSII_RTTI_SYMBOL_1;
30
- VersionSupportLevel[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VersionSupportLevel", version: "1.8.0" };
30
+ VersionSupportLevel[_a] = { fqn: "@microsoft/terraform-cdk-constructs.VersionSupportLevel", version: "1.10.0" };
31
31
  /**
32
32
  * Active support - full feature development and bug fixes
33
33
  * Recommended for new development
@@ -60,7 +60,7 @@ class MigrationEffort {
60
60
  }
61
61
  exports.MigrationEffort = MigrationEffort;
62
62
  _b = JSII_RTTI_SYMBOL_1;
63
- MigrationEffort[_b] = { fqn: "@microsoft/terraform-cdk-constructs.MigrationEffort", version: "1.8.0" };
63
+ MigrationEffort[_b] = { fqn: "@microsoft/terraform-cdk-constructs.MigrationEffort", version: "1.10.0" };
64
64
  /**
65
65
  * Low effort - mostly automatic with minimal manual changes
66
66
  * Estimated time: < 1 hour
@@ -93,7 +93,7 @@ class PropertyType {
93
93
  }
94
94
  exports.PropertyType = PropertyType;
95
95
  _c = JSII_RTTI_SYMBOL_1;
96
- PropertyType[_c] = { fqn: "@microsoft/terraform-cdk-constructs.PropertyType", version: "1.8.0" };
96
+ PropertyType[_c] = { fqn: "@microsoft/terraform-cdk-constructs.PropertyType", version: "1.10.0" };
97
97
  /** String data type */
98
98
  PropertyType.STRING = "string";
99
99
  /** Numeric data type (integer or float) */
@@ -118,7 +118,7 @@ class ValidationRuleType {
118
118
  }
119
119
  exports.ValidationRuleType = ValidationRuleType;
120
120
  _d = JSII_RTTI_SYMBOL_1;
121
- ValidationRuleType[_d] = { fqn: "@microsoft/terraform-cdk-constructs.ValidationRuleType", version: "1.8.0" };
121
+ ValidationRuleType[_d] = { fqn: "@microsoft/terraform-cdk-constructs.ValidationRuleType", version: "1.10.0" };
122
122
  /** Property is required and cannot be undefined */
123
123
  ValidationRuleType.REQUIRED = "required";
124
124
  /** Validate property type matches expected type */
@@ -141,7 +141,7 @@ class BreakingChangeType {
141
141
  }
142
142
  exports.BreakingChangeType = BreakingChangeType;
143
143
  _e = JSII_RTTI_SYMBOL_1;
144
- BreakingChangeType[_e] = { fqn: "@microsoft/terraform-cdk-constructs.BreakingChangeType", version: "1.8.0" };
144
+ BreakingChangeType[_e] = { fqn: "@microsoft/terraform-cdk-constructs.BreakingChangeType", version: "1.10.0" };
145
145
  /** Property has been removed from the API */
146
146
  BreakingChangeType.PROPERTY_REMOVED = "property-removed";
147
147
  /** Property has been renamed */
@@ -164,7 +164,7 @@ class PropertyTransformationType {
164
164
  }
165
165
  exports.PropertyTransformationType = PropertyTransformationType;
166
166
  _f = JSII_RTTI_SYMBOL_1;
167
- PropertyTransformationType[_f] = { fqn: "@microsoft/terraform-cdk-constructs.PropertyTransformationType", version: "1.8.0" };
167
+ PropertyTransformationType[_f] = { fqn: "@microsoft/terraform-cdk-constructs.PropertyTransformationType", version: "1.10.0" };
168
168
  /** Direct copy with no transformation */
169
169
  PropertyTransformationType.DIRECT_COPY = "direct-copy";
170
170
  /** Map values using a lookup table */
@@ -188,7 +188,7 @@ class VersionPhase {
188
188
  }
189
189
  exports.VersionPhase = VersionPhase;
190
190
  _g = JSII_RTTI_SYMBOL_1;
191
- VersionPhase[_g] = { fqn: "@microsoft/terraform-cdk-constructs.VersionPhase", version: "1.8.0" };
191
+ VersionPhase[_g] = { fqn: "@microsoft/terraform-cdk-constructs.VersionPhase", version: "1.10.0" };
192
192
  /** Preview/beta phase - not recommended for production */
193
193
  VersionPhase.PREVIEW = "preview";
194
194
  /** Active phase - fully supported and recommended */
package/lib/index.d.ts CHANGED
@@ -9,6 +9,7 @@
9
9
  * - azure_actiongroup: Azure Action Group constructs for Azure Monitor alerts
10
10
  * - azure_activitylogalert: Azure Activity Log Alert constructs for operation monitoring
11
11
  * - azure_aks: Azure Kubernetes Service constructs with version-aware AZAPI implementation
12
+ * - azure_loganalyticsworkspace: Log Analytics Workspace constructs for log data collection
12
13
  * - azure_diagnosticsettings: Azure Diagnostic Settings constructs for monitoring and observability
13
14
  * - azure_dnsforwardingruleset: DNS Forwarding Ruleset constructs for private DNS resolution
14
15
  * - azure_dnsresolver: DNS Resolver constructs for private DNS resolution
@@ -16,8 +17,10 @@
16
17
  * - azure_metricalert: Azure Metric Alert constructs for metric-based alerting
17
18
  * - azure_networkinterface: Network Interface constructs with version-aware AZAPI implementation
18
19
  * - azure_networksecuritygroup: Network Security Group constructs with version-aware AZAPI implementation
20
+ * - azure_networkwatcher: Network Watcher constructs for network monitoring and diagnostics
19
21
  * - azure_policyassignment: Policy Assignment constructs for Azure Policy
20
22
  * - azure_policydefinition: Policy Definition constructs for custom Azure policies
23
+ * - azure_policysetdefinition: Policy Set Definition (Initiative) constructs for grouping policies
21
24
  * - azure_privatednszone: Private DNS Zone constructs with DNS record management
22
25
  * - azure_privatednszonelink: Private DNS Zone Link constructs for VNet linking
23
26
  * - azure_publicipaddress: Public IP Address constructs with version-aware AZAPI implementation
@@ -43,21 +46,32 @@ export * from "./core-azure";
43
46
  export * as azure_actiongroup from "./azure-actiongroup";
44
47
  export * as azure_activitylogalert from "./azure-activitylogalert";
45
48
  export * as azure_aks from "./azure-aks";
49
+ export * as azure_applicationinsights from "./azure-applicationinsights";
50
+ export * as azure_containerapps from "./azure-containerapps";
51
+ export * as azure_containerregistry from "./azure-containerregistry";
52
+ export * as azure_cosmosdb from "./azure-cosmosdb";
53
+ export * as azure_functionapp from "./azure-functionapp";
46
54
  export * as azure_diagnosticsettings from "./azure-diagnosticsettings";
47
55
  export * as azure_dnsforwardingruleset from "./azure-dnsforwardingruleset";
56
+ export * as azure_keyvault from "./azure-keyvault";
57
+ export * as azure_loganalyticsworkspace from "./azure-loganalyticsworkspace";
48
58
  export * as azure_dnsresolver from "./azure-dnsresolver";
49
59
  export * as azure_dnszone from "./azure-dnszone";
50
60
  export * as azure_metricalert from "./azure-metricalert";
51
61
  export * as azure_networkinterface from "./azure-networkinterface";
52
62
  export * as azure_networksecuritygroup from "./azure-networksecuritygroup";
63
+ export * as azure_networkwatcher from "./azure-networkwatcher";
53
64
  export * as azure_policyassignment from "./azure-policyassignment";
54
65
  export * as azure_policydefinition from "./azure-policydefinition";
66
+ export * as azure_policysetdefinition from "./azure-policysetdefinition";
55
67
  export * as azure_privatednszone from "./azure-privatednszone";
56
68
  export * as azure_privatednszonelink from "./azure-privatednszonelink";
57
69
  export * as azure_publicipaddress from "./azure-publicipaddress";
58
70
  export * as azure_resourcegroup from "./azure-resourcegroup";
59
71
  export * as azure_roleassignment from "./azure-roleassignment";
60
72
  export * as azure_roledefinition from "./azure-roledefinition";
73
+ export * as azure_sreagent from "./azure-sreagent";
74
+ export * as azure_staticwebapp from "./azure-staticwebapp";
61
75
  export * as azure_storageaccount from "./azure-storageaccount";
62
76
  export * as azure_subnet from "./azure-subnet";
63
77
  export * as azure_virtualmachine from "./azure-virtualmachine";
@@ -69,21 +83,32 @@ export * as azure_vmss from "./azure-vmss";
69
83
  export * from "./azure-actiongroup";
70
84
  export * from "./azure-activitylogalert";
71
85
  export * from "./azure-aks";
86
+ export * from "./azure-applicationinsights";
87
+ export * from "./azure-containerapps";
88
+ export * from "./azure-containerregistry";
89
+ export * from "./azure-cosmosdb";
90
+ export * from "./azure-functionapp";
72
91
  export * from "./azure-diagnosticsettings";
73
92
  export * from "./azure-dnsforwardingruleset";
74
93
  export * from "./azure-dnsresolver";
94
+ export * from "./azure-keyvault";
95
+ export * from "./azure-loganalyticsworkspace";
75
96
  export * from "./azure-dnszone";
76
97
  export * from "./azure-metricalert";
77
98
  export * from "./azure-networkinterface";
78
99
  export * from "./azure-networksecuritygroup";
100
+ export * from "./azure-networkwatcher";
79
101
  export * from "./azure-policyassignment";
80
102
  export * from "./azure-policydefinition";
103
+ export * from "./azure-policysetdefinition";
81
104
  export * from "./azure-privatednszone";
82
105
  export * from "./azure-privatednszonelink";
83
106
  export * from "./azure-publicipaddress";
84
107
  export * from "./azure-resourcegroup";
85
108
  export * from "./azure-roleassignment";
86
109
  export * from "./azure-roledefinition";
110
+ export * from "./azure-sreagent";
111
+ export * from "./azure-staticwebapp";
87
112
  export * from "./azure-storageaccount";
88
113
  export * from "./azure-subnet";
89
114
  export * from "./azure-virtualmachine";
package/lib/index.js CHANGED
@@ -10,6 +10,7 @@
10
10
  * - azure_actiongroup: Azure Action Group constructs for Azure Monitor alerts
11
11
  * - azure_activitylogalert: Azure Activity Log Alert constructs for operation monitoring
12
12
  * - azure_aks: Azure Kubernetes Service constructs with version-aware AZAPI implementation
13
+ * - azure_loganalyticsworkspace: Log Analytics Workspace constructs for log data collection
13
14
  * - azure_diagnosticsettings: Azure Diagnostic Settings constructs for monitoring and observability
14
15
  * - azure_dnsforwardingruleset: DNS Forwarding Ruleset constructs for private DNS resolution
15
16
  * - azure_dnsresolver: DNS Resolver constructs for private DNS resolution
@@ -17,8 +18,10 @@
17
18
  * - azure_metricalert: Azure Metric Alert constructs for metric-based alerting
18
19
  * - azure_networkinterface: Network Interface constructs with version-aware AZAPI implementation
19
20
  * - azure_networksecuritygroup: Network Security Group constructs with version-aware AZAPI implementation
21
+ * - azure_networkwatcher: Network Watcher constructs for network monitoring and diagnostics
20
22
  * - azure_policyassignment: Policy Assignment constructs for Azure Policy
21
23
  * - azure_policydefinition: Policy Definition constructs for custom Azure policies
24
+ * - azure_policysetdefinition: Policy Set Definition (Initiative) constructs for grouping policies
22
25
  * - azure_privatednszone: Private DNS Zone constructs with DNS record management
23
26
  * - azure_privatednszonelink: Private DNS Zone Link constructs for VNet linking
24
27
  * - azure_publicipaddress: Public IP Address constructs with version-aware AZAPI implementation
@@ -54,7 +57,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
54
57
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
55
58
  };
56
59
  Object.defineProperty(exports, "__esModule", { value: true });
57
- exports.testing = exports.azure_vmss = exports.azure_virtualnetworkmanager = exports.azure_virtualnetworkgatewayconnection = exports.azure_virtualnetworkgateway = exports.azure_virtualnetwork = exports.azure_virtualmachine = exports.azure_subnet = exports.azure_storageaccount = exports.azure_roledefinition = exports.azure_roleassignment = exports.azure_resourcegroup = exports.azure_publicipaddress = exports.azure_privatednszonelink = exports.azure_privatednszone = exports.azure_policydefinition = exports.azure_policyassignment = exports.azure_networksecuritygroup = exports.azure_networkinterface = exports.azure_metricalert = exports.azure_dnszone = exports.azure_dnsresolver = exports.azure_dnsforwardingruleset = exports.azure_diagnosticsettings = exports.azure_aks = exports.azure_activitylogalert = exports.azure_actiongroup = exports.core_azure = void 0;
60
+ exports.testing = exports.azure_vmss = exports.azure_virtualnetworkmanager = exports.azure_virtualnetworkgatewayconnection = exports.azure_virtualnetworkgateway = exports.azure_virtualnetwork = exports.azure_virtualmachine = exports.azure_subnet = exports.azure_storageaccount = exports.azure_staticwebapp = exports.azure_sreagent = exports.azure_roledefinition = exports.azure_roleassignment = exports.azure_resourcegroup = exports.azure_publicipaddress = exports.azure_privatednszonelink = exports.azure_privatednszone = exports.azure_policysetdefinition = exports.azure_policydefinition = exports.azure_policyassignment = exports.azure_networkwatcher = exports.azure_networksecuritygroup = exports.azure_networkinterface = exports.azure_metricalert = exports.azure_dnszone = exports.azure_dnsresolver = exports.azure_loganalyticsworkspace = exports.azure_keyvault = exports.azure_dnsforwardingruleset = exports.azure_diagnosticsettings = exports.azure_functionapp = exports.azure_cosmosdb = exports.azure_containerregistry = exports.azure_containerapps = exports.azure_applicationinsights = exports.azure_aks = exports.azure_activitylogalert = exports.azure_actiongroup = exports.core_azure = void 0;
58
61
  // Core AZAPI functionality
59
62
  exports.core_azure = require("./core-azure");
60
63
  // Export core types at top level for JSII compatibility
@@ -63,21 +66,32 @@ __exportStar(require("./core-azure"), exports);
63
66
  exports.azure_actiongroup = require("./azure-actiongroup");
64
67
  exports.azure_activitylogalert = require("./azure-activitylogalert");
65
68
  exports.azure_aks = require("./azure-aks");
69
+ exports.azure_applicationinsights = require("./azure-applicationinsights");
70
+ exports.azure_containerapps = require("./azure-containerapps");
71
+ exports.azure_containerregistry = require("./azure-containerregistry");
72
+ exports.azure_cosmosdb = require("./azure-cosmosdb");
73
+ exports.azure_functionapp = require("./azure-functionapp");
66
74
  exports.azure_diagnosticsettings = require("./azure-diagnosticsettings");
67
75
  exports.azure_dnsforwardingruleset = require("./azure-dnsforwardingruleset");
76
+ exports.azure_keyvault = require("./azure-keyvault");
77
+ exports.azure_loganalyticsworkspace = require("./azure-loganalyticsworkspace");
68
78
  exports.azure_dnsresolver = require("./azure-dnsresolver");
69
79
  exports.azure_dnszone = require("./azure-dnszone");
70
80
  exports.azure_metricalert = require("./azure-metricalert");
71
81
  exports.azure_networkinterface = require("./azure-networkinterface");
72
82
  exports.azure_networksecuritygroup = require("./azure-networksecuritygroup");
83
+ exports.azure_networkwatcher = require("./azure-networkwatcher");
73
84
  exports.azure_policyassignment = require("./azure-policyassignment");
74
85
  exports.azure_policydefinition = require("./azure-policydefinition");
86
+ exports.azure_policysetdefinition = require("./azure-policysetdefinition");
75
87
  exports.azure_privatednszone = require("./azure-privatednszone");
76
88
  exports.azure_privatednszonelink = require("./azure-privatednszonelink");
77
89
  exports.azure_publicipaddress = require("./azure-publicipaddress");
78
90
  exports.azure_resourcegroup = require("./azure-resourcegroup");
79
91
  exports.azure_roleassignment = require("./azure-roleassignment");
80
92
  exports.azure_roledefinition = require("./azure-roledefinition");
93
+ exports.azure_sreagent = require("./azure-sreagent");
94
+ exports.azure_staticwebapp = require("./azure-staticwebapp");
81
95
  exports.azure_storageaccount = require("./azure-storageaccount");
82
96
  exports.azure_subnet = require("./azure-subnet");
83
97
  exports.azure_virtualmachine = require("./azure-virtualmachine");
@@ -90,21 +104,32 @@ exports.azure_vmss = require("./azure-vmss");
90
104
  __exportStar(require("./azure-actiongroup"), exports);
91
105
  __exportStar(require("./azure-activitylogalert"), exports);
92
106
  __exportStar(require("./azure-aks"), exports);
107
+ __exportStar(require("./azure-applicationinsights"), exports);
108
+ __exportStar(require("./azure-containerapps"), exports);
109
+ __exportStar(require("./azure-containerregistry"), exports);
110
+ __exportStar(require("./azure-cosmosdb"), exports);
111
+ __exportStar(require("./azure-functionapp"), exports);
93
112
  __exportStar(require("./azure-diagnosticsettings"), exports);
94
113
  __exportStar(require("./azure-dnsforwardingruleset"), exports);
95
114
  __exportStar(require("./azure-dnsresolver"), exports);
115
+ __exportStar(require("./azure-keyvault"), exports);
116
+ __exportStar(require("./azure-loganalyticsworkspace"), exports);
96
117
  __exportStar(require("./azure-dnszone"), exports);
97
118
  __exportStar(require("./azure-metricalert"), exports);
98
119
  __exportStar(require("./azure-networkinterface"), exports);
99
120
  __exportStar(require("./azure-networksecuritygroup"), exports);
121
+ __exportStar(require("./azure-networkwatcher"), exports);
100
122
  __exportStar(require("./azure-policyassignment"), exports);
101
123
  __exportStar(require("./azure-policydefinition"), exports);
124
+ __exportStar(require("./azure-policysetdefinition"), exports);
102
125
  __exportStar(require("./azure-privatednszone"), exports);
103
126
  __exportStar(require("./azure-privatednszonelink"), exports);
104
127
  __exportStar(require("./azure-publicipaddress"), exports);
105
128
  __exportStar(require("./azure-resourcegroup"), exports);
106
129
  __exportStar(require("./azure-roleassignment"), exports);
107
130
  __exportStar(require("./azure-roledefinition"), exports);
131
+ __exportStar(require("./azure-sreagent"), exports);
132
+ __exportStar(require("./azure-staticwebapp"), exports);
108
133
  __exportStar(require("./azure-storageaccount"), exports);
109
134
  __exportStar(require("./azure-subnet"), exports);
110
135
  __exportStar(require("./azure-virtualmachine"), exports);
@@ -117,4 +142,4 @@ __exportStar(require("./azure-vmss"), exports);
117
142
  exports.testing = require("./testing");
118
143
  // Export testing types at top level for JSII compatibility
119
144
  __exportStar(require("./testing"), exports);
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q0c7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsMkJBQTJCO0FBQzNCLDZDQUEyQztBQUUzQyx3REFBd0Q7QUFDeEQsK0NBQTZCO0FBRTdCLDZCQUE2QjtBQUM3QiwyREFBeUQ7QUFDekQscUVBQW1FO0FBQ25FLDJDQUF5QztBQUN6Qyx5RUFBdUU7QUFDdkUsNkVBQTJFO0FBQzNFLDJEQUF5RDtBQUN6RCxtREFBaUQ7QUFDakQsMkRBQXlEO0FBQ3pELHFFQUFtRTtBQUNuRSw2RUFBMkU7QUFDM0UscUVBQW1FO0FBQ25FLHFFQUFtRTtBQUNuRSxpRUFBK0Q7QUFDL0QseUVBQXVFO0FBQ3ZFLG1FQUFpRTtBQUNqRSwrREFBNkQ7QUFDN0QsaUVBQStEO0FBQy9ELGlFQUErRDtBQUMvRCxpRUFBK0Q7QUFDL0QsaURBQStDO0FBQy9DLGlFQUErRDtBQUMvRCxpRUFBK0Q7QUFDL0QsK0VBQTZFO0FBQzdFLG1HQUFpRztBQUNqRywrRUFBNkU7QUFDN0UsNkNBQTJDO0FBRTNDLG1EQUFtRDtBQUNuRCxzREFBb0M7QUFDcEMsMkRBQXlDO0FBQ3pDLDhDQUE0QjtBQUM1Qiw2REFBMkM7QUFDM0MsK0RBQTZDO0FBQzdDLHNEQUFvQztBQUNwQyxrREFBZ0M7QUFDaEMsc0RBQW9DO0FBQ3BDLDJEQUF5QztBQUN6QywrREFBNkM7QUFDN0MsMkRBQXlDO0FBQ3pDLDJEQUF5QztBQUN6Qyx5REFBdUM7QUFDdkMsNkRBQTJDO0FBQzNDLDBEQUF3QztBQUN4Qyx3REFBc0M7QUFDdEMseURBQXVDO0FBQ3ZDLHlEQUF1QztBQUN2Qyx5REFBdUM7QUFDdkMsaURBQStCO0FBQy9CLHlEQUF1QztBQUN2Qyx5REFBdUM7QUFDdkMsZ0VBQThDO0FBQzlDLDBFQUF3RDtBQUN4RCxnRUFBOEM7QUFDOUMsK0NBQTZCO0FBRTdCLGtCQUFrQjtBQUNsQix1Q0FBcUM7QUFFckMsMkRBQTJEO0FBQzNELDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1pY3Jvc29mdC90ZXJyYWZvcm0tY2RrLWNvbnN0cnVjdHNcbiAqXG4gKiBBenVyZSBDREsgY29uc3RydWN0cyB1c2luZyBBWkFQSSBwcm92aWRlciBmb3IgZGlyZWN0IEF6dXJlIFJFU1QgQVBJIGFjY2Vzcy5cbiAqXG4gKiBWZXJzaW9uIDEuMC4wIC0gTWFqb3IgYnJlYWtpbmcgY2hhbmdlIG1pZ3JhdGlvbiBmcm9tIEF6dXJlUk0gdG8gQVpBUElcbiAqXG4gKiBBdmFpbGFibGUgbW9kdWxlczpcbiAqIC0gYXp1cmVfYWN0aW9uZ3JvdXA6IEF6dXJlIEFjdGlvbiBHcm91cCBjb25zdHJ1Y3RzIGZvciBBenVyZSBNb25pdG9yIGFsZXJ0c1xuICogLSBhenVyZV9hY3Rpdml0eWxvZ2FsZXJ0OiBBenVyZSBBY3Rpdml0eSBMb2cgQWxlcnQgY29uc3RydWN0cyBmb3Igb3BlcmF0aW9uIG1vbml0b3JpbmdcbiAqIC0gYXp1cmVfYWtzOiBBenVyZSBLdWJlcm5ldGVzIFNlcnZpY2UgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gYXp1cmVfZGlhZ25vc3RpY3NldHRpbmdzOiBBenVyZSBEaWFnbm9zdGljIFNldHRpbmdzIGNvbnN0cnVjdHMgZm9yIG1vbml0b3JpbmcgYW5kIG9ic2VydmFiaWxpdHlcbiAqIC0gYXp1cmVfZG5zZm9yd2FyZGluZ3J1bGVzZXQ6IEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgY29uc3RydWN0cyBmb3IgcHJpdmF0ZSBETlMgcmVzb2x1dGlvblxuICogLSBhenVyZV9kbnNyZXNvbHZlcjogRE5TIFJlc29sdmVyIGNvbnN0cnVjdHMgZm9yIHByaXZhdGUgRE5TIHJlc29sdXRpb25cbiAqIC0gYXp1cmVfZG5zem9uZTogUHVibGljIEROUyBab25lIGNvbnN0cnVjdHMgd2l0aCBETlMgcmVjb3JkIG1hbmFnZW1lbnRcbiAqIC0gYXp1cmVfbWV0cmljYWxlcnQ6IEF6dXJlIE1ldHJpYyBBbGVydCBjb25zdHJ1Y3RzIGZvciBtZXRyaWMtYmFzZWQgYWxlcnRpbmdcbiAqIC0gYXp1cmVfbmV0d29ya2ludGVyZmFjZTogTmV0d29yayBJbnRlcmZhY2UgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gYXp1cmVfbmV0d29ya3NlY3VyaXR5Z3JvdXA6IE5ldHdvcmsgU2VjdXJpdHkgR3JvdXAgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gYXp1cmVfcG9saWN5YXNzaWdubWVudDogUG9saWN5IEFzc2lnbm1lbnQgY29uc3RydWN0cyBmb3IgQXp1cmUgUG9saWN5XG4gKiAtIGF6dXJlX3BvbGljeWRlZmluaXRpb246IFBvbGljeSBEZWZpbml0aW9uIGNvbnN0cnVjdHMgZm9yIGN1c3RvbSBBenVyZSBwb2xpY2llc1xuICogLSBhenVyZV9wcml2YXRlZG5zem9uZTogUHJpdmF0ZSBETlMgWm9uZSBjb25zdHJ1Y3RzIHdpdGggRE5TIHJlY29yZCBtYW5hZ2VtZW50XG4gKiAtIGF6dXJlX3ByaXZhdGVkbnN6b25lbGluazogUHJpdmF0ZSBETlMgWm9uZSBMaW5rIGNvbnN0cnVjdHMgZm9yIFZOZXQgbGlua2luZ1xuICogLSBhenVyZV9wdWJsaWNpcGFkZHJlc3M6IFB1YmxpYyBJUCBBZGRyZXNzIGNvbnN0cnVjdHMgd2l0aCB2ZXJzaW9uLWF3YXJlIEFaQVBJIGltcGxlbWVudGF0aW9uXG4gKiAtIGF6dXJlX3Jlc291cmNlZ3JvdXA6IFJlc291cmNlIEdyb3VwIGNvbnN0cnVjdHMgd2l0aCB2ZXJzaW9uLWF3YXJlIEFaQVBJIGltcGxlbWVudGF0aW9uXG4gKiAtIGF6dXJlX3JvbGVhc3NpZ25tZW50OiBSb2xlIEFzc2lnbm1lbnQgY29uc3RydWN0cyBmb3IgQXp1cmUgUkJBQ1xuICogLSBhenVyZV9yb2xlZGVmaW5pdGlvbjogUm9sZSBEZWZpbml0aW9uIGNvbnN0cnVjdHMgZm9yIGN1c3RvbSBSQkFDIHJvbGVzXG4gKiAtIGF6dXJlX3N0b3JhZ2VhY2NvdW50OiBTdG9yYWdlIEFjY291bnQgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gYXp1cmVfc3VibmV0OiBTdWJuZXQgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gYXp1cmVfdmlydHVhbG1hY2hpbmU6IFZpcnR1YWwgTWFjaGluZSBjb25zdHJ1Y3RzIHdpdGggdmVyc2lvbi1hd2FyZSBBWkFQSSBpbXBsZW1lbnRhdGlvblxuICogLSBhenVyZV92aXJ0dWFsbmV0d29yazogVmlydHVhbCBOZXR3b3JrIGNvbnN0cnVjdHMgd2l0aCB2ZXJzaW9uLWF3YXJlIEFaQVBJIGltcGxlbWVudGF0aW9uXG4gKiAtIGF6dXJlX3ZpcnR1YWxuZXR3b3JrZ2F0ZXdheTogVmlydHVhbCBOZXR3b3JrIEdhdGV3YXkgY29uc3RydWN0cyBmb3IgVlBOL0V4cHJlc3NSb3V0ZVxuICogLSBhenVyZV92aXJ0dWFsbmV0d29ya2dhdGV3YXljb25uZWN0aW9uOiBWTmV0IEdhdGV3YXkgQ29ubmVjdGlvbiBjb25zdHJ1Y3RzXG4gKiAtIGF6dXJlX3ZpcnR1YWxuZXR3b3JrbWFuYWdlcjogVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIgY29uc3RydWN0cyBmb3IgbmV0d29yayBnb3Zlcm5hbmNlXG4gKiAtIGF6dXJlX3Ztc3M6IFZpcnR1YWwgTWFjaGluZSBTY2FsZSBTZXRzIGNvbnN0cnVjdHMgd2l0aCB2ZXJzaW9uLWF3YXJlIEFaQVBJIGltcGxlbWVudGF0aW9uXG4gKiAtIGNvcmVfYXp1cmU6IENvcmUgQVpBUEkgZnVuY3Rpb25hbGl0eSBhbmQgYmFzZSBjbGFzc2VzXG4gKiAtIHRlc3Rpbmc6IFRlc3QgdXRpbGl0aWVzIGFuZCBoZWxwZXJzXG4gKlxuICogRm9yIG1pZ3JhdGlvbiBndWlkZSBhbmQgZG9jdW1lbnRhdGlvbiwgc2VlOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2F6dXJlL3RlcnJhZm9ybS1jZGstY29uc3RydWN0c1xuICovXG5cbi8vIENvcmUgQVpBUEkgZnVuY3Rpb25hbGl0eVxuZXhwb3J0ICogYXMgY29yZV9henVyZSBmcm9tIFwiLi9jb3JlLWF6dXJlXCI7XG5cbi8vIEV4cG9ydCBjb3JlIHR5cGVzIGF0IHRvcCBsZXZlbCBmb3IgSlNJSSBjb21wYXRpYmlsaXR5XG5leHBvcnQgKiBmcm9tIFwiLi9jb3JlLWF6dXJlXCI7XG5cbi8vIEFaQVBJLWJhc2VkIEF6dXJlIHNlcnZpY2VzXG5leHBvcnQgKiBhcyBhenVyZV9hY3Rpb25ncm91cCBmcm9tIFwiLi9henVyZS1hY3Rpb25ncm91cFwiO1xuZXhwb3J0ICogYXMgYXp1cmVfYWN0aXZpdHlsb2dhbGVydCBmcm9tIFwiLi9henVyZS1hY3Rpdml0eWxvZ2FsZXJ0XCI7XG5leHBvcnQgKiBhcyBhenVyZV9ha3MgZnJvbSBcIi4vYXp1cmUtYWtzXCI7XG5leHBvcnQgKiBhcyBhenVyZV9kaWFnbm9zdGljc2V0dGluZ3MgZnJvbSBcIi4vYXp1cmUtZGlhZ25vc3RpY3NldHRpbmdzXCI7XG5leHBvcnQgKiBhcyBhenVyZV9kbnNmb3J3YXJkaW5ncnVsZXNldCBmcm9tIFwiLi9henVyZS1kbnNmb3J3YXJkaW5ncnVsZXNldFwiO1xuZXhwb3J0ICogYXMgYXp1cmVfZG5zcmVzb2x2ZXIgZnJvbSBcIi4vYXp1cmUtZG5zcmVzb2x2ZXJcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX2Ruc3pvbmUgZnJvbSBcIi4vYXp1cmUtZG5zem9uZVwiO1xuZXhwb3J0ICogYXMgYXp1cmVfbWV0cmljYWxlcnQgZnJvbSBcIi4vYXp1cmUtbWV0cmljYWxlcnRcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX25ldHdvcmtpbnRlcmZhY2UgZnJvbSBcIi4vYXp1cmUtbmV0d29ya2ludGVyZmFjZVwiO1xuZXhwb3J0ICogYXMgYXp1cmVfbmV0d29ya3NlY3VyaXR5Z3JvdXAgZnJvbSBcIi4vYXp1cmUtbmV0d29ya3NlY3VyaXR5Z3JvdXBcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3BvbGljeWFzc2lnbm1lbnQgZnJvbSBcIi4vYXp1cmUtcG9saWN5YXNzaWdubWVudFwiO1xuZXhwb3J0ICogYXMgYXp1cmVfcG9saWN5ZGVmaW5pdGlvbiBmcm9tIFwiLi9henVyZS1wb2xpY3lkZWZpbml0aW9uXCI7XG5leHBvcnQgKiBhcyBhenVyZV9wcml2YXRlZG5zem9uZSBmcm9tIFwiLi9henVyZS1wcml2YXRlZG5zem9uZVwiO1xuZXhwb3J0ICogYXMgYXp1cmVfcHJpdmF0ZWRuc3pvbmVsaW5rIGZyb20gXCIuL2F6dXJlLXByaXZhdGVkbnN6b25lbGlua1wiO1xuZXhwb3J0ICogYXMgYXp1cmVfcHVibGljaXBhZGRyZXNzIGZyb20gXCIuL2F6dXJlLXB1YmxpY2lwYWRkcmVzc1wiO1xuZXhwb3J0ICogYXMgYXp1cmVfcmVzb3VyY2Vncm91cCBmcm9tIFwiLi9henVyZS1yZXNvdXJjZWdyb3VwXCI7XG5leHBvcnQgKiBhcyBhenVyZV9yb2xlYXNzaWdubWVudCBmcm9tIFwiLi9henVyZS1yb2xlYXNzaWdubWVudFwiO1xuZXhwb3J0ICogYXMgYXp1cmVfcm9sZWRlZmluaXRpb24gZnJvbSBcIi4vYXp1cmUtcm9sZWRlZmluaXRpb25cIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3N0b3JhZ2VhY2NvdW50IGZyb20gXCIuL2F6dXJlLXN0b3JhZ2VhY2NvdW50XCI7XG5leHBvcnQgKiBhcyBhenVyZV9zdWJuZXQgZnJvbSBcIi4vYXp1cmUtc3VibmV0XCI7XG5leHBvcnQgKiBhcyBhenVyZV92aXJ0dWFsbWFjaGluZSBmcm9tIFwiLi9henVyZS12aXJ0dWFsbWFjaGluZVwiO1xuZXhwb3J0ICogYXMgYXp1cmVfdmlydHVhbG5ldHdvcmsgZnJvbSBcIi4vYXp1cmUtdmlydHVhbG5ldHdvcmtcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3ZpcnR1YWxuZXR3b3JrZ2F0ZXdheSBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXlcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3ZpcnR1YWxuZXR3b3JrZ2F0ZXdheWNvbm5lY3Rpb24gZnJvbSBcIi4vYXp1cmUtdmlydHVhbG5ldHdvcmtnYXRld2F5Y29ubmVjdGlvblwiO1xuZXhwb3J0ICogYXMgYXp1cmVfdmlydHVhbG5ldHdvcmttYW5hZ2VyIGZyb20gXCIuL2F6dXJlLXZpcnR1YWxuZXR3b3JrbWFuYWdlclwiO1xuZXhwb3J0ICogYXMgYXp1cmVfdm1zcyBmcm9tIFwiLi9henVyZS12bXNzXCI7XG5cbi8vIEV4cG9ydCB0eXBlcyBhdCB0b3AgbGV2ZWwgZm9yIEpTSUkgY29tcGF0aWJpbGl0eVxuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtYWN0aW9uZ3JvdXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLWFjdGl2aXR5bG9nYWxlcnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLWFrc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtZGlhZ25vc3RpY3NldHRpbmdzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1kbnNmb3J3YXJkaW5ncnVsZXNldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtZG5zcmVzb2x2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLWRuc3pvbmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLW1ldHJpY2FsZXJ0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1uZXR3b3JraW50ZXJmYWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1uZXR3b3Jrc2VjdXJpdHlncm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcG9saWN5YXNzaWdubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcG9saWN5ZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcHJpdmF0ZWRuc3pvbmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXByaXZhdGVkbnN6b25lbGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcHVibGljaXBhZGRyZXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1yZXNvdXJjZWdyb3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1yb2xlYXNzaWdubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcm9sZWRlZmluaXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXN0b3JhZ2VhY2NvdW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1zdWJuZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXZpcnR1YWxtYWNoaW5lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtdmlydHVhbG5ldHdvcmtnYXRld2F5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXljb25uZWN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya21hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXZtc3NcIjtcblxuLy8gVXRpbGl0eSBtb2R1bGVzXG5leHBvcnQgKiBhcyB0ZXN0aW5nIGZyb20gXCIuL3Rlc3RpbmdcIjtcblxuLy8gRXhwb3J0IHRlc3RpbmcgdHlwZXMgYXQgdG9wIGxldmVsIGZvciBKU0lJIGNvbXBhdGliaWxpdHlcbmV4cG9ydCAqIGZyb20gXCIuL3Rlc3RpbmdcIjtcbiJdfQ==
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQ0c7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsMkJBQTJCO0FBQzNCLDZDQUEyQztBQUUzQyx3REFBd0Q7QUFDeEQsK0NBQTZCO0FBRTdCLDZCQUE2QjtBQUM3QiwyREFBeUQ7QUFDekQscUVBQW1FO0FBQ25FLDJDQUF5QztBQUN6QywyRUFBeUU7QUFDekUsK0RBQTZEO0FBQzdELHVFQUFxRTtBQUNyRSxxREFBbUQ7QUFDbkQsMkRBQXlEO0FBQ3pELHlFQUF1RTtBQUN2RSw2RUFBMkU7QUFDM0UscURBQW1EO0FBQ25ELCtFQUE2RTtBQUM3RSwyREFBeUQ7QUFDekQsbURBQWlEO0FBQ2pELDJEQUF5RDtBQUN6RCxxRUFBbUU7QUFDbkUsNkVBQTJFO0FBQzNFLGlFQUErRDtBQUMvRCxxRUFBbUU7QUFDbkUscUVBQW1FO0FBQ25FLDJFQUF5RTtBQUN6RSxpRUFBK0Q7QUFDL0QseUVBQXVFO0FBQ3ZFLG1FQUFpRTtBQUNqRSwrREFBNkQ7QUFDN0QsaUVBQStEO0FBQy9ELGlFQUErRDtBQUMvRCxxREFBbUQ7QUFDbkQsNkRBQTJEO0FBQzNELGlFQUErRDtBQUMvRCxpREFBK0M7QUFDL0MsaUVBQStEO0FBQy9ELGlFQUErRDtBQUMvRCwrRUFBNkU7QUFDN0UsbUdBQWlHO0FBQ2pHLCtFQUE2RTtBQUM3RSw2Q0FBMkM7QUFFM0MsbURBQW1EO0FBQ25ELHNEQUFvQztBQUNwQywyREFBeUM7QUFDekMsOENBQTRCO0FBQzVCLDhEQUE0QztBQUM1Qyx3REFBc0M7QUFDdEMsNERBQTBDO0FBQzFDLG1EQUFpQztBQUNqQyxzREFBb0M7QUFDcEMsNkRBQTJDO0FBQzNDLCtEQUE2QztBQUM3QyxzREFBb0M7QUFDcEMsbURBQWlDO0FBQ2pDLGdFQUE4QztBQUM5QyxrREFBZ0M7QUFDaEMsc0RBQW9DO0FBQ3BDLDJEQUF5QztBQUN6QywrREFBNkM7QUFDN0MseURBQXVDO0FBQ3ZDLDJEQUF5QztBQUN6QywyREFBeUM7QUFDekMsOERBQTRDO0FBQzVDLHlEQUF1QztBQUN2Qyw2REFBMkM7QUFDM0MsMERBQXdDO0FBQ3hDLHdEQUFzQztBQUN0Qyx5REFBdUM7QUFDdkMseURBQXVDO0FBQ3ZDLG1EQUFpQztBQUNqQyx1REFBcUM7QUFDckMseURBQXVDO0FBQ3ZDLGlEQUErQjtBQUMvQix5REFBdUM7QUFDdkMseURBQXVDO0FBQ3ZDLGdFQUE4QztBQUM5QywwRUFBd0Q7QUFDeEQsZ0VBQThDO0FBQzlDLCtDQUE2QjtBQUU3QixrQkFBa0I7QUFDbEIsdUNBQXFDO0FBRXJDLDJEQUEyRDtBQUMzRCw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtaWNyb3NvZnQvdGVycmFmb3JtLWNkay1jb25zdHJ1Y3RzXG4gKlxuICogQXp1cmUgQ0RLIGNvbnN0cnVjdHMgdXNpbmcgQVpBUEkgcHJvdmlkZXIgZm9yIGRpcmVjdCBBenVyZSBSRVNUIEFQSSBhY2Nlc3MuXG4gKlxuICogVmVyc2lvbiAxLjAuMCAtIE1ham9yIGJyZWFraW5nIGNoYW5nZSBtaWdyYXRpb24gZnJvbSBBenVyZVJNIHRvIEFaQVBJXG4gKlxuICogQXZhaWxhYmxlIG1vZHVsZXM6XG4gKiAtIGF6dXJlX2FjdGlvbmdyb3VwOiBBenVyZSBBY3Rpb24gR3JvdXAgY29uc3RydWN0cyBmb3IgQXp1cmUgTW9uaXRvciBhbGVydHNcbiAqIC0gYXp1cmVfYWN0aXZpdHlsb2dhbGVydDogQXp1cmUgQWN0aXZpdHkgTG9nIEFsZXJ0IGNvbnN0cnVjdHMgZm9yIG9wZXJhdGlvbiBtb25pdG9yaW5nXG4gKiAtIGF6dXJlX2FrczogQXp1cmUgS3ViZXJuZXRlcyBTZXJ2aWNlIGNvbnN0cnVjdHMgd2l0aCB2ZXJzaW9uLWF3YXJlIEFaQVBJIGltcGxlbWVudGF0aW9uXG4gKiAtIGF6dXJlX2xvZ2FuYWx5dGljc3dvcmtzcGFjZTogTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UgY29uc3RydWN0cyBmb3IgbG9nIGRhdGEgY29sbGVjdGlvblxuICogLSBhenVyZV9kaWFnbm9zdGljc2V0dGluZ3M6IEF6dXJlIERpYWdub3N0aWMgU2V0dGluZ3MgY29uc3RydWN0cyBmb3IgbW9uaXRvcmluZyBhbmQgb2JzZXJ2YWJpbGl0eVxuICogLSBhenVyZV9kbnNmb3J3YXJkaW5ncnVsZXNldDogRE5TIEZvcndhcmRpbmcgUnVsZXNldCBjb25zdHJ1Y3RzIGZvciBwcml2YXRlIEROUyByZXNvbHV0aW9uXG4gKiAtIGF6dXJlX2Ruc3Jlc29sdmVyOiBETlMgUmVzb2x2ZXIgY29uc3RydWN0cyBmb3IgcHJpdmF0ZSBETlMgcmVzb2x1dGlvblxuICogLSBhenVyZV9kbnN6b25lOiBQdWJsaWMgRE5TIFpvbmUgY29uc3RydWN0cyB3aXRoIEROUyByZWNvcmQgbWFuYWdlbWVudFxuICogLSBhenVyZV9tZXRyaWNhbGVydDogQXp1cmUgTWV0cmljIEFsZXJ0IGNvbnN0cnVjdHMgZm9yIG1ldHJpYy1iYXNlZCBhbGVydGluZ1xuICogLSBhenVyZV9uZXR3b3JraW50ZXJmYWNlOiBOZXR3b3JrIEludGVyZmFjZSBjb25zdHJ1Y3RzIHdpdGggdmVyc2lvbi1hd2FyZSBBWkFQSSBpbXBsZW1lbnRhdGlvblxuICogLSBhenVyZV9uZXR3b3Jrc2VjdXJpdHlncm91cDogTmV0d29yayBTZWN1cml0eSBHcm91cCBjb25zdHJ1Y3RzIHdpdGggdmVyc2lvbi1hd2FyZSBBWkFQSSBpbXBsZW1lbnRhdGlvblxuICogLSBhenVyZV9uZXR3b3Jrd2F0Y2hlcjogTmV0d29yayBXYXRjaGVyIGNvbnN0cnVjdHMgZm9yIG5ldHdvcmsgbW9uaXRvcmluZyBhbmQgZGlhZ25vc3RpY3NcbiAqIC0gYXp1cmVfcG9saWN5YXNzaWdubWVudDogUG9saWN5IEFzc2lnbm1lbnQgY29uc3RydWN0cyBmb3IgQXp1cmUgUG9saWN5XG4gKiAtIGF6dXJlX3BvbGljeWRlZmluaXRpb246IFBvbGljeSBEZWZpbml0aW9uIGNvbnN0cnVjdHMgZm9yIGN1c3RvbSBBenVyZSBwb2xpY2llc1xuICogLSBhenVyZV9wb2xpY3lzZXRkZWZpbml0aW9uOiBQb2xpY3kgU2V0IERlZmluaXRpb24gKEluaXRpYXRpdmUpIGNvbnN0cnVjdHMgZm9yIGdyb3VwaW5nIHBvbGljaWVzXG4gKiAtIGF6dXJlX3ByaXZhdGVkbnN6b25lOiBQcml2YXRlIEROUyBab25lIGNvbnN0cnVjdHMgd2l0aCBETlMgcmVjb3JkIG1hbmFnZW1lbnRcbiAqIC0gYXp1cmVfcHJpdmF0ZWRuc3pvbmVsaW5rOiBQcml2YXRlIEROUyBab25lIExpbmsgY29uc3RydWN0cyBmb3IgVk5ldCBsaW5raW5nXG4gKiAtIGF6dXJlX3B1YmxpY2lwYWRkcmVzczogUHVibGljIElQIEFkZHJlc3MgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gYXp1cmVfcmVzb3VyY2Vncm91cDogUmVzb3VyY2UgR3JvdXAgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gYXp1cmVfcm9sZWFzc2lnbm1lbnQ6IFJvbGUgQXNzaWdubWVudCBjb25zdHJ1Y3RzIGZvciBBenVyZSBSQkFDXG4gKiAtIGF6dXJlX3JvbGVkZWZpbml0aW9uOiBSb2xlIERlZmluaXRpb24gY29uc3RydWN0cyBmb3IgY3VzdG9tIFJCQUMgcm9sZXNcbiAqIC0gYXp1cmVfc3RvcmFnZWFjY291bnQ6IFN0b3JhZ2UgQWNjb3VudCBjb25zdHJ1Y3RzIHdpdGggdmVyc2lvbi1hd2FyZSBBWkFQSSBpbXBsZW1lbnRhdGlvblxuICogLSBhenVyZV9zdWJuZXQ6IFN1Ym5ldCBjb25zdHJ1Y3RzIHdpdGggdmVyc2lvbi1hd2FyZSBBWkFQSSBpbXBsZW1lbnRhdGlvblxuICogLSBhenVyZV92aXJ0dWFsbWFjaGluZTogVmlydHVhbCBNYWNoaW5lIGNvbnN0cnVjdHMgd2l0aCB2ZXJzaW9uLWF3YXJlIEFaQVBJIGltcGxlbWVudGF0aW9uXG4gKiAtIGF6dXJlX3ZpcnR1YWxuZXR3b3JrOiBWaXJ0dWFsIE5ldHdvcmsgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gYXp1cmVfdmlydHVhbG5ldHdvcmtnYXRld2F5OiBWaXJ0dWFsIE5ldHdvcmsgR2F0ZXdheSBjb25zdHJ1Y3RzIGZvciBWUE4vRXhwcmVzc1JvdXRlXG4gKiAtIGF6dXJlX3ZpcnR1YWxuZXR3b3JrZ2F0ZXdheWNvbm5lY3Rpb246IFZOZXQgR2F0ZXdheSBDb25uZWN0aW9uIGNvbnN0cnVjdHNcbiAqIC0gYXp1cmVfdmlydHVhbG5ldHdvcmttYW5hZ2VyOiBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBjb25zdHJ1Y3RzIGZvciBuZXR3b3JrIGdvdmVybmFuY2VcbiAqIC0gYXp1cmVfdm1zczogVmlydHVhbCBNYWNoaW5lIFNjYWxlIFNldHMgY29uc3RydWN0cyB3aXRoIHZlcnNpb24tYXdhcmUgQVpBUEkgaW1wbGVtZW50YXRpb25cbiAqIC0gY29yZV9henVyZTogQ29yZSBBWkFQSSBmdW5jdGlvbmFsaXR5IGFuZCBiYXNlIGNsYXNzZXNcbiAqIC0gdGVzdGluZzogVGVzdCB1dGlsaXRpZXMgYW5kIGhlbHBlcnNcbiAqXG4gKiBGb3IgbWlncmF0aW9uIGd1aWRlIGFuZCBkb2N1bWVudGF0aW9uLCBzZWU6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vYXp1cmUvdGVycmFmb3JtLWNkay1jb25zdHJ1Y3RzXG4gKi9cblxuLy8gQ29yZSBBWkFQSSBmdW5jdGlvbmFsaXR5XG5leHBvcnQgKiBhcyBjb3JlX2F6dXJlIGZyb20gXCIuL2NvcmUtYXp1cmVcIjtcblxuLy8gRXhwb3J0IGNvcmUgdHlwZXMgYXQgdG9wIGxldmVsIGZvciBKU0lJIGNvbXBhdGliaWxpdHlcbmV4cG9ydCAqIGZyb20gXCIuL2NvcmUtYXp1cmVcIjtcblxuLy8gQVpBUEktYmFzZWQgQXp1cmUgc2VydmljZXNcbmV4cG9ydCAqIGFzIGF6dXJlX2FjdGlvbmdyb3VwIGZyb20gXCIuL2F6dXJlLWFjdGlvbmdyb3VwXCI7XG5leHBvcnQgKiBhcyBhenVyZV9hY3Rpdml0eWxvZ2FsZXJ0IGZyb20gXCIuL2F6dXJlLWFjdGl2aXR5bG9nYWxlcnRcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX2FrcyBmcm9tIFwiLi9henVyZS1ha3NcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX2FwcGxpY2F0aW9uaW5zaWdodHMgZnJvbSBcIi4vYXp1cmUtYXBwbGljYXRpb25pbnNpZ2h0c1wiO1xuZXhwb3J0ICogYXMgYXp1cmVfY29udGFpbmVyYXBwcyBmcm9tIFwiLi9henVyZS1jb250YWluZXJhcHBzXCI7XG5leHBvcnQgKiBhcyBhenVyZV9jb250YWluZXJyZWdpc3RyeSBmcm9tIFwiLi9henVyZS1jb250YWluZXJyZWdpc3RyeVwiO1xuZXhwb3J0ICogYXMgYXp1cmVfY29zbW9zZGIgZnJvbSBcIi4vYXp1cmUtY29zbW9zZGJcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX2Z1bmN0aW9uYXBwIGZyb20gXCIuL2F6dXJlLWZ1bmN0aW9uYXBwXCI7XG5leHBvcnQgKiBhcyBhenVyZV9kaWFnbm9zdGljc2V0dGluZ3MgZnJvbSBcIi4vYXp1cmUtZGlhZ25vc3RpY3NldHRpbmdzXCI7XG5leHBvcnQgKiBhcyBhenVyZV9kbnNmb3J3YXJkaW5ncnVsZXNldCBmcm9tIFwiLi9henVyZS1kbnNmb3J3YXJkaW5ncnVsZXNldFwiO1xuZXhwb3J0ICogYXMgYXp1cmVfa2V5dmF1bHQgZnJvbSBcIi4vYXp1cmUta2V5dmF1bHRcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX2xvZ2FuYWx5dGljc3dvcmtzcGFjZSBmcm9tIFwiLi9henVyZS1sb2dhbmFseXRpY3N3b3Jrc3BhY2VcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX2Ruc3Jlc29sdmVyIGZyb20gXCIuL2F6dXJlLWRuc3Jlc29sdmVyXCI7XG5leHBvcnQgKiBhcyBhenVyZV9kbnN6b25lIGZyb20gXCIuL2F6dXJlLWRuc3pvbmVcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX21ldHJpY2FsZXJ0IGZyb20gXCIuL2F6dXJlLW1ldHJpY2FsZXJ0XCI7XG5leHBvcnQgKiBhcyBhenVyZV9uZXR3b3JraW50ZXJmYWNlIGZyb20gXCIuL2F6dXJlLW5ldHdvcmtpbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX25ldHdvcmtzZWN1cml0eWdyb3VwIGZyb20gXCIuL2F6dXJlLW5ldHdvcmtzZWN1cml0eWdyb3VwXCI7XG5leHBvcnQgKiBhcyBhenVyZV9uZXR3b3Jrd2F0Y2hlciBmcm9tIFwiLi9henVyZS1uZXR3b3Jrd2F0Y2hlclwiO1xuZXhwb3J0ICogYXMgYXp1cmVfcG9saWN5YXNzaWdubWVudCBmcm9tIFwiLi9henVyZS1wb2xpY3lhc3NpZ25tZW50XCI7XG5leHBvcnQgKiBhcyBhenVyZV9wb2xpY3lkZWZpbml0aW9uIGZyb20gXCIuL2F6dXJlLXBvbGljeWRlZmluaXRpb25cIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3BvbGljeXNldGRlZmluaXRpb24gZnJvbSBcIi4vYXp1cmUtcG9saWN5c2V0ZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogYXMgYXp1cmVfcHJpdmF0ZWRuc3pvbmUgZnJvbSBcIi4vYXp1cmUtcHJpdmF0ZWRuc3pvbmVcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3ByaXZhdGVkbnN6b25lbGluayBmcm9tIFwiLi9henVyZS1wcml2YXRlZG5zem9uZWxpbmtcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3B1YmxpY2lwYWRkcmVzcyBmcm9tIFwiLi9henVyZS1wdWJsaWNpcGFkZHJlc3NcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3Jlc291cmNlZ3JvdXAgZnJvbSBcIi4vYXp1cmUtcmVzb3VyY2Vncm91cFwiO1xuZXhwb3J0ICogYXMgYXp1cmVfcm9sZWFzc2lnbm1lbnQgZnJvbSBcIi4vYXp1cmUtcm9sZWFzc2lnbm1lbnRcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3JvbGVkZWZpbml0aW9uIGZyb20gXCIuL2F6dXJlLXJvbGVkZWZpbml0aW9uXCI7XG5leHBvcnQgKiBhcyBhenVyZV9zcmVhZ2VudCBmcm9tIFwiLi9henVyZS1zcmVhZ2VudFwiO1xuZXhwb3J0ICogYXMgYXp1cmVfc3RhdGljd2ViYXBwIGZyb20gXCIuL2F6dXJlLXN0YXRpY3dlYmFwcFwiO1xuZXhwb3J0ICogYXMgYXp1cmVfc3RvcmFnZWFjY291bnQgZnJvbSBcIi4vYXp1cmUtc3RvcmFnZWFjY291bnRcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3N1Ym5ldCBmcm9tIFwiLi9henVyZS1zdWJuZXRcIjtcbmV4cG9ydCAqIGFzIGF6dXJlX3ZpcnR1YWxtYWNoaW5lIGZyb20gXCIuL2F6dXJlLXZpcnR1YWxtYWNoaW5lXCI7XG5leHBvcnQgKiBhcyBhenVyZV92aXJ0dWFsbmV0d29yayBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya1wiO1xuZXhwb3J0ICogYXMgYXp1cmVfdmlydHVhbG5ldHdvcmtnYXRld2F5IGZyb20gXCIuL2F6dXJlLXZpcnR1YWxuZXR3b3JrZ2F0ZXdheVwiO1xuZXhwb3J0ICogYXMgYXp1cmVfdmlydHVhbG5ldHdvcmtnYXRld2F5Y29ubmVjdGlvbiBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXljb25uZWN0aW9uXCI7XG5leHBvcnQgKiBhcyBhenVyZV92aXJ0dWFsbmV0d29ya21hbmFnZXIgZnJvbSBcIi4vYXp1cmUtdmlydHVhbG5ldHdvcmttYW5hZ2VyXCI7XG5leHBvcnQgKiBhcyBhenVyZV92bXNzIGZyb20gXCIuL2F6dXJlLXZtc3NcIjtcblxuLy8gRXhwb3J0IHR5cGVzIGF0IHRvcCBsZXZlbCBmb3IgSlNJSSBjb21wYXRpYmlsaXR5XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1hY3Rpb25ncm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtYWN0aXZpdHlsb2dhbGVydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtYWtzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1hcHBsaWNhdGlvbmluc2lnaHRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1jb250YWluZXJhcHBzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1jb250YWluZXJyZWdpc3RyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtY29zbW9zZGJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLWZ1bmN0aW9uYXBwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1kaWFnbm9zdGljc2V0dGluZ3NcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLWRuc2ZvcndhcmRpbmdydWxlc2V0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1kbnNyZXNvbHZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUta2V5dmF1bHRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLWxvZ2FuYWx5dGljc3dvcmtzcGFjZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtZG5zem9uZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtbWV0cmljYWxlcnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLW5ldHdvcmtpbnRlcmZhY2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLW5ldHdvcmtzZWN1cml0eWdyb3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1uZXR3b3Jrd2F0Y2hlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcG9saWN5YXNzaWdubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcG9saWN5ZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcG9saWN5c2V0ZGVmaW5pdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcHJpdmF0ZWRuc3pvbmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXByaXZhdGVkbnN6b25lbGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcHVibGljaXBhZGRyZXNzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1yZXNvdXJjZWdyb3VwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1yb2xlYXNzaWdubWVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtcm9sZWRlZmluaXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXNyZWFnZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1zdGF0aWN3ZWJhcHBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXN0b3JhZ2VhY2NvdW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS1zdWJuZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXZpcnR1YWxtYWNoaW5lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXp1cmUtdmlydHVhbG5ldHdvcmtnYXRld2F5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya2dhdGV3YXljb25uZWN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9henVyZS12aXJ0dWFsbmV0d29ya21hbmFnZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2F6dXJlLXZtc3NcIjtcblxuLy8gVXRpbGl0eSBtb2R1bGVzXG5leHBvcnQgKiBhcyB0ZXN0aW5nIGZyb20gXCIuL3Rlc3RpbmdcIjtcblxuLy8gRXhwb3J0IHRlc3RpbmcgdHlwZXMgYXQgdG9wIGxldmVsIGZvciBKU0lJIGNvbXBhdGliaWxpdHlcbmV4cG9ydCAqIGZyb20gXCIuL3Rlc3RpbmdcIjtcbiJdfQ==
@@ -132,7 +132,7 @@ class BaseTestStack extends cdktf_1.TerraformStack {
132
132
  }
133
133
  exports.BaseTestStack = BaseTestStack;
134
134
  _a = JSII_RTTI_SYMBOL_1;
135
- BaseTestStack[_a] = { fqn: "@microsoft/terraform-cdk-constructs.BaseTestStack", version: "1.8.0" };
135
+ BaseTestStack[_a] = { fqn: "@microsoft/terraform-cdk-constructs.BaseTestStack", version: "1.10.0" };
136
136
  function execTerraformCommand(command, opts, streamOutput) {
137
137
  try {
138
138
  if (streamOutput) {
@@ -465,7 +465,7 @@ class AssertionReturn {
465
465
  }
466
466
  exports.AssertionReturn = AssertionReturn;
467
467
  _b = JSII_RTTI_SYMBOL_1;
468
- AssertionReturn[_b] = { fqn: "@microsoft/terraform-cdk-constructs.AssertionReturn", version: "1.8.0" };
468
+ AssertionReturn[_b] = { fqn: "@microsoft/terraform-cdk-constructs.AssertionReturn", version: "1.10.0" };
469
469
  /**
470
470
  * Cleanup function for removing all CDKTF output directories in /tmp.
471
471
  *
@@ -90,7 +90,7 @@ class ResourceCleanupService {
90
90
  }
91
91
  exports.ResourceCleanupService = ResourceCleanupService;
92
92
  _a = JSII_RTTI_SYMBOL_1;
93
- ResourceCleanupService[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ResourceCleanupService", version: "1.8.0" };
93
+ ResourceCleanupService[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ResourceCleanupService", version: "1.10.0" };
94
94
  /**
95
95
  * Verifies that all resources with a specific test run ID are deleted
96
96
  *
@@ -134,7 +134,7 @@ class TestRunMetadata {
134
134
  }
135
135
  exports.TestRunMetadata = TestRunMetadata;
136
136
  _a = JSII_RTTI_SYMBOL_1;
137
- TestRunMetadata[_a] = { fqn: "@microsoft/terraform-cdk-constructs.TestRunMetadata", version: "1.8.0" };
137
+ TestRunMetadata[_a] = { fqn: "@microsoft/terraform-cdk-constructs.TestRunMetadata", version: "1.10.0" };
138
138
  /**
139
139
  * Detects and extracts CI context from environment
140
140
  *
package/package.json CHANGED
@@ -99,7 +99,7 @@
99
99
  "publishConfig": {
100
100
  "access": "public"
101
101
  },
102
- "version": "1.8.0",
102
+ "version": "1.10.0",
103
103
  "jest": {
104
104
  "testMatch": [
105
105
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",