@cdk_utils/iam 1.33.0 → 1.35.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 (466) 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.d.ts +8 -0
  7. package/lib/generated/services/account.js +17 -5
  8. package/lib/generated/services/acm-pca.js +4 -4
  9. package/lib/generated/services/acm.js +4 -4
  10. package/lib/generated/services/aco-automation.js +4 -4
  11. package/lib/generated/services/action-recommendations.js +1 -1
  12. package/lib/generated/services/activate.js +1 -1
  13. package/lib/generated/services/agent-registry.js +4 -4
  14. package/lib/generated/services/agentaccess-mcp.js +2 -2
  15. package/lib/generated/services/aidevops.js +4 -4
  16. package/lib/generated/services/aiops.js +4 -4
  17. package/lib/generated/services/airflow-serverless.js +4 -4
  18. package/lib/generated/services/airflow.js +4 -4
  19. package/lib/generated/services/amplify.js +4 -4
  20. package/lib/generated/services/amplifybackend.js +3 -3
  21. package/lib/generated/services/amplifyuibuilder.js +4 -4
  22. package/lib/generated/services/aoss.js +4 -4
  23. package/lib/generated/services/apigateway.js +4 -4
  24. package/lib/generated/services/app-integrations.js +4 -4
  25. package/lib/generated/services/appconfig.js +4 -4
  26. package/lib/generated/services/appfabric.js +4 -4
  27. package/lib/generated/services/appflow.js +4 -4
  28. package/lib/generated/services/application-autoscaling.js +4 -4
  29. package/lib/generated/services/application-signals-mcp.js +3 -3
  30. package/lib/generated/services/application-signals.js +4 -4
  31. package/lib/generated/services/application-transformation.js +1 -1
  32. package/lib/generated/services/applicationinsights.js +3 -3
  33. package/lib/generated/services/appmesh-preview.js +2 -2
  34. package/lib/generated/services/appmesh.js +4 -4
  35. package/lib/generated/services/apprunner.js +4 -4
  36. package/lib/generated/services/appstream.js +4 -4
  37. package/lib/generated/services/appstudio.js +2 -2
  38. package/lib/generated/services/appsync.js +4 -4
  39. package/lib/generated/services/apptest.js +3 -3
  40. package/lib/generated/services/aps.js +4 -4
  41. package/lib/generated/services/arc-region-switch.js +4 -4
  42. package/lib/generated/services/arc-zonal-shift.js +4 -4
  43. package/lib/generated/services/arsenal.js +1 -1
  44. package/lib/generated/services/artifact.js +4 -4
  45. package/lib/generated/services/athena.js +4 -4
  46. package/lib/generated/services/auditmanager.js +4 -4
  47. package/lib/generated/services/autoscaling-plans.js +2 -2
  48. package/lib/generated/services/autoscaling.js +4 -4
  49. package/lib/generated/services/aws-external-anthropic.js +3 -3
  50. package/lib/generated/services/aws-marketplace-management.js +1 -1
  51. package/lib/generated/services/aws-marketplace.js +6 -5
  52. package/lib/generated/services/aws-portal.js +1 -1
  53. package/lib/generated/services/awsconnector.js +1 -1
  54. package/lib/generated/services/b2bi.js +4 -4
  55. package/lib/generated/services/backup-gateway.js +4 -4
  56. package/lib/generated/services/backup-search.js +4 -4
  57. package/lib/generated/services/backup-storage.js +1 -1
  58. package/lib/generated/services/backup.js +4 -4
  59. package/lib/generated/services/batch.js +4 -4
  60. package/lib/generated/services/bcm-dashboards.js +4 -4
  61. package/lib/generated/services/bcm-data-exports.js +4 -4
  62. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  63. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  64. package/lib/generated/services/bedrock-agentcore.js +4 -4
  65. package/lib/generated/services/bedrock-mantle.js +3 -3
  66. package/lib/generated/services/bedrock-websearch.js +2 -2
  67. package/lib/generated/services/bedrock.js +4 -4
  68. package/lib/generated/services/billing.js +4 -4
  69. package/lib/generated/services/billingconductor.js +4 -4
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +4 -4
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.js +4 -4
  91. package/lib/generated/services/codeartifact.js +4 -4
  92. package/lib/generated/services/codebuild.js +4 -4
  93. package/lib/generated/services/codecatalyst.js +4 -4
  94. package/lib/generated/services/codecommit.js +4 -4
  95. package/lib/generated/services/codeconnections.js +4 -4
  96. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  97. package/lib/generated/services/codedeploy.js +4 -4
  98. package/lib/generated/services/codeguru-profiler.js +4 -4
  99. package/lib/generated/services/codeguru-reviewer.js +4 -4
  100. package/lib/generated/services/codeguru-security.js +4 -4
  101. package/lib/generated/services/codeguru.js +1 -1
  102. package/lib/generated/services/codepipeline.js +4 -4
  103. package/lib/generated/services/codestar-connections.js +4 -4
  104. package/lib/generated/services/codestar-notifications.js +4 -4
  105. package/lib/generated/services/codestar.js +3 -3
  106. package/lib/generated/services/codewhisperer.js +3 -3
  107. package/lib/generated/services/cognito-identity.js +4 -4
  108. package/lib/generated/services/cognito-idp.js +4 -4
  109. package/lib/generated/services/cognito-sync.js +3 -3
  110. package/lib/generated/services/comprehend.js +4 -4
  111. package/lib/generated/services/comprehendmedical.js +3 -3
  112. package/lib/generated/services/compute-optimizer.js +3 -3
  113. package/lib/generated/services/config.js +4 -4
  114. package/lib/generated/services/connect-campaigns.js +4 -4
  115. package/lib/generated/services/connect.js +4 -4
  116. package/lib/generated/services/consoleapp.js +2 -2
  117. package/lib/generated/services/consolidatedbilling.js +1 -1
  118. package/lib/generated/services/controlcatalog.js +3 -3
  119. package/lib/generated/services/controltower.js +4 -4
  120. package/lib/generated/services/cost-optimization-hub.js +2 -2
  121. package/lib/generated/services/cur.js +4 -4
  122. package/lib/generated/services/customer-verification.js +1 -1
  123. package/lib/generated/services/databrew.js +4 -4
  124. package/lib/generated/services/dataexchange.js +4 -4
  125. package/lib/generated/services/datapipeline.js +4 -4
  126. package/lib/generated/services/datasync.js +4 -4
  127. package/lib/generated/services/datazone.d.ts +0 -28
  128. package/lib/generated/services/datazone.js +5 -47
  129. package/lib/generated/services/dax.js +4 -4
  130. package/lib/generated/services/dbqms.js +1 -1
  131. package/lib/generated/services/deadline.js +4 -4
  132. package/lib/generated/services/detective.js +4 -4
  133. package/lib/generated/services/devicefarm.js +4 -4
  134. package/lib/generated/services/devops-guru.js +4 -4
  135. package/lib/generated/services/directconnect.js +4 -4
  136. package/lib/generated/services/discovery.js +3 -3
  137. package/lib/generated/services/dlm.js +4 -4
  138. package/lib/generated/services/dms.js +4 -4
  139. package/lib/generated/services/docdb-elastic.js +4 -4
  140. package/lib/generated/services/drs.js +4 -4
  141. package/lib/generated/services/ds-data.js +4 -4
  142. package/lib/generated/services/ds.js +4 -4
  143. package/lib/generated/services/dsql.js +4 -4
  144. package/lib/generated/services/dynamodb.js +4 -4
  145. package/lib/generated/services/ebs.js +4 -4
  146. package/lib/generated/services/ec2-instance-connect.js +4 -4
  147. package/lib/generated/services/ec2.js +4 -4
  148. package/lib/generated/services/ec2messages.js +2 -2
  149. package/lib/generated/services/ecr-public.js +4 -4
  150. package/lib/generated/services/ecr.js +4 -4
  151. package/lib/generated/services/ecs-mcp.js +1 -1
  152. package/lib/generated/services/ecs.js +7 -5
  153. package/lib/generated/services/eks-auth.js +4 -4
  154. package/lib/generated/services/eks-mcp.js +1 -1
  155. package/lib/generated/services/eks.js +4 -4
  156. package/lib/generated/services/elasticache.d.ts +6 -0
  157. package/lib/generated/services/elasticache.js +13 -5
  158. package/lib/generated/services/elasticbeanstalk.js +4 -4
  159. package/lib/generated/services/elasticfilesystem.js +4 -4
  160. package/lib/generated/services/elasticloadbalancing.js +5 -6
  161. package/lib/generated/services/elasticmapreduce.js +4 -4
  162. package/lib/generated/services/elastictranscoder.js +2 -2
  163. package/lib/generated/services/elemental-activations.js +1 -1
  164. package/lib/generated/services/elemental-appliances-software.js +2 -2
  165. package/lib/generated/services/elemental-inference.js +4 -4
  166. package/lib/generated/services/elemental-support-cases.js +3 -3
  167. package/lib/generated/services/elemental-support-content.js +1 -1
  168. package/lib/generated/services/emr-containers.js +4 -4
  169. package/lib/generated/services/emr-serverless.js +4 -4
  170. package/lib/generated/services/entityresolution.js +4 -4
  171. package/lib/generated/services/es.js +4 -4
  172. package/lib/generated/services/events.js +4 -4
  173. package/lib/generated/services/eventsbilltoaws.js +3 -3
  174. package/lib/generated/services/evidently.js +3 -3
  175. package/lib/generated/services/evs.js +4 -4
  176. package/lib/generated/services/execute-api.js +4 -4
  177. package/lib/generated/services/finops-agent.js +1 -1
  178. package/lib/generated/services/finspace-api.js +3 -3
  179. package/lib/generated/services/finspace.js +4 -4
  180. package/lib/generated/services/firehose.js +4 -4
  181. package/lib/generated/services/fis.js +4 -4
  182. package/lib/generated/services/fms.js +4 -4
  183. package/lib/generated/services/forecast.js +4 -4
  184. package/lib/generated/services/frauddetector.js +4 -4
  185. package/lib/generated/services/freertos.js +3 -3
  186. package/lib/generated/services/freetier.js +2 -2
  187. package/lib/generated/services/fsx.js +4 -4
  188. package/lib/generated/services/gamelift.js +4 -4
  189. package/lib/generated/services/gameliftstreams.js +4 -4
  190. package/lib/generated/services/geo-maps.js +3 -3
  191. package/lib/generated/services/geo-places.js +3 -3
  192. package/lib/generated/services/geo-routes.js +3 -3
  193. package/lib/generated/services/geo.js +4 -4
  194. package/lib/generated/services/glacier.js +4 -4
  195. package/lib/generated/services/globalaccelerator.js +4 -4
  196. package/lib/generated/services/glue.js +4 -4
  197. package/lib/generated/services/grafana.js +4 -4
  198. package/lib/generated/services/greengrass.js +4 -4
  199. package/lib/generated/services/groundstation.js +4 -4
  200. package/lib/generated/services/groundtruthlabeling.js +1 -1
  201. package/lib/generated/services/guardduty.js +4 -4
  202. package/lib/generated/services/health-agent.js +4 -4
  203. package/lib/generated/services/health.js +4 -4
  204. package/lib/generated/services/healthlake.js +4 -4
  205. package/lib/generated/services/honeycode.js +2 -2
  206. package/lib/generated/services/iam.js +4 -4
  207. package/lib/generated/services/identity-sync.js +2 -2
  208. package/lib/generated/services/identitystore-auth.js +1 -1
  209. package/lib/generated/services/identitystore.d.ts +6 -0
  210. package/lib/generated/services/identitystore.js +17 -5
  211. package/lib/generated/services/imagebuilder.js +4 -4
  212. package/lib/generated/services/importexport.js +2 -2
  213. package/lib/generated/services/inspector-scan.js +2 -2
  214. package/lib/generated/services/inspector.js +2 -2
  215. package/lib/generated/services/inspector2-telemetry.js +1 -1
  216. package/lib/generated/services/inspector2.js +4 -4
  217. package/lib/generated/services/interconnect.js +4 -4
  218. package/lib/generated/services/internetmonitor.js +4 -4
  219. package/lib/generated/services/invoicing.js +4 -4
  220. package/lib/generated/services/iot-device-tester.js +1 -1
  221. package/lib/generated/services/iot.js +4 -4
  222. package/lib/generated/services/iotanalytics.js +3 -3
  223. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  224. package/lib/generated/services/iotevents.js +3 -3
  225. package/lib/generated/services/iotfleethub.js +3 -3
  226. package/lib/generated/services/iotfleetwise.js +4 -4
  227. package/lib/generated/services/iotjobsdata.js +4 -4
  228. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  229. package/lib/generated/services/iotsitewise.js +4 -4
  230. package/lib/generated/services/iottwinmaker.js +4 -4
  231. package/lib/generated/services/iotwireless.js +4 -4
  232. package/lib/generated/services/iq-permission.js +2 -2
  233. package/lib/generated/services/iq.js +2 -2
  234. package/lib/generated/services/ivs.js +4 -4
  235. package/lib/generated/services/ivschat.js +4 -4
  236. package/lib/generated/services/kafka-cluster.js +3 -3
  237. package/lib/generated/services/kafka.js +4 -4
  238. package/lib/generated/services/kafkaconnect.js +4 -4
  239. package/lib/generated/services/kendra-ranking.js +4 -4
  240. package/lib/generated/services/kendra.js +4 -4
  241. package/lib/generated/services/kinesis.js +4 -4
  242. package/lib/generated/services/kinesisanalytics.js +4 -4
  243. package/lib/generated/services/kinesisvideo.js +4 -4
  244. package/lib/generated/services/kms.js +4 -4
  245. package/lib/generated/services/lakeformation.js +3 -3
  246. package/lib/generated/services/lambda.js +4 -4
  247. package/lib/generated/services/launchwizard.js +4 -4
  248. package/lib/generated/services/lex.js +4 -4
  249. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  251. package/lib/generated/services/license-manager.js +4 -4
  252. package/lib/generated/services/lightsail.js +4 -4
  253. package/lib/generated/services/logs.js +4 -4
  254. package/lib/generated/services/lookoutequipment.js +4 -4
  255. package/lib/generated/services/lookoutmetrics.js +3 -3
  256. package/lib/generated/services/lookoutvision.js +3 -3
  257. package/lib/generated/services/m2.js +4 -4
  258. package/lib/generated/services/machinelearning.js +3 -3
  259. package/lib/generated/services/macie2.js +4 -4
  260. package/lib/generated/services/managedblockchain-query.js +2 -2
  261. package/lib/generated/services/managedblockchain.js +4 -4
  262. package/lib/generated/services/mapcredits.js +2 -2
  263. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  264. package/lib/generated/services/mechanicalturk.js +2 -2
  265. package/lib/generated/services/mediaconnect.js +4 -4
  266. package/lib/generated/services/mediaconvert.js +4 -4
  267. package/lib/generated/services/mediaimport.js +1 -1
  268. package/lib/generated/services/medialive.js +4 -4
  269. package/lib/generated/services/mediapackage-vod.js +4 -4
  270. package/lib/generated/services/mediapackage.js +4 -4
  271. package/lib/generated/services/mediapackagev2.js +4 -4
  272. package/lib/generated/services/mediastore.js +4 -4
  273. package/lib/generated/services/mediatailor.js +4 -4
  274. package/lib/generated/services/medical-imaging.js +4 -4
  275. package/lib/generated/services/memorydb.js +4 -4
  276. package/lib/generated/services/mgh.js +4 -4
  277. package/lib/generated/services/mgn.js +4 -4
  278. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  279. package/lib/generated/services/migrationhub-strategy.js +2 -2
  280. package/lib/generated/services/mobileanalytics.js +1 -1
  281. package/lib/generated/services/mobiletargeting.js +4 -4
  282. package/lib/generated/services/monitron.js +3 -3
  283. package/lib/generated/services/mpa.js +4 -4
  284. package/lib/generated/services/mq.js +4 -4
  285. package/lib/generated/services/neptune-db.js +4 -4
  286. package/lib/generated/services/neptune-graph.js +4 -4
  287. package/lib/generated/services/network-firewall.js +4 -4
  288. package/lib/generated/services/network-security-director.js +1 -1
  289. package/lib/generated/services/network-security-manager.js +4 -4
  290. package/lib/generated/services/networkflowmonitor.js +4 -4
  291. package/lib/generated/services/networkmanager-chat.js +1 -1
  292. package/lib/generated/services/networkmanager.js +4 -4
  293. package/lib/generated/services/networkmonitor.js +4 -4
  294. package/lib/generated/services/nimble.js +3 -3
  295. package/lib/generated/services/notifications-contacts.js +4 -4
  296. package/lib/generated/services/notifications.js +4 -4
  297. package/lib/generated/services/nova-act.js +3 -3
  298. package/lib/generated/services/oam.js +4 -4
  299. package/lib/generated/services/observabilityadmin.js +4 -4
  300. package/lib/generated/services/odb.js +4 -4
  301. package/lib/generated/services/omics.js +4 -4
  302. package/lib/generated/services/one.js +3 -3
  303. package/lib/generated/services/opensearch.js +3 -3
  304. package/lib/generated/services/opsworks-cm.js +2 -2
  305. package/lib/generated/services/opsworks.js +2 -2
  306. package/lib/generated/services/organizations.js +4 -4
  307. package/lib/generated/services/osis.js +4 -4
  308. package/lib/generated/services/outposts.js +4 -4
  309. package/lib/generated/services/panorama.js +3 -3
  310. package/lib/generated/services/partnercentral-account-management.js +2 -2
  311. package/lib/generated/services/partnercentral.js +4 -4
  312. package/lib/generated/services/payment-cryptography.js +4 -4
  313. package/lib/generated/services/payments.js +3 -3
  314. package/lib/generated/services/pca-connector-ad.js +4 -4
  315. package/lib/generated/services/pca-connector-scep.js +4 -4
  316. package/lib/generated/services/pcs.js +4 -4
  317. package/lib/generated/services/personalize.js +4 -4
  318. package/lib/generated/services/pi.js +4 -4
  319. package/lib/generated/services/pipes.js +4 -4
  320. package/lib/generated/services/polly.js +3 -3
  321. package/lib/generated/services/pricing.js +2 -2
  322. package/lib/generated/services/pricingplanmanager.js +3 -3
  323. package/lib/generated/services/private-networks.js +3 -3
  324. package/lib/generated/services/profile.js +4 -4
  325. package/lib/generated/services/proton.js +4 -4
  326. package/lib/generated/services/purchase-orders.js +3 -3
  327. package/lib/generated/services/q.js +3 -3
  328. package/lib/generated/services/qapps.js +4 -4
  329. package/lib/generated/services/qbusiness.js +4 -4
  330. package/lib/generated/services/qdeveloper.js +3 -3
  331. package/lib/generated/services/qldb.js +3 -3
  332. package/lib/generated/services/quicksight.js +4 -4
  333. package/lib/generated/services/ram.js +4 -4
  334. package/lib/generated/services/rbin.js +4 -4
  335. package/lib/generated/services/rds-data.js +4 -4
  336. package/lib/generated/services/rds-db.js +2 -2
  337. package/lib/generated/services/rds.js +5 -6
  338. package/lib/generated/services/redshift-data.js +4 -4
  339. package/lib/generated/services/redshift-serverless.js +4 -4
  340. package/lib/generated/services/redshift.js +4 -4
  341. package/lib/generated/services/refactor-spaces.js +4 -4
  342. package/lib/generated/services/rekognition.js +4 -4
  343. package/lib/generated/services/repostspace.js +4 -4
  344. package/lib/generated/services/researchstudio.js +1 -1
  345. package/lib/generated/services/resiliencehub.js +4 -4
  346. package/lib/generated/services/resource-explorer-2.js +4 -4
  347. package/lib/generated/services/resource-explorer.js +1 -1
  348. package/lib/generated/services/resource-groups.js +4 -4
  349. package/lib/generated/services/rhelkb.js +1 -1
  350. package/lib/generated/services/robomaker.js +3 -3
  351. package/lib/generated/services/rolesanywhere.js +4 -4
  352. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  353. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  354. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  355. package/lib/generated/services/route53.js +4 -4
  356. package/lib/generated/services/route53domains.js +2 -2
  357. package/lib/generated/services/route53globalresolver.js +4 -4
  358. package/lib/generated/services/route53profiles.js +4 -4
  359. package/lib/generated/services/route53resolver.js +4 -4
  360. package/lib/generated/services/rtbfabric.js +4 -4
  361. package/lib/generated/services/rum.js +4 -4
  362. package/lib/generated/services/s3-object-lambda.js +3 -3
  363. package/lib/generated/services/s3-outposts.js +4 -4
  364. package/lib/generated/services/s3.js +4 -4
  365. package/lib/generated/services/s3express.js +3 -3
  366. package/lib/generated/services/s3files.js +4 -4
  367. package/lib/generated/services/s3tables.js +4 -4
  368. package/lib/generated/services/s3vectors.d.ts +12 -0
  369. package/lib/generated/services/s3vectors.js +25 -5
  370. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  371. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  372. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  373. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  374. package/lib/generated/services/sagemaker.js +6 -5
  375. package/lib/generated/services/savingsplans.js +4 -4
  376. package/lib/generated/services/scheduler.js +4 -4
  377. package/lib/generated/services/schemas.js +4 -4
  378. package/lib/generated/services/scn.js +4 -4
  379. package/lib/generated/services/sdb.js +3 -3
  380. package/lib/generated/services/secretsmanager.js +4 -4
  381. package/lib/generated/services/security-ir.js +4 -4
  382. package/lib/generated/services/securityagent.d.ts +2 -0
  383. package/lib/generated/services/securityagent.js +9 -5
  384. package/lib/generated/services/securityhub.d.ts +4 -0
  385. package/lib/generated/services/securityhub.js +11 -5
  386. package/lib/generated/services/securitylake.js +4 -4
  387. package/lib/generated/services/serverlessrepo.js +4 -4
  388. package/lib/generated/services/servicecatalog.js +5 -11
  389. package/lib/generated/services/servicediscovery.js +4 -4
  390. package/lib/generated/services/serviceextract.js +1 -1
  391. package/lib/generated/services/servicequotas.js +4 -4
  392. package/lib/generated/services/ses.js +4 -4
  393. package/lib/generated/services/shield.js +4 -4
  394. package/lib/generated/services/signer.js +4 -4
  395. package/lib/generated/services/signin.js +4 -4
  396. package/lib/generated/services/simspaceweaver.js +3 -3
  397. package/lib/generated/services/sms-voice.js +4 -4
  398. package/lib/generated/services/sms.js +1 -1
  399. package/lib/generated/services/snow-device-management.js +4 -4
  400. package/lib/generated/services/snowball.js +2 -2
  401. package/lib/generated/services/sns.js +4 -4
  402. package/lib/generated/services/social-messaging.js +4 -4
  403. package/lib/generated/services/sqlworkbench.js +3 -3
  404. package/lib/generated/services/sqs.js +4 -4
  405. package/lib/generated/services/ssm-contacts.js +4 -4
  406. package/lib/generated/services/ssm-guiconnect.js +2 -2
  407. package/lib/generated/services/ssm-incidents.js +4 -4
  408. package/lib/generated/services/ssm-quicksetup.js +4 -4
  409. package/lib/generated/services/ssm-sap.js +4 -4
  410. package/lib/generated/services/ssm.js +4 -4
  411. package/lib/generated/services/ssmmessages.js +2 -2
  412. package/lib/generated/services/sso-directory.js +1 -1
  413. package/lib/generated/services/sso-oauth.js +3 -3
  414. package/lib/generated/services/sso.js +4 -4
  415. package/lib/generated/services/startups.js +1 -1
  416. package/lib/generated/services/states.js +4 -4
  417. package/lib/generated/services/storagegateway.js +4 -4
  418. package/lib/generated/services/sts.js +4 -4
  419. package/lib/generated/services/support-console.js +1 -1
  420. package/lib/generated/services/support.js +2 -2
  421. package/lib/generated/services/supportapp.js +2 -2
  422. package/lib/generated/services/supportauthz.js +4 -4
  423. package/lib/generated/services/supportplans.js +1 -1
  424. package/lib/generated/services/sustainability.js +2 -2
  425. package/lib/generated/services/swf.js +4 -4
  426. package/lib/generated/services/synthetics.js +4 -4
  427. package/lib/generated/services/tag.js +2 -2
  428. package/lib/generated/services/tax.js +2 -2
  429. package/lib/generated/services/textract.js +4 -4
  430. package/lib/generated/services/thinclient.js +4 -4
  431. package/lib/generated/services/timestream-influxdb.js +4 -4
  432. package/lib/generated/services/timestream.js +4 -4
  433. package/lib/generated/services/tiros.js +1 -1
  434. package/lib/generated/services/tnb.js +4 -4
  435. package/lib/generated/services/transcribe.js +4 -4
  436. package/lib/generated/services/transfer.js +4 -4
  437. package/lib/generated/services/transform-custom.js +3 -3
  438. package/lib/generated/services/transform.js +3 -3
  439. package/lib/generated/services/translate.js +4 -4
  440. package/lib/generated/services/trustedadvisor.js +3 -3
  441. package/lib/generated/services/ts.js +3 -3
  442. package/lib/generated/services/user-subscriptions.js +2 -2
  443. package/lib/generated/services/uxc.js +2 -2
  444. package/lib/generated/services/vendor-insights.js +3 -3
  445. package/lib/generated/services/verified-access.js +1 -1
  446. package/lib/generated/services/verifiedpermissions.js +4 -4
  447. package/lib/generated/services/voiceid.js +4 -4
  448. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  449. package/lib/generated/services/vpc-lattice.js +4 -4
  450. package/lib/generated/services/vpce.js +2 -2
  451. package/lib/generated/services/waf-regional.js +4 -4
  452. package/lib/generated/services/waf.js +4 -4
  453. package/lib/generated/services/wafv2.js +4 -4
  454. package/lib/generated/services/wam.js +1 -1
  455. package/lib/generated/services/wellarchitected.js +4 -4
  456. package/lib/generated/services/wickr.js +4 -4
  457. package/lib/generated/services/wisdom.js +4 -4
  458. package/lib/generated/services/workdocs.js +3 -3
  459. package/lib/generated/services/worklink.js +3 -3
  460. package/lib/generated/services/workmail.js +4 -4
  461. package/lib/generated/services/workmailmessageflow.js +3 -3
  462. package/lib/generated/services/workspaces-instances.js +4 -4
  463. package/lib/generated/services/workspaces-web.js +4 -4
  464. package/lib/generated/services/workspaces.js +4 -4
  465. package/lib/generated/services/xray.js +4 -4
  466. package/package.json +1 -1
