@cdk_utils/iam 1.33.0 → 1.34.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 (463) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +6 -5
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +4 -4
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.js +4 -4
  108. package/lib/generated/services/cognito-sync.js +3 -3
  109. package/lib/generated/services/comprehend.js +4 -4
  110. package/lib/generated/services/comprehendmedical.js +3 -3
  111. package/lib/generated/services/compute-optimizer.js +3 -3
  112. package/lib/generated/services/config.js +4 -4
  113. package/lib/generated/services/connect-campaigns.js +4 -4
  114. package/lib/generated/services/connect.js +4 -4
  115. package/lib/generated/services/consoleapp.js +2 -2
  116. package/lib/generated/services/consolidatedbilling.js +1 -1
  117. package/lib/generated/services/controlcatalog.js +3 -3
  118. package/lib/generated/services/controltower.js +4 -4
  119. package/lib/generated/services/cost-optimization-hub.js +2 -2
  120. package/lib/generated/services/cur.js +4 -4
  121. package/lib/generated/services/customer-verification.js +1 -1
  122. package/lib/generated/services/databrew.js +4 -4
  123. package/lib/generated/services/dataexchange.js +4 -4
  124. package/lib/generated/services/datapipeline.js +4 -4
  125. package/lib/generated/services/datasync.js +4 -4
  126. package/lib/generated/services/datazone.d.ts +0 -28
  127. package/lib/generated/services/datazone.js +5 -47
  128. package/lib/generated/services/dax.js +4 -4
  129. package/lib/generated/services/dbqms.js +1 -1
  130. package/lib/generated/services/deadline.js +4 -4
  131. package/lib/generated/services/detective.js +4 -4
  132. package/lib/generated/services/devicefarm.js +4 -4
  133. package/lib/generated/services/devops-guru.js +4 -4
  134. package/lib/generated/services/directconnect.js +4 -4
  135. package/lib/generated/services/discovery.js +3 -3
  136. package/lib/generated/services/dlm.js +4 -4
  137. package/lib/generated/services/dms.js +4 -4
  138. package/lib/generated/services/docdb-elastic.js +4 -4
  139. package/lib/generated/services/drs.js +4 -4
  140. package/lib/generated/services/ds-data.js +4 -4
  141. package/lib/generated/services/ds.js +4 -4
  142. package/lib/generated/services/dsql.js +4 -4
  143. package/lib/generated/services/dynamodb.js +4 -4
  144. package/lib/generated/services/ebs.js +4 -4
  145. package/lib/generated/services/ec2-instance-connect.js +4 -4
  146. package/lib/generated/services/ec2.js +4 -4
  147. package/lib/generated/services/ec2messages.js +2 -2
  148. package/lib/generated/services/ecr-public.js +4 -4
  149. package/lib/generated/services/ecr.js +4 -4
  150. package/lib/generated/services/ecs-mcp.js +1 -1
  151. package/lib/generated/services/ecs.js +7 -5
  152. package/lib/generated/services/eks-auth.js +4 -4
  153. package/lib/generated/services/eks-mcp.js +1 -1
  154. package/lib/generated/services/eks.js +4 -4
  155. package/lib/generated/services/elasticache.js +4 -4
  156. package/lib/generated/services/elasticbeanstalk.js +4 -4
  157. package/lib/generated/services/elasticfilesystem.js +4 -4
  158. package/lib/generated/services/elasticloadbalancing.js +5 -6
  159. package/lib/generated/services/elasticmapreduce.js +4 -4
  160. package/lib/generated/services/elastictranscoder.js +2 -2
  161. package/lib/generated/services/elemental-activations.js +1 -1
  162. package/lib/generated/services/elemental-appliances-software.js +2 -2
  163. package/lib/generated/services/elemental-inference.js +4 -4
  164. package/lib/generated/services/elemental-support-cases.js +3 -3
  165. package/lib/generated/services/elemental-support-content.js +1 -1
  166. package/lib/generated/services/emr-containers.js +4 -4
  167. package/lib/generated/services/emr-serverless.js +4 -4
  168. package/lib/generated/services/entityresolution.js +4 -4
  169. package/lib/generated/services/es.js +4 -4
  170. package/lib/generated/services/events.js +4 -4
  171. package/lib/generated/services/eventsbilltoaws.js +3 -3
  172. package/lib/generated/services/evidently.js +3 -3
  173. package/lib/generated/services/evs.js +4 -4
  174. package/lib/generated/services/execute-api.js +4 -4
  175. package/lib/generated/services/finops-agent.js +1 -1
  176. package/lib/generated/services/finspace-api.js +3 -3
  177. package/lib/generated/services/finspace.js +4 -4
  178. package/lib/generated/services/firehose.js +4 -4
  179. package/lib/generated/services/fis.js +4 -4
  180. package/lib/generated/services/fms.js +4 -4
  181. package/lib/generated/services/forecast.js +4 -4
  182. package/lib/generated/services/frauddetector.js +4 -4
  183. package/lib/generated/services/freertos.js +3 -3
  184. package/lib/generated/services/freetier.js +2 -2
  185. package/lib/generated/services/fsx.js +4 -4
  186. package/lib/generated/services/gamelift.js +4 -4
  187. package/lib/generated/services/gameliftstreams.js +4 -4
  188. package/lib/generated/services/geo-maps.js +3 -3
  189. package/lib/generated/services/geo-places.js +3 -3
  190. package/lib/generated/services/geo-routes.js +3 -3
  191. package/lib/generated/services/geo.js +4 -4
  192. package/lib/generated/services/glacier.js +4 -4
  193. package/lib/generated/services/globalaccelerator.js +4 -4
  194. package/lib/generated/services/glue.js +4 -4
  195. package/lib/generated/services/grafana.js +4 -4
  196. package/lib/generated/services/greengrass.js +4 -4
  197. package/lib/generated/services/groundstation.js +4 -4
  198. package/lib/generated/services/groundtruthlabeling.js +1 -1
  199. package/lib/generated/services/guardduty.js +4 -4
  200. package/lib/generated/services/health-agent.js +4 -4
  201. package/lib/generated/services/health.js +4 -4
  202. package/lib/generated/services/healthlake.js +4 -4
  203. package/lib/generated/services/honeycode.js +2 -2
  204. package/lib/generated/services/iam.js +4 -4
  205. package/lib/generated/services/identity-sync.js +2 -2
  206. package/lib/generated/services/identitystore-auth.js +1 -1
  207. package/lib/generated/services/identitystore.d.ts +6 -0
  208. package/lib/generated/services/identitystore.js +17 -5
  209. package/lib/generated/services/imagebuilder.js +4 -4
  210. package/lib/generated/services/importexport.js +2 -2
  211. package/lib/generated/services/inspector-scan.js +2 -2
  212. package/lib/generated/services/inspector.js +2 -2
  213. package/lib/generated/services/inspector2-telemetry.js +1 -1
  214. package/lib/generated/services/inspector2.js +4 -4
  215. package/lib/generated/services/interconnect.js +4 -4
  216. package/lib/generated/services/internetmonitor.js +4 -4
  217. package/lib/generated/services/invoicing.js +4 -4
  218. package/lib/generated/services/iot-device-tester.js +1 -1
  219. package/lib/generated/services/iot.js +4 -4
  220. package/lib/generated/services/iotanalytics.js +3 -3
  221. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  222. package/lib/generated/services/iotevents.js +3 -3
  223. package/lib/generated/services/iotfleethub.js +3 -3
  224. package/lib/generated/services/iotfleetwise.js +4 -4
  225. package/lib/generated/services/iotjobsdata.js +4 -4
  226. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  227. package/lib/generated/services/iotsitewise.js +4 -4
  228. package/lib/generated/services/iottwinmaker.js +4 -4
  229. package/lib/generated/services/iotwireless.js +4 -4
  230. package/lib/generated/services/iq-permission.js +2 -2
  231. package/lib/generated/services/iq.js +2 -2
  232. package/lib/generated/services/ivs.js +4 -4
  233. package/lib/generated/services/ivschat.js +4 -4
  234. package/lib/generated/services/kafka-cluster.js +3 -3
  235. package/lib/generated/services/kafka.js +4 -4
  236. package/lib/generated/services/kafkaconnect.js +4 -4
  237. package/lib/generated/services/kendra-ranking.js +4 -4
  238. package/lib/generated/services/kendra.js +4 -4
  239. package/lib/generated/services/kinesis.js +4 -4
  240. package/lib/generated/services/kinesisanalytics.js +4 -4
  241. package/lib/generated/services/kinesisvideo.js +4 -4
  242. package/lib/generated/services/kms.js +4 -4
  243. package/lib/generated/services/lakeformation.js +3 -3
  244. package/lib/generated/services/lambda.js +4 -4
  245. package/lib/generated/services/launchwizard.js +4 -4
  246. package/lib/generated/services/lex.js +4 -4
  247. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager.js +4 -4
  250. package/lib/generated/services/lightsail.js +4 -4
  251. package/lib/generated/services/logs.js +4 -4
  252. package/lib/generated/services/lookoutequipment.js +4 -4
  253. package/lib/generated/services/lookoutmetrics.js +3 -3
  254. package/lib/generated/services/lookoutvision.js +3 -3
  255. package/lib/generated/services/m2.js +4 -4
  256. package/lib/generated/services/machinelearning.js +3 -3
  257. package/lib/generated/services/macie2.js +4 -4
  258. package/lib/generated/services/managedblockchain-query.js +2 -2
  259. package/lib/generated/services/managedblockchain.js +4 -4
  260. package/lib/generated/services/mapcredits.js +2 -2
  261. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  262. package/lib/generated/services/mechanicalturk.js +2 -2
  263. package/lib/generated/services/mediaconnect.js +4 -4
  264. package/lib/generated/services/mediaconvert.js +4 -4
  265. package/lib/generated/services/mediaimport.js +1 -1
  266. package/lib/generated/services/medialive.js +4 -4
  267. package/lib/generated/services/mediapackage-vod.js +4 -4
  268. package/lib/generated/services/mediapackage.js +4 -4
  269. package/lib/generated/services/mediapackagev2.js +4 -4
  270. package/lib/generated/services/mediastore.js +4 -4
  271. package/lib/generated/services/mediatailor.js +4 -4
  272. package/lib/generated/services/medical-imaging.js +4 -4
  273. package/lib/generated/services/memorydb.js +4 -4
  274. package/lib/generated/services/mgh.js +4 -4
  275. package/lib/generated/services/mgn.js +4 -4
  276. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  277. package/lib/generated/services/migrationhub-strategy.js +2 -2
  278. package/lib/generated/services/mobileanalytics.js +1 -1
  279. package/lib/generated/services/mobiletargeting.js +4 -4
  280. package/lib/generated/services/monitron.js +3 -3
  281. package/lib/generated/services/mpa.js +4 -4
  282. package/lib/generated/services/mq.js +4 -4
  283. package/lib/generated/services/neptune-db.js +4 -4
  284. package/lib/generated/services/neptune-graph.js +4 -4
  285. package/lib/generated/services/network-firewall.js +4 -4
  286. package/lib/generated/services/network-security-director.js +1 -1
  287. package/lib/generated/services/network-security-manager.js +4 -4
  288. package/lib/generated/services/networkflowmonitor.js +4 -4
  289. package/lib/generated/services/networkmanager-chat.js +1 -1
  290. package/lib/generated/services/networkmanager.js +4 -4
  291. package/lib/generated/services/networkmonitor.js +4 -4
  292. package/lib/generated/services/nimble.js +3 -3
  293. package/lib/generated/services/notifications-contacts.js +4 -4
  294. package/lib/generated/services/notifications.js +4 -4
  295. package/lib/generated/services/nova-act.js +3 -3
  296. package/lib/generated/services/oam.js +4 -4
  297. package/lib/generated/services/observabilityadmin.js +4 -4
  298. package/lib/generated/services/odb.js +4 -4
  299. package/lib/generated/services/omics.js +4 -4
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.js +4 -4
  311. package/lib/generated/services/payments.js +3 -3
  312. package/lib/generated/services/pca-connector-ad.js +4 -4
  313. package/lib/generated/services/pca-connector-scep.js +4 -4
  314. package/lib/generated/services/pcs.js +4 -4
  315. package/lib/generated/services/personalize.js +4 -4
  316. package/lib/generated/services/pi.js +4 -4
  317. package/lib/generated/services/pipes.js +4 -4
  318. package/lib/generated/services/polly.js +3 -3
  319. package/lib/generated/services/pricing.js +2 -2
  320. package/lib/generated/services/pricingplanmanager.js +3 -3
  321. package/lib/generated/services/private-networks.js +3 -3
  322. package/lib/generated/services/profile.js +4 -4
  323. package/lib/generated/services/proton.js +4 -4
  324. package/lib/generated/services/purchase-orders.js +3 -3
  325. package/lib/generated/services/q.js +3 -3
  326. package/lib/generated/services/qapps.js +4 -4
  327. package/lib/generated/services/qbusiness.js +4 -4
  328. package/lib/generated/services/qdeveloper.js +3 -3
  329. package/lib/generated/services/qldb.js +3 -3
  330. package/lib/generated/services/quicksight.js +4 -4
  331. package/lib/generated/services/ram.js +4 -4
  332. package/lib/generated/services/rbin.js +4 -4
  333. package/lib/generated/services/rds-data.js +4 -4
  334. package/lib/generated/services/rds-db.js +2 -2
  335. package/lib/generated/services/rds.js +4 -4
  336. package/lib/generated/services/redshift-data.js +4 -4
  337. package/lib/generated/services/redshift-serverless.js +4 -4
  338. package/lib/generated/services/redshift.js +4 -4
  339. package/lib/generated/services/refactor-spaces.js +4 -4
  340. package/lib/generated/services/rekognition.js +4 -4
  341. package/lib/generated/services/repostspace.js +4 -4
  342. package/lib/generated/services/researchstudio.js +1 -1
  343. package/lib/generated/services/resiliencehub.js +4 -4
  344. package/lib/generated/services/resource-explorer-2.js +4 -4
  345. package/lib/generated/services/resource-explorer.js +1 -1
  346. package/lib/generated/services/resource-groups.js +4 -4
  347. package/lib/generated/services/rhelkb.js +1 -1
  348. package/lib/generated/services/robomaker.js +3 -3
  349. package/lib/generated/services/rolesanywhere.js +4 -4
  350. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  351. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  352. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  353. package/lib/generated/services/route53.js +4 -4
  354. package/lib/generated/services/route53domains.js +2 -2
  355. package/lib/generated/services/route53globalresolver.js +4 -4
  356. package/lib/generated/services/route53profiles.js +4 -4
  357. package/lib/generated/services/route53resolver.js +4 -4
  358. package/lib/generated/services/rtbfabric.js +4 -4
  359. package/lib/generated/services/rum.js +4 -4
  360. package/lib/generated/services/s3-object-lambda.js +3 -3
  361. package/lib/generated/services/s3-outposts.js +4 -4
  362. package/lib/generated/services/s3.js +4 -4
  363. package/lib/generated/services/s3express.js +3 -3
  364. package/lib/generated/services/s3files.js +4 -4
  365. package/lib/generated/services/s3tables.js +4 -4
  366. package/lib/generated/services/s3vectors.js +4 -4
  367. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  368. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  369. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  370. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  371. package/lib/generated/services/sagemaker.js +6 -5
  372. package/lib/generated/services/savingsplans.js +4 -4
  373. package/lib/generated/services/scheduler.js +4 -4
  374. package/lib/generated/services/schemas.js +4 -4
  375. package/lib/generated/services/scn.js +4 -4
  376. package/lib/generated/services/sdb.js +3 -3
  377. package/lib/generated/services/secretsmanager.js +4 -4
  378. package/lib/generated/services/security-ir.js +4 -4
  379. package/lib/generated/services/securityagent.d.ts +2 -0
  380. package/lib/generated/services/securityagent.js +9 -5
  381. package/lib/generated/services/securityhub.d.ts +4 -0
  382. package/lib/generated/services/securityhub.js +11 -5
  383. package/lib/generated/services/securitylake.js +4 -4
  384. package/lib/generated/services/serverlessrepo.js +4 -4
  385. package/lib/generated/services/servicecatalog.js +4 -4
  386. package/lib/generated/services/servicediscovery.js +4 -4
  387. package/lib/generated/services/serviceextract.js +1 -1
  388. package/lib/generated/services/servicequotas.js +4 -4
  389. package/lib/generated/services/ses.js +4 -4
  390. package/lib/generated/services/shield.js +4 -4
  391. package/lib/generated/services/signer.js +4 -4
  392. package/lib/generated/services/signin.js +4 -4
  393. package/lib/generated/services/simspaceweaver.js +3 -3
  394. package/lib/generated/services/sms-voice.js +4 -4
  395. package/lib/generated/services/sms.js +1 -1
  396. package/lib/generated/services/snow-device-management.js +4 -4
  397. package/lib/generated/services/snowball.js +2 -2
  398. package/lib/generated/services/sns.js +4 -4
  399. package/lib/generated/services/social-messaging.js +4 -4
  400. package/lib/generated/services/sqlworkbench.js +3 -3
  401. package/lib/generated/services/sqs.js +4 -4
  402. package/lib/generated/services/ssm-contacts.js +4 -4
  403. package/lib/generated/services/ssm-guiconnect.js +2 -2
  404. package/lib/generated/services/ssm-incidents.js +4 -4
  405. package/lib/generated/services/ssm-quicksetup.js +4 -4
  406. package/lib/generated/services/ssm-sap.js +4 -4
  407. package/lib/generated/services/ssm.js +4 -4
  408. package/lib/generated/services/ssmmessages.js +2 -2
  409. package/lib/generated/services/sso-directory.js +1 -1
  410. package/lib/generated/services/sso-oauth.js +3 -3
  411. package/lib/generated/services/sso.js +4 -4
  412. package/lib/generated/services/startups.js +1 -1
  413. package/lib/generated/services/states.js +4 -4
  414. package/lib/generated/services/storagegateway.js +4 -4
  415. package/lib/generated/services/sts.js +4 -4
  416. package/lib/generated/services/support-console.js +1 -1
  417. package/lib/generated/services/support.js +2 -2
  418. package/lib/generated/services/supportapp.js +2 -2
  419. package/lib/generated/services/supportauthz.js +4 -4
  420. package/lib/generated/services/supportplans.js +1 -1
  421. package/lib/generated/services/sustainability.js +2 -2
  422. package/lib/generated/services/swf.js +4 -4
  423. package/lib/generated/services/synthetics.js +4 -4
  424. package/lib/generated/services/tag.js +2 -2
  425. package/lib/generated/services/tax.js +2 -2
  426. package/lib/generated/services/textract.js +4 -4
  427. package/lib/generated/services/thinclient.js +4 -4
  428. package/lib/generated/services/timestream-influxdb.js +4 -4
  429. package/lib/generated/services/timestream.js +4 -4
  430. package/lib/generated/services/tiros.js +1 -1
  431. package/lib/generated/services/tnb.js +4 -4
  432. package/lib/generated/services/transcribe.js +4 -4
  433. package/lib/generated/services/transfer.js +4 -4
  434. package/lib/generated/services/transform-custom.js +3 -3
  435. package/lib/generated/services/transform.js +3 -3
  436. package/lib/generated/services/translate.js +4 -4
  437. package/lib/generated/services/trustedadvisor.js +3 -3
  438. package/lib/generated/services/ts.js +3 -3
  439. package/lib/generated/services/user-subscriptions.js +2 -2
  440. package/lib/generated/services/uxc.js +2 -2
  441. package/lib/generated/services/vendor-insights.js +3 -3
  442. package/lib/generated/services/verified-access.js +1 -1
  443. package/lib/generated/services/verifiedpermissions.js +4 -4
  444. package/lib/generated/services/voiceid.js +4 -4
  445. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  446. package/lib/generated/services/vpc-lattice.js +4 -4
  447. package/lib/generated/services/vpce.js +2 -2
  448. package/lib/generated/services/waf-regional.js +4 -4
  449. package/lib/generated/services/waf.js +4 -4
  450. package/lib/generated/services/wafv2.js +4 -4
  451. package/lib/generated/services/wam.js +1 -1
  452. package/lib/generated/services/wellarchitected.js +4 -4
  453. package/lib/generated/services/wickr.js +4 -4
  454. package/lib/generated/services/wisdom.js +4 -4
  455. package/lib/generated/services/workdocs.js +3 -3
  456. package/lib/generated/services/worklink.js +3 -3
  457. package/lib/generated/services/workmail.js +4 -4
  458. package/lib/generated/services/workmailmessageflow.js +3 -3
  459. package/lib/generated/services/workspaces-instances.js +4 -4
  460. package/lib/generated/services/workspaces-web.js +4 -4
  461. package/lib/generated/services/workspaces.js +4 -4
  462. package/lib/generated/services/xray.js +4 -4
  463. package/package.json +1 -1
