@cdk_utils/iam 1.9.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 (465) hide show
  1. package/.jsii +2247 -2011
  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.d.ts +12 -0
  13. package/lib/generated/services/agent-registry.js +22 -5
  14. package/lib/generated/services/agentaccess-mcp.js +2 -2
  15. package/lib/generated/services/aidevops.d.ts +2 -0
  16. package/lib/generated/services/aidevops.js +7 -5
  17. package/lib/generated/services/aiops.js +4 -4
  18. package/lib/generated/services/airflow-serverless.js +4 -4
  19. package/lib/generated/services/airflow.js +4 -4
  20. package/lib/generated/services/amplify.js +4 -4
  21. package/lib/generated/services/amplifybackend.js +3 -3
  22. package/lib/generated/services/amplifyuibuilder.js +4 -4
  23. package/lib/generated/services/aoss.js +4 -4
  24. package/lib/generated/services/apigateway.js +4 -4
  25. package/lib/generated/services/app-integrations.js +4 -4
  26. package/lib/generated/services/appconfig.js +4 -4
  27. package/lib/generated/services/appfabric.js +4 -4
  28. package/lib/generated/services/appflow.js +4 -4
  29. package/lib/generated/services/application-autoscaling.js +4 -4
  30. package/lib/generated/services/application-signals-mcp.js +3 -3
  31. package/lib/generated/services/application-signals.js +4 -4
  32. package/lib/generated/services/application-transformation.js +1 -1
  33. package/lib/generated/services/applicationinsights.js +3 -3
  34. package/lib/generated/services/appmesh-preview.js +2 -2
  35. package/lib/generated/services/appmesh.js +4 -4
  36. package/lib/generated/services/apprunner.js +4 -4
  37. package/lib/generated/services/appstream.js +4 -4
  38. package/lib/generated/services/appstudio.js +2 -2
  39. package/lib/generated/services/appsync.js +4 -4
  40. package/lib/generated/services/apptest.js +3 -3
  41. package/lib/generated/services/aps.js +4 -4
  42. package/lib/generated/services/arc-region-switch.js +4 -4
  43. package/lib/generated/services/arc-zonal-shift.js +4 -4
  44. package/lib/generated/services/arsenal.js +1 -1
  45. package/lib/generated/services/artifact.js +4 -4
  46. package/lib/generated/services/athena.js +4 -4
  47. package/lib/generated/services/auditmanager.js +4 -4
  48. package/lib/generated/services/autoscaling-plans.js +2 -2
  49. package/lib/generated/services/autoscaling.d.ts +6 -0
  50. package/lib/generated/services/autoscaling.js +20 -5
  51. package/lib/generated/services/aws-external-anthropic.js +3 -3
  52. package/lib/generated/services/aws-marketplace-management.js +1 -1
  53. package/lib/generated/services/aws-marketplace.js +4 -4
  54. package/lib/generated/services/aws-portal.js +1 -1
  55. package/lib/generated/services/awsconnector.js +1 -1
  56. package/lib/generated/services/b2bi.js +4 -4
  57. package/lib/generated/services/backup-gateway.js +4 -4
  58. package/lib/generated/services/backup-search.js +4 -4
  59. package/lib/generated/services/backup-storage.js +1 -1
  60. package/lib/generated/services/backup.js +4 -4
  61. package/lib/generated/services/batch.d.ts +4 -0
  62. package/lib/generated/services/batch.js +14 -5
  63. package/lib/generated/services/bcm-dashboards.js +4 -4
  64. package/lib/generated/services/bcm-data-exports.js +4 -4
  65. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  66. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  67. package/lib/generated/services/bedrock-agentcore.js +4 -4
  68. package/lib/generated/services/bedrock-mantle.js +3 -3
  69. package/lib/generated/services/bedrock-websearch.js +2 -2
  70. package/lib/generated/services/bedrock.js +4 -4
  71. package/lib/generated/services/billing.js +4 -4
  72. package/lib/generated/services/billingconductor.js +4 -4
  73. package/lib/generated/services/braket.js +4 -4
  74. package/lib/generated/services/budgets.js +4 -4
  75. package/lib/generated/services/bugbust.js +3 -3
  76. package/lib/generated/services/cases.js +4 -4
  77. package/lib/generated/services/cassandra.js +4 -4
  78. package/lib/generated/services/ce.js +4 -4
  79. package/lib/generated/services/chatbot.js +4 -4
  80. package/lib/generated/services/chime.js +4 -4
  81. package/lib/generated/services/cleanrooms-ml.js +4 -4
  82. package/lib/generated/services/cleanrooms.js +4 -4
  83. package/lib/generated/services/cloud9.js +4 -4
  84. package/lib/generated/services/clouddirectory.js +3 -3
  85. package/lib/generated/services/cloudformation.js +4 -4
  86. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  87. package/lib/generated/services/cloudfront.js +4 -4
  88. package/lib/generated/services/cloudhsm.js +4 -4
  89. package/lib/generated/services/cloudsearch.js +3 -3
  90. package/lib/generated/services/cloudshell.js +3 -3
  91. package/lib/generated/services/cloudtrail-data.js +4 -4
  92. package/lib/generated/services/cloudtrail.js +4 -4
  93. package/lib/generated/services/cloudwatch.js +4 -4
  94. package/lib/generated/services/codeartifact.js +4 -4
  95. package/lib/generated/services/codebuild.js +4 -4
  96. package/lib/generated/services/codecatalyst.js +4 -4
  97. package/lib/generated/services/codecommit.js +4 -4
  98. package/lib/generated/services/codeconnections.js +4 -4
  99. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  100. package/lib/generated/services/codedeploy.js +4 -4
  101. package/lib/generated/services/codeguru-profiler.js +4 -4
  102. package/lib/generated/services/codeguru-reviewer.js +4 -4
  103. package/lib/generated/services/codeguru-security.js +4 -4
  104. package/lib/generated/services/codeguru.js +1 -1
  105. package/lib/generated/services/codepipeline.js +4 -4
  106. package/lib/generated/services/codestar-connections.js +4 -4
  107. package/lib/generated/services/codestar-notifications.js +4 -4
  108. package/lib/generated/services/codestar.js +3 -3
  109. package/lib/generated/services/codewhisperer.js +3 -3
  110. package/lib/generated/services/cognito-identity.js +4 -4
  111. package/lib/generated/services/cognito-idp.js +4 -4
  112. package/lib/generated/services/cognito-sync.js +3 -3
  113. package/lib/generated/services/comprehend.js +4 -4
  114. package/lib/generated/services/comprehendmedical.js +3 -3
  115. package/lib/generated/services/compute-optimizer.js +3 -3
  116. package/lib/generated/services/config.js +4 -4
  117. package/lib/generated/services/connect-campaigns.js +4 -4
  118. package/lib/generated/services/connect.js +4 -4
  119. package/lib/generated/services/consoleapp.js +2 -2
  120. package/lib/generated/services/consolidatedbilling.js +1 -1
  121. package/lib/generated/services/controlcatalog.js +3 -3
  122. package/lib/generated/services/controltower.js +4 -4
  123. package/lib/generated/services/cost-optimization-hub.js +2 -2
  124. package/lib/generated/services/cur.js +4 -4
  125. package/lib/generated/services/customer-verification.d.ts +4 -0
  126. package/lib/generated/services/customer-verification.js +8 -2
  127. package/lib/generated/services/databrew.js +4 -4
  128. package/lib/generated/services/dataexchange.js +4 -4
  129. package/lib/generated/services/datapipeline.js +4 -4
  130. package/lib/generated/services/datasync.js +4 -4
  131. package/lib/generated/services/datazone.js +4 -4
  132. package/lib/generated/services/dax.js +4 -4
  133. package/lib/generated/services/dbqms.js +1 -1
  134. package/lib/generated/services/deadline.js +4 -4
  135. package/lib/generated/services/detective.js +4 -4
  136. package/lib/generated/services/devicefarm.js +4 -4
  137. package/lib/generated/services/devops-guru.js +4 -4
  138. package/lib/generated/services/directconnect.js +4 -4
  139. package/lib/generated/services/discovery.js +3 -3
  140. package/lib/generated/services/dlm.js +4 -4
  141. package/lib/generated/services/dms.js +4 -4
  142. package/lib/generated/services/docdb-elastic.js +4 -4
  143. package/lib/generated/services/drs.js +13 -18
  144. package/lib/generated/services/ds-data.js +4 -4
  145. package/lib/generated/services/ds.js +4 -4
  146. package/lib/generated/services/dsql.js +4 -4
  147. package/lib/generated/services/dynamodb.js +4 -4
  148. package/lib/generated/services/ebs.js +4 -4
  149. package/lib/generated/services/ec2-instance-connect.js +4 -4
  150. package/lib/generated/services/ec2.js +4 -4
  151. package/lib/generated/services/ec2messages.js +2 -2
  152. package/lib/generated/services/ecr-public.js +4 -4
  153. package/lib/generated/services/ecr.js +4 -4
  154. package/lib/generated/services/ecs-mcp.js +1 -1
  155. package/lib/generated/services/ecs.js +4 -4
  156. package/lib/generated/services/eks-auth.js +4 -4
  157. package/lib/generated/services/eks-mcp.js +1 -1
  158. package/lib/generated/services/eks.js +4 -4
  159. package/lib/generated/services/elasticache.js +4 -4
  160. package/lib/generated/services/elasticbeanstalk.js +4 -4
  161. package/lib/generated/services/elasticfilesystem.js +4 -4
  162. package/lib/generated/services/elasticloadbalancing.js +4 -4
  163. package/lib/generated/services/elasticmapreduce.js +4 -4
  164. package/lib/generated/services/elastictranscoder.js +2 -2
  165. package/lib/generated/services/elemental-activations.js +1 -1
  166. package/lib/generated/services/elemental-appliances-software.js +2 -2
  167. package/lib/generated/services/elemental-inference.d.ts +2 -0
  168. package/lib/generated/services/elemental-inference.js +7 -5
  169. package/lib/generated/services/elemental-support-cases.js +3 -3
  170. package/lib/generated/services/elemental-support-content.js +1 -1
  171. package/lib/generated/services/emr-containers.js +4 -4
  172. package/lib/generated/services/emr-serverless.js +4 -4
  173. package/lib/generated/services/entityresolution.js +4 -4
  174. package/lib/generated/services/es.js +4 -4
  175. package/lib/generated/services/events.js +4 -4
  176. package/lib/generated/services/eventsbilltoaws.js +3 -3
  177. package/lib/generated/services/evidently.js +3 -3
  178. package/lib/generated/services/evs.js +4 -4
  179. package/lib/generated/services/execute-api.js +4 -4
  180. package/lib/generated/services/finops-agent.js +1 -1
  181. package/lib/generated/services/finspace-api.js +3 -3
  182. package/lib/generated/services/finspace.js +4 -4
  183. package/lib/generated/services/firehose.js +4 -4
  184. package/lib/generated/services/fis.js +4 -4
  185. package/lib/generated/services/fms.js +4 -4
  186. package/lib/generated/services/forecast.js +4 -4
  187. package/lib/generated/services/frauddetector.js +4 -4
  188. package/lib/generated/services/freertos.js +3 -3
  189. package/lib/generated/services/freetier.js +2 -2
  190. package/lib/generated/services/fsx.js +4 -4
  191. package/lib/generated/services/gamelift.js +4 -4
  192. package/lib/generated/services/gameliftstreams.js +4 -4
  193. package/lib/generated/services/geo-maps.js +3 -3
  194. package/lib/generated/services/geo-places.js +3 -3
  195. package/lib/generated/services/geo-routes.js +3 -3
  196. package/lib/generated/services/geo.js +4 -4
  197. package/lib/generated/services/glacier.js +4 -4
  198. package/lib/generated/services/globalaccelerator.js +4 -4
  199. package/lib/generated/services/glue.js +4 -4
  200. package/lib/generated/services/grafana.js +4 -4
  201. package/lib/generated/services/greengrass.js +4 -4
  202. package/lib/generated/services/groundstation.js +4 -4
  203. package/lib/generated/services/groundtruthlabeling.js +1 -1
  204. package/lib/generated/services/guardduty.js +4 -4
  205. package/lib/generated/services/health-agent.js +4 -4
  206. package/lib/generated/services/health.js +4 -4
  207. package/lib/generated/services/healthlake.js +4 -4
  208. package/lib/generated/services/honeycode.js +2 -2
  209. package/lib/generated/services/iam.d.ts +2 -0
  210. package/lib/generated/services/iam.js +7 -5
  211. package/lib/generated/services/identity-sync.js +2 -2
  212. package/lib/generated/services/identitystore-auth.js +1 -1
  213. package/lib/generated/services/identitystore.js +4 -4
  214. package/lib/generated/services/imagebuilder.js +4 -4
  215. package/lib/generated/services/importexport.js +2 -2
  216. package/lib/generated/services/inspector-scan.js +2 -2
  217. package/lib/generated/services/inspector.js +2 -2
  218. package/lib/generated/services/inspector2-telemetry.js +1 -1
  219. package/lib/generated/services/inspector2.js +4 -4
  220. package/lib/generated/services/interconnect.js +4 -4
  221. package/lib/generated/services/internetmonitor.js +4 -4
  222. package/lib/generated/services/invoicing.js +4 -4
  223. package/lib/generated/services/iot-device-tester.js +1 -1
  224. package/lib/generated/services/iot.js +4 -4
  225. package/lib/generated/services/iotanalytics.js +3 -3
  226. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  227. package/lib/generated/services/iotevents.js +3 -3
  228. package/lib/generated/services/iotfleethub.js +3 -3
  229. package/lib/generated/services/iotfleetwise.js +4 -4
  230. package/lib/generated/services/iotjobsdata.js +4 -4
  231. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  232. package/lib/generated/services/iotsitewise.js +4 -4
  233. package/lib/generated/services/iottwinmaker.js +4 -4
  234. package/lib/generated/services/iotwireless.js +4 -4
  235. package/lib/generated/services/iq-permission.js +2 -2
  236. package/lib/generated/services/iq.js +2 -2
  237. package/lib/generated/services/ivs.js +4 -4
  238. package/lib/generated/services/ivschat.js +4 -4
  239. package/lib/generated/services/kafka-cluster.js +3 -3
  240. package/lib/generated/services/kafka.js +4 -4
  241. package/lib/generated/services/kafkaconnect.js +4 -4
  242. package/lib/generated/services/kendra-ranking.js +4 -4
  243. package/lib/generated/services/kendra.js +4 -4
  244. package/lib/generated/services/kinesis.js +4 -4
  245. package/lib/generated/services/kinesisanalytics.js +4 -4
  246. package/lib/generated/services/kinesisvideo.js +4 -4
  247. package/lib/generated/services/kms.js +4 -4
  248. package/lib/generated/services/lakeformation.js +3 -3
  249. package/lib/generated/services/lambda.js +4 -4
  250. package/lib/generated/services/launchwizard.js +4 -4
  251. package/lib/generated/services/lex.js +4 -4
  252. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  253. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  254. package/lib/generated/services/license-manager.js +4 -4
  255. package/lib/generated/services/lightsail.js +4 -4
  256. package/lib/generated/services/logs.js +4 -4
  257. package/lib/generated/services/lookoutequipment.js +4 -4
  258. package/lib/generated/services/lookoutmetrics.js +3 -3
  259. package/lib/generated/services/lookoutvision.js +3 -3
  260. package/lib/generated/services/m2.js +4 -4
  261. package/lib/generated/services/machinelearning.js +3 -3
  262. package/lib/generated/services/macie2.js +4 -4
  263. package/lib/generated/services/managedblockchain-query.js +2 -2
  264. package/lib/generated/services/managedblockchain.js +4 -4
  265. package/lib/generated/services/mapcredits.js +2 -2
  266. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  267. package/lib/generated/services/mechanicalturk.js +2 -2
  268. package/lib/generated/services/mediaconnect.js +4 -4
  269. package/lib/generated/services/mediaconvert.js +4 -4
  270. package/lib/generated/services/mediaimport.js +1 -1
  271. package/lib/generated/services/medialive.js +4 -4
  272. package/lib/generated/services/mediapackage-vod.js +4 -4
  273. package/lib/generated/services/mediapackage.js +4 -4
  274. package/lib/generated/services/mediapackagev2.js +4 -4
  275. package/lib/generated/services/mediastore.js +4 -4
  276. package/lib/generated/services/mediatailor.js +4 -4
  277. package/lib/generated/services/medical-imaging.js +4 -4
  278. package/lib/generated/services/memorydb.js +4 -4
  279. package/lib/generated/services/mgh.js +4 -4
  280. package/lib/generated/services/mgn.js +4 -4
  281. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  282. package/lib/generated/services/migrationhub-strategy.js +2 -2
  283. package/lib/generated/services/mobileanalytics.js +1 -1
  284. package/lib/generated/services/mobiletargeting.js +4 -4
  285. package/lib/generated/services/monitron.js +3 -3
  286. package/lib/generated/services/mpa.js +4 -4
  287. package/lib/generated/services/mq.js +4 -4
  288. package/lib/generated/services/neptune-db.js +4 -4
  289. package/lib/generated/services/neptune-graph.js +4 -4
  290. package/lib/generated/services/network-firewall.js +4 -4
  291. package/lib/generated/services/network-security-director.js +1 -1
  292. package/lib/generated/services/networkflowmonitor.js +4 -4
  293. package/lib/generated/services/networkmanager-chat.js +1 -1
  294. package/lib/generated/services/networkmanager.js +4 -4
  295. package/lib/generated/services/networkmonitor.js +4 -4
  296. package/lib/generated/services/nimble.js +3 -3
  297. package/lib/generated/services/notifications-contacts.js +4 -4
  298. package/lib/generated/services/notifications.js +4 -4
  299. package/lib/generated/services/nova-act.js +3 -3
  300. package/lib/generated/services/oam.js +4 -4
  301. package/lib/generated/services/observabilityadmin.js +4 -4
  302. package/lib/generated/services/odb.js +4 -4
  303. package/lib/generated/services/omics.js +4 -4
  304. package/lib/generated/services/one.js +3 -3
  305. package/lib/generated/services/opensearch.js +3 -3
  306. package/lib/generated/services/opsworks-cm.js +2 -2
  307. package/lib/generated/services/opsworks.js +2 -2
  308. package/lib/generated/services/organizations.js +4 -4
  309. package/lib/generated/services/osis.js +4 -4
  310. package/lib/generated/services/outposts.js +4 -4
  311. package/lib/generated/services/panorama.js +3 -3
  312. package/lib/generated/services/partnercentral-account-management.js +2 -2
  313. package/lib/generated/services/partnercentral.js +4 -4
  314. package/lib/generated/services/payment-cryptography.js +4 -4
  315. package/lib/generated/services/payments.js +3 -3
  316. package/lib/generated/services/pca-connector-ad.js +4 -4
  317. package/lib/generated/services/pca-connector-scep.js +4 -4
  318. package/lib/generated/services/pcs.js +4 -4
  319. package/lib/generated/services/personalize.js +6 -5
  320. package/lib/generated/services/pi.js +4 -4
  321. package/lib/generated/services/pipes.js +4 -4
  322. package/lib/generated/services/polly.js +3 -3
  323. package/lib/generated/services/pricing.js +2 -2
  324. package/lib/generated/services/pricingplanmanager.js +3 -3
  325. package/lib/generated/services/private-networks.js +3 -3
  326. package/lib/generated/services/profile.js +4 -4
  327. package/lib/generated/services/proton.js +4 -4
  328. package/lib/generated/services/purchase-orders.js +3 -3
  329. package/lib/generated/services/q.js +3 -3
  330. package/lib/generated/services/qapps.js +4 -4
  331. package/lib/generated/services/qbusiness.js +4 -4
  332. package/lib/generated/services/qdeveloper.js +3 -3
  333. package/lib/generated/services/qldb.js +3 -3
  334. package/lib/generated/services/quicksight.d.ts +2 -10
  335. package/lib/generated/services/quicksight.js +8 -20
  336. package/lib/generated/services/ram.js +4 -4
  337. package/lib/generated/services/rbin.js +4 -4
  338. package/lib/generated/services/rds-data.js +4 -4
  339. package/lib/generated/services/rds-db.js +2 -2
  340. package/lib/generated/services/rds.js +4 -4
  341. package/lib/generated/services/redshift-data.js +4 -4
  342. package/lib/generated/services/redshift-serverless.js +4 -4
  343. package/lib/generated/services/redshift.js +4 -4
  344. package/lib/generated/services/refactor-spaces.js +4 -4
  345. package/lib/generated/services/rekognition.js +4 -4
  346. package/lib/generated/services/repostspace.js +4 -4
  347. package/lib/generated/services/researchstudio.js +1 -1
  348. package/lib/generated/services/resiliencehub.js +4 -4
  349. package/lib/generated/services/resource-explorer-2.js +4 -4
  350. package/lib/generated/services/resource-explorer.js +1 -1
  351. package/lib/generated/services/resource-groups.js +4 -4
  352. package/lib/generated/services/rhelkb.js +1 -1
  353. package/lib/generated/services/robomaker.js +3 -3
  354. package/lib/generated/services/rolesanywhere.js +4 -4
  355. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  356. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  357. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  358. package/lib/generated/services/route53.js +4 -4
  359. package/lib/generated/services/route53domains.js +2 -2
  360. package/lib/generated/services/route53globalresolver.js +4 -4
  361. package/lib/generated/services/route53profiles.js +4 -4
  362. package/lib/generated/services/route53resolver.js +4 -4
  363. package/lib/generated/services/rtbfabric.js +4 -4
  364. package/lib/generated/services/rum.js +4 -4
  365. package/lib/generated/services/s3-object-lambda.js +3 -3
  366. package/lib/generated/services/s3-outposts.js +4 -4
  367. package/lib/generated/services/s3.js +4 -4
  368. package/lib/generated/services/s3express.js +3 -3
  369. package/lib/generated/services/s3files.js +4 -4
  370. package/lib/generated/services/s3tables.js +4 -4
  371. package/lib/generated/services/s3vectors.js +4 -4
  372. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  373. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  374. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  375. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  376. package/lib/generated/services/sagemaker.js +4 -4
  377. package/lib/generated/services/savingsplans.js +4 -4
  378. package/lib/generated/services/scheduler.js +4 -4
  379. package/lib/generated/services/schemas.js +4 -4
  380. package/lib/generated/services/scn.js +4 -4
  381. package/lib/generated/services/sdb.js +3 -3
  382. package/lib/generated/services/secretsmanager.js +4 -4
  383. package/lib/generated/services/security-ir.js +4 -4
  384. package/lib/generated/services/securityagent.js +4 -4
  385. package/lib/generated/services/securityhub.js +4 -4
  386. package/lib/generated/services/securitylake.js +4 -4
  387. package/lib/generated/services/serverlessrepo.js +4 -4
  388. package/lib/generated/services/servicecatalog.js +4 -4
  389. package/lib/generated/services/servicediscovery.js +4 -4
  390. package/lib/generated/services/serviceextract.js +1 -1
  391. package/lib/generated/services/servicequotas.js +4 -4
  392. package/lib/generated/services/ses.js +4 -4
  393. package/lib/generated/services/shield.js +4 -4
  394. package/lib/generated/services/signer.js +4 -4
  395. package/lib/generated/services/signin.js +4 -4
  396. package/lib/generated/services/simspaceweaver.js +3 -3
  397. package/lib/generated/services/sms-voice.js +4 -4
  398. package/lib/generated/services/sms.js +1 -1
  399. package/lib/generated/services/snow-device-management.js +4 -4
  400. package/lib/generated/services/snowball.js +2 -2
  401. package/lib/generated/services/sns.js +4 -4
  402. package/lib/generated/services/social-messaging.js +4 -4
  403. package/lib/generated/services/sqlworkbench.js +3 -3
  404. package/lib/generated/services/sqs.js +4 -4
  405. package/lib/generated/services/ssm-contacts.js +4 -4
  406. package/lib/generated/services/ssm-guiconnect.js +2 -2
  407. package/lib/generated/services/ssm-incidents.js +4 -4
  408. package/lib/generated/services/ssm-quicksetup.js +4 -4
  409. package/lib/generated/services/ssm-sap.js +4 -4
  410. package/lib/generated/services/ssm.js +4 -4
  411. package/lib/generated/services/ssmmessages.js +2 -2
  412. package/lib/generated/services/sso-directory.js +1 -1
  413. package/lib/generated/services/sso-oauth.js +3 -3
  414. package/lib/generated/services/sso.js +4 -4
  415. package/lib/generated/services/states.js +4 -4
  416. package/lib/generated/services/storagegateway.js +4 -4
  417. package/lib/generated/services/sts.js +4 -4
  418. package/lib/generated/services/support-console.js +1 -1
  419. package/lib/generated/services/support.js +2 -2
  420. package/lib/generated/services/supportapp.js +2 -2
  421. package/lib/generated/services/supportauthz.js +4 -4
  422. package/lib/generated/services/supportplans.js +1 -1
  423. package/lib/generated/services/sustainability.js +2 -2
  424. package/lib/generated/services/swf.js +4 -4
  425. package/lib/generated/services/synthetics.js +4 -4
  426. package/lib/generated/services/tag.js +2 -2
  427. package/lib/generated/services/tax.js +2 -2
  428. package/lib/generated/services/textract.js +4 -4
  429. package/lib/generated/services/thinclient.js +4 -4
  430. package/lib/generated/services/timestream-influxdb.js +4 -4
  431. package/lib/generated/services/timestream.js +4 -4
  432. package/lib/generated/services/tiros.js +1 -1
  433. package/lib/generated/services/tnb.js +4 -4
  434. package/lib/generated/services/transcribe.js +4 -4
  435. package/lib/generated/services/transfer.js +4 -4
  436. package/lib/generated/services/transform-custom.js +3 -3
  437. package/lib/generated/services/transform.js +3 -3
  438. package/lib/generated/services/translate.js +4 -4
  439. package/lib/generated/services/trustedadvisor.js +3 -3
  440. package/lib/generated/services/ts.js +3 -3
  441. package/lib/generated/services/user-subscriptions.js +2 -2
  442. package/lib/generated/services/uxc.js +2 -2
  443. package/lib/generated/services/vendor-insights.js +3 -3
  444. package/lib/generated/services/verified-access.js +1 -1
  445. package/lib/generated/services/verifiedpermissions.js +4 -4
  446. package/lib/generated/services/voiceid.js +4 -4
  447. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  448. package/lib/generated/services/vpc-lattice.js +4 -4
  449. package/lib/generated/services/vpce.js +2 -2
  450. package/lib/generated/services/waf-regional.js +4 -4
  451. package/lib/generated/services/waf.js +4 -4
  452. package/lib/generated/services/wafv2.js +4 -4
  453. package/lib/generated/services/wam.js +1 -1
  454. package/lib/generated/services/wellarchitected.js +4 -4
  455. package/lib/generated/services/wickr.js +4 -4
  456. package/lib/generated/services/wisdom.js +4 -4
  457. package/lib/generated/services/workdocs.js +3 -3
  458. package/lib/generated/services/worklink.js +3 -3
  459. package/lib/generated/services/workmail.js +4 -4
  460. package/lib/generated/services/workmailmessageflow.js +3 -3
  461. package/lib/generated/services/workspaces-instances.js +4 -4
  462. package/lib/generated/services/workspaces-web.js +4 -4
  463. package/lib/generated/services/workspaces.js +4 -4
  464. package/lib/generated/services/xray.js +4 -4
  465. package/package.json +1 -1