@@ -16,7 +16,7 @@ class ElasticloadbalancingActions {
16
16
  }
17
17
  exports.ElasticloadbalancingActions = ElasticloadbalancingActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ElasticloadbalancingActions[_a] = { fqn: "@cdk_utils/iam.elasticloadbalancing.ElasticloadbalancingActions", version: "1.33.0" };
19
+ ElasticloadbalancingActions[_a] = { fqn: "@cdk_utils/iam.elasticloadbalancing.ElasticloadbalancingActions", version: "1.35.0" };
20
20
  /** The IAM service prefix. */
21
21
  ElasticloadbalancingActions.SERVICE_PREFIX = "elasticloadbalancing";
22
22
  /** [Write] elasticloadbalancing:AddListenerCertificates */
@@ -608,7 +608,7 @@ class ElasticloadbalancingResources {
608
608
  }
609
609
  exports.ElasticloadbalancingResources = ElasticloadbalancingResources;
610
610
  _b = JSII_RTTI_SYMBOL_1;
611
- ElasticloadbalancingResources[_b] = { fqn: "@cdk_utils/iam.elasticloadbalancing.ElasticloadbalancingResources", version: "1.33.0" };
611
+ ElasticloadbalancingResources[_b] = { fqn: "@cdk_utils/iam.elasticloadbalancing.ElasticloadbalancingResources", version: "1.35.0" };
612
612
  /**
613
613
  * API operation to required IAM actions mapping for elasticloadbalancing.
614
614
  */
@@ -616,7 +616,7 @@ class ElasticloadbalancingOperations {
616
616
  }
617
617
  exports.ElasticloadbalancingOperations = ElasticloadbalancingOperations;
618
618
  _c = JSII_RTTI_SYMBOL_1;
619
- ElasticloadbalancingOperations[_c] = { fqn: "@cdk_utils/iam.elasticloadbalancing.ElasticloadbalancingOperations", version: "1.33.0" };
619
+ ElasticloadbalancingOperations[_c] = { fqn: "@cdk_utils/iam.elasticloadbalancing.ElasticloadbalancingOperations", version: "1.35.0" };
620
620
  /** IAM actions required for the AddListenerCertificates API call. */
