@cdk_utils/iam 1.33.0 → 1.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +6 -5
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +4 -4
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.js +4 -4
  108. package/lib/generated/services/cognito-sync.js +3 -3
  109. package/lib/generated/services/comprehend.js +4 -4
  110. package/lib/generated/services/comprehendmedical.js +3 -3
  111. package/lib/generated/services/compute-optimizer.js +3 -3
  112. package/lib/generated/services/config.js +4 -4
  113. package/lib/generated/services/connect-campaigns.js +4 -4
  114. package/lib/generated/services/connect.js +4 -4
  115. package/lib/generated/services/consoleapp.js +2 -2
  116. package/lib/generated/services/consolidatedbilling.js +1 -1
  117. package/lib/generated/services/controlcatalog.js +3 -3
  118. package/lib/generated/services/controltower.js +4 -4
  119. package/lib/generated/services/cost-optimization-hub.js +2 -2
  120. package/lib/generated/services/cur.js +4 -4
  121. package/lib/generated/services/customer-verification.js +1 -1
  122. package/lib/generated/services/databrew.js +4 -4
  123. package/lib/generated/services/dataexchange.js +4 -4
  124. package/lib/generated/services/datapipeline.js +4 -4
  125. package/lib/generated/services/datasync.js +4 -4
  126. package/lib/generated/services/datazone.d.ts +0 -28
  127. package/lib/generated/services/datazone.js +5 -47
  128. package/lib/generated/services/dax.js +4 -4
  129. package/lib/generated/services/dbqms.js +1 -1
  130. package/lib/generated/services/deadline.js +4 -4
  131. package/lib/generated/services/detective.js +4 -4
  132. package/lib/generated/services/devicefarm.js +4 -4
  133. package/lib/generated/services/devops-guru.js +4 -4
  134. package/lib/generated/services/directconnect.js +4 -4
  135. package/lib/generated/services/discovery.js +3 -3
  136. package/lib/generated/services/dlm.js +4 -4
  137. package/lib/generated/services/dms.js +4 -4
  138. package/lib/generated/services/docdb-elastic.js +4 -4
  139. package/lib/generated/services/drs.js +4 -4
  140. package/lib/generated/services/ds-data.js +4 -4
  141. package/lib/generated/services/ds.js +4 -4
  142. package/lib/generated/services/dsql.js +4 -4
  143. package/lib/generated/services/dynamodb.js +4 -4
  144. package/lib/generated/services/ebs.js +4 -4
  145. package/lib/generated/services/ec2-instance-connect.js +4 -4
  146. package/lib/generated/services/ec2.js +4 -4
  147. package/lib/generated/services/ec2messages.js +2 -2
  148. package/lib/generated/services/ecr-public.js +4 -4
  149. package/lib/generated/services/ecr.js +4 -4
  150. package/lib/generated/services/ecs-mcp.js +1 -1
  151. package/lib/generated/services/ecs.js +7 -5
  152. package/lib/generated/services/eks-auth.js +4 -4
  153. package/lib/generated/services/eks-mcp.js +1 -1
  154. package/lib/generated/services/eks.js +4 -4
  155. package/lib/generated/services/elasticache.js +4 -4
  156. package/lib/generated/services/elasticbeanstalk.js +4 -4
  157. package/lib/generated/services/elasticfilesystem.js +4 -4
  158. package/lib/generated/services/elasticloadbalancing.js +5 -6
  159. package/lib/generated/services/elasticmapreduce.js +4 -4
  160. package/lib/generated/services/elastictranscoder.js +2 -2
  161. package/lib/generated/services/elemental-activations.js +1 -1
  162. package/lib/generated/services/elemental-appliances-software.js +2 -2
  163. package/lib/generated/services/elemental-inference.js +4 -4
  164. package/lib/generated/services/elemental-support-cases.js +3 -3
  165. package/lib/generated/services/elemental-support-content.js +1 -1
  166. package/lib/generated/services/emr-containers.js +4 -4
  167. package/lib/generated/services/emr-serverless.js +4 -4
  168. package/lib/generated/services/entityresolution.js +4 -4
  169. package/lib/generated/services/es.js +4 -4
  170. package/lib/generated/services/events.js +4 -4
  171. package/lib/generated/services/eventsbilltoaws.js +3 -3
  172. package/lib/generated/services/evidently.js +3 -3
  173. package/lib/generated/services/evs.js +4 -4
  174. package/lib/generated/services/execute-api.js +4 -4
  175. package/lib/generated/services/finops-agent.js +1 -1
  176. package/lib/generated/services/finspace-api.js +3 -3
  177. package/lib/generated/services/finspace.js +4 -4
  178. package/lib/generated/services/firehose.js +4 -4
  179. package/lib/generated/services/fis.js +4 -4
  180. package/lib/generated/services/fms.js +4 -4
  181. package/lib/generated/services/forecast.js +4 -4
  182. package/lib/generated/services/frauddetector.js +4 -4
  183. package/lib/generated/services/freertos.js +3 -3
  184. package/lib/generated/services/freetier.js +2 -2
  185. package/lib/generated/services/fsx.js +4 -4
  186. package/lib/generated/services/gamelift.js +4 -4
  187. package/lib/generated/services/gameliftstreams.js +4 -4
  188. package/lib/generated/services/geo-maps.js +3 -3
  189. package/lib/generated/services/geo-places.js +3 -3
  190. package/lib/generated/services/geo-routes.js +3 -3
  191. package/lib/generated/services/geo.js +4 -4
  192. package/lib/generated/services/glacier.js +4 -4
  193. package/lib/generated/services/globalaccelerator.js +4 -4
  194. package/lib/generated/services/glue.js +4 -4
  195. package/lib/generated/services/grafana.js +4 -4
  196. package/lib/generated/services/greengrass.js +4 -4
  197. package/lib/generated/services/groundstation.js +4 -4
  198. package/lib/generated/services/groundtruthlabeling.js +1 -1
  199. package/lib/generated/services/guardduty.js +4 -4
  200. package/lib/generated/services/health-agent.js +4 -4
  201. package/lib/generated/services/health.js +4 -4
  202. package/lib/generated/services/healthlake.js +4 -4
  203. package/lib/generated/services/honeycode.js +2 -2
  204. package/lib/generated/services/iam.js +4 -4
  205. package/lib/generated/services/identity-sync.js +2 -2
  206. package/lib/generated/services/identitystore-auth.js +1 -1
  207. package/lib/generated/services/identitystore.d.ts +6 -0
  208. package/lib/generated/services/identitystore.js +17 -5
  209. package/lib/generated/services/imagebuilder.js +4 -4
  210. package/lib/generated/services/importexport.js +2 -2
  211. package/lib/generated/services/inspector-scan.js +2 -2
  212. package/lib/generated/services/inspector.js +2 -2
  213. package/lib/generated/services/inspector2-telemetry.js +1 -1
  214. package/lib/generated/services/inspector2.js +4 -4
  215. package/lib/generated/services/interconnect.js +4 -4
  216. package/lib/generated/services/internetmonitor.js +4 -4
  217. package/lib/generated/services/invoicing.js +4 -4
  218. package/lib/generated/services/iot-device-tester.js +1 -1
  219. package/lib/generated/services/iot.js +4 -4
  220. package/lib/generated/services/iotanalytics.js +3 -3
  221. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  222. package/lib/generated/services/iotevents.js +3 -3
  223. package/lib/generated/services/iotfleethub.js +3 -3
  224. package/lib/generated/services/iotfleetwise.js +4 -4
  225. package/lib/generated/services/iotjobsdata.js +4 -4
  226. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  227. package/lib/generated/services/iotsitewise.js +4 -4
  228. package/lib/generated/services/iottwinmaker.js +4 -4
  229. package/lib/generated/services/iotwireless.js +4 -4
  230. package/lib/generated/services/iq-permission.js +2 -2
  231. package/lib/generated/services/iq.js +2 -2
  232. package/lib/generated/services/ivs.js +4 -4
  233. package/lib/generated/services/ivschat.js +4 -4
  234. package/lib/generated/services/kafka-cluster.js +3 -3
  235. package/lib/generated/services/kafka.js +4 -4
  236. package/lib/generated/services/kafkaconnect.js +4 -4
  237. package/lib/generated/services/kendra-ranking.js +4 -4
  238. package/lib/generated/services/kendra.js +4 -4
  239. package/lib/generated/services/kinesis.js +4 -4
  240. package/lib/generated/services/kinesisanalytics.js +4 -4
  241. package/lib/generated/services/kinesisvideo.js +4 -4
  242. package/lib/generated/services/kms.js +4 -4
  243. package/lib/generated/services/lakeformation.js +3 -3
  244. package/lib/generated/services/lambda.js +4 -4
  245. package/lib/generated/services/launchwizard.js +4 -4
  246. package/lib/generated/services/lex.js +4 -4
  247. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager.js +4 -4
  250. package/lib/generated/services/lightsail.js +4 -4
  251. package/lib/generated/services/logs.js +4 -4
  252. package/lib/generated/services/lookoutequipment.js +4 -4
  253. package/lib/generated/services/lookoutmetrics.js +3 -3
  254. package/lib/generated/services/lookoutvision.js +3 -3
  255. package/lib/generated/services/m2.js +4 -4
  256. package/lib/generated/services/machinelearning.js +3 -3
  257. package/lib/generated/services/macie2.js +4 -4
  258. package/lib/generated/services/managedblockchain-query.js +2 -2
  259. package/lib/generated/services/managedblockchain.js +4 -4
  260. package/lib/generated/services/mapcredits.js +2 -2
  261. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  262. package/lib/generated/services/mechanicalturk.js +2 -2
  263. package/lib/generated/services/mediaconnect.js +4 -4
  264. package/lib/generated/services/mediaconvert.js +4 -4
  265. package/lib/generated/services/mediaimport.js +1 -1
  266. package/lib/generated/services/medialive.js +4 -4
  267. package/lib/generated/services/mediapackage-vod.js +4 -4
  268. package/lib/generated/services/mediapackage.js +4 -4
  269. package/lib/generated/services/mediapackagev2.js +4 -4
  270. package/lib/generated/services/mediastore.js +4 -4
  271. package/lib/generated/services/mediatailor.js +4 -4
  272. package/lib/generated/services/medical-imaging.js +4 -4
  273. package/lib/generated/services/memorydb.js +4 -4
  274. package/lib/generated/services/mgh.js +4 -4
  275. package/lib/generated/services/mgn.js +4 -4
  276. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  277. package/lib/generated/services/migrationhub-strategy.js +2 -2
  278. package/lib/generated/services/mobileanalytics.js +1 -1
  279. package/lib/generated/services/mobiletargeting.js +4 -4
  280. package/lib/generated/services/monitron.js +3 -3
  281. package/lib/generated/services/mpa.js +4 -4
  282. package/lib/generated/services/mq.js +4 -4
  283. package/lib/generated/services/neptune-db.js +4 -4
  284. package/lib/generated/services/neptune-graph.js +4 -4
  285. package/lib/generated/services/network-firewall.js +4 -4
  286. package/lib/generated/services/network-security-director.js +1 -1
  287. package/lib/generated/services/network-security-manager.js +4 -4
  288. package/lib/generated/services/networkflowmonitor.js +4 -4
  289. package/lib/generated/services/networkmanager-chat.js +1 -1
  290. package/lib/generated/services/networkmanager.js +4 -4
  291. package/lib/generated/services/networkmonitor.js +4 -4
  292. package/lib/generated/services/nimble.js +3 -3
  293. package/lib/generated/services/notifications-contacts.js +4 -4
  294. package/lib/generated/services/notifications.js +4 -4
  295. package/lib/generated/services/nova-act.js +3 -3
  296. package/lib/generated/services/oam.js +4 -4
  297. package/lib/generated/services/observabilityadmin.js +4 -4
  298. package/lib/generated/services/odb.js +4 -4
  299. package/lib/generated/services/omics.js +4 -4
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.js +4 -4
  311. package/lib/generated/services/payments.js +3 -3
  312. package/lib/generated/services/pca-connector-ad.js +4 -4
  313. package/lib/generated/services/pca-connector-scep.js +4 -4
  314. package/lib/generated/services/pcs.js +4 -4
  315. package/lib/generated/services/personalize.js +4 -4
  316. package/lib/generated/services/pi.js +4 -4
  317. package/lib/generated/services/pipes.js +4 -4
  318. package/lib/generated/services/polly.js +3 -3
  319. package/lib/generated/services/pricing.js +2 -2
  320. package/lib/generated/services/pricingplanmanager.js +3 -3
  321. package/lib/generated/services/private-networks.js +3 -3
  322. package/lib/generated/services/profile.js +4 -4
  323. package/lib/generated/services/proton.js +4 -4
  324. package/lib/generated/services/purchase-orders.js +3 -3
  325. package/lib/generated/services/q.js +3 -3
  326. package/lib/generated/services/qapps.js +4 -4
  327. package/lib/generated/services/qbusiness.js +4 -4
  328. package/lib/generated/services/qdeveloper.js +3 -3
  329. package/lib/generated/services/qldb.js +3 -3
  330. package/lib/generated/services/quicksight.js +4 -4
  331. package/lib/generated/services/ram.js +4 -4
  332. package/lib/generated/services/rbin.js +4 -4
  333. package/lib/generated/services/rds-data.js +4 -4
  334. package/lib/generated/services/rds-db.js +2 -2
  335. package/lib/generated/services/rds.js +4 -4
  336. package/lib/generated/services/redshift-data.js +4 -4
  337. package/lib/generated/services/redshift-serverless.js +4 -4
  338. package/lib/generated/services/redshift.js +4 -4
  339. package/lib/generated/services/refactor-spaces.js +4 -4
  340. package/lib/generated/services/rekognition.js +4 -4
  341. package/lib/generated/services/repostspace.js +4 -4
  342. package/lib/generated/services/researchstudio.js +1 -1
  343. package/lib/generated/services/resiliencehub.js +4 -4
  344. package/lib/generated/services/resource-explorer-2.js +4 -4
  345. package/lib/generated/services/resource-explorer.js +1 -1
  346. package/lib/generated/services/resource-groups.js +4 -4
  347. package/lib/generated/services/rhelkb.js +1 -1
  348. package/lib/generated/services/robomaker.js +3 -3
  349. package/lib/generated/services/rolesanywhere.js +4 -4
  350. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  351. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  352. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  353. package/lib/generated/services/route53.js +4 -4
  354. package/lib/generated/services/route53domains.js +2 -2
  355. package/lib/generated/services/route53globalresolver.js +4 -4
  356. package/lib/generated/services/route53profiles.js +4 -4
  357. package/lib/generated/services/route53resolver.js +4 -4
  358. package/lib/generated/services/rtbfabric.js +4 -4
  359. package/lib/generated/services/rum.js +4 -4
  360. package/lib/generated/services/s3-object-lambda.js +3 -3
  361. package/lib/generated/services/s3-outposts.js +4 -4
  362. package/lib/generated/services/s3.js +4 -4
  363. package/lib/generated/services/s3express.js +3 -3
  364. package/lib/generated/services/s3files.js +4 -4
  365. package/lib/generated/services/s3tables.js +4 -4
  366. package/lib/generated/services/s3vectors.js +4 -4
  367. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  368. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  369. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  370. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  371. package/lib/generated/services/sagemaker.js +6 -5
  372. package/lib/generated/services/savingsplans.js +4 -4
  373. package/lib/generated/services/scheduler.js +4 -4
  374. package/lib/generated/services/schemas.js +4 -4
  375. package/lib/generated/services/scn.js +4 -4
  376. package/lib/generated/services/sdb.js +3 -3
  377. package/lib/generated/services/secretsmanager.js +4 -4
  378. package/lib/generated/services/security-ir.js +4 -4
  379. package/lib/generated/services/securityagent.d.ts +2 -0
  380. package/lib/generated/services/securityagent.js +9 -5
  381. package/lib/generated/services/securityhub.d.ts +4 -0
  382. package/lib/generated/services/securityhub.js +11 -5
  383. package/lib/generated/services/securitylake.js +4 -4
  384. package/lib/generated/services/serverlessrepo.js +4 -4
  385. package/lib/generated/services/servicecatalog.js +4 -4
  386. package/lib/generated/services/servicediscovery.js +4 -4
  387. package/lib/generated/services/serviceextract.js +1 -1
  388. package/lib/generated/services/servicequotas.js +4 -4
  389. package/lib/generated/services/ses.js +4 -4
  390. package/lib/generated/services/shield.js +4 -4
  391. package/lib/generated/services/signer.js +4 -4
  392. package/lib/generated/services/signin.js +4 -4
  393. package/lib/generated/services/simspaceweaver.js +3 -3
  394. package/lib/generated/services/sms-voice.js +4 -4
  395. package/lib/generated/services/sms.js +1 -1
  396. package/lib/generated/services/snow-device-management.js +4 -4
  397. package/lib/generated/services/snowball.js +2 -2
  398. package/lib/generated/services/sns.js +4 -4
  399. package/lib/generated/services/social-messaging.js +4 -4
  400. package/lib/generated/services/sqlworkbench.js +3 -3
  401. package/lib/generated/services/sqs.js +4 -4
  402. package/lib/generated/services/ssm-contacts.js +4 -4
  403. package/lib/generated/services/ssm-guiconnect.js +2 -2
  404. package/lib/generated/services/ssm-incidents.js +4 -4
  405. package/lib/generated/services/ssm-quicksetup.js +4 -4
  406. package/lib/generated/services/ssm-sap.js +4 -4
  407. package/lib/generated/services/ssm.js +4 -4
  408. package/lib/generated/services/ssmmessages.js +2 -2
  409. package/lib/generated/services/sso-directory.js +1 -1
  410. package/lib/generated/services/sso-oauth.js +3 -3
  411. package/lib/generated/services/sso.js +4 -4
  412. package/lib/generated/services/startups.js +1 -1
  413. package/lib/generated/services/states.js +4 -4
  414. package/lib/generated/services/storagegateway.js +4 -4
  415. package/lib/generated/services/sts.js +4 -4
  416. package/lib/generated/services/support-console.js +1 -1
  417. package/lib/generated/services/support.js +2 -2
  418. package/lib/generated/services/supportapp.js +2 -2
  419. package/lib/generated/services/supportauthz.js +4 -4
  420. package/lib/generated/services/supportplans.js +1 -1
  421. package/lib/generated/services/sustainability.js +2 -2
  422. package/lib/generated/services/swf.js +4 -4
  423. package/lib/generated/services/synthetics.js +4 -4
  424. package/lib/generated/services/tag.js +2 -2
  425. package/lib/generated/services/tax.js +2 -2
  426. package/lib/generated/services/textract.js +4 -4
  427. package/lib/generated/services/thinclient.js +4 -4
  428. package/lib/generated/services/timestream-influxdb.js +4 -4
  429. package/lib/generated/services/timestream.js +4 -4
  430. package/lib/generated/services/tiros.js +1 -1
  431. package/lib/generated/services/tnb.js +4 -4
  432. package/lib/generated/services/transcribe.js +4 -4
  433. package/lib/generated/services/transfer.js +4 -4
  434. package/lib/generated/services/transform-custom.js +3 -3
  435. package/lib/generated/services/transform.js +3 -3
  436. package/lib/generated/services/translate.js +4 -4
  437. package/lib/generated/services/trustedadvisor.js +3 -3
  438. package/lib/generated/services/ts.js +3 -3
  439. package/lib/generated/services/user-subscriptions.js +2 -2
  440. package/lib/generated/services/uxc.js +2 -2
  441. package/lib/generated/services/vendor-insights.js +3 -3
  442. package/lib/generated/services/verified-access.js +1 -1
  443. package/lib/generated/services/verifiedpermissions.js +4 -4
  444. package/lib/generated/services/voiceid.js +4 -4
  445. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  446. package/lib/generated/services/vpc-lattice.js +4 -4
  447. package/lib/generated/services/vpce.js +2 -2
  448. package/lib/generated/services/waf-regional.js +4 -4
  449. package/lib/generated/services/waf.js +4 -4
  450. package/lib/generated/services/wafv2.js +4 -4
  451. package/lib/generated/services/wam.js +1 -1
  452. package/lib/generated/services/wellarchitected.js +4 -4
  453. package/lib/generated/services/wickr.js +4 -4
  454. package/lib/generated/services/wisdom.js +4 -4
  455. package/lib/generated/services/workdocs.js +3 -3
  456. package/lib/generated/services/worklink.js +3 -3
  457. package/lib/generated/services/workmail.js +4 -4
  458. package/lib/generated/services/workmailmessageflow.js +3 -3
  459. package/lib/generated/services/workspaces-instances.js +4 -4
  460. package/lib/generated/services/workspaces-web.js +4 -4
  461. package/lib/generated/services/workspaces.js +4 -4
  462. package/lib/generated/services/xray.js +4 -4
  463. package/package.json +1 -1
