@cdk_utils/iam 1.10.0 → 1.11.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 (461) hide show
  1. package/.jsii +1598 -1560
  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.d.ts +2 -0
  15. package/lib/generated/services/aidevops.js +7 -5
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.js +4 -4
  26. package/lib/generated/services/appfabric.js +4 -4
  27. package/lib/generated/services/appflow.js +4 -4
  28. package/lib/generated/services/application-autoscaling.js +4 -4
  29. package/lib/generated/services/application-signals-mcp.js +3 -3
  30. package/lib/generated/services/application-signals.js +4 -4
  31. package/lib/generated/services/application-transformation.js +1 -1
  32. package/lib/generated/services/applicationinsights.js +3 -3
  33. package/lib/generated/services/appmesh-preview.js +2 -2
  34. package/lib/generated/services/appmesh.js +4 -4
  35. package/lib/generated/services/apprunner.js +4 -4
  36. package/lib/generated/services/appstream.js +4 -4
  37. package/lib/generated/services/appstudio.js +2 -2
  38. package/lib/generated/services/appsync.js +4 -4
  39. package/lib/generated/services/apptest.js +3 -3
  40. package/lib/generated/services/aps.js +4 -4
  41. package/lib/generated/services/arc-region-switch.js +4 -4
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.d.ts +6 -0
  49. package/lib/generated/services/autoscaling.js +20 -5
  50. package/lib/generated/services/aws-external-anthropic.js +3 -3
  51. package/lib/generated/services/aws-marketplace-management.js +1 -1
  52. package/lib/generated/services/aws-marketplace.js +4 -4
  53. package/lib/generated/services/aws-portal.js +1 -1
  54. package/lib/generated/services/awsconnector.js +1 -1
  55. package/lib/generated/services/b2bi.js +4 -4
  56. package/lib/generated/services/backup-gateway.js +4 -4
  57. package/lib/generated/services/backup-search.js +4 -4
  58. package/lib/generated/services/backup-storage.js +1 -1
  59. package/lib/generated/services/backup.js +4 -4
  60. package/lib/generated/services/batch.js +4 -4
  61. package/lib/generated/services/bcm-dashboards.js +4 -4
  62. package/lib/generated/services/bcm-data-exports.js +4 -4
  63. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  64. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  65. package/lib/generated/services/bedrock-agentcore.js +4 -4
  66. package/lib/generated/services/bedrock-mantle.js +3 -3
  67. package/lib/generated/services/bedrock-websearch.js +2 -2
  68. package/lib/generated/services/bedrock.js +4 -4
  69. package/lib/generated/services/billing.js +4 -4
  70. package/lib/generated/services/billingconductor.js +4 -4
  71. package/lib/generated/services/braket.js +4 -4
  72. package/lib/generated/services/budgets.js +4 -4
  73. package/lib/generated/services/bugbust.js +3 -3
  74. package/lib/generated/services/cases.js +4 -4
  75. package/lib/generated/services/cassandra.js +4 -4
  76. package/lib/generated/services/ce.js +4 -4
  77. package/lib/generated/services/chatbot.js +4 -4
  78. package/lib/generated/services/chime.js +4 -4
  79. package/lib/generated/services/cleanrooms-ml.js +4 -4
  80. package/lib/generated/services/cleanrooms.js +4 -4
  81. package/lib/generated/services/cloud9.js +4 -4
  82. package/lib/generated/services/clouddirectory.js +3 -3
  83. package/lib/generated/services/cloudformation.js +4 -4
  84. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  85. package/lib/generated/services/cloudfront.js +4 -4
  86. package/lib/generated/services/cloudhsm.js +4 -4
  87. package/lib/generated/services/cloudsearch.js +3 -3
  88. package/lib/generated/services/cloudshell.js +3 -3
  89. package/lib/generated/services/cloudtrail-data.js +4 -4
  90. package/lib/generated/services/cloudtrail.js +4 -4
  91. package/lib/generated/services/cloudwatch.js +4 -4
  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 +9 -6
  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.d.ts +2 -0
  206. package/lib/generated/services/iam.js +7 -5
  207. package/lib/generated/services/identity-sync.js +2 -2
  208. package/lib/generated/services/identitystore-auth.js +1 -1
  209. package/lib/generated/services/identitystore.js +4 -4
  210. package/lib/generated/services/imagebuilder.js +4 -4
  211. package/lib/generated/services/importexport.js +2 -2
  212. package/lib/generated/services/inspector-scan.js +2 -2
  213. package/lib/generated/services/inspector.js +2 -2
  214. package/lib/generated/services/inspector2-telemetry.js +1 -1
  215. package/lib/generated/services/inspector2.js +4 -4
  216. package/lib/generated/services/interconnect.js +4 -4
  217. package/lib/generated/services/internetmonitor.js +4 -4
  218. package/lib/generated/services/invoicing.js +4 -4
  219. package/lib/generated/services/iot-device-tester.js +1 -1
  220. package/lib/generated/services/iot.js +4 -4
  221. package/lib/generated/services/iotanalytics.js +3 -3
  222. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  223. package/lib/generated/services/iotevents.js +3 -3
  224. package/lib/generated/services/iotfleethub.js +3 -3
  225. package/lib/generated/services/iotfleetwise.js +4 -4
  226. package/lib/generated/services/iotjobsdata.js +4 -4
  227. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  228. package/lib/generated/services/iotsitewise.js +4 -4
  229. package/lib/generated/services/iottwinmaker.js +4 -4
  230. package/lib/generated/services/iotwireless.js +4 -4
  231. package/lib/generated/services/iq-permission.js +2 -2
  232. package/lib/generated/services/iq.js +2 -2
  233. package/lib/generated/services/ivs.js +4 -4
  234. package/lib/generated/services/ivschat.js +4 -4
  235. package/lib/generated/services/kafka-cluster.js +3 -3
  236. package/lib/generated/services/kafka.js +4 -4
  237. package/lib/generated/services/kafkaconnect.js +4 -4
  238. package/lib/generated/services/kendra-ranking.js +4 -4
  239. package/lib/generated/services/kendra.js +4 -4
  240. package/lib/generated/services/kinesis.js +4 -4
  241. package/lib/generated/services/kinesisanalytics.js +4 -4
  242. package/lib/generated/services/kinesisvideo.js +4 -4
  243. package/lib/generated/services/kms.js +4 -4
  244. package/lib/generated/services/lakeformation.js +3 -3
  245. package/lib/generated/services/lambda.js +4 -4
  246. package/lib/generated/services/launchwizard.js +4 -4
  247. package/lib/generated/services/lex.js +4 -4
  248. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager.js +4 -4
  251. package/lib/generated/services/lightsail.js +4 -4
  252. package/lib/generated/services/logs.js +4 -4
  253. package/lib/generated/services/lookoutequipment.js +4 -4
  254. package/lib/generated/services/lookoutmetrics.js +3 -3
  255. package/lib/generated/services/lookoutvision.js +3 -3
  256. package/lib/generated/services/m2.js +4 -4
  257. package/lib/generated/services/machinelearning.js +3 -3
  258. package/lib/generated/services/macie2.js +4 -4
  259. package/lib/generated/services/managedblockchain-query.js +2 -2
  260. package/lib/generated/services/managedblockchain.js +4 -4
  261. package/lib/generated/services/mapcredits.js +2 -2
  262. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  263. package/lib/generated/services/mechanicalturk.js +2 -2
  264. package/lib/generated/services/mediaconnect.js +4 -4
  265. package/lib/generated/services/mediaconvert.js +4 -4
  266. package/lib/generated/services/mediaimport.js +1 -1
  267. package/lib/generated/services/medialive.js +4 -4
  268. package/lib/generated/services/mediapackage-vod.js +4 -4
  269. package/lib/generated/services/mediapackage.js +4 -4
  270. package/lib/generated/services/mediapackagev2.js +4 -4
  271. package/lib/generated/services/mediastore.js +4 -4
  272. package/lib/generated/services/mediatailor.js +4 -4
  273. package/lib/generated/services/medical-imaging.js +4 -4
  274. package/lib/generated/services/memorydb.js +4 -4
  275. package/lib/generated/services/mgh.js +4 -4
  276. package/lib/generated/services/mgn.js +4 -4
  277. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  278. package/lib/generated/services/migrationhub-strategy.js +2 -2
  279. package/lib/generated/services/mobileanalytics.js +1 -1
  280. package/lib/generated/services/mobiletargeting.js +4 -4
  281. package/lib/generated/services/monitron.js +3 -3
  282. package/lib/generated/services/mpa.js +4 -4
  283. package/lib/generated/services/mq.js +4 -4
  284. package/lib/generated/services/neptune-db.js +4 -4
  285. package/lib/generated/services/neptune-graph.js +4 -4
  286. package/lib/generated/services/network-firewall.js +4 -4
  287. package/lib/generated/services/network-security-director.js +1 -1
  288. package/lib/generated/services/networkflowmonitor.js +4 -4
  289. package/lib/generated/services/networkmanager-chat.js +1 -1
  290. package/lib/generated/services/networkmanager.js +4 -4
  291. package/lib/generated/services/networkmonitor.js +4 -4
  292. package/lib/generated/services/nimble.js +3 -3
  293. package/lib/generated/services/notifications-contacts.js +4 -4
  294. package/lib/generated/services/notifications.js +4 -4
  295. package/lib/generated/services/nova-act.js +3 -3
  296. package/lib/generated/services/oam.js +4 -4
  297. package/lib/generated/services/observabilityadmin.js +4 -4
  298. package/lib/generated/services/odb.js +4 -4
  299. package/lib/generated/services/omics.js +4 -4
  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.d.ts +2 -10
  331. package/lib/generated/services/quicksight.js +8 -20
  332. package/lib/generated/services/ram.js +4 -4
  333. package/lib/generated/services/rbin.js +4 -4
  334. package/lib/generated/services/rds-data.js +4 -4
  335. package/lib/generated/services/rds-db.js +2 -2
  336. package/lib/generated/services/rds.js +4 -4
  337. package/lib/generated/services/redshift-data.js +4 -4
  338. package/lib/generated/services/redshift-serverless.js +4 -4
  339. package/lib/generated/services/redshift.js +4 -4
  340. package/lib/generated/services/refactor-spaces.js +4 -4
  341. package/lib/generated/services/rekognition.js +4 -4
  342. package/lib/generated/services/repostspace.js +4 -4
  343. package/lib/generated/services/researchstudio.js +1 -1
  344. package/lib/generated/services/resiliencehub.js +4 -4
  345. package/lib/generated/services/resource-explorer-2.js +4 -4
  346. package/lib/generated/services/resource-explorer.js +1 -1
  347. package/lib/generated/services/resource-groups.js +4 -4
  348. package/lib/generated/services/rhelkb.js +1 -1
  349. package/lib/generated/services/robomaker.js +3 -3
  350. package/lib/generated/services/rolesanywhere.js +4 -4
  351. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  352. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  353. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  354. package/lib/generated/services/route53.js +4 -4
  355. package/lib/generated/services/route53domains.js +2 -2
  356. package/lib/generated/services/route53globalresolver.js +4 -4
  357. package/lib/generated/services/route53profiles.js +4 -4
  358. package/lib/generated/services/route53resolver.js +4 -4
  359. package/lib/generated/services/rtbfabric.js +4 -4
  360. package/lib/generated/services/rum.js +4 -4
  361. package/lib/generated/services/s3-object-lambda.js +3 -3
  362. package/lib/generated/services/s3-outposts.js +4 -4
  363. package/lib/generated/services/s3.js +4 -4
  364. package/lib/generated/services/s3express.js +3 -3
  365. package/lib/generated/services/s3files.js +4 -4
  366. package/lib/generated/services/s3tables.js +4 -4
  367. package/lib/generated/services/s3vectors.js +4 -4
  368. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  369. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  370. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  371. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  372. package/lib/generated/services/sagemaker.js +4 -4
  373. package/lib/generated/services/savingsplans.js +4 -4
  374. package/lib/generated/services/scheduler.js +4 -4
  375. package/lib/generated/services/schemas.js +4 -4
  376. package/lib/generated/services/scn.js +4 -4
  377. package/lib/generated/services/sdb.js +3 -3
  378. package/lib/generated/services/secretsmanager.js +4 -4
  379. package/lib/generated/services/security-ir.js +4 -4
  380. package/lib/generated/services/securityagent.js +4 -4
  381. package/lib/generated/services/securityhub.js +4 -4
  382. package/lib/generated/services/securitylake.js +4 -4
  383. package/lib/generated/services/serverlessrepo.js +4 -4
  384. package/lib/generated/services/servicecatalog.js +4 -4
  385. package/lib/generated/services/servicediscovery.js +4 -4
  386. package/lib/generated/services/serviceextract.js +1 -1
  387. package/lib/generated/services/servicequotas.js +4 -4
  388. package/lib/generated/services/ses.js +4 -4
  389. package/lib/generated/services/shield.js +4 -4
  390. package/lib/generated/services/signer.js +4 -4
  391. package/lib/generated/services/signin.js +4 -4
  392. package/lib/generated/services/simspaceweaver.js +3 -3
  393. package/lib/generated/services/sms-voice.js +4 -4
  394. package/lib/generated/services/sms.js +1 -1
  395. package/lib/generated/services/snow-device-management.js +4 -4
  396. package/lib/generated/services/snowball.js +2 -2
  397. package/lib/generated/services/sns.js +4 -4
  398. package/lib/generated/services/social-messaging.js +4 -4
  399. package/lib/generated/services/sqlworkbench.js +3 -3
  400. package/lib/generated/services/sqs.js +4 -4
  401. package/lib/generated/services/ssm-contacts.js +4 -4
  402. package/lib/generated/services/ssm-guiconnect.js +2 -2
  403. package/lib/generated/services/ssm-incidents.js +4 -4
  404. package/lib/generated/services/ssm-quicksetup.js +4 -4
  405. package/lib/generated/services/ssm-sap.js +4 -4
  406. package/lib/generated/services/ssm.js +4 -4
  407. package/lib/generated/services/ssmmessages.js +2 -2
  408. package/lib/generated/services/sso-directory.js +1 -1
  409. package/lib/generated/services/sso-oauth.js +3 -3
  410. package/lib/generated/services/sso.js +4 -4
  411. package/lib/generated/services/states.js +4 -4
  412. package/lib/generated/services/storagegateway.js +4 -4
  413. package/lib/generated/services/sts.js +4 -4
  414. package/lib/generated/services/support-console.js +1 -1
  415. package/lib/generated/services/support.js +2 -2
  416. package/lib/generated/services/supportapp.js +2 -2
  417. package/lib/generated/services/supportauthz.js +4 -4
  418. package/lib/generated/services/supportplans.js +1 -1
  419. package/lib/generated/services/sustainability.js +2 -2
  420. package/lib/generated/services/swf.js +4 -4
  421. package/lib/generated/services/synthetics.js +4 -4
  422. package/lib/generated/services/tag.js +2 -2
  423. package/lib/generated/services/tax.js +2 -2
  424. package/lib/generated/services/textract.js +4 -4
  425. package/lib/generated/services/thinclient.js +4 -4
  426. package/lib/generated/services/timestream-influxdb.js +4 -4
  427. package/lib/generated/services/timestream.js +4 -4
  428. package/lib/generated/services/tiros.js +1 -1
  429. package/lib/generated/services/tnb.js +4 -4
  430. package/lib/generated/services/transcribe.js +4 -4
  431. package/lib/generated/services/transfer.js +4 -4
  432. package/lib/generated/services/transform-custom.js +3 -3
  433. package/lib/generated/services/transform.js +3 -3
  434. package/lib/generated/services/translate.js +4 -4
  435. package/lib/generated/services/trustedadvisor.js +3 -3
  436. package/lib/generated/services/ts.js +3 -3
  437. package/lib/generated/services/user-subscriptions.js +2 -2
  438. package/lib/generated/services/uxc.js +2 -2
  439. package/lib/generated/services/vendor-insights.js +3 -3
  440. package/lib/generated/services/verified-access.js +1 -1
  441. package/lib/generated/services/verifiedpermissions.js +4 -4
  442. package/lib/generated/services/voiceid.js +4 -4
  443. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  444. package/lib/generated/services/vpc-lattice.js +4 -4
  445. package/lib/generated/services/vpce.js +2 -2
  446. package/lib/generated/services/waf-regional.js +4 -4
  447. package/lib/generated/services/waf.js +4 -4
  448. package/lib/generated/services/wafv2.js +4 -4
  449. package/lib/generated/services/wam.js +1 -1
  450. package/lib/generated/services/wellarchitected.js +4 -4
  451. package/lib/generated/services/wickr.js +4 -4
  452. package/lib/generated/services/wisdom.js +4 -4
  453. package/lib/generated/services/workdocs.js +3 -3
  454. package/lib/generated/services/worklink.js +3 -3
  455. package/lib/generated/services/workmail.js +4 -4
  456. package/lib/generated/services/workmailmessageflow.js +3 -3
  457. package/lib/generated/services/workspaces-instances.js +4 -4
  458. package/lib/generated/services/workspaces-web.js +4 -4
  459. package/lib/generated/services/workspaces.js +4 -4
  460. package/lib/generated/services/xray.js +4 -4
  461. package/package.json +1 -1
