@cdk_utils/iam 1.27.0 → 1.28.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 (460) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +5 -6
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.d.ts +16 -0
  69. package/lib/generated/services/billingconductor.js +31 -5
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +4 -4
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.d.ts +737 -0
  91. package/lib/generated/services/cloudwatch.js +845 -7
  92. package/lib/generated/services/codeartifact.js +4 -4
  93. package/lib/generated/services/codebuild.js +4 -4
  94. package/lib/generated/services/codecatalyst.js +4 -4
  95. package/lib/generated/services/codecommit.js +4 -4
  96. package/lib/generated/services/codeconnections.js +4 -4
  97. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  98. package/lib/generated/services/codedeploy.js +4 -4
  99. package/lib/generated/services/codeguru-profiler.js +4 -4
  100. package/lib/generated/services/codeguru-reviewer.js +4 -4
  101. package/lib/generated/services/codeguru-security.js +4 -4
  102. package/lib/generated/services/codeguru.js +1 -1
  103. package/lib/generated/services/codepipeline.js +4 -4
  104. package/lib/generated/services/codestar-connections.js +4 -4
  105. package/lib/generated/services/codestar-notifications.js +4 -4
  106. package/lib/generated/services/codestar.js +3 -3
  107. package/lib/generated/services/codewhisperer.js +3 -3
  108. package/lib/generated/services/cognito-identity.js +4 -4
  109. package/lib/generated/services/cognito-idp.js +4 -4
  110. package/lib/generated/services/cognito-sync.js +3 -3
  111. package/lib/generated/services/comprehend.js +4 -4
  112. package/lib/generated/services/comprehendmedical.js +3 -3
  113. package/lib/generated/services/compute-optimizer.js +3 -3
  114. package/lib/generated/services/config.js +4 -4
  115. package/lib/generated/services/connect-campaigns.js +4 -4
  116. package/lib/generated/services/connect.js +4 -4
  117. package/lib/generated/services/consoleapp.js +2 -2
  118. package/lib/generated/services/consolidatedbilling.js +1 -1
  119. package/lib/generated/services/controlcatalog.js +3 -3
  120. package/lib/generated/services/controltower.js +4 -4
  121. package/lib/generated/services/cost-optimization-hub.js +2 -2
  122. package/lib/generated/services/cur.js +4 -4
  123. package/lib/generated/services/customer-verification.js +1 -1
  124. package/lib/generated/services/databrew.js +4 -4
  125. package/lib/generated/services/dataexchange.js +4 -4
  126. package/lib/generated/services/datapipeline.js +4 -4
  127. package/lib/generated/services/datasync.js +4 -4
  128. package/lib/generated/services/datazone.js +4 -4
  129. package/lib/generated/services/dax.js +4 -4
  130. package/lib/generated/services/dbqms.js +1 -1
  131. package/lib/generated/services/deadline.js +4 -4
  132. package/lib/generated/services/detective.js +4 -4
  133. package/lib/generated/services/devicefarm.js +4 -4
  134. package/lib/generated/services/devops-guru.js +4 -4
  135. package/lib/generated/services/directconnect.js +4 -4
  136. package/lib/generated/services/discovery.js +3 -3
  137. package/lib/generated/services/dlm.js +4 -4
  138. package/lib/generated/services/dms.js +4 -4
  139. package/lib/generated/services/docdb-elastic.js +4 -4
  140. package/lib/generated/services/drs.js +4 -4
  141. package/lib/generated/services/ds-data.js +4 -4
  142. package/lib/generated/services/ds.js +4 -4
  143. package/lib/generated/services/dsql.js +4 -4
  144. package/lib/generated/services/dynamodb.js +4 -4
  145. package/lib/generated/services/ebs.js +4 -4
  146. package/lib/generated/services/ec2-instance-connect.js +4 -4
  147. package/lib/generated/services/ec2.js +4 -4
  148. package/lib/generated/services/ec2messages.js +2 -2
  149. package/lib/generated/services/ecr-public.js +4 -4
  150. package/lib/generated/services/ecr.js +4 -4
  151. package/lib/generated/services/ecs-mcp.js +1 -1
  152. package/lib/generated/services/ecs.js +4 -4
  153. package/lib/generated/services/eks-auth.js +4 -4
  154. package/lib/generated/services/eks-mcp.js +1 -1
  155. package/lib/generated/services/eks.js +4 -4
  156. package/lib/generated/services/elasticache.js +4 -4
  157. package/lib/generated/services/elasticbeanstalk.js +4 -4
  158. package/lib/generated/services/elasticfilesystem.js +4 -4
  159. package/lib/generated/services/elasticloadbalancing.js +4 -4
  160. package/lib/generated/services/elasticmapreduce.js +4 -4
  161. package/lib/generated/services/elastictranscoder.js +2 -2
  162. package/lib/generated/services/elemental-activations.js +1 -1
  163. package/lib/generated/services/elemental-appliances-software.js +2 -2
  164. package/lib/generated/services/elemental-inference.js +4 -4
  165. package/lib/generated/services/elemental-support-cases.js +3 -3
  166. package/lib/generated/services/elemental-support-content.js +1 -1
  167. package/lib/generated/services/emr-containers.js +4 -4
  168. package/lib/generated/services/emr-serverless.js +4 -4
  169. package/lib/generated/services/entityresolution.js +4 -4
  170. package/lib/generated/services/es.js +4 -4
  171. package/lib/generated/services/events.js +4 -4
  172. package/lib/generated/services/eventsbilltoaws.js +3 -3
  173. package/lib/generated/services/evidently.js +3 -3
  174. package/lib/generated/services/evs.js +4 -4
  175. package/lib/generated/services/execute-api.js +4 -4
  176. package/lib/generated/services/finops-agent.js +1 -1
  177. package/lib/generated/services/finspace-api.js +3 -3
  178. package/lib/generated/services/finspace.js +4 -4
  179. package/lib/generated/services/firehose.js +4 -4
  180. package/lib/generated/services/fis.js +4 -4
  181. package/lib/generated/services/fms.js +4 -4
  182. package/lib/generated/services/forecast.js +4 -4
  183. package/lib/generated/services/frauddetector.js +4 -4
  184. package/lib/generated/services/freertos.js +3 -3
  185. package/lib/generated/services/freetier.js +2 -2
  186. package/lib/generated/services/fsx.js +4 -4
  187. package/lib/generated/services/gamelift.js +4 -4
  188. package/lib/generated/services/gameliftstreams.js +4 -4
  189. package/lib/generated/services/geo-maps.js +3 -3
  190. package/lib/generated/services/geo-places.js +3 -3
  191. package/lib/generated/services/geo-routes.js +3 -3
  192. package/lib/generated/services/geo.js +4 -4
  193. package/lib/generated/services/glacier.js +4 -4
  194. package/lib/generated/services/globalaccelerator.js +4 -4
  195. package/lib/generated/services/glue.js +4 -4
  196. package/lib/generated/services/grafana.js +4 -4
  197. package/lib/generated/services/greengrass.js +4 -4
  198. package/lib/generated/services/groundstation.js +4 -4
  199. package/lib/generated/services/groundtruthlabeling.js +1 -1
  200. package/lib/generated/services/guardduty.js +4 -4
  201. package/lib/generated/services/health-agent.js +4 -4
  202. package/lib/generated/services/health.js +4 -4
  203. package/lib/generated/services/healthlake.js +4 -4
  204. package/lib/generated/services/honeycode.js +2 -2
  205. package/lib/generated/services/iam.js +4 -4
  206. package/lib/generated/services/identity-sync.js +2 -2
  207. package/lib/generated/services/identitystore-auth.js +1 -1
  208. package/lib/generated/services/identitystore.js +4 -4
  209. package/lib/generated/services/imagebuilder.js +4 -4
  210. package/lib/generated/services/importexport.js +2 -2
  211. package/lib/generated/services/inspector-scan.js +2 -2
  212. package/lib/generated/services/inspector.js +2 -2
  213. package/lib/generated/services/inspector2-telemetry.js +1 -1
  214. package/lib/generated/services/inspector2.js +4 -4
  215. package/lib/generated/services/interconnect.js +4 -4
  216. package/lib/generated/services/internetmonitor.js +4 -4
  217. package/lib/generated/services/invoicing.js +4 -4
  218. package/lib/generated/services/iot-device-tester.js +1 -1
  219. package/lib/generated/services/iot.js +4 -4
  220. package/lib/generated/services/iotanalytics.js +3 -3
  221. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  222. package/lib/generated/services/iotevents.js +3 -3
  223. package/lib/generated/services/iotfleethub.js +3 -3
  224. package/lib/generated/services/iotfleetwise.js +4 -4
  225. package/lib/generated/services/iotjobsdata.js +4 -4
  226. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  227. package/lib/generated/services/iotsitewise.js +4 -4
  228. package/lib/generated/services/iottwinmaker.js +4 -4
  229. package/lib/generated/services/iotwireless.js +4 -4
  230. package/lib/generated/services/iq-permission.js +2 -2
  231. package/lib/generated/services/iq.js +2 -2
  232. package/lib/generated/services/ivs.js +4 -4
  233. package/lib/generated/services/ivschat.js +4 -4
  234. package/lib/generated/services/kafka-cluster.js +3 -3
  235. package/lib/generated/services/kafka.js +4 -4
  236. package/lib/generated/services/kafkaconnect.js +4 -4
  237. package/lib/generated/services/kendra-ranking.js +4 -4
  238. package/lib/generated/services/kendra.js +4 -4
  239. package/lib/generated/services/kinesis.js +4 -4
  240. package/lib/generated/services/kinesisanalytics.js +4 -4
  241. package/lib/generated/services/kinesisvideo.js +4 -4
  242. package/lib/generated/services/kms.js +4 -4
  243. package/lib/generated/services/lakeformation.js +3 -3
  244. package/lib/generated/services/lambda.js +4 -4
  245. package/lib/generated/services/launchwizard.js +4 -4
  246. package/lib/generated/services/lex.js +4 -4
  247. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager.js +4 -4
  250. package/lib/generated/services/lightsail.js +4 -4
  251. package/lib/generated/services/logs.js +4 -4
  252. package/lib/generated/services/lookoutequipment.js +4 -4
  253. package/lib/generated/services/lookoutmetrics.js +3 -3
  254. package/lib/generated/services/lookoutvision.js +3 -3
  255. package/lib/generated/services/m2.js +4 -4
  256. package/lib/generated/services/machinelearning.js +3 -3
  257. package/lib/generated/services/macie2.js +4 -4
  258. package/lib/generated/services/managedblockchain-query.js +2 -2
  259. package/lib/generated/services/managedblockchain.js +4 -4
  260. package/lib/generated/services/mapcredits.js +2 -2
  261. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  262. package/lib/generated/services/mechanicalturk.js +2 -2
  263. package/lib/generated/services/mediaconnect.js +4 -4
  264. package/lib/generated/services/mediaconvert.js +4 -4
  265. package/lib/generated/services/mediaimport.js +1 -1
  266. package/lib/generated/services/medialive.js +4 -4
  267. package/lib/generated/services/mediapackage-vod.js +4 -4
  268. package/lib/generated/services/mediapackage.js +4 -4
  269. package/lib/generated/services/mediapackagev2.js +4 -4
  270. package/lib/generated/services/mediastore.js +4 -4
  271. package/lib/generated/services/mediatailor.js +4 -4
  272. package/lib/generated/services/medical-imaging.js +4 -4
  273. package/lib/generated/services/memorydb.js +4 -4
  274. package/lib/generated/services/mgh.js +4 -4
  275. package/lib/generated/services/mgn.js +4 -4
  276. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  277. package/lib/generated/services/migrationhub-strategy.js +2 -2
  278. package/lib/generated/services/mobileanalytics.js +1 -1
  279. package/lib/generated/services/mobiletargeting.js +4 -4
  280. package/lib/generated/services/monitron.js +3 -3
  281. package/lib/generated/services/mpa.js +4 -4
  282. package/lib/generated/services/mq.js +4 -4
  283. package/lib/generated/services/neptune-db.js +4 -4
  284. package/lib/generated/services/neptune-graph.js +4 -4
  285. package/lib/generated/services/network-firewall.js +4 -4
  286. package/lib/generated/services/network-security-director.js +1 -1
  287. package/lib/generated/services/networkflowmonitor.js +4 -4
  288. package/lib/generated/services/networkmanager-chat.js +1 -1
  289. package/lib/generated/services/networkmanager.js +4 -4
  290. package/lib/generated/services/networkmonitor.js +4 -4
  291. package/lib/generated/services/nimble.js +3 -3
  292. package/lib/generated/services/notifications-contacts.js +4 -4
  293. package/lib/generated/services/notifications.js +4 -4
  294. package/lib/generated/services/nova-act.js +3 -3
  295. package/lib/generated/services/oam.js +4 -4
  296. package/lib/generated/services/observabilityadmin.js +4 -4
  297. package/lib/generated/services/odb.js +4 -4
  298. package/lib/generated/services/omics.d.ts +6 -0
  299. package/lib/generated/services/omics.js +20 -5
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.js +4 -4
  311. package/lib/generated/services/payments.js +3 -3
  312. package/lib/generated/services/pca-connector-ad.js +4 -4
  313. package/lib/generated/services/pca-connector-scep.js +4 -4
  314. package/lib/generated/services/pcs.js +4 -4
  315. package/lib/generated/services/personalize.js +4 -4
  316. package/lib/generated/services/pi.js +4 -4
  317. package/lib/generated/services/pipes.js +4 -4
  318. package/lib/generated/services/polly.js +3 -3
  319. package/lib/generated/services/pricing.js +2 -2
  320. package/lib/generated/services/pricingplanmanager.js +3 -3
  321. package/lib/generated/services/private-networks.js +3 -3
  322. package/lib/generated/services/profile.js +4 -4
  323. package/lib/generated/services/proton.js +4 -4
  324. package/lib/generated/services/purchase-orders.js +3 -3
  325. package/lib/generated/services/q.js +3 -3
  326. package/lib/generated/services/qapps.js +4 -4
  327. package/lib/generated/services/qbusiness.js +4 -4
  328. package/lib/generated/services/qdeveloper.js +3 -3
  329. package/lib/generated/services/qldb.js +3 -3
  330. package/lib/generated/services/quicksight.js +4 -4
  331. package/lib/generated/services/ram.js +4 -4
  332. package/lib/generated/services/rbin.js +4 -4
  333. package/lib/generated/services/rds-data.js +4 -4
  334. package/lib/generated/services/rds-db.js +2 -2
  335. package/lib/generated/services/rds.js +4 -4
  336. package/lib/generated/services/redshift-data.js +4 -4
  337. package/lib/generated/services/redshift-serverless.js +4 -4
  338. package/lib/generated/services/redshift.js +4 -4
  339. package/lib/generated/services/refactor-spaces.js +4 -4
  340. package/lib/generated/services/rekognition.js +4 -4
  341. package/lib/generated/services/repostspace.js +4 -4
  342. package/lib/generated/services/researchstudio.js +1 -1
  343. package/lib/generated/services/resiliencehub.js +4 -4
  344. package/lib/generated/services/resource-explorer-2.js +4 -4
  345. package/lib/generated/services/resource-explorer.js +1 -1
  346. package/lib/generated/services/resource-groups.js +4 -4
  347. package/lib/generated/services/rhelkb.js +1 -1
  348. package/lib/generated/services/robomaker.js +3 -3
  349. package/lib/generated/services/rolesanywhere.js +4 -4
  350. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  351. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  352. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  353. package/lib/generated/services/route53.js +4 -4
  354. package/lib/generated/services/route53domains.js +2 -2
  355. package/lib/generated/services/route53globalresolver.js +4 -4
  356. package/lib/generated/services/route53profiles.js +4 -4
  357. package/lib/generated/services/route53resolver.js +4 -4
  358. package/lib/generated/services/rtbfabric.js +4 -4
  359. package/lib/generated/services/rum.js +4 -4
  360. package/lib/generated/services/s3-object-lambda.js +3 -3
  361. package/lib/generated/services/s3-outposts.js +4 -4
  362. package/lib/generated/services/s3.js +4 -4
  363. package/lib/generated/services/s3express.js +3 -3
  364. package/lib/generated/services/s3files.js +4 -4
  365. package/lib/generated/services/s3tables.js +4 -4
  366. package/lib/generated/services/s3vectors.js +4 -4
  367. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  368. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  369. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  370. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  371. package/lib/generated/services/sagemaker.js +4 -4
  372. package/lib/generated/services/savingsplans.js +4 -4
  373. package/lib/generated/services/scheduler.js +4 -4
  374. package/lib/generated/services/schemas.js +4 -4
  375. package/lib/generated/services/scn.js +4 -4
  376. package/lib/generated/services/sdb.js +3 -3
  377. package/lib/generated/services/secretsmanager.js +4 -4
  378. package/lib/generated/services/security-ir.js +4 -4
  379. package/lib/generated/services/securityagent.js +4 -4
  380. package/lib/generated/services/securityhub.js +4 -4
  381. package/lib/generated/services/securitylake.js +4 -4
  382. package/lib/generated/services/serverlessrepo.js +4 -4
  383. package/lib/generated/services/servicecatalog.js +4 -4
  384. package/lib/generated/services/servicediscovery.js +4 -4
  385. package/lib/generated/services/serviceextract.js +1 -1
  386. package/lib/generated/services/servicequotas.js +4 -4
  387. package/lib/generated/services/ses.js +4 -4
  388. package/lib/generated/services/shield.js +4 -4
  389. package/lib/generated/services/signer.js +4 -4
  390. package/lib/generated/services/signin.js +4 -4
  391. package/lib/generated/services/simspaceweaver.js +3 -3
  392. package/lib/generated/services/sms-voice.js +4 -4
  393. package/lib/generated/services/sms.js +1 -1
  394. package/lib/generated/services/snow-device-management.js +4 -4
  395. package/lib/generated/services/snowball.js +2 -2
  396. package/lib/generated/services/sns.js +4 -4
  397. package/lib/generated/services/social-messaging.js +4 -4
  398. package/lib/generated/services/sqlworkbench.js +3 -3
  399. package/lib/generated/services/sqs.js +4 -4
  400. package/lib/generated/services/ssm-contacts.js +4 -4
  401. package/lib/generated/services/ssm-guiconnect.js +2 -2
  402. package/lib/generated/services/ssm-incidents.js +4 -4
  403. package/lib/generated/services/ssm-quicksetup.js +4 -4
  404. package/lib/generated/services/ssm-sap.js +4 -4
  405. package/lib/generated/services/ssm.js +4 -4
  406. package/lib/generated/services/ssmmessages.js +2 -2
  407. package/lib/generated/services/sso-directory.js +1 -1
  408. package/lib/generated/services/sso-oauth.js +3 -3
  409. package/lib/generated/services/sso.js +4 -4
  410. package/lib/generated/services/states.js +4 -4
  411. package/lib/generated/services/storagegateway.js +4 -4
  412. package/lib/generated/services/sts.js +4 -4
  413. package/lib/generated/services/support-console.js +1 -1
  414. package/lib/generated/services/support.js +2 -2
  415. package/lib/generated/services/supportapp.js +2 -2
  416. package/lib/generated/services/supportauthz.js +4 -4
  417. package/lib/generated/services/supportplans.js +1 -1
  418. package/lib/generated/services/sustainability.js +2 -2
  419. package/lib/generated/services/swf.js +4 -4
  420. package/lib/generated/services/synthetics.js +4 -4
  421. package/lib/generated/services/tag.js +2 -2
  422. package/lib/generated/services/tax.js +2 -2
  423. package/lib/generated/services/textract.js +4 -4
  424. package/lib/generated/services/thinclient.js +4 -4
  425. package/lib/generated/services/timestream-influxdb.js +4 -4
  426. package/lib/generated/services/timestream.js +4 -4
  427. package/lib/generated/services/tiros.js +1 -1
  428. package/lib/generated/services/tnb.js +4 -4
  429. package/lib/generated/services/transcribe.js +4 -4
  430. package/lib/generated/services/transfer.js +4 -4
  431. package/lib/generated/services/transform-custom.js +3 -3
  432. package/lib/generated/services/transform.js +3 -3
  433. package/lib/generated/services/translate.js +4 -4
  434. package/lib/generated/services/trustedadvisor.js +3 -3
  435. package/lib/generated/services/ts.js +3 -3
  436. package/lib/generated/services/user-subscriptions.js +2 -2
  437. package/lib/generated/services/uxc.js +2 -2
  438. package/lib/generated/services/vendor-insights.js +3 -3
  439. package/lib/generated/services/verified-access.js +1 -1
  440. package/lib/generated/services/verifiedpermissions.js +4 -4
  441. package/lib/generated/services/voiceid.js +4 -4
  442. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  443. package/lib/generated/services/vpc-lattice.js +4 -4
  444. package/lib/generated/services/vpce.js +2 -2
  445. package/lib/generated/services/waf-regional.js +4 -4
  446. package/lib/generated/services/waf.js +4 -4
  447. package/lib/generated/services/wafv2.js +4 -4
  448. package/lib/generated/services/wam.js +1 -1
  449. package/lib/generated/services/wellarchitected.js +4 -4
  450. package/lib/generated/services/wickr.js +4 -4
  451. package/lib/generated/services/wisdom.js +4 -4
  452. package/lib/generated/services/workdocs.js +3 -3
  453. package/lib/generated/services/worklink.js +3 -3
  454. package/lib/generated/services/workmail.js +4 -4
  455. package/lib/generated/services/workmailmessageflow.js +3 -3
  456. package/lib/generated/services/workspaces-instances.js +4 -4
  457. package/lib/generated/services/workspaces-web.js +4 -4
  458. package/lib/generated/services/workspaces.js +4 -4
  459. package/lib/generated/services/xray.js +4 -4
  460. package/package.json +1 -1