@@ -16,7 +16,7 @@ class SecurityagentActions {
16
16
  }
17
17
  exports.SecurityagentActions = SecurityagentActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- SecurityagentActions[_a] = { fqn: "@cdk_utils/iam.securityagent.SecurityagentActions", version: "1.33.0" };
19
+ SecurityagentActions[_a] = { fqn: "@cdk_utils/iam.securityagent.SecurityagentActions", version: "1.34.0" };
20
20
  /** The IAM service prefix. */
21
21
  SecurityagentActions.SERVICE_PREFIX = "securityagent";
22
22
  /** [Write] securityagent:AddArtifact */
@@ -568,7 +568,7 @@ class SecurityagentResources {
568
568
  }
569
569
  exports.SecurityagentResources = SecurityagentResources;
570
570
  _b = JSII_RTTI_SYMBOL_1;
571
- SecurityagentResources[_b] = { fqn: "@cdk_utils/iam.securityagent.SecurityagentResources", version: "1.33.0" };
571
+ SecurityagentResources[_b] = { fqn: "@cdk_utils/iam.securityagent.SecurityagentResources", version: "1.34.0" };
572
572
  /**
573
573
  * API operation to required IAM actions mapping for securityagent.
574
574
  */
@@ -576,7 +576,7 @@ class SecurityagentOperations {
576
576
  }
577
577
  exports.SecurityagentOperations = SecurityagentOperations;
578
578
  _c = JSII_RTTI_SYMBOL_1;
579
- SecurityagentOperations[_c] = { fqn: "@cdk_utils/iam.securityagent.SecurityagentOperations", version: "1.33.0" };
579
+ SecurityagentOperations[_c] = { fqn: "@cdk_utils/iam.securityagent.SecurityagentOperations", version: "1.34.0" };
580
580
  /** IAM actions required for the AddArtifact API call. */
581
581
  SecurityagentOperations.AddArtifact = ["securityagent:AddArtifact"];
582
582
  /** IAM actions required for the BatchCreateSecurityRequirements API call. */
@@ -891,6 +891,10 @@ SecurityagentOperations.UpdateFinding = ["securityagent:UpdateFinding"];
891
891
  SecurityagentOperations.UpdateIntegratedResources = [
892
892
  "securityagent:UpdateIntegratedResources",
893
893
  ];
894
+ /** IAM actions required for the UpdateIntegration API call. */
895
+ SecurityagentOperations.UpdateIntegration = [
896
+ "securityagent:UpdateIntegration",
897
+ ];
894
898
  /** IAM actions required for the UpdatePentest API call. */
895
899
  SecurityagentOperations.UpdatePentest = ["securityagent:UpdatePentest"];
896
900
  /** IAM actions required for the UpdatePrivateConnectionCertificate API call. */
@@ -940,7 +944,7 @@ class SecurityagentConditions {
940
944
  }
941
945
  exports.SecurityagentConditions = SecurityagentConditions;
942
946
  _d = JSII_RTTI_SYMBOL_1;
943
- SecurityagentConditions[_d] = { fqn: "@cdk_utils/iam.securityagent.SecurityagentConditions", version: "1.33.0" };
947
+ SecurityagentConditions[_d] = { fqn: "@cdk_utils/iam.securityagent.SecurityagentConditions", version: "1.34.0" };
944
948
  /** Condition keys applicable to the CreateAgentSpace action. */