@@ -16,7 +16,7 @@ class ECSActions {
16
16
  }
17
17
  exports.ECSActions = ECSActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ECSActions[_a] = { fqn: "@cdk_utils/iam.ecs.ECSActions", version: "1.33.0" };
19
+ ECSActions[_a] = { fqn: "@cdk_utils/iam.ecs.ECSActions", version: "1.34.0" };
20
20
  /** The IAM service prefix. */
21
21
  ECSActions.SERVICE_PREFIX = "ecs";
22
22
  /** [PermissionManagement] ecs:AllowVendedLogDeliveryForResource */
@@ -677,7 +677,7 @@ class ECSResources {
677
677
  }
678
678
  exports.ECSResources = ECSResources;
679
679
  _b = JSII_RTTI_SYMBOL_1;
680
- ECSResources[_b] = { fqn: "@cdk_utils/iam.ecs.ECSResources", version: "1.33.0" };
680
+ ECSResources[_b] = { fqn: "@cdk_utils/iam.ecs.ECSResources", version: "1.34.0" };
681
681
  /**
682
682
  * API operation to required IAM actions mapping for ecs.
683
683
  */
@@ -685,7 +685,7 @@ class ECSOperations {
685
685
  }
686
686
  exports.ECSOperations = ECSOperations;
687
687
  _c = JSII_RTTI_SYMBOL_1;
688
- ECSOperations[_c] = { fqn: "@cdk_utils/iam.ecs.ECSOperations", version: "1.33.0" };
688
+ ECSOperations[_c] = { fqn: "@cdk_utils/iam.ecs.ECSOperations", version: "1.34.0" };
689
689
  /** IAM actions required for the ContinueServiceDeployment API call. */