@@ -16,7 +16,7 @@ class BillingActions {
16
16
  }
17
17
  exports.BillingActions = BillingActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- BillingActions[_a] = { fqn: "@cdk_utils/iam.billing.BillingActions", version: "1.27.0" };
19
+ BillingActions[_a] = { fqn: "@cdk_utils/iam.billing.BillingActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  BillingActions.SERVICE_PREFIX = "billing";
22
22
  /** [Write] billing:AssociateSourceViews */
@@ -165,7 +165,7 @@ class BillingResources {
165
165
  }
166
166
  exports.BillingResources = BillingResources;
167
167
  _b = JSII_RTTI_SYMBOL_1;
168
- BillingResources[_b] = { fqn: "@cdk_utils/iam.billing.BillingResources", version: "1.27.0" };
168
+ BillingResources[_b] = { fqn: "@cdk_utils/iam.billing.BillingResources", version: "1.28.0" };
169
169
  /**
170
170
  * API operation to required IAM actions mapping for billing.
171
171
  */
@@ -173,7 +173,7 @@ class BillingOperations {
173
173
  }
174
174
  exports.BillingOperations = BillingOperations;
175
175
  _c = JSII_RTTI_SYMBOL_1;
176
- BillingOperations[_c] = { fqn: "@cdk_utils/iam.billing.BillingOperations", version: "1.27.0" };
176
+ BillingOperations[_c] = { fqn: "@cdk_utils/iam.billing.BillingOperations", version: "1.28.0" };
177
177
  /** IAM actions required for the AssociateSourceViews API call. */
178
178
  BillingOperations.AssociateSourceViews = [
179
179
  "billing:AssociateSourceViews",
@@ -272,7 +272,7 @@ class BillingConditions {
272
272
  }
273
273
  exports.BillingConditions = BillingConditions;
274
274
  _d = JSII_RTTI_SYMBOL_1;
275
- BillingConditions[_d] = { fqn: "@cdk_utils/iam.billing.BillingConditions", version: "1.27.0" };
275
+ BillingConditions[_d] = { fqn: "@cdk_utils/iam.billing.BillingConditions", version: "1.28.0" };
276
276
  /** Condition keys applicable to the AssociateSourceViews action. */
277
277
  BillingConditions.AssociateSourceViewsConditionKeys = [
278
278
  "aws:ResourceTag/${TagKey}",
@@ -34,6 +34,8 @@ export declare class BillingconductorActions {
34
34
  static readonly DisassociatePricingRules = "billingconductor:DisassociatePricingRules";
35
35
  /** [Read] billingconductor:GetBillingGroupCostReport */
36
36
  static readonly actionGetBillingGroupCostReport = "billingconductor:GetBillingGroupCostReport";
37
+ /** [Read] billingconductor:GetBillingTransferPreference */
38
+ static readonly actionGetBillingTransferPreference = "billingconductor:GetBillingTransferPreference";
37
39
  /** [List] billingconductor:ListAccountAssociations */
38
40
  static readonly ListAccountAssociations = "billingconductor:ListAccountAssociations";
39
41
  /** [Read] billingconductor:ListBillingGroupCostReports */
@@ -62,6 +64,8 @@ export declare class BillingconductorActions {
62
64
  static readonly UntagResource = "billingconductor:UntagResource";
63
65
  /** [Write] billingconductor:UpdateBillingGroup */
64
66
  static readonly UpdateBillingGroup = "billingconductor:UpdateBillingGroup";
67
+ /** [Write] billingconductor:UpdateBillingTransferPreference */
68
+ static readonly UpdateBillingTransferPreference = "billingconductor:UpdateBillingTransferPreference";
65
69
  /** [Write] billingconductor:UpdateCustomLineItem */
66
70
  static readonly UpdateCustomLineItem = "billingconductor:UpdateCustomLineItem";
67
71
  /** [Write] billingconductor:UpdatePricingPlan */
@@ -258,6 +262,8 @@ export declare class BillingconductorOperations {
258
262
  static readonly DisassociatePricingRules: string[];
259
263
  /** IAM actions required for the GetBillingGroupCostReport API call. */
260
264
  static readonly opGetBillingGroupCostReport: string[];
265
+ /** IAM actions required for the GetBillingTransferPreference API call. */
266
+ static readonly opGetBillingTransferPreference: string[];
261
267
  /** IAM actions required for the ListAccountAssociations API call. */
262
268
  static readonly ListAccountAssociations: string[];
263
269
  /** IAM actions required for the ListBillingGroupCostReports API call. */
@@ -286,6 +292,8 @@ export declare class BillingconductorOperations {
286
292
  static readonly UntagResource: string[];
287
293
  /** IAM actions required for the UpdateBillingGroup API call. */
288
294
  static readonly UpdateBillingGroup: string[];
295
+ /** IAM actions required for the UpdateBillingTransferPreference API call. */
296
+ static readonly UpdateBillingTransferPreference: string[];
289
297
  /** IAM actions required for the UpdateCustomLineItem API call. */
290
298
  static readonly UpdateCustomLineItem: string[];
291
299
  /** IAM actions required for the UpdatePricingPlan API call. */
@@ -311,12 +319,16 @@ export declare class BillingconductorConditions {
311
319
  static readonly TagResourceConditionKeys: string[];
312
320
  /** Condition keys applicable to the UntagResource action. */
313
321
  static readonly UntagResourceConditionKeys: string[];
322
+ /** Condition keys applicable to the UpdateBillingTransferPreference action. */
323
+ static readonly UpdateBillingTransferPreferenceConditionKeys: string[];
314
324
  /** Condition key: aws:RequestTag/${TagKey} (String) */
315
325
  static readonly AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
316
326
  /** Condition key: aws:ResourceTag/${TagKey} (String) */
317
327
  static readonly AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
318
328
  /** Condition key: aws:TagKeys (ArrayOfString) */
319
329
  static readonly AWS_TAG_KEYS = "aws:TagKeys";
330
+ /** Condition key: billingconductor:PricingPlanArn (ARN) */
331
+ static readonly PRICING_PLAN_ARN = "billingconductor:PricingPlanArn";
320
332
  /**
321
333
  * Generates a condition block for `aws:RequestTag/${TagKey}`.
322
334
  */
@@ -329,4 +341,8 @@ export declare class BillingconductorConditions {
329
341
  * Generates a condition block for `aws:TagKeys`.
330
342
  */
331
343
  static tagKeys(values: string[]): Record<string, Record<string, string[]>>;
344
+ /**
345
+ * Generates a condition block for `billingconductor:PricingPlanArn`.
346
+ */
347
+ static pricingPlanARN(value: string): Record<string, Record<string, string>>;
332
348
  }
@@ -16,7 +16,7 @@ class BillingconductorActions {
16
16
  }
17
17
  exports.BillingconductorActions = BillingconductorActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- BillingconductorActions[_a] = { fqn: "@cdk_utils/iam.billingconductor.BillingconductorActions", version: "1.27.0" };
19
+ BillingconductorActions[_a] = { fqn: "@cdk_utils/iam.billingconductor.BillingconductorActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  BillingconductorActions.SERVICE_PREFIX = "billingconductor";
22
22
  /** [Write] billingconductor:AssociateAccounts */
@@ -49,6 +49,8 @@ BillingconductorActions.DisassociateAccounts = "billingconductor:DisassociateAcc
49
49
  BillingconductorActions.DisassociatePricingRules = "billingconductor:DisassociatePricingRules";
50
50
  /** [Read] billingconductor:GetBillingGroupCostReport */
51
51
  BillingconductorActions.actionGetBillingGroupCostReport = "billingconductor:GetBillingGroupCostReport";
52
+ /** [Read] billingconductor:GetBillingTransferPreference */
53
+ BillingconductorActions.actionGetBillingTransferPreference = "billingconductor:GetBillingTransferPreference";
52
54
  /** [List] billingconductor:ListAccountAssociations */
53
55
  BillingconductorActions.ListAccountAssociations = "billingconductor:ListAccountAssociations";
54
56
  /** [Read] billingconductor:ListBillingGroupCostReports */
@@ -77,6 +79,8 @@ BillingconductorActions.TagResource = "billingconductor:TagResource";
77
79
  BillingconductorActions.UntagResource = "billingconductor:UntagResource";
78
80
  /** [Write] billingconductor:UpdateBillingGroup */
79
81
  BillingconductorActions.UpdateBillingGroup = "billingconductor:UpdateBillingGroup";
82
+ /** [Write] billingconductor:UpdateBillingTransferPreference */
83
+ BillingconductorActions.UpdateBillingTransferPreference = "billingconductor:UpdateBillingTransferPreference";
80
84
  /** [Write] billingconductor:UpdateCustomLineItem */
81
85
  BillingconductorActions.UpdateCustomLineItem = "billingconductor:UpdateCustomLineItem";
82
86
  /** [Write] billingconductor:UpdatePricingPlan */
@@ -86,6 +90,7 @@ BillingconductorActions.UpdatePricingRule = "billingconductor:UpdatePricingRule"
86
90
  /** All read-level actions. */
87
91
  BillingconductorActions.AllReadActions = [
88
92
  BillingconductorActions.actionGetBillingGroupCostReport,
93
+ BillingconductorActions.actionGetBillingTransferPreference,
89
94
  BillingconductorActions.ListBillingGroupCostReports,
90
95
  BillingconductorActions.ListBillingGroups,
91
96
  BillingconductorActions.ListCustomLineItemVersions,
@@ -111,6 +116,7 @@ BillingconductorActions.AllWriteActions = [
111
116
  BillingconductorActions.DisassociateAccounts,
112
117
  BillingconductorActions.DisassociatePricingRules,
113
118
  BillingconductorActions.UpdateBillingGroup,
119
+ BillingconductorActions.UpdateBillingTransferPreference,
114
120
  BillingconductorActions.UpdateCustomLineItem,
115
121
  BillingconductorActions.UpdatePricingPlan,
116
122
  BillingconductorActions.UpdatePricingRule,
@@ -248,7 +254,7 @@ class BillingconductorResources {
248
254
  }
249
255
  exports.BillingconductorResources = BillingconductorResources;
250
256
  _b = JSII_RTTI_SYMBOL_1;
251
- BillingconductorResources[_b] = { fqn: "@cdk_utils/iam.billingconductor.BillingconductorResources", version: "1.27.0" };
257
+ BillingconductorResources[_b] = { fqn: "@cdk_utils/iam.billingconductor.BillingconductorResources", version: "1.28.0" };
252
258
  /**
253
259
  * API operation to required IAM actions mapping for billingconductor.
254
260
  */
@@ -256,7 +262,7 @@ class BillingconductorOperations {
256
262
  }
257
263
  exports.BillingconductorOperations = BillingconductorOperations;
258
264
  _c = JSII_RTTI_SYMBOL_1;
259
- BillingconductorOperations[_c] = { fqn: "@cdk_utils/iam.billingconductor.BillingconductorOperations", version: "1.27.0" };
265
+ BillingconductorOperations[_c] = { fqn: "@cdk_utils/iam.billingconductor.BillingconductorOperations", version: "1.28.0" };
260
266
  /** IAM actions required for the AssociateAccounts API call. */
261
267
  BillingconductorOperations.AssociateAccounts = [
262
268
  "billingconductor:AssociateAccounts",
@@ -321,6 +327,10 @@ BillingconductorOperations.DisassociatePricingRules = [
321
327
  BillingconductorOperations.opGetBillingGroupCostReport = [
322
328
  "billingconductor:GetBillingGroupCostReport",
323
329
  ];
330
+ /** IAM actions required for the GetBillingTransferPreference API call. */
331
+ BillingconductorOperations.opGetBillingTransferPreference = [
332
+ "billingconductor:GetBillingTransferPreference",
333
+ ];
324
334
  /** IAM actions required for the ListAccountAssociations API call. */
325
335
  BillingconductorOperations.ListAccountAssociations = [
326
336
  "billingconductor:ListAccountAssociations",
@@ -374,6 +384,10 @@ BillingconductorOperations.UntagResource = ["billingconductor:UntagResource"];
374
384
  BillingconductorOperations.UpdateBillingGroup = [
375
385
  "billingconductor:UpdateBillingGroup",
376
386
  ];
387
+ /** IAM actions required for the UpdateBillingTransferPreference API call. */
388
+ BillingconductorOperations.UpdateBillingTransferPreference = [
389
+ "billingconductor:UpdateBillingTransferPreference",
390
+ ];
377
391
  /** IAM actions required for the UpdateCustomLineItem API call. */
378
392
  BillingconductorOperations.UpdateCustomLineItem = [
379
393
  "billingconductor:UpdateCustomLineItem",
@@ -408,10 +422,16 @@ class BillingconductorConditions {
408
422
  static tagKeys(values) {
409
423
  return { "ForAllValues:StringEquals": { "aws:TagKeys": values } };
410
424
  }
425
+ /**
426
+ * Generates a condition block for `billingconductor:PricingPlanArn`.
427
+ */
428
+ static pricingPlanARN(value) {
429
+ return { ArnEquals: { "billingconductor:PricingPlanArn": value } };
430
+ }
411
431
  }
412
432
  exports.BillingconductorConditions = BillingconductorConditions;
413
433
  _d = JSII_RTTI_SYMBOL_1;
414
- BillingconductorConditions[_d] = { fqn: "@cdk_utils/iam.billingconductor.BillingconductorConditions", version: "1.27.0" };
434
+ BillingconductorConditions[_d] = { fqn: "@cdk_utils/iam.billingconductor.BillingconductorConditions", version: "1.28.0" };
415
435
  /** Condition keys applicable to the CreateBillingGroup action. */
416
436
  BillingconductorConditions.CreateBillingGroupConditionKeys = [
417
437
  "aws:RequestTag/${TagKey}",
@@ -444,10 +464,16 @@ BillingconductorConditions.TagResourceConditionKeys = [
444
464
  ];
445
465
  /** Condition keys applicable to the UntagResource action. */
446
466
  BillingconductorConditions.UntagResourceConditionKeys = ["aws:TagKeys"];
467
+ /** Condition keys applicable to the UpdateBillingTransferPreference action. */
468
+ BillingconductorConditions.UpdateBillingTransferPreferenceConditionKeys = [
469
+ "billingconductor:PricingPlanArn",
470
+ ];
447
471
  /** Condition key: aws:RequestTag/${TagKey} (String) */
448
472
  BillingconductorConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
449
473
  /** Condition key: aws:ResourceTag/${TagKey} (String) */
450
474
  BillingconductorConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
451
475
  /** Condition key: aws:TagKeys (ArrayOfString) */
452
476
  BillingconductorConditions.AWS_TAG_KEYS = "aws:TagKeys";
453
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZ2NvbmR1Y3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvYmlsbGluZ2NvbmR1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELHVEQUF1RDtBQUN2RCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7O0FBQXBDLDBEQWtJQzs7O0FBaklBLDhCQUE4QjtBQUNkLHNDQUFjLEdBQUcsa0JBQWtCLENBQUM7QUFFcEQsaURBQWlEO0FBQ2pDLHlDQUFpQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3pFLHFEQUFxRDtBQUNyQyw2Q0FBcUIsR0FDcEMsd0NBQXdDLENBQUM7QUFDMUMsdUVBQXVFO0FBQ3ZELCtEQUF1QyxHQUN0RCwwREFBMEQsQ0FBQztBQUM1RCw0RUFBNEU7QUFDNUQsb0VBQTRDLEdBQzNELCtEQUErRCxDQUFDO0FBQ2pFLGtEQUFrRDtBQUNsQywwQ0FBa0IsR0FBRyxxQ0FBcUMsQ0FBQztBQUMzRSxvREFBb0Q7QUFDcEMsNENBQW9CLEdBQ25DLHVDQUF1QyxDQUFDO0FBQ3pDLGlEQUFpRDtBQUNqQyx5Q0FBaUIsR0FBRyxvQ0FBb0MsQ0FBQztBQUN6RSxpREFBaUQ7QUFDakMseUNBQWlCLEdBQUcsb0NBQW9DLENBQUM7QUFDekUsa0RBQWtEO0FBQ2xDLDBDQUFrQixHQUFHLHFDQUFxQyxDQUFDO0FBQzNFLG9EQUFvRDtBQUNwQyw0Q0FBb0IsR0FDbkMsdUNBQXVDLENBQUM7QUFDekMsaURBQWlEO0FBQ2pDLHlDQUFpQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3pFLGlEQUFpRDtBQUNqQyx5Q0FBaUIsR0FBRyxvQ0FBb0MsQ0FBQztBQUN6RSxvREFBb0Q7QUFDcEMsNENBQW9CLEdBQ25DLHVDQUF1QyxDQUFDO0FBQ3pDLHdEQUF3RDtBQUN4Qyxn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QUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyx1Q0FBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2JpbGxpbmdjb25kdWN0b3IuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGJpbGxpbmdjb25kdWN0b3Igc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiYmlsbGluZ2NvbmR1Y3RvclwiO1xuXG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6QXNzb2NpYXRlQWNjb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFjY291bnRzID0gXCJiaWxsaW5nY29uZHVjdG9yOkFzc29jaWF0ZUFjY291bnRzXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6QXNzb2NpYXRlUHJpY2luZ1J1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVQcmljaW5nUnVsZXMgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpBc3NvY2lhdGVQcmljaW5nUnVsZXNcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpCYXRjaEFzc29jaWF0ZVJlc291cmNlc1RvQ3VzdG9tTGluZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbSA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbVwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkJhdGNoRGlzYXNzb2NpYXRlUmVzb3VyY2VzRnJvbUN1c3RvbUxpbmVJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERpc2Fzc29jaWF0ZVJlc291cmNlc0Zyb21DdXN0b21MaW5lSXRlbSA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkJhdGNoRGlzYXNzb2NpYXRlUmVzb3VyY2VzRnJvbUN1c3RvbUxpbmVJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlQmlsbGluZ0dyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCaWxsaW5nR3JvdXAgPSBcImJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlQmlsbGluZ0dyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlQ3VzdG9tTGluZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbUxpbmVJdGVtID1cblx0XHRcImJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlQ3VzdG9tTGluZUl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVQcmljaW5nUGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJpY2luZ1BsYW4gPSBcImJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlUHJpY2luZ1BsYW5cIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVQcmljaW5nUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJpY2luZ1J1bGUgPSBcImJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlUHJpY2luZ1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpEZWxldGVCaWxsaW5nR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJpbGxpbmdHcm91cCA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpEZWxldGVCaWxsaW5nR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpEZWxldGVDdXN0b21MaW5lSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tTGluZUl0ZW0gPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpEZWxldGVDdXN0b21MaW5lSXRlbVwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZVByaWNpbmdQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcmljaW5nUGxhbiA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpEZWxldGVQcmljaW5nUGxhblwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZVByaWNpbmdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcmljaW5nUnVsZSA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpEZWxldGVQcmljaW5nUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkRpc2Fzc29jaWF0ZUFjY291bnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVBY2NvdW50cyA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkRpc2Fzc29jaWF0ZUFjY291bnRzXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6RGlzYXNzb2NpYXRlUHJpY2luZ1J1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVQcmljaW5nUnVsZXMgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpEaXNhc3NvY2lhdGVQcmljaW5nUnVsZXNcIjtcblx0LyoqIFtSZWFkXSBiaWxsaW5nY29uZHVjdG9yOkdldEJpbGxpbmdHcm91cENvc3RSZXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJpbGxpbmdHcm91cENvc3RSZXBvcnQgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpHZXRCaWxsaW5nR3JvdXBDb3N0UmVwb3J0XCI7XG5cdC8qKiBbTGlzdF0gYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QWNjb3VudEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRBc3NvY2lhdGlvbnMgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QWNjb3VudEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6TGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmlsbGluZ0dyb3VwQ29zdFJlcG9ydHMgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QmlsbGluZ0dyb3VwQ29zdFJlcG9ydHNcIjtcblx0LyoqIFtSZWFkXSBiaWxsaW5nY29uZHVjdG9yOkxpc3RCaWxsaW5nR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmlsbGluZ0dyb3VwcyA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QmlsbGluZ0dyb3Vwc1wiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6TGlzdEN1c3RvbUxpbmVJdGVtVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21MaW5lSXRlbVZlcnNpb25zID1cblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdEN1c3RvbUxpbmVJdGVtVmVyc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBiaWxsaW5nY29uZHVjdG9yOkxpc3RDdXN0b21MaW5lSXRlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21MaW5lSXRlbXMgPSBcImJpbGxpbmdjb25kdWN0b3I6TGlzdEN1c3RvbUxpbmVJdGVtc1wiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6TGlzdFByaWNpbmdQbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaWNpbmdQbGFucyA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1BsYW5zXCI7XG5cdC8qKiBbTGlzdF0gYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1BsYW5zQXNzb2NpYXRlZFdpdGhQcmljaW5nUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaWNpbmdQbGFuc0Fzc29jaWF0ZWRXaXRoUHJpY2luZ1J1bGUgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1BsYW5zQXNzb2NpYXRlZFdpdGhQcmljaW5nUnVsZVwiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6TGlzdFByaWNpbmdSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaWNpbmdSdWxlcyA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1J1bGVzXCI7XG5cdC8qKiBbTGlzdF0gYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1J1bGVzQXNzb2NpYXRlZFRvUHJpY2luZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhbiA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkxpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhblwiO1xuXHQvKiogW0xpc3RdIGJpbGxpbmdjb25kdWN0b3I6TGlzdFJlc291cmNlc0Fzc29jaWF0ZWRUb0N1c3RvbUxpbmVJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW0gPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW1cIjtcblx0LyoqIFtSZWFkXSBiaWxsaW5nY29uZHVjdG9yOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImJpbGxpbmdjb25kdWN0b3I6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGJpbGxpbmdjb25kdWN0b3I6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJiaWxsaW5nY29uZHVjdG9yOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmlsbGluZ2NvbmR1Y3RvcjpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJiaWxsaW5nY29uZHVjdG9yOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVCaWxsaW5nR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJpbGxpbmdHcm91cCA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVCaWxsaW5nR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVDdXN0b21MaW5lSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTGluZUl0ZW0gPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVDdXN0b21MaW5lSXRlbVwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOlVwZGF0ZVByaWNpbmdQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcmljaW5nUGxhbiA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVQcmljaW5nUGxhblwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOlVwZGF0ZVByaWNpbmdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcmljaW5nUnVsZSA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVQcmljaW5nUnVsZVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLmFjdGlvbkdldEJpbGxpbmdHcm91cENvc3RSZXBvcnQsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuTGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RCaWxsaW5nR3JvdXBzLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RDdXN0b21MaW5lSXRlbVZlcnNpb25zLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RDdXN0b21MaW5lSXRlbXMsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuTGlzdFByaWNpbmdQbGFucyxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5MaXN0UHJpY2luZ1J1bGVzLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuQXNzb2NpYXRlQWNjb3VudHMsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuQXNzb2NpYXRlUHJpY2luZ1J1bGVzLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbSxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5CYXRjaERpc2Fzc29jaWF0ZVJlc291cmNlc0Zyb21DdXN0b21MaW5lSXRlbSxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5DcmVhdGVCaWxsaW5nR3JvdXAsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuQ3JlYXRlQ3VzdG9tTGluZUl0ZW0sXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuQ3JlYXRlUHJpY2luZ1BsYW4sXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuQ3JlYXRlUHJpY2luZ1J1bGUsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuRGVsZXRlQmlsbGluZ0dyb3VwLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkRlbGV0ZUN1c3RvbUxpbmVJdGVtLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkRlbGV0ZVByaWNpbmdQbGFuLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkRlbGV0ZVByaWNpbmdSdWxlLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkRpc2Fzc29jaWF0ZUFjY291bnRzLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkRpc2Fzc29jaWF0ZVByaWNpbmdSdWxlcyxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5VcGRhdGVCaWxsaW5nR3JvdXAsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuVXBkYXRlQ3VzdG9tTGluZUl0ZW0sXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuVXBkYXRlUHJpY2luZ1BsYW4sXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuVXBkYXRlUHJpY2luZ1J1bGUsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RBY2NvdW50QXNzb2NpYXRpb25zLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RQcmljaW5nUGxhbnNBc3NvY2lhdGVkV2l0aFByaWNpbmdSdWxlLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhbixcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5MaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW0sXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBiaWxsaW5nZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdjb25kdWN0b3JCaWxsaW5nZ3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQmlsbGluZ0dyb3VwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJpbGxpbmdHcm91cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBiaWxsaW5nZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdjb25kdWN0b3JCaWxsaW5nZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCaWxsaW5nR3JvdXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJpbGxpbmdHcm91cElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjdXN0b21saW5laXRlbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmlsbGluZ2NvbmR1Y3RvckN1c3RvbWxpbmVpdGVtQXJuUHJvcHMge1xuXHQvKiogVGhlIEN1c3RvbUxpbmVJdGVtSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGN1c3RvbUxpbmVJdGVtSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbWxpbmVpdGVtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaWxsaW5nY29uZHVjdG9yQ3VzdG9tbGluZWl0ZW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDdXN0b21MaW5lSXRlbUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY3VzdG9tTGluZUl0ZW1JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJpY2luZ3BsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdjb25kdWN0b3JQcmljaW5ncGxhbkFyblByb3BzIHtcblx0LyoqIFRoZSBQcmljaW5nUGxhbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcmljaW5nUGxhbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcmljaW5ncGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmlsbGluZ2NvbmR1Y3RvclByaWNpbmdwbGFuQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJpY2luZ1BsYW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByaWNpbmdQbGFuSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByaWNpbmdydWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaWxsaW5nY29uZHVjdG9yUHJpY2luZ3J1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJpY2luZ1J1bGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJpY2luZ1J1bGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJpY2luZ3J1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdjb25kdWN0b3JQcmljaW5ncnVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByaWNpbmdSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcmljaW5nUnVsZUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEJpbGxpbmdncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiaWxsaW5nY29uZHVjdG9yOjooPzxhY2NvdW50PlteOl0qKTpiaWxsaW5nZ3JvdXBcXC8oPzxiaWxsaW5nR3JvdXBJZD5bXjovP10rKSQvO1xuY29uc3QgQ3VzdG9tbGluZWl0ZW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmlsbGluZ2NvbmR1Y3Rvcjo6KD88YWNjb3VudD5bXjpdKik6Y3VzdG9tbGluZWl0ZW1cXC8oPzxjdXN0b21MaW5lSXRlbUlkPlteOi8/XSspJC87XG5jb25zdCBQcmljaW5ncGxhbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiaWxsaW5nY29uZHVjdG9yOjooPzxhY2NvdW50PlteOl0qKTpwcmljaW5ncGxhblxcLyg/PHByaWNpbmdQbGFuSWQ+W146Lz9dKykkLztcbmNvbnN0IFByaWNpbmdydWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJpbGxpbmdjb25kdWN0b3I6Oig/PGFjY291bnQ+W146XSopOnByaWNpbmdydWxlXFwvKD88cHJpY2luZ1J1bGVJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGJpbGxpbmdjb25kdWN0b3IgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQmlsbGluZ2NvbmR1Y3RvclJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmlsbGluZ2dyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJpbGxpbmdncm91cChwcm9wczogQmlsbGluZ2NvbmR1Y3RvckJpbGxpbmdncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiaWxsaW5nY29uZHVjdG9yOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJpbGxpbmdncm91cC8ke3Byb3BzLmJpbGxpbmdHcm91cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBiaWxsaW5nZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJpbGxpbmdncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCaWxsaW5nZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYmlsbGluZ2dyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJpbGxpbmdncm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmlsbGluZ2NvbmR1Y3RvckJpbGxpbmdncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmlsbGluZ2dyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJpbGxpbmdncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRiaWxsaW5nR3JvdXBJZDogbWF0Y2guZ3JvdXBzIS5iaWxsaW5nR3JvdXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b21saW5laXRlbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21saW5laXRlbShwcm9wczogQmlsbGluZ2NvbmR1Y3RvckN1c3RvbWxpbmVpdGVtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJpbGxpbmdjb25kdWN0b3I6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y3VzdG9tbGluZWl0ZW0vJHtwcm9wcy5jdXN0b21MaW5lSXRlbUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b21saW5laXRlbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tbGluZWl0ZW1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ3VzdG9tbGluZWl0ZW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tbGluZWl0ZW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ3VzdG9tbGluZWl0ZW1Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJpbGxpbmdjb25kdWN0b3JDdXN0b21saW5laXRlbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ3VzdG9tbGluZWl0ZW1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VzdG9tbGluZWl0ZW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y3VzdG9tTGluZUl0ZW1JZDogbWF0Y2guZ3JvdXBzIS5jdXN0b21MaW5lSXRlbUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByaWNpbmdwbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByaWNpbmdwbGFuKHByb3BzOiBCaWxsaW5nY29uZHVjdG9yUHJpY2luZ3BsYW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmlsbGluZ2NvbmR1Y3Rvcjo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcmljaW5ncGxhbi8ke3Byb3BzLnByaWNpbmdQbGFuSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByaWNpbmdwbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcmljaW5ncGxhbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcmljaW5ncGxhbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcmljaW5ncGxhbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcmljaW5ncGxhbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmlsbGluZ2NvbmR1Y3RvclByaWNpbmdwbGFuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcmljaW5ncGxhbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcmljaW5ncGxhbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcmljaW5nUGxhbklkOiBtYXRjaC5ncm91cHMhLnByaWNpbmdQbGFuSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJpY2luZ3J1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJpY2luZ3J1bGUocHJvcHM6IEJpbGxpbmdjb25kdWN0b3JQcmljaW5ncnVsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiaWxsaW5nY29uZHVjdG9yOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByaWNpbmdydWxlLyR7cHJvcHMucHJpY2luZ1J1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJpY2luZ3J1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByaWNpbmdydWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByaWNpbmdydWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByaWNpbmdydWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByaWNpbmdydWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCaWxsaW5nY29uZHVjdG9yUHJpY2luZ3J1bGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByaWNpbmdydWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByaWNpbmdydWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByaWNpbmdSdWxlSWQ6IG1hdGNoLmdyb3VwcyEucHJpY2luZ1J1bGVJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBiaWxsaW5nY29uZHVjdG9yLlxuICovXG5leHBvcnQgY2xhc3MgQmlsbGluZ2NvbmR1Y3Rvck9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVBY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFjY291bnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6QXNzb2NpYXRlQWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlUHJpY2luZ1J1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlUHJpY2luZ1J1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6QXNzb2NpYXRlUHJpY2luZ1J1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERpc2Fzc29jaWF0ZVJlc291cmNlc0Zyb21DdXN0b21MaW5lSXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGlzYXNzb2NpYXRlUmVzb3VyY2VzRnJvbUN1c3RvbUxpbmVJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6QmF0Y2hEaXNhc3NvY2lhdGVSZXNvdXJjZXNGcm9tQ3VzdG9tTGluZUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQmlsbGluZ0dyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmlsbGluZ0dyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlQmlsbGluZ0dyb3VwXCIsXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUN1c3RvbUxpbmVJdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTGluZUl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVDdXN0b21MaW5lSXRlbVwiLFxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcmljaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaWNpbmdQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlUHJpY2luZ1BsYW5cIixcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJpY2luZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmljaW5nUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkNyZWF0ZVByaWNpbmdSdWxlXCIsXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJpbGxpbmdHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJpbGxpbmdHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZUJpbGxpbmdHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21MaW5lSXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbUxpbmVJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6RGVsZXRlQ3VzdG9tTGluZUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJpY2luZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcmljaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZVByaWNpbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByaWNpbmdSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJpY2luZ1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpEZWxldGVQcmljaW5nUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVBY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFjY291bnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6RGlzYXNzb2NpYXRlQWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlUHJpY2luZ1J1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlUHJpY2luZ1J1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6RGlzYXNzb2NpYXRlUHJpY2luZ1J1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJpbGxpbmdHcm91cENvc3RSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJpbGxpbmdHcm91cENvc3RSZXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpHZXRCaWxsaW5nR3JvdXBDb3N0UmVwb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY2NvdW50QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QWNjb3VudEFzc29jaWF0aW9uc1wiLFxuXHRcdFwib3JnYW5pemF0aW9uczpMaXN0QWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCaWxsaW5nR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJpbGxpbmdHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QmlsbGluZ0dyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTGluZUl0ZW1WZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21MaW5lSXRlbVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdEN1c3RvbUxpbmVJdGVtVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEN1c3RvbUxpbmVJdGVtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21MaW5lSXRlbXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0Q3VzdG9tTGluZUl0ZW1zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcmljaW5nUGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJpY2luZ1BsYW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdFByaWNpbmdQbGFuc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJpY2luZ1BsYW5zQXNzb2NpYXRlZFdpdGhQcmljaW5nUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcmljaW5nUGxhbnNBc3NvY2lhdGVkV2l0aFByaWNpbmdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdFByaWNpbmdQbGFuc0Fzc29jaWF0ZWRXaXRoUHJpY2luZ1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByaWNpbmdSdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcmljaW5nUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1J1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkxpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYmlsbGluZ2NvbmR1Y3RvcjpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYmlsbGluZ2NvbmR1Y3RvcjpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCaWxsaW5nR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCaWxsaW5nR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVCaWxsaW5nR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ3VzdG9tTGluZUl0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDdXN0b21MaW5lSXRlbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOlVwZGF0ZUN1c3RvbUxpbmVJdGVtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByaWNpbmdQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJpY2luZ1BsYW46IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVQcmljaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcmljaW5nUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaWNpbmdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6VXBkYXRlUHJpY2luZ1J1bGVcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJpbGxpbmdjb25kdWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBCaWxsaW5nY29uZHVjdG9yQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVCaWxsaW5nR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmlsbGluZ0dyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDdXN0b21MaW5lSXRlbSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21MaW5lSXRlbUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJpY2luZ1BsYW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJpY2luZ1BsYW5Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByaWNpbmdSdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaWNpbmdSdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cbn1cbiJdfQ==
477
+ /** Condition key: billingconductor:PricingPlanArn (ARN) */
478
+ BillingconductorConditions.PRICING_PLAN_ARN = "billingconductor:PricingPlanArn";
479
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZ2NvbmR1Y3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvYmlsbGluZ2NvbmR1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELHVEQUF1RDtBQUN2RCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7O0FBQXBDLDBEQTBJQzs7O0FBeklBLDhCQUE4QjtBQUNkLHNDQUFjLEdBQUcsa0JBQWtCLENBQUM7QUFFcEQsaURBQWlEO0FBQ2pDLHlDQUFpQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3pFLHFEQUFxRDtBQUNyQyw2Q0FBcUIsR0FDcEMsd0NBQXdDLENBQUM7QUFDMUMsdUVBQXVFO0FBQ3ZELCtEQUF1QyxHQUN0RCwwREFBMEQsQ0FBQztBQUM1RCw0RUFBNEU7QUFDNUQsb0VBQTRDLEdBQzNELCtEQUErRCxDQUFDO0FBQ2pFLGtEQUFrRDtBQUNsQywwQ0FBa0IsR0FBRyxxQ0FBcUMsQ0FBQztBQUMzRSxvREFBb0Q7QUFDcEMsNENBQW9CLEdBQ25DLHVDQUF1QyxDQUFDO0FBQ3pDLGlEQUFpRDtBQUNqQyx5Q0FBaUIsR0FBRyxvQ0FBb0MsQ0FBQztBQUN6RSxpREFBaUQ7QUFDakMseUNBQWlCLEdBQUcsb0NBQW9DLENBQUM7QUFDekUsa0RBQWtEO0FBQ2xDLDBDQUFrQixHQUFHLHFDQUFxQyxDQUFDO0FBQzNFLG9EQUFvRDtBQUNwQyw0Q0FBb0IsR0FDbkMsdUNBQXVDLENBQUM7QUFDekMsaURBQWlEO0FBQ2pDLHlDQUFpQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3pFLGlEQUFpRDtBQUNqQyx5Q0FBaUIsR0FBRyxvQ0FBb0MsQ0FBQztBQUN6RSxvREFBb0Q7QUFDcEMsNENBQW9CLEdBQ25DLHVDQUF1QyxDQUFDO0FBQ3pDLHdEQUF3RDtBQUN4Qyxn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QWlFO0FBQ2pELHlEQUE4QixHQUFhO0lBQzFELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCx5REFBOEIsR0FBYTtJQUMxRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixtRUFBbUU7QUFDbkQsMkRBQWdDLEdBQWE7SUFDNUQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLG1EQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxxREFBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ3ZFLCtFQUErRTtBQUMvRCx1RUFBNEMsR0FBYTtJQUN4RSxpQ0FBaUM7Q0FDakMsQ0FBQztBQUVGLHVEQUF1RDtBQUN2QywwQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QywyQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsdUNBQVksR0FBRyxhQUFhLENBQUM7QUFDN0MsMkRBQTJEO0FBQzNDLDJDQUFnQixHQUFHLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvYmlsbGluZ2NvbmR1Y3Rvci5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgYmlsbGluZ2NvbmR1Y3RvciBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgQmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJiaWxsaW5nY29uZHVjdG9yXCI7XG5cblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpBc3NvY2lhdGVBY2NvdW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlQWNjb3VudHMgPSBcImJpbGxpbmdjb25kdWN0b3I6QXNzb2NpYXRlQWNjb3VudHNcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpBc3NvY2lhdGVQcmljaW5nUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVByaWNpbmdSdWxlcyA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkFzc29jaWF0ZVByaWNpbmdSdWxlc1wiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBc3NvY2lhdGVSZXNvdXJjZXNUb0N1c3RvbUxpbmVJdGVtID1cblx0XHRcImJpbGxpbmdjb25kdWN0b3I6QmF0Y2hBc3NvY2lhdGVSZXNvdXJjZXNUb0N1c3RvbUxpbmVJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6QmF0Y2hEaXNhc3NvY2lhdGVSZXNvdXJjZXNGcm9tQ3VzdG9tTGluZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGlzYXNzb2NpYXRlUmVzb3VyY2VzRnJvbUN1c3RvbUxpbmVJdGVtID1cblx0XHRcImJpbGxpbmdjb25kdWN0b3I6QmF0Y2hEaXNhc3NvY2lhdGVSZXNvdXJjZXNGcm9tQ3VzdG9tTGluZUl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVCaWxsaW5nR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJpbGxpbmdHcm91cCA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVCaWxsaW5nR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVDdXN0b21MaW5lSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTGluZUl0ZW0gPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVDdXN0b21MaW5lSXRlbVwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkNyZWF0ZVByaWNpbmdQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmljaW5nUGxhbiA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVQcmljaW5nUGxhblwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkNyZWF0ZVByaWNpbmdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmljaW5nUnVsZSA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVQcmljaW5nUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZUJpbGxpbmdHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQmlsbGluZ0dyb3VwID0gXCJiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZUJpbGxpbmdHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZUN1c3RvbUxpbmVJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21MaW5lSXRlbSA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZUN1c3RvbUxpbmVJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6RGVsZXRlUHJpY2luZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByaWNpbmdQbGFuID0gXCJiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZVByaWNpbmdQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6RGVsZXRlUHJpY2luZ1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByaWNpbmdSdWxlID0gXCJiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZVByaWNpbmdSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6RGlzYXNzb2NpYXRlQWNjb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFjY291bnRzID1cblx0XHRcImJpbGxpbmdjb25kdWN0b3I6RGlzYXNzb2NpYXRlQWNjb3VudHNcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpEaXNhc3NvY2lhdGVQcmljaW5nUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVByaWNpbmdSdWxlcyA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkRpc2Fzc29jaWF0ZVByaWNpbmdSdWxlc1wiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6R2V0QmlsbGluZ0dyb3VwQ29zdFJlcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmlsbGluZ0dyb3VwQ29zdFJlcG9ydCA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkdldEJpbGxpbmdHcm91cENvc3RSZXBvcnRcIjtcblx0LyoqIFtSZWFkXSBiaWxsaW5nY29uZHVjdG9yOkdldEJpbGxpbmdUcmFuc2ZlclByZWZlcmVuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJpbGxpbmdUcmFuc2ZlclByZWZlcmVuY2UgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpHZXRCaWxsaW5nVHJhbnNmZXJQcmVmZXJlbmNlXCI7XG5cdC8qKiBbTGlzdF0gYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QWNjb3VudEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRBc3NvY2lhdGlvbnMgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QWNjb3VudEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6TGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmlsbGluZ0dyb3VwQ29zdFJlcG9ydHMgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QmlsbGluZ0dyb3VwQ29zdFJlcG9ydHNcIjtcblx0LyoqIFtSZWFkXSBiaWxsaW5nY29uZHVjdG9yOkxpc3RCaWxsaW5nR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmlsbGluZ0dyb3VwcyA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QmlsbGluZ0dyb3Vwc1wiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6TGlzdEN1c3RvbUxpbmVJdGVtVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21MaW5lSXRlbVZlcnNpb25zID1cblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdEN1c3RvbUxpbmVJdGVtVmVyc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBiaWxsaW5nY29uZHVjdG9yOkxpc3RDdXN0b21MaW5lSXRlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21MaW5lSXRlbXMgPSBcImJpbGxpbmdjb25kdWN0b3I6TGlzdEN1c3RvbUxpbmVJdGVtc1wiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6TGlzdFByaWNpbmdQbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaWNpbmdQbGFucyA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1BsYW5zXCI7XG5cdC8qKiBbTGlzdF0gYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1BsYW5zQXNzb2NpYXRlZFdpdGhQcmljaW5nUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaWNpbmdQbGFuc0Fzc29jaWF0ZWRXaXRoUHJpY2luZ1J1bGUgPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1BsYW5zQXNzb2NpYXRlZFdpdGhQcmljaW5nUnVsZVwiO1xuXHQvKiogW1JlYWRdIGJpbGxpbmdjb25kdWN0b3I6TGlzdFByaWNpbmdSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaWNpbmdSdWxlcyA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1J1bGVzXCI7XG5cdC8qKiBbTGlzdF0gYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1J1bGVzQXNzb2NpYXRlZFRvUHJpY2luZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhbiA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkxpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhblwiO1xuXHQvKiogW0xpc3RdIGJpbGxpbmdjb25kdWN0b3I6TGlzdFJlc291cmNlc0Fzc29jaWF0ZWRUb0N1c3RvbUxpbmVJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW0gPVxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW1cIjtcblx0LyoqIFtSZWFkXSBiaWxsaW5nY29uZHVjdG9yOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImJpbGxpbmdjb25kdWN0b3I6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGJpbGxpbmdjb25kdWN0b3I6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJiaWxsaW5nY29uZHVjdG9yOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmlsbGluZ2NvbmR1Y3RvcjpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJiaWxsaW5nY29uZHVjdG9yOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVCaWxsaW5nR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJpbGxpbmdHcm91cCA9IFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVCaWxsaW5nR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVCaWxsaW5nVHJhbnNmZXJQcmVmZXJlbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCaWxsaW5nVHJhbnNmZXJQcmVmZXJlbmNlID1cblx0XHRcImJpbGxpbmdjb25kdWN0b3I6VXBkYXRlQmlsbGluZ1RyYW5zZmVyUHJlZmVyZW5jZVwiO1xuXHQvKiogW1dyaXRlXSBiaWxsaW5nY29uZHVjdG9yOlVwZGF0ZUN1c3RvbUxpbmVJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDdXN0b21MaW5lSXRlbSA9XG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOlVwZGF0ZUN1c3RvbUxpbmVJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6VXBkYXRlUHJpY2luZ1BsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaWNpbmdQbGFuID0gXCJiaWxsaW5nY29uZHVjdG9yOlVwZGF0ZVByaWNpbmdQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGJpbGxpbmdjb25kdWN0b3I6VXBkYXRlUHJpY2luZ1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaWNpbmdSdWxlID0gXCJiaWxsaW5nY29uZHVjdG9yOlVwZGF0ZVByaWNpbmdSdWxlXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuYWN0aW9uR2V0QmlsbGluZ0dyb3VwQ29zdFJlcG9ydCxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5hY3Rpb25HZXRCaWxsaW5nVHJhbnNmZXJQcmVmZXJlbmNlLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RCaWxsaW5nR3JvdXBDb3N0UmVwb3J0cyxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5MaXN0QmlsbGluZ0dyb3Vwcyxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5MaXN0Q3VzdG9tTGluZUl0ZW1WZXJzaW9ucyxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5MaXN0Q3VzdG9tTGluZUl0ZW1zLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RQcmljaW5nUGxhbnMsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuTGlzdFByaWNpbmdSdWxlcyxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkFzc29jaWF0ZUFjY291bnRzLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkFzc29jaWF0ZVByaWNpbmdSdWxlcyxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5CYXRjaEFzc29jaWF0ZVJlc291cmNlc1RvQ3VzdG9tTGluZUl0ZW0sXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuQmF0Y2hEaXNhc3NvY2lhdGVSZXNvdXJjZXNGcm9tQ3VzdG9tTGluZUl0ZW0sXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuQ3JlYXRlQmlsbGluZ0dyb3VwLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkNyZWF0ZUN1c3RvbUxpbmVJdGVtLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkNyZWF0ZVByaWNpbmdQbGFuLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkNyZWF0ZVByaWNpbmdSdWxlLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkRlbGV0ZUJpbGxpbmdHcm91cCxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5EZWxldGVDdXN0b21MaW5lSXRlbSxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5EZWxldGVQcmljaW5nUGxhbixcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5EZWxldGVQcmljaW5nUnVsZSxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5EaXNhc3NvY2lhdGVBY2NvdW50cyxcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5EaXNhc3NvY2lhdGVQcmljaW5nUnVsZXMsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuVXBkYXRlQmlsbGluZ0dyb3VwLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLlVwZGF0ZUJpbGxpbmdUcmFuc2ZlclByZWZlcmVuY2UsXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuVXBkYXRlQ3VzdG9tTGluZUl0ZW0sXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuVXBkYXRlUHJpY2luZ1BsYW4sXG5cdFx0QmlsbGluZ2NvbmR1Y3RvckFjdGlvbnMuVXBkYXRlUHJpY2luZ1J1bGUsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RBY2NvdW50QXNzb2NpYXRpb25zLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RQcmljaW5nUGxhbnNBc3NvY2lhdGVkV2l0aFByaWNpbmdSdWxlLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLkxpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhbixcblx0XHRCaWxsaW5nY29uZHVjdG9yQWN0aW9ucy5MaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW0sXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEJpbGxpbmdjb25kdWN0b3JBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBiaWxsaW5nZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdjb25kdWN0b3JCaWxsaW5nZ3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQmlsbGluZ0dyb3VwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJpbGxpbmdHcm91cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBiaWxsaW5nZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdjb25kdWN0b3JCaWxsaW5nZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCaWxsaW5nR3JvdXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJpbGxpbmdHcm91cElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjdXN0b21saW5laXRlbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmlsbGluZ2NvbmR1Y3RvckN1c3RvbWxpbmVpdGVtQXJuUHJvcHMge1xuXHQvKiogVGhlIEN1c3RvbUxpbmVJdGVtSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGN1c3RvbUxpbmVJdGVtSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbWxpbmVpdGVtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaWxsaW5nY29uZHVjdG9yQ3VzdG9tbGluZWl0ZW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDdXN0b21MaW5lSXRlbUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY3VzdG9tTGluZUl0ZW1JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJpY2luZ3BsYW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdjb25kdWN0b3JQcmljaW5ncGxhbkFyblByb3BzIHtcblx0LyoqIFRoZSBQcmljaW5nUGxhbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcmljaW5nUGxhbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcmljaW5ncGxhbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmlsbGluZ2NvbmR1Y3RvclByaWNpbmdwbGFuQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJpY2luZ1BsYW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByaWNpbmdQbGFuSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHByaWNpbmdydWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaWxsaW5nY29uZHVjdG9yUHJpY2luZ3J1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJpY2luZ1J1bGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJpY2luZ1J1bGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcHJpY2luZ3J1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbGxpbmdjb25kdWN0b3JQcmljaW5ncnVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByaWNpbmdSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcmljaW5nUnVsZUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEJpbGxpbmdncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiaWxsaW5nY29uZHVjdG9yOjooPzxhY2NvdW50PlteOl0qKTpiaWxsaW5nZ3JvdXBcXC8oPzxiaWxsaW5nR3JvdXBJZD5bXjovP10rKSQvO1xuY29uc3QgQ3VzdG9tbGluZWl0ZW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmlsbGluZ2NvbmR1Y3Rvcjo6KD88YWNjb3VudD5bXjpdKik6Y3VzdG9tbGluZWl0ZW1cXC8oPzxjdXN0b21MaW5lSXRlbUlkPlteOi8/XSspJC87XG5jb25zdCBQcmljaW5ncGxhbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiaWxsaW5nY29uZHVjdG9yOjooPzxhY2NvdW50PlteOl0qKTpwcmljaW5ncGxhblxcLyg/PHByaWNpbmdQbGFuSWQ+W146Lz9dKykkLztcbmNvbnN0IFByaWNpbmdydWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJpbGxpbmdjb25kdWN0b3I6Oig/PGFjY291bnQ+W146XSopOnByaWNpbmdydWxlXFwvKD88cHJpY2luZ1J1bGVJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGJpbGxpbmdjb25kdWN0b3IgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQmlsbGluZ2NvbmR1Y3RvclJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYmlsbGluZ2dyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJpbGxpbmdncm91cChwcm9wczogQmlsbGluZ2NvbmR1Y3RvckJpbGxpbmdncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiaWxsaW5nY29uZHVjdG9yOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJpbGxpbmdncm91cC8ke3Byb3BzLmJpbGxpbmdHcm91cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBiaWxsaW5nZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJpbGxpbmdncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCaWxsaW5nZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYmlsbGluZ2dyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJpbGxpbmdncm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmlsbGluZ2NvbmR1Y3RvckJpbGxpbmdncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQmlsbGluZ2dyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJpbGxpbmdncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRiaWxsaW5nR3JvdXBJZDogbWF0Y2guZ3JvdXBzIS5iaWxsaW5nR3JvdXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b21saW5laXRlbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjdXN0b21saW5laXRlbShwcm9wczogQmlsbGluZ2NvbmR1Y3RvckN1c3RvbWxpbmVpdGVtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJpbGxpbmdjb25kdWN0b3I6OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y3VzdG9tbGluZWl0ZW0vJHtwcm9wcy5jdXN0b21MaW5lSXRlbUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b21saW5laXRlbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ3VzdG9tbGluZWl0ZW1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ3VzdG9tbGluZWl0ZW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tbGluZWl0ZW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ3VzdG9tbGluZWl0ZW1Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJpbGxpbmdjb25kdWN0b3JDdXN0b21saW5laXRlbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ3VzdG9tbGluZWl0ZW1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3VzdG9tbGluZWl0ZW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y3VzdG9tTGluZUl0ZW1JZDogbWF0Y2guZ3JvdXBzIS5jdXN0b21MaW5lSXRlbUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByaWNpbmdwbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByaWNpbmdwbGFuKHByb3BzOiBCaWxsaW5nY29uZHVjdG9yUHJpY2luZ3BsYW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmlsbGluZ2NvbmR1Y3Rvcjo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcmljaW5ncGxhbi8ke3Byb3BzLnByaWNpbmdQbGFuSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByaWNpbmdwbGFuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcmljaW5ncGxhbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcmljaW5ncGxhbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwcmljaW5ncGxhbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcmljaW5ncGxhbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmlsbGluZ2NvbmR1Y3RvclByaWNpbmdwbGFuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcmljaW5ncGxhbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcmljaW5ncGxhbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcmljaW5nUGxhbklkOiBtYXRjaC5ncm91cHMhLnByaWNpbmdQbGFuSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJpY2luZ3J1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJpY2luZ3J1bGUocHJvcHM6IEJpbGxpbmdjb25kdWN0b3JQcmljaW5ncnVsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiaWxsaW5nY29uZHVjdG9yOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByaWNpbmdydWxlLyR7cHJvcHMucHJpY2luZ1J1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJpY2luZ3J1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByaWNpbmdydWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByaWNpbmdydWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByaWNpbmdydWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByaWNpbmdydWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCaWxsaW5nY29uZHVjdG9yUHJpY2luZ3J1bGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByaWNpbmdydWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHByaWNpbmdydWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByaWNpbmdSdWxlSWQ6IG1hdGNoLmdyb3VwcyEucHJpY2luZ1J1bGVJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBiaWxsaW5nY29uZHVjdG9yLlxuICovXG5leHBvcnQgY2xhc3MgQmlsbGluZ2NvbmR1Y3Rvck9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVBY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUFjY291bnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6QXNzb2NpYXRlQWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlUHJpY2luZ1J1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlUHJpY2luZ1J1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6QXNzb2NpYXRlUHJpY2luZ1J1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbTogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkJhdGNoQXNzb2NpYXRlUmVzb3VyY2VzVG9DdXN0b21MaW5lSXRlbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERpc2Fzc29jaWF0ZVJlc291cmNlc0Zyb21DdXN0b21MaW5lSXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGlzYXNzb2NpYXRlUmVzb3VyY2VzRnJvbUN1c3RvbUxpbmVJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6QmF0Y2hEaXNhc3NvY2lhdGVSZXNvdXJjZXNGcm9tQ3VzdG9tTGluZUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQmlsbGluZ0dyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmlsbGluZ0dyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlQmlsbGluZ0dyb3VwXCIsXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUN1c3RvbUxpbmVJdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTGluZUl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpDcmVhdGVDdXN0b21MaW5lSXRlbVwiLFxuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcmljaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaWNpbmdQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6Q3JlYXRlUHJpY2luZ1BsYW5cIixcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJpY2luZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmljaW5nUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkNyZWF0ZVByaWNpbmdSdWxlXCIsXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJpbGxpbmdHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJpbGxpbmdHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZUJpbGxpbmdHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21MaW5lSXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbUxpbmVJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6RGVsZXRlQ3VzdG9tTGluZUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJpY2luZ1BsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcmljaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkRlbGV0ZVByaWNpbmdQbGFuXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByaWNpbmdSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJpY2luZ1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpEZWxldGVQcmljaW5nUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVBY2NvdW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUFjY291bnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6RGlzYXNzb2NpYXRlQWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlUHJpY2luZ1J1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlUHJpY2luZ1J1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6RGlzYXNzb2NpYXRlUHJpY2luZ1J1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJpbGxpbmdHcm91cENvc3RSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJpbGxpbmdHcm91cENvc3RSZXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpHZXRCaWxsaW5nR3JvdXBDb3N0UmVwb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJpbGxpbmdUcmFuc2ZlclByZWZlcmVuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJpbGxpbmdUcmFuc2ZlclByZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpHZXRCaWxsaW5nVHJhbnNmZXJQcmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY2NvdW50QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QWNjb3VudEFzc29jaWF0aW9uc1wiLFxuXHRcdFwib3JnYW5pemF0aW9uczpMaXN0QWNjb3VudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdEJpbGxpbmdHcm91cENvc3RSZXBvcnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCaWxsaW5nR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJpbGxpbmdHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0QmlsbGluZ0dyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tTGluZUl0ZW1WZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21MaW5lSXRlbVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdEN1c3RvbUxpbmVJdGVtVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEN1c3RvbUxpbmVJdGVtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21MaW5lSXRlbXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0Q3VzdG9tTGluZUl0ZW1zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcmljaW5nUGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJpY2luZ1BsYW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdFByaWNpbmdQbGFuc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJpY2luZ1BsYW5zQXNzb2NpYXRlZFdpdGhQcmljaW5nUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcmljaW5nUGxhbnNBc3NvY2lhdGVkV2l0aFByaWNpbmdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6TGlzdFByaWNpbmdQbGFuc0Fzc29jaWF0ZWRXaXRoUHJpY2luZ1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByaWNpbmdSdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcmljaW5nUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UHJpY2luZ1J1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOkxpc3RQcmljaW5nUnVsZXNBc3NvY2lhdGVkVG9QcmljaW5nUGxhblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0UmVzb3VyY2VzQXNzb2NpYXRlZFRvQ3VzdG9tTGluZUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYmlsbGluZ2NvbmR1Y3RvcjpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYmlsbGluZ2NvbmR1Y3RvcjpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCaWxsaW5nR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCaWxsaW5nR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVCaWxsaW5nR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQmlsbGluZ1RyYW5zZmVyUHJlZmVyZW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJpbGxpbmdUcmFuc2ZlclByZWZlcmVuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVCaWxsaW5nVHJhbnNmZXJQcmVmZXJlbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUN1c3RvbUxpbmVJdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tTGluZUl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpVcGRhdGVDdXN0b21MaW5lSXRlbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcmljaW5nUGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaWNpbmdQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcImJpbGxpbmdjb25kdWN0b3I6VXBkYXRlUHJpY2luZ1BsYW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJpY2luZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcmljaW5nUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiaWxsaW5nY29uZHVjdG9yOlVwZGF0ZVByaWNpbmdSdWxlXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBiaWxsaW5nY29uZHVjdG9yLlxuICovXG5leHBvcnQgY2xhc3MgQmlsbGluZ2NvbmR1Y3RvckNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQmlsbGluZ0dyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJpbGxpbmdHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ3VzdG9tTGluZUl0ZW0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tTGluZUl0ZW1Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByaWNpbmdQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaWNpbmdQbGFuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcmljaW5nUnVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcmljaW5nUnVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUJpbGxpbmdUcmFuc2ZlclByZWZlcmVuY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQmlsbGluZ1RyYW5zZmVyUHJlZmVyZW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmlsbGluZ2NvbmR1Y3RvcjpQcmljaW5nUGxhbkFyblwiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJpbGxpbmdjb25kdWN0b3I6UHJpY2luZ1BsYW5Bcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBSSUNJTkdfUExBTl9BUk4gPSBcImJpbGxpbmdjb25kdWN0b3I6UHJpY2luZ1BsYW5Bcm5cIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmlsbGluZ2NvbmR1Y3RvcjpQcmljaW5nUGxhbkFybmAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpY2luZ1BsYW5BUk4odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJiaWxsaW5nY29uZHVjdG9yOlByaWNpbmdQbGFuQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
@@ -16,7 +16,7 @@ class BraketActions {
16
16
  }
17
17
  exports.BraketActions = BraketActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- BraketActions[_a] = { fqn: "@cdk_utils/iam.braket.BraketActions", version: "1.27.0" };
19
+ BraketActions[_a] = { fqn: "@cdk_utils/iam.braket.BraketActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  BraketActions.SERVICE_PREFIX = "braket";
22
22
  /** [Write] braket:AcceptUserAgreement */
@@ -218,7 +218,7 @@ class BraketResources {
218
218
  }
219
219
  exports.BraketResources = BraketResources;
220
220
  _b = JSII_RTTI_SYMBOL_1;
221
- BraketResources[_b] = { fqn: "@cdk_utils/iam.braket.BraketResources", version: "1.27.0" };
221
+ BraketResources[_b] = { fqn: "@cdk_utils/iam.braket.BraketResources", version: "1.28.0" };
222
222
  /**
223
223
  * API operation to required IAM actions mapping for braket.
224
224
  */
@@ -226,7 +226,7 @@ class BraketOperations {
226
226
  }
227
227
  exports.BraketOperations = BraketOperations;
228
228
  _c = JSII_RTTI_SYMBOL_1;
229
- BraketOperations[_c] = { fqn: "@cdk_utils/iam.braket.BraketOperations", version: "1.27.0" };
229
+ BraketOperations[_c] = { fqn: "@cdk_utils/iam.braket.BraketOperations", version: "1.28.0" };
230
230
  /** IAM actions required for the CancelJob API call. */
231
231
  BraketOperations.CancelJob = ["braket:CancelJob"];
232
232
  /** IAM actions required for the CancelQuantumTask API call. */
@@ -304,7 +304,7 @@ class BraketConditions {
304
304
  }
305
305
  exports.BraketConditions = BraketConditions;
306
306
  _d = JSII_RTTI_SYMBOL_1;
307
- BraketConditions[_d] = { fqn: "@cdk_utils/iam.braket.BraketConditions", version: "1.27.0" };
307
+ BraketConditions[_d] = { fqn: "@cdk_utils/iam.braket.BraketConditions", version: "1.28.0" };
308
308
  /** Condition keys applicable to the CreateJob action. */
309
309
  BraketConditions.CreateJobConditionKeys = [
310
310
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class BudgetsActions {
16
16
  }
17
17
  exports.BudgetsActions = BudgetsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- BudgetsActions[_a] = { fqn: "@cdk_utils/iam.budgets.BudgetsActions", version: "1.27.0" };
19
+ BudgetsActions[_a] = { fqn: "@cdk_utils/iam.budgets.BudgetsActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  BudgetsActions.SERVICE_PREFIX = "budgets";
22
22
  /** [Write] budgets:CreateBudgetAction */
@@ -135,7 +135,7 @@ class BudgetsResources {
135
135
  }
136
136
  exports.BudgetsResources = BudgetsResources;
137
137
  _b = JSII_RTTI_SYMBOL_1;
138
- BudgetsResources[_b] = { fqn: "@cdk_utils/iam.budgets.BudgetsResources", version: "1.27.0" };
138
+ BudgetsResources[_b] = { fqn: "@cdk_utils/iam.budgets.BudgetsResources", version: "1.28.0" };
139
139
  /**
140
140
  * API operation to required IAM actions mapping for budgets.
141
141
  */
@@ -143,7 +143,7 @@ class BudgetsOperations {
143
143
  }
144
144
  exports.BudgetsOperations = BudgetsOperations;
145
145
  _c = JSII_RTTI_SYMBOL_1;
146
- BudgetsOperations[_c] = { fqn: "@cdk_utils/iam.budgets.BudgetsOperations", version: "1.27.0" };
146
+ BudgetsOperations[_c] = { fqn: "@cdk_utils/iam.budgets.BudgetsOperations", version: "1.28.0" };
147
147
  /** IAM actions required for the CreateBudget API call. */
148
148
  BudgetsOperations.CreateBudget = [
149
149
  "aws-portal:ModifyBilling",
@@ -303,7 +303,7 @@ class BudgetsConditions {
303
303
  }
304
304
  exports.BudgetsConditions = BudgetsConditions;
305
305
  _d = JSII_RTTI_SYMBOL_1;
306
- BudgetsConditions[_d] = { fqn: "@cdk_utils/iam.budgets.BudgetsConditions", version: "1.27.0" };
306
+ BudgetsConditions[_d] = { fqn: "@cdk_utils/iam.budgets.BudgetsConditions", version: "1.28.0" };
307
307
  /** Condition keys applicable to the CreateBudgetAction action. */
308
308
  BudgetsConditions.CreateBudgetActionConditionKeys = [
309
309
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class BugbustActions {
16
16
  }
17
17
  exports.BugbustActions = BugbustActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- BugbustActions[_a] = { fqn: "@cdk_utils/iam.bugbust.BugbustActions", version: "1.27.0" };
19
+ BugbustActions[_a] = { fqn: "@cdk_utils/iam.bugbust.BugbustActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  BugbustActions.SERVICE_PREFIX = "bugbust";
22
22
  /** [Write] bugbust:CreateEvent */
@@ -118,7 +118,7 @@ class BugbustResources {
118
118
  }
119
119
  exports.BugbustResources = BugbustResources;
120
120
  _b = JSII_RTTI_SYMBOL_1;
121
- BugbustResources[_b] = { fqn: "@cdk_utils/iam.bugbust.BugbustResources", version: "1.27.0" };
121
+ BugbustResources[_b] = { fqn: "@cdk_utils/iam.bugbust.BugbustResources", version: "1.28.0" };
122
122
  /**
123
123
  * Condition key constants and builders for bugbust.
124
124
  */
@@ -144,7 +144,7 @@ class BugbustConditions {
144
144
  }
145
145
  exports.BugbustConditions = BugbustConditions;
146
146
  _c = JSII_RTTI_SYMBOL_1;
147
- BugbustConditions[_c] = { fqn: "@cdk_utils/iam.bugbust.BugbustConditions", version: "1.27.0" };
147
+ BugbustConditions[_c] = { fqn: "@cdk_utils/iam.bugbust.BugbustConditions", version: "1.28.0" };
148
148
  /** Condition keys applicable to the CreateEvent action. */
149
149
  BugbustConditions.CreateEventConditionKeys = [
150
150
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class CasesActions {
16
16
  }
17
17
  exports.CasesActions = CasesActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- CasesActions[_a] = { fqn: "@cdk_utils/iam.cases.CasesActions", version: "1.27.0" };
19
+ CasesActions[_a] = { fqn: "@cdk_utils/iam.cases.CasesActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  CasesActions.SERVICE_PREFIX = "cases";
22
22
  /** [Read] cases:BatchGetCaseRule */
@@ -379,7 +379,7 @@ class CasesResources {
379
379
  }
380
380
  exports.CasesResources = CasesResources;
381
381
  _b = JSII_RTTI_SYMBOL_1;
382
- CasesResources[_b] = { fqn: "@cdk_utils/iam.cases.CasesResources", version: "1.27.0" };
382
+ CasesResources[_b] = { fqn: "@cdk_utils/iam.cases.CasesResources", version: "1.28.0" };
383
383
  /**
384
384
  * API operation to required IAM actions mapping for cases.
385
385
  */
@@ -387,7 +387,7 @@ class CasesOperations {
387
387
  }
388
388
  exports.CasesOperations = CasesOperations;
389
389
  _c = JSII_RTTI_SYMBOL_1;
390
- CasesOperations[_c] = { fqn: "@cdk_utils/iam.cases.CasesOperations", version: "1.27.0" };
390
+ CasesOperations[_c] = { fqn: "@cdk_utils/iam.cases.CasesOperations", version: "1.28.0" };
391
391
  /** IAM actions required for the BatchGetCaseRule API call. */
392
392
  CasesOperations.BatchGetCaseRule = ["cases:BatchGetCaseRule"];
393
393
  /** IAM actions required for the BatchGetField API call. */
@@ -522,7 +522,7 @@ class CasesConditions {
522
522
  }
523
523
  exports.CasesConditions = CasesConditions;
524
524
  _d = JSII_RTTI_SYMBOL_1;
525
- CasesConditions[_d] = { fqn: "@cdk_utils/iam.cases.CasesConditions", version: "1.27.0" };
525
+ CasesConditions[_d] = { fqn: "@cdk_utils/iam.cases.CasesConditions", version: "1.28.0" };
526
526
  /** Condition keys applicable to the CreateCase action. */
527
527
  CasesConditions.CreateCaseConditionKeys = ["connect:UserArn"];
528
528
  /** Condition keys applicable to the CreateRelatedItem action. */
@@ -16,7 +16,7 @@ class CassandraActions {
16
16
  }
17
17
  exports.CassandraActions = CassandraActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- CassandraActions[_a] = { fqn: "@cdk_utils/iam.cassandra.CassandraActions", version: "1.27.0" };
19
+ CassandraActions[_a] = { fqn: "@cdk_utils/iam.cassandra.CassandraActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  CassandraActions.SERVICE_PREFIX = "cassandra";
22
22
  /** [Write] cassandra:Alter */
@@ -191,7 +191,7 @@ class CassandraResources {
191
191
  }
192
192
  exports.CassandraResources = CassandraResources;
193
193
  _b = JSII_RTTI_SYMBOL_1;
194
- CassandraResources[_b] = { fqn: "@cdk_utils/iam.cassandra.CassandraResources", version: "1.27.0" };
194
+ CassandraResources[_b] = { fqn: "@cdk_utils/iam.cassandra.CassandraResources", version: "1.28.0" };
195
195
  /**
196
196
  * API operation to required IAM actions mapping for cassandra.
197
197
  */
@@ -199,7 +199,7 @@ class CassandraOperations {
199
199
  }
200
200
  exports.CassandraOperations = CassandraOperations;
201
201
  _c = JSII_RTTI_SYMBOL_1;
202
- CassandraOperations[_c] = { fqn: "@cdk_utils/iam.cassandra.CassandraOperations", version: "1.27.0" };
202
+ CassandraOperations[_c] = { fqn: "@cdk_utils/iam.cassandra.CassandraOperations", version: "1.28.0" };
203
203
  /** IAM actions required for the CreateKeyspace API call. */
204
204
  CassandraOperations.CreateKeyspace = [
205
205
  "cassandra:Create",
@@ -329,7 +329,7 @@ class CassandraConditions {
329
329
  }
330
330
  exports.CassandraConditions = CassandraConditions;
331
331
  _d = JSII_RTTI_SYMBOL_1;
332
- CassandraConditions[_d] = { fqn: "@cdk_utils/iam.cassandra.CassandraConditions", version: "1.27.0" };
332
+ CassandraConditions[_d] = { fqn: "@cdk_utils/iam.cassandra.CassandraConditions", version: "1.28.0" };
333
333
  /** Condition keys applicable to the Alter action. */
334
334
  CassandraConditions.AlterConditionKeys = [
335
335
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class CeActions {
16
16
  }
17
17
  exports.CeActions = CeActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- CeActions[_a] = { fqn: "@cdk_utils/iam.ce.CeActions", version: "1.27.0" };
19
+ CeActions[_a] = { fqn: "@cdk_utils/iam.ce.CeActions", version: "1.28.0" };
20
20
  /** The IAM service prefix. */
21
21
  CeActions.SERVICE_PREFIX = "ce";
22
22
  /** [Write] ce:CreateAnomalyMonitor */
@@ -329,7 +329,7 @@ class CeResources {
329
329
  }
330
330
  exports.CeResources = CeResources;
331
331
  _b = JSII_RTTI_SYMBOL_1;
332
- CeResources[_b] = { fqn: "@cdk_utils/iam.ce.CeResources", version: "1.27.0" };
332
+ CeResources[_b] = { fqn: "@cdk_utils/iam.ce.CeResources", version: "1.28.0" };
333
333
  /**
334
334
  * API operation to required IAM actions mapping for ce.
335
335
  */
@@ -337,7 +337,7 @@ class CeOperations {
337
337
  }
338
338
  exports.CeOperations = CeOperations;
339
339
  _c = JSII_RTTI_SYMBOL_1;
340
- CeOperations[_c] = { fqn: "@cdk_utils/iam.ce.CeOperations", version: "1.27.0" };
340
+ CeOperations[_c] = { fqn: "@cdk_utils/iam.ce.CeOperations", version: "1.28.0" };
341
341
  /** IAM actions required for the CreateAnomalyMonitor API call. */
342
342
  CeOperations.CreateAnomalyMonitor = [
343
343
  "ce:CreateAnomalyMonitor",
@@ -556,7 +556,7 @@ class CeConditions {
556
556
  }
557
557
  exports.CeConditions = CeConditions;
558
558
  _d = JSII_RTTI_SYMBOL_1;
559
- CeConditions[_d] = { fqn: "@cdk_utils/iam.ce.CeConditions", version: "1.27.0" };
559
+ CeConditions[_d] = { fqn: "@cdk_utils/iam.ce.CeConditions", version: "1.28.0" };
560
560
  /** Condition keys applicable to the CreateAnomalyMonitor action. */
561
561
  CeConditions.CreateAnomalyMonitorConditionKeys = [
562
562
  "aws:RequestTag/${TagKey}",