945
949
  SecurityagentConditions.CreateAgentSpaceConditionKeys = [
946
950
  "aws:RequestTag/${TagKey}",
@@ -979,4 +983,4 @@ SecurityagentConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
979
983
  SecurityagentConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
980
984
  /** Condition key: aws:TagKeys (ArrayOfString) */
981
985
  SecurityagentConditions.AWS_TAG_KEYS = "aws:TagKeys";
982
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlhZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvc2VjdXJpdHlhZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQXNhQzs7O0FBcmFBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELHdDQUF3QztBQUN4QixnQ0FBVyxHQUFHLDJCQUEyQixDQUFDO0FBQzFELDREQUE0RDtBQUM1QyxvREFBK0IsR0FDOUMsK0NBQStDLENBQUM7QUFDakQsbURBQW1EO0FBQ25DLDJDQUFzQixHQUNyQyxzQ0FBc0MsQ0FBQztBQUN4QyxnREFBZ0Q7QUFDaEMsd0NBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFDMUUsNERBQTREO0FBQzVDLG9EQUErQixHQUM5QywrQ0FBK0MsQ0FBQztBQUNqRCxvREFBb0Q7QUFDcEMsNENBQXVCLEdBQ3RDLHVDQUF1QyxDQUFDO0FBQ3pDLCtDQUErQztBQUMvQix1Q0FBa0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUN4RSwrQ0FBK0M7QUFDL0Isd0NBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFDMUUsb0RBQW9EO0FBQ3BDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyxzREFBc0Q7QUFDdEMsK0NBQTBCLEdBQ3pDLDBDQUEwQyxDQUFDO0FBQzVDLGtEQUFrRDtBQUNsQywyQ0FBc0IsR0FDckMsc0NBQXNDLENBQUM7QUFDeEMsK0NBQStDO0FBQy9CLHdDQUFtQixHQUFHLG1DQUFtQyxDQUFDO0FBQzFFLDRDQUE0QztBQUM1QixxQ0FBZ0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNwRSw2REFBNkQ7QUFDN0Msc0RBQWlDLEdB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QUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2Qyx1Q0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4Qyx3Q0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsb0NBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9zZWN1cml0eWFnZW50Lmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzZWN1cml0eWFnZW50IHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eWFnZW50QWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInNlY3VyaXR5YWdlbnRcIjtcblxuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkFkZEFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRBcnRpZmFjdCA9IFwic2VjdXJpdHlhZ2VudDpBZGRBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkJhdGNoQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudHMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVDb2RlUmV2aWV3cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDb2RlUmV2aWV3cyA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlQ29kZVJldmlld3NcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpCYXRjaERlbGV0ZVBlbnRlc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVBlbnRlc3RzID0gXCJzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlUGVudGVzdHNcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpCYXRjaERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50c1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlVGhyZWF0TW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVRocmVhdE1vZGVscyA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlVGhyZWF0TW9kZWxzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVUaHJlYXRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVRocmVhdHMgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVUaHJlYXRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldEFnZW50U3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldEFnZW50U3BhY2VzID0gXCJzZWN1cml0eWFnZW50OkJhdGNoR2V0QWdlbnRTcGFjZXNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkJhdGNoR2V0QXJ0aWZhY3RNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldENvZGVSZXZpZXdKb2JUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2RlUmV2aWV3Sm9iVGFza3MgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldENvZGVSZXZpZXdKb2JUYXNrc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRDb2RlUmV2aWV3Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2RlUmV2aWV3Sm9icyA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0Q29kZVJldmlld0pvYnNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkJhdGNoR2V0Q29kZVJldmlld3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0Q29kZVJldmlld3MgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRDb2RlUmV2aWV3c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRGaW5kaW5ncyA9IFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldEZpbmRpbmdzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldFBlbnRlc3RKb2JDb250ZW50TWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYkNvbnRlbnRNZXRhZGF0YSA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0UGVudGVzdEpvYkNvbnRlbnRNZXRhZGF0YVwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0Sm9iVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYlRhc2tzID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0Sm9iVGFza3NcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkJhdGNoR2V0UGVudGVzdEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYnMgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0Sm9ic1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRQZW50ZXN0cyA9IFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldFBlbnRlc3RzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldFNlY3VyaXR5UmVxdWlyZW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFNlY3VyaXR5UmVxdWlyZW1lbnRzID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRTZWN1cml0eVJlcXVpcmVtZW50c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUYXJnZXREb21haW5zICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFRhcmdldERvbWFpbnMgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUYXJnZXREb21haW5zXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldFRocmVhdE1vZGVsSm9iVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrcyA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRNb2RlbEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JzID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRNb2RlbEpvYnNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0TW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFRocmVhdE1vZGVscyA9IFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldFRocmVhdE1vZGVsc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFRocmVhdHMgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldFZhbGlkYXRpb25SdW5zICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFZhbGlkYXRpb25SdW5zID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRWYWxpZGF0aW9uUnVuc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkJhdGNoVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudHMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaFVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlQWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRTcGFjZSA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVBZ2VudFNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlQXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcGxpY2F0aW9uID0gXCJzZWN1cml0eWFnZW50OkNyZWF0ZUFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlQ29kZVJldmlldyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJldmlldyA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVDb2RlUmV2aWV3XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlRGVzaWduUmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEZXNpZ25SZXZpZXcgPSBcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlRGVzaWduUmV2aWV3XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlSW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVncmF0aW9uID0gXCJzZWN1cml0eWFnZW50OkNyZWF0ZUludGVncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlTWVtYmVyc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWVtYmVyc2hpcCA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVNZW1iZXJzaGlwXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkNyZWF0ZU9uZVRpbWVMb2dpblNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVQZW50ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQZW50ZXN0ID0gXCJzZWN1cml0eWFnZW50OkNyZWF0ZVBlbnRlc3RcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb24gPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVQcml2YXRlQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkNyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnQgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVUYXJnZXREb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhcmdldERvbWFpbiA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVUYXJnZXREb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVUaHJlYXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRocmVhdCA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVUaHJlYXRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVUaHJlYXRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0TW9kZWwgPSBcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlVGhyZWF0TW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFNwYWNlID0gXCJzZWN1cml0eWFnZW50OkRlbGV0ZUFnZW50U3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwbGljYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6RGVsZXRlQXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXJ0aWZhY3QgPSBcInNlY3VyaXR5YWdlbnQ6RGVsZXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVEZXNpZ25SZXZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlc2lnblJldmlldyA9IFwic2VjdXJpdHlhZ2VudDpEZWxldGVEZXNpZ25SZXZpZXdcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6RGVsZXRlSW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1iZXJzaGlwID0gXCJzZWN1cml0eWFnZW50OkRlbGV0ZU1lbWJlcnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb24gPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVQcml2YXRlQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkRlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnQgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6RGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6RGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVUYXJnZXREb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhcmdldERvbWFpbiA9IFwic2VjdXJpdHlhZ2VudDpEZWxldGVUYXJnZXREb21haW5cIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkRlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb24gPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpHZXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXBwbGljYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6R2V0QXBwbGljYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkdldEFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBcnRpZmFjdCA9IFwic2VjdXJpdHlhZ2VudDpHZXRBcnRpZmFjdFwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6R2V0RGVzaWduUmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXNpZ25SZXZpZXcgPSBcInNlY3VyaXR5YWdlbnQ6R2V0RGVzaWduUmV2aWV3XCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpHZXREZXNpZ25SZXZpZXdBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGVzaWduUmV2aWV3QXJ0aWZhY3QgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpHZXREZXNpZ25SZXZpZXdBcnRpZmFjdFwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6R2V0RGVzaWduUmV2aWV3RmVlZGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERlc2lnblJldmlld0ZlZWRiYWNrID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6R2V0RGVzaWduUmV2aWV3RmVlZGJhY2tcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkdldEludGVncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnRlZ3JhdGlvbiA9IFwic2VjdXJpdHlhZ2VudDpHZXRJbnRlZ3JhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6R2V0UHJvdmlkZXJSZWdpc3RyYXRpb25NYW5pZmVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvdmlkZXJSZWdpc3RyYXRpb25NYW5pZmVzdCA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkdldFByb3ZpZGVyUmVnaXN0cmF0aW9uTWFuaWZlc3RcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkdldFNlY3VyaXR5UmVxdWlyZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlY3VyaXR5UmVxdWlyZW1lbnQgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpHZXRTZWN1cml0eVJlcXVpcmVtZW50XCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpHZXRTZWN1cml0eVJlcXVpcmVtZW50UGFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpHZXRTZWN1cml0eVJlcXVpcmVtZW50UGFja1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkhhbmRsZVByb3ZpZGVyQ2FsbGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IEhhbmRsZVByb3ZpZGVyQ2FsbGJhY2sgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpIYW5kbGVQcm92aWRlckNhbGxiYWNrXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6SGFuZGxlUHJvdmlkZXJSZWdpc3RyYXRpb25DYWxsYmFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSGFuZGxlUHJvdmlkZXJSZWdpc3RyYXRpb25DYWxsYmFjayA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkhhbmRsZVByb3ZpZGVyUmVnaXN0cmF0aW9uQ2FsbGJhY2tcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpJbXBvcnRTZWN1cml0eVJlcXVpcmVtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0U2VjdXJpdHlSZXF1aXJlbWVudHMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpJbXBvcnRTZWN1cml0eVJlcXVpcmVtZW50c1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkluaXRpYXRlUHJvdmlkZXJSZWdpc3RyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYXRlUHJvdmlkZXJSZWdpc3RyYXRpb24gPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpJbml0aWF0ZVByb3ZpZGVyUmVnaXN0cmF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0QWN0b3JNZXNzYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjdG9yTWVzc2FnZXMgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdEFjdG9yTWVzc2FnZXNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RBZ2VudFNwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50U3BhY2VzID0gXCJzZWN1cml0eWFnZW50Okxpc3RBZ2VudFNwYWNlc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdEFwcGxpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcGxpY2F0aW9ucyA9IFwic2VjdXJpdHlhZ2VudDpMaXN0QXBwbGljYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0QXJ0aWZhY3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzID0gXCJzZWN1cml0eWFnZW50Okxpc3RBcnRpZmFjdHNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RDb2RlUmV2aWV3Sm9iVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlUmV2aWV3Sm9iVGFza3MgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0Q29kZVJldmlld0pvYlRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0Q29kZVJldmlld0pvYnNGb3JDb2RlUmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJldmlld0pvYnNGb3JDb2RlUmV2aWV3ID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdENvZGVSZXZpZXdKb2JzRm9yQ29kZVJldmlld1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdENvZGVSZXZpZXdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJldmlld3MgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdENvZGVSZXZpZXdzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0RGVzaWduUmV2aWV3Q29tbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXNpZ25SZXZpZXdDb21tZW50cyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3REZXNpZ25SZXZpZXdDb21tZW50c1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdERlc2lnblJldmlld3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXNpZ25SZXZpZXdzID0gXCJzZWN1cml0eWFnZW50Okxpc3REZXNpZ25SZXZpZXdzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0RGlzY292ZXJlZERvbWFpbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REaXNjb3ZlcmVkRG9tYWlucyA9IFwic2VjdXJpdHlhZ2VudDpMaXN0RGlzY292ZXJlZERvbWFpbnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3REaXNjb3ZlcmVkRW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGlzY292ZXJlZEVuZHBvaW50cyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3REaXNjb3ZlcmVkRW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0RmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGaW5kaW5ncyA9IFwic2VjdXJpdHlhZ2VudDpMaXN0RmluZGluZ3NcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RJbnRlZ3JhdGVkUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZWdyYXRlZFJlc291cmNlcyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RJbnRlZ3JhdGVkUmVzb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0SW50ZWdyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZWdyYXRpb25zID0gXCJzZWN1cml0eWFnZW50Okxpc3RJbnRlZ3JhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RNZW1iZXJzaGlwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnNoaXBzID0gXCJzZWN1cml0eWFnZW50Okxpc3RNZW1iZXJzaGlwc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdFBlbnRlc3RKb2JUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBlbnRlc3RKb2JUYXNrcyA9IFwic2VjdXJpdHlhZ2VudDpMaXN0UGVudGVzdEpvYlRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0UGVudGVzdEpvYnNGb3JQZW50ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVudGVzdEpvYnNGb3JQZW50ZXN0ID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFBlbnRlc3RKb2JzRm9yUGVudGVzdFwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdFBlbnRlc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVudGVzdHMgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdFBlbnRlc3RzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFByaXZhdGVDb25uZWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdFJlc291cmNlc0Zyb21JbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlc0Zyb21JbnRlZ3JhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RSZXNvdXJjZXNGcm9tSW50ZWdyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RTZWN1cml0eVJlcXVpcmVtZW50UGFja3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWN1cml0eVJlcXVpcmVtZW50UGFja3MgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0U2VjdXJpdHlSZXF1aXJlbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWN1cml0eVJlcXVpcmVtZW50cyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RTZWN1cml0eVJlcXVpcmVtZW50c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwic2VjdXJpdHlhZ2VudDpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0VGFyZ2V0RG9tYWlucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldERvbWFpbnMgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdFRhcmdldERvbWFpbnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRNb2RlbEpvYlRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0TW9kZWxKb2JUYXNrcyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRNb2RlbEpvYlRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0VGhyZWF0TW9kZWxKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0TW9kZWxKb2JzID0gXCJzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRNb2RlbEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRNb2RlbHMgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdE1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRzID0gXCJzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6UHV0RGVzaWduUmV2aWV3RmVlZGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERlc2lnblJldmlld0ZlZWRiYWNrID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6UHV0RGVzaWduUmV2aWV3RmVlZGJhY2tcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZW1lZGlhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb2RlUmVtZWRpYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6U3RhcnRDb2RlUmVtZWRpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZXZpZXdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q29kZVJldmlld0pvYiA9IFwic2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZXZpZXdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydFBlbnRlc3RKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGVudGVzdEpvYiA9IFwic2VjdXJpdHlhZ2VudDpTdGFydFBlbnRlc3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydFRocmVhdE1vZGVsSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRocmVhdE1vZGVsSm9iID0gXCJzZWN1cml0eWFnZW50OlN0YXJ0VGhyZWF0TW9kZWxKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydFZhbGlkYXRpb25SdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VmFsaWRhdGlvblJ1biA9IFwic2VjdXJpdHlhZ2VudDpTdGFydFZhbGlkYXRpb25SdW5cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdG9wQ29kZVJldmlld0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvZGVSZXZpZXdKb2IgPSBcInNlY3VyaXR5YWdlbnQ6U3RvcENvZGVSZXZpZXdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdG9wUGVudGVzdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBlbnRlc3RKb2IgPSBcInNlY3VyaXR5YWdlbnQ6U3RvcFBlbnRlc3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdG9wVGhyZWF0TW9kZWxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUaHJlYXRNb2RlbEpvYiA9IFwic2VjdXJpdHlhZ2VudDpTdG9wVGhyZWF0TW9kZWxKb2JcIjtcblx0LyoqIFtUYWdnaW5nXSBzZWN1cml0eWFnZW50OlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwic2VjdXJpdHlhZ2VudDpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OlRvZ2dsZU1hbmFnZWRTZWN1cml0eVJlcXVpcmVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBUb2dnbGVNYW5hZ2VkU2VjdXJpdHlSZXF1aXJlbWVudCA9XG5cdFx0XCJzZWN1cml0eWFnZW50OlRvZ2dsZU1hbmFnZWRTZWN1cml0eVJlcXVpcmVtZW50XCI7XG5cdC8qKiBbVGFnZ2luZ10gc2VjdXJpdHlhZ2VudDpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJzZWN1cml0eWFnZW50OlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNwYWNlID0gXCJzZWN1cml0eWFnZW50OlVwZGF0ZUFnZW50U3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwbGljYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6VXBkYXRlQXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVDb2RlUmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2RlUmV2aWV3ID0gXCJzZWN1cml0eWFnZW50OlVwZGF0ZUNvZGVSZXZpZXdcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVEaXNjb3ZlcmVkRG9tYWlucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGlzY292ZXJlZERvbWFpbnMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVEaXNjb3ZlcmVkRG9tYWluc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OlVwZGF0ZUZpbmRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZpbmRpbmcgPSBcInNlY3VyaXR5YWdlbnQ6VXBkYXRlRmluZGluZ1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OlVwZGF0ZUludGVncmF0ZWRSZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVncmF0ZWRSZXNvdXJjZXMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVJbnRlZ3JhdGVkUmVzb3VyY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlSW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVncmF0aW9uID0gXCJzZWN1cml0eWFnZW50OlVwZGF0ZUludGVncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlUGVudGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGVudGVzdCA9IFwic2VjdXJpdHlhZ2VudDpVcGRhdGVQZW50ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSA9XG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50ID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6VXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OlVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50UGFjayA9XG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlVGFyZ2V0RG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXJnZXREb21haW4gPSBcInNlY3VyaXR5YWdlbnQ6VXBkYXRlVGFyZ2V0RG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlVGhyZWF0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUaHJlYXQgPSBcInNlY3VyaXR5YWdlbnQ6VXBkYXRlVGhyZWF0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlVGhyZWF0TW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRocmVhdE1vZGVsID0gXCJzZWN1cml0eWFnZW50OlVwZGF0ZVRocmVhdE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VmVyaWZ5VGFyZ2V0RG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlUYXJnZXREb21haW4gPSBcInNlY3VyaXR5YWdlbnQ6VmVyaWZ5VGFyZ2V0RG9tYWluXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRBZ2VudFNwYWNlcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaEdldEFydGlmYWN0TWV0YWRhdGEsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRDb2RlUmV2aWV3Sm9iVGFza3MsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRDb2RlUmV2aWV3Sm9icyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaEdldENvZGVSZXZpZXdzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0RmluZGluZ3MsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRQZW50ZXN0Sm9iQ29udGVudE1ldGFkYXRhLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0UGVudGVzdEpvYlRhc2tzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0UGVudGVzdEpvYnMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRQZW50ZXN0cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaEdldFNlY3VyaXR5UmVxdWlyZW1lbnRzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0VGFyZ2V0RG9tYWlucyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaEdldFRocmVhdE1vZGVsSm9iVGFza3MsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRUaHJlYXRNb2RlbEpvYnMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRUaHJlYXRNb2RlbHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRUaHJlYXRzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0VmFsaWRhdGlvblJ1bnMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5hY3Rpb25HZXRBcHBsaWNhdGlvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5hY3Rpb25HZXRBcnRpZmFjdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5hY3Rpb25HZXREZXNpZ25SZXZpZXcsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuYWN0aW9uR2V0RGVzaWduUmV2aWV3QXJ0aWZhY3QsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuYWN0aW9uR2V0RGVzaWduUmV2aWV3RmVlZGJhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuYWN0aW9uR2V0SW50ZWdyYXRpb24sXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuYWN0aW9uR2V0UHJvdmlkZXJSZWdpc3RyYXRpb25NYW5pZmVzdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5hY3Rpb25HZXRTZWN1cml0eVJlcXVpcmVtZW50LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLmFjdGlvbkdldFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQWRkQXJ0aWZhY3QsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaERlbGV0ZUNvZGVSZXZpZXdzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoRGVsZXRlUGVudGVzdHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaERlbGV0ZVRocmVhdE1vZGVscyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaERlbGV0ZVRocmVhdHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5DcmVhdGVBZ2VudFNwYWNlLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZUFwcGxpY2F0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZUNvZGVSZXZpZXcsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQ3JlYXRlRGVzaWduUmV2aWV3LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZUludGVncmF0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZU1lbWJlcnNoaXAsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQ3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5DcmVhdGVQZW50ZXN0LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnQsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQ3JlYXRlVGFyZ2V0RG9tYWluLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZVRocmVhdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5DcmVhdGVUaHJlYXRNb2RlbCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5EZWxldGVBZ2VudFNwYWNlLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZUFwcGxpY2F0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZUFydGlmYWN0LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZURlc2lnblJldmlldyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5EZWxldGVJbnRlZ3JhdGlvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5EZWxldGVNZW1iZXJzaGlwLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnQsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuRGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuRGVsZXRlVGFyZ2V0RG9tYWluLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkhhbmRsZVByb3ZpZGVyQ2FsbGJhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuSGFuZGxlUHJvdmlkZXJSZWdpc3RyYXRpb25DYWxsYmFjayxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5JbXBvcnRTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5Jbml0aWF0ZVByb3ZpZGVyUmVnaXN0cmF0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlB1dERlc2lnblJldmlld0ZlZWRiYWNrLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlN0YXJ0Q29kZVJlbWVkaWF0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlN0YXJ0Q29kZVJldmlld0pvYixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5TdGFydFBlbnRlc3RKb2IsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuU3RhcnRUaHJlYXRNb2RlbEpvYixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5TdGFydFZhbGlkYXRpb25SdW4sXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuU3RvcENvZGVSZXZpZXdKb2IsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuU3RvcFBlbnRlc3RKb2IsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuU3RvcFRocmVhdE1vZGVsSm9iLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlRvZ2dsZU1hbmFnZWRTZWN1cml0eVJlcXVpcmVtZW50LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVwZGF0ZUFnZW50U3BhY2UsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlQXBwbGljYXRpb24sXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlQ29kZVJldmlldyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5VcGRhdGVEaXNjb3ZlcmVkRG9tYWlucyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5VcGRhdGVGaW5kaW5nLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVwZGF0ZUludGVncmF0ZWRSZXNvdXJjZXMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlSW50ZWdyYXRpb24sXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlUGVudGVzdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5VcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnQsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlVGFyZ2V0RG9tYWluLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVwZGF0ZVRocmVhdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5VcGRhdGVUaHJlYXRNb2RlbCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5WZXJpZnlUYXJnZXREb21haW4sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RBY3Rvck1lc3NhZ2VzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RBZ2VudFNwYWNlcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0QXBwbGljYXRpb25zLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RBcnRpZmFjdHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdENvZGVSZXZpZXdKb2JUYXNrcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0Q29kZVJldmlld0pvYnNGb3JDb2RlUmV2aWV3LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RDb2RlUmV2aWV3cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0RGVzaWduUmV2aWV3Q29tbWVudHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdERlc2lnblJldmlld3MsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdERpc2NvdmVyZWREb21haW5zLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3REaXNjb3ZlcmVkRW5kcG9pbnRzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RGaW5kaW5ncyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0SW50ZWdyYXRlZFJlc291cmNlcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0SW50ZWdyYXRpb25zLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RNZW1iZXJzaGlwcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0UGVudGVzdEpvYlRhc2tzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RQZW50ZXN0Sm9ic0ZvclBlbnRlc3QsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdFBlbnRlc3RzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RQcml2YXRlQ29ubmVjdGlvbnMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdFJlc291cmNlc0Zyb21JbnRlZ3JhdGlvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0VGFyZ2V0RG9tYWlucyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0VGhyZWF0TW9kZWxKb2JUYXNrcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0VGhyZWF0TW9kZWxKb2JzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RUaHJlYXRNb2RlbHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdFRocmVhdHMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBZ2VudFNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50QWdlbnRTcGFjZUFyblByb3BzIHtcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQWdlbnRTcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlhZ2VudEFnZW50U3BhY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlhZ2VudEFwcGxpY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcGxpY2F0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlhZ2VudEFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBsaWNhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwbGljYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgSW50ZWdyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5YWdlbnRJbnRlZ3JhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJbnRlZ3JhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbnRlZ3JhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSW50ZWdyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5YWdlbnRJbnRlZ3JhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW50ZWdyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGludGVncmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFByaXZhdGVDb25uZWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50UHJpdmF0ZUNvbm5lY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJpdmF0ZUNvbm5lY3Rpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcml2YXRlQ29ubmVjdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQcml2YXRlQ29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlhZ2VudFByaXZhdGVDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcml2YXRlQ29ubmVjdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcml2YXRlQ29ubmVjdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VjdXJpdHlSZXF1aXJlbWVudFBhY2tJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZWN1cml0eVJlcXVpcmVtZW50UGFja0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBUYXJnZXREb21haW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5YWdlbnRUYXJnZXREb21haW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGFyZ2V0RG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhcmdldERvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgVGFyZ2V0RG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50VGFyZ2V0RG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUYXJnZXREb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhcmdldERvbWFpbklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFnZW50U3BhY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50LXNwYWNlXFwvKD88YWdlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQXBwbGljYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcGxpY2F0aW9uXFwvKD88YXBwbGljYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgSW50ZWdyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmludGVncmF0aW9uXFwvKD88aW50ZWdyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUHJpdmF0ZUNvbm5lY3Rpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByaXZhdGUtY29ubmVjdGlvblxcLyg/PHByaXZhdGVDb25uZWN0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlY3VyaXR5LXJlcXVpcmVtZW50LXBhY2tcXC8oPzxzZWN1cml0eVJlcXVpcmVtZW50UGFja0lkPlteOi8/XSspJC87XG5jb25zdCBUYXJnZXREb21haW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhcmdldC1kb21haW5cXC8oPzx0YXJnZXREb21haW5JZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNlY3VyaXR5YWdlbnQgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlhZ2VudFJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQWdlbnRTcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudFNwYWNlKHByb3BzOiBTZWN1cml0eWFnZW50QWdlbnRTcGFjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzZWN1cml0eWFnZW50OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50LXNwYWNlLyR7cHJvcHMuYWdlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQWdlbnRTcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdlbnRTcGFjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZ2VudFNwYWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEFnZW50U3BhY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRTcGFjZUFybihhcm46IHN0cmluZyk6IFNlY3VyaXR5YWdlbnRBZ2VudFNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudFNwYWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEFnZW50U3BhY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdlbnRJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcGxpY2F0aW9uKHByb3BzOiBTZWN1cml0eWFnZW50QXBwbGljYXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlhZ2VudDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHBsaWNhdGlvbi8ke3Byb3BzLmFwcGxpY2F0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBsaWNhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBsaWNhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBBcHBsaWNhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBsaWNhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2VjdXJpdHlhZ2VudEFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBsaWNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBcHBsaWNhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBsaWNhdGlvbklkOiBtYXRjaC5ncm91cHMhLmFwcGxpY2F0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgSW50ZWdyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZWdyYXRpb24ocHJvcHM6IFNlY3VyaXR5YWdlbnRJbnRlZ3JhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzZWN1cml0eWFnZW50OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmludGVncmF0aW9uLyR7cHJvcHMuaW50ZWdyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSW50ZWdyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEludGVncmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEludGVncmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEludGVncmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUludGVncmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTZWN1cml0eWFnZW50SW50ZWdyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEludGVncmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEludGVncmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGludGVncmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuaW50ZWdyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQcml2YXRlQ29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcml2YXRlQ29ubmVjdGlvbihcblx0XHRwcm9wczogU2VjdXJpdHlhZ2VudFByaXZhdGVDb25uZWN0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlhZ2VudDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcml2YXRlLWNvbm5lY3Rpb24vJHtwcm9wcy5wcml2YXRlQ29ubmVjdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFByaXZhdGVDb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcml2YXRlQ29ubmVjdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcml2YXRlQ29ubmVjdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBQcml2YXRlQ29ubmVjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcml2YXRlQ29ubmVjdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2VjdXJpdHlhZ2VudFByaXZhdGVDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcml2YXRlQ29ubmVjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQcml2YXRlQ29ubmVjdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcml2YXRlQ29ubmVjdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEucHJpdmF0ZUNvbm5lY3Rpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrKFxuXHRcdHByb3BzOiBTZWN1cml0eWFnZW50U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzZWN1cml0eWFnZW50OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlY3VyaXR5LXJlcXVpcmVtZW50LXBhY2svJHtwcm9wcy5zZWN1cml0eVJlcXVpcmVtZW50UGFja0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTZWN1cml0eVJlcXVpcmVtZW50UGFjayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNlY3VyaXR5YWdlbnRTZWN1cml0eVJlcXVpcmVtZW50UGFja0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VjdXJpdHlSZXF1aXJlbWVudFBhY2tJZDogbWF0Y2guZ3JvdXBzIS5zZWN1cml0eVJlcXVpcmVtZW50UGFja0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFRhcmdldERvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0YXJnZXREb21haW4ocHJvcHM6IFNlY3VyaXR5YWdlbnRUYXJnZXREb21haW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlhZ2VudDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXJnZXQtZG9tYWluLyR7cHJvcHMudGFyZ2V0RG9tYWluSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFRhcmdldERvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFyZ2V0RG9tYWluQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhcmdldERvbWFpbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBUYXJnZXREb21haW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFyZ2V0RG9tYWluQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTZWN1cml0eWFnZW50VGFyZ2V0RG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUYXJnZXREb21haW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVGFyZ2V0RG9tYWluIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRhcmdldERvbWFpbklkOiBtYXRjaC5ncm91cHMhLnRhcmdldERvbWFpbklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHNlY3VyaXR5YWdlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eWFnZW50T3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZEFydGlmYWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpBZGRBcnRpZmFjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQ29kZVJldmlld3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUNvZGVSZXZpZXdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVDb2RlUmV2aWV3c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERlbGV0ZVBlbnRlc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVQZW50ZXN0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlUGVudGVzdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlVGhyZWF0TW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVUaHJlYXRNb2RlbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaERlbGV0ZVRocmVhdE1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldEFnZW50U3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBZ2VudFNwYWNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0QWdlbnRTcGFjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0Q29kZVJldmlld0pvYlRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2RlUmV2aWV3Sm9iVGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldENvZGVSZXZpZXdKb2JUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldENvZGVSZXZpZXdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2RlUmV2aWV3Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0Q29kZVJldmlld0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRDb2RlUmV2aWV3cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0Q29kZVJldmlld3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldENvZGVSZXZpZXdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0RmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldEZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRGaW5kaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFBlbnRlc3RKb2JUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYlRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0Sm9iVGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRQZW50ZXN0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldFBlbnRlc3RKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0UGVudGVzdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFBlbnRlc3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFNlY3VyaXR5UmVxdWlyZW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRTZWN1cml0eVJlcXVpcmVtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0U2VjdXJpdHlSZXF1aXJlbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRUYXJnZXREb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRUYXJnZXREb21haW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUYXJnZXREb21haW5zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFRocmVhdE1vZGVsSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRNb2RlbEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRUaHJlYXRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFRocmVhdE1vZGVsczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0TW9kZWxzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0VGhyZWF0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0czogc3RyaW5nW10gPSBbXCJzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaFVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZW50U3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFNwYWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlQWdlbnRTcGFjZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzZWN1cml0eWFnZW50OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVBcHBsaWNhdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzZWN1cml0eWFnZW50OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvZGVSZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlUmV2aWV3OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlQ29kZVJldmlld1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnRlZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVncmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlSW50ZWdyYXRpb25cIixcblx0XHRcInNlY3VyaXR5YWdlbnQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbWJlcnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVNZW1iZXJzaGlwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBlbnRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQZW50ZXN0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlUGVudGVzdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdFx0XCJzZWN1cml0eWFnZW50OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50UGFja1wiLFxuXHRcdFwic2VjdXJpdHlhZ2VudDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUYXJnZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXJnZXREb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVUYXJnZXREb21haW5cIixcblx0XHRcInNlY3VyaXR5YWdlbnQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGhyZWF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlVGhyZWF0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUaHJlYXRNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRocmVhdE1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlVGhyZWF0TW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVBZ2VudFNwYWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFydGlmYWN0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6RGVsZXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludGVncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVJbnRlZ3JhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNZW1iZXJzaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtYmVyc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkRlbGV0ZU1lbWJlcnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50UGFja1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUYXJnZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXJnZXREb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVUYXJnZXREb21haW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWFnZW50OkdldEFwcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpHZXRBcnRpZmFjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVncmF0aW9uOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6R2V0SW50ZWdyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWN1cml0eVJlcXVpcmVtZW50UGFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkdldFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydFNlY3VyaXR5UmVxdWlyZW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0U2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpJbXBvcnRTZWN1cml0eVJlcXVpcmVtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbml0aWF0ZVByb3ZpZGVyUmVnaXN0cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhdGVQcm92aWRlclJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkluaXRpYXRlUHJvdmlkZXJSZWdpc3RyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjdG9yTWVzc2FnZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0b3JNZXNzYWdlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RBY3Rvck1lc3NhZ2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudFNwYWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFNwYWNlczogc3RyaW5nW10gPSBbXCJzZWN1cml0eWFnZW50Okxpc3RBZ2VudFNwYWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBsaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0QXBwbGljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcnRpZmFjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6TGlzdEFydGlmYWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvZGVSZXZpZXdKb2JUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlUmV2aWV3Sm9iVGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0Q29kZVJldmlld0pvYlRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2RlUmV2aWV3Sm9ic0ZvckNvZGVSZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJldmlld0pvYnNGb3JDb2RlUmV2aWV3OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdENvZGVSZXZpZXdKb2JzRm9yQ29kZVJldmlld1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29kZVJldmlld3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJldmlld3M6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpMaXN0Q29kZVJldmlld3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REaXNjb3ZlcmVkRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERpc2NvdmVyZWRFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0RGlzY292ZXJlZEVuZHBvaW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmluZGluZ3M6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpMaXN0RmluZGluZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnRlZ3JhdGVkUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0ZWRSZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0SW50ZWdyYXRlZFJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RJbnRlZ3JhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1lbWJlcnNoaXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnNoaXBzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6TGlzdE1lbWJlcnNoaXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGVudGVzdEpvYlRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBlbnRlc3RKb2JUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RQZW50ZXN0Sm9iVGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBlbnRlc3RKb2JzRm9yUGVudGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQZW50ZXN0Sm9ic0ZvclBlbnRlc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0UGVudGVzdEpvYnNGb3JQZW50ZXN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQZW50ZXN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQZW50ZXN0czogc3RyaW5nW10gPSBbXCJzZWN1cml0eWFnZW50Okxpc3RQZW50ZXN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByaXZhdGVDb25uZWN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcml2YXRlQ29ubmVjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZWN1cml0eVJlcXVpcmVtZW50UGFja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VjdXJpdHlSZXF1aXJlbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0U2VjdXJpdHlSZXF1aXJlbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYXJnZXREb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldERvbWFpbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0VGFyZ2V0RG9tYWluc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGhyZWF0TW9kZWxKb2JUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRNb2RlbEpvYlRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdE1vZGVsSm9iVGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRocmVhdE1vZGVsSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRNb2RlbEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0VGhyZWF0TW9kZWxKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUaHJlYXRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0TW9kZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdE1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGhyZWF0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q29kZVJlbWVkaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb2RlUmVtZWRpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZW1lZGlhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydENvZGVSZXZpZXdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvZGVSZXZpZXdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZXZpZXdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQZW50ZXN0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQZW50ZXN0Sm9iOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6U3RhcnRQZW50ZXN0Sm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRocmVhdE1vZGVsSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUaHJlYXRNb2RlbEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlN0YXJ0VGhyZWF0TW9kZWxKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcENvZGVSZXZpZXdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29kZVJldmlld0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlN0b3BDb2RlUmV2aWV3Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BQZW50ZXN0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBlbnRlc3RKb2I6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpTdG9wUGVudGVzdEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRocmVhdE1vZGVsSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRocmVhdE1vZGVsSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6U3RvcFRocmVhdE1vZGVsSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNlY3VyaXR5YWdlbnQ6VXBkYXRlQWdlbnRTcGFjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb2RlUmV2aWV3IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29kZVJldmlldzogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZUNvZGVSZXZpZXdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmluZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZpbmRpbmc6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpVcGRhdGVGaW5kaW5nXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbnRlZ3JhdGVkUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW50ZWdyYXRlZFJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZUludGVncmF0ZWRSZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGVudGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBlbnRlc3Q6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpVcGRhdGVQZW50ZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50UGFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRhcmdldERvbWFpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhcmdldERvbWFpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZVRhcmdldERvbWFpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUaHJlYXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUaHJlYXQ6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpVcGRhdGVUaHJlYXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRocmVhdE1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGhyZWF0TW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVUaHJlYXRNb2RlbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBWZXJpZnlUYXJnZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlUYXJnZXREb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpWZXJpZnlUYXJnZXREb21haW5cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHNlY3VyaXR5YWdlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eWFnZW50Q29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBZ2VudFNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFnZW50U3BhY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFwcGxpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcGxpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVJbnRlZ3JhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnRlZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
986
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHlhZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvc2VjdXJpdHlhZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQXNhQzs7O0FBcmFBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELHdDQUF3QztBQUN4QixnQ0FBVyxHQUFHLDJCQUEyQixDQUFDO0FBQzFELDREQUE0RDtBQUM1QyxvREFBK0IsR0FDOUMsK0NBQStDLENBQUM7QUFDakQsbURBQW1EO0FBQ25DLDJDQUFzQixHQUNyQyxzQ0FBc0MsQ0FBQztBQUN4QyxnREFBZ0Q7QUFDaEMsd0NBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFDMUUsNERBQTREO0FBQzVDLG9EQUErQixHQUM5QywrQ0FBK0MsQ0FBQztBQUNqRCxvREFBb0Q7QUFDcEMsNENBQXVCLEdBQ3RDLHVDQUF1QyxDQUFDO0FBQ3pDLCtDQUErQztBQUMvQix1Q0FBa0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUN4RSwrQ0FBK0M7QUFDL0Isd0NBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFDMUUsb0RBQW9EO0FBQ3BDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyxzREFBc0Q7QUFDdEMsK0NBQTBCLEdBQ3pDLDBDQUEwQyxDQUFDO0FBQzVDLGtEQUFrRDtBQUNsQywyQ0FBc0IsR0FDckMsc0NBQXNDLENBQUM7QUFDeEMsK0NBQStDO0FBQy9CLHdDQUFtQixHQUFHLG1DQUFtQyxDQUFDO0FBQzFFLDRDQUE0QztBQUM1QixxQ0FBZ0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNwRSw2REFBNkQ7QUFDN0Msc0RBQWlDLEdB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QjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxrREFBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2Qyx1Q0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4Qyx3Q0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsb0NBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9zZWN1cml0eWFnZW50Lmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzZWN1cml0eWFnZW50IHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eWFnZW50QWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInNlY3VyaXR5YWdlbnRcIjtcblxuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkFkZEFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRBcnRpZmFjdCA9IFwic2VjdXJpdHlhZ2VudDpBZGRBcnRpZmFjdFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkJhdGNoQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudHMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVDb2RlUmV2aWV3cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDb2RlUmV2aWV3cyA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlQ29kZVJldmlld3NcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpCYXRjaERlbGV0ZVBlbnRlc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVBlbnRlc3RzID0gXCJzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlUGVudGVzdHNcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpCYXRjaERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50c1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlVGhyZWF0TW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVRocmVhdE1vZGVscyA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlVGhyZWF0TW9kZWxzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVUaHJlYXRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZVRocmVhdHMgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVUaHJlYXRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldEFnZW50U3BhY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldEFnZW50U3BhY2VzID0gXCJzZWN1cml0eWFnZW50OkJhdGNoR2V0QWdlbnRTcGFjZXNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkJhdGNoR2V0QXJ0aWZhY3RNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldENvZGVSZXZpZXdKb2JUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2RlUmV2aWV3Sm9iVGFza3MgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldENvZGVSZXZpZXdKb2JUYXNrc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRDb2RlUmV2aWV3Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2RlUmV2aWV3Sm9icyA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0Q29kZVJldmlld0pvYnNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkJhdGNoR2V0Q29kZVJldmlld3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0Q29kZVJldmlld3MgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRDb2RlUmV2aWV3c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRGaW5kaW5ncyA9IFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldEZpbmRpbmdzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldFBlbnRlc3RKb2JDb250ZW50TWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYkNvbnRlbnRNZXRhZGF0YSA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0UGVudGVzdEpvYkNvbnRlbnRNZXRhZGF0YVwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0Sm9iVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYlRhc2tzID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0Sm9iVGFza3NcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkJhdGNoR2V0UGVudGVzdEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYnMgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0Sm9ic1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRQZW50ZXN0cyA9IFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldFBlbnRlc3RzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldFNlY3VyaXR5UmVxdWlyZW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFNlY3VyaXR5UmVxdWlyZW1lbnRzID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRTZWN1cml0eVJlcXVpcmVtZW50c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUYXJnZXREb21haW5zICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFRhcmdldERvbWFpbnMgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUYXJnZXREb21haW5zXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldFRocmVhdE1vZGVsSm9iVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrcyA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRNb2RlbEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JzID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRNb2RlbEpvYnNcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0TW9kZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFRocmVhdE1vZGVscyA9IFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldFRocmVhdE1vZGVsc1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFRocmVhdHMgPSBcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRzXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpCYXRjaEdldFZhbGlkYXRpb25SdW5zICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFZhbGlkYXRpb25SdW5zID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRWYWxpZGF0aW9uUnVuc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkJhdGNoVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudHMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaFVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlQWdlbnRTcGFjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWdlbnRTcGFjZSA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVBZ2VudFNwYWNlXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlQXBwbGljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcGxpY2F0aW9uID0gXCJzZWN1cml0eWFnZW50OkNyZWF0ZUFwcGxpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlQ29kZVJldmlldyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29kZVJldmlldyA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVDb2RlUmV2aWV3XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlRGVzaWduUmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEZXNpZ25SZXZpZXcgPSBcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlRGVzaWduUmV2aWV3XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlSW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVncmF0aW9uID0gXCJzZWN1cml0eWFnZW50OkNyZWF0ZUludGVncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlTWVtYmVyc2hpcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWVtYmVyc2hpcCA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVNZW1iZXJzaGlwXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbiA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkNyZWF0ZU9uZVRpbWVMb2dpblNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVQZW50ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQZW50ZXN0ID0gXCJzZWN1cml0eWFnZW50OkNyZWF0ZVBlbnRlc3RcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb24gPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVQcml2YXRlQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkNyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnQgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6Q3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVUYXJnZXREb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhcmdldERvbWFpbiA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVUYXJnZXREb21haW5cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVUaHJlYXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRocmVhdCA9IFwic2VjdXJpdHlhZ2VudDpDcmVhdGVUaHJlYXRcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpDcmVhdGVUaHJlYXRNb2RlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0TW9kZWwgPSBcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlVGhyZWF0TW9kZWxcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2VudFNwYWNlID0gXCJzZWN1cml0eWFnZW50OkRlbGV0ZUFnZW50U3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwbGljYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6RGVsZXRlQXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXJ0aWZhY3QgPSBcInNlY3VyaXR5YWdlbnQ6RGVsZXRlQXJ0aWZhY3RcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVEZXNpZ25SZXZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlc2lnblJldmlldyA9IFwic2VjdXJpdHlhZ2VudDpEZWxldGVEZXNpZ25SZXZpZXdcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6RGVsZXRlSW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVNZW1iZXJzaGlwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZW1iZXJzaGlwID0gXCJzZWN1cml0eWFnZW50OkRlbGV0ZU1lbWJlcnNoaXBcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVQcml2YXRlQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb24gPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVQcml2YXRlQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkRlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnQgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6RGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6RGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpEZWxldGVUYXJnZXREb21haW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhcmdldERvbWFpbiA9IFwic2VjdXJpdHlhZ2VudDpEZWxldGVUYXJnZXREb21haW5cIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkRlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb24gPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpHZXRBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXBwbGljYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6R2V0QXBwbGljYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkdldEFydGlmYWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBcnRpZmFjdCA9IFwic2VjdXJpdHlhZ2VudDpHZXRBcnRpZmFjdFwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6R2V0RGVzaWduUmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXNpZ25SZXZpZXcgPSBcInNlY3VyaXR5YWdlbnQ6R2V0RGVzaWduUmV2aWV3XCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpHZXREZXNpZ25SZXZpZXdBcnRpZmFjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGVzaWduUmV2aWV3QXJ0aWZhY3QgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpHZXREZXNpZ25SZXZpZXdBcnRpZmFjdFwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6R2V0RGVzaWduUmV2aWV3RmVlZGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERlc2lnblJldmlld0ZlZWRiYWNrID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6R2V0RGVzaWduUmV2aWV3RmVlZGJhY2tcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkdldEludGVncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnRlZ3JhdGlvbiA9IFwic2VjdXJpdHlhZ2VudDpHZXRJbnRlZ3JhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6R2V0UHJvdmlkZXJSZWdpc3RyYXRpb25NYW5pZmVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvdmlkZXJSZWdpc3RyYXRpb25NYW5pZmVzdCA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkdldFByb3ZpZGVyUmVnaXN0cmF0aW9uTWFuaWZlc3RcIjtcblx0LyoqIFtSZWFkXSBzZWN1cml0eWFnZW50OkdldFNlY3VyaXR5UmVxdWlyZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlY3VyaXR5UmVxdWlyZW1lbnQgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpHZXRTZWN1cml0eVJlcXVpcmVtZW50XCI7XG5cdC8qKiBbUmVhZF0gc2VjdXJpdHlhZ2VudDpHZXRTZWN1cml0eVJlcXVpcmVtZW50UGFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpHZXRTZWN1cml0eVJlcXVpcmVtZW50UGFja1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkhhbmRsZVByb3ZpZGVyQ2FsbGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IEhhbmRsZVByb3ZpZGVyQ2FsbGJhY2sgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpIYW5kbGVQcm92aWRlckNhbGxiYWNrXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6SGFuZGxlUHJvdmlkZXJSZWdpc3RyYXRpb25DYWxsYmFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSGFuZGxlUHJvdmlkZXJSZWdpc3RyYXRpb25DYWxsYmFjayA9XG5cdFx0XCJzZWN1cml0eWFnZW50OkhhbmRsZVByb3ZpZGVyUmVnaXN0cmF0aW9uQ2FsbGJhY2tcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpJbXBvcnRTZWN1cml0eVJlcXVpcmVtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0U2VjdXJpdHlSZXF1aXJlbWVudHMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpJbXBvcnRTZWN1cml0eVJlcXVpcmVtZW50c1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OkluaXRpYXRlUHJvdmlkZXJSZWdpc3RyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYXRlUHJvdmlkZXJSZWdpc3RyYXRpb24gPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpJbml0aWF0ZVByb3ZpZGVyUmVnaXN0cmF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0QWN0b3JNZXNzYWdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjdG9yTWVzc2FnZXMgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdEFjdG9yTWVzc2FnZXNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RBZ2VudFNwYWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFnZW50U3BhY2VzID0gXCJzZWN1cml0eWFnZW50Okxpc3RBZ2VudFNwYWNlc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdEFwcGxpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcGxpY2F0aW9ucyA9IFwic2VjdXJpdHlhZ2VudDpMaXN0QXBwbGljYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0QXJ0aWZhY3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzID0gXCJzZWN1cml0eWFnZW50Okxpc3RBcnRpZmFjdHNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RDb2RlUmV2aWV3Sm9iVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlUmV2aWV3Sm9iVGFza3MgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0Q29kZVJldmlld0pvYlRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0Q29kZVJldmlld0pvYnNGb3JDb2RlUmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJldmlld0pvYnNGb3JDb2RlUmV2aWV3ID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdENvZGVSZXZpZXdKb2JzRm9yQ29kZVJldmlld1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdENvZGVSZXZpZXdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJldmlld3MgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdENvZGVSZXZpZXdzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0RGVzaWduUmV2aWV3Q29tbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXNpZ25SZXZpZXdDb21tZW50cyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3REZXNpZ25SZXZpZXdDb21tZW50c1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdERlc2lnblJldmlld3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXNpZ25SZXZpZXdzID0gXCJzZWN1cml0eWFnZW50Okxpc3REZXNpZ25SZXZpZXdzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0RGlzY292ZXJlZERvbWFpbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REaXNjb3ZlcmVkRG9tYWlucyA9IFwic2VjdXJpdHlhZ2VudDpMaXN0RGlzY292ZXJlZERvbWFpbnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3REaXNjb3ZlcmVkRW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGlzY292ZXJlZEVuZHBvaW50cyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3REaXNjb3ZlcmVkRW5kcG9pbnRzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0RmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGaW5kaW5ncyA9IFwic2VjdXJpdHlhZ2VudDpMaXN0RmluZGluZ3NcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RJbnRlZ3JhdGVkUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZWdyYXRlZFJlc291cmNlcyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RJbnRlZ3JhdGVkUmVzb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0SW50ZWdyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZWdyYXRpb25zID0gXCJzZWN1cml0eWFnZW50Okxpc3RJbnRlZ3JhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RNZW1iZXJzaGlwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnNoaXBzID0gXCJzZWN1cml0eWFnZW50Okxpc3RNZW1iZXJzaGlwc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdFBlbnRlc3RKb2JUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBlbnRlc3RKb2JUYXNrcyA9IFwic2VjdXJpdHlhZ2VudDpMaXN0UGVudGVzdEpvYlRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0UGVudGVzdEpvYnNGb3JQZW50ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVudGVzdEpvYnNGb3JQZW50ZXN0ID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFBlbnRlc3RKb2JzRm9yUGVudGVzdFwiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdFBlbnRlc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGVudGVzdHMgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdFBlbnRlc3RzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFByaXZhdGVDb25uZWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdFJlc291cmNlc0Zyb21JbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlc0Zyb21JbnRlZ3JhdGlvbiA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RSZXNvdXJjZXNGcm9tSW50ZWdyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RTZWN1cml0eVJlcXVpcmVtZW50UGFja3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWN1cml0eVJlcXVpcmVtZW50UGFja3MgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0U2VjdXJpdHlSZXF1aXJlbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZWN1cml0eVJlcXVpcmVtZW50cyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RTZWN1cml0eVJlcXVpcmVtZW50c1wiO1xuXHQvKiogW1JlYWRdIHNlY3VyaXR5YWdlbnQ6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwic2VjdXJpdHlhZ2VudDpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0VGFyZ2V0RG9tYWlucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldERvbWFpbnMgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdFRhcmdldERvbWFpbnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRNb2RlbEpvYlRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0TW9kZWxKb2JUYXNrcyA9XG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRNb2RlbEpvYlRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gc2VjdXJpdHlhZ2VudDpMaXN0VGhyZWF0TW9kZWxKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0TW9kZWxKb2JzID0gXCJzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRNb2RlbEpvYnNcIjtcblx0LyoqIFtMaXN0XSBzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRNb2RlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRNb2RlbHMgPSBcInNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdE1vZGVsc1wiO1xuXHQvKiogW0xpc3RdIHNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRzID0gXCJzZWN1cml0eWFnZW50Okxpc3RUaHJlYXRzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6UHV0RGVzaWduUmV2aWV3RmVlZGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERlc2lnblJldmlld0ZlZWRiYWNrID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6UHV0RGVzaWduUmV2aWV3RmVlZGJhY2tcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZW1lZGlhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb2RlUmVtZWRpYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6U3RhcnRDb2RlUmVtZWRpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZXZpZXdKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q29kZVJldmlld0pvYiA9IFwic2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZXZpZXdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydFBlbnRlc3RKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGVudGVzdEpvYiA9IFwic2VjdXJpdHlhZ2VudDpTdGFydFBlbnRlc3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydFRocmVhdE1vZGVsSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRocmVhdE1vZGVsSm9iID0gXCJzZWN1cml0eWFnZW50OlN0YXJ0VGhyZWF0TW9kZWxKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdGFydFZhbGlkYXRpb25SdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VmFsaWRhdGlvblJ1biA9IFwic2VjdXJpdHlhZ2VudDpTdGFydFZhbGlkYXRpb25SdW5cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdG9wQ29kZVJldmlld0pvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvZGVSZXZpZXdKb2IgPSBcInNlY3VyaXR5YWdlbnQ6U3RvcENvZGVSZXZpZXdKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdG9wUGVudGVzdEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBlbnRlc3RKb2IgPSBcInNlY3VyaXR5YWdlbnQ6U3RvcFBlbnRlc3RKb2JcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpTdG9wVGhyZWF0TW9kZWxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUaHJlYXRNb2RlbEpvYiA9IFwic2VjdXJpdHlhZ2VudDpTdG9wVGhyZWF0TW9kZWxKb2JcIjtcblx0LyoqIFtUYWdnaW5nXSBzZWN1cml0eWFnZW50OlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwic2VjdXJpdHlhZ2VudDpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OlRvZ2dsZU1hbmFnZWRTZWN1cml0eVJlcXVpcmVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBUb2dnbGVNYW5hZ2VkU2VjdXJpdHlSZXF1aXJlbWVudCA9XG5cdFx0XCJzZWN1cml0eWFnZW50OlRvZ2dsZU1hbmFnZWRTZWN1cml0eVJlcXVpcmVtZW50XCI7XG5cdC8qKiBbVGFnZ2luZ10gc2VjdXJpdHlhZ2VudDpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJzZWN1cml0eWFnZW50OlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVBZ2VudFNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBZ2VudFNwYWNlID0gXCJzZWN1cml0eWFnZW50OlVwZGF0ZUFnZW50U3BhY2VcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVBcHBsaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwbGljYXRpb24gPSBcInNlY3VyaXR5YWdlbnQ6VXBkYXRlQXBwbGljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVDb2RlUmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb2RlUmV2aWV3ID0gXCJzZWN1cml0eWFnZW50OlVwZGF0ZUNvZGVSZXZpZXdcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVEaXNjb3ZlcmVkRG9tYWlucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGlzY292ZXJlZERvbWFpbnMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVEaXNjb3ZlcmVkRG9tYWluc1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OlVwZGF0ZUZpbmRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZpbmRpbmcgPSBcInNlY3VyaXR5YWdlbnQ6VXBkYXRlRmluZGluZ1wiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OlVwZGF0ZUludGVncmF0ZWRSZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVncmF0ZWRSZXNvdXJjZXMgPVxuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVJbnRlZ3JhdGVkUmVzb3VyY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlSW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVncmF0aW9uID0gXCJzZWN1cml0eWFnZW50OlVwZGF0ZUludGVncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlUGVudGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGVudGVzdCA9IFwic2VjdXJpdHlhZ2VudDpVcGRhdGVQZW50ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSA9XG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGVcIjtcblx0LyoqIFtXcml0ZV0gc2VjdXJpdHlhZ2VudDpVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50ID1cblx0XHRcInNlY3VyaXR5YWdlbnQ6VXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBzZWN1cml0eWFnZW50OlVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50UGFjayA9XG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlVGFyZ2V0RG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXJnZXREb21haW4gPSBcInNlY3VyaXR5YWdlbnQ6VXBkYXRlVGFyZ2V0RG9tYWluXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlVGhyZWF0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUaHJlYXQgPSBcInNlY3VyaXR5YWdlbnQ6VXBkYXRlVGhyZWF0XCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VXBkYXRlVGhyZWF0TW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRocmVhdE1vZGVsID0gXCJzZWN1cml0eWFnZW50OlVwZGF0ZVRocmVhdE1vZGVsXCI7XG5cdC8qKiBbV3JpdGVdIHNlY3VyaXR5YWdlbnQ6VmVyaWZ5VGFyZ2V0RG9tYWluICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlUYXJnZXREb21haW4gPSBcInNlY3VyaXR5YWdlbnQ6VmVyaWZ5VGFyZ2V0RG9tYWluXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRBZ2VudFNwYWNlcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaEdldEFydGlmYWN0TWV0YWRhdGEsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRDb2RlUmV2aWV3Sm9iVGFza3MsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRDb2RlUmV2aWV3Sm9icyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaEdldENvZGVSZXZpZXdzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0RmluZGluZ3MsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRQZW50ZXN0Sm9iQ29udGVudE1ldGFkYXRhLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0UGVudGVzdEpvYlRhc2tzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0UGVudGVzdEpvYnMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRQZW50ZXN0cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaEdldFNlY3VyaXR5UmVxdWlyZW1lbnRzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0VGFyZ2V0RG9tYWlucyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaEdldFRocmVhdE1vZGVsSm9iVGFza3MsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRUaHJlYXRNb2RlbEpvYnMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRUaHJlYXRNb2RlbHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hHZXRUaHJlYXRzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoR2V0VmFsaWRhdGlvblJ1bnMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5hY3Rpb25HZXRBcHBsaWNhdGlvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5hY3Rpb25HZXRBcnRpZmFjdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5hY3Rpb25HZXREZXNpZ25SZXZpZXcsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuYWN0aW9uR2V0RGVzaWduUmV2aWV3QXJ0aWZhY3QsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuYWN0aW9uR2V0RGVzaWduUmV2aWV3RmVlZGJhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuYWN0aW9uR2V0SW50ZWdyYXRpb24sXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuYWN0aW9uR2V0UHJvdmlkZXJSZWdpc3RyYXRpb25NYW5pZmVzdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5hY3Rpb25HZXRTZWN1cml0eVJlcXVpcmVtZW50LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLmFjdGlvbkdldFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQWRkQXJ0aWZhY3QsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaERlbGV0ZUNvZGVSZXZpZXdzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkJhdGNoRGVsZXRlUGVudGVzdHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaERlbGV0ZVRocmVhdE1vZGVscyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5CYXRjaERlbGV0ZVRocmVhdHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQmF0Y2hVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5DcmVhdGVBZ2VudFNwYWNlLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZUFwcGxpY2F0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZUNvZGVSZXZpZXcsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQ3JlYXRlRGVzaWduUmV2aWV3LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZUludGVncmF0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZU1lbWJlcnNoaXAsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQ3JlYXRlT25lVGltZUxvZ2luU2Vzc2lvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5DcmVhdGVQZW50ZXN0LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnQsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuQ3JlYXRlVGFyZ2V0RG9tYWluLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkNyZWF0ZVRocmVhdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5DcmVhdGVUaHJlYXRNb2RlbCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5EZWxldGVBZ2VudFNwYWNlLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZUFwcGxpY2F0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZUFydGlmYWN0LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZURlc2lnblJldmlldyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5EZWxldGVJbnRlZ3JhdGlvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5EZWxldGVNZW1iZXJzaGlwLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkRlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnQsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuRGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuRGVsZXRlVGFyZ2V0RG9tYWluLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkhhbmRsZVByb3ZpZGVyQ2FsbGJhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuSGFuZGxlUHJvdmlkZXJSZWdpc3RyYXRpb25DYWxsYmFjayxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5JbXBvcnRTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5Jbml0aWF0ZVByb3ZpZGVyUmVnaXN0cmF0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlB1dERlc2lnblJldmlld0ZlZWRiYWNrLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlN0YXJ0Q29kZVJlbWVkaWF0aW9uLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlN0YXJ0Q29kZVJldmlld0pvYixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5TdGFydFBlbnRlc3RKb2IsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuU3RhcnRUaHJlYXRNb2RlbEpvYixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5TdGFydFZhbGlkYXRpb25SdW4sXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuU3RvcENvZGVSZXZpZXdKb2IsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuU3RvcFBlbnRlc3RKb2IsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuU3RvcFRocmVhdE1vZGVsSm9iLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlRvZ2dsZU1hbmFnZWRTZWN1cml0eVJlcXVpcmVtZW50LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVwZGF0ZUFnZW50U3BhY2UsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlQXBwbGljYXRpb24sXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlQ29kZVJldmlldyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5VcGRhdGVEaXNjb3ZlcmVkRG9tYWlucyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5VcGRhdGVGaW5kaW5nLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVwZGF0ZUludGVncmF0ZWRSZXNvdXJjZXMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlSW50ZWdyYXRpb24sXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlUGVudGVzdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5VcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnQsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2ssXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuVXBkYXRlVGFyZ2V0RG9tYWluLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVwZGF0ZVRocmVhdCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5VcGRhdGVUaHJlYXRNb2RlbCxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5WZXJpZnlUYXJnZXREb21haW4sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RBY3Rvck1lc3NhZ2VzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RBZ2VudFNwYWNlcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0QXBwbGljYXRpb25zLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RBcnRpZmFjdHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdENvZGVSZXZpZXdKb2JUYXNrcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0Q29kZVJldmlld0pvYnNGb3JDb2RlUmV2aWV3LFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RDb2RlUmV2aWV3cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0RGVzaWduUmV2aWV3Q29tbWVudHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdERlc2lnblJldmlld3MsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdERpc2NvdmVyZWREb21haW5zLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3REaXNjb3ZlcmVkRW5kcG9pbnRzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RGaW5kaW5ncyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0SW50ZWdyYXRlZFJlc291cmNlcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0SW50ZWdyYXRpb25zLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RNZW1iZXJzaGlwcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0UGVudGVzdEpvYlRhc2tzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RQZW50ZXN0Sm9ic0ZvclBlbnRlc3QsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdFBlbnRlc3RzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RQcml2YXRlQ29ubmVjdGlvbnMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdFJlc291cmNlc0Zyb21JbnRlZ3JhdGlvbixcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RTZWN1cml0eVJlcXVpcmVtZW50cyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0VGFyZ2V0RG9tYWlucyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0VGhyZWF0TW9kZWxKb2JUYXNrcyxcblx0XHRTZWN1cml0eWFnZW50QWN0aW9ucy5MaXN0VGhyZWF0TW9kZWxKb2JzLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLkxpc3RUaHJlYXRNb2RlbHMsXG5cdFx0U2VjdXJpdHlhZ2VudEFjdGlvbnMuTGlzdFRocmVhdHMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdFNlY3VyaXR5YWdlbnRBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBZ2VudFNwYWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50QWdlbnRTcGFjZUFyblByb3BzIHtcblx0LyoqIFRoZSBBZ2VudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQWdlbnRTcGFjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlhZ2VudEFnZW50U3BhY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlhZ2VudEFwcGxpY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcGxpY2F0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcGxpY2F0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlhZ2VudEFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBsaWNhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwbGljYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgSW50ZWdyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5YWdlbnRJbnRlZ3JhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJbnRlZ3JhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbnRlZ3JhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSW50ZWdyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5YWdlbnRJbnRlZ3JhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW50ZWdyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGludGVncmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFByaXZhdGVDb25uZWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50UHJpdmF0ZUNvbm5lY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJpdmF0ZUNvbm5lY3Rpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcml2YXRlQ29ubmVjdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQcml2YXRlQ29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlhZ2VudFByaXZhdGVDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcml2YXRlQ29ubmVjdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcml2YXRlQ29ubmVjdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VjdXJpdHlSZXF1aXJlbWVudFBhY2tJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZWN1cml0eVJlcXVpcmVtZW50UGFja0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBUYXJnZXREb21haW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5YWdlbnRUYXJnZXREb21haW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGFyZ2V0RG9tYWluSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhcmdldERvbWFpbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgVGFyZ2V0RG9tYWluIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eWFnZW50VGFyZ2V0RG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUYXJnZXREb21haW5JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhcmdldERvbWFpbklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFnZW50U3BhY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZW50LXNwYWNlXFwvKD88YWdlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQXBwbGljYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcGxpY2F0aW9uXFwvKD88YXBwbGljYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgSW50ZWdyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmludGVncmF0aW9uXFwvKD88aW50ZWdyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUHJpdmF0ZUNvbm5lY3Rpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByaXZhdGUtY29ubmVjdGlvblxcLyg/PHByaXZhdGVDb25uZWN0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlY3VyaXR5LXJlcXVpcmVtZW50LXBhY2tcXC8oPzxzZWN1cml0eVJlcXVpcmVtZW50UGFja0lkPlteOi8/XSspJC87XG5jb25zdCBUYXJnZXREb21haW5Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c2VjdXJpdHlhZ2VudDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhcmdldC1kb21haW5cXC8oPzx0YXJnZXREb21haW5JZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNlY3VyaXR5YWdlbnQgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlhZ2VudFJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQWdlbnRTcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2VudFNwYWNlKHByb3BzOiBTZWN1cml0eWFnZW50QWdlbnRTcGFjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzZWN1cml0eWFnZW50OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFnZW50LXNwYWNlLyR7cHJvcHMuYWdlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQWdlbnRTcGFjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdlbnRTcGFjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBZ2VudFNwYWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEFnZW50U3BhY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdlbnRTcGFjZUFybihhcm46IHN0cmluZyk6IFNlY3VyaXR5YWdlbnRBZ2VudFNwYWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBZ2VudFNwYWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEFnZW50U3BhY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdlbnRJZDogbWF0Y2guZ3JvdXBzIS5hZ2VudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcGxpY2F0aW9uKHByb3BzOiBTZWN1cml0eWFnZW50QXBwbGljYXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlhZ2VudDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHBsaWNhdGlvbi8ke3Byb3BzLmFwcGxpY2F0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBsaWNhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBsaWNhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBBcHBsaWNhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBsaWNhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2VjdXJpdHlhZ2VudEFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBsaWNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBcHBsaWNhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBsaWNhdGlvbklkOiBtYXRjaC5ncm91cHMhLmFwcGxpY2F0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgSW50ZWdyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZWdyYXRpb24ocHJvcHM6IFNlY3VyaXR5YWdlbnRJbnRlZ3JhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzZWN1cml0eWFnZW50OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmludGVncmF0aW9uLyR7cHJvcHMuaW50ZWdyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSW50ZWdyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEludGVncmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEludGVncmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEludGVncmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUludGVncmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTZWN1cml0eWFnZW50SW50ZWdyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEludGVncmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEludGVncmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGludGVncmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuaW50ZWdyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQcml2YXRlQ29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcml2YXRlQ29ubmVjdGlvbihcblx0XHRwcm9wczogU2VjdXJpdHlhZ2VudFByaXZhdGVDb25uZWN0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlhZ2VudDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcml2YXRlLWNvbm5lY3Rpb24vJHtwcm9wcy5wcml2YXRlQ29ubmVjdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFByaXZhdGVDb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQcml2YXRlQ29ubmVjdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQcml2YXRlQ29ubmVjdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBQcml2YXRlQ29ubmVjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQcml2YXRlQ29ubmVjdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU2VjdXJpdHlhZ2VudFByaXZhdGVDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcml2YXRlQ29ubmVjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQcml2YXRlQ29ubmVjdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcml2YXRlQ29ubmVjdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEucHJpdmF0ZUNvbm5lY3Rpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrKFxuXHRcdHByb3BzOiBTZWN1cml0eWFnZW50U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzZWN1cml0eWFnZW50OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlY3VyaXR5LXJlcXVpcmVtZW50LXBhY2svJHtwcm9wcy5zZWN1cml0eVJlcXVpcmVtZW50UGFja0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTZWN1cml0eVJlcXVpcmVtZW50UGFjayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNlY3VyaXR5YWdlbnRTZWN1cml0eVJlcXVpcmVtZW50UGFja0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VjdXJpdHlSZXF1aXJlbWVudFBhY2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU2VjdXJpdHlSZXF1aXJlbWVudFBhY2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VjdXJpdHlSZXF1aXJlbWVudFBhY2tJZDogbWF0Y2guZ3JvdXBzIS5zZWN1cml0eVJlcXVpcmVtZW50UGFja0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFRhcmdldERvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0YXJnZXREb21haW4ocHJvcHM6IFNlY3VyaXR5YWdlbnRUYXJnZXREb21haW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c2VjdXJpdHlhZ2VudDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXJnZXQtZG9tYWluLyR7cHJvcHMudGFyZ2V0RG9tYWluSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFRhcmdldERvbWFpbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFyZ2V0RG9tYWluQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhcmdldERvbWFpbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBUYXJnZXREb21haW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFyZ2V0RG9tYWluQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTZWN1cml0eWFnZW50VGFyZ2V0RG9tYWluQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUYXJnZXREb21haW5Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVGFyZ2V0RG9tYWluIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRhcmdldERvbWFpbklkOiBtYXRjaC5ncm91cHMhLnRhcmdldERvbWFpbklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHNlY3VyaXR5YWdlbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTZWN1cml0eWFnZW50T3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZEFydGlmYWN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkQXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpBZGRBcnRpZmFjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQ29kZVJldmlld3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUNvZGVSZXZpZXdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hEZWxldGVDb2RlUmV2aWV3c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERlbGV0ZVBlbnRlc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVQZW50ZXN0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoRGVsZXRlUGVudGVzdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlVGhyZWF0TW9kZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVUaHJlYXRNb2RlbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaERlbGV0ZVRocmVhdE1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldEFnZW50U3BhY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBZ2VudFNwYWNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0QWdlbnRTcGFjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRBcnRpZmFjdE1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0Q29kZVJldmlld0pvYlRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2RlUmV2aWV3Sm9iVGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldENvZGVSZXZpZXdKb2JUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldENvZGVSZXZpZXdKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRDb2RlUmV2aWV3Sm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0Q29kZVJldmlld0pvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRDb2RlUmV2aWV3cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0Q29kZVJldmlld3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldENvZGVSZXZpZXdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0RmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldEZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRGaW5kaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFBlbnRlc3RKb2JUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYlRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0Sm9iVGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRQZW50ZXN0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UGVudGVzdEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaEdldFBlbnRlc3RKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0UGVudGVzdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFBlbnRlc3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRQZW50ZXN0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFNlY3VyaXR5UmVxdWlyZW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRTZWN1cml0eVJlcXVpcmVtZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0U2VjdXJpdHlSZXF1aXJlbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRUYXJnZXREb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRUYXJnZXREb21haW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUYXJnZXREb21haW5zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0TW9kZWxKb2JUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFRocmVhdE1vZGVsSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0TW9kZWxKb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6QmF0Y2hHZXRUaHJlYXRNb2RlbEpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRUaHJlYXRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFRocmVhdE1vZGVsczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0TW9kZWxzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoR2V0VGhyZWF0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0VGhyZWF0czogc3RyaW5nW10gPSBbXCJzZWN1cml0eWFnZW50OkJhdGNoR2V0VGhyZWF0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpCYXRjaFVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFnZW50U3BhY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFNwYWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlQWdlbnRTcGFjZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzZWN1cml0eWFnZW50OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVBcHBsaWNhdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzZWN1cml0eWFnZW50OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvZGVSZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb2RlUmV2aWV3OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlQ29kZVJldmlld1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnRlZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVncmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlSW50ZWdyYXRpb25cIixcblx0XHRcInNlY3VyaXR5YWdlbnQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTWVtYmVyc2hpcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1lbWJlcnNoaXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVNZW1iZXJzaGlwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBlbnRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQZW50ZXN0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlUGVudGVzdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJpdmF0ZUNvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkNyZWF0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdFx0XCJzZWN1cml0eWFnZW50OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50UGFja1wiLFxuXHRcdFwic2VjdXJpdHlhZ2VudDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUYXJnZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXJnZXREb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpDcmVhdGVUYXJnZXREb21haW5cIixcblx0XHRcInNlY3VyaXR5YWdlbnQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGhyZWF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGhyZWF0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlVGhyZWF0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUaHJlYXRNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRocmVhdE1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6Q3JlYXRlVGhyZWF0TW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdlbnRTcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFnZW50U3BhY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVBZ2VudFNwYWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwbGljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFydGlmYWN0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6RGVsZXRlQXJ0aWZhY3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludGVncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZWdyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVJbnRlZ3JhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNZW1iZXJzaGlwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWVtYmVyc2hpcDogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkRlbGV0ZU1lbWJlcnNoaXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJpdmF0ZUNvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcml2YXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkRlbGV0ZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVTZWN1cml0eVJlcXVpcmVtZW50UGFja1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUYXJnZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXJnZXREb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZWxldGVUYXJnZXREb21haW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcml2YXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUHJpdmF0ZUNvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpEZXNjcmliZVByaXZhdGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFwcGxpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBcHBsaWNhdGlvbjogc3RyaW5nW10gPSBbXCJzZWN1cml0eWFnZW50OkdldEFwcGxpY2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBcnRpZmFjdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXJ0aWZhY3Q6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpHZXRBcnRpZmFjdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVncmF0aW9uOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6R2V0SW50ZWdyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZWN1cml0eVJlcXVpcmVtZW50UGFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkdldFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydFNlY3VyaXR5UmVxdWlyZW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0U2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpJbXBvcnRTZWN1cml0eVJlcXVpcmVtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbml0aWF0ZVByb3ZpZGVyUmVnaXN0cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhdGVQcm92aWRlclJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OkluaXRpYXRlUHJvdmlkZXJSZWdpc3RyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjdG9yTWVzc2FnZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWN0b3JNZXNzYWdlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RBY3Rvck1lc3NhZ2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2VudFNwYWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2VudFNwYWNlczogc3RyaW5nW10gPSBbXCJzZWN1cml0eWFnZW50Okxpc3RBZ2VudFNwYWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcGxpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBsaWNhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0QXBwbGljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcnRpZmFjdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXJ0aWZhY3RzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6TGlzdEFydGlmYWN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvZGVSZXZpZXdKb2JUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb2RlUmV2aWV3Sm9iVGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0Q29kZVJldmlld0pvYlRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb2RlUmV2aWV3Sm9ic0ZvckNvZGVSZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJldmlld0pvYnNGb3JDb2RlUmV2aWV3OiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdENvZGVSZXZpZXdKb2JzRm9yQ29kZVJldmlld1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29kZVJldmlld3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29kZVJldmlld3M6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpMaXN0Q29kZVJldmlld3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REaXNjb3ZlcmVkRW5kcG9pbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERpc2NvdmVyZWRFbmRwb2ludHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0RGlzY292ZXJlZEVuZHBvaW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmluZGluZ3M6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpMaXN0RmluZGluZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnRlZ3JhdGVkUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0ZWRSZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0SW50ZWdyYXRlZFJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVncmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RJbnRlZ3JhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE1lbWJlcnNoaXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1lbWJlcnNoaXBzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6TGlzdE1lbWJlcnNoaXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGVudGVzdEpvYlRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBlbnRlc3RKb2JUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50Okxpc3RQZW50ZXN0Sm9iVGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBlbnRlc3RKb2JzRm9yUGVudGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQZW50ZXN0Sm9ic0ZvclBlbnRlc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0UGVudGVzdEpvYnNGb3JQZW50ZXN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQZW50ZXN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQZW50ZXN0czogc3RyaW5nW10gPSBbXCJzZWN1cml0eWFnZW50Okxpc3RQZW50ZXN0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByaXZhdGVDb25uZWN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcml2YXRlQ29ubmVjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0UHJpdmF0ZUNvbm5lY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZWN1cml0eVJlcXVpcmVtZW50UGFja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VjdXJpdHlSZXF1aXJlbWVudFBhY2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VjdXJpdHlSZXF1aXJlbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VjdXJpdHlSZXF1aXJlbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0U2VjdXJpdHlSZXF1aXJlbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYXJnZXREb21haW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldERvbWFpbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0VGFyZ2V0RG9tYWluc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGhyZWF0TW9kZWxKb2JUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRNb2RlbEpvYlRhc2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdE1vZGVsSm9iVGFza3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRocmVhdE1vZGVsSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRNb2RlbEpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpMaXN0VGhyZWF0TW9kZWxKb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUaHJlYXRNb2RlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGhyZWF0TW9kZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdE1vZGVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGhyZWF0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUaHJlYXRzOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6TGlzdFRocmVhdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q29kZVJlbWVkaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb2RlUmVtZWRpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZW1lZGlhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydENvZGVSZXZpZXdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvZGVSZXZpZXdKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpTdGFydENvZGVSZXZpZXdKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQZW50ZXN0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQZW50ZXN0Sm9iOiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6U3RhcnRQZW50ZXN0Sm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRocmVhdE1vZGVsSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUaHJlYXRNb2RlbEpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlN0YXJ0VGhyZWF0TW9kZWxKb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcENvZGVSZXZpZXdKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29kZVJldmlld0pvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlN0b3BDb2RlUmV2aWV3Sm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BQZW50ZXN0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBlbnRlc3RKb2I6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpTdG9wUGVudGVzdEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRocmVhdE1vZGVsSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRocmVhdE1vZGVsSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6U3RvcFRocmVhdE1vZGVsSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBZ2VudFNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWdlbnRTcGFjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNlY3VyaXR5YWdlbnQ6VXBkYXRlQWdlbnRTcGFjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHBsaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcGxpY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVBcHBsaWNhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb2RlUmV2aWV3IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29kZVJldmlldzogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZUNvZGVSZXZpZXdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmluZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZpbmRpbmc6IHN0cmluZ1tdID0gW1wic2VjdXJpdHlhZ2VudDpVcGRhdGVGaW5kaW5nXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbnRlZ3JhdGVkUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW50ZWdyYXRlZFJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZUludGVncmF0ZWRSZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSW50ZWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbnRlZ3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzZWN1cml0eWFnZW50OlVwZGF0ZUludGVncmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVBlbnRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQZW50ZXN0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6VXBkYXRlUGVudGVzdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUHJpdmF0ZUNvbm5lY3Rpb25DZXJ0aWZpY2F0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByaXZhdGVDb25uZWN0aW9uQ2VydGlmaWNhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVQcml2YXRlQ29ubmVjdGlvbkNlcnRpZmljYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlY3VyaXR5UmVxdWlyZW1lbnRQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VjdXJpdHlSZXF1aXJlbWVudFBhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVTZWN1cml0eVJlcXVpcmVtZW50UGFja1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUYXJnZXREb21haW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXJnZXREb21haW46IHN0cmluZ1tdID0gW1xuXHRcdFwic2VjdXJpdHlhZ2VudDpVcGRhdGVUYXJnZXREb21haW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGhyZWF0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGhyZWF0OiBzdHJpbmdbXSA9IFtcInNlY3VyaXR5YWdlbnQ6VXBkYXRlVGhyZWF0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUaHJlYXRNb2RlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRocmVhdE1vZGVsOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6VXBkYXRlVGhyZWF0TW9kZWxcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVmVyaWZ5VGFyZ2V0RG9tYWluIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5VGFyZ2V0RG9tYWluOiBzdHJpbmdbXSA9IFtcblx0XHRcInNlY3VyaXR5YWdlbnQ6VmVyaWZ5VGFyZ2V0RG9tYWluXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzZWN1cml0eWFnZW50LlxuICovXG5leHBvcnQgY2xhc3MgU2VjdXJpdHlhZ2VudENvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWdlbnRTcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBZ2VudFNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHBsaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBsaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSW50ZWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZWdyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVByaXZhdGVDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByaXZhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50UGFjayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZWN1cml0eVJlcXVpcmVtZW50UGFja0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
@@ -174,6 +174,8 @@ export declare class SecurityHubActions {
174
174
  static readonly actionGetMembers = "securityhub:GetMembers";
175
175
  /** [Read] securityhub:GetRecommendedPolicyV2 */
176
176
  static readonly actionGetRecommendedPolicyV2 = "securityhub:GetRecommendedPolicyV2";
177
+ /** [Read] securityhub:GetRemediationsV2 */
178
+ static readonly actionGetRemediationsV2 = "securityhub:GetRemediationsV2";
177
179
  /** [Read] securityhub:GetResourcesStatisticsV2 */
178
180
  static readonly actionGetResourcesStatisticsV2 = "securityhub:GetResourcesStatisticsV2";
179
181
  /** [Read] securityhub:GetResourcesTrendsV2 */
@@ -208,6 +210,8 @@ export declare class SecurityHubActions {
208
210
  static readonly ListControlEvaluationSummaries = "securityhub:ListControlEvaluationSummaries";
209
211
  /** [List] securityhub:ListEnabledProductsForImport */
210
212
  static readonly ListEnabledProductsForImport = "securityhub:ListEnabledProductsForImport";
213
+ /** [List] securityhub:ListExposuresByRemediationV2 */
214
+ static readonly ListExposuresByRemediationV2 = "securityhub:ListExposuresByRemediationV2";
211
215
  /** [List] securityhub:ListFindingAggregators */
212
216
  static readonly ListFindingAggregators = "securityhub:ListFindingAggregators";
213
217
  /** [List] securityhub:ListFreeTrialStatusesV2 */