@@ -16,7 +16,7 @@ class DRSActions {
16
16
  }
17
17
  exports.DRSActions = DRSActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- DRSActions[_a] = { fqn: "@cdk_utils/iam.drs.DRSActions", version: "1.9.0" };
19
+ DRSActions[_a] = { fqn: "@cdk_utils/iam.drs.DRSActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  DRSActions.SERVICE_PREFIX = "drs";
22
22
  /** [Write] drs:AssociateFailbackClientToRecoveryInstanceForDrs */
@@ -601,7 +601,7 @@ class DRSResources {
601
601
  }
602
602
  exports.DRSResources = DRSResources;
603
603
  _b = JSII_RTTI_SYMBOL_1;
604
- DRSResources[_b] = { fqn: "@cdk_utils/iam.drs.DRSResources", version: "1.9.0" };
604
+ DRSResources[_b] = { fqn: "@cdk_utils/iam.drs.DRSResources", version: "1.11.0" };
605
605
  /**
606
606
  * API operation to required IAM actions mapping for drs.
607
607
  */
@@ -609,7 +609,7 @@ class DRSOperations {
609
609
  }
610
610
  exports.DRSOperations = DRSOperations;
611
611
  _c = JSII_RTTI_SYMBOL_1;
612
- DRSOperations[_c] = { fqn: "@cdk_utils/iam.drs.DRSOperations", version: "1.9.0" };
612
+ DRSOperations[_c] = { fqn: "@cdk_utils/iam.drs.DRSOperations", version: "1.11.0" };
613
613
  /** IAM actions required for the AssociateSourceNetworkStack API call. */
614
614
  DRSOperations.AssociateSourceNetworkStack = [
615
615
  "drs:AssociateSourceNetworkStack",
@@ -627,7 +627,10 @@ DRSOperations.CreateLaunchConfigurationTemplate = [
627
627
  "drs:TagResource",
628
628
  ];
629
629
  /** IAM actions required for the CreateRecoveryPlan API call. */
630
- DRSOperations.CreateRecoveryPlan = ["drs:CreateRecoveryPlan"];
630
+ DRSOperations.CreateRecoveryPlan = [
631
+ "drs:CreateRecoveryPlan",
632
+ "drs:TagResource",
633
+ ];
631
634
  /** IAM actions required for the CreateRecoveryPlanStep API call. */
632
635
  DRSOperations.CreateRecoveryPlanStep = [
633
636
  "drs:CreateRecoveryPlanStep",
@@ -725,9 +728,7 @@ DRSOperations.opGetRecoveryPlanExecution = [
725
728
  "drs:GetRecoveryPlanExecution",
726
729
  ];
727
730
  /** IAM actions required for the GetRecoveryPlanExecutionStep API call. */
728
- DRSOperations.opGetRecoveryPlanExecutionStep = [
729
- "drs:GetRecoveryPlanExecutionStep",
730
- ];
731
+ DRSOperations.opGetRecoveryPlanExecutionStep = [];
731
732
  /** IAM actions required for the GetRecoveryPlanStep API call. */
732
733
  DRSOperations.opGetRecoveryPlanStep = ["drs:GetRecoveryPlanStep"];
733
734
  /** IAM actions required for the GetReplicationConfiguration API call. */
@@ -767,9 +768,7 @@ DRSOperations.ReorderRecoveryPlanSteps = [
767
768
  /** IAM actions required for the RetryDataReplication API call. */
768
769
  DRSOperations.RetryDataReplication = ["drs:RetryDataReplication"];
769
770
  /** IAM actions required for the RetryRecoveryPlanExecutionStep API call. */
770
- DRSOperations.RetryRecoveryPlanExecutionStep = [
771
- "drs:RetryRecoveryPlanExecutionStep",
772
- ];
771
+ DRSOperations.RetryRecoveryPlanExecutionStep = [];
773
772
  /** IAM actions required for the ReverseReplication API call. */
774
773
  DRSOperations.ReverseReplication = ["drs:ReverseReplication"];
775
774
  /** IAM actions required for the StartFailbackLaunch API call. */
@@ -780,9 +779,7 @@ DRSOperations.StartRecovery = [
780
779
  "drs:TagResource",
781
780
  ];
782
781
  /** IAM actions required for the StartRecoveryPlanExecution API call. */
783
- DRSOperations.StartRecoveryPlanExecution = [
784
- "drs:StartRecoveryPlanExecution",
785
- ];
782
+ DRSOperations.StartRecoveryPlanExecution = [];
786
783
  /** IAM actions required for the StartReplication API call. */
787
784
  DRSOperations.StartReplication = ["drs:StartReplication"];
788
785
  /** IAM actions required for the StartSourceNetworkRecovery API call. */
@@ -825,9 +822,7 @@ DRSOperations.UpdateLaunchConfigurationTemplate = [
825
822
  /** IAM actions required for the UpdateRecoveryPlan API call. */
826
823
  DRSOperations.UpdateRecoveryPlan = ["drs:UpdateRecoveryPlan"];
827
824
  /** IAM actions required for the UpdateRecoveryPlanExecutionStep API call. */
828
- DRSOperations.UpdateRecoveryPlanExecutionStep = [
829
- "drs:UpdateRecoveryPlanExecutionStep",
830
- ];
825
+ DRSOperations.UpdateRecoveryPlanExecutionStep = [];
831
826
  /** IAM actions required for the UpdateRecoveryPlanStep API call. */
832
827
  DRSOperations.UpdateRecoveryPlanStep = [
833
828
  "drs:UpdateRecoveryPlanStep",
@@ -877,7 +872,7 @@ class DRSConditions {
877
872
  }
878
873
  exports.DRSConditions = DRSConditions;
879
874
  _d = JSII_RTTI_SYMBOL_1;
880
- DRSConditions[_d] = { fqn: "@cdk_utils/iam.drs.DRSConditions", version: "1.9.0" };
875
+ DRSConditions[_d] = { fqn: "@cdk_utils/iam.drs.DRSConditions", version: "1.11.0" };
881
876
  /** Condition keys applicable to the AssociateSourceNetworkStack action. */
882
877
  DRSConditions.AssociateSourceNetworkStackConditionKeys = [
883
878
  "aws:RequestTag/${TagKey}",
@@ -973,4 +968,4 @@ DRSConditions.AWS_TAG_KEYS = "aws:TagKeys";
973
968
  DRSConditions.CREATE_ACTION = "drs:CreateAction";
974
969
  /** Condition key: drs:EC2InstanceARN (ARN) */
975
970
  DRSConditions.EC2_INSTANCE_ARN = "drs:EC2InstanceARN";
976
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9kcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBa1pDOzs7QUFqWkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsa0VBQWtFO0FBQ2xELDBEQUErQyxHQUM5RCxxREFBcUQsQ0FBQztBQUN2RCw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLHVEQUF1RDtBQUN2QywrQ0FBb0MsR0FDbkQsMENBQTBDLENBQUM7QUFDNUMsbURBQW1EO0FBQ25DLDJDQUFnQyxHQUMvQyxzQ0FBc0MsQ0FBQztBQUN4Qyw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLGdEQUFnRDtBQUNoQyx3Q0FBNkIsR0FDNUMsbUNBQW1DLENBQUM7QUFDckMsNkNBQTZDO0FBQzdCLHFDQUEwQixHQUFHLGdDQUFnQyxDQUFDO0FBQzlFLG9EQUFvRDtBQUNwQyw0Q0FBaUMsR0FDaEQsdUNBQXVDLENBQUM7QUFDekMsK0NBQStDO0FBQy9CLHVDQUE0QixHQUMzQyxrQ0FBa0MsQ0FBQztBQUNwQyxxQ0FBcUM7QUFDckIsNkJBQWtCLEdBQUcsd0JBQXdCLENBQUM7QUFDOUQseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHlEQUF5RDtBQUN6QyxpREFBc0MsR0FDckQsNENBQTRDLENBQUM7QUFDOUMsc0NBQXNDO0FBQ3RCLDhCQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQ2hFLDJDQUEyQztBQUMzQixtQ0FBd0IsR0FBRyw4QkFBOEIsQ0FBQztBQUMx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QTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMEVBQTBFO0FBQzFELHFEQUF1QyxHQUFhO0lBQ25FLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDBFQUEwRTtBQUMxRCxxREFBdUMsR0FBYTtJQUNuRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0Msc0NBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYixrQkFBa0I7Q0FDbEIsQ0FBQztBQUNGLDBFQUEwRTtBQUMxRCxxREFBdUMsR0FBYTtJQUNuRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0Msd0NBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsNkJBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsOEJBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLDBCQUFZLEdBQUcsYUFBYSxDQUFDO0FBQzdDLCtDQUErQztBQUMvQiwyQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25ELDhDQUE4QztBQUM5Qiw4QkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2Rycy5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgZHJzIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBEUlNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiZHJzXCI7XG5cblx0LyoqIFtXcml0ZV0gZHJzOkFzc29jaWF0ZUZhaWxiYWNrQ2xpZW50VG9SZWNvdmVyeUluc3RhbmNlRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVGYWlsYmFja0NsaWVudFRvUmVjb3ZlcnlJbnN0YW5jZUZvckRycyA9XG5cdFx0XCJkcnM6QXNzb2NpYXRlRmFpbGJhY2tDbGllbnRUb1JlY292ZXJ5SW5zdGFuY2VGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrID1cblx0XHRcImRyczpBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2tcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hDcmVhdGVWb2x1bWVTbmFwc2hvdEdyb3VwRm9yRHJzID1cblx0XHRcImRyczpCYXRjaENyZWF0ZVZvbHVtZVNuYXBzaG90R3JvdXBGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVNuYXBzaG90UmVxdWVzdEZvckRycyA9XG5cdFx0XCJkcnM6QmF0Y2hEZWxldGVTbmFwc2hvdFJlcXVlc3RGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNhbmNlbFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uID1cblx0XHRcImRyczpDYW5jZWxSZWNvdmVyeVBsYW5FeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZUNvbnZlcnRlZFNuYXBzaG90Rm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRycyA9XG5cdFx0XCJkcnM6Q3JlYXRlQ29udmVydGVkU25hcHNob3RGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZUV4dGVuZGVkU291cmNlU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlciA9IFwiZHJzOkNyZWF0ZUV4dGVuZGVkU291cmNlU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJkcnM6Q3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVSZWNvdmVyeUluc3RhbmNlRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvdmVyeUluc3RhbmNlRm9yRHJzID1cblx0XHRcImRyczpDcmVhdGVSZWNvdmVyeUluc3RhbmNlRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVSZWNvdmVyeVBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhbiA9IFwiZHJzOkNyZWF0ZVJlY292ZXJ5UGxhblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlQbGFuU3RlcCA9IFwiZHJzOkNyZWF0ZVJlY292ZXJ5UGxhblN0ZXBcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJkcnM6Q3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZVNvdXJjZU5ldHdvcmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNvdXJjZU5ldHdvcmsgPSBcImRyczpDcmVhdGVTb3VyY2VOZXR3b3JrXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNvdXJjZVNlcnZlckZvckRycyA9IFwiZHJzOkNyZWF0ZVNvdXJjZVNlcnZlckZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVKb2IgPSBcImRyczpEZWxldGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZUxhdW5jaEFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGF1bmNoQWN0aW9uID0gXCJkcnM6RGVsZXRlTGF1bmNoQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJkcnM6RGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVSZWNvdmVyeUluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvdmVyeUluc3RhbmNlID0gXCJkcnM6RGVsZXRlUmVjb3ZlcnlJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvdmVyeVBsYW4gPSBcImRyczpEZWxldGVSZWNvdmVyeVBsYW5cIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uID1cblx0XHRcImRyczpEZWxldGVSZWNvdmVyeVBsYW5FeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVJlY292ZXJ5UGxhblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY292ZXJ5UGxhblN0ZXAgPSBcImRyczpEZWxldGVSZWNvdmVyeVBsYW5TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkRlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVTb3VyY2VOZXR3b3JrICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTb3VyY2VOZXR3b3JrID0gXCJkcnM6RGVsZXRlU291cmNlTmV0d29ya1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlU291cmNlU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTb3VyY2VTZXJ2ZXIgPSBcImRyczpEZWxldGVTb3VyY2VTZXJ2ZXJcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVKb2JMb2dJdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JMb2dJdGVtcyA9IFwiZHJzOkRlc2NyaWJlSm9iTG9nSXRlbXNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYnMgPSBcImRyczpEZXNjcmliZUpvYnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgPVxuXHRcdFwiZHJzOkRlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlc1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZVJlY292ZXJ5SW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlY292ZXJ5SW5zdGFuY2VzID0gXCJkcnM6RGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlc1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZVJlY292ZXJ5U25hcHNob3RzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlY292ZXJ5U25hcHNob3RzID0gXCJkcnM6RGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90c1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgPVxuXHRcdFwiZHJzOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlUmVwbGljYXRpb25TZXJ2ZXJBc3NvY2lhdGlvbnNGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25TZXJ2ZXJBc3NvY2lhdGlvbnNGb3JEcnMgPVxuXHRcdFwiZHJzOkRlc2NyaWJlUmVwbGljYXRpb25TZXJ2ZXJBc3NvY2lhdGlvbnNGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNuYXBzaG90UmVxdWVzdHNGb3JEcnMgPVxuXHRcdFwiZHJzOkRlc2NyaWJlU25hcHNob3RSZXF1ZXN0c0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZVNvdXJjZU5ldHdvcmtzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNvdXJjZU5ldHdvcmtzID0gXCJkcnM6RGVzY3JpYmVTb3VyY2VOZXR3b3Jrc1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZVNvdXJjZVNlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU291cmNlU2VydmVycyA9IFwiZHJzOkRlc2NyaWJlU291cmNlU2VydmVyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Nvbm5lY3RSZWNvdmVyeUluc3RhbmNlID0gXCJkcnM6RGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXIgPSBcImRyczpEaXNjb25uZWN0U291cmNlU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZSA9XG5cdFx0XCJkcnM6RXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEFnZW50Q29tbWFuZEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRDb21tYW5kRm9yRHJzID0gXCJkcnM6R2V0QWdlbnRDb21tYW5kRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEFnZW50Q29uZmlybWVkUmVzdW1lSW5mb0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yRHJzID1cblx0XHRcImRyczpHZXRBZ2VudENvbmZpcm1lZFJlc3VtZUluZm9Gb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50SW5zdGFsbGF0aW9uQXNzZXRzRm9yRHJzID1cblx0XHRcImRyczpHZXRBZ2VudEluc3RhbGxhdGlvbkFzc2V0c0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMgPVxuXHRcdFwiZHJzOkdldEFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEFnZW50UnVudGltZUNvbmZpZ3VyYXRpb25Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50UnVudGltZUNvbmZpZ3VyYXRpb25Gb3JEcnMgPVxuXHRcdFwiZHJzOkdldEFnZW50UnVudGltZUNvbmZpZ3VyYXRpb25Gb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0QWdlbnRTbmFwc2hvdENyZWRpdHNGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50U25hcHNob3RDcmVkaXRzRm9yRHJzID1cblx0XHRcImRyczpHZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRDaGFubmVsQ29tbWFuZHNGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENoYW5uZWxDb21tYW5kc0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0Q2hhbm5lbENvbW1hbmRzRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEZhaWxiYWNrQ29tbWFuZEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmFpbGJhY2tDb21tYW5kRm9yRHJzID1cblx0XHRcImRyczpHZXRGYWlsYmFja0NvbW1hbmRGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0RmFpbGJhY2tMYXVuY2hSZXF1ZXN0ZWRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZhaWxiYWNrTGF1bmNoUmVxdWVzdGVkRm9yRHJzID1cblx0XHRcImRyczpHZXRGYWlsYmFja0xhdW5jaFJlcXVlc3RlZEZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZHJzOkdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldExhdW5jaENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExhdW5jaENvbmZpZ3VyYXRpb24gPSBcImRyczpHZXRMYXVuY2hDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldFJlY292ZXJ5UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3ZlcnlQbGFuID0gXCJkcnM6R2V0UmVjb3ZlcnlQbGFuXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uID1cblx0XHRcImRyczpHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCA9XG5cdFx0XCJkcnM6R2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcFwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRSZWNvdmVyeVBsYW5TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZWNvdmVyeVBsYW5TdGVwID0gXCJkcnM6R2V0UmVjb3ZlcnlQbGFuU3RlcFwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJkcnM6R2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldFN1Z2dlc3RlZEZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U3VnZ2VzdGVkRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzID1cblx0XHRcImRyczpHZXRTdWdnZXN0ZWRGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkluaXRpYWxpemVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBJbml0aWFsaXplU2VydmljZSA9IFwiZHJzOkluaXRpYWxpemVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpJc3N1ZUFnZW50Q2VydGlmaWNhdGVGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IElzc3VlQWdlbnRDZXJ0aWZpY2F0ZUZvckRycyA9XG5cdFx0XCJkcnM6SXNzdWVBZ2VudENlcnRpZmljYXRlRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RFeHRlbnNpYmxlU291cmNlU2VydmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzID1cblx0XHRcImRyczpMaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdExhdW5jaEFjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMYXVuY2hBY3Rpb25zID0gXCJkcnM6TGlzdExhdW5jaEFjdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcHMgPVxuXHRcdFwiZHJzOkxpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwc1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnMgPSBcImRyczpMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0UmVjb3ZlcnlQbGFuU3RlcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5TdGVwcyA9IFwiZHJzOkxpc3RSZWNvdmVyeVBsYW5TdGVwc1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0UmVjb3ZlcnlQbGFucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhbnMgPSBcImRyczpMaXN0UmVjb3ZlcnlQbGFuc1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0U3RhZ2luZ0FjY291bnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2luZ0FjY291bnRzID0gXCJkcnM6TGlzdFN0YWdpbmdBY2NvdW50c1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJkcnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Tm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvckRycyA9XG5cdFx0XCJkcnM6Tm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Tm90aWZ5QWdlbnRDb25uZWN0ZWRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUFnZW50Q29ubmVjdGVkRm9yRHJzID0gXCJkcnM6Tm90aWZ5QWdlbnRDb25uZWN0ZWRGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeUFnZW50RGlzY29ubmVjdGVkRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlBZ2VudERpc2Nvbm5lY3RlZEZvckRycyA9XG5cdFx0XCJkcnM6Tm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeUFnZW50UmVwbGljYXRpb25Qcm9ncmVzc0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnRSZXBsaWNhdGlvblByb2dyZXNzRm9yRHJzID1cblx0XHRcImRyczpOb3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeUNvbnNpc3RlbmN5QXR0YWluZWRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUNvbnNpc3RlbmN5QXR0YWluZWRGb3JEcnMgPVxuXHRcdFwiZHJzOk5vdGlmeUNvbnNpc3RlbmN5QXR0YWluZWRGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeVJlcGxpY2F0aW9uU2VydmVyQXV0aGVudGljYXRpb25Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeVJlcGxpY2F0aW9uU2VydmVyQXV0aGVudGljYXRpb25Gb3JEcnMgPVxuXHRcdFwiZHJzOk5vdGlmeVJlcGxpY2F0aW9uU2VydmVyQXV0aGVudGljYXRpb25Gb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeVZvbHVtZUV2ZW50Rm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlWb2x1bWVFdmVudEZvckRycyA9IFwiZHJzOk5vdGlmeVZvbHVtZUV2ZW50Rm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpQdXRMYXVuY2hBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dExhdW5jaEFjdGlvbiA9IFwiZHJzOlB1dExhdW5jaEFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6UmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBSZW9yZGVyUmVjb3ZlcnlQbGFuU3RlcHMgPSBcImRyczpSZW9yZGVyUmVjb3ZlcnlQbGFuU3RlcHNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlJldHJ5RGF0YVJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeURhdGFSZXBsaWNhdGlvbiA9IFwiZHJzOlJldHJ5RGF0YVJlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldHJ5UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCA9XG5cdFx0XCJkcnM6UmV0cnlSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpSZXZlcnNlUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldmVyc2VSZXBsaWNhdGlvbiA9IFwiZHJzOlJldmVyc2VSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U2VuZEFnZW50TG9nc0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEFnZW50TG9nc0ZvckRycyA9IFwiZHJzOlNlbmRBZ2VudExvZ3NGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlNlbmRBZ2VudE1ldHJpY3NGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRBZ2VudE1ldHJpY3NGb3JEcnMgPSBcImRyczpTZW5kQWdlbnRNZXRyaWNzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTZW5kQ2hhbm5lbENvbW1hbmRSZXN1bHRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvckRycyA9XG5cdFx0XCJkcnM6U2VuZENoYW5uZWxDb21tYW5kUmVzdWx0Rm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTZW5kQ2xpZW50TG9nc0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENsaWVudExvZ3NGb3JEcnMgPSBcImRyczpTZW5kQ2xpZW50TG9nc0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U2VuZENsaWVudE1ldHJpY3NGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDbGllbnRNZXRyaWNzRm9yRHJzID0gXCJkcnM6U2VuZENsaWVudE1ldHJpY3NGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlNlbmRWb2x1bWVTdGF0c0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZvbHVtZVN0YXRzRm9yRHJzID0gXCJkcnM6U2VuZFZvbHVtZVN0YXRzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdGFydEZhaWxiYWNrTGF1bmNoICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZhaWxiYWNrTGF1bmNoID0gXCJkcnM6U3RhcnRGYWlsYmFja0xhdW5jaFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RhcnRSZWNvdmVyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWNvdmVyeSA9IFwiZHJzOlN0YXJ0UmVjb3ZlcnlcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0YXJ0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiA9IFwiZHJzOlN0YXJ0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdGFydFJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlcGxpY2F0aW9uID0gXCJkcnM6U3RhcnRSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U291cmNlTmV0d29ya1JlY292ZXJ5ID0gXCJkcnM6U3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnlcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbiA9XG5cdFx0XCJkcnM6U3RhcnRTb3VyY2VOZXR3b3JrUmVwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0b3BGYWlsYmFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEZhaWxiYWNrID0gXCJkcnM6U3RvcEZhaWxiYWNrXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdG9wUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXBsaWNhdGlvbiA9IFwiZHJzOlN0b3BSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RvcFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbiA9XG5cdFx0XCJkcnM6U3RvcFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvblwiO1xuXHQvKiogW1RhZ2dpbmddIGRyczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImRyczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VGVybWluYXRlUmVjb3ZlcnlJbnN0YW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzID0gXCJkcnM6VGVybWluYXRlUmVjb3ZlcnlJbnN0YW5jZXNcIjtcblx0LyoqIFtUYWdnaW5nXSBkcnM6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiZHJzOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUFnZW50QmFja2xvZ0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRCYWNrbG9nRm9yRHJzID0gXCJkcnM6VXBkYXRlQWdlbnRCYWNrbG9nRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yRHJzID1cblx0XHRcImRyczpVcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZUFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yRHJzID1cblx0XHRcImRyczpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50U291cmNlUHJvcGVydGllc0ZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlQWdlbnRTb3VyY2VQcm9wZXJ0aWVzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVGYWlsYmFja0NsaWVudExhc3RTZWVuRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsYmFja0NsaWVudExhc3RTZWVuRm9yRHJzID1cblx0XHRcImRyczpVcGRhdGVGYWlsYmFja0NsaWVudExhc3RTZWVuRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZHJzOlVwZGF0ZUZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uID0gXCJkcnM6VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvdmVyeVBsYW4gPSBcImRyczpVcGRhdGVSZWNvdmVyeVBsYW5cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgPVxuXHRcdFwiZHJzOlVwZGF0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZVJlY292ZXJ5UGxhblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY292ZXJ5UGxhblN0ZXAgPSBcImRyczpVcGRhdGVSZWNvdmVyeVBsYW5TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVSZXBsaWNhdGlvbkNlcnRpZmljYXRlRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNlcnRpZmljYXRlRm9yRHJzID1cblx0XHRcImRyczpVcGRhdGVSZXBsaWNhdGlvbkNlcnRpZmljYXRlRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJkcnM6VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZUpvYkxvZ0l0ZW1zLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVKb2JzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlcyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlcyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlUmVwbGljYXRpb25TZXJ2ZXJBc3NvY2lhdGlvbnNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVNuYXBzaG90UmVxdWVzdHNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVNvdXJjZU5ldHdvcmtzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRDb21tYW5kRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50UnVudGltZUNvbmZpZ3VyYXRpb25Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0ZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldENoYW5uZWxDb21tYW5kc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEZhaWxiYWNrQ29tbWFuZEZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEZhaWxiYWNrTGF1bmNoUmVxdWVzdGVkRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRMYXVuY2hDb25maWd1cmF0aW9uLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0UmVjb3ZlcnlQbGFuLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFJlY292ZXJ5UGxhblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRTdWdnZXN0ZWRGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0TGF1bmNoQWN0aW9ucyxcblx0XHREUlNBY3Rpb25zLkxpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwcyxcblx0XHREUlNBY3Rpb25zLkxpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25zLFxuXHRcdERSU0FjdGlvbnMuTGlzdFJlY292ZXJ5UGxhblN0ZXBzLFxuXHRcdERSU0FjdGlvbnMuTGlzdFJlY292ZXJ5UGxhbnMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0U3RhZ2luZ0FjY291bnRzLFxuXHRcdERSU0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHREUlNBY3Rpb25zLkFzc29jaWF0ZUZhaWxiYWNrQ2xpZW50VG9SZWNvdmVyeUluc3RhbmNlRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrLFxuXHRcdERSU0FjdGlvbnMuQmF0Y2hDcmVhdGVWb2x1bWVTbmFwc2hvdEdyb3VwRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuQmF0Y2hEZWxldGVTbmFwc2hvdFJlcXVlc3RGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5DYW5jZWxSZWNvdmVyeVBsYW5FeGVjdXRpb24sXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRycyxcblx0XHREUlNBY3Rpb25zLkNyZWF0ZUV4dGVuZGVkU291cmNlU2VydmVyLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRycyxcblx0XHREUlNBY3Rpb25zLkNyZWF0ZVJlY292ZXJ5UGxhbixcblx0XHREUlNBY3Rpb25zLkNyZWF0ZVJlY292ZXJ5UGxhblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHREUlNBY3Rpb25zLkNyZWF0ZVNvdXJjZU5ldHdvcmssXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVKb2IsXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVMYXVuY2hBY3Rpb24sXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVSZWNvdmVyeUluc3RhbmNlLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlUmVjb3ZlcnlQbGFuLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlUmVjb3ZlcnlQbGFuU3RlcCxcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlU291cmNlTmV0d29yayxcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVNvdXJjZVNlcnZlcixcblx0XHREUlNBY3Rpb25zLkRpc2Nvbm5lY3RSZWNvdmVyeUluc3RhbmNlLFxuXHRcdERSU0FjdGlvbnMuRGlzY29ubmVjdFNvdXJjZVNlcnZlcixcblx0XHREUlNBY3Rpb25zLkV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZSxcblx0XHREUlNBY3Rpb25zLkluaXRpYWxpemVTZXJ2aWNlLFxuXHRcdERSU0FjdGlvbnMuSXNzdWVBZ2VudENlcnRpZmljYXRlRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5QWdlbnRBdXRoZW50aWNhdGlvbkZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeUFnZW50Q29ubmVjdGVkRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlDb25zaXN0ZW5jeUF0dGFpbmVkRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5UmVwbGljYXRpb25TZXJ2ZXJBdXRoZW50aWNhdGlvbkZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeVZvbHVtZUV2ZW50Rm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuUHV0TGF1bmNoQWN0aW9uLFxuXHRcdERSU0FjdGlvbnMuUmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzLFxuXHRcdERSU0FjdGlvbnMuUmV0cnlEYXRhUmVwbGljYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5SZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5SZXZlcnNlUmVwbGljYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5TZW5kQWdlbnRMb2dzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuU2VuZEFnZW50TWV0cmljc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvckRycyxcblx0XHREUlNBY3Rpb25zLlNlbmRDbGllbnRMb2dzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuU2VuZENsaWVudE1ldHJpY3NGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5TZW5kVm9sdW1lU3RhdHNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5TdGFydEZhaWxiYWNrTGF1bmNoLFxuXHRcdERSU0FjdGlvbnMuU3RhcnRSZWNvdmVyeSxcblx0XHREUlNBY3Rpb25zLlN0YXJ0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uLFxuXHRcdERSU0FjdGlvbnMuU3RhcnRSZXBsaWNhdGlvbixcblx0XHREUlNBY3Rpb25zLlN0YXJ0U291cmNlTmV0d29ya1JlY292ZXJ5LFxuXHRcdERSU0FjdGlvbnMuU3RhcnRTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5TdG9wRmFpbGJhY2ssXG5cdFx0RFJTQWN0aW9ucy5TdG9wUmVwbGljYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5TdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuVGVybWluYXRlUmVjb3ZlcnlJbnN0YW5jZXMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVBZ2VudEJhY2tsb2dGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVBZ2VudENvbnZlcnNpb25JbmZvRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlQWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVBZ2VudFJlcGxpY2F0aW9uUHJvY2Vzc1N0YXRlRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlQWdlbnRTb3VyY2VQcm9wZXJ0aWVzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlRmFpbGJhY2tDbGllbnRMYXN0U2VlbkZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbixcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZVJlY292ZXJ5UGxhbixcblx0XHREUlNBY3Rpb25zLlVwZGF0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZWNvdmVyeVBsYW5TdGVwLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlUmVwbGljYXRpb25DZXJ0aWZpY2F0ZUZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHREUlNBY3Rpb25zLlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHREUlNBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdERSU0FjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEpvYlJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNKb2JSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBKb2JSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTSm9iUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlY292ZXJ5SW5zdGFuY2VJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlJbnN0YW5jZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY292ZXJ5SW5zdGFuY2VJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY292ZXJ5SW5zdGFuY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlY292ZXJ5UGxhbkV4ZWN1dGlvbklEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWNvdmVyeVBsYW5FeGVjdXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvdmVyeVBsYW5FeGVjdXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVjb3ZlcnlQbGFuUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlY292ZXJ5UGxhblJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlY292ZXJ5UGxhbklEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWNvdmVyeVBsYW5JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlY292ZXJ5UGxhblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZWNvdmVyeVBsYW5SZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb3ZlcnlQbGFuSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvdmVyeVBsYW5JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTU291cmNlTmV0d29ya1Jlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFNvdXJjZU5ldHdvcmtJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc291cmNlTmV0d29ya0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU291cmNlTmV0d29ya1Jlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNvdXJjZU5ldHdvcmtJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNvdXJjZU5ldHdvcmtJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgU291cmNlU2VydmVyUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1NvdXJjZVNlcnZlclJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFNvdXJjZVNlcnZlcklEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzb3VyY2VTZXJ2ZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNvdXJjZVNlcnZlclJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU291cmNlU2VydmVySUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzb3VyY2VTZXJ2ZXJJZDogc3RyaW5nO1xufVxuXG5jb25zdCBKb2JSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2JcXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuY29uc3QgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGF1bmNoLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGVcXC8oPzxsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZD5bXjovP10rKSQvO1xuY29uc3QgUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlY292ZXJ5LWluc3RhbmNlXFwvKD88cmVjb3ZlcnlJbnN0YW5jZUlkPlteOi8/XSspJC87XG5jb25zdCBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWNvdmVyeS1wbGFuLWV4ZWN1dGlvblxcLyg/PHJlY292ZXJ5UGxhbkV4ZWN1dGlvbklkPlteOi8/XSspJC87XG5jb25zdCBSZWNvdmVyeVBsYW5SZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWNvdmVyeS1wbGFuXFwvKD88cmVjb3ZlcnlQbGFuSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVwbGljYXRpb24tY29uZmlndXJhdGlvbi10ZW1wbGF0ZVxcLyg/PHJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IFNvdXJjZU5ldHdvcmtSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzb3VyY2UtbmV0d29ya1xcLyg/PHNvdXJjZU5ldHdvcmtJZD5bXjovP10rKSQvO1xuY29uc3QgU291cmNlU2VydmVyUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c291cmNlLXNlcnZlclxcLyg/PHNvdXJjZVNlcnZlcklkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgZHJzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIERSU1Jlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgSm9iUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iUmVzb3VyY2UocHJvcHM6IERSU0pvYlJlc291cmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpqb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSm9iUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYlJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYlJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEpvYlJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUpvYlJlc291cmNlQXJuKGFybjogc3RyaW5nKTogRFJTSm9iUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYlJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEpvYlJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlKFxuXHRcdHByb3BzOiBEUlNMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsYXVuY2gtY29uZmlndXJhdGlvbi10ZW1wbGF0ZS8ke3Byb3BzLmxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU0xhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YEludmFsaWQgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEubGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZShcblx0XHRwcm9wczogRFJTUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlY292ZXJ5LWluc3RhbmNlLyR7cHJvcHMucmVjb3ZlcnlJbnN0YW5jZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRFJTUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlY292ZXJ5SW5zdGFuY2VJZDogbWF0Y2guZ3JvdXBzIS5yZWNvdmVyeUluc3RhbmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2UoXG5cdFx0cHJvcHM6IERSU1JlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlY292ZXJ5LXBsYW4tZXhlY3V0aW9uLyR7cHJvcHMucmVjb3ZlcnlQbGFuRXhlY3V0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRFJTUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlY292ZXJ5UGxhbkV4ZWN1dGlvbklkOiBtYXRjaC5ncm91cHMhLnJlY292ZXJ5UGxhbkV4ZWN1dGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlY292ZXJ5UGxhblJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlY292ZXJ5UGxhblJlc291cmNlKHByb3BzOiBEUlNSZWNvdmVyeVBsYW5SZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVjb3ZlcnktcGxhbi8ke3Byb3BzLnJlY292ZXJ5UGxhbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZWNvdmVyeVBsYW5SZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVjb3ZlcnlQbGFuUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1JlY292ZXJ5UGxhblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvdmVyeVBsYW5SZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWNvdmVyeVBsYW5SZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWNvdmVyeVBsYW5JZDogbWF0Y2guZ3JvdXBzIS5yZWNvdmVyeVBsYW5JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UoXG5cdFx0cHJvcHM6IERSU1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVwbGljYXRpb24tY29uZmlndXJhdGlvbi10ZW1wbGF0ZS8ke3Byb3BzLnJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRFJTUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YEludmFsaWQgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk46ICR7YXJufWAsXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLnJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU291cmNlTmV0d29ya1Jlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNvdXJjZU5ldHdvcmtSZXNvdXJjZShcblx0XHRwcm9wczogRFJTU291cmNlTmV0d29ya1Jlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNvdXJjZS1uZXR3b3JrLyR7cHJvcHMuc291cmNlTmV0d29ya0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTb3VyY2VOZXR3b3JrUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNvdXJjZU5ldHdvcmtSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU291cmNlTmV0d29ya1Jlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNvdXJjZU5ldHdvcmtSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRFJTU291cmNlTmV0d29ya1Jlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU291cmNlTmV0d29ya1Jlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNvdXJjZU5ldHdvcmtJZDogbWF0Y2guZ3JvdXBzIS5zb3VyY2VOZXR3b3JrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU291cmNlU2VydmVyUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc291cmNlU2VydmVyUmVzb3VyY2UocHJvcHM6IERSU1NvdXJjZVNlcnZlclJlc291cmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzb3VyY2Utc2VydmVyLyR7cHJvcHMuc291cmNlU2VydmVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFNvdXJjZVNlcnZlclJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRFJTU291cmNlU2VydmVyUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNvdXJjZVNlcnZlclJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNvdXJjZVNlcnZlclJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNvdXJjZVNlcnZlcklkOiBtYXRjaC5ncm91cHMhLnNvdXJjZVNlcnZlcklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGRycy5cbiAqL1xuZXhwb3J0IGNsYXNzIERSU09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFja1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxSZWNvdmVyeVBsYW5FeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxSZWNvdmVyeVBsYW5FeGVjdXRpb246IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4dGVuZGVkU291cmNlU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkNyZWF0ZUV4dGVuZGVkU291cmNlU2VydmVyXCIsXG5cdFx0XCJkcnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWNvdmVyeVBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvdmVyeVBsYW46IHN0cmluZ1tdID0gW1wiZHJzOkNyZWF0ZVJlY292ZXJ5UGxhblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb3ZlcnlQbGFuU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhblN0ZXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkNyZWF0ZVJlY292ZXJ5UGxhblN0ZXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6Q3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTb3VyY2VOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU291cmNlTmV0d29yazogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6Q3JlYXRlU291cmNlTmV0d29ya1wiLFxuXHRcdFwiZHJzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYjogc3RyaW5nW10gPSBbXCJkcnM6RGVsZXRlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVMYXVuY2hBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hBY3Rpb246IHN0cmluZ1tdID0gW1wiZHJzOkRlbGV0ZUxhdW5jaEFjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb3ZlcnlJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY292ZXJ5SW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlbGV0ZVJlY292ZXJ5SW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb3ZlcnlQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcImRyczpEZWxldGVSZWNvdmVyeVBsYW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb3ZlcnlQbGFuU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY292ZXJ5UGxhblN0ZXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlbGV0ZVJlY292ZXJ5UGxhblN0ZXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU291cmNlTmV0d29yayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNvdXJjZU5ldHdvcms6IHN0cmluZ1tdID0gW1wiZHJzOkRlbGV0ZVNvdXJjZU5ldHdvcmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNvdXJjZVNlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNvdXJjZVNlcnZlcjogc3RyaW5nW10gPSBbXCJkcnM6RGVsZXRlU291cmNlU2VydmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYkxvZ0l0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JMb2dJdGVtczogc3RyaW5nW10gPSBbXCJkcnM6RGVzY3JpYmVKb2JMb2dJdGVtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JzOiBzdHJpbmdbXSA9IFtcImRyczpEZXNjcmliZUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlY292ZXJ5SW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZVJlY292ZXJ5SW5zdGFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlY292ZXJ5U25hcHNob3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZVJlY292ZXJ5U25hcHNob3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU291cmNlTmV0d29ya3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNvdXJjZU5ldHdvcmtzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZVNvdXJjZU5ldHdvcmtzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU291cmNlU2VydmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU291cmNlU2VydmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVzY3JpYmVTb3VyY2VTZXJ2ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Nvbm5lY3RSZWNvdmVyeUluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRpc2Nvbm5lY3RSZWNvdmVyeUluc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0U291cmNlU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEaXNjb25uZWN0U291cmNlU2VydmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6R2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TGF1bmNoQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TGF1bmNoQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6R2V0TGF1bmNoQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvdmVyeVBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY292ZXJ5UGxhbjogc3RyaW5nW10gPSBbXCJkcnM6R2V0UmVjb3ZlcnlQbGFuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6R2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb3ZlcnlQbGFuU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXCJkcnM6R2V0UmVjb3ZlcnlQbGFuU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbml0aWFsaXplU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcImRyczpJbml0aWFsaXplU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpMaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhdW5jaEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGF1bmNoQWN0aW9uczogc3RyaW5nW10gPSBbXCJkcnM6TGlzdExhdW5jaEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhblN0ZXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpMaXN0UmVjb3ZlcnlQbGFuU3RlcHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuczogc3RyaW5nW10gPSBbXCJkcnM6TGlzdFJlY292ZXJ5UGxhbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdGFnaW5nQWNjb3VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2luZ0FjY291bnRzOiBzdHJpbmdbXSA9IFtcImRyczpMaXN0U3RhZ2luZ0FjY291bnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkcnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TGF1bmNoQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TGF1bmNoQWN0aW9uOiBzdHJpbmdbXSA9IFtcImRyczpQdXRMYXVuY2hBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6UmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJ5RGF0YVJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlEYXRhUmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wiZHJzOlJldHJ5RGF0YVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlJldHJ5UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXZlcnNlUmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZlcnNlUmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wiZHJzOlJldmVyc2VSZXBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRGYWlsYmFja0xhdW5jaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RmFpbGJhY2tMYXVuY2g6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmVjb3ZlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpTdGFydFJlY292ZXJ5XCIsXG5cdFx0XCJkcnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWNvdmVyeVBsYW5FeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6U3RhcnRSZWNvdmVyeVBsYW5FeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wiZHJzOlN0YXJ0UmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0U291cmNlTmV0d29ya1JlY292ZXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3Zlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlN0YXJ0U291cmNlTmV0d29ya1JlY292ZXJ5XCIsXG5cdFx0XCJkcnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6U3RhcnRTb3VyY2VOZXR3b3JrUmVwbGljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEZhaWxiYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEZhaWxiYWNrOiBzdHJpbmdbXSA9IFtcImRyczpTdG9wRmFpbGJhY2tcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6U3RvcFJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6U3RvcFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImRyczpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVybWluYXRlUmVjb3ZlcnlJbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VGVybWluYXRlUmVjb3ZlcnlJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZHJzOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlVwZGF0ZUZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY292ZXJ5UGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlY292ZXJ5UGxhbjogc3RyaW5nW10gPSBbXCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgZHJzLlxuICovXG5leHBvcnQgY2xhc3MgRFJTQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVjb3ZlcnlQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTb3VyY2VOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNvdXJjZU5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNvdXJjZVNlcnZlckZvckRycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJldmVyc2VSZXBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZlcnNlUmVwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RmFpbGJhY2tMYXVuY2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRSZWNvdmVyeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkcnM6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkcnM6Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJkcnM6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkcnM6RUMySW5zdGFuY2VBUk4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVDMl9JTlNUQU5DRV9BUk4gPSBcImRyczpFQzJJbnN0YW5jZUFSTlwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkcnM6Q3JlYXRlQWN0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBjcmVhdGVBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkcnM6Q3JlYXRlQWN0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkcnM6RUMySW5zdGFuY2VBUk5gLlxuXHQgKi9cblx0c3RhdGljIGVjMkluc3RhbmNlQVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZHJzOkVDMkluc3RhbmNlQVJOXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
971
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9kcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBa1pDOzs7QUFqWkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsa0VBQWtFO0FBQ2xELDBEQUErQyxHQUM5RCxxREFBcUQsQ0FBQztBQUN2RCw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLHVEQUF1RDtBQUN2QywrQ0FBb0MsR0FDbkQsMENBQTBDLENBQUM7QUFDNUMsbURBQW1EO0FBQ25DLDJDQUFnQyxHQUMvQyxzQ0FBc0MsQ0FBQztBQUN4Qyw4Q0FBOEM7QUFDOUIsc0NBQTJCLEdBQzFDLGlDQUFpQyxDQUFDO0FBQ25DLGdEQUFnRDtBQUNoQyx3Q0FBNkIsR0FDNUMsbUNBQW1DLENBQUM7QUFDckMsNkNBQTZDO0FBQzdCLHFDQUEwQixHQUFHLGdDQUFnQyxDQUFDO0FBQzlFLG9EQUFvRDtBQUNwQyw0Q0FBaUMsR0FDaEQsdUNBQXVDLENBQUM7QUFDekMsK0NBQStDO0FBQy9CLHVDQUE0QixHQUMzQyxrQ0FBa0MsQ0FBQztBQUNwQyxxQ0FBcUM7QUFDckIsNkJBQWtCLEdBQUcsd0JBQXdCLENBQUM7QUFDOUQseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHlEQUF5RDtBQUN6QyxpREFBc0MsR0FDckQsNENBQTRDLENBQUM7QUFDOUMsc0NBQXNDO0FBQ3RCLDhCQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQ2hFLDJDQUEyQztBQUMzQixtQ0FBd0IsR0FBRyw4QkFBOEIsQ0FBQztBQUMx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QUMxRCxxREFBdUMsR0FBYTtJQUNuRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQscURBQXVDLEdBQWE7SUFDbkUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLHNDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2Isa0JBQWtCO0NBQ2xCLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQscURBQXVDLEdBQWE7SUFDbkUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLHdDQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLDZCQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLDhCQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQywwQkFBWSxHQUFHLGFBQWEsQ0FBQztBQUM3QywrQ0FBK0M7QUFDL0IsMkJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUNuRCw4Q0FBOEM7QUFDOUIsOEJBQWdCLEdBQUcsb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9kcnMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGRycyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgRFJTQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImRyc1wiO1xuXG5cdC8qKiBbV3JpdGVdIGRyczpBc3NvY2lhdGVGYWlsYmFja0NsaWVudFRvUmVjb3ZlcnlJbnN0YW5jZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlRmFpbGJhY2tDbGllbnRUb1JlY292ZXJ5SW5zdGFuY2VGb3JEcnMgPVxuXHRcdFwiZHJzOkFzc29jaWF0ZUZhaWxiYWNrQ2xpZW50VG9SZWNvdmVyeUluc3RhbmNlRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFjayA9XG5cdFx0XCJkcnM6QXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpCYXRjaENyZWF0ZVZvbHVtZVNuYXBzaG90R3JvdXBGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvckRycyA9XG5cdFx0XCJkcnM6QmF0Y2hDcmVhdGVWb2x1bWVTbmFwc2hvdEdyb3VwRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpCYXRjaERlbGV0ZVNuYXBzaG90UmVxdWVzdEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVTbmFwc2hvdFJlcXVlc3RGb3JEcnMgPVxuXHRcdFwiZHJzOkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDYW5jZWxSZWNvdmVyeVBsYW5FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiA9XG5cdFx0XCJkcnM6Q2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29udmVydGVkU25hcHNob3RGb3JEcnMgPVxuXHRcdFwiZHJzOkNyZWF0ZUNvbnZlcnRlZFNuYXBzaG90Rm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIgPSBcImRyczpDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRycyA9XG5cdFx0XCJkcnM6Q3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvdmVyeVBsYW4gPSBcImRyczpDcmVhdGVSZWNvdmVyeVBsYW5cIjtcblx0LyoqIFtXcml0ZV0gZHJzOkNyZWF0ZVJlY292ZXJ5UGxhblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhblN0ZXAgPSBcImRyczpDcmVhdGVSZWNvdmVyeVBsYW5TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkNyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpDcmVhdGVTb3VyY2VOZXR3b3JrICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VOZXR3b3JrID0gXCJkcnM6Q3JlYXRlU291cmNlTmV0d29ya1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6Q3JlYXRlU291cmNlU2VydmVyRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnMgPSBcImRyczpDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iID0gXCJkcnM6RGVsZXRlSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVMYXVuY2hBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxhdW5jaEFjdGlvbiA9IFwiZHJzOkRlbGV0ZUxhdW5jaEFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlUmVjb3ZlcnlJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlJbnN0YW5jZSA9IFwiZHJzOkRlbGV0ZVJlY292ZXJ5SW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVJlY292ZXJ5UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuID0gXCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVSZWNvdmVyeVBsYW5FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvbiA9XG5cdFx0XCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEZWxldGVSZWNvdmVyeVBsYW5TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvdmVyeVBsYW5TdGVwID0gXCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RGVsZXRlU291cmNlTmV0d29yayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlTmV0d29yayA9IFwiZHJzOkRlbGV0ZVNvdXJjZU5ldHdvcmtcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRlbGV0ZVNvdXJjZVNlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlU2VydmVyID0gXCJkcnM6RGVsZXRlU291cmNlU2VydmVyXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlSm9iTG9nSXRlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iTG9nSXRlbXMgPSBcImRyczpEZXNjcmliZUpvYkxvZ0l0ZW1zXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JzID0gXCJkcnM6RGVzY3JpYmVKb2JzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzID1cblx0XHRcImRyczpEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlcyA9IFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90cyA9IFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVzID1cblx0XHRcImRyczpEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlc1wiO1xuXHQvKiogW1JlYWRdIGRyczpEZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yRHJzID1cblx0XHRcImRyczpEZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkRlc2NyaWJlU25hcHNob3RSZXF1ZXN0c0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yRHJzID1cblx0XHRcImRyczpEZXNjcmliZVNuYXBzaG90UmVxdWVzdHNGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVTb3VyY2VOZXR3b3JrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTb3VyY2VOZXR3b3JrcyA9IFwiZHJzOkRlc2NyaWJlU291cmNlTmV0d29ya3NcIjtcblx0LyoqIFtSZWFkXSBkcnM6RGVzY3JpYmVTb3VyY2VTZXJ2ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNvdXJjZVNlcnZlcnMgPSBcImRyczpEZXNjcmliZVNvdXJjZVNlcnZlcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOkRpc2Nvbm5lY3RSZWNvdmVyeUluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZSA9IFwiZHJzOkRpc2Nvbm5lY3RSZWNvdmVyeUluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpEaXNjb25uZWN0U291cmNlU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0U291cmNlU2VydmVyID0gXCJkcnM6RGlzY29ubmVjdFNvdXJjZVNlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBkcnM6RXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGUgPVxuXHRcdFwiZHJzOkV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudENvbW1hbmRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q29tbWFuZEZvckRycyA9IFwiZHJzOkdldEFnZW50Q29tbWFuZEZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudENvbmZpcm1lZFJlc3VtZUluZm9Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50Q29uZmlybWVkUmVzdW1lSW5mb0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0QWdlbnRDb25maXJtZWRSZXN1bWVJbmZvRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEFnZW50SW5zdGFsbGF0aW9uQXNzZXRzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudEluc3RhbGxhdGlvbkFzc2V0c0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0QWdlbnRJbnN0YWxsYXRpb25Bc3NldHNGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0QWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzID1cblx0XHRcImRyczpHZXRBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yRHJzID1cblx0XHRcImRyczpHZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEFnZW50U25hcHNob3RDcmVkaXRzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2VudFNuYXBzaG90Q3JlZGl0c0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0QWdlbnRTbmFwc2hvdENyZWRpdHNGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0Q2hhbm5lbENvbW1hbmRzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDaGFubmVsQ29tbWFuZHNGb3JEcnMgPVxuXHRcdFwiZHJzOkdldENoYW5uZWxDb21tYW5kc0ZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRGYWlsYmFja0NvbW1hbmRGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZhaWxiYWNrQ29tbWFuZEZvckRycyA9XG5cdFx0XCJkcnM6R2V0RmFpbGJhY2tDb21tYW5kRm9yRHJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldEZhaWxiYWNrTGF1bmNoUmVxdWVzdGVkRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGYWlsYmFja0xhdW5jaFJlcXVlc3RlZEZvckRycyA9XG5cdFx0XCJkcnM6R2V0RmFpbGJhY2tMYXVuY2hSZXF1ZXN0ZWRGb3JEcnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcImRyczpHZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRMYXVuY2hDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMYXVuY2hDb25maWd1cmF0aW9uID0gXCJkcnM6R2V0TGF1bmNoQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRSZWNvdmVyeVBsYW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY292ZXJ5UGxhbiA9IFwiZHJzOkdldFJlY292ZXJ5UGxhblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiA9XG5cdFx0XCJkcnM6R2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgPVxuXHRcdFwiZHJzOkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0UmVjb3ZlcnlQbGFuU3RlcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVjb3ZlcnlQbGFuU3RlcCA9IFwiZHJzOkdldFJlY292ZXJ5UGxhblN0ZXBcIjtcblx0LyoqIFtSZWFkXSBkcnM6R2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZHJzOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGRyczpHZXRTdWdnZXN0ZWRGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFN1Z2dlc3RlZEZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRycyA9XG5cdFx0XCJkcnM6R2V0U3VnZ2VzdGVkRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpJbml0aWFsaXplU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhbGl6ZVNlcnZpY2UgPSBcImRyczpJbml0aWFsaXplU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBkcnM6SXNzdWVBZ2VudENlcnRpZmljYXRlRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBJc3N1ZUFnZW50Q2VydGlmaWNhdGVGb3JEcnMgPVxuXHRcdFwiZHJzOklzc3VlQWdlbnRDZXJ0aWZpY2F0ZUZvckRyc1wiO1xuXHQvKiogW1JlYWRdIGRyczpMaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeHRlbnNpYmxlU291cmNlU2VydmVycyA9XG5cdFx0XCJkcnM6TGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RMYXVuY2hBY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGF1bmNoQWN0aW9ucyA9IFwiZHJzOkxpc3RMYXVuY2hBY3Rpb25zXCI7XG5cdC8qKiBbUmVhZF0gZHJzOkxpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXBzID1cblx0XHRcImRyczpMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcHNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25zID0gXCJkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFJlY292ZXJ5UGxhblN0ZXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuU3RlcHMgPSBcImRyczpMaXN0UmVjb3ZlcnlQbGFuU3RlcHNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFJlY292ZXJ5UGxhbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5zID0gXCJkcnM6TGlzdFJlY292ZXJ5UGxhbnNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFN0YWdpbmdBY2NvdW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0YWdpbmdBY2NvdW50cyA9IFwiZHJzOkxpc3RTdGFnaW5nQWNjb3VudHNcIjtcblx0LyoqIFtSZWFkXSBkcnM6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiZHJzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeUFnZW50QXV0aGVudGljYXRpb25Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUFnZW50QXV0aGVudGljYXRpb25Gb3JEcnMgPVxuXHRcdFwiZHJzOk5vdGlmeUFnZW50QXV0aGVudGljYXRpb25Gb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOk5vdGlmeUFnZW50Q29ubmVjdGVkRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlBZ2VudENvbm5lY3RlZEZvckRycyA9IFwiZHJzOk5vdGlmeUFnZW50Q29ubmVjdGVkRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlBZ2VudERpc2Nvbm5lY3RlZEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5QWdlbnREaXNjb25uZWN0ZWRGb3JEcnMgPVxuXHRcdFwiZHJzOk5vdGlmeUFnZW50RGlzY29ubmVjdGVkRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlBZ2VudFJlcGxpY2F0aW9uUHJvZ3Jlc3NGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE5vdGlmeUFnZW50UmVwbGljYXRpb25Qcm9ncmVzc0ZvckRycyA9XG5cdFx0XCJkcnM6Tm90aWZ5QWdlbnRSZXBsaWNhdGlvblByb2dyZXNzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlDb25zaXN0ZW5jeUF0dGFpbmVkRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlDb25zaXN0ZW5jeUF0dGFpbmVkRm9yRHJzID1cblx0XHRcImRyczpOb3RpZnlDb25zaXN0ZW5jeUF0dGFpbmVkRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlSZXBsaWNhdGlvblNlcnZlckF1dGhlbnRpY2F0aW9uRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBOb3RpZnlSZXBsaWNhdGlvblNlcnZlckF1dGhlbnRpY2F0aW9uRm9yRHJzID1cblx0XHRcImRyczpOb3RpZnlSZXBsaWNhdGlvblNlcnZlckF1dGhlbnRpY2F0aW9uRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpOb3RpZnlWb2x1bWVFdmVudEZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTm90aWZ5Vm9sdW1lRXZlbnRGb3JEcnMgPSBcImRyczpOb3RpZnlWb2x1bWVFdmVudEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6UHV0TGF1bmNoQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRMYXVuY2hBY3Rpb24gPSBcImRyczpQdXRMYXVuY2hBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzID0gXCJkcnM6UmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpSZXRyeURhdGFSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlEYXRhUmVwbGljYXRpb24gPSBcImRyczpSZXRyeURhdGFSZXBsaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6UmV0cnlSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgPVxuXHRcdFwiZHJzOlJldHJ5UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6UmV2ZXJzZVJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZlcnNlUmVwbGljYXRpb24gPSBcImRyczpSZXZlcnNlUmVwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlNlbmRBZ2VudExvZ3NGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRBZ2VudExvZ3NGb3JEcnMgPSBcImRyczpTZW5kQWdlbnRMb2dzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTZW5kQWdlbnRNZXRyaWNzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQWdlbnRNZXRyaWNzRm9yRHJzID0gXCJkcnM6U2VuZEFnZW50TWV0cmljc0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U2VuZENoYW5uZWxDb21tYW5kUmVzdWx0Rm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQ2hhbm5lbENvbW1hbmRSZXN1bHRGb3JEcnMgPVxuXHRcdFwiZHJzOlNlbmRDaGFubmVsQ29tbWFuZFJlc3VsdEZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U2VuZENsaWVudExvZ3NGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDbGllbnRMb2dzRm9yRHJzID0gXCJkcnM6U2VuZENsaWVudExvZ3NGb3JEcnNcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlNlbmRDbGllbnRNZXRyaWNzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQ2xpZW50TWV0cmljc0ZvckRycyA9IFwiZHJzOlNlbmRDbGllbnRNZXRyaWNzRm9yRHJzXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTZW5kVm9sdW1lU3RhdHNGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRWb2x1bWVTdGF0c0ZvckRycyA9IFwiZHJzOlNlbmRWb2x1bWVTdGF0c0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RhcnRGYWlsYmFja0xhdW5jaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaCA9IFwiZHJzOlN0YXJ0RmFpbGJhY2tMYXVuY2hcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0YXJ0UmVjb3ZlcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3ZlcnkgPSBcImRyczpTdGFydFJlY292ZXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZWNvdmVyeVBsYW5FeGVjdXRpb24gPSBcImRyczpTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RhcnRSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvbiA9IFwiZHJzOlN0YXJ0UmVwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0YXJ0U291cmNlTmV0d29ya1JlY292ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeSA9IFwiZHJzOlN0YXJ0U291cmNlTmV0d29ya1JlY292ZXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gPVxuXHRcdFwiZHJzOlN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpTdG9wRmFpbGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BGYWlsYmFjayA9IFwiZHJzOlN0b3BGYWlsYmFja1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6U3RvcFJlcGxpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUmVwbGljYXRpb24gPSBcImRyczpTdG9wUmVwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gPVxuXHRcdFwiZHJzOlN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBkcnM6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJkcnM6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyA9IFwiZHJzOlRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzXCI7XG5cdC8qKiBbVGFnZ2luZ10gZHJzOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImRyczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVBZ2VudEJhY2tsb2dGb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50QmFja2xvZ0ZvckRycyA9IFwiZHJzOlVwZGF0ZUFnZW50QmFja2xvZ0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRDb252ZXJzaW9uSW5mb0ZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRDb252ZXJzaW9uSW5mb0ZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlQWdlbnRDb252ZXJzaW9uSW5mb0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzID1cblx0XHRcImRyczpVcGRhdGVBZ2VudFJlcGxpY2F0aW9uSW5mb0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRSZXBsaWNhdGlvblByb2Nlc3NTdGF0ZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRSZXBsaWNhdGlvblByb2Nlc3NTdGF0ZUZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlQWdlbnRSZXBsaWNhdGlvblByb2Nlc3NTdGF0ZUZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlQWdlbnRTb3VyY2VQcm9wZXJ0aWVzRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNvdXJjZVByb3BlcnRpZXNGb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZUFnZW50U291cmNlUHJvcGVydGllc0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsYmFja0NsaWVudERldmljZU1hcHBpbmdGb3JEcnMgPVxuXHRcdFwiZHJzOlVwZGF0ZUZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlRmFpbGJhY2tDbGllbnRMYXN0U2VlbkZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmFpbGJhY2tDbGllbnRMYXN0U2VlbkZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlRmFpbGJhY2tDbGllbnRMYXN0U2VlbkZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uID1cblx0XHRcImRyczpVcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbiA9IFwiZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gZHJzOlVwZGF0ZVJlY292ZXJ5UGxhbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuID0gXCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwID1cblx0XHRcImRyczpVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwXCI7XG5cdC8qKiBbV3JpdGVdIGRyczpVcGRhdGVSZWNvdmVyeVBsYW5TdGVwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvdmVyeVBsYW5TdGVwID0gXCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuU3RlcFwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVwbGljYXRpb25DZXJ0aWZpY2F0ZUZvckRycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVwbGljYXRpb25DZXJ0aWZpY2F0ZUZvckRycyA9XG5cdFx0XCJkcnM6VXBkYXRlUmVwbGljYXRpb25DZXJ0aWZpY2F0ZUZvckRyc1wiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBkcnM6VXBkYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlID1cblx0XHRcImRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVKb2JMb2dJdGVtcyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlSm9icyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlcyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVJlY292ZXJ5U25hcHNob3RzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMsXG5cdFx0RFJTQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uU2VydmVyQXNzb2NpYXRpb25zRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVTbmFwc2hvdFJlcXVlc3RzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuRGVzY3JpYmVTb3VyY2VOZXR3b3Jrcyxcblx0XHREUlNBY3Rpb25zLkRlc2NyaWJlU291cmNlU2VydmVycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50Q29tbWFuZEZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50Q29uZmlybWVkUmVzdW1lSW5mb0ZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEFnZW50SW5zdGFsbGF0aW9uQXNzZXRzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRSZXBsaWNhdGlvbkluZm9Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRBZ2VudFJ1bnRpbWVDb25maWd1cmF0aW9uRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0QWdlbnRTbmFwc2hvdENyZWRpdHNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRDaGFubmVsQ29tbWFuZHNGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRGYWlsYmFja0NvbW1hbmRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRGYWlsYmFja0xhdW5jaFJlcXVlc3RlZEZvckRycyxcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0TGF1bmNoQ29uZmlndXJhdGlvbixcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFJlY292ZXJ5UGxhbixcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbixcblx0XHREUlNBY3Rpb25zLmFjdGlvbkdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5hY3Rpb25HZXRSZWNvdmVyeVBsYW5TdGVwLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdERSU0FjdGlvbnMuYWN0aW9uR2V0U3VnZ2VzdGVkRmFpbGJhY2tDbGllbnREZXZpY2VNYXBwaW5nRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzLFxuXHRcdERSU0FjdGlvbnMuTGlzdExhdW5jaEFjdGlvbnMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcHMsXG5cdFx0RFJTQWN0aW9ucy5MaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9ucyxcblx0XHREUlNBY3Rpb25zLkxpc3RSZWNvdmVyeVBsYW5TdGVwcyxcblx0XHREUlNBY3Rpb25zLkxpc3RSZWNvdmVyeVBsYW5zLFxuXHRcdERSU0FjdGlvbnMuTGlzdFN0YWdpbmdBY2NvdW50cyxcblx0XHREUlNBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RFJTQWN0aW9ucy5Bc3NvY2lhdGVGYWlsYmFja0NsaWVudFRvUmVjb3ZlcnlJbnN0YW5jZUZvckRycyxcblx0XHREUlNBY3Rpb25zLkFzc29jaWF0ZVNvdXJjZU5ldHdvcmtTdGFjayxcblx0XHREUlNBY3Rpb25zLkJhdGNoQ3JlYXRlVm9sdW1lU25hcHNob3RHcm91cEZvckRycyxcblx0XHREUlNBY3Rpb25zLkJhdGNoRGVsZXRlU25hcHNob3RSZXF1ZXN0Rm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuQ2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlQ29udmVydGVkU25hcHNob3RGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlcixcblx0XHREUlNBY3Rpb25zLkNyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHREUlNBY3Rpb25zLkNyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVSZWNvdmVyeVBsYW4sXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVSZWNvdmVyeVBsYW5TdGVwLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5DcmVhdGVTb3VyY2VOZXR3b3JrLFxuXHRcdERSU0FjdGlvbnMuQ3JlYXRlU291cmNlU2VydmVyRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlSm9iLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlTGF1bmNoQWN0aW9uLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlLFxuXHRcdERSU0FjdGlvbnMuRGVsZXRlUmVjb3ZlcnlJbnN0YW5jZSxcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVJlY292ZXJ5UGxhbixcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvbixcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVJlY292ZXJ5UGxhblN0ZXAsXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XHREUlNBY3Rpb25zLkRlbGV0ZVNvdXJjZU5ldHdvcmssXG5cdFx0RFJTQWN0aW9ucy5EZWxldGVTb3VyY2VTZXJ2ZXIsXG5cdFx0RFJTQWN0aW9ucy5EaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZSxcblx0XHREUlNBY3Rpb25zLkRpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXIsXG5cdFx0RFJTQWN0aW9ucy5FeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5Jbml0aWFsaXplU2VydmljZSxcblx0XHREUlNBY3Rpb25zLklzc3VlQWdlbnRDZXJ0aWZpY2F0ZUZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeUFnZW50QXV0aGVudGljYXRpb25Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlBZ2VudENvbm5lY3RlZEZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeUFnZW50RGlzY29ubmVjdGVkRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5QWdlbnRSZXBsaWNhdGlvblByb2dyZXNzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuTm90aWZ5Q29uc2lzdGVuY3lBdHRhaW5lZEZvckRycyxcblx0XHREUlNBY3Rpb25zLk5vdGlmeVJlcGxpY2F0aW9uU2VydmVyQXV0aGVudGljYXRpb25Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5Ob3RpZnlWb2x1bWVFdmVudEZvckRycyxcblx0XHREUlNBY3Rpb25zLlB1dExhdW5jaEFjdGlvbixcblx0XHREUlNBY3Rpb25zLlJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyxcblx0XHREUlNBY3Rpb25zLlJldHJ5RGF0YVJlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuUmV0cnlSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwLFxuXHRcdERSU0FjdGlvbnMuUmV2ZXJzZVJlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuU2VuZEFnZW50TG9nc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlNlbmRBZ2VudE1ldHJpY3NGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5TZW5kQ2hhbm5lbENvbW1hbmRSZXN1bHRGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5TZW5kQ2xpZW50TG9nc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlNlbmRDbGllbnRNZXRyaWNzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuU2VuZFZvbHVtZVN0YXRzRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuU3RhcnRGYWlsYmFja0xhdW5jaCxcblx0XHREUlNBY3Rpb25zLlN0YXJ0UmVjb3ZlcnksXG5cdFx0RFJTQWN0aW9ucy5TdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbixcblx0XHREUlNBY3Rpb25zLlN0YXJ0UmVwbGljYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5TdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeSxcblx0XHREUlNBY3Rpb25zLlN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuU3RvcEZhaWxiYWNrLFxuXHRcdERSU0FjdGlvbnMuU3RvcFJlcGxpY2F0aW9uLFxuXHRcdERSU0FjdGlvbnMuU3RvcFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbixcblx0XHREUlNBY3Rpb25zLlRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlQWdlbnRCYWNrbG9nRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlQWdlbnRDb252ZXJzaW9uSW5mb0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUFnZW50UmVwbGljYXRpb25JbmZvRm9yRHJzLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlQWdlbnRSZXBsaWNhdGlvblByb2Nlc3NTdGF0ZUZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUFnZW50U291cmNlUHJvcGVydGllc0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUZhaWxiYWNrQ2xpZW50RGV2aWNlTWFwcGluZ0ZvckRycyxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUZhaWxiYWNrQ2xpZW50TGFzdFNlZW5Gb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbixcblx0XHREUlNBY3Rpb25zLlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZWNvdmVyeVBsYW4sXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwLFxuXHRcdERSU0FjdGlvbnMuVXBkYXRlUmVjb3ZlcnlQbGFuU3RlcCxcblx0XHREUlNBY3Rpb25zLlVwZGF0ZVJlcGxpY2F0aW9uQ2VydGlmaWNhdGVGb3JEcnMsXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0RFJTQWN0aW9ucy5VcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RFJTQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHREUlNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBKb2JSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTSm9iUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSm9iUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU0pvYlJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU0xhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZWNvdmVyeUluc3RhbmNlSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY292ZXJ5SW5zdGFuY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvdmVyeUluc3RhbmNlSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvdmVyeUluc3RhbmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZWNvdmVyeVBsYW5FeGVjdXRpb25JRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlQbGFuRXhlY3V0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY292ZXJ5UGxhbkV4ZWN1dGlvbklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlQbGFuRXhlY3V0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlY292ZXJ5UGxhblJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNSZWNvdmVyeVBsYW5SZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZWNvdmVyeVBsYW5JRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlQbGFuSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZWNvdmVyeVBsYW5SZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY292ZXJ5UGxhbklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb3ZlcnlQbGFuSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTb3VyY2VOZXR3b3JrUmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERSU1NvdXJjZU5ldHdvcmtSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBTb3VyY2VOZXR3b3JrSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNvdXJjZU5ldHdvcmtJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTU291cmNlTmV0d29ya1Jlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTb3VyY2VOZXR3b3JrSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzb3VyY2VOZXR3b3JrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNvdXJjZVNlcnZlclJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEUlNTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblByb3BzIHtcblx0LyoqIFRoZSBTb3VyY2VTZXJ2ZXJJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc291cmNlU2VydmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRFJTU291cmNlU2VydmVyUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNvdXJjZVNlcnZlcklEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc291cmNlU2VydmVySWQ6IHN0cmluZztcbn1cblxuY29uc3QgSm9iUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxhdW5jaC1jb25maWd1cmF0aW9uLXRlbXBsYXRlXFwvKD88bGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpkcnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWNvdmVyeS1pbnN0YW5jZVxcLyg/PHJlY292ZXJ5SW5zdGFuY2VJZD5bXjovP10rKSQvO1xuY29uc3QgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVjb3ZlcnktcGxhbi1leGVjdXRpb25cXC8oPzxyZWNvdmVyeVBsYW5FeGVjdXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVjb3ZlcnktcGxhblxcLyg/PHJlY292ZXJ5UGxhbklkPlteOi8/XSspJC87XG5jb25zdCBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGVcXC8oPzxyZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkPlteOi8/XSspJC87XG5jb25zdCBTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZHJzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c291cmNlLW5ldHdvcmtcXC8oPzxzb3VyY2VOZXR3b3JrSWQ+W146Lz9dKykkLztcbmNvbnN0IFNvdXJjZVNlcnZlclJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmRyczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNvdXJjZS1zZXJ2ZXJcXC8oPzxzb3VyY2VTZXJ2ZXJJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGRycyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEUlNSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEpvYlJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGpvYlJlc291cmNlKHByb3BzOiBEUlNKb2JSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEpvYlJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBKb2JSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBKb2JSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IERSU0pvYlJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBKb2JSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBKb2JSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZShcblx0XHRwcm9wczogRFJTTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGF1bmNoLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGUvJHtwcm9wcy5sYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIExhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTjogJHthcm59YCxcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvdmVyeUluc3RhbmNlUmVzb3VyY2UoXG5cdFx0cHJvcHM6IERSU1JlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWNvdmVyeS1pbnN0YW5jZS8ke3Byb3BzLnJlY292ZXJ5SW5zdGFuY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvdmVyeUluc3RhbmNlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1JlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb3ZlcnlJbnN0YW5jZVJlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlY292ZXJ5SW5zdGFuY2VSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWNvdmVyeUluc3RhbmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVjb3ZlcnlJbnN0YW5jZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlKFxuXHRcdHByb3BzOiBEUlNSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWNvdmVyeS1wbGFuLWV4ZWN1dGlvbi8ke3Byb3BzLnJlY292ZXJ5UGxhbkV4ZWN1dGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1JlY292ZXJ5UGxhbkV4ZWN1dGlvblJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWNvdmVyeVBsYW5FeGVjdXRpb25SZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWNvdmVyeVBsYW5FeGVjdXRpb25JZDogbWF0Y2guZ3JvdXBzIS5yZWNvdmVyeVBsYW5FeGVjdXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWNvdmVyeVBsYW5SZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvdmVyeVBsYW5SZXNvdXJjZShwcm9wczogRFJTUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlY292ZXJ5LXBsYW4vJHtwcm9wcy5yZWNvdmVyeVBsYW5JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVjb3ZlcnlQbGFuUmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY292ZXJ5UGxhblJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY292ZXJ5UGxhblJlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlY292ZXJ5UGxhblJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY292ZXJ5UGxhblJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBEUlNSZWNvdmVyeVBsYW5SZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb3ZlcnlQbGFuUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVjb3ZlcnlQbGFuUmVzb3VyY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVjb3ZlcnlQbGFuSWQ6IG1hdGNoLmdyb3VwcyEucmVjb3ZlcnlQbGFuSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlKFxuXHRcdHByb3BzOiBEUlNSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZHJzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlcGxpY2F0aW9uLWNvbmZpZ3VyYXRpb24tdGVtcGxhdGUvJHtwcm9wcy5yZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBJbnZhbGlkIFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlUmVzb3VyY2UgQVJOOiAke2Fybn1gLFxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVJZDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5yZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzb3VyY2VOZXR3b3JrUmVzb3VyY2UoXG5cdFx0cHJvcHM6IERSU1NvdXJjZU5ldHdvcmtSZXNvdXJjZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmRyczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzb3VyY2UtbmV0d29yay8ke3Byb3BzLnNvdXJjZU5ldHdvcmtJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU291cmNlTmV0d29ya1Jlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU291cmNlTmV0d29ya1Jlc291cmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTb3VyY2VOZXR3b3JrUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1NvdXJjZU5ldHdvcmtSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU291cmNlTmV0d29ya1Jlc291cmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNvdXJjZU5ldHdvcmtSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzb3VyY2VOZXR3b3JrSWQ6IG1hdGNoLmdyb3VwcyEuc291cmNlTmV0d29ya0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNvdXJjZVNlcnZlclJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNvdXJjZVNlcnZlclJlc291cmNlKHByb3BzOiBEUlNTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpkcnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c291cmNlLXNlcnZlci8ke3Byb3BzLnNvdXJjZVNlcnZlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU291cmNlU2VydmVyUmVzb3VyY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU291cmNlU2VydmVyUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU291cmNlU2VydmVyUmVzb3VyY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU291cmNlU2VydmVyUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IERSU1NvdXJjZVNlcnZlclJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTb3VyY2VTZXJ2ZXJSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTb3VyY2VTZXJ2ZXJSZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzb3VyY2VTZXJ2ZXJJZDogbWF0Y2guZ3JvdXBzIS5zb3VyY2VTZXJ2ZXJJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBkcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBEUlNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsUmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4dGVuZGVkU291cmNlU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVFeHRlbmRlZFNvdXJjZVNlcnZlclwiLFxuXHRcdFwiZHJzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6Q3JlYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlXCIsXG5cdFx0XCJkcnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb3ZlcnlQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVSZWNvdmVyeVBsYW5cIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6Q3JlYXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRcdFwiZHJzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNvdXJjZU5ldHdvcmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VOZXR3b3JrOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpDcmVhdGVTb3VyY2VOZXR3b3JrXCIsXG5cdFx0XCJkcnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iOiBzdHJpbmdbXSA9IFtcImRyczpEZWxldGVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUxhdW5jaEFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxhdW5jaEFjdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6RGVsZXRlTGF1bmNoQWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlbGV0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeUluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVsZXRlUmVjb3ZlcnlJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeVBsYW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvdmVyeVBsYW46IHN0cmluZ1tdID0gW1wiZHJzOkRlbGV0ZVJlY292ZXJ5UGxhblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVsZXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZWxldGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTb3VyY2VOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlTmV0d29yazogc3RyaW5nW10gPSBbXCJkcnM6RGVsZXRlU291cmNlTmV0d29ya1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU291cmNlU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU291cmNlU2VydmVyOiBzdHJpbmdbXSA9IFtcImRyczpEZWxldGVTb3VyY2VTZXJ2ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iTG9nSXRlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYkxvZ0l0ZW1zOiBzdHJpbmdbXSA9IFtcImRyczpEZXNjcmliZUpvYkxvZ0l0ZW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYnM6IHN0cmluZ1tdID0gW1wiZHJzOkRlc2NyaWJlSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZWNvdmVyeUluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZWNvdmVyeVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlUmVjb3ZlcnlTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGVzY3JpYmVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTb3VyY2VOZXR3b3JrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU291cmNlTmV0d29ya3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRlc2NyaWJlU291cmNlTmV0d29ya3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpEZXNjcmliZVNvdXJjZVNlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb25uZWN0UmVjb3ZlcnlJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6RGlzY29ubmVjdFJlY292ZXJ5SW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY29ubmVjdFNvdXJjZVNlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkRpc2Nvbm5lY3RTb3VyY2VTZXJ2ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0U291cmNlTmV0d29ya0NmblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEZhaWxiYWNrUmVwbGljYXRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRMYXVuY2hDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMYXVuY2hDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRMYXVuY2hDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY292ZXJ5UGxhbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcImRyczpHZXRSZWNvdmVyeVBsYW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpHZXRSZWNvdmVyeVBsYW5FeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uU3RlcDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVjb3ZlcnlQbGFuU3RlcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXCJkcnM6R2V0UmVjb3ZlcnlQbGFuU3RlcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVwbGljYXRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOkdldFJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbml0aWFsaXplU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcImRyczpJbml0aWFsaXplU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4dGVuc2libGVTb3VyY2VTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpMaXN0RXh0ZW5zaWJsZVNvdXJjZVNlcnZlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdExhdW5jaEFjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGF1bmNoQWN0aW9uczogc3RyaW5nW10gPSBbXCJkcnM6TGlzdExhdW5jaEFjdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6TGlzdFJlY292ZXJ5UGxhbkV4ZWN1dGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhblN0ZXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY292ZXJ5UGxhblN0ZXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpMaXN0UmVjb3ZlcnlQbGFuU3RlcHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY292ZXJ5UGxhbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb3ZlcnlQbGFuczogc3RyaW5nW10gPSBbXCJkcnM6TGlzdFJlY292ZXJ5UGxhbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdGFnaW5nQWNjb3VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RhZ2luZ0FjY291bnRzOiBzdHJpbmdbXSA9IFtcImRyczpMaXN0U3RhZ2luZ0FjY291bnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkcnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0TGF1bmNoQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0TGF1bmNoQWN0aW9uOiBzdHJpbmdbXSA9IFtcImRyczpQdXRMYXVuY2hBY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlb3JkZXJSZWNvdmVyeVBsYW5TdGVwczogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6UmVvcmRlclJlY292ZXJ5UGxhblN0ZXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldHJ5RGF0YVJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV0cnlEYXRhUmVwbGljYXRpb246IHN0cmluZ1tdID0gW1wiZHJzOlJldHJ5RGF0YVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXRyeVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXA6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldmVyc2VSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldmVyc2VSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6UmV2ZXJzZVJlcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZhaWxiYWNrTGF1bmNoIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaDogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZWNvdmVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3Zlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlN0YXJ0UmVjb3ZlcnlcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVjb3ZlcnlQbGFuRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJkcnM6U3RhcnRSZXBsaWNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNvdXJjZU5ldHdvcmtSZWNvdmVyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6U3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnlcIixcblx0XHRcImRyczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U291cmNlTmV0d29ya1JlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpTdGFydFNvdXJjZU5ldHdvcmtSZXBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRmFpbGJhY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRmFpbGJhY2s6IHN0cmluZ1tdID0gW1wiZHJzOlN0b3BGYWlsYmFja1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFJlcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFJlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcImRyczpTdG9wUmVwbGljYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BTb3VyY2VOZXR3b3JrUmVwbGljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpTdG9wU291cmNlTmV0d29ya1JlcGxpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZHJzOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVJlY292ZXJ5SW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJkcnM6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsYmFja1JlcGxpY2F0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlRmFpbGJhY2tSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlVwZGF0ZUxhdW5jaENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGF1bmNoQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpVcGRhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVjb3ZlcnlQbGFuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuOiBzdHJpbmdbXSA9IFtcImRyczpVcGRhdGVSZWNvdmVyeVBsYW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlY292ZXJ5UGxhbkV4ZWN1dGlvblN0ZXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZWNvdmVyeVBsYW5FeGVjdXRpb25TdGVwOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZWNvdmVyeVBsYW5TdGVwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVjb3ZlcnlQbGFuU3RlcDogc3RyaW5nW10gPSBbXG5cdFx0XCJkcnM6VXBkYXRlUmVjb3ZlcnlQbGFuU3RlcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZHJzOlVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcGxpY2F0aW9uQ29uZmlndXJhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImRyczpVcGRhdGVSZXBsaWNhdGlvbkNvbmZpZ3VyYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgZHJzLlxuICovXG5leHBvcnQgY2xhc3MgRFJTQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBc3NvY2lhdGVTb3VyY2VOZXR3b3JrU3RhY2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlU291cmNlTmV0d29ya1N0YWNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb252ZXJ0ZWRTbmFwc2hvdEZvckRyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXh0ZW5kZWRTb3VyY2VTZXJ2ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxhdW5jaENvbmZpZ3VyYXRpb25UZW1wbGF0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMYXVuY2hDb25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlY292ZXJ5SW5zdGFuY2VGb3JEcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb3ZlcnlJbnN0YW5jZUZvckRyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVjb3ZlcnlQbGFuIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY292ZXJ5UGxhbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Db25maWd1cmF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsIFwiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTb3VyY2VOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNvdXJjZU5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNvdXJjZVNlcnZlckZvckRycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTb3VyY2VTZXJ2ZXJGb3JEcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEV4cG9ydFNvdXJjZU5ldHdvcmtDZm5UZW1wbGF0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTb3VyY2VOZXR3b3JrQ2ZuVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJldmVyc2VSZXBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZlcnNlUmVwbGljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RmFpbGJhY2tMYXVuY2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsYmFja0xhdW5jaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRSZWNvdmVyeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlY292ZXJ5UGxhbkV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTb3VyY2VOZXR3b3JrUmVjb3ZlcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJkcnM6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVSZWNvdmVyeUluc3RhbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkcnM6Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJkcnM6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBkcnM6RUMySW5zdGFuY2VBUk4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVDMl9JTlNUQU5DRV9BUk4gPSBcImRyczpFQzJJbnN0YW5jZUFSTlwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkcnM6Q3JlYXRlQWN0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBjcmVhdGVBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJkcnM6Q3JlYXRlQWN0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBkcnM6RUMySW5zdGFuY2VBUk5gLlxuXHQgKi9cblx0c3RhdGljIGVjMkluc3RhbmNlQVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZHJzOkVDMkluc3RhbmNlQVJOXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
@@ -16,7 +16,7 @@ class DsDataActions {
16
16
  }
17
17
  exports.DsDataActions = DsDataActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- DsDataActions[_a] = { fqn: "@cdk_utils/iam.ds_data.DsDataActions", version: "1.9.0" };
19
+ DsDataActions[_a] = { fqn: "@cdk_utils/iam.ds_data.DsDataActions", version: "1.11.0" };
20
20
  /** The IAM service prefix. */
21
21
  DsDataActions.SERVICE_PREFIX = "ds-data";
22
22
  /** [Write] ds-data:AddGroupMember */
@@ -119,7 +119,7 @@ class DsDataResources {
119
119
  }
120
120
  exports.DsDataResources = DsDataResources;
121
121
  _b = JSII_RTTI_SYMBOL_1;
122
- DsDataResources[_b] = { fqn: "@cdk_utils/iam.ds_data.DsDataResources", version: "1.9.0" };
122
+ DsDataResources[_b] = { fqn: "@cdk_utils/iam.ds_data.DsDataResources", version: "1.11.0" };
123
123
  /**
124
124
  * API operation to required IAM actions mapping for ds-data.
125
125
  */
@@ -127,7 +127,7 @@ class DsDataOperations {
127
127
  }
128
128
  exports.DsDataOperations = DsDataOperations;
129
129
  _c = JSII_RTTI_SYMBOL_1;
130
- DsDataOperations[_c] = { fqn: "@cdk_utils/iam.ds_data.DsDataOperations", version: "1.9.0" };
130
+ DsDataOperations[_c] = { fqn: "@cdk_utils/iam.ds_data.DsDataOperations", version: "1.11.0" };
131
131
  /** IAM actions required for the AddGroupMember API call. */
132
132
  DsDataOperations.AddGroupMember = [
133
133
  "ds:AccessDSData",
@@ -258,7 +258,7 @@ class DsDataConditions {
258
258
  }
259
259
  exports.DsDataConditions = DsDataConditions;
260
260
  _d = JSII_RTTI_SYMBOL_1;
261
- DsDataConditions[_d] = { fqn: "@cdk_utils/iam.ds_data.DsDataConditions", version: "1.9.0" };
261
+ DsDataConditions[_d] = { fqn: "@cdk_utils/iam.ds_data.DsDataConditions", version: "1.11.0" };
262
262
  /** Condition keys applicable to the AddGroupMember action. */
263
263
  DsDataConditions.AddGroupMemberConditionKeys = [
264
264
  "ds-data:Identifier",