621
621
  ElasticloadbalancingOperations.AddListenerCertificates = [
622
622
  "elasticloadbalancing:AddListenerCertificates",
@@ -971,7 +971,7 @@ class ElasticloadbalancingConditions {
971
971
  }
972
972
  exports.ElasticloadbalancingConditions = ElasticloadbalancingConditions;
973
973
  _d = JSII_RTTI_SYMBOL_1;
974
- ElasticloadbalancingConditions[_d] = { fqn: "@cdk_utils/iam.elasticloadbalancing.ElasticloadbalancingConditions", version: "1.33.0" };
974
+ ElasticloadbalancingConditions[_d] = { fqn: "@cdk_utils/iam.elasticloadbalancing.ElasticloadbalancingConditions", version: "1.35.0" };
975
975
  /** Condition keys applicable to the AddListenerCertificates action. */
976
976
  ElasticloadbalancingConditions.AddListenerCertificatesConditionKeys = [
977
977
  "aws:ResourceTag/${TagKey}",
@@ -1031,7 +1031,6 @@ ElasticloadbalancingConditions.CreateLoadBalancerConditionKeys = [
1031
1031
  "aws:RequestTag/${TagKey}",
1032
1032
  "aws:ResourceTag/${TagKey}",
1033
1033
  "aws:TagKeys",
1034
- "elasticloadbalancing:ListenerProtocol",
1035
1034
  "elasticloadbalancing:ResourceTag/${TagKey}",
1036
1035
  "elasticloadbalancing:Scheme",
1037
1036
  "elasticloadbalancing:SecurityGroup",
@@ -1274,4 +1273,4 @@ ElasticloadbalancingConditions.SECURITY_GROUP = "elasticloadbalancing:SecurityGr
1274
1273
  ElasticloadbalancingConditions.SECURITY_POLICY = "elasticloadbalancing:SecurityPolicy";
1275
1274
  /** Condition key: elasticloadbalancing:Subnet (ArrayOfString) */
1276
1275
  ElasticloadbalancingConditions.SUBNET = "elasticloadbalancing:Subnet";
1277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2xvYWRiYWxhbmNpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2VsYXN0aWNsb2FkYmFsYW5jaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsMkRBQTJEO0FBQzNELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLDJCQUEyQjs7QUFBeEMsa0VBa1RDOzs7QUFqVEEsOEJBQThCO0FBQ2QsMENBQWMsR0FBRyxzQkFBc0IsQ0FBQztBQUV4RCwyREFBMkQ7QUFDM0MsbURBQXVCLEdBQ3RDLDhDQUE4QyxDQUFDO0FBQ2hELDZDQUE2QztBQUM3QixtQ0FBTyxHQUFHLDhCQUE4QixDQUFDO0FBQ3pELDREQUE0RDtBQUM1QyxvREFBd0IsR0FDdkMsK0NBQStDLENBQUM7QUFDakQsb0ZBQW9GO0FBQ3BFLDZEQUFpQyxHQUNoRCx3REFBd0QsQ0FBQztBQUMxRCxxRUFBcUU7QUFDckQsNkRBQWlDLEdBQ2hELHdEQUF3RCxDQUFDO0FBQzFELCtEQUErRDtBQUMvQyx1REFBMkIsR0FDMUMsa0RBQWtELENBQUM7QUFDcEQsd0RBQXdEO0FBQ3hDLGdEQUFvQixHQUNuQywyQ0FBMkMsQ0FBQztBQUM3QyxtRUFBbUU7QUFDbkQsMkRBQStCLEdBQzlDLHNEQUFzRCxDQUFDO0FBQ3hELGtFQUFrRTtBQUNsRCwwREFBOEIsR0FDN0MscURBQXFELENBQUM7QUFDdkQsa0RBQWtEO0FBQ2xDLDBDQUFjLEdBQUcscUNBQXFDLENBQUM7QUFDdkUsc0RBQXNEO0FBQ3RDLDhDQUFrQixHQUNqQyx5Q0FBeUMsQ0FBQztBQUMzQywrREFBK0Q7QUFDL0MsdURBQTJCLEdBQzFDLGtEQUFrRCxDQUFDO0FBQ3BELDREQUE0RDtBQUM1QyxvREFBd0IsR0FDdkMsK0NBQStDLENBQUM7QUFDakQsOENB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QztBQUN4RSxpRUFBaUU7QUFDakQscUNBQU0sR0FBRyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2VsYXN0aWNsb2FkYmFsYW5jaW5nLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBlbGFzdGljbG9hZGJhbGFuY2luZyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmdcIjtcblxuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpBZGRMaXN0ZW5lckNlcnRpZmljYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkTGlzdGVuZXJDZXJ0aWZpY2F0ZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkTGlzdGVuZXJDZXJ0aWZpY2F0ZXNcIjtcblx0LyoqIFtUYWdnaW5nXSBlbGFzdGljbG9hZGJhbGFuY2luZzpBZGRUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpBZGRUYWdzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRydXN0U3RvcmVSZXZvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVHJ1c3RTdG9yZVJldm9jYXRpb25zID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRydXN0U3RvcmVSZXZvY2F0aW9uc1wiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBlbGFzdGljbG9hZGJhbGFuY2luZzpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6QXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBBcHBseVNlY3VyaXR5R3JvdXBzVG9Mb2FkQmFsYW5jZXIgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkF0dGFjaExvYWRCYWxhbmNlclRvU3VibmV0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkF0dGFjaExvYWRCYWxhbmNlclRvU3VibmV0c1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpDb25maWd1cmVIZWFsdGhDaGVjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29uZmlndXJlSGVhbHRoQ2hlY2sgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q29uZmlndXJlSGVhbHRoQ2hlY2tcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeSA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVBcHBDb29raWVTdGlja2luZXNzUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxCQ29va2llU3RpY2tpbmVzc1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTEJDb29raWVTdGlja2luZXNzUG9saWN5ID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxCQ29va2llU3RpY2tpbmVzc1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMaXN0ZW5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGlzdGVuZXIgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxpc3RlbmVyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxvYWRCYWxhbmNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxvYWRCYWxhbmNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlckxpc3RlbmVycyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTG9hZEJhbGFuY2VyUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXJQb2xpY3kgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTG9hZEJhbGFuY2VyUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bGUgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVJ1bGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlVGFyZ2V0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhcmdldEdyb3VwID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVUYXJnZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVUcnVzdFN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcnVzdFN0b3JlID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVUcnVzdFN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVdlYkFDTEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXZWJBQ0xBc3NvY2lhdGlvbiA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVXZWJBQ0xBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVMaXN0ZW5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGlzdGVuZXIgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxpc3RlbmVyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxvYWRCYWxhbmNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTG9hZEJhbGFuY2VyID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxvYWRCYWxhbmNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlckxpc3RlbmVycyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlTG9hZEJhbGFuY2VyUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXJQb2xpY3kgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlTG9hZEJhbGFuY2VyUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZVJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJ1bGUgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZVJ1bGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlU2hhcmVkVHJ1c3RTdG9yZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTaGFyZWRUcnVzdFN0b3JlQXNzb2NpYXRpb24gPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlU2hhcmVkVHJ1c3RTdG9yZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZVRhcmdldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXJnZXRHcm91cCA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlVGFyZ2V0R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlVHJ1c3RTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJ1c3RTdG9yZSA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlVHJ1c3RTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVXZWJBQ0xBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV2ViQUNMQXNzb2NpYXRpb24gPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlV2ViQUNMQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVyZWdpc3Rlckluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlcmVnaXN0ZXJUYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFyZ2V0cyA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVyZWdpc3RlclRhcmdldHNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUFjY291bnRMaW1pdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudExpbWl0cyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUFjY291bnRMaW1pdHNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUNhcGFjaXR5UmVzZXJ2YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FwYWNpdHlSZXNlcnZhdGlvbiA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUNhcGFjaXR5UmVzZXJ2YXRpb25cIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUluc3RhbmNlSGVhbHRoICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlSGVhbHRoID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlSW5zdGFuY2VIZWFsdGhcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxpc3RlbmVyQXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaXN0ZW5lckF0dHJpYnV0ZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMaXN0ZW5lckF0dHJpYnV0ZXNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxpc3RlbmVyQ2VydGlmaWNhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpc3RlbmVyQ2VydGlmaWNhdGVzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTGlzdGVuZXJDZXJ0aWZpY2F0ZXNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxpc3RlbmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaXN0ZW5lcnMgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTGlzdGVuZXJzXCI7XG5cdC8qKiBbUmVhZF0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbUmVhZF0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY2llcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzXCI7XG5cdC8qKiBbUmVhZF0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY3lUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY3lUeXBlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljeVR5cGVzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxvYWRCYWxhbmNlcnMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJzXCI7XG5cdC8qKiBbUmVhZF0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSdWxlcyA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVSdWxlc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlU1NMUG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU1NMUG9saWNpZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVTU0xQb2xpY2llc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVGFncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYWdzID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhZ3NcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhcmdldEdyb3VwQXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXJnZXRHcm91cEF0dHJpYnV0ZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUYXJnZXRHcm91cEF0dHJpYnV0ZXNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhcmdldEdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXJnZXRHcm91cHMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUYXJnZXRHcm91cHNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhcmdldEhlYWx0aCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXJnZXRIZWFsdGggPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUYXJnZXRIZWFsdGhcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRydXN0U3RvcmVBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJ1c3RTdG9yZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRydXN0U3RvcmVBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRydXN0U3RvcmVSZXZvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcnVzdFN0b3JlUmV2b2NhdGlvbnMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUcnVzdFN0b3JlUmV2b2NhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRydXN0U3RvcmVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRydXN0U3RvcmVzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVHJ1c3RTdG9yZXNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVdlYkFDTEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdlYkFDTEFzc29jaWF0aW9uID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlV2ViQUNMQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpFbmFibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXIgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RW5hYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRMb2FkQmFsYW5jZXJXZWJBQ0wgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExvYWRCYWxhbmNlcldlYkFDTCA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRMb2FkQmFsYW5jZXJXZWJBQ0xcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRUcnVzdFN0b3JlQ2FDZXJ0aWZpY2F0ZXNCdW5kbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRydXN0U3RvcmVDYUNlcnRpZmljYXRlc0J1bmRsZSA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRUcnVzdFN0b3JlQ2FDZXJ0aWZpY2F0ZXNCdW5kbGVcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRUcnVzdFN0b3JlUmV2b2NhdGlvbkNvbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRydXN0U3RvcmVSZXZvY2F0aW9uQ29udGVudCA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRUcnVzdFN0b3JlUmV2b2NhdGlvbkNvbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5Q2FwYWNpdHlSZXNlcnZhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FwYWNpdHlSZXNlcnZhdGlvbiA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlDYXBhY2l0eVJlc2VydmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUlwUG9vbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUlwUG9vbHMgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUlwUG9vbHNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5TGlzdGVuZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUxpc3RlbmVyID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlMaXN0ZW5lclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlMaXN0ZW5lckF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUxpc3RlbmVyQXR0cmlidXRlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlMaXN0ZW5lckF0dHJpYnV0ZXNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5TG9hZEJhbGFuY2VyQXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5TG9hZEJhbGFuY2VyQXR0cmlidXRlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeVJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJ1bGUgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeVJ1bGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5VGFyZ2V0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVRhcmdldEdyb3VwID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlUYXJnZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlUYXJnZXRHcm91cEF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVRhcmdldEdyb3VwQXR0cmlidXRlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlUYXJnZXRHcm91cEF0dHJpYnV0ZXNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5VHJ1c3RTdG9yZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VHJ1c3RTdG9yZSA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5VHJ1c3RTdG9yZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpSZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVySW5zdGFuY2VzV2l0aExvYWRCYWxhbmNlciA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVnaXN0ZXJUYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhcmdldHMgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlZ2lzdGVyVGFyZ2V0c1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpSZW1vdmVMaXN0ZW5lckNlcnRpZmljYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlTGlzdGVuZXJDZXJ0aWZpY2F0ZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVtb3ZlTGlzdGVuZXJDZXJ0aWZpY2F0ZXNcIjtcblx0LyoqIFtUYWdnaW5nXSBlbGFzdGljbG9hZGJhbGFuY2luZzpSZW1vdmVUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZW1vdmVUYWdzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlbW92ZVRydXN0U3RvcmVSZXZvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVHJ1c3RTdG9yZVJldm9jYXRpb25zID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlbW92ZVRydXN0U3RvcmVSZXZvY2F0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRJcEFkZHJlc3NUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRJcEFkZHJlc3NUeXBlID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldElwQWRkcmVzc1R5cGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZSA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRMb2FkQmFsYW5jZXJMaXN0ZW5lclNTTENlcnRpZmljYXRlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldExvYWRCYWxhbmNlclBvbGljaWVzRm9yQmFja2VuZFNlcnZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldExvYWRCYWxhbmNlclBvbGljaWVzRm9yQmFja2VuZFNlcnZlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRMb2FkQmFsYW5jZXJQb2xpY2llc09mTGlzdGVuZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lciA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRMb2FkQmFsYW5jZXJQb2xpY2llc09mTGlzdGVuZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0UnVsZVByaW9yaXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFJ1bGVQcmlvcml0aWVzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFJ1bGVQcmlvcml0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFNlY3VyaXR5R3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRTZWN1cml0eUdyb3VwcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRTZWN1cml0eUdyb3Vwc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRTdWJuZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRTdWJuZXRzID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRTdWJuZXRzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFdlYkFjbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0V2ViQWNsID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRXZWJBY2xcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVBY2NvdW50TGltaXRzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZUNhcGFjaXR5UmVzZXJ2YXRpb24sXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlSW5zdGFuY2VIZWFsdGgsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlTGlzdGVuZXJBdHRyaWJ1dGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZUxpc3RlbmVyQ2VydGlmaWNhdGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZUxpc3RlbmVycyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZUxvYWRCYWxhbmNlclBvbGljeVR5cGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZVJ1bGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZVNTTFBvbGljaWVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZVRhZ3MsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlVGFyZ2V0R3JvdXBBdHRyaWJ1dGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZVRhcmdldEdyb3Vwcyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVUYXJnZXRIZWFsdGgsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlVHJ1c3RTdG9yZUFzc29jaWF0aW9ucyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVUcnVzdFN0b3JlUmV2b2NhdGlvbnMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlVHJ1c3RTdG9yZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLmFjdGlvbkdldExvYWRCYWxhbmNlcldlYkFDTCxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLmFjdGlvbkdldFRydXN0U3RvcmVDYUNlcnRpZmljYXRlc0J1bmRsZSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uR2V0VHJ1c3RTdG9yZVJldm9jYXRpb25Db250ZW50LFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5BZGRMaXN0ZW5lckNlcnRpZmljYXRlcyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQWRkVHJ1c3RTdG9yZVJldm9jYXRpb25zLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5BcHBseVNlY3VyaXR5R3JvdXBzVG9Mb2FkQmFsYW5jZXIsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkF0dGFjaExvYWRCYWxhbmNlclRvU3VibmV0cyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQ29uZmlndXJlSGVhbHRoQ2hlY2ssXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkNyZWF0ZUFwcENvb2tpZVN0aWNraW5lc3NQb2xpY3ksXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkNyZWF0ZUxCQ29va2llU3RpY2tpbmVzc1BvbGljeSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQ3JlYXRlTGlzdGVuZXIsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkNyZWF0ZUxvYWRCYWxhbmNlcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQ3JlYXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5DcmVhdGVMb2FkQmFsYW5jZXJQb2xpY3ksXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkNyZWF0ZVJ1bGUsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkNyZWF0ZVRhcmdldEdyb3VwLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5DcmVhdGVUcnVzdFN0b3JlLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5DcmVhdGVXZWJBQ0xBc3NvY2lhdGlvbixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVsZXRlTGlzdGVuZXIsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlbGV0ZUxvYWRCYWxhbmNlcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVsZXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZWxldGVMb2FkQmFsYW5jZXJQb2xpY3ksXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlbGV0ZVJ1bGUsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlbGV0ZVNoYXJlZFRydXN0U3RvcmVBc3NvY2lhdGlvbixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVsZXRlVGFyZ2V0R3JvdXAsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlbGV0ZVRydXN0U3RvcmUsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlbGV0ZVdlYkFDTEFzc29jaWF0aW9uLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXJlZ2lzdGVySW5zdGFuY2VzRnJvbUxvYWRCYWxhbmNlcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVyZWdpc3RlclRhcmdldHMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EaXNhYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXIsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkVuYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlDYXBhY2l0eVJlc2VydmF0aW9uLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlJcFBvb2xzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlMaXN0ZW5lcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuTW9kaWZ5TGlzdGVuZXJBdHRyaWJ1dGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlSdWxlLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlUYXJnZXRHcm91cCxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuTW9kaWZ5VGFyZ2V0R3JvdXBBdHRyaWJ1dGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlUcnVzdFN0b3JlLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5SZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXIsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLlJlZ2lzdGVyVGFyZ2V0cyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuUmVtb3ZlTGlzdGVuZXJDZXJ0aWZpY2F0ZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLlJlbW92ZVRydXN0U3RvcmVSZXZvY2F0aW9ucyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uU2V0SXBBZGRyZXNzVHlwZSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uU2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25TZXRMb2FkQmFsYW5jZXJQb2xpY2llc09mTGlzdGVuZXIsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLmFjdGlvblNldFJ1bGVQcmlvcml0aWVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25TZXRTZWN1cml0eUdyb3Vwcyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uU2V0U3VibmV0cyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uU2V0V2ViQWNsLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVMb2FkQmFsYW5jZXJzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZVdlYkFDTEFzc29jaWF0aW9uLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQWRkVGFncyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuUmVtb3ZlVGFncyxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxpc3RlbmVyLXJ1bGUvYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyUnVsZUFwcEFyblByb3BzIHtcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGVuZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVyUnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lclJ1bGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxpc3RlbmVyLXJ1bGUvYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyUnVsZUFwcEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGVuZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lclJ1bGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxpc3RlbmVyUnVsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsaXN0ZW5lci1ydWxlL25ldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpY2xvYWRiYWxhbmNpbmdMaXN0ZW5lclJ1bGVOZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lclJ1bGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJSdWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsaXN0ZW5lci1ydWxlL25ldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpY2xvYWRiYWxhbmNpbmdMaXN0ZW5lclJ1bGVOZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGVuZXJSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lclJ1bGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGlzdGVuZXIvYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyQXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGlzdGVuZXIvYXBwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyQXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGlzdGVuZXIvZ3d5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyR3d5QXJuUHJvcHMge1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGlzdGVuZXIvZ3d5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyR3d5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGlzdGVuZXIvbmV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyTmV0QXJuUHJvcHMge1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGlzdGVuZXIvbmV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyTmV0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbG9hZGJhbGFuY2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckFyblByb3BzIHtcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbG9hZGJhbGFuY2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxvYWRiYWxhbmNlci9hcHAvIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckFwcEFyblByb3BzIHtcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbG9hZGJhbGFuY2VyL2FwcC8gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyQXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxvYWRiYWxhbmNlci9nd3kvIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckd3eUFyblByb3BzIHtcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbG9hZGJhbGFuY2VyL2d3eS8gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyR3d5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxvYWRiYWxhbmNlci9uZXQvIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlck5ldEFyblByb3BzIHtcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbG9hZGJhbGFuY2VyL25ldC8gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyTmV0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRhcmdldGdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ1RhcmdldGdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIFRhcmdldEdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFyZ2V0R3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFyZ2V0R3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFyZ2V0R3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRhcmdldGdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ1RhcmdldGdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUYXJnZXRHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXJnZXRHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXJnZXRHcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFyZ2V0R3JvdXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJ1c3RzdG9yZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpY2xvYWRiYWxhbmNpbmdUcnVzdHN0b3JlQXJuUHJvcHMge1xuXHQvKiogVGhlIFRydXN0U3RvcmVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cnVzdFN0b3JlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRydXN0U3RvcmVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJ1c3RTdG9yZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJ1c3RzdG9yZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpY2xvYWRiYWxhbmNpbmdUcnVzdHN0b3JlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUcnVzdFN0b3JlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRydXN0U3RvcmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJ1c3RTdG9yZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJ1c3RTdG9yZUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IExpc3RlbmVyUnVsZUFwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljbG9hZGJhbGFuY2luZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxpc3RlbmVyLXJ1bGVcXC9hcHBcXC8oPzxsb2FkQmFsYW5jZXJOYW1lPlteOi8/XSspXFwvKD88bG9hZEJhbGFuY2VySWQ+W146Lz9dKylcXC8oPzxsaXN0ZW5lcklkPlteOi8/XSspXFwvKD88bGlzdGVuZXJSdWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IExpc3RlbmVyUnVsZU5ldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljbG9hZGJhbGFuY2luZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxpc3RlbmVyLXJ1bGVcXC9uZXRcXC8oPzxsb2FkQmFsYW5jZXJOYW1lPlteOi8/XSspXFwvKD88bG9hZEJhbGFuY2VySWQ+W146Lz9dKylcXC8oPzxsaXN0ZW5lcklkPlteOi8/XSspXFwvKD88bGlzdGVuZXJSdWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IExpc3RlbmVyQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGlzdGVuZXJcXC9hcHBcXC8oPzxsb2FkQmFsYW5jZXJOYW1lPlteOi8/XSspXFwvKD88bG9hZEJhbGFuY2VySWQ+W146Lz9dKylcXC8oPzxsaXN0ZW5lcklkPlteOi8/XSspJC87XG5jb25zdCBMaXN0ZW5lckd3eUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljbG9hZGJhbGFuY2luZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxpc3RlbmVyXFwvZ3d5XFwvKD88bG9hZEJhbGFuY2VyTmFtZT5bXjovP10rKVxcLyg/PGxvYWRCYWxhbmNlcklkPlteOi8/XSspXFwvKD88bGlzdGVuZXJJZD5bXjovP10rKSQvO1xuY29uc3QgTGlzdGVuZXJOZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2xvYWRiYWxhbmNpbmc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsaXN0ZW5lclxcL25ldFxcLyg/PGxvYWRCYWxhbmNlck5hbWU+W146Lz9dKylcXC8oPzxsb2FkQmFsYW5jZXJJZD5bXjovP10rKVxcLyg/PGxpc3RlbmVySWQ+W146Lz9dKykkLztcbmNvbnN0IExvYWRiYWxhbmNlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljbG9hZGJhbGFuY2luZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxvYWRiYWxhbmNlclxcLyg/PGxvYWRCYWxhbmNlck5hbWU+W146Lz9dKykkLztcbmNvbnN0IExvYWRiYWxhbmNlckFwcEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljbG9hZGJhbGFuY2luZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxvYWRiYWxhbmNlclxcL2FwcFxcLyg/PGxvYWRCYWxhbmNlck5hbWU+W146Lz9dKylcXC8oPzxsb2FkQmFsYW5jZXJJZD5bXjovP10rKSQvO1xuY29uc3QgTG9hZGJhbGFuY2VyR3d5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bG9hZGJhbGFuY2VyXFwvZ3d5XFwvKD88bG9hZEJhbGFuY2VyTmFtZT5bXjovP10rKVxcLyg/PGxvYWRCYWxhbmNlcklkPlteOi8/XSspJC87XG5jb25zdCBMb2FkYmFsYW5jZXJOZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2xvYWRiYWxhbmNpbmc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsb2FkYmFsYW5jZXJcXC9uZXRcXC8oPzxsb2FkQmFsYW5jZXJOYW1lPlteOi8/XSspXFwvKD88bG9hZEJhbGFuY2VySWQ+W146Lz9dKykkLztcbmNvbnN0IFRhcmdldGdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGFyZ2V0Z3JvdXBcXC8oPzx0YXJnZXRHcm91cE5hbWU+W146Lz9dKylcXC8oPzx0YXJnZXRHcm91cElkPlteOi8/XSspJC87XG5jb25zdCBUcnVzdHN0b3JlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJ1c3RzdG9yZVxcLyg/PHRydXN0U3RvcmVOYW1lPlteOi8/XSspXFwvKD88dHJ1c3RTdG9yZUlkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgZWxhc3RpY2xvYWRiYWxhbmNpbmcgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpY2xvYWRiYWxhbmNpbmdSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxpc3RlbmVyLXJ1bGUvYXBwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxpc3RlbmVyUnVsZUFwcChcblx0XHRwcm9wczogRWxhc3RpY2xvYWRiYWxhbmNpbmdMaXN0ZW5lclJ1bGVBcHBBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljbG9hZGJhbGFuY2luZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsaXN0ZW5lci1ydWxlL2FwcC8ke3Byb3BzLmxvYWRCYWxhbmNlck5hbWV9LyR7cHJvcHMubG9hZEJhbGFuY2VySWR9LyR7cHJvcHMubGlzdGVuZXJJZH0vJHtwcm9wcy5saXN0ZW5lclJ1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGlzdGVuZXItcnVsZS9hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExpc3RlbmVyUnVsZUFwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMaXN0ZW5lclJ1bGVBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbGlzdGVuZXItcnVsZS9hcHAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGlzdGVuZXJSdWxlQXBwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyUnVsZUFwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGlzdGVuZXJSdWxlQXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxpc3RlbmVyLXJ1bGUvYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxvYWRCYWxhbmNlck5hbWU6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VyTmFtZSxcblx0XHRcdGxvYWRCYWxhbmNlcklkOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlcklkLFxuXHRcdFx0bGlzdGVuZXJJZDogbWF0Y2guZ3JvdXBzIS5saXN0ZW5lcklkLFxuXHRcdFx0bGlzdGVuZXJSdWxlSWQ6IG1hdGNoLmdyb3VwcyEubGlzdGVuZXJSdWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGlzdGVuZXItcnVsZS9uZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGlzdGVuZXJSdWxlTmV0KFxuXHRcdHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyUnVsZU5ldEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omxpc3RlbmVyLXJ1bGUvbmV0LyR7cHJvcHMubG9hZEJhbGFuY2VyTmFtZX0vJHtwcm9wcy5sb2FkQmFsYW5jZXJJZH0vJHtwcm9wcy5saXN0ZW5lcklkfS8ke3Byb3BzLmxpc3RlbmVyUnVsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsaXN0ZW5lci1ydWxlL25ldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGlzdGVuZXJSdWxlTmV0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExpc3RlbmVyUnVsZU5ldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsaXN0ZW5lci1ydWxlL25ldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMaXN0ZW5lclJ1bGVOZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJSdWxlTmV0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMaXN0ZW5lclJ1bGVOZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGlzdGVuZXItcnVsZS9uZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bG9hZEJhbGFuY2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJOYW1lLFxuXHRcdFx0bG9hZEJhbGFuY2VySWQ6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VySWQsXG5cdFx0XHRsaXN0ZW5lcklkOiBtYXRjaC5ncm91cHMhLmxpc3RlbmVySWQsXG5cdFx0XHRsaXN0ZW5lclJ1bGVJZDogbWF0Y2guZ3JvdXBzIS5saXN0ZW5lclJ1bGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsaXN0ZW5lci9hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGlzdGVuZXJBcHAocHJvcHM6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJBcHBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2xvYWRiYWxhbmNpbmc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGlzdGVuZXIvYXBwLyR7cHJvcHMubG9hZEJhbGFuY2VyTmFtZX0vJHtwcm9wcy5sb2FkQmFsYW5jZXJJZH0vJHtwcm9wcy5saXN0ZW5lcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsaXN0ZW5lci9hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExpc3RlbmVyQXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExpc3RlbmVyQXBwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxpc3RlbmVyL2FwcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMaXN0ZW5lckFwcEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpY2xvYWRiYWxhbmNpbmdMaXN0ZW5lckFwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGlzdGVuZXJBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGlzdGVuZXIvYXBwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxvYWRCYWxhbmNlck5hbWU6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VyTmFtZSxcblx0XHRcdGxvYWRCYWxhbmNlcklkOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlcklkLFxuXHRcdFx0bGlzdGVuZXJJZDogbWF0Y2guZ3JvdXBzIS5saXN0ZW5lcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxpc3RlbmVyL2d3eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsaXN0ZW5lckd3eShwcm9wczogRWxhc3RpY2xvYWRiYWxhbmNpbmdMaXN0ZW5lckd3eUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljbG9hZGJhbGFuY2luZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsaXN0ZW5lci9nd3kvJHtwcm9wcy5sb2FkQmFsYW5jZXJOYW1lfS8ke3Byb3BzLmxvYWRCYWxhbmNlcklkfS8ke3Byb3BzLmxpc3RlbmVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxpc3RlbmVyL2d3eSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGlzdGVuZXJHd3lBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGlzdGVuZXJHd3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbGlzdGVuZXIvZ3d5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxpc3RlbmVyR3d5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyR3d5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMaXN0ZW5lckd3eUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsaXN0ZW5lci9nd3kgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bG9hZEJhbGFuY2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJOYW1lLFxuXHRcdFx0bG9hZEJhbGFuY2VySWQ6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VySWQsXG5cdFx0XHRsaXN0ZW5lcklkOiBtYXRjaC5ncm91cHMhLmxpc3RlbmVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGlzdGVuZXIvbmV0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxpc3RlbmVyTmV0KHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyTmV0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omxpc3RlbmVyL25ldC8ke3Byb3BzLmxvYWRCYWxhbmNlck5hbWV9LyR7cHJvcHMubG9hZEJhbGFuY2VySWR9LyR7cHJvcHMubGlzdGVuZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGlzdGVuZXIvbmV0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMaXN0ZW5lck5ldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMaXN0ZW5lck5ldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsaXN0ZW5lci9uZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGlzdGVuZXJOZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJOZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExpc3RlbmVyTmV0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxpc3RlbmVyL25ldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsb2FkQmFsYW5jZXJOYW1lOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlck5hbWUsXG5cdFx0XHRsb2FkQmFsYW5jZXJJZDogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJJZCxcblx0XHRcdGxpc3RlbmVySWQ6IG1hdGNoLmdyb3VwcyEubGlzdGVuZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsb2FkYmFsYW5jZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbG9hZGJhbGFuY2VyKHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljbG9hZGJhbGFuY2luZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsb2FkYmFsYW5jZXIvJHtwcm9wcy5sb2FkQmFsYW5jZXJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsb2FkYmFsYW5jZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExvYWRiYWxhbmNlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMb2FkYmFsYW5jZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbG9hZGJhbGFuY2VyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxvYWRiYWxhbmNlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpY2xvYWRiYWxhbmNpbmdMb2FkYmFsYW5jZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExvYWRiYWxhbmNlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsb2FkYmFsYW5jZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bG9hZEJhbGFuY2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxvYWRiYWxhbmNlci9hcHAvIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxvYWRiYWxhbmNlckFwcChcblx0XHRwcm9wczogRWxhc3RpY2xvYWRiYWxhbmNpbmdMb2FkYmFsYW5jZXJBcHBBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljbG9hZGJhbGFuY2luZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsb2FkYmFsYW5jZXIvYXBwLyR7cHJvcHMubG9hZEJhbGFuY2VyTmFtZX0vJHtwcm9wcy5sb2FkQmFsYW5jZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbG9hZGJhbGFuY2VyL2FwcC8gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExvYWRiYWxhbmNlckFwcEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMb2FkYmFsYW5jZXJBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbG9hZGJhbGFuY2VyL2FwcC8gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTG9hZGJhbGFuY2VyQXBwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckFwcEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTG9hZGJhbGFuY2VyQXBwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxvYWRiYWxhbmNlci9hcHAvIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxvYWRCYWxhbmNlck5hbWU6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VyTmFtZSxcblx0XHRcdGxvYWRCYWxhbmNlcklkOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxvYWRiYWxhbmNlci9nd3kvIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxvYWRiYWxhbmNlckd3eShcblx0XHRwcm9wczogRWxhc3RpY2xvYWRiYWxhbmNpbmdMb2FkYmFsYW5jZXJHd3lBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljbG9hZGJhbGFuY2luZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsb2FkYmFsYW5jZXIvZ3d5LyR7cHJvcHMubG9hZEJhbGFuY2VyTmFtZX0vJHtwcm9wcy5sb2FkQmFsYW5jZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbG9hZGJhbGFuY2VyL2d3eS8gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExvYWRiYWxhbmNlckd3eUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMb2FkYmFsYW5jZXJHd3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbG9hZGJhbGFuY2VyL2d3eS8gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTG9hZGJhbGFuY2VyR3d5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckd3eUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTG9hZGJhbGFuY2VyR3d5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxvYWRiYWxhbmNlci9nd3kvIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxvYWRCYWxhbmNlck5hbWU6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VyTmFtZSxcblx0XHRcdGxvYWRCYWxhbmNlcklkOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxvYWRiYWxhbmNlci9uZXQvIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxvYWRiYWxhbmNlck5ldChcblx0XHRwcm9wczogRWxhc3RpY2xvYWRiYWxhbmNpbmdMb2FkYmFsYW5jZXJOZXRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljbG9hZGJhbGFuY2luZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsb2FkYmFsYW5jZXIvbmV0LyR7cHJvcHMubG9hZEJhbGFuY2VyTmFtZX0vJHtwcm9wcy5sb2FkQmFsYW5jZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbG9hZGJhbGFuY2VyL25ldC8gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExvYWRiYWxhbmNlck5ldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMb2FkYmFsYW5jZXJOZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbG9hZGJhbGFuY2VyL25ldC8gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTG9hZGJhbGFuY2VyTmV0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlck5ldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTG9hZGJhbGFuY2VyTmV0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxvYWRiYWxhbmNlci9uZXQvIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxvYWRCYWxhbmNlck5hbWU6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VyTmFtZSxcblx0XHRcdGxvYWRCYWxhbmNlcklkOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRhcmdldGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRhcmdldGdyb3VwKHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ1RhcmdldGdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRhcmdldGdyb3VwLyR7cHJvcHMudGFyZ2V0R3JvdXBOYW1lfS8ke3Byb3BzLnRhcmdldEdyb3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRhcmdldGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXJnZXRncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUYXJnZXRncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0YXJnZXRncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUYXJnZXRncm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpY2xvYWRiYWxhbmNpbmdUYXJnZXRncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGFyZ2V0Z3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFyZ2V0Z3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dGFyZ2V0R3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLnRhcmdldEdyb3VwTmFtZSxcblx0XHRcdHRhcmdldEdyb3VwSWQ6IG1hdGNoLmdyb3VwcyEudGFyZ2V0R3JvdXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0cnVzdHN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRydXN0c3RvcmUocHJvcHM6IEVsYXN0aWNsb2FkYmFsYW5jaW5nVHJ1c3RzdG9yZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljbG9hZGJhbGFuY2luZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0cnVzdHN0b3JlLyR7cHJvcHMudHJ1c3RTdG9yZU5hbWV9LyR7cHJvcHMudHJ1c3RTdG9yZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0cnVzdHN0b3JlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUcnVzdHN0b3JlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRydXN0c3RvcmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdHJ1c3RzdG9yZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUcnVzdHN0b3JlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ1RydXN0c3RvcmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRydXN0c3RvcmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJ1c3RzdG9yZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0cnVzdFN0b3JlTmFtZTogbWF0Y2guZ3JvdXBzIS50cnVzdFN0b3JlTmFtZSxcblx0XHRcdHRydXN0U3RvcmVJZDogbWF0Y2guZ3JvdXBzIS50cnVzdFN0b3JlSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgZWxhc3RpY2xvYWRiYWxhbmNpbmcuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGljbG9hZGJhbGFuY2luZ09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRMaXN0ZW5lckNlcnRpZmljYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZExpc3RlbmVyQ2VydGlmaWNhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZExpc3RlbmVyQ2VydGlmaWNhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRhZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRydXN0U3RvcmVSZXZvY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRydXN0U3RvcmVSZXZvY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpBZGRUcnVzdFN0b3JlUmV2b2NhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFwcGx5U2VjdXJpdHlHcm91cHNUb0xvYWRCYWxhbmNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBdHRhY2hMb2FkQmFsYW5jZXJUb1N1Ym5ldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hMb2FkQmFsYW5jZXJUb1N1Ym5ldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbmZpZ3VyZUhlYWx0aENoZWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29uZmlndXJlSGVhbHRoQ2hlY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q29uZmlndXJlSGVhbHRoQ2hlY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcENvb2tpZVN0aWNraW5lc3NQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMQkNvb2tpZVN0aWNraW5lc3NQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMQkNvb2tpZVN0aWNraW5lc3NQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTEJDb29raWVTdGlja2luZXNzUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxpc3RlbmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGlzdGVuZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkVGFnc1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTGlzdGVuZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRhZ3NcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxvYWRCYWxhbmNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxvYWRCYWxhbmNlclBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlclBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMb2FkQmFsYW5jZXJQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJ1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkVGFnc1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUYXJnZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhcmdldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRhZ3NcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVRhcmdldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRydXN0U3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUcnVzdFN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRhZ3NcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVRydXN0U3RvcmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTGlzdGVuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMaXN0ZW5lcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVMaXN0ZW5lclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVMb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUxvYWRCYWxhbmNlckxpc3RlbmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlckxpc3RlbmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTG9hZEJhbGFuY2VyUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTG9hZEJhbGFuY2VyUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxvYWRCYWxhbmNlclBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUnVsZTogc3RyaW5nW10gPSBbXCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVSdWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTaGFyZWRUcnVzdFN0b3JlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTaGFyZWRUcnVzdFN0b3JlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlU2hhcmVkVHJ1c3RTdG9yZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRhcmdldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFyZ2V0R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlVGFyZ2V0R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVHJ1c3RTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRydXN0U3RvcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlVHJ1c3RTdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVySW5zdGFuY2VzRnJvbUxvYWRCYWxhbmNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJUYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclRhcmdldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVyZWdpc3RlclRhcmdldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY2NvdW50TGltaXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50TGltaXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlQWNjb3VudExpbWl0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhcGFjaXR5UmVzZXJ2YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhcGFjaXR5UmVzZXJ2YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVDYXBhY2l0eVJlc2VydmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5zdGFuY2VIZWFsdGggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlSGVhbHRoOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlSW5zdGFuY2VIZWFsdGhcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMaXN0ZW5lckF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpc3RlbmVyQXR0cmlidXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxpc3RlbmVyQXR0cmlidXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxpc3RlbmVyQ2VydGlmaWNhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaXN0ZW5lckNlcnRpZmljYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxpc3RlbmVyQ2VydGlmaWNhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGlzdGVuZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMaXN0ZW5lcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMaXN0ZW5lcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTG9hZEJhbGFuY2VyQXR0cmlidXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljeVR5cGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMb2FkQmFsYW5jZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVMb2FkQmFsYW5jZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTG9hZEJhbGFuY2Vyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJ1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVJ1bGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU1NMUG9saWNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNTTFBvbGljaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlU1NMUG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYWdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVGFnc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRhcmdldEdyb3VwQXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFyZ2V0R3JvdXBBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVGFyZ2V0R3JvdXBBdHRyaWJ1dGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFyZ2V0R3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXJnZXRHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUYXJnZXRHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUYXJnZXRIZWFsdGggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhcmdldEhlYWx0aDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhcmdldEhlYWx0aFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRydXN0U3RvcmVBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRydXN0U3RvcmVBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUcnVzdFN0b3JlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJ1c3RTdG9yZVJldm9jYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcnVzdFN0b3JlUmV2b2NhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUcnVzdFN0b3JlUmV2b2NhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUcnVzdFN0b3JlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJ1c3RTdG9yZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUcnVzdFN0b3Jlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRhY2hMb2FkQmFsYW5jZXJGcm9tU3VibmV0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEaXNhYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRW5hYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpFbmFibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6R2V0UmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VHJ1c3RTdG9yZUNhQ2VydGlmaWNhdGVzQnVuZGxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUcnVzdFN0b3JlQ2FDZXJ0aWZpY2F0ZXNCdW5kbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6R2V0VHJ1c3RTdG9yZUNhQ2VydGlmaWNhdGVzQnVuZGxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRydXN0U3RvcmVSZXZvY2F0aW9uQ29udGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VHJ1c3RTdG9yZVJldm9jYXRpb25Db250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkdldFRydXN0U3RvcmVSZXZvY2F0aW9uQ29udGVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlDYXBhY2l0eVJlc2VydmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FwYWNpdHlSZXNlcnZhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlDYXBhY2l0eVJlc2VydmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUlwUG9vbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlJcFBvb2xzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUlwUG9vbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5TGlzdGVuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlMaXN0ZW5lcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlMaXN0ZW5lclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlMaXN0ZW5lckF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlMaXN0ZW5lckF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5TGlzdGVuZXJBdHRyaWJ1dGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUxvYWRCYWxhbmNlckF0dHJpYnV0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJ1bGU6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5UnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5VGFyZ2V0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlUYXJnZXRHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlUYXJnZXRHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlUYXJnZXRHcm91cEF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlUYXJnZXRHcm91cEF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5VGFyZ2V0R3JvdXBBdHRyaWJ1dGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVRydXN0U3RvcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlUcnVzdFN0b3JlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeVRydXN0U3RvcmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJJbnN0YW5jZXNXaXRoTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJJbnN0YW5jZXNXaXRoTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlZ2lzdGVySW5zdGFuY2VzV2l0aExvYWRCYWxhbmNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3RlclRhcmdldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhcmdldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVnaXN0ZXJUYXJnZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZUxpc3RlbmVyQ2VydGlmaWNhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlTGlzdGVuZXJDZXJ0aWZpY2F0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVtb3ZlTGlzdGVuZXJDZXJ0aWZpY2F0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3M6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVtb3ZlVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlVHJ1c3RTdG9yZVJldm9jYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVHJ1c3RTdG9yZVJldm9jYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlbW92ZVRydXN0U3RvcmVSZXZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRJcEFkZHJlc3NUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRJcEFkZHJlc3NUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldElwQWRkcmVzc1R5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRMb2FkQmFsYW5jZXJMaXN0ZW5lclNTTENlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldExvYWRCYWxhbmNlclBvbGljaWVzRm9yQmFja2VuZFNlcnZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldExvYWRCYWxhbmNlclBvbGljaWVzRm9yQmFja2VuZFNlcnZlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRMb2FkQmFsYW5jZXJQb2xpY2llc09mTGlzdGVuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRMb2FkQmFsYW5jZXJQb2xpY2llc09mTGlzdGVuZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0UnVsZVByaW9yaXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldFJ1bGVQcmlvcml0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFJ1bGVQcmlvcml0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldFNlY3VyaXR5R3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRTZWN1cml0eUdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRTZWN1cml0eUdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRTdWJuZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRTdWJuZXRzOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFN1Ym5ldHNcIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBlbGFzdGljbG9hZGJhbGFuY2luZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aWNsb2FkYmFsYW5jaW5nQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRMaXN0ZW5lckNlcnRpZmljYXRlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRMaXN0ZW5lckNlcnRpZmljYXRlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUFjdGlvblwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRUcnVzdFN0b3JlUmV2b2NhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVHJ1c3RTdG9yZVJldm9jYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFwcGx5U2VjdXJpdHlHcm91cHNUb0xvYWRCYWxhbmNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBcHBseVNlY3VyaXR5R3JvdXBzVG9Mb2FkQmFsYW5jZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlHcm91cFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF0dGFjaExvYWRCYWxhbmNlclRvU3VibmV0c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTdWJuZXRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENvbmZpZ3VyZUhlYWx0aENoZWNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbmZpZ3VyZUhlYWx0aENoZWNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFwcENvb2tpZVN0aWNraW5lc3NQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVMQkNvb2tpZVN0aWNraW5lc3NQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTEJDb29raWVTdGlja2luZXNzUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxpc3RlbmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxpc3RlbmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpMaXN0ZW5lclByb3RvY29sXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNlY3VyaXR5UG9saWN5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVMb2FkQmFsYW5jZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpMaXN0ZW5lclByb3RvY29sXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNjaGVtZVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlHcm91cFwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U3VibmV0XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpMaXN0ZW5lclByb3RvY29sXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxvYWRCYWxhbmNlclBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXJQb2xpY3lDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlQb2xpY3lcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJ1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUnVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUYXJnZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXJnZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUcnVzdFN0b3JlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRydXN0U3RvcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlV2ViQUNMQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV2ViQUNMQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlTGlzdGVuZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGlzdGVuZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlTG9hZEJhbGFuY2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUxvYWRCYWxhbmNlclBvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXJQb2xpY3lDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUnVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNoYXJlZFRydXN0U3RvcmVBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTaGFyZWRUcnVzdFN0b3JlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVGFyZ2V0R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFyZ2V0R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVHJ1c3RTdG9yZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcnVzdFN0b3JlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVdlYkFDTEFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdlYkFDTEFzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlcmVnaXN0ZXJUYXJnZXRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJUYXJnZXRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEVuYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRMb2FkQmFsYW5jZXJXZWJBQ0wgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TG9hZEJhbGFuY2VyV2ViQUNMQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJlc291cmNlUG9saWN5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFRydXN0U3RvcmVDYUNlcnRpZmljYXRlc0J1bmRsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUcnVzdFN0b3JlQ2FDZXJ0aWZpY2F0ZXNCdW5kbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFRydXN0U3RvcmVSZXZvY2F0aW9uQ29udGVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUcnVzdFN0b3JlUmV2b2NhdGlvbkNvbnRlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhcGFjaXR5UmVzZXJ2YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FwYWNpdHlSZXNlcnZhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlJcFBvb2xzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUlwUG9vbHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5TGlzdGVuZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5TGlzdGVuZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkxpc3RlbmVyUHJvdG9jb2xcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlQb2xpY3lcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUxpc3RlbmVyQXR0cmlidXRlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlMaXN0ZW5lckF0dHJpYnV0ZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5TG9hZEJhbGFuY2VyQXR0cmlidXRlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVJ1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UnVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlUYXJnZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlUYXJnZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlUYXJnZXRHcm91cEF0dHJpYnV0ZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VGFyZ2V0R3JvdXBBdHRyaWJ1dGVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVRydXN0U3RvcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VHJ1c3RTdG9yZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJJbnN0YW5jZXNXaXRoTG9hZEJhbGFuY2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlZ2lzdGVyVGFyZ2V0cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhcmdldHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVtb3ZlTGlzdGVuZXJDZXJ0aWZpY2F0ZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlTGlzdGVuZXJDZXJ0aWZpY2F0ZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVtb3ZlVGFncyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlbW92ZVRydXN0U3RvcmVSZXZvY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUcnVzdFN0b3JlUmV2b2NhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2V0SXBBZGRyZXNzVHlwZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRJcEFkZHJlc3NUeXBlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFNldExvYWRCYWxhbmNlckxpc3RlbmVyU1NMQ2VydGlmaWNhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldExvYWRCYWxhbmNlclBvbGljaWVzRm9yQmFja2VuZFNlcnZlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNPZkxpc3RlbmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNlY3VyaXR5UG9saWN5XCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFNldFNlY3VyaXR5R3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFNlY3VyaXR5R3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNlY3VyaXR5R3JvdXBcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFNldFN1Ym5ldHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0U3VibmV0c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTdWJuZXRcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVBY3Rpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENSRUFURV9BQ1RJT04gPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUFjdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2xvYWRiYWxhbmNpbmc6TGlzdGVuZXJQcm90b2NvbCAoQXJyYXlPZlN0cmluZywgU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTElTVEVORVJfUFJPVE9DT0wgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkxpc3RlbmVyUHJvdG9jb2xcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfVEFHID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy9cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNjaGVtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0NIRU1FID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpTY2hlbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNlY3VyaXR5R3JvdXAgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTRUNVUklUWV9HUk9VUCA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlHcm91cFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlQb2xpY3kgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTRUNVUklUWV9QT0xJQ1kgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNlY3VyaXR5UG9saWN5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljbG9hZGJhbGFuY2luZzpTdWJuZXQgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTVUJORVQgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlN1Ym5ldFwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVBY3Rpb25gLlxuXHQgKi9cblx0c3RhdGljIGNyZWF0ZUFjdGlvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUFjdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2xvYWRiYWxhbmNpbmc6TGlzdGVuZXJQcm90b2NvbGAuXG5cdCAqL1xuXHRzdGF0aWMgbGlzdGVuZXJQcm90b2NvbChcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpMaXN0ZW5lclByb3RvY29sXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljbG9hZGJhbGFuY2luZzpTY2hlbWVgLlxuXHQgKi9cblx0c3RhdGljIHNjaGVtZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNjaGVtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlHcm91cGAuXG5cdCAqL1xuXHRzdGF0aWMgc2VjdXJpdHlHcm91cChcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eUdyb3VwXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eVBvbGljeWAuXG5cdCAqL1xuXHRzdGF0aWMgc2VjdXJpdHlQb2xpY3koXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlQb2xpY3lcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNsb2FkYmFsYW5jaW5nOlN1Ym5ldGAuXG5cdCAqL1xuXHRzdGF0aWMgc3VibmV0KHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlbGFzdGljbG9hZGJhbGFuY2luZzpTdWJuZXRcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxufVxuIl19
1276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2xvYWRiYWxhbmNpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2VsYXN0aWNsb2FkYmFsYW5jaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsMkRBQTJEO0FBQzNELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLDJCQUEyQjs7QUFBeEMsa0VBa1RDOzs7QUFqVEEsOEJBQThCO0FBQ2QsMENBQWMsR0FBRyxzQkFBc0IsQ0FBQztBQUV4RCwyREFBMkQ7QUFDM0MsbURBQXVCLEdBQ3RDLDhDQUE4QyxDQUFDO0FBQ2hELDZDQUE2QztBQUM3QixtQ0FBTyxHQUFHLDhCQUE4QixDQUFDO0FBQ3pELDREQUE0RDtBQUM1QyxvREFBd0IsR0FDdkMsK0NBQStDLENBQUM7QUFDakQsb0ZBQW9GO0FBQ3BFLDZEQUFpQyxHQUNoRCx3REFBd0QsQ0FBQztBQUMxRCxxRUFBcUU7QUFDckQsNkRBQWlDLEdBQ2hELHdEQUF3RCxDQUFDO0FBQzFELCtEQUErRDtBQUMvQyx1REFBMkIsR0FDMUMsa0RBQWtELENBQUM7QUFDcEQsd0RBQXdEO0FBQ3hDLGdEQUFvQixHQUNuQywyQ0FBMkMsQ0FBQztBQUM3QyxtRUFBbUU7QUFDbkQsMkRBQStCLEdBQzlDLHNEQUFzRCxDQUFDO0FBQ3hELGtFQUFrRTtBQUNsRCwwREFBOEIsR0FDN0MscURBQXFELENBQUM7QUFDdkQsa0RBQWtEO0FBQ2xDLDBDQUFjLEdBQUcscUNBQXFDLENBQUM7QUFDdkUsc0RBQXNEO0FBQ3RDLDhDQUFrQixHQUNqQyx5Q0FBeUMsQ0FBQztBQUMzQywrREFBK0Q7QUFDL0MsdURBQTJCLEdBQzFDLGtEQUFrRCxDQUFDO0FBQ3BELDREQUE0RDtBQUM1QyxvREFBd0IsR0FDdkMsK0NBQStDLENBQUM7QUFDakQsOENB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RTtBQUNqRCxxQ0FBTSxHQUFHLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvZWxhc3RpY2xvYWRiYWxhbmNpbmcuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGVsYXN0aWNsb2FkYmFsYW5jaW5nIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZ1wiO1xuXG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZExpc3RlbmVyQ2VydGlmaWNhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRMaXN0ZW5lckNlcnRpZmljYXRlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpBZGRMaXN0ZW5lckNlcnRpZmljYXRlc1wiO1xuXHQvKiogW1RhZ2dpbmddIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3MgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkVHJ1c3RTdG9yZVJldm9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUcnVzdFN0b3JlUmV2b2NhdGlvbnMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkVHJ1c3RTdG9yZVJldm9jYXRpb25zXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpBcHBseVNlY3VyaXR5R3JvdXBzVG9Mb2FkQmFsYW5jZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcGx5U2VjdXJpdHlHcm91cHNUb0xvYWRCYWxhbmNlciA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpBcHBseVNlY3VyaXR5R3JvdXBzVG9Mb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6QXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBBdHRhY2hMb2FkQmFsYW5jZXJUb1N1Ym5ldHMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNvbmZpZ3VyZUhlYWx0aENoZWNrICovXG5cdHN0YXRpYyByZWFkb25seSBDb25maWd1cmVIZWFsdGhDaGVjayA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDb25maWd1cmVIZWFsdGhDaGVja1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVBcHBDb29raWVTdGlja2luZXNzUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBDb29raWVTdGlja2luZXNzUG9saWN5ID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUFwcENvb2tpZVN0aWNraW5lc3NQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTEJDb29raWVTdGlja2luZXNzUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMQkNvb2tpZVN0aWNraW5lc3NQb2xpY3kgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTEJDb29raWVTdGlja2luZXNzUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxpc3RlbmVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMaXN0ZW5lciA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTGlzdGVuZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXIgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTG9hZEJhbGFuY2VyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxvYWRCYWxhbmNlckxpc3RlbmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxvYWRCYWxhbmNlckxpc3RlbmVyc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMb2FkQmFsYW5jZXJQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlclBvbGljeSA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMb2FkQmFsYW5jZXJQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUnVsZSA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVUYXJnZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFyZ2V0R3JvdXAgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVRhcmdldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVRydXN0U3RvcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRydXN0U3RvcmUgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVRydXN0U3RvcmVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlV2ViQUNMQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVdlYkFDTEFzc29jaWF0aW9uID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZVdlYkFDTEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxpc3RlbmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMaXN0ZW5lciA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlTGlzdGVuZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXIgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlTG9hZEJhbGFuY2VyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxvYWRCYWxhbmNlckxpc3RlbmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxvYWRCYWxhbmNlckxpc3RlbmVyc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVMb2FkQmFsYW5jZXJQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlclBvbGljeSA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVMb2FkQmFsYW5jZXJQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUnVsZSA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVTaGFyZWRUcnVzdFN0b3JlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNoYXJlZFRydXN0U3RvcmVBc3NvY2lhdGlvbiA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVTaGFyZWRUcnVzdFN0b3JlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlVGFyZ2V0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhcmdldEdyb3VwID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVUYXJnZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVUcnVzdFN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUcnVzdFN0b3JlID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVUcnVzdFN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZVdlYkFDTEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXZWJBQ0xBc3NvY2lhdGlvbiA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVXZWJBQ0xBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXJlZ2lzdGVySW5zdGFuY2VzRnJvbUxvYWRCYWxhbmNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlckluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXIgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVyZWdpc3Rlckluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVyZWdpc3RlclRhcmdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJUYXJnZXRzID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXJlZ2lzdGVyVGFyZ2V0c1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlQWNjb3VudExpbWl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50TGltaXRzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlQWNjb3VudExpbWl0c1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlQ2FwYWNpdHlSZXNlcnZhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYXBhY2l0eVJlc2VydmF0aW9uID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlQ2FwYWNpdHlSZXNlcnZhdGlvblwiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlSW5zdGFuY2VIZWFsdGggKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VIZWFsdGggPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVJbnN0YW5jZUhlYWx0aFwiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTGlzdGVuZXJBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpc3RlbmVyQXR0cmlidXRlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxpc3RlbmVyQXR0cmlidXRlc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTGlzdGVuZXJDZXJ0aWZpY2F0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGlzdGVuZXJDZXJ0aWZpY2F0ZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMaXN0ZW5lckNlcnRpZmljYXRlc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTGlzdGVuZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpc3RlbmVycyA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMaXN0ZW5lcnNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTG9hZEJhbGFuY2VyQXR0cmlidXRlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlckF0dHJpYnV0ZXNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljeVR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljeVR5cGVzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTG9hZEJhbGFuY2VycyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxvYWRCYWxhbmNlcnNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJ1bGVzID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVJ1bGVzXCI7XG5cdC8qKiBbUmVhZF0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVTU0xQb2xpY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTU0xQb2xpY2llcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVNTTFBvbGljaWVzXCI7XG5cdC8qKiBbUmVhZF0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhZ3MgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVGFnc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVGFyZ2V0R3JvdXBBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhcmdldEdyb3VwQXR0cmlidXRlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhcmdldEdyb3VwQXR0cmlidXRlc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVGFyZ2V0R3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhcmdldEdyb3VwcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhcmdldEdyb3Vwc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVGFyZ2V0SGVhbHRoICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhcmdldEhlYWx0aCA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhcmdldEhlYWx0aFwiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVHJ1c3RTdG9yZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcnVzdFN0b3JlQXNzb2NpYXRpb25zID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVHJ1c3RTdG9yZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVHJ1c3RTdG9yZVJldm9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRydXN0U3RvcmVSZXZvY2F0aW9ucyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRydXN0U3RvcmVSZXZvY2F0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVHJ1c3RTdG9yZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJ1c3RTdG9yZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUcnVzdFN0b3Jlc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlV2ViQUNMQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV2ViQUNMQXNzb2NpYXRpb24gPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVXZWJBQ0xBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpEZXRhY2hMb2FkQmFsYW5jZXJGcm9tU3VibmV0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGlzYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXIgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGlzYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkVuYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlciA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpFbmFibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlclwiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkdldExvYWRCYWxhbmNlcldlYkFDTCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TG9hZEJhbGFuY2VyV2ViQUNMID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkdldExvYWRCYWxhbmNlcldlYkFDTFwiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkdldFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljeSA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkdldFRydXN0U3RvcmVDYUNlcnRpZmljYXRlc0J1bmRsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VHJ1c3RTdG9yZUNhQ2VydGlmaWNhdGVzQnVuZGxlID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkdldFRydXN0U3RvcmVDYUNlcnRpZmljYXRlc0J1bmRsZVwiO1xuXHQvKiogW1JlYWRdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOkdldFRydXN0U3RvcmVSZXZvY2F0aW9uQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VHJ1c3RTdG9yZVJldm9jYXRpb25Db250ZW50ID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkdldFRydXN0U3RvcmVSZXZvY2F0aW9uQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlDYXBhY2l0eVJlc2VydmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYXBhY2l0eVJlc2VydmF0aW9uID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUNhcGFjaXR5UmVzZXJ2YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5SXBQb29scyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5SXBQb29scyA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5SXBQb29sc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlMaXN0ZW5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5TGlzdGVuZXIgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUxpc3RlbmVyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUxpc3RlbmVyQXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5TGlzdGVuZXJBdHRyaWJ1dGVzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUxpc3RlbmVyQXR0cmlidXRlc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUxvYWRCYWxhbmNlckF0dHJpYnV0ZXNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5UnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UnVsZSA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5UnVsZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlUYXJnZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VGFyZ2V0R3JvdXAgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeVRhcmdldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeVRhcmdldEdyb3VwQXR0cmlidXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VGFyZ2V0R3JvdXBBdHRyaWJ1dGVzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeVRhcmdldEdyb3VwQXR0cmlidXRlc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlUcnVzdFN0b3JlICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlUcnVzdFN0b3JlID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlUcnVzdFN0b3JlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlZ2lzdGVySW5zdGFuY2VzV2l0aExvYWRCYWxhbmNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJJbnN0YW5jZXNXaXRoTG9hZEJhbGFuY2VyID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlZ2lzdGVySW5zdGFuY2VzV2l0aExvYWRCYWxhbmNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpSZWdpc3RlclRhcmdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFyZ2V0cyA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVnaXN0ZXJUYXJnZXRzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlbW92ZUxpc3RlbmVyQ2VydGlmaWNhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVMaXN0ZW5lckNlcnRpZmljYXRlcyA9XG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZW1vdmVMaXN0ZW5lckNlcnRpZmljYXRlc1wiO1xuXHQvKiogW1RhZ2dpbmddIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlbW92ZVRhZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3MgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlbW92ZVRhZ3NcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVtb3ZlVHJ1c3RTdG9yZVJldm9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUcnVzdFN0b3JlUmV2b2NhdGlvbnMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVtb3ZlVHJ1c3RTdG9yZVJldm9jYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldElwQWRkcmVzc1R5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldElwQWRkcmVzc1R5cGUgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0SXBBZGRyZXNzVHlwZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRMb2FkQmFsYW5jZXJMaXN0ZW5lclNTTENlcnRpZmljYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRMb2FkQmFsYW5jZXJMaXN0ZW5lclNTTENlcnRpZmljYXRlID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldExvYWRCYWxhbmNlckxpc3RlbmVyU1NMQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRMb2FkQmFsYW5jZXJQb2xpY2llc0ZvckJhY2tlbmRTZXJ2ZXIgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNPZkxpc3RlbmVyID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljbG9hZGJhbGFuY2luZzpTZXRSdWxlUHJpb3JpdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0UnVsZVByaW9yaXRpZXMgPVxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0UnVsZVByaW9yaXRpZXNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0U2VjdXJpdHlHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFNlY3VyaXR5R3JvdXBzID1cblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFNlY3VyaXR5R3JvdXBzXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFN1Ym5ldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFN1Ym5ldHMgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFN1Ym5ldHNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0V2ViQWNsICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRXZWJBY2wgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFdlYkFjbFwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZUFjY291bnRMaW1pdHMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlQ2FwYWNpdHlSZXNlcnZhdGlvbixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVJbnN0YW5jZUhlYWx0aCxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVMaXN0ZW5lckF0dHJpYnV0ZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlTGlzdGVuZXJDZXJ0aWZpY2F0ZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlTGlzdGVuZXJzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlUnVsZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlU1NMUG9saWNpZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlVGFncyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVUYXJnZXRHcm91cEF0dHJpYnV0ZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlVGFyZ2V0R3JvdXBzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZVRhcmdldEhlYWx0aCxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVUcnVzdFN0b3JlQXNzb2NpYXRpb25zLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZVRydXN0U3RvcmVSZXZvY2F0aW9ucyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVzY3JpYmVUcnVzdFN0b3Jlcyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uR2V0TG9hZEJhbGFuY2VyV2ViQUNMLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uR2V0VHJ1c3RTdG9yZUNhQ2VydGlmaWNhdGVzQnVuZGxlLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25HZXRUcnVzdFN0b3JlUmV2b2NhdGlvbkNvbnRlbnQsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkFkZExpc3RlbmVyQ2VydGlmaWNhdGVzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5BZGRUcnVzdFN0b3JlUmV2b2NhdGlvbnMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkFwcGx5U2VjdXJpdHlHcm91cHNUb0xvYWRCYWxhbmNlcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Db25maWd1cmVIZWFsdGhDaGVjayxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQ3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQ3JlYXRlTEJDb29raWVTdGlja2luZXNzUG9saWN5LFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5DcmVhdGVMaXN0ZW5lcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQ3JlYXRlTG9hZEJhbGFuY2VyLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5DcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkNyZWF0ZUxvYWRCYWxhbmNlclBvbGljeSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQ3JlYXRlUnVsZSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuQ3JlYXRlVGFyZ2V0R3JvdXAsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkNyZWF0ZVRydXN0U3RvcmUsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkNyZWF0ZVdlYkFDTEFzc29jaWF0aW9uLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZWxldGVMaXN0ZW5lcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVsZXRlTG9hZEJhbGFuY2VyLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZWxldGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlbGV0ZUxvYWRCYWxhbmNlclBvbGljeSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVsZXRlUnVsZSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVsZXRlU2hhcmVkVHJ1c3RTdG9yZUFzc29jaWF0aW9uLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZWxldGVUYXJnZXRHcm91cCxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVsZXRlVHJ1c3RTdG9yZSxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGVsZXRlV2ViQUNMQXNzb2NpYXRpb24sXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXJlZ2lzdGVyVGFyZ2V0cyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuRW5hYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXIsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLk1vZGlmeUNhcGFjaXR5UmVzZXJ2YXRpb24sXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLk1vZGlmeUlwUG9vbHMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLk1vZGlmeUxpc3RlbmVyLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlMaXN0ZW5lckF0dHJpYnV0ZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLk1vZGlmeUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLk1vZGlmeVJ1bGUsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLk1vZGlmeVRhcmdldEdyb3VwLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5Nb2RpZnlUYXJnZXRHcm91cEF0dHJpYnV0ZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLk1vZGlmeVRydXN0U3RvcmUsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLlJlZ2lzdGVySW5zdGFuY2VzV2l0aExvYWRCYWxhbmNlcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuUmVnaXN0ZXJUYXJnZXRzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5SZW1vdmVMaXN0ZW5lckNlcnRpZmljYXRlcyxcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuUmVtb3ZlVHJ1c3RTdG9yZVJldm9jYXRpb25zLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25TZXRJcEFkZHJlc3NUeXBlLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25TZXRMb2FkQmFsYW5jZXJMaXN0ZW5lclNTTENlcnRpZmljYXRlLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25TZXRMb2FkQmFsYW5jZXJQb2xpY2llc0ZvckJhY2tlbmRTZXJ2ZXIsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLmFjdGlvblNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lcixcblx0XHRFbGFzdGljbG9hZGJhbGFuY2luZ0FjdGlvbnMuYWN0aW9uU2V0UnVsZVByaW9yaXRpZXMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLmFjdGlvblNldFNlY3VyaXR5R3JvdXBzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25TZXRTdWJuZXRzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5hY3Rpb25TZXRXZWJBY2wsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5EZXNjcmliZUxvYWRCYWxhbmNlcnMsXG5cdFx0RWxhc3RpY2xvYWRiYWxhbmNpbmdBY3Rpb25zLkRlc2NyaWJlV2ViQUNMQXNzb2NpYXRpb24sXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5BbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5BZGRUYWdzLFxuXHRcdEVsYXN0aWNsb2FkYmFsYW5jaW5nQWN0aW9ucy5SZW1vdmVUYWdzLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbGlzdGVuZXItcnVsZS9hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJSdWxlQXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGVuZXJSdWxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpc3RlbmVyUnVsZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbGlzdGVuZXItcnVsZS9hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJSdWxlQXBwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVyUnVsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJSdWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxpc3RlbmVyLXJ1bGUvbmV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyUnVsZU5ldEFyblByb3BzIHtcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGVuZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVyUnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lclJ1bGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxpc3RlbmVyLXJ1bGUvbmV0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyUnVsZU5ldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGVuZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lclJ1bGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxpc3RlbmVyUnVsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsaXN0ZW5lci9hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJBcHBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsaXN0ZW5lci9hcHAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJBcHBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsaXN0ZW5lci9nd3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJHd3lBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsaXN0ZW5lci9nd3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJHd3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsaXN0ZW5lci9uZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJOZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsaXN0ZW5lci9uZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJOZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBsb2FkYmFsYW5jZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyQXJuUHJvcHMge1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsb2FkYmFsYW5jZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbG9hZGJhbGFuY2VyL2FwcC8gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyQXBwQXJuUHJvcHMge1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsb2FkYmFsYW5jZXIvYXBwLyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpY2xvYWRiYWxhbmNpbmdMb2FkYmFsYW5jZXJBcHBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbG9hZGJhbGFuY2VyL2d3eS8gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyR3d5QXJuUHJvcHMge1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsb2FkYmFsYW5jZXIvZ3d5LyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpY2xvYWRiYWxhbmNpbmdMb2FkYmFsYW5jZXJHd3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbG9hZGJhbGFuY2VyL25ldC8gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyTmV0QXJuUHJvcHMge1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxvYWRCYWxhbmNlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBMb2FkQmFsYW5jZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbG9hZEJhbGFuY2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBsb2FkYmFsYW5jZXIvbmV0LyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpY2xvYWRiYWxhbmNpbmdMb2FkYmFsYW5jZXJOZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIExvYWRCYWxhbmNlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgTG9hZEJhbGFuY2VySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsb2FkQmFsYW5jZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGFyZ2V0Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nVGFyZ2V0Z3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGFyZ2V0R3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXJnZXRHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXJnZXRHcm91cElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXJnZXRHcm91cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGFyZ2V0Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aWNsb2FkYmFsYW5jaW5nVGFyZ2V0Z3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRhcmdldEdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhcmdldEdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhcmdldEdyb3VwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXJnZXRHcm91cElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0cnVzdHN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ1RydXN0c3RvcmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVHJ1c3RTdG9yZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRydXN0U3RvcmVOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVHJ1c3RTdG9yZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0cnVzdFN0b3JlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0cnVzdHN0b3JlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljbG9hZGJhbGFuY2luZ1RydXN0c3RvcmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRydXN0U3RvcmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdHJ1c3RTdG9yZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUcnVzdFN0b3JlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0cnVzdFN0b3JlSWQ6IHN0cmluZztcbn1cblxuY29uc3QgTGlzdGVuZXJSdWxlQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGlzdGVuZXItcnVsZVxcL2FwcFxcLyg/PGxvYWRCYWxhbmNlck5hbWU+W146Lz9dKylcXC8oPzxsb2FkQmFsYW5jZXJJZD5bXjovP10rKVxcLyg/PGxpc3RlbmVySWQ+W146Lz9dKylcXC8oPzxsaXN0ZW5lclJ1bGVJZD5bXjovP10rKSQvO1xuY29uc3QgTGlzdGVuZXJSdWxlTmV0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGlzdGVuZXItcnVsZVxcL25ldFxcLyg/PGxvYWRCYWxhbmNlck5hbWU+W146Lz9dKylcXC8oPzxsb2FkQmFsYW5jZXJJZD5bXjovP10rKVxcLyg/PGxpc3RlbmVySWQ+W146Lz9dKylcXC8oPzxsaXN0ZW5lclJ1bGVJZD5bXjovP10rKSQvO1xuY29uc3QgTGlzdGVuZXJBcHBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2xvYWRiYWxhbmNpbmc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsaXN0ZW5lclxcL2FwcFxcLyg/PGxvYWRCYWxhbmNlck5hbWU+W146Lz9dKylcXC8oPzxsb2FkQmFsYW5jZXJJZD5bXjovP10rKVxcLyg/PGxpc3RlbmVySWQ+W146Lz9dKykkLztcbmNvbnN0IExpc3RlbmVyR3d5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bGlzdGVuZXJcXC9nd3lcXC8oPzxsb2FkQmFsYW5jZXJOYW1lPlteOi8/XSspXFwvKD88bG9hZEJhbGFuY2VySWQ+W146Lz9dKylcXC8oPzxsaXN0ZW5lcklkPlteOi8/XSspJC87XG5jb25zdCBMaXN0ZW5lck5ldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljbG9hZGJhbGFuY2luZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxpc3RlbmVyXFwvbmV0XFwvKD88bG9hZEJhbGFuY2VyTmFtZT5bXjovP10rKVxcLyg/PGxvYWRCYWxhbmNlcklkPlteOi8/XSspXFwvKD88bGlzdGVuZXJJZD5bXjovP10rKSQvO1xuY29uc3QgTG9hZGJhbGFuY2VyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bG9hZGJhbGFuY2VyXFwvKD88bG9hZEJhbGFuY2VyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgTG9hZGJhbGFuY2VyQXBwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNsb2FkYmFsYW5jaW5nOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bG9hZGJhbGFuY2VyXFwvYXBwXFwvKD88bG9hZEJhbGFuY2VyTmFtZT5bXjovP10rKVxcLyg/PGxvYWRCYWxhbmNlcklkPlteOi8/XSspJC87XG5jb25zdCBMb2FkYmFsYW5jZXJHd3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2xvYWRiYWxhbmNpbmc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpsb2FkYmFsYW5jZXJcXC9nd3lcXC8oPzxsb2FkQmFsYW5jZXJOYW1lPlteOi8/XSspXFwvKD88bG9hZEJhbGFuY2VySWQ+W146Lz9dKykkLztcbmNvbnN0IExvYWRiYWxhbmNlck5ldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljbG9hZGJhbGFuY2luZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmxvYWRiYWxhbmNlclxcL25ldFxcLyg/PGxvYWRCYWxhbmNlck5hbWU+W146Lz9dKylcXC8oPzxsb2FkQmFsYW5jZXJJZD5bXjovP10rKSQvO1xuY29uc3QgVGFyZ2V0Z3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2xvYWRiYWxhbmNpbmc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0YXJnZXRncm91cFxcLyg/PHRhcmdldEdyb3VwTmFtZT5bXjovP10rKVxcLyg/PHRhcmdldEdyb3VwSWQ+W146Lz9dKykkLztcbmNvbnN0IFRydXN0c3RvcmVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2xvYWRiYWxhbmNpbmc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0cnVzdHN0b3JlXFwvKD88dHJ1c3RTdG9yZU5hbWU+W146Lz9dKylcXC8oPzx0cnVzdFN0b3JlSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBlbGFzdGljbG9hZGJhbGFuY2luZyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGljbG9hZGJhbGFuY2luZ1Jlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGlzdGVuZXItcnVsZS9hcHAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGlzdGVuZXJSdWxlQXBwKFxuXHRcdHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyUnVsZUFwcEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omxpc3RlbmVyLXJ1bGUvYXBwLyR7cHJvcHMubG9hZEJhbGFuY2VyTmFtZX0vJHtwcm9wcy5sb2FkQmFsYW5jZXJJZH0vJHtwcm9wcy5saXN0ZW5lcklkfS8ke3Byb3BzLmxpc3RlbmVyUnVsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsaXN0ZW5lci1ydWxlL2FwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGlzdGVuZXJSdWxlQXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExpc3RlbmVyUnVsZUFwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsaXN0ZW5lci1ydWxlL2FwcCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMaXN0ZW5lclJ1bGVBcHBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJSdWxlQXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMaXN0ZW5lclJ1bGVBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGlzdGVuZXItcnVsZS9hcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bG9hZEJhbGFuY2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJOYW1lLFxuXHRcdFx0bG9hZEJhbGFuY2VySWQ6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VySWQsXG5cdFx0XHRsaXN0ZW5lcklkOiBtYXRjaC5ncm91cHMhLmxpc3RlbmVySWQsXG5cdFx0XHRsaXN0ZW5lclJ1bGVJZDogbWF0Y2guZ3JvdXBzIS5saXN0ZW5lclJ1bGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsaXN0ZW5lci1ydWxlL25ldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsaXN0ZW5lclJ1bGVOZXQoXG5cdFx0cHJvcHM6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJSdWxlTmV0QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2xvYWRiYWxhbmNpbmc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGlzdGVuZXItcnVsZS9uZXQvJHtwcm9wcy5sb2FkQmFsYW5jZXJOYW1lfS8ke3Byb3BzLmxvYWRCYWxhbmNlcklkfS8ke3Byb3BzLmxpc3RlbmVySWR9LyR7cHJvcHMubGlzdGVuZXJSdWxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxpc3RlbmVyLXJ1bGUvbmV0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMaXN0ZW5lclJ1bGVOZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGlzdGVuZXJSdWxlTmV0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxpc3RlbmVyLXJ1bGUvbmV0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxpc3RlbmVyUnVsZU5ldEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpY2xvYWRiYWxhbmNpbmdMaXN0ZW5lclJ1bGVOZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExpc3RlbmVyUnVsZU5ldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsaXN0ZW5lci1ydWxlL25ldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsb2FkQmFsYW5jZXJOYW1lOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlck5hbWUsXG5cdFx0XHRsb2FkQmFsYW5jZXJJZDogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJJZCxcblx0XHRcdGxpc3RlbmVySWQ6IG1hdGNoLmdyb3VwcyEubGlzdGVuZXJJZCxcblx0XHRcdGxpc3RlbmVyUnVsZUlkOiBtYXRjaC5ncm91cHMhLmxpc3RlbmVyUnVsZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxpc3RlbmVyL2FwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsaXN0ZW5lckFwcChwcm9wczogRWxhc3RpY2xvYWRiYWxhbmNpbmdMaXN0ZW5lckFwcEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljbG9hZGJhbGFuY2luZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpsaXN0ZW5lci9hcHAvJHtwcm9wcy5sb2FkQmFsYW5jZXJOYW1lfS8ke3Byb3BzLmxvYWRCYWxhbmNlcklkfS8ke3Byb3BzLmxpc3RlbmVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxpc3RlbmVyL2FwcCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTGlzdGVuZXJBcHBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGlzdGVuZXJBcHBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbGlzdGVuZXIvYXBwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxpc3RlbmVyQXBwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyQXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMaXN0ZW5lckFwcEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBsaXN0ZW5lci9hcHAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bG9hZEJhbGFuY2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJOYW1lLFxuXHRcdFx0bG9hZEJhbGFuY2VySWQ6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VySWQsXG5cdFx0XHRsaXN0ZW5lcklkOiBtYXRjaC5ncm91cHMhLmxpc3RlbmVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbGlzdGVuZXIvZ3d5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxpc3RlbmVyR3d5KHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xpc3RlbmVyR3d5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omxpc3RlbmVyL2d3eS8ke3Byb3BzLmxvYWRCYWxhbmNlck5hbWV9LyR7cHJvcHMubG9hZEJhbGFuY2VySWR9LyR7cHJvcHMubGlzdGVuZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbGlzdGVuZXIvZ3d5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMaXN0ZW5lckd3eUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMaXN0ZW5lckd3eUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsaXN0ZW5lci9nd3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTGlzdGVuZXJHd3lBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJHd3lBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExpc3RlbmVyR3d5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxpc3RlbmVyL2d3eSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsb2FkQmFsYW5jZXJOYW1lOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlck5hbWUsXG5cdFx0XHRsb2FkQmFsYW5jZXJJZDogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJJZCxcblx0XHRcdGxpc3RlbmVySWQ6IG1hdGNoLmdyb3VwcyEubGlzdGVuZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsaXN0ZW5lci9uZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGlzdGVuZXJOZXQocHJvcHM6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTGlzdGVuZXJOZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2xvYWRiYWxhbmNpbmc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bGlzdGVuZXIvbmV0LyR7cHJvcHMubG9hZEJhbGFuY2VyTmFtZX0vJHtwcm9wcy5sb2FkQmFsYW5jZXJJZH0vJHtwcm9wcy5saXN0ZW5lcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsaXN0ZW5lci9uZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExpc3RlbmVyTmV0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExpc3RlbmVyTmV0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGxpc3RlbmVyL25ldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMaXN0ZW5lck5ldEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpY2xvYWRiYWxhbmNpbmdMaXN0ZW5lck5ldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGlzdGVuZXJOZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGlzdGVuZXIvbmV0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGxvYWRCYWxhbmNlck5hbWU6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VyTmFtZSxcblx0XHRcdGxvYWRCYWxhbmNlcklkOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlcklkLFxuXHRcdFx0bGlzdGVuZXJJZDogbWF0Y2guZ3JvdXBzIS5saXN0ZW5lcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGxvYWRiYWxhbmNlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsb2FkYmFsYW5jZXIocHJvcHM6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxvYWRiYWxhbmNlci8ke3Byb3BzLmxvYWRCYWxhbmNlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxvYWRiYWxhbmNlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTG9hZGJhbGFuY2VyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExvYWRiYWxhbmNlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsb2FkYmFsYW5jZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTG9hZGJhbGFuY2VyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTG9hZGJhbGFuY2VyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGxvYWRiYWxhbmNlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsb2FkQmFsYW5jZXJOYW1lOiBtYXRjaC5ncm91cHMhLmxvYWRCYWxhbmNlck5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbG9hZGJhbGFuY2VyL2FwcC8gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbG9hZGJhbGFuY2VyQXBwKFxuXHRcdHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckFwcEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxvYWRiYWxhbmNlci9hcHAvJHtwcm9wcy5sb2FkQmFsYW5jZXJOYW1lfS8ke3Byb3BzLmxvYWRCYWxhbmNlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsb2FkYmFsYW5jZXIvYXBwLyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTG9hZGJhbGFuY2VyQXBwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExvYWRiYWxhbmNlckFwcEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsb2FkYmFsYW5jZXIvYXBwLyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMb2FkYmFsYW5jZXJBcHBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyQXBwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMb2FkYmFsYW5jZXJBcHBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbG9hZGJhbGFuY2VyL2FwcC8gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bG9hZEJhbGFuY2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJOYW1lLFxuXHRcdFx0bG9hZEJhbGFuY2VySWQ6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbG9hZGJhbGFuY2VyL2d3eS8gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbG9hZGJhbGFuY2VyR3d5KFxuXHRcdHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlckd3eUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxvYWRiYWxhbmNlci9nd3kvJHtwcm9wcy5sb2FkQmFsYW5jZXJOYW1lfS8ke3Byb3BzLmxvYWRCYWxhbmNlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsb2FkYmFsYW5jZXIvZ3d5LyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTG9hZGJhbGFuY2VyR3d5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExvYWRiYWxhbmNlckd3eUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsb2FkYmFsYW5jZXIvZ3d5LyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMb2FkYmFsYW5jZXJHd3lBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyR3d5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMb2FkYmFsYW5jZXJHd3lBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbG9hZGJhbGFuY2VyL2d3eS8gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bG9hZEJhbGFuY2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJOYW1lLFxuXHRcdFx0bG9hZEJhbGFuY2VySWQ6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbG9hZGJhbGFuY2VyL25ldC8gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbG9hZGJhbGFuY2VyTmV0KFxuXHRcdHByb3BzOiBFbGFzdGljbG9hZGJhbGFuY2luZ0xvYWRiYWxhbmNlck5ldEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmxvYWRiYWxhbmNlci9uZXQvJHtwcm9wcy5sb2FkQmFsYW5jZXJOYW1lfS8ke3Byb3BzLmxvYWRCYWxhbmNlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBsb2FkYmFsYW5jZXIvbmV0LyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTG9hZGJhbGFuY2VyTmV0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExvYWRiYWxhbmNlck5ldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsb2FkYmFsYW5jZXIvbmV0LyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMb2FkYmFsYW5jZXJOZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aWNsb2FkYmFsYW5jaW5nTG9hZGJhbGFuY2VyTmV0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMb2FkYmFsYW5jZXJOZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbG9hZGJhbGFuY2VyL25ldC8gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bG9hZEJhbGFuY2VyTmFtZTogbWF0Y2guZ3JvdXBzIS5sb2FkQmFsYW5jZXJOYW1lLFxuXHRcdFx0bG9hZEJhbGFuY2VySWQ6IG1hdGNoLmdyb3VwcyEubG9hZEJhbGFuY2VySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGFyZ2V0Z3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFyZ2V0Z3JvdXAocHJvcHM6IEVsYXN0aWNsb2FkYmFsYW5jaW5nVGFyZ2V0Z3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2xvYWRiYWxhbmNpbmc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFyZ2V0Z3JvdXAvJHtwcm9wcy50YXJnZXRHcm91cE5hbWV9LyR7cHJvcHMudGFyZ2V0R3JvdXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGFyZ2V0Z3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRhcmdldGdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhcmdldGdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRhcmdldGdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRhcmdldGdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGljbG9hZGJhbGFuY2luZ1RhcmdldGdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUYXJnZXRncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YXJnZXRncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0YXJnZXRHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEudGFyZ2V0R3JvdXBOYW1lLFxuXHRcdFx0dGFyZ2V0R3JvdXBJZDogbWF0Y2guZ3JvdXBzIS50YXJnZXRHcm91cElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRydXN0c3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJ1c3RzdG9yZShwcm9wczogRWxhc3RpY2xvYWRiYWxhbmNpbmdUcnVzdHN0b3JlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNsb2FkYmFsYW5jaW5nOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRydXN0c3RvcmUvJHtwcm9wcy50cnVzdFN0b3JlTmFtZX0vJHtwcm9wcy50cnVzdFN0b3JlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRydXN0c3RvcmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRydXN0c3RvcmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVHJ1c3RzdG9yZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cnVzdHN0b3JlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRydXN0c3RvcmVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aWNsb2FkYmFsYW5jaW5nVHJ1c3RzdG9yZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVHJ1c3RzdG9yZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0cnVzdHN0b3JlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRydXN0U3RvcmVOYW1lOiBtYXRjaC5ncm91cHMhLnRydXN0U3RvcmVOYW1lLFxuXHRcdFx0dHJ1c3RTdG9yZUlkOiBtYXRjaC5ncm91cHMhLnRydXN0U3RvcmVJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBlbGFzdGljbG9hZGJhbGFuY2luZy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aWNsb2FkYmFsYW5jaW5nT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZExpc3RlbmVyQ2VydGlmaWNhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkTGlzdGVuZXJDZXJ0aWZpY2F0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkTGlzdGVuZXJDZXJ0aWZpY2F0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVGFncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3M6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkVGFnc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVHJ1c3RTdG9yZVJldm9jYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVHJ1c3RTdG9yZVJldm9jYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkFkZFRydXN0U3RvcmVSZXZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBcHBseVNlY3VyaXR5R3JvdXBzVG9Mb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBcHBseVNlY3VyaXR5R3JvdXBzVG9Mb2FkQmFsYW5jZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEF0dGFjaExvYWRCYWxhbmNlclRvU3VibmV0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF0dGFjaExvYWRCYWxhbmNlclRvU3VibmV0czogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpBdHRhY2hMb2FkQmFsYW5jZXJUb1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29uZmlndXJlSGVhbHRoQ2hlY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb25maWd1cmVIZWFsdGhDaGVjazogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDb25maWd1cmVIZWFsdGhDaGVja1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBDb29raWVTdGlja2luZXNzUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVBcHBDb29raWVTdGlja2luZXNzUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxCQ29va2llU3RpY2tpbmVzc1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxCQ29va2llU3RpY2tpbmVzc1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMQkNvb2tpZVN0aWNraW5lc3NQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTGlzdGVuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMaXN0ZW5lcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpBZGRUYWdzXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMaXN0ZW5lclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkVGFnc1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxvYWRCYWxhbmNlckxpc3RlbmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlckxpc3RlbmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTG9hZEJhbGFuY2VyUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTG9hZEJhbGFuY2VyUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUxvYWRCYWxhbmNlclBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpBZGRUYWdzXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpDcmVhdGVSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRhcmdldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFyZ2V0R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkVGFnc1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlVGFyZ2V0R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVHJ1c3RTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRydXN0U3RvcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6QWRkVGFnc1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlVHJ1c3RTdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVMaXN0ZW5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxpc3RlbmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxpc3RlbmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUxvYWRCYWxhbmNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVMb2FkQmFsYW5jZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTG9hZEJhbGFuY2VyTGlzdGVuZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZUxvYWRCYWxhbmNlckxpc3RlbmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVMb2FkQmFsYW5jZXJQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXJQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVsZXRlTG9hZEJhbGFuY2VyUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdWxlOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlbGV0ZVJ1bGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNoYXJlZFRydXN0U3RvcmVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNoYXJlZFRydXN0U3RvcmVBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVTaGFyZWRUcnVzdFN0b3JlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFyZ2V0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXJnZXRHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVUYXJnZXRHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUcnVzdFN0b3JlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVHJ1c3RTdG9yZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZWxldGVUcnVzdFN0b3JlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJJbnN0YW5jZXNGcm9tTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlckluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVyZWdpc3Rlckluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlclRhcmdldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFyZ2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXJlZ2lzdGVyVGFyZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFjY291bnRMaW1pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRMaW1pdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVBY2NvdW50TGltaXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FwYWNpdHlSZXNlcnZhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FwYWNpdHlSZXNlcnZhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUNhcGFjaXR5UmVzZXJ2YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbnN0YW5jZUhlYWx0aCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VIZWFsdGg6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVJbnN0YW5jZUhlYWx0aFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxpc3RlbmVyQXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTGlzdGVuZXJBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTGlzdGVuZXJBdHRyaWJ1dGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTGlzdGVuZXJDZXJ0aWZpY2F0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpc3RlbmVyQ2VydGlmaWNhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTGlzdGVuZXJDZXJ0aWZpY2F0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMaXN0ZW5lcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxpc3RlbmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZUxpc3RlbmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxvYWRCYWxhbmNlckF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxvYWRCYWxhbmNlckF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxvYWRCYWxhbmNlclBvbGljaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY3lUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTG9hZEJhbGFuY2VyUG9saWN5VHlwZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJQb2xpY3lUeXBlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUxvYWRCYWxhbmNlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUxvYWRCYWxhbmNlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVMb2FkQmFsYW5jZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJ1bGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTU0xQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU1NMUG9saWNpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVTU0xQb2xpY2llc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRhZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUYWdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFyZ2V0R3JvdXBBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXJnZXRHcm91cEF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGVzY3JpYmVUYXJnZXRHcm91cEF0dHJpYnV0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUYXJnZXRHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhcmdldEdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRhcmdldEdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRhcmdldEhlYWx0aCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFyZ2V0SGVhbHRoOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRlc2NyaWJlVGFyZ2V0SGVhbHRoXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVHJ1c3RTdG9yZUFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVHJ1c3RTdG9yZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRydXN0U3RvcmVBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUcnVzdFN0b3JlUmV2b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRydXN0U3RvcmVSZXZvY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRydXN0U3RvcmVSZXZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRydXN0U3RvcmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUcnVzdFN0b3Jlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpEZXNjcmliZVRydXN0U3RvcmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGFjaExvYWRCYWxhbmNlckZyb21TdWJuZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6RGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkRpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFbmFibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEVuYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkVuYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUcnVzdFN0b3JlQ2FDZXJ0aWZpY2F0ZXNCdW5kbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRydXN0U3RvcmVDYUNlcnRpZmljYXRlc0J1bmRsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpHZXRUcnVzdFN0b3JlQ2FDZXJ0aWZpY2F0ZXNCdW5kbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VHJ1c3RTdG9yZVJldm9jYXRpb25Db250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUcnVzdFN0b3JlUmV2b2NhdGlvbkNvbnRlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6R2V0VHJ1c3RTdG9yZVJldm9jYXRpb25Db250ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUNhcGFjaXR5UmVzZXJ2YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYXBhY2l0eVJlc2VydmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUNhcGFjaXR5UmVzZXJ2YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5SXBQb29scyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUlwUG9vbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5SXBQb29sc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlMaXN0ZW5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUxpc3RlbmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeUxpc3RlbmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUxpc3RlbmVyQXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUxpc3RlbmVyQXR0cmlidXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlMaXN0ZW5lckF0dHJpYnV0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5TG9hZEJhbGFuY2VyQXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUxvYWRCYWxhbmNlckF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5TG9hZEJhbGFuY2VyQXR0cmlidXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UnVsZTogc3RyaW5nW10gPSBbXCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlSdWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlUYXJnZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVRhcmdldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOk1vZGlmeVRhcmdldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVRhcmdldEdyb3VwQXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVRhcmdldEdyb3VwQXR0cmlidXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpNb2RpZnlUYXJnZXRHcm91cEF0dHJpYnV0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5VHJ1c3RTdG9yZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVRydXN0U3RvcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TW9kaWZ5VHJ1c3RTdG9yZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVnaXN0ZXJJbnN0YW5jZXNXaXRoTG9hZEJhbGFuY2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyVGFyZ2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFyZ2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZWdpc3RlclRhcmdldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlTGlzdGVuZXJDZXJ0aWZpY2F0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVMaXN0ZW5lckNlcnRpZmljYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZW1vdmVMaXN0ZW5lckNlcnRpZmljYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZW1vdmVUYWdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnczogc3RyaW5nW10gPSBbXCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZW1vdmVUYWdzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZW1vdmVUcnVzdFN0b3JlUmV2b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUcnVzdFN0b3JlUmV2b2NhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVtb3ZlVHJ1c3RTdG9yZVJldm9jYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldElwQWRkcmVzc1R5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldElwQWRkcmVzc1R5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0SXBBZGRyZXNzVHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRMb2FkQmFsYW5jZXJMaXN0ZW5lclNTTENlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRMb2FkQmFsYW5jZXJMaXN0ZW5lclNTTENlcnRpZmljYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldExvYWRCYWxhbmNlckxpc3RlbmVyU1NMQ2VydGlmaWNhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRMb2FkQmFsYW5jZXJQb2xpY2llc0ZvckJhY2tlbmRTZXJ2ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNPZkxpc3RlbmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldExvYWRCYWxhbmNlclBvbGljaWVzT2ZMaXN0ZW5lclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRSdWxlUHJpb3JpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0UnVsZVByaW9yaXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0UnVsZVByaW9yaXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0U2VjdXJpdHlHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldFNlY3VyaXR5R3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNldFNlY3VyaXR5R3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldFN1Ym5ldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldFN1Ym5ldHM6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2V0U3VibmV0c1wiXTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGVsYXN0aWNsb2FkYmFsYW5jaW5nLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpY2xvYWRiYWxhbmNpbmdDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZExpc3RlbmVyQ2VydGlmaWNhdGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZExpc3RlbmVyQ2VydGlmaWNhdGVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlQWN0aW9uXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRydXN0U3RvcmVSZXZvY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUcnVzdFN0b3JlUmV2b2NhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQXBwbHlTZWN1cml0eUdyb3Vwc1RvTG9hZEJhbGFuY2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcGx5U2VjdXJpdHlHcm91cHNUb0xvYWRCYWxhbmNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eUdyb3VwXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBdHRhY2hMb2FkQmFsYW5jZXJUb1N1Ym5ldHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXR0YWNoTG9hZEJhbGFuY2VyVG9TdWJuZXRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlN1Ym5ldFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ29uZmlndXJlSGVhbHRoQ2hlY2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29uZmlndXJlSGVhbHRoQ2hlY2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXBwQ29va2llU3RpY2tpbmVzc1BvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBDb29raWVTdGlja2luZXNzUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxCQ29va2llU3RpY2tpbmVzc1BvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMQkNvb2tpZVN0aWNraW5lc3NQb2xpY3lDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTGlzdGVuZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGlzdGVuZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkxpc3RlbmVyUHJvdG9jb2xcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlQb2xpY3lcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxvYWRCYWxhbmNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2NoZW1lXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eUdyb3VwXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTdWJuZXRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxvYWRCYWxhbmNlckxpc3RlbmVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkxpc3RlbmVyUHJvdG9jb2xcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTG9hZEJhbGFuY2VyUG9saWN5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxvYWRCYWxhbmNlclBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eVBvbGljeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUnVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRhcmdldEdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhcmdldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRydXN0U3RvcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVHJ1c3RTdG9yZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVXZWJBQ0xBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXZWJBQ0xBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVMaXN0ZW5lciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMaXN0ZW5lckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVMb2FkQmFsYW5jZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTG9hZEJhbGFuY2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUxvYWRCYWxhbmNlckxpc3RlbmVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMb2FkQmFsYW5jZXJMaXN0ZW5lcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlTG9hZEJhbGFuY2VyUG9saWN5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxvYWRCYWxhbmNlclBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVSdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJ1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlU2hhcmVkVHJ1c3RTdG9yZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNoYXJlZFRydXN0U3RvcmVBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVUYXJnZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXJnZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVUcnVzdFN0b3JlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRydXN0U3RvcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlV2ViQUNMQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV2ViQUNMQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVyZWdpc3Rlckluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlckluc3RhbmNlc0Zyb21Mb2FkQmFsYW5jZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVyZWdpc3RlclRhcmdldHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclRhcmdldHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0YWNoTG9hZEJhbGFuY2VyRnJvbVN1Ym5ldHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGlzYWJsZUF2YWlsYWJpbGl0eVpvbmVzRm9yTG9hZEJhbGFuY2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVBdmFpbGFiaWxpdHlab25lc0ZvckxvYWRCYWxhbmNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRW5hYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRW5hYmxlQXZhaWxhYmlsaXR5Wm9uZXNGb3JMb2FkQmFsYW5jZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldExvYWRCYWxhbmNlcldlYkFDTCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMb2FkQmFsYW5jZXJXZWJBQ0xDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UmVzb3VyY2VQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3lDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0VHJ1c3RTdG9yZUNhQ2VydGlmaWNhdGVzQnVuZGxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRydXN0U3RvcmVDYUNlcnRpZmljYXRlc0J1bmRsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0VHJ1c3RTdG9yZVJldm9jYXRpb25Db250ZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRydXN0U3RvcmVSZXZvY2F0aW9uQ29udGVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5Q2FwYWNpdHlSZXNlcnZhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYXBhY2l0eVJlc2VydmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUlwUG9vbHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5SXBQb29sc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlMaXN0ZW5lciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlMaXN0ZW5lckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TGlzdGVuZXJQcm90b2NvbFwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eVBvbGljeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5TGlzdGVuZXJBdHRyaWJ1dGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUxpc3RlbmVyQXR0cmlidXRlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlMb2FkQmFsYW5jZXJBdHRyaWJ1dGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUxvYWRCYWxhbmNlckF0dHJpYnV0ZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5UnVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVRhcmdldEdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVRhcmdldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVRhcmdldEdyb3VwQXR0cmlidXRlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlUYXJnZXRHcm91cEF0dHJpYnV0ZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5VHJ1c3RTdG9yZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlUcnVzdFN0b3JlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlZ2lzdGVySW5zdGFuY2VzV2l0aExvYWRCYWxhbmNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3Rlckluc3RhbmNlc1dpdGhMb2FkQmFsYW5jZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJUYXJnZXRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFyZ2V0c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZW1vdmVMaXN0ZW5lckNlcnRpZmljYXRlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVMaXN0ZW5lckNlcnRpZmljYXRlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZW1vdmVUYWdzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVtb3ZlVHJ1c3RTdG9yZVJldm9jYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRydXN0U3RvcmVSZXZvY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZXRJcEFkZHJlc3NUeXBlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldElwQWRkcmVzc1R5cGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2V0TG9hZEJhbGFuY2VyTGlzdGVuZXJTU0xDZXJ0aWZpY2F0ZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRMb2FkQmFsYW5jZXJMaXN0ZW5lclNTTENlcnRpZmljYXRlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZXRMb2FkQmFsYW5jZXJQb2xpY2llc0ZvckJhY2tlbmRTZXJ2ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNGb3JCYWNrZW5kU2VydmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZXRMb2FkQmFsYW5jZXJQb2xpY2llc09mTGlzdGVuZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0TG9hZEJhbGFuY2VyUG9saWNpZXNPZkxpc3RlbmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlQb2xpY3lcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2V0U2VjdXJpdHlHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0U2VjdXJpdHlHcm91cHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlHcm91cFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2V0U3VibmV0cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRTdWJuZXRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlN1Ym5ldFwiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUFjdGlvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1JFQVRFX0FDVElPTiA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljbG9hZGJhbGFuY2luZzpMaXN0ZW5lclByb3RvY29sIChBcnJheU9mU3RyaW5nLCBTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBMSVNURU5FUl9QUk9UT0NPTCA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6TGlzdGVuZXJQcm90b2NvbFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2xvYWRiYWxhbmNpbmc6UmVzb3VyY2VUYWcvIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlJlc291cmNlVGFnL1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2NoZW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTQ0hFTUUgPSBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNjaGVtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlHcm91cCAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFQ1VSSVRZX0dST1VQID0gXCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eUdyb3VwXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eVBvbGljeSAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFQ1VSSVRZX1BPTElDWSA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2VjdXJpdHlQb2xpY3lcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNsb2FkYmFsYW5jaW5nOlN1Ym5ldCAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNVQk5FVCA9IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U3VibmV0XCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNsb2FkYmFsYW5jaW5nOkNyZWF0ZUFjdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgY3JlYXRlQWN0aW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6Q3JlYXRlQWN0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljbG9hZGJhbGFuY2luZzpMaXN0ZW5lclByb3RvY29sYC5cblx0ICovXG5cdHN0YXRpYyBsaXN0ZW5lclByb3RvY29sKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOkxpc3RlbmVyUHJvdG9jb2xcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNjaGVtZWAuXG5cdCAqL1xuXHRzdGF0aWMgc2NoZW1lKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2xvYWRiYWxhbmNpbmc6U2NoZW1lXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eUdyb3VwYC5cblx0ICovXG5cdHN0YXRpYyBzZWN1cml0eUdyb3VwKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlNlY3VyaXR5R3JvdXBcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNsb2FkYmFsYW5jaW5nOlNlY3VyaXR5UG9saWN5YC5cblx0ICovXG5cdHN0YXRpYyBzZWN1cml0eVBvbGljeShcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHtcblx0XHRcdFx0XCJlbGFzdGljbG9hZGJhbGFuY2luZzpTZWN1cml0eVBvbGljeVwiOiB2YWx1ZXMsXG5cdFx0XHR9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2xvYWRiYWxhbmNpbmc6U3VibmV0YC5cblx0ICovXG5cdHN0YXRpYyBzdWJuZXQodmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImVsYXN0aWNsb2FkYmFsYW5jaW5nOlN1Ym5ldFwiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG59XG4iXX0=