@@ -16,7 +16,7 @@ class AidevopsActions {
16
16
  }
17
17
  exports.AidevopsActions = AidevopsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AidevopsActions[_a] = { fqn: "@cdk_utils/iam.aidevops.AidevopsActions", version: "1.10.0" };
19
+ AidevopsActions[_a] = { fqn: "@cdk_utils/iam.aidevops.AidevopsActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  AidevopsActions.SERVICE_PREFIX = "aidevops";
22
22
  /** [PermissionManagement] aidevops:AllowVendedLogDeliveryForResource */
@@ -464,7 +464,7 @@ class AidevopsResources {
464
464
  }
465
465
  exports.AidevopsResources = AidevopsResources;
466
466
  _b = JSII_RTTI_SYMBOL_1;
467
- AidevopsResources[_b] = { fqn: "@cdk_utils/iam.aidevops.AidevopsResources", version: "1.10.0" };
467
+ AidevopsResources[_b] = { fqn: "@cdk_utils/iam.aidevops.AidevopsResources", version: "1.11.0" };
468
468
  /**
469
469
  * API operation to required IAM actions mapping for aidevops.
470
470
  */
@@ -472,7 +472,7 @@ class AidevopsOperations {
472
472
  }
473
473
  exports.AidevopsOperations = AidevopsOperations;
474
474
  _c = JSII_RTTI_SYMBOL_1;
475
- AidevopsOperations[_c] = { fqn: "@cdk_utils/iam.aidevops.AidevopsOperations", version: "1.10.0" };
475
+ AidevopsOperations[_c] = { fqn: "@cdk_utils/iam.aidevops.AidevopsOperations", version: "1.11.0" };
476
476
  /** IAM actions required for the AssociateService API call. */
477
477
  AidevopsOperations.AssociateService = [
478
478
  "aidevops:AssociateService",
@@ -605,6 +605,8 @@ AidevopsOperations.TagResource = ["aidevops:TagResource"];
605
605
  AidevopsOperations.UntagResource = ["aidevops:UntagResource"];
606
606
  /** IAM actions required for the UpdateAgentSpace API call. */
607
607
  AidevopsOperations.UpdateAgentSpace = ["aidevops:UpdateAgentSpace"];
608
+ /** IAM actions required for the UpdateApprovalAction API call. */
609
+ AidevopsOperations.UpdateApprovalAction = [];
608
610
  /** IAM actions required for the UpdateAsset API call. */
609
611
  AidevopsOperations.UpdateAsset = [];
610
612
  /** IAM actions required for the UpdateAssetFile API call. */
@@ -659,7 +661,7 @@ class AidevopsConditions {
659
661
  }
660
662
  exports.AidevopsConditions = AidevopsConditions;
661
663
  _d = JSII_RTTI_SYMBOL_1;
662
- AidevopsConditions[_d] = { fqn: "@cdk_utils/iam.aidevops.AidevopsConditions", version: "1.10.0" };
664
+ AidevopsConditions[_d] = { fqn: "@cdk_utils/iam.aidevops.AidevopsConditions", version: "1.11.0" };
663
665
  /** Condition keys applicable to the CreateAgentSpace action. */
664
666
  AidevopsConditions.CreateAgentSpaceConditionKeys = [
665
667
  "aws:RequestTag/${TagKey}",
@@ -731,4 +733,4 @@ AidevopsConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
731
733
  AidevopsConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
732
734
  /** Condition key: aws:TagKeys (ArrayOfString) */
733
735
  AidevopsConditions.AWS_TAG_KEYS = "aws:TagKeys";
734
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlkZXZvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2FpZGV2b3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsK0NBQStDO0FBQy9DLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGVBQWU7O0FBQTVCLDBDQWlSQzs7O0FBaFJBLDhCQUE4QjtBQUNkLDhCQUFjLEdBQUcsVUFBVSxDQUFDO0FBRTVDLHdFQUF3RTtBQUN4RCxpREFBaUMsR0FDaEQsNENBQTRDLENBQUM7QUFDOUMsd0NBQXdDO0FBQ3hCLGdDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELHlDQUF5QztBQUN6QixpQ0FBaUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNqRSx3Q0FBd0M7QUFDeEIsZ0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsbUNBQW1DO0FBQ25CLDJCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQsdUNBQXVDO0FBQ3ZCLCtCQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0QseUNBQXlDO0FBQ3pCLGlDQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQ2pFLGtDQUFrQztBQUNsQiwwQkFBVSxHQUFHLHFCQUFxQixDQUFDO0FBQ25ELDJDQUEyQztBQUMzQixtQ0FBbUIsR0FBRyw4QkFBOEIsQ0FBQztBQUNyRSxpREFBaUQ7QUFDakMseUNBQXlCLEdBQ3hDLG9DQUFvQyxDQUFDO0FBQ3RDLCtDQUErQztBQUMvQix1Q0FBdUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUM3RSxxQ0FBcUM7QUFDckIsNkJBQWEsR0FBRyx3QkFBd0IsQ0FBQztBQUN6RCx3Q0FBd0M7QUFDeEIsZ0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsbUNBQW1DO0FBQ25CLDJCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQs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Q3BELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsNkNBQTBCLEdBQWE7SUFDdEQsMkJBQTJCO0lBQzNCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELGdEQUE2QixHQUFhO0lBQ3pELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0Ysa0ZBQWtGO0FBQ2xFLGtFQUErQyxHQUFhO0lBQzNFLDJCQUEyQjtDQUMzQixDQUFDO0FBRUYsdURBQXVEO0FBQ3ZDLGtDQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLG1DQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQywrQkFBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2FpZGV2b3BzLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBhaWRldm9wcyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgQWlkZXZvcHNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiYWlkZXZvcHNcIjtcblxuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBhaWRldm9wczpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSA9XG5cdFx0XCJhaWRldm9wczpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6QXNzb2NpYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU2VydmljZSA9IFwiYWlkZXZvcHM6QXNzb2NpYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVBY2Nlc3NUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWNjZXNzVG9rZW4gPSBcImFpZGV2b3BzOkNyZWF0ZUFjY2Vzc1Rva2VuXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUFnZW50U3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50U3BhY2UgPSBcImFpZGV2b3BzOkNyZWF0ZUFnZW50U3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlQXNzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc2V0ID0gXCJhaWRldm9wczpDcmVhdGVBc3NldFwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVBc3NldEZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc2V0RmlsZSA9IFwiYWlkZXZvcHM6Q3JlYXRlQXNzZXRGaWxlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUJhY2tsb2dUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCYWNrbG9nVGFzayA9IFwiYWlkZXZvcHM6Q3JlYXRlQmFja2xvZ1Rhc2tcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlQ2hhdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2hhdCA9IFwiYWlkZXZvcHM6Q3JlYXRlQ2hhdFwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVLbm93bGVkZ2VJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVLbm93bGVkZ2VJdGVtID0gXCJhaWRldm9wczpDcmVhdGVLbm93bGVkZ2VJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZU9uZVRpbWVMb2dpblNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9uZVRpbWVMb2dpblNlc3Npb24gPVxuXHRcdFwiYWlkZXZvcHM6Q3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb24gPSBcImFpZGV2b3BzOkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZVRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWdnZXIgPSBcImFpZGV2b3BzOkNyZWF0ZVRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVsZXRlQWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdlbnRTcGFjZSA9IFwiYWlkZXZvcHM6RGVsZXRlQWdlbnRTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZWxldGVBc3NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzZXQgPSBcImFpZGV2b3BzOkRlbGV0ZUFzc2V0XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRlbGV0ZUFzc2V0RmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzZXRGaWxlID0gXCJhaWRldm9wczpEZWxldGVBc3NldEZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVsZXRlS25vd2xlZGdlSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlS25vd2xlZGdlSXRlbSA9IFwiYWlkZXZvcHM6RGVsZXRlS25vd2xlZGdlSXRlbVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZWxldGVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb24gPSBcImFpZGV2b3BzOkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRlbGV0ZVRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRyaWdnZXIgPSBcImFpZGV2b3BzOkRlbGV0ZVRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVyZWdpc3RlclNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJTZXJ2aWNlID0gXCJhaWRldm9wczpEZXJlZ2lzdGVyU2VydmljZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkRlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb24gPVxuXHRcdFwiYWlkZXZvcHM6RGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvblwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkRlc2NyaWJlU2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZXMgPSBcImFpZGV2b3BzOkRlc2NyaWJlU2VydmljZXNcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVzY3JpYmVTdXBwb3J0TGV2ZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3VwcG9ydExldmVsID0gXCJhaWRldm9wczpEZXNjcmliZVN1cHBvcnRMZXZlbFwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEaXNhYmxlT3BlcmF0b3JBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVPcGVyYXRvckFwcCA9IFwiYWlkZXZvcHM6RGlzYWJsZU9wZXJhdG9yQXBwXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRpc2Fzc29jaWF0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVNlcnZpY2UgPSBcImFpZGV2b3BzOkRpc2Fzc29jaWF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGlzY292ZXJUb3BvbG9neSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY292ZXJUb3BvbG9neSA9IFwiYWlkZXZvcHM6RGlzY292ZXJUb3BvbG9neVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpFbmFibGVPcGVyYXRvckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlT3BlcmF0b3JBcHAgPSBcImFpZGV2b3BzOkVuYWJsZU9wZXJhdG9yQXBwXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkVuZENoYXRGb3JDYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBFbmRDaGF0Rm9yQ2FzZSA9IFwiYWlkZXZvcHM6RW5kQ2hhdEZvckNhc2VcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBY2Nlc3NUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWNjZXNzVG9rZW4gPSBcImFpZGV2b3BzOkdldEFjY2Vzc1Rva2VuXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QWNjb3VudFVzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2NvdW50VXNhZ2UgPSBcImFpZGV2b3BzOkdldEFjY291bnRVc2FnZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFnZW50U3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50U3BhY2UgPSBcImFpZGV2b3BzOkdldEFnZW50U3BhY2VcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBc3NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXNzZXQgPSBcImFpZGV2b3BzOkdldEFzc2V0XCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QXNzZXRDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NldENvbnRlbnQgPSBcImFpZGV2b3BzOkdldEFzc2V0Q29udGVudFwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFzc2V0RmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXNzZXRGaWxlID0gXCJhaWRldm9wczpHZXRBc3NldEZpbGVcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXNzb2NpYXRpb24gPSBcImFpZGV2b3BzOkdldEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QmFja2xvZ1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJhY2tsb2dUYXNrID0gXCJhaWRldm9wczpHZXRCYWNrbG9nVGFza1wiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEtub3dsZWRnZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEtub3dsZWRnZUl0ZW0gPSBcImFpZGV2b3BzOkdldEtub3dsZWRnZUl0ZW1cIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRPcGVyYXRvckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3BlcmF0b3JBcHAgPSBcImFpZGV2b3BzOkdldE9wZXJhdG9yQXBwXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0UmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY29tbWVuZGF0aW9uID0gXCJhaWRldm9wczpHZXRSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldFNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2UgPSBcImFpZGV2b3BzOkdldFNlcnZpY2VcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRUcmlnZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUcmlnZ2VyID0gXCJhaWRldm9wczpHZXRUcmlnZ2VyXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkluaXRpYXRlQ2hhdEZvckNhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYXRlQ2hhdEZvckNhc2UgPSBcImFpZGV2b3BzOkluaXRpYXRlQ2hhdEZvckNhc2VcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QWNjZXNzVG9rZW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjZXNzVG9rZW5zID0gXCJhaWRldm9wczpMaXN0QWNjZXNzVG9rZW5zXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEFnZW50U3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRTcGFjZXMgPSBcImFpZGV2b3BzOkxpc3RBZ2VudFNwYWNlc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBc3NldEZpbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXRGaWxlcyA9IFwiYWlkZXZvcHM6TGlzdEFzc2V0RmlsZXNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QXNzZXRUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0VHlwZXMgPSBcImFpZGV2b3BzOkxpc3RBc3NldFR5cGVzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEFzc2V0VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldFZlcnNpb25zID0gXCJhaWRldm9wczpMaXN0QXNzZXRWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBc3NldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldHMgPSBcImFpZGV2b3BzOkxpc3RBc3NldHNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzb2NpYXRpb25zID0gXCJhaWRldm9wczpMaXN0QXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEJhY2tsb2dUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJhY2tsb2dUYXNrcyA9IFwiYWlkZXZvcHM6TGlzdEJhY2tsb2dUYXNrc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RDaGF0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENoYXRzID0gXCJhaWRldm9wczpMaXN0Q2hhdHNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0RXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4ZWN1dGlvbnMgPSBcImFpZGV2b3BzOkxpc3RFeGVjdXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEdvYWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R29hbHMgPSBcImFpZGV2b3BzOkxpc3RHb2Fsc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RKb3VybmFsUmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvdXJuYWxSZWNvcmRzID0gXCJhaWRldm9wczpMaXN0Sm91cm5hbFJlY29yZHNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0S25vd2xlZGdlSXRlbVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S25vd2xlZGdlSXRlbVZlcnNpb25zID1cblx0XHRcImFpZGV2b3BzOkxpc3RLbm93bGVkZ2VJdGVtVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0S25vd2xlZGdlSXRlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VJdGVtcyA9IFwiYWlkZXZvcHM6TGlzdEtub3dsZWRnZUl0ZW1zXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdFBlbmRpbmdNZXNzYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBlbmRpbmdNZXNzYWdlcyA9IFwiYWlkZXZvcHM6TGlzdFBlbmRpbmdNZXNzYWdlc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RQcml2YXRlQ29ubmVjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcml2YXRlQ29ubmVjdGlvbnMgPSBcImFpZGV2b3BzOkxpc3RQcml2YXRlQ29ubmVjdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0UmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kYXRpb25zID0gXCJhaWRldm9wczpMaXN0UmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdFNlcnZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXMgPSBcImFpZGV2b3BzOkxpc3RTZXJ2aWNlc1wiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImFpZGV2b3BzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0VHJpZ2dlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmlnZ2VycyA9IFwiYWlkZXZvcHM6TGlzdFRyaWdnZXJzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdFdlYmhvb2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V2ViaG9va3MgPSBcImFpZGV2b3BzOkxpc3RXZWJob29rc1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpSZWdpc3RlclNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU2VydmljZSA9IFwiYWlkZXZvcHM6UmVnaXN0ZXJTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlJldm9rZUFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZva2VBY2Nlc3NUb2tlbiA9IFwiYWlkZXZvcHM6UmV2b2tlQWNjZXNzVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Um90YXRlQWNjZXNzVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJvdGF0ZUFjY2Vzc1Rva2VuID0gXCJhaWRldm9wczpSb3RhdGVBY2Nlc3NUb2tlblwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOlNlYXJjaFNlcnZpY2VBY2Nlc3NpYmxlUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaFNlcnZpY2VBY2Nlc3NpYmxlUmVzb3VyY2UgPVxuXHRcdFwiYWlkZXZvcHM6U2VhcmNoU2VydmljZUFjY2Vzc2libGVSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpTZW5kTWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE1lc3NhZ2UgPSBcImFpZGV2b3BzOlNlbmRNZXNzYWdlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYWlkZXZvcHM6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJhaWRldm9wczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGFpZGV2b3BzOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImFpZGV2b3BzOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlQWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRTcGFjZSA9IFwiYWlkZXZvcHM6VXBkYXRlQWdlbnRTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVBcHByb3ZhbEFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwcm92YWxBY3Rpb24gPSBcImFpZGV2b3BzOlVwZGF0ZUFwcHJvdmFsQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUFzc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NldCA9IFwiYWlkZXZvcHM6VXBkYXRlQXNzZXRcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlQXNzZXRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NldEZpbGUgPSBcImFpZGV2b3BzOlVwZGF0ZUFzc2V0RmlsZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb24gPSBcImFpZGV2b3BzOlVwZGF0ZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUJhY2tsb2dUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCYWNrbG9nVGFzayA9IFwiYWlkZXZvcHM6VXBkYXRlQmFja2xvZ1Rhc2tcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlR29hbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR29hbCA9IFwiYWlkZXZvcHM6VXBkYXRlR29hbFwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVLbm93bGVkZ2VJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVLbm93bGVkZ2VJdGVtID0gXCJhaWRldm9wczpVcGRhdGVLbm93bGVkZ2VJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZU9wZXJhdG9yQXBwSWRwQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZyA9XG5cdFx0XCJhaWRldm9wczpVcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlID1cblx0XHRcImFpZGV2b3BzOlVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlUmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY29tbWVuZGF0aW9uID0gXCJhaWRldm9wczpVcGRhdGVSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVUcmlnZ2VyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlnZ2VyID0gXCJhaWRldm9wczpVcGRhdGVUcmlnZ2VyXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlZhbGlkYXRlQXdzQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBWYWxpZGF0ZUF3c0Fzc29jaWF0aW9ucyA9IFwiYWlkZXZvcHM6VmFsaWRhdGVBd3NBc3NvY2lhdGlvbnNcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVzY3JpYmVTZXJ2aWNlcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QWNjZXNzVG9rZW4sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldEFjY291bnRVc2FnZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRTcGFjZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QXNzZXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldEFzc2V0Q29udGVudCxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QXNzZXRGaWxlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBc3NvY2lhdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QmFja2xvZ1Rhc2ssXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldEtub3dsZWRnZUl0ZW0sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldE9wZXJhdG9yQXBwLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRSZWNvbW1lbmRhdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0U2VydmljZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0VHJpZ2dlcixcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuU2VhcmNoU2VydmljZUFjY2Vzc2libGVSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuQXNzb2NpYXRlU2VydmljZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQWNjZXNzVG9rZW4sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUFnZW50U3BhY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUFzc2V0LFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVBc3NldEZpbGUsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUJhY2tsb2dUYXNrLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVDaGF0LFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVLbm93bGVkZ2VJdGVtLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVPbmVUaW1lTG9naW5TZXNzaW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVQcml2YXRlQ29ubmVjdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlVHJpZ2dlcixcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlQWdlbnRTcGFjZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlQXNzZXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRlbGV0ZUFzc2V0RmlsZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlS25vd2xlZGdlSXRlbSxcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRlbGV0ZVRyaWdnZXIsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRlcmVnaXN0ZXJTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZXNjcmliZVN1cHBvcnRMZXZlbCxcblx0XHRBaWRldm9wc0FjdGlvbnMuRGlzYWJsZU9wZXJhdG9yQXBwLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EaXNhc3NvY2lhdGVTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EaXNjb3ZlclRvcG9sb2d5LFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5FbmFibGVPcGVyYXRvckFwcCxcblx0XHRBaWRldm9wc0FjdGlvbnMuRW5kQ2hhdEZvckNhc2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkluaXRpYXRlQ2hhdEZvckNhc2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlJlZ2lzdGVyU2VydmljZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuUmV2b2tlQWNjZXNzVG9rZW4sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlJvdGF0ZUFjY2Vzc1Rva2VuLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5TZW5kTWVzc2FnZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlQWdlbnRTcGFjZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlQXBwcm92YWxBY3Rpb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZUFzc2V0LFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVBc3NldEZpbGUsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZUFzc29jaWF0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVCYWNrbG9nVGFzayxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlR29hbCxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlS25vd2xlZGdlSXRlbSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWcsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGUsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZVJlY29tbWVuZGF0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVUcmlnZ2VyLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5WYWxpZGF0ZUF3c0Fzc29jaWF0aW9ucyxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RBY2Nlc3NUb2tlbnMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RBZ2VudFNwYWNlcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFzc2V0RmlsZXMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RBc3NldFR5cGVzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzZXRWZXJzaW9ucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFzc2V0cyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFzc29jaWF0aW9ucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEJhY2tsb2dUYXNrcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdENoYXRzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0RXhlY3V0aW9ucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEdvYWxzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0Sm91cm5hbFJlY29yZHMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RLbm93bGVkZ2VJdGVtVmVyc2lvbnMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RLbm93bGVkZ2VJdGVtcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdFBlbmRpbmdNZXNzYWdlcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdFByaXZhdGVDb25uZWN0aW9ucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdFJlY29tbWVuZGF0aW9ucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdFNlcnZpY2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0VHJpZ2dlcnMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RXZWJob29rcyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYWdlbnRzcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNBZ2VudHNwYWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYWdlbnRzcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNBZ2VudHNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudFNwYWNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFzc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0Fzc2V0QXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXNzZXRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXNzZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFzc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0Fzc2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudFNwYWNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBBc3NldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXNzZXRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXNzb2NpYXRpb25zIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0Fzc29jaWF0aW9uc0FyblByb3BzIHtcblx0LyoqIFRoZSBBZ2VudFNwYWNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc29jaWF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFzc29jaWF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhc3NvY2lhdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzb2NpYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2VudFNwYWNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBBc3NvY2lhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXNzb2NpYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJpdmF0ZS1jb25uZWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc1ByaXZhdGVDb25uZWN0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwcml2YXRlLWNvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzUHJpdmF0ZUNvbm5lY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc1NlcnZpY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc1NlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJpZ2dlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNUcmlnZ2VyQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJpZ2dlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cmlnZ2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cmlnZ2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc1RyaWdnZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIFRyaWdnZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyaWdnZXJJZDogc3RyaW5nO1xufVxuXG5jb25zdCBBZ2VudHNwYWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmFpZGV2b3BzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWdlbnRzcGFjZVxcLyg/PGFnZW50U3BhY2VJZD5bXjovP10rKSQvO1xuY29uc3QgQXNzZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudHNwYWNlXFwvKD88YWdlbnRTcGFjZUlkPlteOi8/XSspXFwvYXNzZXRcXC8oPzxhc3NldElkPlteOi8/XSspJC87XG5jb25zdCBBc3NvY2lhdGlvbnNBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudHNwYWNlXFwvKD88YWdlbnRTcGFjZUlkPlteOi8/XSspXFwvYXNzb2NpYXRpb25cXC8oPzxhc3NvY2lhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBQcml2YXRlQ29ubmVjdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByaXZhdGUtY29ubmVjdGlvblxcLyg/PG5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlXFwvKD88c2VydmljZUlkPlteOi8/XSspJC87XG5jb25zdCBUcmlnZ2VyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmFpZGV2b3BzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWdlbnRzcGFjZVxcLyg/PGFnZW50U3BhY2VJZD5bXjovP10rKVxcL3RyaWdnZXJcXC8oPzx0cmlnZ2VySWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBhaWRldm9wcyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBaWRldm9wc1Jlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYWdlbnRzcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudHNwYWNlKHByb3BzOiBBaWRldm9wc0FnZW50c3BhY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YWlkZXZvcHM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnRzcGFjZS8ke3Byb3BzLmFnZW50U3BhY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYWdlbnRzcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdlbnRzcGFjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZ2VudHNwYWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFnZW50c3BhY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRzcGFjZUFybihhcm46IHN0cmluZyk6IEFpZGV2b3BzQWdlbnRzcGFjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWdlbnRzcGFjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhZ2VudHNwYWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50U3BhY2VJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudFNwYWNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXNzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXNzZXQocHJvcHM6IEFpZGV2b3BzQXNzZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YWlkZXZvcHM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnRzcGFjZS8ke3Byb3BzLmFnZW50U3BhY2VJZH0vYXNzZXQvJHtwcm9wcy5hc3NldElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhc3NldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXNzZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXNzZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXNzZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXNzZXRBcm4oYXJuOiBzdHJpbmcpOiBBaWRldm9wc0Fzc2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBc3NldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhc3NldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudFNwYWNlSWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRTcGFjZUlkLFxuXHRcdFx0YXNzZXRJZDogbWF0Y2guZ3JvdXBzIS5hc3NldElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFzc29jaWF0aW9ucyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhc3NvY2lhdGlvbnMocHJvcHM6IEFpZGV2b3BzQXNzb2NpYXRpb25zQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50c3BhY2UvJHtwcm9wcy5hZ2VudFNwYWNlSWR9L2Fzc29jaWF0aW9uLyR7cHJvcHMuYXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXNzb2NpYXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBc3NvY2lhdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXNzb2NpYXRpb25zQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFzc29jaWF0aW9ucyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBc3NvY2lhdGlvbnNBcm4oYXJuOiBzdHJpbmcpOiBBaWRldm9wc0Fzc29jaWF0aW9uc0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXNzb2NpYXRpb25zQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFzc29jaWF0aW9ucyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudFNwYWNlSWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRTcGFjZUlkLFxuXHRcdFx0YXNzb2NpYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5hc3NvY2lhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHByaXZhdGUtY29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcml2YXRlQ29ubmVjdGlvbihwcm9wczogQWlkZXZvcHNQcml2YXRlQ29ubmVjdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcml2YXRlLWNvbm5lY3Rpb24vJHtwcm9wcy5uYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwcml2YXRlLWNvbm5lY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByaXZhdGVDb25uZWN0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByaXZhdGVDb25uZWN0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByaXZhdGUtY29ubmVjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcml2YXRlQ29ubmVjdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQWlkZXZvcHNQcml2YXRlQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJpdmF0ZUNvbm5lY3Rpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJpdmF0ZS1jb25uZWN0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5hbWU6IG1hdGNoLmdyb3VwcyEubmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2UocHJvcHM6IEFpZGV2b3BzU2VydmljZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLyR7cHJvcHMuc2VydmljZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogQWlkZXZvcHNTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZpY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmljZUlkOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cmlnZ2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRyaWdnZXIocHJvcHM6IEFpZGV2b3BzVHJpZ2dlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudHNwYWNlLyR7cHJvcHMuYWdlbnRTcGFjZUlkfS90cmlnZ2VyLyR7cHJvcHMudHJpZ2dlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0cmlnZ2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcmlnZ2VyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyaWdnZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJpZ2dlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcmlnZ2VyQXJuKGFybjogc3RyaW5nKTogQWlkZXZvcHNUcmlnZ2VyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUcmlnZ2VyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRyaWdnZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdlbnRTcGFjZUlkOiBtYXRjaC5ncm91cHMhLmFnZW50U3BhY2VJZCxcblx0XHRcdHRyaWdnZXJJZDogbWF0Y2guZ3JvdXBzIS50cmlnZ2VySWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgYWlkZXZvcHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBaWRldm9wc09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpBc3NvY2lhdGVTZXJ2aWNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWdlbnRTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6Q3JlYXRlQWdlbnRTcGFjZVwiLFxuXHRcdFwiYWlkZXZvcHM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXNzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBc3NldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXNzZXRGaWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXRGaWxlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCYWNrbG9nVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJhY2tsb2dUYXNrOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDaGF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2hhdDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpDcmVhdGVQcml2YXRlQ29ubmVjdGlvblwiLFxuXHRcdFwiYWlkZXZvcHM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJpZ2dlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRyaWdnZXI6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFnZW50U3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFNwYWNlOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkRlbGV0ZUFnZW50U3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFzc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzZXQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFzc2V0RmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc2V0RmlsZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpEZWxldGVQcml2YXRlQ29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpZ2dlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlclNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU2VydmljZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpEZXJlZ2lzdGVyU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6RGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhYmxlT3BlcmF0b3JBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlT3BlcmF0b3JBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6RGlzYWJsZU9wZXJhdG9yQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkRpc2Fzc29jaWF0ZVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRW5hYmxlT3BlcmF0b3JBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVPcGVyYXRvckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpFbmFibGVPcGVyYXRvckFwcFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFjY291bnRVc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWNjb3VudFVzYWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2VudFNwYWNlOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkdldEFnZW50U3BhY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFzc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3NldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXNzZXRDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3NldENvbnRlbnQ6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFzc2V0RmlsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXNzZXRGaWxlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6R2V0QXNzb2NpYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJhY2tsb2dUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCYWNrbG9nVGFzazogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0T3BlcmF0b3JBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9wZXJhdG9yQXBwOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkdldE9wZXJhdG9yQXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlcnZpY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6R2V0U2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VHJpZ2dlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VHJpZ2dlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZW50U3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50U3BhY2VzOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkxpc3RBZ2VudFNwYWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc2V0RmlsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXRGaWxlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc2V0VHlwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXRUeXBlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc2V0VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXRWZXJzaW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkxpc3RBc3NvY2lhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCYWNrbG9nVGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmFja2xvZ1Rhc2tzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2hhdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhdHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RHb2FscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHb2Fsczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEpvdXJuYWxSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvdXJuYWxSZWNvcmRzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGVuZGluZ01lc3NhZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBlbmRpbmdNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByaXZhdGVDb25uZWN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcml2YXRlQ29ubmVjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6TGlzdFByaXZhdGVDb25uZWN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkxpc3RTZXJ2aWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VHJpZ2dlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VHJpZ2dlcnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXZWJob29rcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXZWJob29rczogc3RyaW5nW10gPSBbXCJhaWRldm9wczpMaXN0V2ViaG9va3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImFpZGV2b3BzOlJlZ2lzdGVyU2VydmljZVwiLFxuXHRcdFwiYWlkZXZvcHM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZE1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTWVzc2FnZTogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWdlbnRTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6VXBkYXRlQWdlbnRTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXNzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXNzZXRGaWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzZXRGaWxlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYWlkZXZvcHM6VXBkYXRlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQmFja2xvZ1Rhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCYWNrbG9nVGFzazogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlR29hbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdvYWw6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU9wZXJhdG9yQXBwSWRwQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6VXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6VXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY29tbWVuZGF0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVHJpZ2dlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVmFsaWRhdGVBd3NBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBWYWxpZGF0ZUF3c0Fzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpWYWxpZGF0ZUF3c0Fzc29jaWF0aW9uc1wiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgYWlkZXZvcHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBaWRldm9wc0NvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVyZWdpc3RlclNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUFnZW50U3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRTcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
736
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWlkZXZvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2FpZGV2b3BzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsK0NBQStDO0FBQy9DLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGVBQWU7O0FBQTVCLDBDQWlSQzs7O0FBaFJBLDhCQUE4QjtBQUNkLDhCQUFjLEdBQUcsVUFBVSxDQUFDO0FBRTVDLHdFQUF3RTtBQUN4RCxpREFBaUMsR0FDaEQsNENBQTRDLENBQUM7QUFDOUMsd0NBQXdDO0FBQ3hCLGdDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELHlDQUF5QztBQUN6QixpQ0FBaUIsR0FBRyw0QkFBNEIsQ0FBQztBQUNqRSx3Q0FBd0M7QUFDeEIsZ0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsbUNBQW1DO0FBQ25CLDJCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQsdUNBQXVDO0FBQ3ZCLCtCQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0QseUNBQXlDO0FBQ3pCLGlDQUFpQixHQUFHLDRCQUE0QixDQUFDO0FBQ2pFLGtDQUFrQztBQUNsQiwwQkFBVSxHQUFHLHFCQUFxQixDQUFDO0FBQ25ELDJDQUEyQztBQUMzQixtQ0FBbUIsR0FBRyw4QkFBOEIsQ0FBQztBQUNyRSxpREFBaUQ7QUFDakMseUNBQXlCLEdBQ3hDLG9DQUFvQyxDQUFDO0FBQ3RDLCtDQUErQztBQUMvQix1Q0FBdUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUM3RSxxQ0FBcUM7QUFDckIsNkJBQWEsR0FBRyx3QkFBd0IsQ0FBQztBQUN6RCx3Q0FBd0M7QUFDeEIsZ0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsbUNBQW1DO0FBQ25CLDJCQUFXLEdBQUcsc0JBQXNCLENBQUM7QUFDckQs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QUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsMkNBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw2Q0FBMEIsR0FBYTtJQUN0RCwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsZ0RBQTZCLEdBQWE7SUFDekQsMkJBQTJCO0NBQzNCLENBQUM7QUFDRixrRkFBa0Y7QUFDbEUsa0VBQStDLEdBQWE7SUFDM0UsMkJBQTJCO0NBQzNCLENBQUM7QUFFRix1REFBdUQ7QUFDdkMsa0NBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsbUNBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLCtCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvYWlkZXZvcHMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGFpZGV2b3BzIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBBaWRldm9wc0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJhaWRldm9wc1wiO1xuXG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGFpZGV2b3BzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcImFpZGV2b3BzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpBc3NvY2lhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTZXJ2aWNlID0gXCJhaWRldm9wczpBc3NvY2lhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY2Nlc3NUb2tlbiA9IFwiYWlkZXZvcHM6Q3JlYXRlQWNjZXNzVG9rZW5cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlQWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRTcGFjZSA9IFwiYWlkZXZvcHM6Q3JlYXRlQWdlbnRTcGFjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVBc3NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXQgPSBcImFpZGV2b3BzOkNyZWF0ZUFzc2V0XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUFzc2V0RmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXRGaWxlID0gXCJhaWRldm9wczpDcmVhdGVBc3NldEZpbGVcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlQmFja2xvZ1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJhY2tsb2dUYXNrID0gXCJhaWRldm9wczpDcmVhdGVCYWNrbG9nVGFza1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpDcmVhdGVDaGF0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGF0ID0gXCJhaWRldm9wczpDcmVhdGVDaGF0XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZUtub3dsZWRnZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUtub3dsZWRnZUl0ZW0gPSBcImFpZGV2b3BzOkNyZWF0ZUtub3dsZWRnZUl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiA9XG5cdFx0XCJhaWRldm9wczpDcmVhdGVPbmVUaW1lTG9naW5TZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiA9IFwiYWlkZXZvcHM6Q3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6Q3JlYXRlVHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpZ2dlciA9IFwiYWlkZXZvcHM6Q3JlYXRlVHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZWxldGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFNwYWNlID0gXCJhaWRldm9wczpEZWxldGVBZ2VudFNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRlbGV0ZUFzc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldCA9IFwiYWlkZXZvcHM6RGVsZXRlQXNzZXRcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVsZXRlQXNzZXRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldEZpbGUgPSBcImFpZGV2b3BzOkRlbGV0ZUFzc2V0RmlsZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZWxldGVLbm93bGVkZ2VJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLbm93bGVkZ2VJdGVtID0gXCJhaWRldm9wczpEZWxldGVLbm93bGVkZ2VJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbiA9IFwiYWlkZXZvcHM6RGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGVsZXRlVHJpZ2dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJpZ2dlciA9IFwiYWlkZXZvcHM6RGVsZXRlVHJpZ2dlclwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZXJlZ2lzdGVyU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclNlcnZpY2UgPSBcImFpZGV2b3BzOkRlcmVnaXN0ZXJTZXJ2aWNlXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6RGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiA9XG5cdFx0XCJhaWRldm9wczpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6RGVzY3JpYmVTZXJ2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlcyA9IFwiYWlkZXZvcHM6RGVzY3JpYmVTZXJ2aWNlc1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEZXNjcmliZVN1cHBvcnRMZXZlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTdXBwb3J0TGV2ZWwgPSBcImFpZGV2b3BzOkRlc2NyaWJlU3VwcG9ydExldmVsXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkRpc2FibGVPcGVyYXRvckFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZU9wZXJhdG9yQXBwID0gXCJhaWRldm9wczpEaXNhYmxlT3BlcmF0b3JBcHBcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlU2VydmljZSA9IFwiYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpEaXNjb3ZlclRvcG9sb2d5ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb3ZlclRvcG9sb2d5ID0gXCJhaWRldm9wczpEaXNjb3ZlclRvcG9sb2d5XCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOkVuYWJsZU9wZXJhdG9yQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVPcGVyYXRvckFwcCA9IFwiYWlkZXZvcHM6RW5hYmxlT3BlcmF0b3JBcHBcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6RW5kQ2hhdEZvckNhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuZENoYXRGb3JDYXNlID0gXCJhaWRldm9wczpFbmRDaGF0Rm9yQ2FzZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2Nlc3NUb2tlbiA9IFwiYWlkZXZvcHM6R2V0QWNjZXNzVG9rZW5cIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBY2NvdW50VXNhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjY291bnRVc2FnZSA9IFwiYWlkZXZvcHM6R2V0QWNjb3VudFVzYWdlXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRTcGFjZSA9IFwiYWlkZXZvcHM6R2V0QWdlbnRTcGFjZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFzc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NldCA9IFwiYWlkZXZvcHM6R2V0QXNzZXRcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRBc3NldENvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFzc2V0Q29udGVudCA9IFwiYWlkZXZvcHM6R2V0QXNzZXRDb250ZW50XCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0QXNzZXRGaWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NldEZpbGUgPSBcImFpZGV2b3BzOkdldEFzc2V0RmlsZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBc3NvY2lhdGlvbiA9IFwiYWlkZXZvcHM6R2V0QXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRCYWNrbG9nVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QmFja2xvZ1Rhc2sgPSBcImFpZGV2b3BzOkdldEJhY2tsb2dUYXNrXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0S25vd2xlZGdlSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0S25vd2xlZGdlSXRlbSA9IFwiYWlkZXZvcHM6R2V0S25vd2xlZGdlSXRlbVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldE9wZXJhdG9yQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcGVyYXRvckFwcCA9IFwiYWlkZXZvcHM6R2V0T3BlcmF0b3JBcHBcIjtcblx0LyoqIFtSZWFkXSBhaWRldm9wczpHZXRSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb21tZW5kYXRpb24gPSBcImFpZGV2b3BzOkdldFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6R2V0U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZSA9IFwiYWlkZXZvcHM6R2V0U2VydmljZVwiO1xuXHQvKiogW1JlYWRdIGFpZGV2b3BzOkdldFRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRyaWdnZXIgPSBcImFpZGV2b3BzOkdldFRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6SW5pdGlhdGVDaGF0Rm9yQ2FzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhdGVDaGF0Rm9yQ2FzZSA9IFwiYWlkZXZvcHM6SW5pdGlhdGVDaGF0Rm9yQ2FzZVwiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBY2Nlc3NUb2tlbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY2Nlc3NUb2tlbnMgPSBcImFpZGV2b3BzOkxpc3RBY2Nlc3NUb2tlbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QWdlbnRTcGFjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFNwYWNlcyA9IFwiYWlkZXZvcHM6TGlzdEFnZW50U3BhY2VzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEFzc2V0RmlsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldEZpbGVzID0gXCJhaWRldm9wczpMaXN0QXNzZXRGaWxlc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBc3NldFR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXRUeXBlcyA9IFwiYWlkZXZvcHM6TGlzdEFzc2V0VHlwZXNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QXNzZXRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0VmVyc2lvbnMgPSBcImFpZGV2b3BzOkxpc3RBc3NldFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEFzc2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0cyA9IFwiYWlkZXZvcHM6TGlzdEFzc2V0c1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnMgPSBcImFpZGV2b3BzOkxpc3RBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0QmFja2xvZ1Rhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QmFja2xvZ1Rhc2tzID0gXCJhaWRldm9wczpMaXN0QmFja2xvZ1Rhc2tzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdENoYXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2hhdHMgPSBcImFpZGV2b3BzOkxpc3RDaGF0c1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhlY3V0aW9ucyA9IFwiYWlkZXZvcHM6TGlzdEV4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0R29hbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHb2FscyA9IFwiYWlkZXZvcHM6TGlzdEdvYWxzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdEpvdXJuYWxSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm91cm5hbFJlY29yZHMgPSBcImFpZGV2b3BzOkxpc3RKb3VybmFsUmVjb3Jkc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RLbm93bGVkZ2VJdGVtVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLbm93bGVkZ2VJdGVtVmVyc2lvbnMgPVxuXHRcdFwiYWlkZXZvcHM6TGlzdEtub3dsZWRnZUl0ZW1WZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RLbm93bGVkZ2VJdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtub3dsZWRnZUl0ZW1zID0gXCJhaWRldm9wczpMaXN0S25vd2xlZGdlSXRlbXNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0UGVuZGluZ01lc3NhZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVuZGluZ01lc3NhZ2VzID0gXCJhaWRldm9wczpMaXN0UGVuZGluZ01lc3NhZ2VzXCI7XG5cdC8qKiBbTGlzdF0gYWlkZXZvcHM6TGlzdFByaXZhdGVDb25uZWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhdGVDb25uZWN0aW9ucyA9IFwiYWlkZXZvcHM6TGlzdFByaXZhdGVDb25uZWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRhdGlvbnMgPSBcImFpZGV2b3BzOkxpc3RSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0U2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlcyA9IFwiYWlkZXZvcHM6TGlzdFNlcnZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiYWlkZXZvcHM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIGFpZGV2b3BzOkxpc3RUcmlnZ2VycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRyaWdnZXJzID0gXCJhaWRldm9wczpMaXN0VHJpZ2dlcnNcIjtcblx0LyoqIFtMaXN0XSBhaWRldm9wczpMaXN0V2ViaG9va3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXZWJob29rcyA9IFwiYWlkZXZvcHM6TGlzdFdlYmhvb2tzXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlJlZ2lzdGVyU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlID0gXCJhaWRldm9wczpSZWdpc3RlclNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6UmV2b2tlQWNjZXNzVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldm9rZUFjY2Vzc1Rva2VuID0gXCJhaWRldm9wczpSZXZva2VBY2Nlc3NUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpSb3RhdGVBY2Nlc3NUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUm90YXRlQWNjZXNzVG9rZW4gPSBcImFpZGV2b3BzOlJvdGF0ZUFjY2Vzc1Rva2VuXCI7XG5cdC8qKiBbUmVhZF0gYWlkZXZvcHM6U2VhcmNoU2VydmljZUFjY2Vzc2libGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoU2VydmljZUFjY2Vzc2libGVSZXNvdXJjZSA9XG5cdFx0XCJhaWRldm9wczpTZWFyY2hTZXJ2aWNlQWNjZXNzaWJsZVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlNlbmRNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTWVzc2FnZSA9IFwiYWlkZXZvcHM6U2VuZE1lc3NhZ2VcIjtcblx0LyoqIFtUYWdnaW5nXSBhaWRldm9wczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImFpZGV2b3BzOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gYWlkZXZvcHM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiYWlkZXZvcHM6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNwYWNlID0gXCJhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUFwcHJvdmFsQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHByb3ZhbEFjdGlvbiA9IFwiYWlkZXZvcHM6VXBkYXRlQXBwcm92YWxBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlQXNzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0ID0gXCJhaWRldm9wczpVcGRhdGVBc3NldFwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVBc3NldEZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0RmlsZSA9IFwiYWlkZXZvcHM6VXBkYXRlQXNzZXRGaWxlXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NvY2lhdGlvbiA9IFwiYWlkZXZvcHM6VXBkYXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlQmFja2xvZ1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJhY2tsb2dUYXNrID0gXCJhaWRldm9wczpVcGRhdGVCYWNrbG9nVGFza1wiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVHb2FsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVHb2FsID0gXCJhaWRldm9wczpVcGRhdGVHb2FsXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZUtub3dsZWRnZUl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUtub3dsZWRnZUl0ZW0gPSBcImFpZGV2b3BzOlVwZGF0ZUtub3dsZWRnZUl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9wZXJhdG9yQXBwSWRwQ29uZmlnID1cblx0XHRcImFpZGV2b3BzOlVwZGF0ZU9wZXJhdG9yQXBwSWRwQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGUgPVxuXHRcdFwiYWlkZXZvcHM6VXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZVwiO1xuXHQvKiogW1dyaXRlXSBhaWRldm9wczpVcGRhdGVSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb21tZW5kYXRpb24gPSBcImFpZGV2b3BzOlVwZGF0ZVJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGFpZGV2b3BzOlVwZGF0ZVRyaWdnZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRyaWdnZXIgPSBcImFpZGV2b3BzOlVwZGF0ZVRyaWdnZXJcIjtcblx0LyoqIFtXcml0ZV0gYWlkZXZvcHM6VmFsaWRhdGVBd3NBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQXdzQXNzb2NpYXRpb25zID0gXCJhaWRldm9wczpWYWxpZGF0ZUF3c0Fzc29jaWF0aW9uc1wiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZXNjcmliZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QWNjb3VudFVzYWdlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBc3NldCxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0QXNzZXRDb250ZW50LFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRBc3NldEZpbGUsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldEFzc29jaWF0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRCYWNrbG9nVGFzayxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0S25vd2xlZGdlSXRlbSxcblx0XHRBaWRldm9wc0FjdGlvbnMuYWN0aW9uR2V0T3BlcmF0b3JBcHAsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLmFjdGlvbkdldFJlY29tbWVuZGF0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5hY3Rpb25HZXRUcmlnZ2VyLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5TZWFyY2hTZXJ2aWNlQWNjZXNzaWJsZVJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEFpZGV2b3BzQWN0aW9ucy5Bc3NvY2lhdGVTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQWdlbnRTcGFjZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQXNzZXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUFzc2V0RmlsZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuQ3JlYXRlQmFja2xvZ1Rhc2ssXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUNoYXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZUtub3dsZWRnZUl0ZW0sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZU9uZVRpbWVMb2dpblNlc3Npb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5DcmVhdGVUcmlnZ2VyLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVBc3NldCxcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlQXNzZXRGaWxlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVLbm93bGVkZ2VJdGVtLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EZWxldGVQcml2YXRlQ29ubmVjdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVsZXRlVHJpZ2dlcixcblx0XHRBaWRldm9wc0FjdGlvbnMuRGVyZWdpc3RlclNlcnZpY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRlc2NyaWJlU3VwcG9ydExldmVsLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5EaXNhYmxlT3BlcmF0b3JBcHAsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRpc2Fzc29jaWF0ZVNlcnZpY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkRpc2NvdmVyVG9wb2xvZ3ksXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkVuYWJsZU9wZXJhdG9yQXBwLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5FbmRDaGF0Rm9yQ2FzZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuSW5pdGlhdGVDaGF0Rm9yQ2FzZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuUmVnaXN0ZXJTZXJ2aWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5SZXZva2VBY2Nlc3NUb2tlbixcblx0XHRBaWRldm9wc0FjdGlvbnMuUm90YXRlQWNjZXNzVG9rZW4sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlNlbmRNZXNzYWdlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVBZ2VudFNwYWNlLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVBcHByb3ZhbEFjdGlvbixcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlQXNzZXQsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZUFzc2V0RmlsZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlQXNzb2NpYXRpb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZUJhY2tsb2dUYXNrLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVHb2FsLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVLbm93bGVkZ2VJdGVtLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5VcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZyxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSxcblx0XHRBaWRldm9wc0FjdGlvbnMuVXBkYXRlUmVjb21tZW5kYXRpb24sXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVwZGF0ZVRyaWdnZXIsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlZhbGlkYXRlQXdzQXNzb2NpYXRpb25zLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFjY2Vzc1Rva2Vucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFnZW50U3BhY2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzZXRGaWxlcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEFzc2V0VHlwZXMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RBc3NldFZlcnNpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzZXRzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QXNzb2NpYXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0QmFja2xvZ1Rhc2tzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0Q2hhdHMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RFeGVjdXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0R29hbHMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RKb3VybmFsUmVjb3Jkcyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEtub3dsZWRnZUl0ZW1WZXJzaW9ucyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdEtub3dsZWRnZUl0ZW1zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UGVuZGluZ01lc3NhZ2VzLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UHJpdmF0ZUNvbm5lY3Rpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0UmVjb21tZW5kYXRpb25zLFxuXHRcdEFpZGV2b3BzQWN0aW9ucy5MaXN0U2VydmljZXMsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLkxpc3RUcmlnZ2Vycyxcblx0XHRBaWRldm9wc0FjdGlvbnMuTGlzdFdlYmhvb2tzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRBaWRldm9wc0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0QWlkZXZvcHNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhZ2VudHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0FnZW50c3BhY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhZ2VudHNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc0FnZW50c3BhY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXNzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBBc3NldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhc3NldElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXNzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhc3NldElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhc3NvY2lhdGlvbnMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzQXNzb2NpYXRpb25zQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFzc29jaWF0aW9ucyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNBc3NvY2lhdGlvbnNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50U3BhY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZW50U3BhY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwcml2YXRlLWNvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzUHJpdmF0ZUNvbm5lY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByaXZhdGUtY29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWlkZXZvcHNQcml2YXRlQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzU2VydmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzU2VydmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cmlnZ2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBaWRldm9wc1RyaWdnZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudFNwYWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBUcmlnZ2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRyaWdnZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRyaWdnZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFpZGV2b3BzVHJpZ2dlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdlbnRTcGFjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdlbnRTcGFjZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJpZ2dlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJpZ2dlcklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFnZW50c3BhY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudHNwYWNlXFwvKD88YWdlbnRTcGFjZUlkPlteOi8/XSspJC87XG5jb25zdCBBc3NldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50c3BhY2VcXC8oPzxhZ2VudFNwYWNlSWQ+W146Lz9dKylcXC9hc3NldFxcLyg/PGFzc2V0SWQ+W146Lz9dKykkLztcbmNvbnN0IEFzc29jaWF0aW9uc0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50c3BhY2VcXC8oPzxhZ2VudFNwYWNlSWQ+W146Lz9dKylcXC9hc3NvY2lhdGlvblxcLyg/PGFzc29jaWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFByaXZhdGVDb25uZWN0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmFpZGV2b3BzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJpdmF0ZS1jb25uZWN0aW9uXFwvKD88bmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTphaWRldm9wczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VcXC8oPzxzZXJ2aWNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFRyaWdnZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YWlkZXZvcHM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2VudHNwYWNlXFwvKD88YWdlbnRTcGFjZUlkPlteOi8/XSspXFwvdHJpZ2dlclxcLyg/PHRyaWdnZXJJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGFpZGV2b3BzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhZ2VudHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFnZW50c3BhY2UocHJvcHM6IEFpZGV2b3BzQWdlbnRzcGFjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudHNwYWNlLyR7cHJvcHMuYWdlbnRTcGFjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhZ2VudHNwYWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2VudHNwYWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZW50c3BhY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYWdlbnRzcGFjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZ2VudHNwYWNlQXJuKGFybjogc3RyaW5nKTogQWlkZXZvcHNBZ2VudHNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudHNwYWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFnZW50c3BhY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdlbnRTcGFjZUlkOiBtYXRjaC5ncm91cHMhLmFnZW50U3BhY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhc3NldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhc3NldChwcm9wczogQWlkZXZvcHNBc3NldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTphaWRldm9wczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2VudHNwYWNlLyR7cHJvcHMuYWdlbnRTcGFjZUlkfS9hc3NldC8ke3Byb3BzLmFzc2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFzc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBc3NldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBc3NldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhc3NldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBc3NldEFybihhcm46IHN0cmluZyk6IEFpZGV2b3BzQXNzZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFzc2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFzc2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50U3BhY2VJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudFNwYWNlSWQsXG5cdFx0XHRhc3NldElkOiBtYXRjaC5ncm91cHMhLmFzc2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXNzb2NpYXRpb25zIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFzc29jaWF0aW9ucyhwcm9wczogQWlkZXZvcHNBc3NvY2lhdGlvbnNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YWlkZXZvcHM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdlbnRzcGFjZS8ke3Byb3BzLmFnZW50U3BhY2VJZH0vYXNzb2NpYXRpb24vJHtwcm9wcy5hc3NvY2lhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhc3NvY2lhdGlvbnMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFzc29jaWF0aW9uc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBc3NvY2lhdGlvbnNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXNzb2NpYXRpb25zIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFzc29jaWF0aW9uc0Fybihhcm46IHN0cmluZyk6IEFpZGV2b3BzQXNzb2NpYXRpb25zQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBc3NvY2lhdGlvbnNBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXNzb2NpYXRpb25zIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFnZW50U3BhY2VJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudFNwYWNlSWQsXG5cdFx0XHRhc3NvY2lhdGlvbklkOiBtYXRjaC5ncm91cHMhLmFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcHJpdmF0ZS1jb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHByaXZhdGVDb25uZWN0aW9uKHByb3BzOiBBaWRldm9wc1ByaXZhdGVDb25uZWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnByaXZhdGUtY29ubmVjdGlvbi8ke3Byb3BzLm5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHByaXZhdGUtY29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJpdmF0ZUNvbm5lY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJpdmF0ZUNvbm5lY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcHJpdmF0ZS1jb25uZWN0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByaXZhdGVDb25uZWN0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBBaWRldm9wc1ByaXZhdGVDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcml2YXRlQ29ubmVjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwcml2YXRlLWNvbm5lY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bmFtZTogbWF0Y2guZ3JvdXBzIS5uYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZShwcm9wczogQWlkZXZvcHNTZXJ2aWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5zZXJ2aWNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBBaWRldm9wc1NlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyaWdnZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJpZ2dlcihwcm9wczogQWlkZXZvcHNUcmlnZ2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmFpZGV2b3BzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50c3BhY2UvJHtwcm9wcy5hZ2VudFNwYWNlSWR9L3RyaWdnZXIvJHtwcm9wcy50cmlnZ2VySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRyaWdnZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRyaWdnZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJpZ2dlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmlnZ2VyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyaWdnZXJBcm4oYXJuOiBzdHJpbmcpOiBBaWRldm9wc1RyaWdnZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRyaWdnZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJpZ2dlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2VudFNwYWNlSWQ6IG1hdGNoLmdyb3VwcyEuYWdlbnRTcGFjZUlkLFxuXHRcdFx0dHJpZ2dlcklkOiBtYXRjaC5ncm91cHMhLnRyaWdnZXJJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBhaWRldm9wcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkFzc29jaWF0ZVNlcnZpY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpDcmVhdGVBZ2VudFNwYWNlXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NldEZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJhY2tsb2dUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQmFja2xvZ1Rhc2s6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNoYXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDaGF0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaXZhdGVDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJpZ2dlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6RGVsZXRlQWdlbnRTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXNzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NldDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXNzZXRGaWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzZXRGaWxlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByaXZhdGVDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkRlcmVnaXN0ZXJTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVPcGVyYXRvckFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpEaXNhYmxlT3BlcmF0b3JBcHBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYWlkZXZvcHM6RGlzYXNzb2NpYXRlU2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZU9wZXJhdG9yQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOkVuYWJsZU9wZXJhdG9yQXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWNjb3VudFVzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2NvdW50VXNhZ2U6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZW50U3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6R2V0QWdlbnRTcGFjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXNzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBc3NldENvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFzc2V0Q29udGVudDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXNzZXRGaWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXCJhaWRldm9wczpHZXRBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QmFja2xvZ1Rhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJhY2tsb2dUYXNrOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcGVyYXRvckFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3BlcmF0b3JBcHA6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6R2V0T3BlcmF0b3JBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VydmljZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpHZXRTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUcmlnZ2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdlbnRTcGFjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdlbnRTcGFjZXM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdEFnZW50U3BhY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRGaWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldEZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldFR5cGVzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NldFZlcnNpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2V0czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdEFzc29jaWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJhY2tsb2dUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCYWNrbG9nVGFza3M6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDaGF0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDaGF0czogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhlY3V0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEdvYWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdvYWxzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm91cm5hbFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm91cm5hbFJlY29yZHM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQZW5kaW5nTWVzc2FnZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVuZGluZ01lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByaXZhdGVDb25uZWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXM6IHN0cmluZ1tdID0gW1wiYWlkZXZvcHM6TGlzdFNlcnZpY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUcmlnZ2VycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUcmlnZ2Vyczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFdlYmhvb2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdlYmhvb2tzOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOkxpc3RXZWJob29rc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYWlkZXZvcHM6UmVnaXN0ZXJTZXJ2aWNlXCIsXG5cdFx0XCJhaWRldm9wczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTWVzc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRNZXNzYWdlOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImFpZGV2b3BzOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRTcGFjZTogc3RyaW5nW10gPSBbXCJhaWRldm9wczpVcGRhdGVBZ2VudFNwYWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHByb3ZhbEFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcHJvdmFsQWN0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2V0OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NldEZpbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NldEZpbGU6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJhaWRldm9wczpVcGRhdGVBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCYWNrbG9nVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJhY2tsb2dUYXNrOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVHb2FsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR29hbDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT3BlcmF0b3JBcHBJZHBDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpVcGRhdGVPcGVyYXRvckFwcElkcENvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJhaWRldm9wczpVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRyaWdnZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUcmlnZ2VyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWYWxpZGF0ZUF3c0Fzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQXdzQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImFpZGV2b3BzOlZhbGlkYXRlQXdzQXNzb2NpYXRpb25zXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBhaWRldm9wcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFpZGV2b3BzQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZ2VudFNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50U3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByaXZhdGVDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaXZhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBZ2VudFNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50U3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVByaXZhdGVDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByaXZhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXJlZ2lzdGVyU2VydmljZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRBZ2VudFNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50U3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlclNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
@@ -16,7 +16,7 @@ class AiopsActions {
16
16
  }
17
17
  exports.AiopsActions = AiopsActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AiopsActions[_a] = { fqn: "@cdk_utils/iam.aiops.AiopsActions", version: "1.10.0" };
19
+ AiopsActions[_a] = { fqn: "@cdk_utils/iam.aiops.AiopsActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  AiopsActions.SERVICE_PREFIX = "aiops";
22
22
  /** [Write] aiops:CreateInvestigation */
@@ -168,7 +168,7 @@ class AiopsResources {
168
168
  }
169
169
  exports.AiopsResources = AiopsResources;
170
170
  _b = JSII_RTTI_SYMBOL_1;
171
- AiopsResources[_b] = { fqn: "@cdk_utils/iam.aiops.AiopsResources", version: "1.10.0" };
171
+ AiopsResources[_b] = { fqn: "@cdk_utils/iam.aiops.AiopsResources", version: "1.11.0" };
172
172
  /**
173
173
  * API operation to required IAM actions mapping for aiops.
174
174
  */
@@ -176,7 +176,7 @@ class AiopsOperations {
176
176
  }
177
177
  exports.AiopsOperations = AiopsOperations;
178
178
  _c = JSII_RTTI_SYMBOL_1;
179
- AiopsOperations[_c] = { fqn: "@cdk_utils/iam.aiops.AiopsOperations", version: "1.10.0" };
179
+ AiopsOperations[_c] = { fqn: "@cdk_utils/iam.aiops.AiopsOperations", version: "1.11.0" };
180
180
  /** IAM actions required for the CreateInvestigationGroup API call. */
181
181
  AiopsOperations.CreateInvestigationGroup = [
182
182
  "aiops:CreateInvestigationGroup",
@@ -243,7 +243,7 @@ class AiopsConditions {
243
243
  }
244
244
  exports.AiopsConditions = AiopsConditions;
245
245
  _d = JSII_RTTI_SYMBOL_1;
246
- AiopsConditions[_d] = { fqn: "@cdk_utils/iam.aiops.AiopsConditions", version: "1.10.0" };
246
+ AiopsConditions[_d] = { fqn: "@cdk_utils/iam.aiops.AiopsConditions", version: "1.11.0" };
247
247
  /** Condition keys applicable to the CreateInvestigationGroup action. */
248
248
  AiopsConditions.CreateInvestigationGroupConditionKeys = [
249
249
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class AirflowServerlessActions {
16
16
  }
17
17
  exports.AirflowServerlessActions = AirflowServerlessActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AirflowServerlessActions[_a] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessActions", version: "1.10.0" };
19
+ AirflowServerlessActions[_a] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  AirflowServerlessActions.SERVICE_PREFIX = "airflow-serverless";
22
22
  /** [Write] airflow-serverless:CreateWorkflow */
@@ -114,7 +114,7 @@ class AirflowServerlessResources {
114
114
  }
115
115
  exports.AirflowServerlessResources = AirflowServerlessResources;
116
116
  _b = JSII_RTTI_SYMBOL_1;
117
- AirflowServerlessResources[_b] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessResources", version: "1.10.0" };
117
+ AirflowServerlessResources[_b] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessResources", version: "1.11.0" };
118
118
  /**
119
119
  * API operation to required IAM actions mapping for airflow-serverless.
120
120
  */
@@ -122,7 +122,7 @@ class AirflowServerlessOperations {
122
122
  }
123
123
  exports.AirflowServerlessOperations = AirflowServerlessOperations;
124
124
  _c = JSII_RTTI_SYMBOL_1;
125
- AirflowServerlessOperations[_c] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessOperations", version: "1.10.0" };
125
+ AirflowServerlessOperations[_c] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessOperations", version: "1.11.0" };
126
126
  /** IAM actions required for the CreateWorkflow API call. */
127
127
  AirflowServerlessOperations.CreateWorkflow = [
128
128
  "airflow-serverless:CreateWorkflow",
@@ -207,7 +207,7 @@ class AirflowServerlessConditions {
207
207
  }
208
208
  exports.AirflowServerlessConditions = AirflowServerlessConditions;
209
209
  _d = JSII_RTTI_SYMBOL_1;
210
- AirflowServerlessConditions[_d] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessConditions", version: "1.10.0" };
210
+ AirflowServerlessConditions[_d] = { fqn: "@cdk_utils/iam.airflow_serverless.AirflowServerlessConditions", version: "1.11.0" };
211
211
  /** Condition keys applicable to the CreateWorkflow action. */
212
212
  AirflowServerlessConditions.CreateWorkflowConditionKeys = [
213
213
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class AirflowActions {
16
16
  }
17
17
  exports.AirflowActions = AirflowActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AirflowActions[_a] = { fqn: "@cdk_utils/iam.airflow.AirflowActions", version: "1.10.0" };
19
+ AirflowActions[_a] = { fqn: "@cdk_utils/iam.airflow.AirflowActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  AirflowActions.SERVICE_PREFIX = "airflow";
22
22
  /** [Write] airflow:CreateCliToken */
@@ -133,7 +133,7 @@ class AirflowResources {
133
133
  }
134
134
  exports.AirflowResources = AirflowResources;
135
135
  _b = JSII_RTTI_SYMBOL_1;
136
- AirflowResources[_b] = { fqn: "@cdk_utils/iam.airflow.AirflowResources", version: "1.10.0" };
136
+ AirflowResources[_b] = { fqn: "@cdk_utils/iam.airflow.AirflowResources", version: "1.11.0" };
137
137
  /**
138
138
  * API operation to required IAM actions mapping for airflow.
139
139
  */
@@ -141,7 +141,7 @@ class AirflowOperations {
141
141
  }
142
142
  exports.AirflowOperations = AirflowOperations;
143
143
  _c = JSII_RTTI_SYMBOL_1;
144
- AirflowOperations[_c] = { fqn: "@cdk_utils/iam.airflow.AirflowOperations", version: "1.10.0" };
144
+ AirflowOperations[_c] = { fqn: "@cdk_utils/iam.airflow.AirflowOperations", version: "1.11.0" };
145
145
  /** IAM actions required for the CreateCliToken API call. */
146
146
  AirflowOperations.CreateCliToken = ["airflow:CreateCliToken"];
147
147
  /** IAM actions required for the CreateEnvironment API call. */
@@ -232,7 +232,7 @@ class AirflowConditions {
232
232
  }
233
233
  exports.AirflowConditions = AirflowConditions;
234
234
  _d = JSII_RTTI_SYMBOL_1;
235
- AirflowConditions[_d] = { fqn: "@cdk_utils/iam.airflow.AirflowConditions", version: "1.10.0" };
235
+ AirflowConditions[_d] = { fqn: "@cdk_utils/iam.airflow.AirflowConditions", version: "1.11.0" };
236
236
  /** Condition keys applicable to the CreateEnvironment action. */
237
237
  AirflowConditions.CreateEnvironmentConditionKeys = [
238
238
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class AmplifyActions {
16
16
  }
17
17
  exports.AmplifyActions = AmplifyActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AmplifyActions[_a] = { fqn: "@cdk_utils/iam.amplify.AmplifyActions", version: "1.10.0" };
19
+ AmplifyActions[_a] = { fqn: "@cdk_utils/iam.amplify.AmplifyActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  AmplifyActions.SERVICE_PREFIX = "amplify";
22
22
  /** [Write] amplify:AssociateWebACL */
@@ -312,7 +312,7 @@ class AmplifyResources {
312
312
  }
313
313
  exports.AmplifyResources = AmplifyResources;
314
314
  _b = JSII_RTTI_SYMBOL_1;
315
- AmplifyResources[_b] = { fqn: "@cdk_utils/iam.amplify.AmplifyResources", version: "1.10.0" };
315
+ AmplifyResources[_b] = { fqn: "@cdk_utils/iam.amplify.AmplifyResources", version: "1.11.0" };
316
316
  /**
317
317
  * API operation to required IAM actions mapping for amplify.
318
318
  */
@@ -320,7 +320,7 @@ class AmplifyOperations {
320
320
  }
321
321
  exports.AmplifyOperations = AmplifyOperations;
322
322
  _c = JSII_RTTI_SYMBOL_1;
323
- AmplifyOperations[_c] = { fqn: "@cdk_utils/iam.amplify.AmplifyOperations", version: "1.10.0" };
323
+ AmplifyOperations[_c] = { fqn: "@cdk_utils/iam.amplify.AmplifyOperations", version: "1.11.0" };
324
324
  /** IAM actions required for the CreateApp API call. */
325
325
  AmplifyOperations.CreateApp = [
326
326
  "amplify:CreateApp",
@@ -453,7 +453,7 @@ class AmplifyConditions {
453
453
  }
454
454
  exports.AmplifyConditions = AmplifyConditions;
455
455
  _d = JSII_RTTI_SYMBOL_1;
456
- AmplifyConditions[_d] = { fqn: "@cdk_utils/iam.amplify.AmplifyConditions", version: "1.10.0" };
456
+ AmplifyConditions[_d] = { fqn: "@cdk_utils/iam.amplify.AmplifyConditions", version: "1.11.0" };
457
457
  /** Condition keys applicable to the CreateApp action. */
458
458
  AmplifyConditions.CreateAppConditionKeys = [
459
459
  "aws:RequestTag/${TagKey}",
@@ -16,7 +16,7 @@ class AmplifybackendActions {
16
16
  }
17
17
  exports.AmplifybackendActions = AmplifybackendActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AmplifybackendActions[_a] = { fqn: "@cdk_utils/iam.amplifybackend.AmplifybackendActions", version: "1.10.0" };
19
+ AmplifybackendActions[_a] = { fqn: "@cdk_utils/iam.amplifybackend.AmplifybackendActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  AmplifybackendActions.SERVICE_PREFIX = "amplifybackend";
22
22
  /** [Write] amplifybackend:CloneBackend */
@@ -392,7 +392,7 @@ class AmplifybackendResources {
392
392
  }
393
393
  exports.AmplifybackendResources = AmplifybackendResources;
394
394
  _b = JSII_RTTI_SYMBOL_1;
395
- AmplifybackendResources[_b] = { fqn: "@cdk_utils/iam.amplifybackend.AmplifybackendResources", version: "1.10.0" };
395
+ AmplifybackendResources[_b] = { fqn: "@cdk_utils/iam.amplifybackend.AmplifybackendResources", version: "1.11.0" };
396
396
  /**
397
397
  * API operation to required IAM actions mapping for amplifybackend.
398
398
  */
@@ -400,7 +400,7 @@ class AmplifybackendOperations {
400
400
  }
401
401
  exports.AmplifybackendOperations = AmplifybackendOperations;
402
402
  _c = JSII_RTTI_SYMBOL_1;
403
- AmplifybackendOperations[_c] = { fqn: "@cdk_utils/iam.amplifybackend.AmplifybackendOperations", version: "1.10.0" };
403
+ AmplifybackendOperations[_c] = { fqn: "@cdk_utils/iam.amplifybackend.AmplifybackendOperations", version: "1.11.0" };
404
404
  /** IAM actions required for the CloneBackend API call. */
405
405
  AmplifybackendOperations.CloneBackend = ["amplifybackend:CloneBackend"];
406
406
  /** IAM actions required for the CreateBackend API call. */
@@ -16,7 +16,7 @@ class AmplifyuibuilderActions {
16
16
  }
17
17
  exports.AmplifyuibuilderActions = AmplifyuibuilderActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- AmplifyuibuilderActions[_a] = { fqn: "@cdk_utils/iam.amplifyuibuilder.AmplifyuibuilderActions", version: "1.10.0" };
19
+ AmplifyuibuilderActions[_a] = { fqn: "@cdk_utils/iam.amplifyuibuilder.AmplifyuibuilderActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  AmplifyuibuilderActions.SERVICE_PREFIX = "amplifyuibuilder";
22
22
  /** [Write] amplifyuibuilder:CreateComponent */
@@ -251,7 +251,7 @@ class AmplifyuibuilderResources {
251
251
  }
252
252
  exports.AmplifyuibuilderResources = AmplifyuibuilderResources;
253
253
  _b = JSII_RTTI_SYMBOL_1;
254
- AmplifyuibuilderResources[_b] = { fqn: "@cdk_utils/iam.amplifyuibuilder.AmplifyuibuilderResources", version: "1.10.0" };
254
+ AmplifyuibuilderResources[_b] = { fqn: "@cdk_utils/iam.amplifyuibuilder.AmplifyuibuilderResources", version: "1.11.0" };
255
255
  /**
256
256
  * API operation to required IAM actions mapping for amplifyuibuilder.
257
257
  */
@@ -259,7 +259,7 @@ class AmplifyuibuilderOperations {
259
259
  }
260
260
  exports.AmplifyuibuilderOperations = AmplifyuibuilderOperations;
261
261
  _c = JSII_RTTI_SYMBOL_1;
262
- AmplifyuibuilderOperations[_c] = { fqn: "@cdk_utils/iam.amplifyuibuilder.AmplifyuibuilderOperations", version: "1.10.0" };
262
+ AmplifyuibuilderOperations[_c] = { fqn: "@cdk_utils/iam.amplifyuibuilder.AmplifyuibuilderOperations", version: "1.11.0" };
263
263
  /** IAM actions required for the CreateComponent API call. */
264
264
  AmplifyuibuilderOperations.CreateComponent = [
265
265
  "amplifyuibuilder:CreateComponent",
@@ -458,7 +458,7 @@ class AmplifyuibuilderConditions {
458
458
  }
459
459
  exports.AmplifyuibuilderConditions = AmplifyuibuilderConditions;
460
460
  _d = JSII_RTTI_SYMBOL_1;
461
- AmplifyuibuilderConditions[_d] = { fqn: "@cdk_utils/iam.amplifyuibuilder.AmplifyuibuilderConditions", version: "1.10.0" };
461
+ AmplifyuibuilderConditions[_d] = { fqn: "@cdk_utils/iam.amplifyuibuilder.AmplifyuibuilderConditions", version: "1.11.0" };
462
462
  /** Condition keys applicable to the CreateComponent action. */
463
463
  AmplifyuibuilderConditions.CreateComponentConditionKeys = [
464
464
  "aws:RequestTag/${TagKey}",