690
690
  ECSOperations.ContinueServiceDeployment = [
691
691
  "ecs:ContinueServiceDeployment",
@@ -1148,7 +1148,7 @@ class ECSConditions {
1148
1148
  }
1149
1149
  exports.ECSConditions = ECSConditions;
1150
1150
  _d = JSII_RTTI_SYMBOL_1;
1151
- ECSConditions[_d] = { fqn: "@cdk_utils/iam.ecs.ECSConditions", version: "1.33.0" };
1151
+ ECSConditions[_d] = { fqn: "@cdk_utils/iam.ecs.ECSConditions", version: "1.34.0" };
1152
1152
  /** Condition keys applicable to the CreateCapacityProvider action. */
1153
1153
  ECSConditions.CreateCapacityProviderConditionKeys = [
1154
1154
  "aws:RequestTag/${TagKey}",
@@ -1357,6 +1357,8 @@ ECSConditions.StartTaskConditionKeys = [
1357
1357
  "ecs:container-instances",
1358
1358
  "ecs:enable-ebs-volumes",
1359
1359
  "ecs:enable-execute-command",
1360
+ "ecs:task-cpu",
1361
+ "ecs:task-memory",
1360
1362
  ];
1361
1363
  /** Condition keys applicable to the StartTelemetrySession action. */
1362
1364
  ECSConditions.StartTelemetrySessionConditionKeys = [
@@ -1512,4 +1514,4 @@ ECSConditions.TASK_CPU = "ecs:task-cpu";
1512
1514
  ECSConditions.TASK_DEFINITION = "ecs:task-definition";
1513
1515
  /** Condition key: ecs:task-memory (Numeric) */
1514
1516
  ECSConditions.TASK_MEMORY = "ecs:task-memory";
1515
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9lY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBbVJDOzs7QUFsUkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsbUVBQW1FO0FBQ25ELDRDQUFpQyxHQUNoRCx1Q0FBdUMsQ0FBQztBQUN6Qyw0Q0FBNEM7QUFDNUIsb0NBQXlCLEdBQUcsK0JBQStCLENBQUM7QUFDNUUseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLGdDQUFnQztBQUNoQix3QkFBYSxHQUFHLG1CQUFtQixDQUFDO0FBQ3BELCtCQUErQjtBQUNmLHVCQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDbEQsOENBQThDO0FBQzlCLHNDQUEyQixHQUMxQyxpQ0FBaUMsQ0FBQztBQUNuQyxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCx1Q0FBdUM7QUFDdkIsK0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsbUNBQW1DO0FBQ25CLDJCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELHlDQUF5QztBQUN6QixpQ0FBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCwrQkFBK0I7QUFDZix1QkFBWSxHQUFHLGtCQUFrQixDQUFDO0FBQ2xELDZDQUE2QztBQUM3QixxQ0FBMEIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM5RSw4Q0FBOEM7QUFDOUIs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QXlEO0FBQ3pDLG9DQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHlEQUF5RDtBQUN6QyxvQ0FBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSxxREFBcUQ7QUFDckMsZ0NBQWtCLEdBQUcsd0JBQXdCLENBQUM7QUFDOUQsb0VBQW9FO0FBQ3BELCtDQUFpQyxHQUNoRCx1Q0FBdUMsQ0FBQztBQUN6Qyx1Q0FBdUM7QUFDdkIscUJBQU8sR0FBRyxhQUFhLENBQUM7QUFDeEMsbUVBQW1FO0FBQ25ELGdEQUFrQyxHQUNqRCx3Q0FBd0MsQ0FBQztBQUMxQyx5Q0FBeUM7QUFDekIsdUJBQVMsR0FBRyxlQUFlLENBQUM7QUFDNUMsNkNBQTZDO0FBQzdCLHdCQUFVLEdBQUcsZ0JBQWdCLENBQUM7QUFDOUMsaURBQWlEO0FBQ2pDLDRCQUFjLEdBQUcsb0JBQW9CLENBQUM7QUFDdEQsdUNBQXVDO0FBQ3ZCLHFCQUFPLEdBQUcsYUFBYSxDQUFDO0FBQ3hDLGdEQUFnRDtBQUNoQyxvQkFBTSxHQUFHLFlBQVksQ0FBQztBQUN0QyxvQ0FBb0M7QUFDcEIsa0JBQUksR0FBRyxVQUFVLENBQUM7QUFDbEMsNENBQTRDO0FBQzVCLHNCQUFRLEdBQUcsY0FBYyxDQUFDO0FBQzFDLCtDQUErQztBQUMvQiw2QkFBZSxHQUFHLHFCQUFxQixDQUFDO0FBQ3hELCtDQUErQztBQUMvQix5QkFBVyxHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvZWNzLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBlY3Mgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVDU0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJlY3NcIjtcblxuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBlY3M6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgPVxuXHRcdFwiZWNzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q29udGludWVTZXJ2aWNlRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29udGludWVTZXJ2aWNlRGVwbG95bWVudCA9IFwiZWNzOkNvbnRpbnVlU2VydmljZURlcGxveW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgPSBcImVjczpDcmVhdGVDYXBhY2l0eVByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDcmVhdGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyID0gXCJlY3M6Q3JlYXRlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q3JlYXRlRGFlbW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYWVtb24gPSBcImVjczpDcmVhdGVEYWVtb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlID1cblx0XHRcImVjczpDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2UgPSBcImVjczpDcmVhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDcmVhdGVUYXNrU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXNrU2V0ID0gXCJlY3M6Q3JlYXRlVGFza1NldFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlQWNjb3VudFNldHRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnRTZXR0aW5nID0gXCJlY3M6RGVsZXRlQWNjb3VudFNldHRpbmdcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZUF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF0dHJpYnV0ZXMgPSBcImVjczpEZWxldGVBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyID0gXCJlY3M6RGVsZXRlQ2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3RlciA9IFwiZWNzOkRlbGV0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZURhZW1vbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGFlbW9uID0gXCJlY3M6RGVsZXRlRGFlbW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGFlbW9uVGFza0RlZmluaXRpb24gPSBcImVjczpEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgPVxuXHRcdFwiZWNzOkRlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZSA9IFwiZWNzOkRlbGV0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZVRhc2tEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza0RlZmluaXRpb25zID0gXCJlY3M6RGVsZXRlVGFza0RlZmluaXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVUYXNrU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXNrU2V0ID0gXCJlY3M6RGVsZXRlVGFza1NldFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UgPVxuXHRcdFwiZWNzOkRlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVyZWdpc3RlclRhc2tEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFza0RlZmluaXRpb24gPSBcImVjczpEZXJlZ2lzdGVyVGFza0RlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVycyA9IFwiZWNzOkRlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVDbHVzdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVycyA9IFwiZWNzOkRlc2NyaWJlQ2x1c3RlcnNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzID0gXCJlY3M6RGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVEYWVtb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uID0gXCJlY3M6RGVzY3JpYmVEYWVtb25cIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVEYWVtb25EZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb25EZXBsb3ltZW50cyA9IFwiZWNzOkRlc2NyaWJlRGFlbW9uRGVwbG95bWVudHNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVEYWVtb25SZXZpc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uUmV2aXNpb25zID0gXCJlY3M6RGVzY3JpYmVEYWVtb25SZXZpc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvbiA9XG5cdFx0XCJlY3M6RGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2UgPVxuXHRcdFwiZWNzOkRlc2NyaWJlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlU2VydmljZURlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50cyA9IFwiZWNzOkRlc2NyaWJlU2VydmljZURlcGxveW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlU2VydmljZVJldmlzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zID0gXCJlY3M6RGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlU2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZXMgPSBcImVjczpEZXNjcmliZVNlcnZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza0RlZmluaXRpb24gPSBcImVjczpEZXNjcmliZVRhc2tEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlVGFza1NldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza1NldHMgPSBcImVjczpEZXNjcmliZVRhc2tTZXRzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza3MgPSBcImVjczpEZXNjcmliZVRhc2tzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEaXNjb3ZlclBvbGxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY292ZXJQb2xsRW5kcG9pbnQgPSBcImVjczpEaXNjb3ZlclBvbGxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RXhlY3V0ZUNvbW1hbmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4ZWN1dGVDb21tYW5kID0gXCJlY3M6RXhlY3V0ZUNvbW1hbmRcIjtcblx0LyoqIFtSZWFkXSBlY3M6R2V0VGFza1Byb3RlY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRhc2tQcm90ZWN0aW9uID0gXCJlY3M6R2V0VGFza1Byb3RlY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBlY3M6TGlzdEFjY291bnRTZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRTZXR0aW5ncyA9IFwiZWNzOkxpc3RBY2NvdW50U2V0dGluZ3NcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdEF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdHRyaWJ1dGVzID0gXCJlY3M6TGlzdEF0dHJpYnV0ZXNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdENsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlcnMgPSBcImVjczpMaXN0Q2x1c3RlcnNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdENvbnRhaW5lckluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnRhaW5lckluc3RhbmNlcyA9IFwiZWNzOkxpc3RDb250YWluZXJJbnN0YW5jZXNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdERhZW1vbkRlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uRGVwbG95bWVudHMgPSBcImVjczpMaXN0RGFlbW9uRGVwbG95bWVudHNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdERhZW1vblRhc2tEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vblRhc2tEZWZpbml0aW9ucyA9IFwiZWNzOkxpc3REYWVtb25UYXNrRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdERhZW1vbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25zID0gXCJlY3M6TGlzdERhZW1vbnNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFNlcnZpY2VEZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VEZXBsb3ltZW50cyA9IFwiZWNzOkxpc3RTZXJ2aWNlRGVwbG95bWVudHNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFNlcnZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXMgPSBcImVjczpMaXN0U2VydmljZXNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFNlcnZpY2VzQnlOYW1lc3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlID0gXCJlY3M6TGlzdFNlcnZpY2VzQnlOYW1lc3BhY2VcIjtcblx0LyoqIFtSZWFkXSBlY3M6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiZWNzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzID0gXCJlY3M6TGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFRhc2tEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tEZWZpbml0aW9ucyA9IFwiZWNzOkxpc3RUYXNrRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza3MgPSBcImVjczpMaXN0VGFza3NcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlBvbGwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvbGwgPSBcImVjczpQb2xsXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQdXRBY2NvdW50U2V0dGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmcgPSBcImVjczpQdXRBY2NvdW50U2V0dGluZ1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6UHV0QWNjb3VudFNldHRpbmdEZWZhdWx0ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQgPSBcImVjczpQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlB1dEF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEF0dHJpYnV0ZXMgPSBcImVjczpQdXRBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVycyA9XG5cdFx0XCJlY3M6UHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQdXRTeXN0ZW1Mb2dFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFN5c3RlbUxvZ0V2ZW50cyA9IFwiZWNzOlB1dFN5c3RlbUxvZ0V2ZW50c1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6UmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSA9IFwiZWNzOlJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb24gPVxuXHRcdFwiZWNzOlJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFza0RlZmluaXRpb24gPSBcImVjczpSZWdpc3RlclRhc2tEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpSdW5UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBSdW5UYXNrID0gXCJlY3M6UnVuVGFza1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3RhcnRUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRhc2sgPSBcImVjczpTdGFydFRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN0YXJ0VGVsZW1ldHJ5U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZWxlbWV0cnlTZXNzaW9uID0gXCJlY3M6U3RhcnRUZWxlbWV0cnlTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdG9wU2VydmljZURlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTZXJ2aWNlRGVwbG95bWVudCA9IFwiZWNzOlN0b3BTZXJ2aWNlRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3RvcFRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUYXNrID0gXCJlY3M6U3RvcFRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXMgPVxuXHRcdFwiZWNzOlN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXNcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZSA9IFwiZWNzOlN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdWJtaXRUYXNrU3RhdGVDaGFuZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFRhc2tTdGF0ZUNoYW5nZSA9IFwiZWNzOlN1Ym1pdFRhc2tTdGF0ZUNoYW5nZVwiO1xuXHQvKiogW1RhZ2dpbmddIGVjczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImVjczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGVjczpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJlY3M6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlQ2FwYWNpdHlQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciA9IFwiZWNzOlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXIgPSBcImVjczpVcGRhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVDbHVzdGVyU2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTZXR0aW5ncyA9IFwiZWNzOlVwZGF0ZUNsdXN0ZXJTZXR0aW5nc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlQ29udGFpbmVyQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckFnZW50ID0gXCJlY3M6VXBkYXRlQ29udGFpbmVyQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZSA9XG5cdFx0XCJlY3M6VXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGVcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZURhZW1vbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGFlbW9uID0gXCJlY3M6VXBkYXRlRGFlbW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSA9XG5cdFx0XCJlY3M6VXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlID0gXCJlY3M6VXBkYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXQgPVxuXHRcdFwiZWNzOlVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlVGFza1Byb3RlY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tQcm90ZWN0aW9uID0gXCJlY3M6VXBkYXRlVGFza1Byb3RlY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZVRhc2tTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tTZXQgPSBcImVjczpVcGRhdGVUYXNrU2V0XCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVDbHVzdGVycyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVEYWVtb24sXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZURhZW1vbkRlcGxveW1lbnRzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVEYWVtb25SZXZpc2lvbnMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZURhZW1vblRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50cyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlU2VydmljZVJldmlzaW9ucyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlU2VydmljZXMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZVRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVUYXNrU2V0cyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlVGFza3MsXG5cdFx0RUNTQWN0aW9ucy5hY3Rpb25HZXRUYXNrUHJvdGVjdGlvbixcblx0XHRFQ1NBY3Rpb25zLkxpc3RBY2NvdW50U2V0dGluZ3MsXG5cdFx0RUNTQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVDU0FjdGlvbnMuQ29udGludWVTZXJ2aWNlRGVwbG95bWVudCxcblx0XHRFQ1NBY3Rpb25zLkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0RUNTQWN0aW9ucy5DcmVhdGVDbHVzdGVyLFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlRGFlbW9uLFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlU2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLkNyZWF0ZVRhc2tTZXQsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVBY2NvdW50U2V0dGluZyxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZUF0dHJpYnV0ZXMsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVDYXBhY2l0eVByb3ZpZGVyLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlQ2x1c3Rlcixcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZURhZW1vbixcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlU2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZVRhc2tEZWZpbml0aW9ucyxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZVRhc2tTZXQsXG5cdFx0RUNTQWN0aW9ucy5EZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UsXG5cdFx0RUNTQWN0aW9ucy5EZXJlZ2lzdGVyVGFza0RlZmluaXRpb24sXG5cdFx0RUNTQWN0aW9ucy5EaXNjb3ZlclBvbGxFbmRwb2ludCxcblx0XHRFQ1NBY3Rpb25zLkV4ZWN1dGVDb21tYW5kLFxuXHRcdEVDU0FjdGlvbnMuUG9sbCxcblx0XHRFQ1NBY3Rpb25zLlB1dEFjY291bnRTZXR0aW5nLFxuXHRcdEVDU0FjdGlvbnMuUHV0QWNjb3VudFNldHRpbmdEZWZhdWx0LFxuXHRcdEVDU0FjdGlvbnMuUHV0QXR0cmlidXRlcyxcblx0XHRFQ1NBY3Rpb25zLlB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVycyxcblx0XHRFQ1NBY3Rpb25zLlB1dFN5c3RlbUxvZ0V2ZW50cyxcblx0XHRFQ1NBY3Rpb25zLlJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UsXG5cdFx0RUNTQWN0aW9ucy5SZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbixcblx0XHRFQ1NBY3Rpb25zLlJ1blRhc2ssXG5cdFx0RUNTQWN0aW9ucy5TdGFydFRhc2ssXG5cdFx0RUNTQWN0aW9ucy5TdGFydFRlbGVtZXRyeVNlc3Npb24sXG5cdFx0RUNTQWN0aW9ucy5TdG9wU2VydmljZURlcGxveW1lbnQsXG5cdFx0RUNTQWN0aW9ucy5TdG9wVGFzayxcblx0XHRFQ1NBY3Rpb25zLlN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXMsXG5cdFx0RUNTQWN0aW9ucy5TdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZSxcblx0XHRFQ1NBY3Rpb25zLlN1Ym1pdFRhc2tTdGF0ZUNoYW5nZSxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVDbHVzdGVyLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlQ2x1c3RlclNldHRpbmdzLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlQ29udGFpbmVyQWdlbnQsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZSxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZURhZW1vbixcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXQsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVUYXNrUHJvdGVjdGlvbixcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZVRhc2tTZXQsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVDU0FjdGlvbnMuTGlzdEF0dHJpYnV0ZXMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0Q2x1c3RlcnMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0Q29udGFpbmVySW5zdGFuY2VzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdERhZW1vbkRlcGxveW1lbnRzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdERhZW1vblRhc2tEZWZpbml0aW9ucyxcblx0XHRFQ1NBY3Rpb25zLkxpc3REYWVtb25zLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFNlcnZpY2VEZXBsb3ltZW50cyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RTZXJ2aWNlcyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0VGFza0RlZmluaXRpb25zLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFRhc2tzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFQ1NBY3Rpb25zLkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RUNTQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRFQ1NBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjYXBhY2l0eS1wcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ2FwYWNpdHlQcm92aWRlckFyblByb3BzIHtcblx0LyoqIFRoZSBDYXBhY2l0eVByb3ZpZGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FwYWNpdHlQcm92aWRlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjYXBhY2l0eS1wcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ2FwYWNpdHlQcm92aWRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FwYWNpdHlQcm92aWRlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXBhY2l0eVByb3ZpZGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb250YWluZXItaW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0NvbnRhaW5lckluc3RhbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnRhaW5lckluc3RhbmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbnRhaW5lckluc3RhbmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb250YWluZXItaW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0NvbnRhaW5lckluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29udGFpbmVySW5zdGFuY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnRhaW5lckluc3RhbmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhZW1vbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYWVtb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYWVtb24tZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uRGVwbG95bWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uRGVwbG95bWVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25EZXBsb3ltZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYWVtb24tZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uRGVwbG95bWVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uRGVwbG95bWVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYWVtb24tcmV2aXNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vblJldmlzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25SZXZpc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25SZXZpc2lvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGFlbW9uLXJldmlzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25SZXZpc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uUmV2aXNpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhZW1vblJldmlzaW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhZW1vbi10YXNrLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vblRhc2tEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIERhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhZW1vbi10YXNrLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vblRhc2tEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTU2VydmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZS1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlRGVwbG95bWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlRGVwbG95bWVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlRGVwbG95bWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmljZS1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlRGVwbG95bWVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZURlcGxveW1lbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZS1yZXZpc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTU2VydmljZVJldmlzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VSZXZpc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlUmV2aXNpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UtcmV2aXNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1NlcnZpY2VSZXZpc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlUmV2aXNpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VSZXZpc2lvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NUYXNrQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTVGFza0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGFzay1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NUYXNrRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBUYXNrRGVmaW5pdGlvbkZhbWlseU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0YXNrLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1Rhc2tEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrRGVmaW5pdGlvbkZhbWlseU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrRGVmaW5pdGlvbkZhbWlseU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGFzay1zZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1Rhc2tTZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza1NldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrU2V0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0YXNrLXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTVGFza1NldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrU2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrU2V0SWQ6IHN0cmluZztcbn1cblxuY29uc3QgQ2FwYWNpdHlQcm92aWRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXBhY2l0eS1wcm92aWRlclxcLyg/PGNhcGFjaXR5UHJvdmlkZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBDbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXJcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29udGFpbmVySW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29udGFpbmVyLWluc3RhbmNlXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxjb250YWluZXJJbnN0YW5jZUlkPlteOi8/XSspJC87XG5jb25zdCBEYWVtb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGFlbW9uXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxkYWVtb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBEYWVtb25EZXBsb3ltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhZW1vbi1kZXBsb3ltZW50XFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxkYWVtb25OYW1lPlteOi8/XSspXFwvKD88ZGFlbW9uRGVwbG95bWVudElkPlteOi8/XSspJC87XG5jb25zdCBEYWVtb25SZXZpc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYWVtb24tcmV2aXNpb25cXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PGRhZW1vbk5hbWU+W146Lz9dKylcXC8oPzxkYWVtb25SZXZpc2lvbklkPlteOi8/XSspJC87XG5jb25zdCBEYWVtb25UYXNrRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYWVtb24tdGFzay1kZWZpbml0aW9uXFwvKD88ZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lPlteOi8/XSspOig/PGRhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZVxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88c2VydmljZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VEZXBsb3ltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2UtZGVwbG95bWVudFxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88c2VydmljZU5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlRGVwbG95bWVudElkPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlUmV2aXNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZS1yZXZpc2lvblxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88c2VydmljZU5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlUmV2aXNpb25JZD5bXjovP10rKSQvO1xuY29uc3QgVGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0YXNrXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzx0YXNrSWQ+W146Lz9dKykkLztcbmNvbnN0IFRhc2tEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhc2stZGVmaW5pdGlvblxcLyg/PHRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZT5bXjovP10rKTooPzx0YXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyPlteOi8/XSspJC87XG5jb25zdCBUYXNrU2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhc2stc2V0XFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlTmFtZT5bXjovP10rKVxcLyg/PHRhc2tTZXRJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGVjcyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFQ1NSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNhcGFjaXR5LXByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNhcGFjaXR5UHJvdmlkZXIocHJvcHM6IEVDU0NhcGFjaXR5UHJvdmlkZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhcGFjaXR5LXByb3ZpZGVyLyR7cHJvcHMuY2FwYWNpdHlQcm92aWRlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNhcGFjaXR5LXByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDYXBhY2l0eVByb3ZpZGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENhcGFjaXR5UHJvdmlkZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2FwYWNpdHktcHJvdmlkZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2FwYWNpdHlQcm92aWRlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTQ2FwYWNpdHlQcm92aWRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2FwYWNpdHlQcm92aWRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjYXBhY2l0eS1wcm92aWRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXBhY2l0eVByb3ZpZGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jYXBhY2l0eVByb3ZpZGVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXIocHJvcHM6IEVDU0NsdXN0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXIvJHtwcm9wcy5jbHVzdGVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2x1c3RlckFybihhcm46IHN0cmluZyk6IEVDU0NsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3RlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb250YWluZXItaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29udGFpbmVySW5zdGFuY2UocHJvcHM6IEVDU0NvbnRhaW5lckluc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb250YWluZXItaW5zdGFuY2UvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5jb250YWluZXJJbnN0YW5jZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb250YWluZXItaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbnRhaW5lckluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnRhaW5lckluc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbnRhaW5lci1pbnN0YW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb250YWluZXJJbnN0YW5jZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTQ29udGFpbmVySW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbnRhaW5lckluc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbnRhaW5lci1pbnN0YW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdGNvbnRhaW5lckluc3RhbmNlSWQ6IG1hdGNoLmdyb3VwcyEuY29udGFpbmVySW5zdGFuY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYWVtb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uKHByb3BzOiBFQ1NEYWVtb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhZW1vbi8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLmRhZW1vbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhZW1vbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGFlbW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhZW1vbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYWVtb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGFlbW9uQXJuKGFybjogc3RyaW5nKTogRUNTRGFlbW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYWVtb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGFlbW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0ZGFlbW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5kYWVtb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhZW1vbi1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vbkRlcGxveW1lbnQocHJvcHM6IEVDU0RhZW1vbkRlcGxveW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhZW1vbi1kZXBsb3ltZW50LyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuZGFlbW9uTmFtZX0vJHtwcm9wcy5kYWVtb25EZXBsb3ltZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhZW1vbi1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYWVtb25EZXBsb3ltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhZW1vbkRlcGxveW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGFlbW9uLWRlcGxveW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGFlbW9uRGVwbG95bWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTRGFlbW9uRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGFlbW9uRGVwbG95bWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYWVtb24tZGVwbG95bWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdGRhZW1vbk5hbWU6IG1hdGNoLmdyb3VwcyEuZGFlbW9uTmFtZSxcblx0XHRcdGRhZW1vbkRlcGxveW1lbnRJZDogbWF0Y2guZ3JvdXBzIS5kYWVtb25EZXBsb3ltZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGFlbW9uLXJldmlzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vblJldmlzaW9uKHByb3BzOiBFQ1NEYWVtb25SZXZpc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGFlbW9uLXJldmlzaW9uLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuZGFlbW9uTmFtZX0vJHtwcm9wcy5kYWVtb25SZXZpc2lvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYWVtb24tcmV2aXNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhZW1vblJldmlzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhZW1vblJldmlzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhZW1vbi1yZXZpc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYWVtb25SZXZpc2lvbkFybihhcm46IHN0cmluZyk6IEVDU0RhZW1vblJldmlzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYWVtb25SZXZpc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYWVtb24tcmV2aXNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRkYWVtb25OYW1lOiBtYXRjaC5ncm91cHMhLmRhZW1vbk5hbWUsXG5cdFx0XHRkYWVtb25SZXZpc2lvbklkOiBtYXRjaC5ncm91cHMhLmRhZW1vblJldmlzaW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYWVtb25UYXNrRGVmaW5pdGlvbihwcm9wczogRUNTRGFlbW9uVGFza0RlZmluaXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhZW1vbi10YXNrLWRlZmluaXRpb24vJHtwcm9wcy5kYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWV9OiR7cHJvcHMuZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGFlbW9uVGFza0RlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGFlbW9uVGFza0RlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYWVtb25UYXNrRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTRGFlbW9uVGFza0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhZW1vblRhc2tEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhZW1vbi10YXNrLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmRhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZSxcblx0XHRcdGRhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2UocHJvcHM6IEVDU1NlcnZpY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZpY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZUFybihhcm46IHN0cmluZyk6IEVDU1NlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdHNlcnZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlRGVwbG95bWVudChwcm9wczogRUNTU2VydmljZURlcGxveW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UtZGVwbG95bWVudC8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLnNlcnZpY2VOYW1lfS8ke3Byb3BzLnNlcnZpY2VEZXBsb3ltZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZURlcGxveW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZURlcGxveW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZS1kZXBsb3ltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VEZXBsb3ltZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFQ1NTZXJ2aWNlRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZURlcGxveW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZS1kZXBsb3ltZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0c2VydmljZU5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmljZU5hbWUsXG5cdFx0XHRzZXJ2aWNlRGVwbG95bWVudElkOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VEZXBsb3ltZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmljZS1yZXZpc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlUmV2aXNpb24ocHJvcHM6IEVDU1NlcnZpY2VSZXZpc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZS1yZXZpc2lvbi8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLnNlcnZpY2VOYW1lfS8ke3Byb3BzLnNlcnZpY2VSZXZpc2lvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2aWNlLXJldmlzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlUmV2aXNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZVJldmlzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZpY2UtcmV2aXNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZVJldmlzaW9uQXJuKGFybjogc3RyaW5nKTogRUNTU2VydmljZVJldmlzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlUmV2aXNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZS1yZXZpc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdHNlcnZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VOYW1lLFxuXHRcdFx0c2VydmljZVJldmlzaW9uSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZVJldmlzaW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0YXNrKHByb3BzOiBFQ1NUYXNrQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXNrLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMudGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUYXNrQXJuKGFybjogc3RyaW5nKTogRUNTVGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGFza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0dGFza0lkOiBtYXRjaC5ncm91cHMhLnRhc2tJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0YXNrLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFza0RlZmluaXRpb24ocHJvcHM6IEVDU1Rhc2tEZWZpbml0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXNrLWRlZmluaXRpb24vJHtwcm9wcy50YXNrRGVmaW5pdGlvbkZhbWlseU5hbWV9OiR7cHJvcHMudGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGFzay1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXNrRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUYXNrRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0YXNrLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFza0RlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBFQ1NUYXNrRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGFza0RlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFzay1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZTogbWF0Y2guZ3JvdXBzIS50YXNrRGVmaW5pdGlvbkZhbWlseU5hbWUsXG5cdFx0XHR0YXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyOiBtYXRjaC5ncm91cHMhLnRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGFzay1zZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFza1NldChwcm9wczogRUNTVGFza1NldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFzay1zZXQvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlTmFtZX0vJHtwcm9wcy50YXNrU2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRhc2stc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXNrU2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhc2tTZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGFzay1zZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFza1NldEFybihhcm46IHN0cmluZyk6IEVDU1Rhc2tTZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhc2tTZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFzay1zZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRzZXJ2aWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlTmFtZSxcblx0XHRcdHRhc2tTZXRJZDogbWF0Y2guZ3JvdXBzIS50YXNrU2V0SWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgZWNzLlxuICovXG5leHBvcnQgY2xhc3MgRUNTT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbnRpbnVlU2VydmljZURlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb250aW51ZVNlcnZpY2VEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDb250aW51ZVNlcnZpY2VEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDcmVhdGVDYXBhY2l0eVByb3ZpZGVyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlQ2x1c3RlclwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhZW1vbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhZW1vbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlRGFlbW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNyZWF0ZUNsdXN0ZXJcIixcblx0XHRcImVjczpDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb25cIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlU2VydmljZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGFza1NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhc2tTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNyZWF0ZVRhc2tTZXRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjY291bnRTZXR0aW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWNjb3VudFNldHRpbmc6IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZUFjY291bnRTZXR0aW5nXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXR0cmlidXRlczogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlQXR0cmlidXRlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXJcIixcblx0XHRcImVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhZW1vbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhZW1vbjogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlRGFlbW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZTogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFza0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZWxldGVUYXNrRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFza1NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhc2tTZXQ6IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZVRhc2tTZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVyZWdpc3RlclRhc2tEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3RlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcImVjczpEZXNjcmliZUNsdXN0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhZW1vbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uOiBzdHJpbmdbXSA9IFtcImVjczpEZXNjcmliZURhZW1vblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYWVtb25EZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlRGFlbW9uRGVwbG95bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYWVtb25SZXZpc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vblJldmlzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVEYWVtb25SZXZpc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZVNlcnZpY2VSZXZpc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZXM6IHN0cmluZ1tdID0gW1wiZWNzOkRlc2NyaWJlU2VydmljZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFza0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZVRhc2tEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFza1NldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tTZXRzOiBzdHJpbmdbXSA9IFtcImVjczpEZXNjcmliZVRhc2tTZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrczogc3RyaW5nW10gPSBbXCJlY3M6RGVzY3JpYmVUYXNrc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY292ZXJQb2xsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb3ZlclBvbGxFbmRwb2ludDogc3RyaW5nW10gPSBbXCJlY3M6RGlzY292ZXJQb2xsRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4ZWN1dGVDb21tYW5kIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhlY3V0ZUNvbW1hbmQ6IHN0cmluZ1tdID0gW1wiZWNzOkV4ZWN1dGVDb21tYW5kXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUYXNrUHJvdGVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VGFza1Byb3RlY3Rpb246IHN0cmluZ1tdID0gW1wiZWNzOkdldFRhc2tQcm90ZWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWNjb3VudFNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRTZXR0aW5nczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdEFjY291bnRTZXR0aW5nc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXR0cmlidXRlczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdEF0dHJpYnV0ZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdENsdXN0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29udGFpbmVySW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnRhaW5lckluc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6TGlzdENvbnRhaW5lckluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGFlbW9uRGVwbG95bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3REYWVtb25EZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGFlbW9uVGFza0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vblRhc2tEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6TGlzdERhZW1vblRhc2tEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGFlbW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25zOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0RGFlbW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3RTZXJ2aWNlRGVwbG95bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0U2VydmljZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzQnlOYW1lc3BhY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0VGFnc0ZvclJlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFza0RlZmluaXRpb25GYW1pbGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpMaXN0VGFza0RlZmluaXRpb25GYW1pbGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFza0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdFRhc2tEZWZpbml0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tzOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0VGFza3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEFjY291bnRTZXR0aW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmc6IHN0cmluZ1tdID0gW1wiZWNzOlB1dEFjY291bnRTZXR0aW5nXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlB1dEFjY291bnRTZXR0aW5nRGVmYXVsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QXR0cmlidXRlczogc3RyaW5nW10gPSBbXCJlY3M6UHV0QXR0cmlidXRlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2VcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFza0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJ1blRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSdW5UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlJ1blRhc2tcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6U3RhcnRUYXNrXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFNlcnZpY2VEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFNlcnZpY2VEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpTdG9wU2VydmljZURlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVGFzazogc3RyaW5nW10gPSBbXCJlY3M6U3RvcFRhc2tcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpTdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0Q29udGFpbmVyU3RhdGVDaGFuZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN1Ym1pdFRhc2tTdGF0ZUNoYW5nZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFRhc2tTdGF0ZUNoYW5nZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6U3VibWl0VGFza1N0YXRlQ2hhbmdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZWNzOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJlY3M6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzXCIsXG5cdFx0XCJlY3M6VXBkYXRlQ2FwYWNpdHlQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJlY3M6VXBkYXRlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2x1c3RlclNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpVcGRhdGVDbHVzdGVyU2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29udGFpbmVyQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250YWluZXJBZ2VudDogc3RyaW5nW10gPSBbXCJlY3M6VXBkYXRlQ29udGFpbmVyQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhZW1vbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhZW1vbjogc3RyaW5nW10gPSBbXCJpYW06UGFzc1JvbGVcIiwgXCJlY3M6VXBkYXRlRGFlbW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOlVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpVcGRhdGVTZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldDogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6VXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRhc2tQcm90ZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGFza1Byb3RlY3Rpb246IHN0cmluZ1tdID0gW1wiZWNzOlVwZGF0ZVRhc2tQcm90ZWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUYXNrU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGFza1NldDogc3RyaW5nW10gPSBbXCJlY3M6VXBkYXRlVGFza1NldFwiXTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGVjcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVDU0NvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6aW5zdGFuY2UtbWV0YWRhdGEtdGFncy1wcm9wYWdhdGlvblwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRcdFwiZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGFlbW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhZW1vbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZFwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XHRcImVjczpzdWJuZXRcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stZGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczphdXRvLWFzc2lnbi1wdWJsaWMtaXBcIixcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRcdFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZFwiLFxuXHRcdFwiZWNzOmVuYWJsZS1zZXJ2aWNlLWNvbm5lY3RcIixcblx0XHRcImVjczplbmFibGUtdnBjLWxhdHRpY2VcIixcblx0XHRcImVjczpuYW1lc3BhY2VcIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRcdFwiZWNzOnN1Ym5ldFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRhc2tTZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFza1NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XHRcImVjczp0YXNrLWRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUFjY291bnRTZXR0aW5nIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnRTZXR0aW5nQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6YWNjb3VudC1zZXR0aW5nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBdHRyaWJ1dGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF0dHJpYnV0ZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhcGFjaXR5UHJvdmlkZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhc2tEZWZpbml0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXNrRGVmaW5pdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhc2tTZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza1NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XHRcImVjczpzZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVTZXJ2aWNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVUYXNrU2V0cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tTZXRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlVGFza3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEV4ZWN1dGVDb21tYW5kIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4ZWN1dGVDb21tYW5kQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOmNvbnRhaW5lci1uYW1lXCIsXG5cdFx0XCJlY3M6dGFza1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0VGFza1Byb3RlY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGFza1Byb3RlY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RGFlbW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiZWNzOmNsdXN0ZXJcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0U2VydmljZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJlY3M6Y2x1c3RlclwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6bmFtZXNwYWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RUYXNrcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQb2xsIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvbGxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImVjczpjbHVzdGVyXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0QWNjb3VudFNldHRpbmcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczphY2NvdW50LXNldHRpbmdcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnRTZXR0aW5nRGVmYXVsdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczphY2NvdW50LXNldHRpbmdcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEF0dHJpYnV0ZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QXR0cmlidXRlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpwcml2aWxlZ2VkXCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhc2tEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCIsXG5cdFx0XCJlY3M6cHJpdmlsZWdlZFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJ1blRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUnVuVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmRcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIixcblx0XHRcImVjczplbmFibGUtZWJzLXZvbHVtZXNcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRlbGVtZXRyeVNlc3Npb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZWxlbWV0cnlTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RvcFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOkNyZWF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6aW5zdGFuY2UtbWV0YWRhdGEtdGFncy1wcm9wYWdhdGlvblwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUNvbnRhaW5lckFnZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckFnZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEYWVtb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGFlbW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczpkYWVtb24tdGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRcdFwiZWNzOnN1Ym5ldFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVicy12b2x1bWVzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdFwiLFxuXHRcdFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiLFxuXHRcdFwiZWNzOm5hbWVzcGFjZVwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdFx0XCJlY3M6c3VibmV0XCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLWRlZmluaXRpb25cIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVRhc2tQcm90ZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tQcm90ZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVGFza1NldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXNrU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJlY3M6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcImVjczpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczphY2NvdW50LXNldHRpbmcgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFDQ09VTlRfU0VUVElORyA9IFwiZWNzOmFjY291bnQtc2V0dGluZ1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVE9fQVNTSUdOX1BVQkxJQ19JUCA9IFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmNhcGFjaXR5LXByb3ZpZGVyIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0FQQUNJVFlfUFJPVklERVIgPSBcImVjczpjYXBhY2l0eS1wcm92aWRlclwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmNsdXN0ZXIgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IENMVVNURVIgPSBcImVjczpjbHVzdGVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5IChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09NUFVURV9DT01QQVRJQklMSVRZID0gXCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Y29udGFpbmVyLWluc3RhbmNlcyAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09OVEFJTkVSX0lOU1RBTkNFUyA9IFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpjb250YWluZXItbmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09OVEFJTkVSX05BTUUgPSBcImVjczpjb250YWluZXItbmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmRhZW1vbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFFTU9OID0gXCJlY3M6ZGFlbW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFFTU9OX1RBU0tfREVGSU5JVElPTiA9IFwiZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczplbmFibGUtZWJzLXZvbHVtZXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9FQlNfVk9MVU1FUyA9IFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX0VDU19NQU5BR0VEX1RBR1MgPSBcImVjczplbmFibGUtZWNzLW1hbmFnZWQtdGFnc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9FWEVDVVRFX0NPTU1BTkQgPSBcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX1NFUlZJQ0VfQ09OTkVDVCA9IFwiZWNzOmVuYWJsZS1zZXJ2aWNlLWNvbm5lY3RcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczplbmFibGUtdnBjLWxhdHRpY2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9WUENfTEFUVElDRSA9IFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkFSR0FURV9FUEhFTUVSQUxfU1RPUkFHRV9LTVNfS0VZID1cblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpnYXRld2F5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHQVRFV0FZID0gXCJlY3M6Z2F0ZXdheVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlNUQU5DRV9NRVRBREFUQV9UQUdTX1BST1BBR0FUSU9OID1cblx0XHRcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6bmFtZXNwYWNlIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBOQU1FU1BBQ0UgPSBcImVjczpuYW1lc3BhY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpwcml2aWxlZ2VkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUklWSUxFR0VEID0gXCJlY3M6cHJpdmlsZWdlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnByb3BhZ2F0ZS10YWdzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUk9QQUdBVEVfVEFHUyA9IFwiZWNzOnByb3BhZ2F0ZS10YWdzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6c2VydmljZSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRSA9IFwiZWNzOnNlcnZpY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpzdWJuZXQgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTVUJORVQgPSBcImVjczpzdWJuZXRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczp0YXNrIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLID0gXCJlY3M6dGFza1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnRhc2stY3B1IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFTS19DUFUgPSBcImVjczp0YXNrLWNwdVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnRhc2stZGVmaW5pdGlvbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFTS19ERUZJTklUSU9OID0gXCJlY3M6dGFzay1kZWZpbml0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6dGFzay1tZW1vcnkgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLX01FTU9SWSA9IFwiZWNzOnRhc2stbWVtb3J5XCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpDcmVhdGVBY3Rpb25gLlxuXHQgKi9cblx0c3RhdGljIGNyZWF0ZUFjdGlvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpDcmVhdGVBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczphY2NvdW50LXNldHRpbmdgLlxuXHQgKi9cblx0c3RhdGljIGFjY291bnRTZXR0aW5nKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmFjY291bnQtc2V0dGluZ1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcGAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b0Fzc2lnblB1YmxpY0lQKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlY3M6YXV0by1hc3NpZ24tcHVibGljLWlwXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y2FwYWNpdHktcHJvdmlkZXJgLlxuXHQgKi9cblx0c3RhdGljIGNhcGFjaXR5UHJvdmlkZXIoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHsgXCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y2x1c3RlcmAuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImVjczpjbHVzdGVyXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5YC5cblx0ICovXG5cdHN0YXRpYyBjb21wdXRlQ29tcGF0aWJpbGl0eShcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNgLlxuXHQgKi9cblx0c3RhdGljIGNvbnRhaW5lckluc3RhbmNlcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpjb250YWluZXItbmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgY29udGFpbmVyTmFtZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpjb250YWluZXItbmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmRhZW1vbmAuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOmRhZW1vblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vblRhc2tEZWZpbml0aW9uKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmVuYWJsZS1lYnMtdm9sdW1lc2AuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlRUJTVm9sdW1lcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVFQ1NNYW5hZ2VkVGFncyhcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZGAuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlRXhlY3V0ZUNvbW1hbmQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdGAuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlU2VydmljZUNvbm5lY3QoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczplbmFibGUtc2VydmljZS1jb25uZWN0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVWUENMYXR0aWNlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZmFyZ2F0ZS1lcGhlbWVyYWwtc3RvcmFnZS1rbXMta2V5YC5cblx0ICovXG5cdHN0YXRpYyBmYXJnYXRlRXBoZW1lcmFsU3RvcmFnZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmdhdGV3YXlgLlxuXHQgKi9cblx0c3RhdGljIGdhdGV3YXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6Z2F0ZXdheVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlTWV0YWRhdGFUYWdzUHJvcGFnYXRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6bmFtZXNwYWNlYC5cblx0ICovXG5cdHN0YXRpYyBuYW1lc3BhY2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6bmFtZXNwYWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6cHJpdmlsZWdlZGAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpdmlsZWdlZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpwcml2aWxlZ2VkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6cHJvcGFnYXRlLXRhZ3NgLlxuXHQgKi9cblx0c3RhdGljIHByb3BhZ2F0ZVRhZ3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlY3M6cHJvcGFnYXRlLXRhZ3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpzZXJ2aWNlYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOnNlcnZpY2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpzdWJuZXRgLlxuXHQgKi9cblx0c3RhdGljIHN1Ym5ldCh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlY3M6c3VibmV0XCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2tgLlxuXHQgKi9cblx0c3RhdGljIHRhc2sodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6dGFza1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2stY3B1YC5cblx0ICovXG5cdHN0YXRpYyB0YXNrQ3B1KHZhbHVlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVjczp0YXNrLWNwdVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2stZGVmaW5pdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgdGFza0RlZmluaXRpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6dGFzay1kZWZpbml0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6dGFzay1tZW1vcnlgLlxuXHQgKi9cblx0c3RhdGljIHRhc2tNZW1vcnkodmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWNzOnRhc2stbWVtb3J5XCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
1517
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9lY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBbVJDOzs7QUFsUkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsbUVBQW1FO0FBQ25ELDRDQUFpQyxHQUNoRCx1Q0FBdUMsQ0FBQztBQUN6Qyw0Q0FBNEM7QUFDNUIsb0NBQXlCLEdBQUcsK0JBQStCLENBQUM7QUFDNUUseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLGdDQUFnQztBQUNoQix3QkFBYSxHQUFHLG1CQUFtQixDQUFDO0FBQ3BELCtCQUErQjtBQUNmLHVCQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDbEQsOENBQThDO0FBQzlCLHNDQUEyQixHQUMxQyxpQ0FBaUMsQ0FBQztBQUNuQyxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCx1Q0FBdUM7QUFDdkIsK0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsbUNBQW1DO0FBQ25CLDJCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELHlDQUF5QztBQUN6QixpQ0FBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCwrQkFBK0I7QUFDZix1QkFBWSxHQUFHLGtCQUFrQixDQUFDO0FBQ2xELDZDQUE2QztBQUM3QixxQ0FBMEIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM5RSw4Q0FBOEM7QUFDOUIs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Ryw2QkFBNkIsQ0FBQztBQUN4RSx5REFBeUQ7QUFDekMsb0NBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFDdEUseURBQXlEO0FBQ3pDLG9DQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHFEQUFxRDtBQUNyQyxnQ0FBa0IsR0FBRyx3QkFBd0IsQ0FBQztBQUM5RCxvRUFBb0U7QUFDcEQsK0NBQWlDLEdBQ2hELHVDQUF1QyxDQUFDO0FBQ3pDLHVDQUF1QztBQUN2QixxQkFBTyxHQUFHLGFBQWEsQ0FBQztBQUN4QyxtRUFBbUU7QUFDbkQsZ0RBQWtDLEdBQ2pELHdDQUF3QyxDQUFDO0FBQzFDLHlDQUF5QztBQUN6Qix1QkFBUyxHQUFHLGVBQWUsQ0FBQztBQUM1Qyw2Q0FBNkM7QUFDN0Isd0JBQVUsR0FBRyxnQkFBZ0IsQ0FBQztBQUM5QyxpREFBaUQ7QUFDakMsNEJBQWMsR0FBRyxvQkFBb0IsQ0FBQztBQUN0RCx1Q0FBdUM7QUFDdkIscUJBQU8sR0FBRyxhQUFhLENBQUM7QUFDeEMsZ0RBQWdEO0FBQ2hDLG9CQUFNLEdBQUcsWUFBWSxDQUFDO0FBQ3RDLG9DQUFvQztBQUNwQixrQkFBSSxHQUFHLFVBQVUsQ0FBQztBQUNsQyw0Q0FBNEM7QUFDNUIsc0JBQVEsR0FBRyxjQUFjLENBQUM7QUFDMUMsK0NBQStDO0FBQy9CLDZCQUFlLEdBQUcscUJBQXFCLENBQUM7QUFDeEQsK0NBQStDO0FBQy9CLHlCQUFXLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9lY3MuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGVjcyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgRUNTQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImVjc1wiO1xuXG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGVjczpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSA9XG5cdFx0XCJlY3M6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDb250aW51ZVNlcnZpY2VEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDb250aW51ZVNlcnZpY2VEZXBsb3ltZW50ID0gXCJlY3M6Q29udGludWVTZXJ2aWNlRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q3JlYXRlQ2FwYWNpdHlQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlciA9IFwiZWNzOkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXIgPSBcImVjczpDcmVhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDcmVhdGVEYWVtb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhZW1vbiA9IFwiZWNzOkNyZWF0ZURhZW1vblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgPVxuXHRcdFwiZWNzOkNyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q3JlYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZSA9IFwiZWNzOkNyZWF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZVRhc2tTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhc2tTZXQgPSBcImVjczpDcmVhdGVUYXNrU2V0XCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVBY2NvdW50U2V0dGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWNjb3VudFNldHRpbmcgPSBcImVjczpEZWxldGVBY2NvdW50U2V0dGluZ1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlQXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXR0cmlidXRlcyA9IFwiZWNzOkRlbGV0ZUF0dHJpYnV0ZXNcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhcGFjaXR5UHJvdmlkZXIgPSBcImVjczpEZWxldGVDYXBhY2l0eVByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyID0gXCJlY3M6RGVsZXRlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlRGFlbW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYWVtb24gPSBcImVjczpEZWxldGVEYWVtb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvbiA9IFwiZWNzOkRlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZSA9XG5cdFx0XCJlY3M6RGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlID0gXCJlY3M6RGVsZXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlVGFza0RlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXNrRGVmaW5pdGlvbnMgPSBcImVjczpEZWxldGVUYXNrRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZVRhc2tTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhc2tTZXQgPSBcImVjczpEZWxldGVUYXNrU2V0XCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSA9XG5cdFx0XCJlY3M6RGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZXJlZ2lzdGVyVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiA9IFwiZWNzOkRlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzID0gXCJlY3M6RGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVyc1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZUNsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJzID0gXCJlY3M6RGVzY3JpYmVDbHVzdGVyc1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXMgPSBcImVjczpEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlc1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZURhZW1vbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb24gPSBcImVjczpEZXNjcmliZURhZW1vblwiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZURhZW1vbkRlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vbkRlcGxveW1lbnRzID0gXCJlY3M6RGVzY3JpYmVEYWVtb25EZXBsb3ltZW50c1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZURhZW1vblJldmlzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb25SZXZpc2lvbnMgPSBcImVjczpEZXNjcmliZURhZW1vblJldmlzaW9uc1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZURhZW1vblRhc2tEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vblRhc2tEZWZpbml0aW9uID1cblx0XHRcImVjczpEZXNjcmliZURhZW1vblRhc2tEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZSA9XG5cdFx0XCJlY3M6RGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZURlcGxveW1lbnRzID0gXCJlY3M6RGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VSZXZpc2lvbnMgPSBcImVjczpEZXNjcmliZVNlcnZpY2VSZXZpc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVTZXJ2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlcyA9IFwiZWNzOkRlc2NyaWJlU2VydmljZXNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVUYXNrRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrRGVmaW5pdGlvbiA9IFwiZWNzOkRlc2NyaWJlVGFza0RlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVUYXNrU2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrU2V0cyA9IFwiZWNzOkRlc2NyaWJlVGFza1NldHNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrcyA9IFwiZWNzOkRlc2NyaWJlVGFza3NcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRpc2NvdmVyUG9sbEVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb3ZlclBvbGxFbmRwb2ludCA9IFwiZWNzOkRpc2NvdmVyUG9sbEVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGVjczpFeGVjdXRlQ29tbWFuZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhlY3V0ZUNvbW1hbmQgPSBcImVjczpFeGVjdXRlQ29tbWFuZFwiO1xuXHQvKiogW1JlYWRdIGVjczpHZXRUYXNrUHJvdGVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGFza1Byb3RlY3Rpb24gPSBcImVjczpHZXRUYXNrUHJvdGVjdGlvblwiO1xuXHQvKiogW1JlYWRdIGVjczpMaXN0QWNjb3VudFNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjb3VudFNldHRpbmdzID0gXCJlY3M6TGlzdEFjY291bnRTZXR0aW5nc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0QXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF0dHJpYnV0ZXMgPSBcImVjczpMaXN0QXR0cmlidXRlc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0Q2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVycyA9IFwiZWNzOkxpc3RDbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0Q29udGFpbmVySW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udGFpbmVySW5zdGFuY2VzID0gXCJlY3M6TGlzdENvbnRhaW5lckluc3RhbmNlc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0RGFlbW9uRGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25EZXBsb3ltZW50cyA9IFwiZWNzOkxpc3REYWVtb25EZXBsb3ltZW50c1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0RGFlbW9uVGFza0RlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uVGFza0RlZmluaXRpb25zID0gXCJlY3M6TGlzdERhZW1vblRhc2tEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0RGFlbW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vbnMgPSBcImVjczpMaXN0RGFlbW9uc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0U2VydmljZURlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZURlcGxveW1lbnRzID0gXCJlY3M6TGlzdFNlcnZpY2VEZXBsb3ltZW50c1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0U2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlcyA9IFwiZWNzOkxpc3RTZXJ2aWNlc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0U2VydmljZXNCeU5hbWVzcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzQnlOYW1lc3BhY2UgPSBcImVjczpMaXN0U2VydmljZXNCeU5hbWVzcGFjZVwiO1xuXHQvKiogW1JlYWRdIGVjczpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJlY3M6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0VGFza0RlZmluaXRpb25GYW1pbGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXMgPSBcImVjczpMaXN0VGFza0RlZmluaXRpb25GYW1pbGllc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0VGFza0RlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza0RlZmluaXRpb25zID0gXCJlY3M6TGlzdFRhc2tEZWZpbml0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGVjczpMaXN0VGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrcyA9IFwiZWNzOkxpc3RUYXNrc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6UG9sbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUG9sbCA9IFwiZWNzOlBvbGxcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlB1dEFjY291bnRTZXR0aW5nICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZyA9IFwiZWNzOlB1dEFjY291bnRTZXR0aW5nXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnRTZXR0aW5nRGVmYXVsdCA9IFwiZWNzOlB1dEFjY291bnRTZXR0aW5nRGVmYXVsdFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6UHV0QXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QXR0cmlidXRlcyA9IFwiZWNzOlB1dEF0dHJpYnV0ZXNcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzID1cblx0XHRcImVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlB1dFN5c3RlbUxvZ0V2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U3lzdGVtTG9nRXZlbnRzID0gXCJlY3M6UHV0U3lzdGVtTG9nRXZlbnRzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlID0gXCJlY3M6UmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6UmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvbiA9XG5cdFx0XCJlY3M6UmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiA9IFwiZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOlJ1blRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJ1blRhc2sgPSBcImVjczpSdW5UYXNrXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdGFydFRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGFzayA9IFwiZWNzOlN0YXJ0VGFza1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3RhcnRUZWxlbWV0cnlTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlbGVtZXRyeVNlc3Npb24gPSBcImVjczpTdGFydFRlbGVtZXRyeVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN0b3BTZXJ2aWNlRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFNlcnZpY2VEZXBsb3ltZW50ID0gXCJlY3M6U3RvcFNlcnZpY2VEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdG9wVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRhc2sgPSBcImVjczpTdG9wVGFza1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3VibWl0QXR0YWNobWVudFN0YXRlQ2hhbmdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0QXR0YWNobWVudFN0YXRlQ2hhbmdlcyA9XG5cdFx0XCJlY3M6U3VibWl0QXR0YWNobWVudFN0YXRlQ2hhbmdlc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3VibWl0Q29udGFpbmVyU3RhdGVDaGFuZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlID0gXCJlY3M6U3VibWl0Q29udGFpbmVyU3RhdGVDaGFuZ2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN1Ym1pdFRhc2tTdGF0ZUNoYW5nZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0VGFza1N0YXRlQ2hhbmdlID0gXCJlY3M6U3VibWl0VGFza1N0YXRlQ2hhbmdlXCI7XG5cdC8qKiBbVGFnZ2luZ10gZWNzOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiZWNzOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gZWNzOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImVjczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyID0gXCJlY3M6VXBkYXRlQ2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlciA9IFwiZWNzOlVwZGF0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZUNsdXN0ZXJTZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNldHRpbmdzID0gXCJlY3M6VXBkYXRlQ2x1c3RlclNldHRpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVDb250YWluZXJBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVyQWdlbnQgPSBcImVjczpVcGRhdGVDb250YWluZXJBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlID1cblx0XHRcImVjczpVcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlRGFlbW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYWVtb24gPSBcImVjczpVcGRhdGVEYWVtb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlID1cblx0XHRcImVjczpVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2UgPSBcImVjczpVcGRhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldCA9XG5cdFx0XCJlY3M6VXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0XCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVUYXNrUHJvdGVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGFza1Byb3RlY3Rpb24gPSBcImVjczpVcGRhdGVUYXNrUHJvdGVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlVGFza1NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGFza1NldCA9IFwiZWNzOlVwZGF0ZVRhc2tTZXRcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZUNsdXN0ZXJzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZURhZW1vbixcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlRGFlbW9uRGVwbG95bWVudHMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZURhZW1vblJldmlzaW9ucyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb24sXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlU2VydmljZURlcGxveW1lbnRzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVTZXJ2aWNlcyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlVGFza0RlZmluaXRpb24sXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZVRhc2tTZXRzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVUYXNrcyxcblx0XHRFQ1NBY3Rpb25zLmFjdGlvbkdldFRhc2tQcm90ZWN0aW9uLFxuXHRcdEVDU0FjdGlvbnMuTGlzdEFjY291bnRTZXR0aW5ncyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RUNTQWN0aW9ucy5Db250aW51ZVNlcnZpY2VEZXBsb3ltZW50LFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlQ2FwYWNpdHlQcm92aWRlcixcblx0XHRFQ1NBY3Rpb25zLkNyZWF0ZUNsdXN0ZXIsXG5cdFx0RUNTQWN0aW9ucy5DcmVhdGVEYWVtb24sXG5cdFx0RUNTQWN0aW9ucy5DcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5DcmVhdGVTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlVGFza1NldCxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZUFjY291bnRTZXR0aW5nLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlQXR0cmlidXRlcyxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVDbHVzdGVyLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlRGFlbW9uLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlRGFlbW9uVGFza0RlZmluaXRpb24sXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlVGFza0RlZmluaXRpb25zLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlVGFza1NldCxcblx0XHRFQ1NBY3Rpb25zLkRlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSxcblx0XHRFQ1NBY3Rpb25zLkRlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbixcblx0XHRFQ1NBY3Rpb25zLkRpc2NvdmVyUG9sbEVuZHBvaW50LFxuXHRcdEVDU0FjdGlvbnMuRXhlY3V0ZUNvbW1hbmQsXG5cdFx0RUNTQWN0aW9ucy5Qb2xsLFxuXHRcdEVDU0FjdGlvbnMuUHV0QWNjb3VudFNldHRpbmcsXG5cdFx0RUNTQWN0aW9ucy5QdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQsXG5cdFx0RUNTQWN0aW9ucy5QdXRBdHRyaWJ1dGVzLFxuXHRcdEVDU0FjdGlvbnMuUHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzLFxuXHRcdEVDU0FjdGlvbnMuUHV0U3lzdGVtTG9nRXZlbnRzLFxuXHRcdEVDU0FjdGlvbnMuUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSxcblx0XHRFQ1NBY3Rpb25zLlJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb24sXG5cdFx0RUNTQWN0aW9ucy5SZWdpc3RlclRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuUnVuVGFzayxcblx0XHRFQ1NBY3Rpb25zLlN0YXJ0VGFzayxcblx0XHRFQ1NBY3Rpb25zLlN0YXJ0VGVsZW1ldHJ5U2Vzc2lvbixcblx0XHRFQ1NBY3Rpb25zLlN0b3BTZXJ2aWNlRGVwbG95bWVudCxcblx0XHRFQ1NBY3Rpb25zLlN0b3BUYXNrLFxuXHRcdEVDU0FjdGlvbnMuU3VibWl0QXR0YWNobWVudFN0YXRlQ2hhbmdlcyxcblx0XHRFQ1NBY3Rpb25zLlN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlLFxuXHRcdEVDU0FjdGlvbnMuU3VibWl0VGFza1N0YXRlQ2hhbmdlLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlQ2FwYWNpdHlQcm92aWRlcixcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZUNsdXN0ZXIsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVDbHVzdGVyU2V0dGluZ3MsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVDb250YWluZXJBZ2VudCxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlRGFlbW9uLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlU2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldCxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZVRhc2tQcm90ZWN0aW9uLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlVGFza1NldCxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RUNTQWN0aW9ucy5MaXN0QXR0cmlidXRlcyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RDbHVzdGVycyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RDb250YWluZXJJbnN0YW5jZXMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0RGFlbW9uRGVwbG95bWVudHMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0RGFlbW9uVGFza0RlZmluaXRpb25zLFxuXHRcdEVDU0FjdGlvbnMuTGlzdERhZW1vbnMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0U2VydmljZURlcGxveW1lbnRzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFNlcnZpY2VzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFNlcnZpY2VzQnlOYW1lc3BhY2UsXG5cdFx0RUNTQWN0aW9ucy5MaXN0VGFza0RlZmluaXRpb25GYW1pbGllcyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RUYXNrRGVmaW5pdGlvbnMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0VGFza3MsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVDU0FjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFQ1NBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEVDU0FjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNhcGFjaXR5LXByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NDYXBhY2l0eVByb3ZpZGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENhcGFjaXR5UHJvdmlkZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYXBhY2l0eVByb3ZpZGVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNhcGFjaXR5LXByb3ZpZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NDYXBhY2l0eVByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYXBhY2l0eVByb3ZpZGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhcGFjaXR5UHJvdmlkZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NDbHVzdGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0NsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbnRhaW5lci1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ29udGFpbmVySW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29udGFpbmVySW5zdGFuY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29udGFpbmVySW5zdGFuY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbnRhaW5lci1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ29udGFpbmVySW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb250YWluZXJJbnN0YW5jZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29udGFpbmVySW5zdGFuY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGFlbW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhZW1vbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhZW1vbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhZW1vbi1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25EZXBsb3ltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25EZXBsb3ltZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vbkRlcGxveW1lbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhZW1vbi1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25EZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhZW1vbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25EZXBsb3ltZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25EZXBsb3ltZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhZW1vbi1yZXZpc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uUmV2aXNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vblJldmlzaW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vblJldmlzaW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYWVtb24tcmV2aXNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vblJldmlzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhZW1vbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25SZXZpc2lvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uUmV2aXNpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uVGFza0RlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uVGFza0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1NlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2aWNlLWRlcGxveW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1NlcnZpY2VEZXBsb3ltZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VEZXBsb3ltZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VEZXBsb3ltZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2aWNlLWRlcGxveW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1NlcnZpY2VEZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VEZXBsb3ltZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlRGVwbG95bWVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2aWNlLXJldmlzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlUmV2aXNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZVJldmlzaW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VSZXZpc2lvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmljZS1yZXZpc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTU2VydmljZVJldmlzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VSZXZpc2lvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZVJldmlzaW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1Rhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NUYXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0YXNrLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1Rhc2tEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0RlZmluaXRpb25GYW1pbHlOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRhc2stZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTVGFza0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXIgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0YXNrLXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTVGFza1NldEFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrU2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tTZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRhc2stc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NUYXNrU2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tTZXRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tTZXRJZDogc3RyaW5nO1xufVxuXG5jb25zdCBDYXBhY2l0eVByb3ZpZGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNhcGFjaXR5LXByb3ZpZGVyXFwvKD88Y2FwYWNpdHlQcm92aWRlck5hbWU+W146Lz9dKykkLztcbmNvbnN0IENsdXN0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2x1c3RlclxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBDb250YWluZXJJbnN0YW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb250YWluZXItaW5zdGFuY2VcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PGNvbnRhaW5lckluc3RhbmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IERhZW1vbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYWVtb25cXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PGRhZW1vbk5hbWU+W146Lz9dKykkLztcbmNvbnN0IERhZW1vbkRlcGxveW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGFlbW9uLWRlcGxveW1lbnRcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PGRhZW1vbk5hbWU+W146Lz9dKylcXC8oPzxkYWVtb25EZXBsb3ltZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IERhZW1vblJldmlzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhZW1vbi1yZXZpc2lvblxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88ZGFlbW9uTmFtZT5bXjovP10rKVxcLyg/PGRhZW1vblJldmlzaW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IERhZW1vblRhc2tEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhZW1vbi10YXNrLWRlZmluaXRpb25cXC8oPzxkYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWU+W146Lz9dKyk6KD88ZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcj5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZURlcGxveW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZS1kZXBsb3ltZW50XFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlTmFtZT5bXjovP10rKVxcLyg/PHNlcnZpY2VEZXBsb3ltZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VSZXZpc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlLXJldmlzaW9uXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlTmFtZT5bXjovP10rKVxcLyg/PHNlcnZpY2VSZXZpc2lvbklkPlteOi8/XSspJC87XG5jb25zdCBUYXNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhc2tcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PHRhc2tJZD5bXjovP10rKSQvO1xuY29uc3QgVGFza0RlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGFzay1kZWZpbml0aW9uXFwvKD88dGFza0RlZmluaXRpb25GYW1pbHlOYW1lPlteOi8/XSspOig/PHRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI+W146Lz9dKykkLztcbmNvbnN0IFRhc2tTZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGFzay1zZXRcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PHNlcnZpY2VOYW1lPlteOi8/XSspXFwvKD88dGFza1NldElkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgZWNzIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVDU1Jlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2FwYWNpdHktcHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2FwYWNpdHlQcm92aWRlcihwcm9wczogRUNTQ2FwYWNpdHlQcm92aWRlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2FwYWNpdHktcHJvdmlkZXIvJHtwcm9wcy5jYXBhY2l0eVByb3ZpZGVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2FwYWNpdHktcHJvdmlkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENhcGFjaXR5UHJvdmlkZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2FwYWNpdHlQcm92aWRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjYXBhY2l0eS1wcm92aWRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDYXBhY2l0eVByb3ZpZGVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFQ1NDYXBhY2l0eVByb3ZpZGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDYXBhY2l0eVByb3ZpZGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNhcGFjaXR5LXByb3ZpZGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhcGFjaXR5UHJvdmlkZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNhcGFjaXR5UHJvdmlkZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlcihwcm9wczogRUNTQ2x1c3RlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2x1c3Rlci8ke3Byb3BzLmNsdXN0ZXJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbHVzdGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENsdXN0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2x1c3RlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbHVzdGVyQXJuKGFybjogc3RyaW5nKTogRUNTQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2x1c3RlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbHVzdGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbnRhaW5lci1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb250YWluZXJJbnN0YW5jZShwcm9wczogRUNTQ29udGFpbmVySW5zdGFuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbnRhaW5lci1pbnN0YW5jZS8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLmNvbnRhaW5lckluc3RhbmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbnRhaW5lci1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29udGFpbmVySW5zdGFuY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29udGFpbmVySW5zdGFuY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29udGFpbmVyLWluc3RhbmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbnRhaW5lckluc3RhbmNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFQ1NDb250YWluZXJJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29udGFpbmVySW5zdGFuY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29udGFpbmVyLWluc3RhbmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0Y29udGFpbmVySW5zdGFuY2VJZDogbWF0Y2guZ3JvdXBzIS5jb250YWluZXJJbnN0YW5jZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhZW1vbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYWVtb24ocHJvcHM6IEVDU0RhZW1vbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGFlbW9uLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuZGFlbW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGFlbW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYWVtb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGFlbW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhZW1vbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYWVtb25Bcm4oYXJuOiBzdHJpbmcpOiBFQ1NEYWVtb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhZW1vbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYWVtb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRkYWVtb25OYW1lOiBtYXRjaC5ncm91cHMhLmRhZW1vbk5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGFlbW9uLWRlcGxveW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uRGVwbG95bWVudChwcm9wczogRUNTRGFlbW9uRGVwbG95bWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGFlbW9uLWRlcGxveW1lbnQvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5kYWVtb25OYW1lfS8ke3Byb3BzLmRhZW1vbkRlcGxveW1lbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGFlbW9uLWRlcGxveW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhZW1vbkRlcGxveW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGFlbW9uRGVwbG95bWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYWVtb24tZGVwbG95bWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYWVtb25EZXBsb3ltZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFQ1NEYWVtb25EZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYWVtb25EZXBsb3ltZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhZW1vbi1kZXBsb3ltZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0ZGFlbW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5kYWVtb25OYW1lLFxuXHRcdFx0ZGFlbW9uRGVwbG95bWVudElkOiBtYXRjaC5ncm91cHMhLmRhZW1vbkRlcGxveW1lbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYWVtb24tcmV2aXNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uUmV2aXNpb24ocHJvcHM6IEVDU0RhZW1vblJldmlzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYWVtb24tcmV2aXNpb24vJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5kYWVtb25OYW1lfS8ke3Byb3BzLmRhZW1vblJldmlzaW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhZW1vbi1yZXZpc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGFlbW9uUmV2aXNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGFlbW9uUmV2aXNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGFlbW9uLXJldmlzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhZW1vblJldmlzaW9uQXJuKGFybjogc3RyaW5nKTogRUNTRGFlbW9uUmV2aXNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhZW1vblJldmlzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhZW1vbi1yZXZpc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdGRhZW1vbk5hbWU6IG1hdGNoLmdyb3VwcyEuZGFlbW9uTmFtZSxcblx0XHRcdGRhZW1vblJldmlzaW9uSWQ6IG1hdGNoLmdyb3VwcyEuZGFlbW9uUmV2aXNpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYWVtb24tdGFzay1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vblRhc2tEZWZpbml0aW9uKHByb3BzOiBFQ1NEYWVtb25UYXNrRGVmaW5pdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGFlbW9uLXRhc2stZGVmaW5pdGlvbi8ke3Byb3BzLmRhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZX06JHtwcm9wcy5kYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYWVtb24tdGFzay1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYWVtb25UYXNrRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYWVtb25UYXNrRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYWVtb24tdGFzay1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhZW1vblRhc2tEZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFQ1NEYWVtb25UYXNrRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGFlbW9uVGFza0RlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lLFxuXHRcdFx0ZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5kYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZShwcm9wczogRUNTU2VydmljZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZS8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLnNlcnZpY2VOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogRUNTU2VydmljZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0c2VydmljZU5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmljZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmljZS1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2VEZXBsb3ltZW50KHByb3BzOiBFQ1NTZXJ2aWNlRGVwbG95bWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZS1kZXBsb3ltZW50LyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZU5hbWV9LyR7cHJvcHMuc2VydmljZURlcGxveW1lbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmljZS1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlRGVwbG95bWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlRGVwbG95bWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlLWRlcGxveW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZURlcGxveW1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVDU1NlcnZpY2VEZXBsb3ltZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlRGVwbG95bWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlLWRlcGxveW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRzZXJ2aWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlTmFtZSxcblx0XHRcdHNlcnZpY2VEZXBsb3ltZW50SWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZURlcGxveW1lbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2aWNlLXJldmlzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2VSZXZpc2lvbihwcm9wczogRUNTU2VydmljZVJldmlzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLXJldmlzaW9uLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZU5hbWV9LyR7cHJvcHMuc2VydmljZVJldmlzaW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UtcmV2aXNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VSZXZpc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlUmV2aXNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZS1yZXZpc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlUmV2aXNpb25Bcm4oYXJuOiBzdHJpbmcpOiBFQ1NTZXJ2aWNlUmV2aXNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VSZXZpc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlLXJldmlzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0c2VydmljZU5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmljZU5hbWUsXG5cdFx0XHRzZXJ2aWNlUmV2aXNpb25JZDogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlUmV2aXNpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRhc2socHJvcHM6IEVDU1Rhc2tBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRhc2svJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy50YXNrSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRhc2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVGFza0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0YXNrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRhc2tBcm4oYXJuOiBzdHJpbmcpOiBFQ1NUYXNrQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUYXNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRhc2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHR0YXNrSWQ6IG1hdGNoLmdyb3VwcyEudGFza0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRhc2stZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0YXNrRGVmaW5pdGlvbihwcm9wczogRUNTVGFza0RlZmluaXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRhc2stZGVmaW5pdGlvbi8ke3Byb3BzLnRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZX06JHtwcm9wcy50YXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0YXNrLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRhc2tEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhc2tEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRhc2stZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUYXNrRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IEVDU1Rhc2tEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUYXNrRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YXNrLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dGFza0RlZmluaXRpb25GYW1pbHlOYW1lOiBtYXRjaC5ncm91cHMhLnRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZSxcblx0XHRcdHRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI6IG1hdGNoLmdyb3VwcyEudGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0YXNrLXNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0YXNrU2V0KHByb3BzOiBFQ1NUYXNrU2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXNrLXNldC8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLnNlcnZpY2VOYW1lfS8ke3Byb3BzLnRhc2tTZXRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGFzay1zZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRhc2tTZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVGFza1NldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0YXNrLXNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUYXNrU2V0QXJuKGFybjogc3RyaW5nKTogRUNTVGFza1NldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGFza1NldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YXNrLXNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdHNlcnZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VOYW1lLFxuXHRcdFx0dGFza1NldElkOiBtYXRjaC5ncm91cHMhLnRhc2tTZXRJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBlY3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBFQ1NPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29udGludWVTZXJ2aWNlRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbnRpbnVlU2VydmljZURlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNvbnRpbnVlU2VydmljZURlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVyc1wiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDcmVhdGVDbHVzdGVyXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGFlbW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGFlbW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDcmVhdGVEYWVtb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlQ2x1c3RlclwiLFxuXHRcdFwiZWNzOkNyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDcmVhdGVTZXJ2aWNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUYXNrU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFza1NldDogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlVGFza1NldFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWNjb3VudFNldHRpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2NvdW50U2V0dGluZzogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlQWNjb3VudFNldHRpbmdcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcImVjczpEZWxldGVBdHRyaWJ1dGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FwYWNpdHlQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVsZXRlQ2FwYWNpdHlQcm92aWRlclwiLFxuXHRcdFwiZWNzOlB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGFlbW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGFlbW9uOiBzdHJpbmdbXSA9IFtcImVjczpEZWxldGVEYWVtb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGFlbW9uVGFza0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcImVjczpEZWxldGVTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUYXNrRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXNrRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlbGV0ZVRhc2tEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUYXNrU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza1NldDogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlVGFza1NldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlclRhc2tEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclRhc2tEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXJlZ2lzdGVyVGFza0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDbHVzdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlcnM6IHN0cmluZ1tdID0gW1wiZWNzOkRlc2NyaWJlQ2x1c3RlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGFlbW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb246IHN0cmluZ1tdID0gW1wiZWNzOkRlc2NyaWJlRGFlbW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhZW1vbkRlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb25EZXBsb3ltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVEYWVtb25EZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhZW1vblJldmlzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uUmV2aXNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZURhZW1vblJldmlzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhZW1vblRhc2tEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZURlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlcnZpY2VSZXZpc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VSZXZpc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlU2VydmljZVJldmlzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlcnZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlczogc3RyaW5nW10gPSBbXCJlY3M6RGVzY3JpYmVTZXJ2aWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlVGFza0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUYXNrU2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza1NldHM6IHN0cmluZ1tdID0gW1wiZWNzOkRlc2NyaWJlVGFza1NldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tzOiBzdHJpbmdbXSA9IFtcImVjczpEZXNjcmliZVRhc2tzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNjb3ZlclBvbGxFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2NvdmVyUG9sbEVuZHBvaW50OiBzdHJpbmdbXSA9IFtcImVjczpEaXNjb3ZlclBvbGxFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhlY3V0ZUNvbW1hbmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeGVjdXRlQ29tbWFuZDogc3RyaW5nW10gPSBbXCJlY3M6RXhlY3V0ZUNvbW1hbmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRhc2tQcm90ZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUYXNrUHJvdGVjdGlvbjogc3RyaW5nW10gPSBbXCJlY3M6R2V0VGFza1Byb3RlY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY2NvdW50U2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjb3VudFNldHRpbmdzOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0QWNjb3VudFNldHRpbmdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0QXR0cmlidXRlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0Q2x1c3RlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb250YWluZXJJbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udGFpbmVySW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpMaXN0Q29udGFpbmVySW5zdGFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYWVtb25EZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25EZXBsb3ltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6TGlzdERhZW1vbkRlcGxveW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYWVtb25UYXNrRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uVGFza0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpMaXN0RGFlbW9uVGFza0RlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYWVtb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vbnM6IHN0cmluZ1tdID0gW1wiZWNzOkxpc3REYWVtb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZURlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VEZXBsb3ltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6TGlzdFNlcnZpY2VEZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXM6IHN0cmluZ1tdID0gW1wiZWNzOkxpc3RTZXJ2aWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VzQnlOYW1lc3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXNCeU5hbWVzcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6TGlzdFNlcnZpY2VzQnlOYW1lc3BhY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZWNzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYXNrRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0VGFza0RlZmluaXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza3M6IHN0cmluZ1tdID0gW1wiZWNzOkxpc3RUYXNrc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWNjb3VudFNldHRpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZzogc3RyaW5nW10gPSBbXCJlY3M6UHV0QWNjb3VudFNldHRpbmdcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEFjY291bnRTZXR0aW5nRGVmYXVsdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnRTZXR0aW5nRGVmYXVsdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6UHV0QWNjb3VudFNldHRpbmdEZWZhdWx0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcImVjczpQdXRBdHRyaWJ1dGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6UmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZVwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb25cIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3RlclRhc2tEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpSZWdpc3RlclRhc2tEZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUnVuVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJ1blRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UnVuVGFza1wiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0VGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpTdGFydFRhc2tcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wU2VydmljZURlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wU2VydmljZURlcGxveW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlN0b3BTZXJ2aWNlRGVwbG95bWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUYXNrOiBzdHJpbmdbXSA9IFtcImVjczpTdG9wVGFza1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0QXR0YWNobWVudFN0YXRlQ2hhbmdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0Q29udGFpbmVyU3RhdGVDaGFuZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6U3VibWl0Q29udGFpbmVyU3RhdGVDaGFuZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0VGFza1N0YXRlQ2hhbmdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0VGFza1N0YXRlQ2hhbmdlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpTdWJtaXRUYXNrU3RhdGVDaGFuZ2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJlY3M6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImVjczpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2FwYWNpdHlQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNcIixcblx0XHRcImVjczpVcGRhdGVDYXBhY2l0eVByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcImVjczpVcGRhdGVDbHVzdGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyU2V0dGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2V0dGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlVwZGF0ZUNsdXN0ZXJTZXR0aW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb250YWluZXJBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckFnZW50OiBzdHJpbmdbXSA9IFtcImVjczpVcGRhdGVDb250YWluZXJBZ2VudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6VXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGFlbW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGFlbW9uOiBzdHJpbmdbXSA9IFtcImlhbTpQYXNzUm9sZVwiLCBcImVjczpVcGRhdGVEYWVtb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpSZWdpc3RlclRhc2tEZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6VXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlVwZGF0ZVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpVcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGFza1Byb3RlY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXNrUHJvdGVjdGlvbjogc3RyaW5nW10gPSBbXCJlY3M6VXBkYXRlVGFza1Byb3RlY3Rpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRhc2tTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXNrU2V0OiBzdHJpbmdbXSA9IFtcImVjczpVcGRhdGVUYXNrU2V0XCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgZWNzLlxuICovXG5leHBvcnQgY2xhc3MgRUNTQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhcGFjaXR5UHJvdmlkZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsdXN0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6ZmFyZ2F0ZS1lcGhlbWVyYWwtc3RvcmFnZS1rbXMta2V5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEYWVtb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGFlbW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczpkYWVtb24tdGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRcdFwiZWNzOnN1Ym5ldFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVicy12b2x1bWVzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdFwiLFxuXHRcdFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiLFxuXHRcdFwiZWNzOm5hbWVzcGFjZVwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdFx0XCJlY3M6c3VibmV0XCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLWRlZmluaXRpb25cIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVGFza1NldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXNrU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdFx0XCJlY3M6c2VydmljZVwiLFxuXHRcdFwiZWNzOnRhc2stZGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQWNjb3VudFNldHRpbmcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWNjb3VudFNldHRpbmdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczphY2NvdW50LXNldHRpbmdcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUF0dHJpYnV0ZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXR0cmlidXRlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUNhcGFjaXR5UHJvdmlkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FwYWNpdHlQcm92aWRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlU2VydmljZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVGFza0RlZmluaXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhc2tEZWZpbml0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVGFza1NldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXNrU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVNlcnZpY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVRhc2tTZXRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza1NldHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdFx0XCJlY3M6c2VydmljZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVUYXNrcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRXhlY3V0ZUNvbW1hbmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhlY3V0ZUNvbW1hbmRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdFx0XCJlY3M6Y29udGFpbmVyLW5hbWVcIixcblx0XHRcImVjczp0YXNrXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRUYXNrUHJvdGVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUYXNrUHJvdGVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3REYWVtb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJlY3M6Y2x1c3RlclwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RTZXJ2aWNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImVjczpjbHVzdGVyXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFNlcnZpY2VzQnlOYW1lc3BhY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzQnlOYW1lc3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpuYW1lc3BhY2VcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFBvbGwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUG9sbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiZWNzOmNsdXN0ZXJcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRBY2NvdW50U2V0dGluZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOmFjY291bnQtc2V0dGluZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0QWNjb3VudFNldHRpbmdEZWZhdWx0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnRTZXR0aW5nRGVmYXVsdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOmFjY291bnQtc2V0dGluZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0QXR0cmlidXRlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBdHRyaWJ1dGVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOnByaXZpbGVnZWRcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlclRhc2tEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFza0RlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpjb21wdXRlLWNvbXBhdGliaWxpdHlcIixcblx0XHRcImVjczpwcml2aWxlZ2VkXCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUnVuVGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSdW5UYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVicy12b2x1bWVzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0VGFzayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdFx0XCJlY3M6Y29udGFpbmVyLWluc3RhbmNlc1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmRcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRlbGVtZXRyeVNlc3Npb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZWxlbWV0cnlTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RvcFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOkNyZWF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6aW5zdGFuY2UtbWV0YWRhdGEtdGFncy1wcm9wYWdhdGlvblwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUNvbnRhaW5lckFnZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckFnZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEYWVtb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGFlbW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczpkYWVtb24tdGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRcdFwiZWNzOnN1Ym5ldFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVicy12b2x1bWVzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdFwiLFxuXHRcdFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiLFxuXHRcdFwiZWNzOm5hbWVzcGFjZVwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdFx0XCJlY3M6c3VibmV0XCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLWRlZmluaXRpb25cIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVRhc2tQcm90ZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tQcm90ZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVGFza1NldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXNrU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJlY3M6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcImVjczpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczphY2NvdW50LXNldHRpbmcgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFDQ09VTlRfU0VUVElORyA9IFwiZWNzOmFjY291bnQtc2V0dGluZ1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVE9fQVNTSUdOX1BVQkxJQ19JUCA9IFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmNhcGFjaXR5LXByb3ZpZGVyIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0FQQUNJVFlfUFJPVklERVIgPSBcImVjczpjYXBhY2l0eS1wcm92aWRlclwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmNsdXN0ZXIgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IENMVVNURVIgPSBcImVjczpjbHVzdGVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5IChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09NUFVURV9DT01QQVRJQklMSVRZID0gXCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Y29udGFpbmVyLWluc3RhbmNlcyAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09OVEFJTkVSX0lOU1RBTkNFUyA9IFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpjb250YWluZXItbmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09OVEFJTkVSX05BTUUgPSBcImVjczpjb250YWluZXItbmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmRhZW1vbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFFTU9OID0gXCJlY3M6ZGFlbW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFFTU9OX1RBU0tfREVGSU5JVElPTiA9IFwiZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczplbmFibGUtZWJzLXZvbHVtZXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9FQlNfVk9MVU1FUyA9IFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX0VDU19NQU5BR0VEX1RBR1MgPSBcImVjczplbmFibGUtZWNzLW1hbmFnZWQtdGFnc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9FWEVDVVRFX0NPTU1BTkQgPSBcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX1NFUlZJQ0VfQ09OTkVDVCA9IFwiZWNzOmVuYWJsZS1zZXJ2aWNlLWNvbm5lY3RcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczplbmFibGUtdnBjLWxhdHRpY2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9WUENfTEFUVElDRSA9IFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkFSR0FURV9FUEhFTUVSQUxfU1RPUkFHRV9LTVNfS0VZID1cblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpnYXRld2F5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHQVRFV0FZID0gXCJlY3M6Z2F0ZXdheVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlNUQU5DRV9NRVRBREFUQV9UQUdTX1BST1BBR0FUSU9OID1cblx0XHRcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6bmFtZXNwYWNlIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBOQU1FU1BBQ0UgPSBcImVjczpuYW1lc3BhY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpwcml2aWxlZ2VkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUklWSUxFR0VEID0gXCJlY3M6cHJpdmlsZWdlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnByb3BhZ2F0ZS10YWdzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUk9QQUdBVEVfVEFHUyA9IFwiZWNzOnByb3BhZ2F0ZS10YWdzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6c2VydmljZSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRSA9IFwiZWNzOnNlcnZpY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpzdWJuZXQgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTVUJORVQgPSBcImVjczpzdWJuZXRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczp0YXNrIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLID0gXCJlY3M6dGFza1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnRhc2stY3B1IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFTS19DUFUgPSBcImVjczp0YXNrLWNwdVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnRhc2stZGVmaW5pdGlvbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFTS19ERUZJTklUSU9OID0gXCJlY3M6dGFzay1kZWZpbml0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6dGFzay1tZW1vcnkgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLX01FTU9SWSA9IFwiZWNzOnRhc2stbWVtb3J5XCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpDcmVhdGVBY3Rpb25gLlxuXHQgKi9cblx0c3RhdGljIGNyZWF0ZUFjdGlvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpDcmVhdGVBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczphY2NvdW50LXNldHRpbmdgLlxuXHQgKi9cblx0c3RhdGljIGFjY291bnRTZXR0aW5nKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmFjY291bnQtc2V0dGluZ1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcGAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b0Fzc2lnblB1YmxpY0lQKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlY3M6YXV0by1hc3NpZ24tcHVibGljLWlwXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y2FwYWNpdHktcHJvdmlkZXJgLlxuXHQgKi9cblx0c3RhdGljIGNhcGFjaXR5UHJvdmlkZXIoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHsgXCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y2x1c3RlcmAuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImVjczpjbHVzdGVyXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5YC5cblx0ICovXG5cdHN0YXRpYyBjb21wdXRlQ29tcGF0aWJpbGl0eShcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNgLlxuXHQgKi9cblx0c3RhdGljIGNvbnRhaW5lckluc3RhbmNlcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpjb250YWluZXItbmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgY29udGFpbmVyTmFtZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpjb250YWluZXItbmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmRhZW1vbmAuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOmRhZW1vblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vblRhc2tEZWZpbml0aW9uKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmVuYWJsZS1lYnMtdm9sdW1lc2AuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlRUJTVm9sdW1lcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVFQ1NNYW5hZ2VkVGFncyhcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZGAuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlRXhlY3V0ZUNvbW1hbmQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdGAuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlU2VydmljZUNvbm5lY3QoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczplbmFibGUtc2VydmljZS1jb25uZWN0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVWUENMYXR0aWNlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZmFyZ2F0ZS1lcGhlbWVyYWwtc3RvcmFnZS1rbXMta2V5YC5cblx0ICovXG5cdHN0YXRpYyBmYXJnYXRlRXBoZW1lcmFsU3RvcmFnZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmdhdGV3YXlgLlxuXHQgKi9cblx0c3RhdGljIGdhdGV3YXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6Z2F0ZXdheVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlTWV0YWRhdGFUYWdzUHJvcGFnYXRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6bmFtZXNwYWNlYC5cblx0ICovXG5cdHN0YXRpYyBuYW1lc3BhY2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6bmFtZXNwYWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6cHJpdmlsZWdlZGAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpdmlsZWdlZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpwcml2aWxlZ2VkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6cHJvcGFnYXRlLXRhZ3NgLlxuXHQgKi9cblx0c3RhdGljIHByb3BhZ2F0ZVRhZ3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlY3M6cHJvcGFnYXRlLXRhZ3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpzZXJ2aWNlYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOnNlcnZpY2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpzdWJuZXRgLlxuXHQgKi9cblx0c3RhdGljIHN1Ym5ldCh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlY3M6c3VibmV0XCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2tgLlxuXHQgKi9cblx0c3RhdGljIHRhc2sodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6dGFza1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2stY3B1YC5cblx0ICovXG5cdHN0YXRpYyB0YXNrQ3B1KHZhbHVlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVjczp0YXNrLWNwdVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2stZGVmaW5pdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgdGFza0RlZmluaXRpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6dGFzay1kZWZpbml0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6dGFzay1tZW1vcnlgLlxuXHQgKi9cblx0c3RhdGljIHRhc2tNZW1vcnkodmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWNzOnRhc2stbWVtb3J5XCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19