@cdk_utils/iam 1.16.0 → 1.18.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 +2723 -2061
  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 +4 -4
  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.d.ts +10 -0
  64. package/lib/generated/services/bedrock-agentcore.js +15 -5
  65. package/lib/generated/services/bedrock-mantle.js +3 -3
  66. package/lib/generated/services/bedrock-websearch.js +2 -2
  67. package/lib/generated/services/bedrock.js +4 -4
  68. package/lib/generated/services/billing.js +4 -4
  69. package/lib/generated/services/billingconductor.js +4 -4
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +4 -4
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.js +4 -4
  91. package/lib/generated/services/codeartifact.js +4 -4
  92. package/lib/generated/services/codebuild.js +4 -4
  93. package/lib/generated/services/codecatalyst.js +4 -4
  94. package/lib/generated/services/codecommit.js +4 -4
  95. package/lib/generated/services/codeconnections.js +4 -4
  96. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  97. package/lib/generated/services/codedeploy.js +4 -4
  98. package/lib/generated/services/codeguru-profiler.js +4 -4
  99. package/lib/generated/services/codeguru-reviewer.js +4 -4
  100. package/lib/generated/services/codeguru-security.js +4 -4
  101. package/lib/generated/services/codeguru.js +1 -1
  102. package/lib/generated/services/codepipeline.js +4 -4
  103. package/lib/generated/services/codestar-connections.js +4 -4
  104. package/lib/generated/services/codestar-notifications.js +4 -4
  105. package/lib/generated/services/codestar.js +3 -3
  106. package/lib/generated/services/codewhisperer.js +3 -3
  107. package/lib/generated/services/cognito-identity.js +4 -4
  108. package/lib/generated/services/cognito-idp.js +4 -4
  109. package/lib/generated/services/cognito-sync.js +3 -3
  110. package/lib/generated/services/comprehend.js +4 -4
  111. package/lib/generated/services/comprehendmedical.js +3 -3
  112. package/lib/generated/services/compute-optimizer.js +3 -3
  113. package/lib/generated/services/config.js +4 -4
  114. package/lib/generated/services/connect-campaigns.js +4 -4
  115. package/lib/generated/services/connect.js +4 -4
  116. package/lib/generated/services/consoleapp.js +2 -2
  117. package/lib/generated/services/consolidatedbilling.js +1 -1
  118. package/lib/generated/services/controlcatalog.js +3 -3
  119. package/lib/generated/services/controltower.js +4 -4
  120. package/lib/generated/services/cost-optimization-hub.js +2 -2
  121. package/lib/generated/services/cur.js +4 -4
  122. package/lib/generated/services/customer-verification.js +1 -1
  123. package/lib/generated/services/databrew.js +4 -4
  124. package/lib/generated/services/dataexchange.js +4 -4
  125. package/lib/generated/services/datapipeline.js +4 -4
  126. package/lib/generated/services/datasync.js +4 -4
  127. package/lib/generated/services/datazone.js +4 -4
  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 +4 -4
  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 +4 -4
  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.d.ts +8 -0
  174. package/lib/generated/services/evs.js +15 -5
  175. package/lib/generated/services/execute-api.js +4 -4
  176. package/lib/generated/services/finops-agent.js +1 -1
  177. package/lib/generated/services/finspace-api.js +3 -3
  178. package/lib/generated/services/finspace.js +4 -4
  179. package/lib/generated/services/firehose.js +4 -4
  180. package/lib/generated/services/fis.js +4 -4
  181. package/lib/generated/services/fms.js +4 -4
  182. package/lib/generated/services/forecast.js +4 -4
  183. package/lib/generated/services/frauddetector.js +4 -4
  184. package/lib/generated/services/freertos.js +3 -3
  185. package/lib/generated/services/freetier.js +2 -2
  186. package/lib/generated/services/fsx.js +4 -4
  187. package/lib/generated/services/gamelift.js +4 -4
  188. package/lib/generated/services/gameliftstreams.js +4 -4
  189. package/lib/generated/services/geo-maps.js +3 -3
  190. package/lib/generated/services/geo-places.js +3 -3
  191. package/lib/generated/services/geo-routes.js +3 -3
  192. package/lib/generated/services/geo.js +4 -4
  193. package/lib/generated/services/glacier.js +4 -4
  194. package/lib/generated/services/globalaccelerator.js +4 -4
  195. package/lib/generated/services/glue.js +4 -4
  196. package/lib/generated/services/grafana.js +4 -4
  197. package/lib/generated/services/greengrass.js +4 -4
  198. package/lib/generated/services/groundstation.js +4 -4
  199. package/lib/generated/services/groundtruthlabeling.js +1 -1
  200. package/lib/generated/services/guardduty.js +8 -6
  201. package/lib/generated/services/health-agent.js +4 -4
  202. package/lib/generated/services/health.js +4 -4
  203. package/lib/generated/services/healthlake.js +6 -5
  204. package/lib/generated/services/honeycode.js +2 -2
  205. package/lib/generated/services/iam.js +4 -4
  206. package/lib/generated/services/identity-sync.js +2 -2
  207. package/lib/generated/services/identitystore-auth.js +1 -1
  208. package/lib/generated/services/identitystore.js +4 -4
  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/networkflowmonitor.js +4 -4
  288. package/lib/generated/services/networkmanager-chat.js +1 -1
  289. package/lib/generated/services/networkmanager.js +4 -4
  290. package/lib/generated/services/networkmonitor.js +4 -4
  291. package/lib/generated/services/nimble.js +3 -3
  292. package/lib/generated/services/notifications-contacts.js +4 -4
  293. package/lib/generated/services/notifications.js +4 -4
  294. package/lib/generated/services/nova-act.js +3 -3
  295. package/lib/generated/services/oam.js +4 -4
  296. package/lib/generated/services/observabilityadmin.js +4 -4
  297. package/lib/generated/services/odb.d.ts +2 -0
  298. package/lib/generated/services/odb.js +7 -5
  299. package/lib/generated/services/omics.js +4 -4
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.js +4 -4
  311. package/lib/generated/services/payments.js +3 -3
  312. package/lib/generated/services/pca-connector-ad.js +4 -4
  313. package/lib/generated/services/pca-connector-scep.js +4 -4
  314. package/lib/generated/services/pcs.js +4 -4
  315. package/lib/generated/services/personalize.js +4 -4
  316. package/lib/generated/services/pi.js +4 -4
  317. package/lib/generated/services/pipes.js +4 -4
  318. package/lib/generated/services/polly.js +3 -3
  319. package/lib/generated/services/pricing.js +2 -2
  320. package/lib/generated/services/pricingplanmanager.js +3 -3
  321. package/lib/generated/services/private-networks.js +3 -3
  322. package/lib/generated/services/profile.js +4 -4
  323. package/lib/generated/services/proton.js +4 -4
  324. package/lib/generated/services/purchase-orders.js +3 -3
  325. package/lib/generated/services/q.js +3 -3
  326. package/lib/generated/services/qapps.js +4 -4
  327. package/lib/generated/services/qbusiness.js +4 -4
  328. package/lib/generated/services/qdeveloper.js +3 -3
  329. package/lib/generated/services/qldb.js +3 -3
  330. package/lib/generated/services/quicksight.d.ts +55 -0
  331. package/lib/generated/services/quicksight.js +58 -5
  332. package/lib/generated/services/ram.js +4 -4
  333. package/lib/generated/services/rbin.js +4 -4
  334. package/lib/generated/services/rds-data.js +4 -4
  335. package/lib/generated/services/rds-db.js +2 -2
  336. package/lib/generated/services/rds.js +4 -4
  337. package/lib/generated/services/redshift-data.js +4 -4
  338. package/lib/generated/services/redshift-serverless.js +4 -4
  339. package/lib/generated/services/redshift.js +4 -4
  340. package/lib/generated/services/refactor-spaces.js +4 -4
  341. package/lib/generated/services/rekognition.js +4 -4
  342. package/lib/generated/services/repostspace.js +4 -4
  343. package/lib/generated/services/researchstudio.js +1 -1
  344. package/lib/generated/services/resiliencehub.js +9 -6
  345. package/lib/generated/services/resource-explorer-2.js +4 -4
  346. package/lib/generated/services/resource-explorer.js +1 -1
  347. package/lib/generated/services/resource-groups.js +4 -4
  348. package/lib/generated/services/rhelkb.js +1 -1
  349. package/lib/generated/services/robomaker.js +3 -3
  350. package/lib/generated/services/rolesanywhere.js +4 -4
  351. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  352. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  353. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  354. package/lib/generated/services/route53.js +4 -4
  355. package/lib/generated/services/route53domains.js +2 -2
  356. package/lib/generated/services/route53globalresolver.js +4 -4
  357. package/lib/generated/services/route53profiles.js +4 -4
  358. package/lib/generated/services/route53resolver.js +4 -4
  359. package/lib/generated/services/rtbfabric.js +4 -4
  360. package/lib/generated/services/rum.js +4 -4
  361. package/lib/generated/services/s3-object-lambda.js +3 -3
  362. package/lib/generated/services/s3-outposts.js +4 -4
  363. package/lib/generated/services/s3.js +4 -4
  364. package/lib/generated/services/s3express.js +3 -3
  365. package/lib/generated/services/s3files.js +4 -4
  366. package/lib/generated/services/s3tables.js +4 -4
  367. package/lib/generated/services/s3vectors.js +4 -4
  368. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  369. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  370. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  371. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  372. package/lib/generated/services/sagemaker.d.ts +2 -0
  373. package/lib/generated/services/sagemaker.js +7 -5
  374. package/lib/generated/services/savingsplans.js +4 -4
  375. package/lib/generated/services/scheduler.js +4 -4
  376. package/lib/generated/services/schemas.js +4 -4
  377. package/lib/generated/services/scn.js +4 -4
  378. package/lib/generated/services/sdb.js +3 -3
  379. package/lib/generated/services/secretsmanager.js +4 -4
  380. package/lib/generated/services/security-ir.js +4 -4
  381. package/lib/generated/services/securityagent.js +4 -4
  382. package/lib/generated/services/securityhub.js +4 -4
  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.d.ts +4 -0
  400. package/lib/generated/services/social-messaging.js +9 -5
  401. package/lib/generated/services/sqlworkbench.js +3 -3
  402. package/lib/generated/services/sqs.js +4 -4
  403. package/lib/generated/services/ssm-contacts.js +4 -4
  404. package/lib/generated/services/ssm-guiconnect.js +2 -2
  405. package/lib/generated/services/ssm-incidents.js +4 -4
  406. package/lib/generated/services/ssm-quicksetup.js +4 -4
  407. package/lib/generated/services/ssm-sap.js +4 -4
  408. package/lib/generated/services/ssm.js +4 -4
  409. package/lib/generated/services/ssmmessages.js +2 -2
  410. package/lib/generated/services/sso-directory.js +1 -1
  411. package/lib/generated/services/sso-oauth.js +3 -3
  412. package/lib/generated/services/sso.js +4 -4
  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 ResiliencehubActions {
16
16
  }
17
17
  exports.ResiliencehubActions = ResiliencehubActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ResiliencehubActions[_a] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubActions", version: "1.16.0" };
19
+ ResiliencehubActions[_a] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubActions", version: "1.18.0" };
20
20
  /** The IAM service prefix. */
21
21
  ResiliencehubActions.SERVICE_PREFIX = "resiliencehub";
22
22
  /** [Write] resiliencehub:AcceptResourceGroupingRecommendations */
@@ -656,7 +656,7 @@ class ResiliencehubResources {
656
656
  }
657
657
  exports.ResiliencehubResources = ResiliencehubResources;
658
658
  _b = JSII_RTTI_SYMBOL_1;
659
- ResiliencehubResources[_b] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubResources", version: "1.16.0" };
659
+ ResiliencehubResources[_b] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubResources", version: "1.18.0" };
660
660
  /**
661
661
  * API operation to required IAM actions mapping for resiliencehub.
662
662
  */
@@ -664,7 +664,7 @@ class ResiliencehubOperations {
664
664
  }
665
665
  exports.ResiliencehubOperations = ResiliencehubOperations;
666
666
  _c = JSII_RTTI_SYMBOL_1;
667
- ResiliencehubOperations[_c] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubOperations", version: "1.16.0" };
667
+ ResiliencehubOperations[_c] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubOperations", version: "1.18.0" };
668
668
  /** IAM actions required for the AcceptResourceGroupingRecommendations API call. */
669
669
  ResiliencehubOperations.AcceptResourceGroupingRecommendations = [
670
670
  "resiliencehub:AcceptResourceGroupingRecommendations",
@@ -734,7 +734,10 @@ ResiliencehubOperations.CreateSystem = [
734
734
  "resiliencehub:TagResource",
735
735
  ];
736
736
  /** IAM actions required for the CreateTest API call. */
737
- ResiliencehubOperations.CreateTest = ["resiliencehub:CreateTest"];
737
+ ResiliencehubOperations.CreateTest = [
738
+ "resiliencehub:CreateTest",
739
+ "iam:PassRole",
740
+ ];
738
741
  /** IAM actions required for the CreateUserJourney API call. */
739
742
  ResiliencehubOperations.CreateUserJourney = [
740
743
  "resiliencehub:CreateUserJourney",
@@ -1135,7 +1138,7 @@ class ResiliencehubConditions {
1135
1138
  }
1136
1139
  exports.ResiliencehubConditions = ResiliencehubConditions;
1137
1140
  _d = JSII_RTTI_SYMBOL_1;
1138
- ResiliencehubConditions[_d] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubConditions", version: "1.16.0" };
1141
+ ResiliencehubConditions[_d] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubConditions", version: "1.18.0" };
1139
1142
  /** Condition keys applicable to the CreateApp action. */
1140
1143
  ResiliencehubConditions.CreateAppConditionKeys = [
1141
1144
  "aws:RequestTag/${TagKey}",
@@ -1169,4 +1172,4 @@ ResiliencehubConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
1169
1172
  ResiliencehubConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1170
1173
  /** Condition key: aws:TagKeys (ArrayOfString) */
1171
1174
  ResiliencehubConditions.AWS_TAG_KEYS = "aws:TagKeys";
1172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaWxpZW5jZWh1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvcmVzaWxpZW5jZWh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQXNjQzs7O0FBcmNBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELGtFQUFrRTtBQUNsRCwwREFBcUMsR0FDcEQscURBQXFELENBQUM7QUFDdkQsK0RBQStEO0FBQy9DLHVEQUFrQyxHQUNqRCxrREFBa0QsQ0FBQztBQUNwRCw0REFBNEQ7QUFDNUMsb0RBQStCLEdBQzlDLCtDQUErQyxDQUFDO0FBQ2pELHNDQUFzQztBQUN0Qiw4QkFBUyxHQUFHLHlCQUF5QixDQUFDO0FBQ3RELHlEQUF5RDtBQUN6QyxpREFBNEIsR0FDM0MsNENBQTRDLENBQUM7QUFDOUMscURBQXFEO0FBQ3JDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIsb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw4Q0FBOEM7QUFDOUIsc0NBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUseUNBQXlDO0FBQ3pCLGlDQUFZLEdBQUcsNEJBQTRCLENBQUM7QUFDNUQseURBQXlEO0FBQ3pDLGlEQUE0QixHQUMzQyw0Q0FBNEMsQ0FBQztBQUM5Qyx5Q0FBeUM7QUFDekIsaUNBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUM1RCxtREFBbUQ7QUFDbkMsMkNBQXNCLEdBQ3JDLHNDQUFzQyxDQUFDO0FBQ3hDLDBDQUEwQztBQUMxQixrQ0FBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzlELGtEQUFrRDtBQUNsQywwQ0FBcUIsR0FBRyxx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Q0FDYixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDJEQUFtQyxHQUFhO0lBQy9ELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx1REFBK0IsR0FBYTtJQUMzRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsZ0RBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGtEQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLHVDQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLHdDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyxvQ0FBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3Jlc2lsaWVuY2VodWIuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHJlc2lsaWVuY2VodWIgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlc2lsaWVuY2VodWJBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwicmVzaWxpZW5jZWh1YlwiO1xuXG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6QWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzID1cblx0XHRcInJlc2lsaWVuY2VodWI6QWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpCYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHAgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZUFzc2VydGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXJ0aW9uID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZUFzc2VydGlvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZUlucHV0U291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnB1dFNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVJbnB1dFNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUG9saWN5ID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlUmVwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBvcnQgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVwb3J0XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlUmVzaWxpZW5jeVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzaWxpZW5jeVBvbGljeSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVJlc2lsaWVuY3lQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VGdW5jdGlvbiA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVN5c3RlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3lzdGVtID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVN5c3RlbVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVRlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRlc3QgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlVGVzdFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVVzZXJKb3VybmV5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VySm91cm5leSA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVVc2VySm91cm5leVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcEFzc2Vzc21lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcEFzc2Vzc21lbnQgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwQXNzZXNzbWVudFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcElucHV0U291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbnB1dFNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBJbnB1dFNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlQXBwVmVyc2lvblJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBWZXJzaW9uUmVzb3VyY2UgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVBc3NlcnRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc2VydGlvbiA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVBc3NlcnRpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVJbnB1dFNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5wdXRTb3VyY2UgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlSW5wdXRTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVJlc2lsaWVuY3lQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc2lsaWVuY3lQb2xpY3kgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVSZXNpbGllbmN5UG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlRnVuY3Rpb24gPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVTeXN0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN5c3RlbSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVTeXN0ZW1cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUZXN0ID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZVRlc3RcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0U291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGVzdFNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlVGVzdFNvdXJjZXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVVc2VySm91cm5leSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckpvdXJuZXkgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlVXNlckpvdXJuZXlcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcCA9IFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcEFzc2Vzc21lbnQgPSBcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBBc3Nlc3NtZW50XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvbiA9IFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2UgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1cyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVNZXRyaWNzRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldHJpY3NFeHBvcnQgPSBcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVNZXRyaWNzRXhwb3J0XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzaWxpZW5jeVBvbGljeSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlUmVzaWxpZW5jeVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2tcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldEZhaWx1cmVNb2RlRmluZGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmFpbHVyZU1vZGVGaW5kaW5nID1cblx0XHRcInJlc2lsaWVuY2VodWI6R2V0RmFpbHVyZU1vZGVGaW5kaW5nXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeSA9IFwicmVzaWxpZW5jZWh1YjpHZXRQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2UgPSBcInJlc2lsaWVuY2VodWI6R2V0U2VydmljZVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0U3lzdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTeXN0ZW0gPSBcInJlc2lsaWVuY2VodWI6R2V0U3lzdGVtXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUZXN0ID0gXCJyZXNpbGllbmNlaHViOkdldFRlc3RcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFRlc3RSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRlc3RSdW4gPSBcInJlc2lsaWVuY2VodWI6R2V0VGVzdFJ1blwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0VGVzdFRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUZXN0VGVtcGxhdGUgPSBcInJlc2lsaWVuY2VodWI6R2V0VGVzdFRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRVc2VySm91cm5leSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNlckpvdXJuZXkgPSBcInJlc2lsaWVuY2VodWI6R2V0VXNlckpvdXJuZXlcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpJbXBvcnRBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEFwcCA9IFwicmVzaWxpZW5jZWh1YjpJbXBvcnRBcHBcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpJbXBvcnRQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydFBvbGljeSA9IFwicmVzaWxpZW5jZWh1YjpJbXBvcnRQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb24gPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvblwiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFsYXJtUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0c1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQXNzZXNzbWVudHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwQ29tcG9uZW50Q29tcGxpYW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBJbnB1dFNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbnB1dFNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFwcElucHV0U291cmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25BcHBDb21wb25lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvbkFwcENvbXBvbmVudHMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvbkFwcENvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcFZlcnNpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvbnMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFwcHNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RBc3NlcnRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXJ0aW9ucyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0QXNzZXJ0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdERlcGVuZGVuY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERlcGVuZGVuY2llcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0RGVwZW5kZW5jaWVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlRmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGYWlsdXJlTW9kZUZpbmRpbmdzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlRmluZGluZ3NcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RJbnB1dFNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnB1dFNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdElucHV0U291cmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdE1ldHJpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZXRyaWNzID0gXCJyZXNpbGllbmNlaHViOkxpc3RNZXRyaWNzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0UG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY2llcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0UG9saWNpZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RSZWNvbW1lbmRhdGlvblRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0UmVwb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlcG9ydHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFJlcG9ydHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RSZXNpbGllbmN5UG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNpbGllbmN5UG9saWNpZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzaWxpZW5jeVBvbGljaWVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RSZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRXZlbnRzID0gXCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlRXZlbnRzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZUZ1bmN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VGdW5jdGlvbnMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VGdW5jdGlvbnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RTb3BSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTb3BSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U29wUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFN5c3RlbUV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbUV2ZW50cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtRXZlbnRzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFN5c3RlbXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFJ1bkV2ZW50cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1bkV2ZW50c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5Tb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFJ1blNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5Tb3VyY2VzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1bnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVucyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1bnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUZXN0U291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTb3VyY2VzID0gXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0U291cmNlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RUZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0VGVtcGxhdGVzID0gXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0VGVtcGxhdGVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VXNlckpvdXJuZXlzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlckpvdXJuZXlzID0gXCJyZXNpbGllbmNlaHViOkxpc3RVc2VySm91cm5leXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpQdWJsaXNoQXBwVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVibGlzaEFwcFZlcnNpb24gPSBcInJlc2lsaWVuY2VodWI6UHVibGlzaEFwcFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGUgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlB1dFRlc3RTb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRUZXN0U291cmNlcyA9IFwicmVzaWxpZW5jZWh1YjpQdXRUZXN0U291cmNlc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpSZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6UmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlN0YXJ0QXBwQXNzZXNzbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBcHBBc3Nlc3NtZW50ID0gXCJyZXNpbGllbmNlaHViOlN0YXJ0QXBwQXNzZXNzbWVudFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudCA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6U3RhcnRNZXRyaWNzRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldHJpY3NFeHBvcnQgPSBcInJlc2lsaWVuY2VodWI6U3RhcnRNZXRyaWNzRXhwb3J0XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6U3RhcnRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpTdGFydFRlc3RSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGVzdFJ1biA9IFwicmVzaWxpZW5jZWh1YjpTdGFydFRlc3RSdW5cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpTdG9wVGVzdFJ1biAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRlc3RSdW4gPSBcInJlc2lsaWVuY2VodWI6U3RvcFRlc3RSdW5cIjtcblx0LyoqIFtUYWdnaW5nXSByZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIHJlc2lsaWVuY2VodWI6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHAgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvbiA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZUFzc2VydGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzZXJ0aW9uID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZUFzc2VydGlvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZURlcGVuZGVuY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURlcGVuZGVuY3kgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlRGVwZW5kZW5jeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmFpbHVyZU1vZGVGaW5kaW5nID1cblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlRmFpbHVyZU1vZGVGaW5kaW5nXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQb2xpY3kgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlUmVzaWxpZW5jeVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzaWxpZW5jeVBvbGljeSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZVJlc2lsaWVuY3lQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVTZXJ2aWNlRnVuY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VGdW5jdGlvbiA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVTZXJ2aWNlRnVuY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVTeXN0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN5c3RlbSA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVTeXN0ZW1cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUZXN0ID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZVRlc3RcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVVc2VySm91cm5leSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlckpvdXJuZXkgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlVXNlckpvdXJuZXlcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcEFzc2Vzc21lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVBcHBWZXJzaW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlTWV0cmljc0V4cG9ydCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZVJlc2lsaWVuY3lQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldEZhaWx1cmVNb2RlRmluZGluZyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0U2VydmljZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRTeXN0ZW0sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0VGVzdCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRUZXN0UnVuLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldFRlc3RUZW1wbGF0ZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRVc2VySm91cm5leSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXNzZXJ0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0RGVwZW5kZW5jaWVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RGYWlsdXJlTW9kZUZpbmRpbmdzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RJbnB1dFNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFBvbGljaWVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZXBvcnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFJlc291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U2VydmljZUV2ZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U2VydmljZUZ1bmN0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U2VydmljZVRvcG9sb2d5RWRnZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFNlcnZpY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTeXN0ZW1FdmVudHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFN5c3RlbXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFJ1bkV2ZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFJ1blNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRlc3RSdW5zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUZXN0U291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFRlbXBsYXRlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFVzZXJKb3VybmV5cyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5BY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVBcHAsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlQXNzZXJ0aW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZUlucHV0U291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVJlcG9ydCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVSZXNpbGllbmN5UG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVNlcnZpY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlU2VydmljZUZ1bmN0aW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVTeXN0ZW0sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlVGVzdCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVVc2VySm91cm5leSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBcHAsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlQXBwQXNzZXNzbWVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBcHBJbnB1dFNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBc3NlcnRpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlSW5wdXRTb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlUG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlUmVzaWxpZW5jeVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVTZXJ2aWNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVNlcnZpY2VGdW5jdGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlU3lzdGVtLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVRlc3QsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlVGVzdFNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlVXNlckpvdXJuZXksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuSW1wb3J0QXBwLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkltcG9ydFBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5JbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5QdWJsaXNoQXBwVmVyc2lvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5QdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5QdXRUZXN0U291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5SZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuUmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuU3RhcnRBcHBBc3Nlc3NtZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0YXJ0TWV0cmljc0V4cG9ydCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5TdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2ssXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuU3RhcnRUZXN0UnVuLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0b3BUZXN0UnVuLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUFwcCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVBcHBWZXJzaW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlQXBwVmVyc2lvblJlc291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUFzc2VydGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVEZXBlbmRlbmN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlUmVzaWxpZW5jeVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVTZXJ2aWNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZVNlcnZpY2VGdW5jdGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVTeXN0ZW0sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlVGVzdCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVVc2VySm91cm5leSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBBc3Nlc3NtZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwQ29tcG9uZW50Q29tcGxpYW5jZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwSW5wdXRTb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcFZlcnNpb25SZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcFZlcnNpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RNZXRyaWNzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZWNvbW1lbmRhdGlvblRlbXBsYXRlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0UmVzaWxpZW5jeVBvbGljaWVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTb3BSZWNvbW1lbmRhdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFJlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwLWFzc2Vzc21lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJBcHBBc3Nlc3NtZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcEFzc2Vzc21lbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwQXNzZXNzbWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwLWFzc2Vzc21lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJBcHBBc3Nlc3NtZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBBc3Nlc3NtZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBBc3Nlc3NtZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcGxpY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViQXBwbGljYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwbGljYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJBcHBsaWNhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUG9saWN5QXJuUHJvcHMge1xuXHQvKiogVGhlIFBvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlBvbGljeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9saWN5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwb2xpY3lJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlc2lsaWVuY3ktcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUmVzaWxpZW5jeVBvbGljeUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNpbGllbmN5UG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc2lsaWVuY3lQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlc2lsaWVuY3ktcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUmVzaWxpZW5jeVBvbGljeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzaWxpZW5jeVBvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzaWxpZW5jeVBvbGljeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViU2VydmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHN5c3RlbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlN5c3RlbUFyblByb3BzIHtcblx0LyoqIFRoZSBTeXN0ZW1JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3lzdGVtSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzeXN0ZW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJTeXN0ZW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN5c3RlbUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3lzdGVtSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRlc3QtdGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJUZXN0VGVtcGxhdGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGVzdFRlbXBsYXRlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRlc3RUZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGVzdC10ZW1wbGF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlRlc3RUZW1wbGF0ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVGVzdFRlbXBsYXRlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0ZXN0VGVtcGxhdGVJZDogc3RyaW5nO1xufVxuXG5jb25zdCBBcHBBc3Nlc3NtZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHAtYXNzZXNzbWVudFxcLyg/PGFwcEFzc2Vzc21lbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQXBwbGljYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcFxcLyg/PGFwcElkPlteOi8/XSspJC87XG5jb25zdCBQb2xpY3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBvbGljeVxcLyg/PHBvbGljeUlkPlteOi8/XSspJC87XG5jb25zdCBSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZVxcLyg/PHJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZD5bXjovP10rKSQvO1xuY29uc3QgUmVzaWxpZW5jeVBvbGljeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVzaWxpZW5jeS1wb2xpY3lcXC8oPzxyZXNpbGllbmN5UG9saWN5SWQ+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VcXC8oPzxzZXJ2aWNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFN5c3RlbUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3lzdGVtXFwvKD88c3lzdGVtSWQ+W146Lz9dKykkLztcbmNvbnN0IFRlc3RUZW1wbGF0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGVzdC10ZW1wbGF0ZVxcLyg/PHRlc3RUZW1wbGF0ZUlkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgcmVzaWxpZW5jZWh1YiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHAtYXNzZXNzbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHBBc3Nlc3NtZW50KHByb3BzOiBSZXNpbGllbmNlaHViQXBwQXNzZXNzbWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC1hc3Nlc3NtZW50LyR7cHJvcHMuYXBwQXNzZXNzbWVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHAtYXNzZXNzbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwQXNzZXNzbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBBc3Nlc3NtZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcC1hc3Nlc3NtZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcEFzc2Vzc21lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJBcHBBc3Nlc3NtZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBBc3Nlc3NtZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcC1hc3Nlc3NtZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcEFzc2Vzc21lbnRJZDogbWF0Y2guZ3JvdXBzIS5hcHBBc3Nlc3NtZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwbGljYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwbGljYXRpb24ocHJvcHM6IFJlc2lsaWVuY2VodWJBcHBsaWNhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC8ke3Byb3BzLmFwcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHBsaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwbGljYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwbGljYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwbGljYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwbGljYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJBcHBsaWNhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwbGljYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwbGljYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwSWQ6IG1hdGNoLmdyb3VwcyEuYXBwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBvbGljeShwcm9wczogUmVzaWxpZW5jZWh1YlBvbGljeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBvbGljeS8ke3Byb3BzLnBvbGljeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBvbGljeUFybihhcm46IHN0cmluZyk6IFJlc2lsaWVuY2VodWJQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBvbGljeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwb2xpY3kgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cG9saWN5SWQ6IG1hdGNoLmdyb3VwcyEucG9saWN5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kYXRpb25UZW1wbGF0ZShcblx0XHRwcm9wczogUmVzaWxpZW5jZWh1YlJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlY29tbWVuZGF0aW9uLXRlbXBsYXRlLyR7cHJvcHMucmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlY29tbWVuZGF0aW9uLXRlbXBsYXRlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGF0aW9uLXRlbXBsYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZDogbWF0Y2guZ3JvdXBzIS5yZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVzaWxpZW5jeS1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzaWxpZW5jeVBvbGljeShcblx0XHRwcm9wczogUmVzaWxpZW5jZWh1YlJlc2lsaWVuY3lQb2xpY3lBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlc2lsaWVuY3ktcG9saWN5LyR7cHJvcHMucmVzaWxpZW5jeVBvbGljeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXNpbGllbmN5LXBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzaWxpZW5jeVBvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNpbGllbmN5UG9saWN5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlc2lsaWVuY3ktcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc2lsaWVuY3lQb2xpY3lBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJSZXNpbGllbmN5UG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNpbGllbmN5UG9saWN5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc2lsaWVuY3ktcG9saWN5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc2lsaWVuY3lQb2xpY3lJZDogbWF0Y2guZ3JvdXBzIS5yZXNpbGllbmN5UG9saWN5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlKHByb3BzOiBSZXNpbGllbmNlaHViU2VydmljZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5zZXJ2aWNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBSZXNpbGllbmNlaHViU2VydmljZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZpY2VJZDogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3lzdGVtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN5c3RlbShwcm9wczogUmVzaWxpZW5jZWh1YlN5c3RlbUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN5c3RlbS8ke3Byb3BzLnN5c3RlbUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzeXN0ZW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN5c3RlbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTeXN0ZW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3lzdGVtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN5c3RlbUFybihhcm46IHN0cmluZyk6IFJlc2lsaWVuY2VodWJTeXN0ZW1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN5c3RlbUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzeXN0ZW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3lzdGVtSWQ6IG1hdGNoLmdyb3VwcyEuc3lzdGVtSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGVzdC10ZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0ZXN0VGVtcGxhdGUocHJvcHM6IFJlc2lsaWVuY2VodWJUZXN0VGVtcGxhdGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0ZXN0LXRlbXBsYXRlLyR7cHJvcHMudGVzdFRlbXBsYXRlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRlc3QtdGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRlc3RUZW1wbGF0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUZXN0VGVtcGxhdGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGVzdC10ZW1wbGF0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUZXN0VGVtcGxhdGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJUZXN0VGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRlc3RUZW1wbGF0ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0ZXN0LXRlbXBsYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRlc3RUZW1wbGF0ZUlkOiBtYXRjaC5ncm91cHMhLnRlc3RUZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHJlc2lsaWVuY2VodWIuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6QWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpCYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXNzZXJ0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXJ0aW9uOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXNzZXJ0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnB1dFNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUlucHV0U291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlSW5wdXRTb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlUG9saWN5XCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBvcnQ6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpDcmVhdGVSZXBvcnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc2lsaWVuY3lQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNpbGllbmN5UG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVzaWxpZW5jeVBvbGljeVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlRnVuY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlRnVuY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN5c3RlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN5c3RlbTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVN5c3RlbVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGVzdDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkNyZWF0ZVRlc3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJKb3VybmV5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckpvdXJuZXk6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVVc2VySm91cm5leVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHA6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwQXNzZXNzbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHBJbnB1dFNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcElucHV0U291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwSW5wdXRTb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBc3NlcnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NlcnRpb246IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVBc3NlcnRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUlucHV0U291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5wdXRTb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVJbnB1dFNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3k6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNpbGllbmN5UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzaWxpZW5jeVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlRnVuY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlRnVuY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVN5c3RlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN5c3RlbTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlbGV0ZVN5c3RlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUZXN0U291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3RTb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlVGVzdFNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlckpvdXJuZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VySm91cm5leTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVVzZXJKb3VybmV5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHA6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBBc3Nlc3NtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWV0cmljc0V4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0cmljc0V4cG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlTWV0cmljc0V4cG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZhaWx1cmVNb2RlRmluZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RmFpbHVyZU1vZGVGaW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6R2V0RmFpbHVyZU1vZGVGaW5kaW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0UG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0U2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U3lzdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTeXN0ZW06IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRTeXN0ZW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUZXN0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0VGVzdFJ1blwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VGVzdFRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUZXN0VGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpHZXRUZXN0VGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlckpvdXJuZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFVzZXJKb3VybmV5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0VXNlckpvdXJuZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEFwcDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkltcG9ydEFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0UG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6SW1wb3J0UG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydFJlc291cmNlc1RvRHJhZnRBcHBWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6SW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFsYXJtUmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50UmVzb3VyY2VEcmlmdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEFzc2Vzc21lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwQ29tcG9uZW50UmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcElucHV0U291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbnB1dFNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwSW5wdXRTb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcFZlcnNpb25SZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvblJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXJ0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NlcnRpb25zOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdEFzc2VydGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXBlbmRlbmNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGVwZW5kZW5jaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdERlcGVuZGVuY2llc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZhaWx1cmVNb2RlRmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmFpbHVyZU1vZGVGaW5kaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RGYWlsdXJlTW9kZUZpbmRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnB1dFNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5wdXRTb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdElucHV0U291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY2llczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RQb2xpY2llc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXBvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlcG9ydHM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0UmVwb3J0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc2lsaWVuY3lQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNpbGllbmN5UG9saWNpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzaWxpZW5jeVBvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0UmVzb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VFdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VGdW5jdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZUZ1bmN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlRnVuY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTb3BSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U29wUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNvcFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTdWdnZXN0ZWRSZXNpbGllbmN5UG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN5c3RlbUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTeXN0ZW1FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtRXZlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTeXN0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0UmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFJ1bkV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVuRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5FdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RSdW5Tb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSdW5Tb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5Tb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0UnVucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVuczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTb3VyY2VzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVuc3VwcG9ydGVkQXBwVmVyc2lvblJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFVzZXJKb3VybmV5cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVc2VySm91cm5leXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VXNlckpvdXJuZXlzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1Ymxpc2hBcHBWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVibGlzaEFwcFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpQdWJsaXNoQXBwVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERyYWZ0QXBwVmVyc2lvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6UHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0VGVzdFNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRUZXN0U291cmNlczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlB1dFRlc3RTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpSZW1vdmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc29sdmVBcHBWZXJzaW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFwcEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFwcEFzc2Vzc21lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydEFwcEFzc2Vzc21lbnRcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRGYWlsdXJlTW9kZUFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0cmljc0V4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0cmljc0V4cG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0TWV0cmljc0V4cG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRUZXN0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6U3RhcnRUZXN0UnVuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVGVzdFJ1biBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6U3RvcFRlc3RSdW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHBWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NlcnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NlcnRpb246IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVcGRhdGVBc3NlcnRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURlcGVuZGVuY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXBlbmRlbmN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlRGVwZW5kZW5jeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6VXBkYXRlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXNpbGllbmN5UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzaWxpZW5jeVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZUZ1bmN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUZ1bmN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlU2VydmljZUZ1bmN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVN5c3RlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN5c3RlbTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlVwZGF0ZVN5c3RlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVcGRhdGVUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVVc2VySm91cm5leSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJKb3VybmV5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlVXNlckpvdXJuZXlcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHJlc2lsaWVuY2VodWIuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc2lsaWVuY3lQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzaWxpZW5jeVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRBcHBBc3Nlc3NtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXBwQXNzZXNzbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
1175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaWxpZW5jZWh1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvcmVzaWxpZW5jZWh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQXNjQzs7O0FBcmNBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELGtFQUFrRTtBQUNsRCwwREFBcUMsR0FDcEQscURBQXFELENBQUM7QUFDdkQsK0RBQStEO0FBQy9DLHVEQUFrQyxHQUNqRCxrREFBa0QsQ0FBQztBQUNwRCw0REFBNEQ7QUFDNUMsb0RBQStCLEdBQzlDLCtDQUErQyxDQUFDO0FBQ2pELHNDQUFzQztBQUN0Qiw4QkFBUyxHQUFHLHlCQUF5QixDQUFDO0FBQ3RELHlEQUF5RDtBQUN6QyxpREFBNEIsR0FDM0MsNENBQTRDLENBQUM7QUFDOUMscURBQXFEO0FBQ3JDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIsb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw4Q0FBOEM7QUFDOUIsc0NBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUseUNBQXlDO0FBQ3pCLGlDQUFZLEdBQUcsNEJBQTRCLENBQUM7QUFDNUQseURBQXlEO0FBQ3pDLGlEQUE0QixHQUMzQyw0Q0FBNEMsQ0FBQztBQUM5Qyx5Q0FBeUM7QUFDekIsaUNBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUM1RCxtREFBbUQ7QUFDbkMsMkNBQXNCLEdBQ3JDLHNDQUFzQyxDQUFDO0FBQ3hDLDBDQUEwQztBQUMxQixrQ0FBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzlELGtEQUFrRDtBQUNsQywwQ0FBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RSwyREFBMkQ7QUFDM0MsbURBQThCLEdBQzdDLDhDQUE4QyxDQUFDO0FBQ2hELHlDQUF5QztBQUN6QixpQ0FBWSxHQUFHLDRCQUE0QixDQUFDO0FBQzVELHVDQUF1QztBQUN2QiwrQkFBVSxHQUFHLDBCQUEwQixDQUFDO0FBQ3hELDhDQUE4QztBQUM5QixzQ0FBaUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUN0RSxzQ0FBc0M7QUFDdEIsOEJBQVMsR0FBRyx5QkFBeUIsQ0FBQztBQUN0RCxnREFBZ0Q7QUFDaEMsd0NBQW1CLEdBQUcsbUNBQW1DLENBQUM7QUFDMUUsaURBQWlEO0FBQ2pDLHlDQUFvQixHQUFHLG9DQUFvQyxDQUFDO0FBQzVFLHlEQUF5RDtBQUN6QyxpREFBNEIsR0FDM0MsNENBQTRDLENBQUM7QUFDOUMscURBQXFEO0FBQ3JDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIsb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw4Q0FBOEM7QUFDOUIsc0NBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUseUNBQXlDO0FBQ3pCLGlDQUFZLEdBQUcsNEJBQTRCLENBQUM7QUFDNUQseURBQXlEO0FBQ3pDLGlEQUE0QixHQUMzQyw0Q0FBNEMsQ0FBQztBQUM5QyxtREFBbUQ7QUFDbkMsMkNBQXNCLEdBQ3JDLHNDQUFzQyxDQUFDO0FBQ3hDLDBDQUEwQztBQUMxQixrQ0FBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzlELGtEQUFrRDtBQUNsQywwQ0FBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RSwyREFBMkQ7QUFDM0MsbURBQThCLEdBQzdDLDhDQUE4QyxDQUFDO0FBQ2hELHlDQUF5QztBQUN6QixpQ0FBWSxHQUFHLDRCQUE0QixDQUFDO0FBQzVELHVDQUF1QztBQUN2QiwrQkFBVSxHQUFHLDBCQUEwQixDQUFDO0FBQ3hELDhDQUE4QztBQUM5QixzQ0FBaUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUN0RSw4Q0FBOEM7QUFDOUIsc0NBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUsdUNBQXVDO0FBQ3ZCLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsaURBQWlEO0FBQ2pDLDBDQUFxQixHQUFHLHFDQUFxQyxDQUFDO0FBQzlFLDhDQUE4QztBQUM5Qix1Q0FBa0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUN4RSwwREFBMEQ7QUFDMUMsbURBQThCLEdBQzdDLDhDQUE4QyxDQUFDO0FBQ2hELHNEQUFzRDtBQUN0QywrQ0FBMEIsR0FDekMsMENBQTBDLENBQUM7QUFDNUMsdUVBQXVFO0FBQ3ZELGdFQUEyQyxHQUMxRCwyREFBMkQsQ0FBQztBQUM3RCxzREFBc0Q7QUFDdEMsK0NBQTBCLEdBQ3pDLDBDQUEwQyxDQUFDO0FBQzVDLHdFQUF3RTtBQUN4RCxpRUFBNEMsR0FDM0QsNERBQTRELENBQUM7QUFDOUQsaURBQWlEO0FBQ2pDLDBDQUFxQixHQUFHLHFDQUFxQyxDQUFDO0FBQzlFLG9EQUFvRDtBQUNwQyw2Q0FBd0IsR0FDdkMsd0NBQXdDLENBQUM7QUFDMUMsc0VBQXNFO0FBQ3RELCtEQUEwQyxHQUN6RCwwREFBMEQsQ0FBQztBQUM1RCxpREFBaUQ7QUFDakMsZ0RBQTJCLEdBQzFDLHFDQUFxQyxDQUFDO0FBQ3ZDLHFDQUFxQztBQUNyQixvQ0FBZSxHQUFHLHlCQUF5QixDQUFDO0FBQzVELHNDQUFzQztBQUN0QixxQ0FBZ0IsR0FBRywwQkFBMEIsQ0FBQztBQUM5RCxxQ0FBcUM7QUFDckIsb0NBQWUsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxtQ0FBbUM7QUFDbkIsa0NBQWEsR0FBRyx1QkFBdUIsQ0FBQztBQUN4RCxzQ0FBc0M7QUFDdEIscUNBQWdCLEdBQUcsMEJBQTBCLENBQUM7QUFDOUQsMkNBQTJDO0FBQzNCLDBDQUFxQixHQUFHLCtCQUErQixDQUFDO0FBQ3hFLDBDQUEwQztBQUMxQix5Q0FBb0IsR0FBRyw4QkFBOEIsQ0FBQztBQUN0RSxzQ0FBc0M7QUFDdEIsOEJBQVMsR0FBRyx5QkFBeUIsQ0FBQztBQUN0RCx5Q0FBeUM7QUFDekIsaUNBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUM1RCw2REFBNkQ7QUFDN0MscURBQWdDLEdBQy9DLGdEQUFnRCxDQUFDO0FBQ2xELG9EQUFvRDtBQUNwQyw2Q0FBd0IsR0FDdkMsd0NBQXdDLENBQUM7QUFDMUMsNkRBQTZEO0FBQzdDLHNEQUFpQyxHQUNoRCxpREFBaUQsQ0FBQztBQUNuRCwyREFBMkQ7QUFDM0Msb0RBQStCLEdBQzlDLCtDQUErQyxDQUFDO0FBQ2pELDhDQUE4QztBQUM5Qix1Q0FBa0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUN4RSx1REFBdUQ7QUFDdkMsZ0RBQTJCLEdBQzFDLDJDQUEyQyxDQUFDO0FBQzdDLDJEQUEyRDtBQUMzQyxvREFBK0IsR0FDOUMsK0NBQStDLENBQUM7QUFDakQsK0NBQStDO0FBQy9CLHdDQUFtQixHQUFHLG1DQUFtQyxDQUFDO0FBQzFFLHVEQUF1RDtBQUN2QyxnREFBMkIsR0FDMUMsMkNBQTJDLENBQUM7QUFDN0MsMERBQTBEO0FBQzFDLG1EQUE4QixHQUM3Qyw4Q0FBOEMsQ0FBQztBQUNoRCxtREFBbUQ7QUFDbkMsNENBQXVCLEdBQ3RDLHVDQUF1QyxDQUFDO0FBQ3pDLDJDQUEyQztBQUMzQixvQ0FBZSxHQUFHLCtCQUErQixDQUFDO0FBQ2xFLG9DQUFvQztBQUNwQiw2QkFBUSxHQUFHLHdCQUF3QixDQUFDO0FBQ3BELDBDQUEwQztBQUMxQixtQ0FBYyxHQUFHLDhCQUE4QixDQUFDO0FBQ2hFLDRDQUE0QztBQUM1QixxQ0FBZ0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNwRSxzREFBc0Q7QUFDdEMsK0NBQTBCLEdBQ3pDLDBDQUEwQyxDQUFDO0FBQzVDLG1EQUFtRDtBQUNuQyw0Q0FBdUIsR0FDdEMsdUNBQXVDLENBQUM7QUFDekMsNENBQTRDO0FBQzVCLHFDQUFnQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3BFLHVDQUF1QztBQUN2QixnQ0FBVyxHQUFHLDJCQUEyQixDQUFDO0FBQzFELHdDQUF3QztBQUN4QixpQ0FBWSxHQUFHLDRCQUE0QixDQUFDO0FBQzVELHVEQUF1RDtBQUN2QyxnREFBMkIsR0FDMUMsMkNBQTJDLENBQUM7QUFDN0MsdUNBQXVDO0FBQ3ZCLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsa0RBQWtEO0FBQ2xDLDJDQUFzQixHQUNyQyxzQ0FBc0MsQ0FBQztBQUN4Qyw4REFBOEQ7QUFDOUMsdURBQWtDLEdBQ2pELGtEQUFrRCxDQUFDO0FBQ3BELCtEQUErRDtBQUMvQyx3REFBbUMsR0FDbEQsbURBQW1ELENBQUM7QUFDckQseUNBQXlDO0FBQ3pCLGtDQUFhLEdBQUcsNkJBQTZCLENBQUM7QUFDOUQsNkNBQTZDO0FBQzdCLHNDQUFpQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3RFLGdEQUFnRDtBQUNoQyx5Q0FBb0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUM1RSxvREFBb0Q7QUFDcEMsNkNBQXdCLEdBQ3ZDLHdDQUF3QyxDQUFDO0FBQzFDLHdDQUF3QztBQUN4QixpQ0FBWSxHQUFHLDRCQUE0QixDQUFDO0FBQzVELGtEQUFrRDtBQUNsQywyQ0FBc0IsR0FDckMsc0NBQXNDLENBQUM7QUFDeEMsMkRBQTJEO0FBQzNDLG9EQUErQixHQUM5QywrQ0FBK0MsQ0FBQztBQUNqRCw0Q0FBNEM7QUFDNUIscUNBQWdCLEdBQUcsZ0NBQWdDLENBQUM7QUFDcEUsdUNBQXVDO0FBQ3ZCLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsK0NBQStDO0FBQy9CLHdDQUFtQixHQUFHLG1DQUFtQyxDQUFDO0FBQzFFLG1EQUFtRDtBQUNuQyw0Q0FBdUIsR0FDdEMsdUNBQXVDLENBQUM7QUFDekMsNkNBQTZDO0FBQzdCLHNDQUFpQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3RFLDhDQUE4QztBQUM5Qix1Q0FBa0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUN4RSx3Q0FBd0M7QUFDeEIsaUNBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUM1RCwyQ0FBMkM7QUFDM0Isb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw2Q0FBNkM7QUFDN0Isc0NBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUscUNBQXFDO0FBQ3JCLDhCQUFTLEdBQUcseUJBQXlCLENBQUM7QUFDdEQsOERBQThEO0FBQzlDLHVEQUFrQyxHQUNqRCxrREFBa0QsQ0FBQztBQUNwRCw0Q0FBNEM7QUFDNUIscUNBQWdCLEdBQUcsZ0NBQWdDLENBQUM7QUFDcEUsOENBQThDO0FBQzlCLHNDQUFpQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3RFLHVEQUF1RDtBQUN2QywrQ0FBMEIsR0FDekMsMENBQTBDLENBQUM7QUFDNUMsMkNBQTJDO0FBQzNCLG1DQUFjLEdBQUcsOEJBQThCLENBQUM7QUFDaEUsa0VBQWtFO0FBQ2xELDBEQUFxQyxHQUNwRCxxREFBcUQsQ0FBQztBQUN2RCxrRUFBa0U7QUFDbEQsMERBQXFDLEdBQ3BELHFEQUFxRCxDQUFDO0FBQ3ZELHVEQUF1RDtBQUN2QywrQ0FBMEIsR0FDekMsMENBQTBDLENBQUM7QUFDNUMsK0NBQStDO0FBQy9CLHVDQUFrQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3hFLHVEQUF1RDtBQUN2QywrQ0FBMEIsR0FDekMsMENBQTBDLENBQUM7QUFDNUMsK0NBQStDO0FBQy9CLHVDQUFrQixHQUFHLGtDQUFrQyxDQUFDO0FBQ3hFLG9FQUFvRTtBQUNwRCw0REFBdUMsR0FDdEQsdURBQXVELENBQUM7QUFDekQseUNBQXlDO0FBQ3pCLGlDQUFZLEdBQUcsNEJBQTRCLENBQUM7QUFDNUQsd0NBQXdDO0FBQ3hCLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsMENBQTBDO0FBQzFCLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsNENBQTRDO0FBQzVCLGtDQUFhLEdBQUcsNkJBQTZCLENBQUM7QUFDOUQsc0NBQXNDO0FBQ3RCLDhCQUFTLEdBQUcseUJBQXlCLENBQUM7QUFDdEQsNkNBQTZDO0FBQzdCLHFDQUFnQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3BFLHlEQUF5RDtBQUN6QyxpREFBNEIsR0FDM0MsNENBQTRDLENBQUM7QUFDOUMscURBQXFEO0FBQ3JDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIsb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw2Q0FBNkM7QUFDN0IscUNBQWdCLEdBQUcsZ0NBQWdDLENBQUM7QUFDcEUscURBQXFEO0FBQ3JDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyx5Q0FBeUM7QUFDekIsaUNBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUM1RCxtREFBbUQ7QUFDbkMsMkNBQXNCLEdBQ3JDLHNDQUFzQyxDQUFDO0FBQ3hDLDBDQUEwQztBQUMxQixrQ0FBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzlELGtEQUFrRDtBQUNsQywwQ0FBcUIsR0FBRyxxQ0FBcUMsQ0FBQztBQUM5RSx5Q0FBeUM7QUFDekIsaUNBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUM1RCx1Q0FBdUM7QUFDdkIsK0JBQVUsR0FBRywwQkFBMEIsQ0FBQztBQUN4RCw4Q0FBOEM7QUFDOUIsc0NBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFFdEUsOEJBQThCO0FBQ2QsbUNBQWMsR0FBYTtJQUMxQyxvQkFBb0IsQ0FBQyxXQUFXO0lBQ2hDLG9CQUFvQixDQUFDLHFCQUFxQjtJQUMxQyxvQkFBb0IsQ0FBQyxrQkFBa0I7SUFDdkMsb0JBQW9CLENBQUMsOEJBQThCO0lBQ25ELG9CQUFvQixDQUFDLDBCQUEwQjtJQUMvQyxvQkFBb0IsQ0FBQywyQ0FBMkM7SUFDaEUsb0JBQW9CLENBQUMsMEJBQTBCO0lBQy9DLG9CQUFvQixDQUFDLDRDQUE0QztJQUNqRSxvQkFBb0IsQ0FBQyxxQkFBcUI7SUFDMUMsb0JBQW9CLENBQUMsd0JBQXdCO0lBQzdDLG9CQUFvQixDQUFDLDBDQUEwQztJQUMvRCxvQkFBb0IsQ0FBQywyQkFBMkI7SUFDaEQsb0JBQW9CLENBQUMsZUFBZTtJQUNwQyxvQkFBb0IsQ0FBQyxnQkFBZ0I7SUFDckMsb0JBQW9CLENBQUMsZUFBZTtJQUNwQyxvQkFBb0IsQ0FBQyxhQUFhO0lBQ2xDLG9CQUFvQixDQUFDLGdCQUFnQjtJQUNyQyxvQkFBb0IsQ0FBQyxxQkFBcUI7SUFDMUMsb0JBQW9CLENBQUMsb0JBQW9CO0lBQ3pDLG9CQUFvQixDQUFDLGNBQWM7SUFDbkMsb0JBQW9CLENBQUMsZ0JBQWdCO0lBQ3JDLG9CQUFvQixDQUFDLDBCQUEwQjtJQUMvQyxvQkFBb0IsQ0FBQyx1QkFBdUI7SUFDNUMsb0JBQW9CLENBQUMsZ0JBQWdCO0lBQ3JDLG9CQUFvQixDQUFDLFlBQVk7SUFDakMsb0JBQW9CLENBQUMsV0FBVztJQUNoQyxvQkFBb0IsQ0FBQyxrQ0FBa0M7SUFDdkQsb0JBQW9CLENBQUMsYUFBYTtJQUNsQyxvQkFBb0IsQ0FBQyxpQkFBaUI7SUFDdEMsb0JBQW9CLENBQUMsb0JBQW9CO0lBQ3pDLG9CQUFvQixDQUFDLHdCQUF3QjtJQUM3QyxvQkFBb0IsQ0FBQyxZQUFZO0lBQ2pDLG9CQUFvQixDQUFDLGdCQUFnQjtJQUNyQyxvQkFBb0IsQ0FBQyxXQUFXO0lBQ2hDLG9CQUFvQixDQUFDLG1CQUFtQjtJQUN4QyxvQkFBb0IsQ0FBQyxpQkFBaUI7SUFDdEMsb0JBQW9CLENBQUMsa0JBQWtCO0lBQ3ZDLG9CQUFvQixDQUFDLFlBQVk7SUFDakMsb0JBQW9CLENBQUMsZUFBZTtJQUNwQyxvQkFBb0IsQ0FBQyxpQkFBaUI7SUFDdEMsb0JBQW9CLENBQUMsU0FBUztJQUM5QixvQkFBb0IsQ0FBQyxnQkFBZ0I7Q0FDckMsQ0FBQztBQUNGLCtCQUErQjtBQUNmLG9DQUFlLEdBQWE7SUFDM0Msb0JBQW9CLENBQUMscUNBQXFDO0lBQzFELG9CQUFvQixDQUFDLGtDQUFrQztJQUN2RCxvQkFBb0IsQ0FBQywrQkFBK0I7SUFDcEQsb0JBQW9CLENBQUMsU0FBUztJQUM5QixvQkFBb0IsQ0FBQyw0QkFBNEI7SUFDakQsb0JBQW9CLENBQUMsd0JBQXdCO0lBQzdDLG9CQUFvQixDQUFDLGVBQWU7SUFDcEMsb0JBQW9CLENBQUMsaUJBQWlCO0lBQ3RDLG9CQUFvQixDQUFDLFlBQVk7SUFDakMsb0JBQW9CLENBQUMsNEJBQTRCO0lBQ2pELG9CQUFvQixDQUFDLFlBQVk7SUFDakMsb0JBQW9CLENBQUMsc0JBQXNCO0lBQzNDLG9CQUFvQixDQUFDLGFBQWE7SUFDbEMsb0JBQW9CLENBQUMscUJBQXFCO0lBQzFDLG9CQUFvQixDQUFDLDhCQUE4QjtJQUNuRCxvQkFBb0IsQ0FBQyxZQUFZO0lBQ2pDLG9CQUFvQixDQUFDLFVBQVU7SUFDL0Isb0JBQW9CLENBQUMsaUJBQWlCO0lBQ3RDLG9CQUFvQixDQUFDLFNBQVM7SUFDOUIsb0JBQW9CLENBQUMsbUJBQW1CO0lBQ3hDLG9CQUFvQixDQUFDLG9CQUFvQjtJQUN6QyxvQkFBb0IsQ0FBQyw0QkFBNEI7SUFDakQsb0JBQW9CLENBQUMsd0JBQXdCO0lBQzdDLG9CQUFvQixDQUFDLGVBQWU7SUFDcEMsb0JBQW9CLENBQUMsaUJBQWlCO0lBQ3RDLG9CQUFvQixDQUFDLFlBQVk7SUFDakMsb0JBQW9CLENBQUMsNEJBQTRCO0lBQ2pELG9CQUFvQixDQUFDLHNCQUFzQjtJQUMzQyxvQkFBb0IsQ0FBQyxhQUFhO0lBQ2xDLG9CQUFvQixDQUFDLHFCQUFxQjtJQUMxQyxvQkFBb0IsQ0FBQyw4QkFBOEI7SUFDbkQsb0JBQW9CLENBQUMsWUFBWTtJQUNqQyxvQkFBb0IsQ0FBQyxVQUFVO0lBQy9CLG9CQUFvQixDQUFDLGlCQUFpQjtJQUN0QyxvQkFBb0IsQ0FBQyxpQkFBaUI7SUFDdEMsb0JBQW9CLENBQUMsU0FBUztJQUM5QixvQkFBb0IsQ0FBQyxZQUFZO0lBQ2pDLG9CQUFvQixDQUFDLGdDQUFnQztJQUNyRCxvQkFBb0IsQ0FBQyxpQkFBaUI7SUFDdEMsb0JBQW9CLENBQUMsMEJBQTBCO0lBQy9DLG9CQUFvQixDQUFDLGNBQWM7SUFDbkMsb0JBQW9CLENBQUMscUNBQXFDO0lBQzFELG9CQUFvQixDQUFDLHFDQUFxQztJQUMxRCxvQkFBb0IsQ0FBQywwQkFBMEI7SUFDL0Msb0JBQW9CLENBQUMsa0JBQWtCO0lBQ3ZDLG9CQUFvQixDQUFDLDBCQUEwQjtJQUMvQyxvQkFBb0IsQ0FBQyxrQkFBa0I7SUFDdkMsb0JBQW9CLENBQUMsdUNBQXVDO0lBQzVELG9CQUFvQixDQUFDLFlBQVk7SUFDakMsb0JBQW9CLENBQUMsV0FBVztJQUNoQyxvQkFBb0IsQ0FBQyxTQUFTO0lBQzlCLG9CQUFvQixDQUFDLGdCQUFnQjtJQUNyQyxvQkFBb0IsQ0FBQyw0QkFBNEI7SUFDakQsb0JBQW9CLENBQUMsd0JBQXdCO0lBQzdDLG9CQUFvQixDQUFDLGVBQWU7SUFDcEMsb0JBQW9CLENBQUMsZ0JBQWdCO0lBQ3JDLG9CQUFvQixDQUFDLHdCQUF3QjtJQUM3QyxvQkFBb0IsQ0FBQyxZQUFZO0lBQ2pDLG9CQUFvQixDQUFDLHNCQUFzQjtJQUMzQyxvQkFBb0IsQ0FBQyxhQUFhO0lBQ2xDLG9CQUFvQixDQUFDLHFCQUFxQjtJQUMxQyxvQkFBb0IsQ0FBQyxZQUFZO0lBQ2pDLG9CQUFvQixDQUFDLFVBQVU7SUFDL0Isb0JBQW9CLENBQUMsaUJBQWlCO0NBQ3RDLENBQUM7QUFDRiw4QkFBOEI7QUFDZCxtQ0FBYyxHQUFhO0lBQzFDLG9CQUFvQixDQUFDLHdCQUF3QjtJQUM3QyxvQkFBb0IsQ0FBQyxpQ0FBaUM7SUFDdEQsb0JBQW9CLENBQUMsK0JBQStCO0lBQ3BELG9CQUFvQixDQUFDLGtCQUFrQjtJQUN2QyxvQkFBb0IsQ0FBQywyQkFBMkI7SUFDaEQsb0JBQW9CLENBQUMsK0JBQStCO0lBQ3BELG9CQUFvQixDQUFDLG1CQUFtQjtJQUN4QyxvQkFBb0IsQ0FBQywyQkFBMkI7SUFDaEQsb0JBQW9CLENBQUMsOEJBQThCO0lBQ25ELG9CQUFvQixDQUFDLHVCQUF1QjtJQUM1QyxvQkFBb0IsQ0FBQyxlQUFlO0lBQ3BDLG9CQUFvQixDQUFDLFFBQVE7SUFDN0Isb0JBQW9CLENBQUMsV0FBVztJQUNoQyxvQkFBb0IsQ0FBQywyQkFBMkI7SUFDaEQsb0JBQW9CLENBQUMsc0JBQXNCO0lBQzNDLG9CQUFvQixDQUFDLG1DQUFtQztJQUN4RCxvQkFBb0IsQ0FBQyxzQkFBc0I7SUFDM0Msb0JBQW9CLENBQUMsK0JBQStCO0lBQ3BELG9CQUFvQixDQUFDLHVCQUF1QjtJQUM1QyxvQkFBb0IsQ0FBQyxrQ0FBa0M7Q0FDdkQsQ0FBQztBQUNGLCtDQUErQztBQUMvQixtREFBOEIsR0FBYSxFQUFFLENBQUM7QUFDOUQsaUNBQWlDO0FBQ2pCLHNDQUFpQixHQUFhO0lBQzdDLG9CQUFvQixDQUFDLFdBQVc7SUFDaEMsb0JBQW9CLENBQUMsYUFBYTtDQUNsQyxDQUFDO0FBbU9ILE1BQU0scUJBQXFCLEdBQzFCLHdIQUF3SCxDQUFDO0FBQzFILE1BQU0sbUJBQW1CLEdBQ3hCLG1HQUFtRyxDQUFDO0FBQ3JHLE1BQU0sY0FBYyxHQUNuQix5R0FBeUcsQ0FBQztBQUMzRyxNQUFNLDhCQUE4QixHQUNuQywwSUFBMEksQ0FBQztBQUM1SSxNQUFNLHdCQUF3QixHQUM3Qiw4SEFBOEgsQ0FBQztBQUNoSSxNQUFNLGVBQWUsR0FDcEIsMkdBQTJHLENBQUM7QUFDN0csTUFBTSxjQUFjLEdBQ25CLHlHQUF5RyxDQUFDO0FBQzNHLE1BQU0sb0JBQW9CLEdBQ3pCLHNIQUFzSCxDQUFDO0FBRXhIOztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7SUFDbEM7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQXlDO1FBQzdELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssa0JBQWtCLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxtQkFBbUIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQy9JLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxHQUFXO1FBQ3pDLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQzNCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsZUFBZSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZUFBZTtTQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUF1QztRQUN6RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGtCQUFrQixLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsUUFBUSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUgsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEdBQVc7UUFDdkMsT0FBTyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxtQkFBbUIsQ0FDekIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxLQUFLO1NBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWtDO1FBQy9DLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssa0JBQWtCLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxXQUFXLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUNsQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFFBQVE7U0FDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsS0FBa0Q7UUFFbEQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxrQkFBa0IsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLDRCQUE0QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNqSyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQUMsR0FBVztRQUNsRCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDhCQUE4QixDQUNwQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsOEJBQThCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3Q0FBd0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsd0JBQXdCO1NBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQ3RCLEtBQTRDO1FBRTVDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssa0JBQWtCLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxzQkFBc0IsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDckosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQVc7UUFDNUMsT0FBTyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixrQkFBa0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGtCQUFrQjtTQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFtQztRQUNqRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGtCQUFrQixLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsWUFBWSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDbkMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDakMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWtDO1FBQy9DLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssa0JBQWtCLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxXQUFXLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoSSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBVztRQUNsQyxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBVztRQUNoQyxNQUFNLEtBQUssR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFFBQVE7U0FDaEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBd0M7UUFDM0QsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxrQkFBa0IsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGtCQUFrQixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDN0ksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHNCQUFzQixDQUFDLEdBQVc7UUFDeEMsT0FBTyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxvQkFBb0IsQ0FDMUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxjQUFjO1NBQzVDLENBQUM7SUFDSCxDQUFDOztBQXJRRix3REFzUUM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSx1QkFBdUI7O0FBQXBDLDBEQWljQzs7O0FBaGNBLG1GQUFtRjtBQUNuRSw2REFBcUMsR0FBYTtJQUNqRSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLGdGQUFnRjtBQUNoRSwwREFBa0MsR0FBYTtJQUM5RCxrREFBa0Q7Q0FDbEQsQ0FBQztBQUNGLDZFQUE2RTtBQUM3RCx1REFBK0IsR0FBYTtJQUMzRCwrQ0FBK0M7Q0FDL0MsQ0FBQztBQUNGLHVEQUF1RDtBQUN2QyxpQ0FBUyxHQUFhO0lBQ3JDLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsMkJBQTJCO0NBQzNCLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsb0RBQTRCLEdBQWE7SUFDeEQsNENBQTRDO0NBQzVDLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsZ0RBQXdCLEdBQWE7SUFDcEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsdUNBQWUsR0FBYSxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDOUUsK0RBQStEO0FBQy9DLHlDQUFpQixHQUFhO0lBQzdDLGlDQUFpQztDQUNqQyxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLG9DQUFZLEdBQWE7SUFDeEMsNEJBQTRCO0lBQzVCLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsMEVBQTBFO0FBQzFELG9EQUE0QixHQUFhO0lBQ3hELDRDQUE0QztJQUM1QywyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxvQ0FBWSxHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUN4RSxvRUFBb0U7QUFDcEQsOENBQXNCLEdBQWE7SUFDbEQsc0NBQXNDO0lBQ3RDLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLHFDQUFhLEdBQWE7SUFDekMsNkJBQTZCO0lBQzdCLGNBQWM7SUFDZCwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCw2Q0FBcUIsR0FBYTtJQUNqRCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxzREFBOEIsR0FBYTtJQUMxRCw4Q0FBOEM7Q0FDOUMsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxvQ0FBWSxHQUFhO0lBQ3hDLDRCQUE0QjtJQUM1QiwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLHdEQUF3RDtBQUN4QyxrQ0FBVSxHQUFhO0lBQ3RDLDBCQUEwQjtJQUMxQixjQUFjO0NBQ2QsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyx5Q0FBaUIsR0FBYTtJQUM3QyxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLHVEQUF1RDtBQUN2QyxpQ0FBUyxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNsRSxpRUFBaUU7QUFDakQsMkNBQW1CLEdBQWE7SUFDL0MsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsNENBQW9CLEdBQWE7SUFDaEQsb0NBQW9DO0NBQ3BDLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsb0RBQTRCLEdBQWE7SUFDeEQsNENBQTRDO0NBQzVDLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsZ0RBQXdCLEdBQWE7SUFDcEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsdUNBQWUsR0FBYSxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDOUUsK0RBQStEO0FBQy9DLHlDQUFpQixHQUFhO0lBQzdDLGlDQUFpQztDQUNqQyxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLG9DQUFZLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQ3hFLDBFQUEwRTtBQUMxRCxvREFBNEIsR0FBYTtJQUN4RCw0Q0FBNEM7Q0FDNUMsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCw4Q0FBc0IsR0FBYTtJQUNsRCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxxQ0FBYSxHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUMxRSxtRUFBbUU7QUFDbkQsNkNBQXFCLEdBQWE7SUFDakQscUNBQXFDO0NBQ3JDLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsc0RBQThCLEdBQWE7SUFDMUQsOENBQThDO0NBQzlDLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsb0NBQVksR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDeEUsd0RBQXdEO0FBQ3hDLGtDQUFVLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3BFLCtEQUErRDtBQUMvQyx5Q0FBaUIsR0FBYTtJQUM3QyxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyx5Q0FBaUIsR0FBYTtJQUM3QyxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLHlEQUF5RDtBQUN6QyxtQ0FBVyxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUN0RSxtRUFBbUU7QUFDbkQsNkNBQXFCLEdBQWE7SUFDakQscUNBQXFDO0NBQ3JDLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsMENBQWtCLEdBQWE7SUFDOUMsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsc0RBQThCLEdBQWE7SUFDMUQsOENBQThDO0NBQzlDLENBQUM7QUFDRix3RUFBd0U7QUFDeEQsa0RBQTBCLEdBQWE7SUFDdEQsMENBQTBDO0NBQzFDLENBQUM7QUFDRix5RkFBeUY7QUFDekUsbUVBQTJDLEdBQWE7SUFDdkUsMkRBQTJEO0NBQzNELENBQUM7QUFDRix3RUFBd0U7QUFDeEQsa0RBQTBCLEdBQWE7SUFDdEQsMENBQTBDO0NBQzFDLENBQUM7QUFDRiwwRkFBMEY7QUFDMUUsb0VBQTRDLEdBQWE7SUFDeEUsNERBQTREO0NBQzVELENBQUM7QUFDRixtRUFBbUU7QUFDbkQsNkNBQXFCLEdBQWE7SUFDakQscUNBQXFDO0NBQ3JDLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsZ0RBQXdCLEdBQWE7SUFDcEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRix3RkFBd0Y7QUFDeEUsa0VBQTBDLEdBQWE7SUFDdEUsMERBQTBEO0NBQzFELENBQUM7QUFDRixtRUFBbUU7QUFDbkQsK0NBQXVCLEdBQWE7SUFDbkQscUNBQXFDO0NBQ3JDLENBQUM7QUFDRix1REFBdUQ7QUFDdkMsbUNBQVcsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDcEUsd0RBQXdEO0FBQ3hDLG9DQUFZLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3RFLHVEQUF1RDtBQUN2QyxtQ0FBVyxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNwRSxxREFBcUQ7QUFDckMsaUNBQVMsR0FBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDaEUsd0RBQXdEO0FBQ3hDLG9DQUFZLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3RFLDZEQUE2RDtBQUM3Qyx5Q0FBaUIsR0FBYTtJQUM3QywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLDREQUE0RDtBQUM1Qyx3Q0FBZ0IsR0FBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFDOUUsdURBQXVEO0FBQ3ZDLGlDQUFTLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ2xFLDBEQUEwRDtBQUMxQyxvQ0FBWSxHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUN4RSw4RUFBOEU7QUFDOUQsd0RBQWdDLEdBQWE7SUFDNUQsZ0RBQWdEO0NBQ2hELENBQUM7QUFDRixzRUFBc0U7QUFDdEQsZ0RBQXdCLEdBQWE7SUFDcEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiwrRUFBK0U7QUFDL0QseURBQWlDLEdBQWE7SUFDN0QsaURBQWlEO0NBQ2pELENBQUM7QUFDRiw2RUFBNkU7QUFDN0QsdURBQStCLEdBQWE7SUFDM0QsK0NBQStDO0NBQy9DLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsMENBQWtCLEdBQWE7SUFDOUMsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRix5RUFBeUU7QUFDekQsbURBQTJCLEdBQWE7SUFDdkQsMkNBQTJDO0NBQzNDLENBQUM7QUFDRiw2RUFBNkU7QUFDN0QsdURBQStCLEdBQWE7SUFDM0QsK0NBQStDO0NBQy9DLENBQUM7QUFDRixpRUFBaUU7QUFDakQsMkNBQW1CLEdBQWE7SUFDL0MsbUNBQW1DO0NBQ25DLENBQUM7QUFDRix5RUFBeUU7QUFDekQsbURBQTJCLEdBQWE7SUFDdkQsMkNBQTJDO0NBQzNDLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsc0RBQThCLEdBQWE7SUFDMUQsOENBQThDO0NBQzlDLENBQUM7QUFDRixxRUFBcUU7QUFDckQsK0NBQXVCLEdBQWE7SUFDbkQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsdUNBQWUsR0FBYSxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDOUUsc0RBQXNEO0FBQ3RDLGdDQUFRLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ2hFLDREQUE0RDtBQUM1QyxzQ0FBYyxHQUFhLENBQUMsOEJBQThCLENBQUMsQ0FBQztBQUM1RSw4REFBOEQ7QUFDOUMsd0NBQWdCLEdBQWE7SUFDNUMsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRix3RUFBd0U7QUFDeEQsa0RBQTBCLEdBQWE7SUFDdEQsMENBQTBDO0NBQzFDLENBQUM7QUFDRixxRUFBcUU7QUFDckQsK0NBQXVCLEdBQWE7SUFDbkQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsd0NBQWdCLEdBQWE7SUFDNUMsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRix5REFBeUQ7QUFDekMsbUNBQVcsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDdEUsMERBQTBEO0FBQzFDLG9DQUFZLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQ3hFLHlFQUF5RTtBQUN6RCxtREFBMkIsR0FBYTtJQUN2RCwyQ0FBMkM7Q0FDM0MsQ0FBQztBQUNGLHlEQUF5RDtBQUN6QyxtQ0FBVyxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUN0RSxvRUFBb0U7QUFDcEQsOENBQXNCLEdBQWE7SUFDbEQsc0NBQXNDO0NBQ3RDLENBQUM7QUFDRixnRkFBZ0Y7QUFDaEUsMERBQWtDLEdBQWE7SUFDOUQsa0RBQWtEO0NBQ2xELENBQUM7QUFDRixpRkFBaUY7QUFDakUsMkRBQW1DLEdBQWE7SUFDL0QsbURBQW1EO0NBQ25ELENBQUM7QUFDRiwyREFBMkQ7QUFDM0MscUNBQWEsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDMUUsK0RBQStEO0FBQy9DLHlDQUFpQixHQUFhO0lBQzdDLGlDQUFpQztDQUNqQyxDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELDRDQUFvQixHQUFhO0lBQ2hELG9DQUFvQztDQUNwQyxDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELGdEQUF3QixHQUFhO0lBQ3BELHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLG9DQUFZLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQ3hFLG9FQUFvRTtBQUNwRCw4Q0FBc0IsR0FBYTtJQUNsRCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLDZFQUE2RTtBQUM3RCx1REFBK0IsR0FBYTtJQUMzRCwrQ0FBK0M7Q0FDL0MsQ0FBQztBQUNGLDhEQUE4RDtBQUM5Qyx3Q0FBZ0IsR0FBYTtJQUM1QyxnQ0FBZ0M7Q0FDaEMsQ0FBQztBQUNGLHlEQUF5RDtBQUN6QyxtQ0FBVyxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUN0RSxpRUFBaUU7QUFDakQsMkNBQW1CLEdBQWE7SUFDL0MsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixxRUFBcUU7QUFDckQsK0NBQXVCLEdBQWE7SUFDbkQsdUNBQXVDO0NBQ3ZDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MseUNBQWlCLEdBQWE7SUFDN0MsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRixnRUFBZ0U7QUFDaEQsMENBQWtCLEdBQWE7SUFDOUMsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsb0NBQVksR0FBYSxDQUFDLDRCQUE0QixDQUFDLENBQUM7QUFDeEUsNkRBQTZEO0FBQzdDLHVDQUFlLEdBQWEsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBQzlFLCtEQUErRDtBQUMvQyx5Q0FBaUIsR0FBYTtJQUM3QyxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLHVEQUF1RDtBQUN2QyxpQ0FBUyxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNsRSxnRkFBZ0Y7QUFDaEUsMERBQWtDLEdBQWE7SUFDOUQsa0RBQWtEO0NBQ2xELENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsd0NBQWdCLEdBQWE7SUFDNUMsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MseUNBQWlCLEdBQWE7SUFDN0MsaUNBQWlDO0NBQ2pDLENBQUM7QUFDRix3RUFBd0U7QUFDeEQsa0RBQTBCLEdBQWE7SUFDdEQsMENBQTBDO0NBQzFDLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsc0NBQWMsR0FBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFDNUUsbUZBQW1GO0FBQ25FLDZEQUFxQyxHQUFhO0lBQ2pFLHFEQUFxRDtDQUNyRCxDQUFDO0FBQ0YsbUZBQW1GO0FBQ25FLDZEQUFxQyxHQUFhO0lBQ2pFLHFEQUFxRDtDQUNyRCxDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELGtEQUEwQixHQUFhO0lBQ3RELDBDQUEwQztDQUMxQyxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELDBDQUFrQixHQUFhO0lBQzlDLGtDQUFrQztJQUNsQywyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLHdFQUF3RTtBQUN4RCxrREFBMEIsR0FBYTtJQUN0RCwwQ0FBMEM7Q0FDMUMsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCwwQ0FBa0IsR0FBYTtJQUM5QyxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHFGQUFxRjtBQUNyRSwrREFBdUMsR0FBYTtJQUNuRSx1REFBdUQ7Q0FDdkQsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxvQ0FBWSxHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUN4RSx5REFBeUQ7QUFDekMsbUNBQVcsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDdEUseURBQXlEO0FBQ3pDLG1DQUFXLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQ3RFLDJEQUEyRDtBQUMzQyxxQ0FBYSxHQUFhLENBQUMsNkJBQTZCLENBQUMsQ0FBQztBQUMxRSx1REFBdUQ7QUFDdkMsaUNBQVMsR0FBYTtJQUNyQyxjQUFjO0lBQ2QseUJBQXlCO0NBQ3pCLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMsd0NBQWdCLEdBQWE7SUFDNUMsZ0NBQWdDO0NBQ2hDLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQsb0RBQTRCLEdBQWE7SUFDeEQsNENBQTRDO0NBQzVDLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsZ0RBQXdCLEdBQWE7SUFDcEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsdUNBQWUsR0FBYSxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFDOUUsOERBQThEO0FBQzlDLHdDQUFnQixHQUFhO0lBQzVDLGdDQUFnQztDQUNoQyxDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELGdEQUF3QixHQUFhO0lBQ3BELHdDQUF3QztDQUN4QyxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLG9DQUFZLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQ3hFLG9FQUFvRTtBQUNwRCw4Q0FBc0IsR0FBYTtJQUNsRCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxxQ0FBYSxHQUFhO0lBQ3pDLGNBQWM7SUFDZCw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCw2Q0FBcUIsR0FBYTtJQUNqRCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxvQ0FBWSxHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUN4RSx3REFBd0Q7QUFDeEMsa0NBQVUsR0FBYSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFDcEUsK0RBQStEO0FBQy9DLHlDQUFpQixHQUFhO0lBQzdDLGlDQUFpQztDQUNqQyxDQUFDO0FBR0g7O0dBRUc7QUFDSCxNQUFhLHVCQUF1QjtJQW9DbkM7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZ0I7UUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDbkUsQ0FBQzs7QUF2REYsMERBd0RDOzs7QUF2REEseURBQXlEO0FBQ3pDLDhDQUFzQixHQUFhO0lBQ2xELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDRFQUE0RTtBQUM1RCxpRUFBeUMsR0FBYTtJQUNyRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixzRUFBc0U7QUFDdEQsMkRBQW1DLEdBQWE7SUFDL0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0Ysa0VBQWtFO0FBQ2xELHVEQUErQixHQUFhO0lBQzNELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxnREFBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0Msa0RBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsdUNBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsd0NBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLG9DQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvcmVzaWxpZW5jZWh1Yi5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgcmVzaWxpZW5jZWh1YiBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzaWxpZW5jZWh1YkFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJyZXNpbGllbmNlaHViXCI7XG5cblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpBY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6QWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6QmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1cyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcCA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ID1cblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwVmVyc2lvblJlc291cmNlID1cblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwVmVyc2lvblJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlQXNzZXJ0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBc3NlcnRpb24gPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXNzZXJ0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlSW5wdXRTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUlucHV0U291cmNlID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZUlucHV0U291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb2xpY3kgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVSZXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcG9ydCA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVSZXBvcnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVSZXNpbGllbmN5UG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNpbGllbmN5UG9saWN5ID1cblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVzaWxpZW5jeVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2UgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VGdW5jdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUZ1bmN0aW9uID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VGdW5jdGlvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlU3lzdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTeXN0ZW0gPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlU3lzdGVtXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlVGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGVzdCA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVUZXN0XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlVXNlckpvdXJuZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJKb3VybmV5ID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVVzZXJKb3VybmV5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHAgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlQXBwQXNzZXNzbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwQXNzZXNzbWVudCA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBBc3Nlc3NtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlQXBwSW5wdXRTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcElucHV0U291cmNlID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcElucHV0U291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFzc2VydGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzZXJ0aW9uID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZUFzc2VydGlvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUlucHV0U291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnB1dFNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVJbnB1dFNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUG9saWN5ID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlUmVzaWxpZW5jeVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzaWxpZW5jeVBvbGljeSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVJlc2lsaWVuY3lQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VGdW5jdGlvbiA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVN5c3RlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3lzdGVtID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZVN5c3RlbVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVRlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3QgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlVGVzdFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVRlc3RTb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUZXN0U291cmNlcyA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0U291cmNlc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVVzZXJKb3VybmV5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VySm91cm5leSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVVc2VySm91cm5leVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwID0gXCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcEFzc2Vzc21lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwQXNzZXNzbWVudCA9IFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcEFzc2Vzc21lbnRcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uID0gXCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uVGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1cyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZU1ldHJpY3NFeHBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0cmljc0V4cG9ydCA9IFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZU1ldHJpY3NFeHBvcnRcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlUmVzaWxpZW5jeVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNpbGllbmN5UG9saWN5ID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVSZXNpbGllbmN5UG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFzayA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlUmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFza1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0RmFpbHVyZU1vZGVGaW5kaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRGYWlsdXJlTW9kZUZpbmRpbmcgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpHZXRGYWlsdXJlTW9kZUZpbmRpbmdcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UG9saWN5ID0gXCJyZXNpbGllbmNlaHViOkdldFBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZSA9IFwicmVzaWxpZW5jZWh1YjpHZXRTZXJ2aWNlXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRTeXN0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFN5c3RlbSA9IFwicmVzaWxpZW5jZWh1YjpHZXRTeXN0ZW1cIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFRlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRlc3QgPSBcInJlc2lsaWVuY2VodWI6R2V0VGVzdFwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0VGVzdFJ1biAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGVzdFJ1biA9IFwicmVzaWxpZW5jZWh1YjpHZXRUZXN0UnVuXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRUZXN0VGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRlc3RUZW1wbGF0ZSA9IFwicmVzaWxpZW5jZWh1YjpHZXRUZXN0VGVtcGxhdGVcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFVzZXJKb3VybmV5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRVc2VySm91cm5leSA9IFwicmVzaWxpZW5jZWh1YjpHZXRVc2VySm91cm5leVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkltcG9ydEFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0QXBwID0gXCJyZXNpbGllbmNlaHViOkltcG9ydEFwcFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkltcG9ydFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0UG9saWN5ID0gXCJyZXNpbGllbmNlaHViOkltcG9ydFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkltcG9ydFJlc291cmNlc1RvRHJhZnRBcHBWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvbiA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkltcG9ydFJlc291cmNlc1RvRHJhZnRBcHBWZXJzaW9uXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGFybVJlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBbGFybVJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQXNzZXNzbWVudENvbXBsaWFuY2VEcmlmdHMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwQXNzZXNzbWVudENvbXBsaWFuY2VEcmlmdHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50UmVzb3VyY2VEcmlmdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBBc3Nlc3NtZW50UmVzb3VyY2VEcmlmdHMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwQXNzZXNzbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBBc3Nlc3NtZW50cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwQXNzZXNzbWVudHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcENvbXBvbmVudENvbXBsaWFuY2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcENvbXBvbmVudENvbXBsaWFuY2VzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwQ29tcG9uZW50UmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQ29tcG9uZW50UmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcElucHV0U291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcElucHV0U291cmNlcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwSW5wdXRTb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvbkFwcENvbXBvbmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50cyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50c1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvblJlc291cmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9ucyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdEFzc2VydGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NlcnRpb25zID0gXCJyZXNpbGllbmNlaHViOkxpc3RBc3NlcnRpb25zXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0RGVwZW5kZW5jaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGVwZW5kZW5jaWVzID0gXCJyZXNpbGllbmNlaHViOkxpc3REZXBlbmRlbmNpZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50cyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0RmFpbHVyZU1vZGVGaW5kaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZhaWx1cmVNb2RlRmluZGluZ3MgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0RmFpbHVyZU1vZGVGaW5kaW5nc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdElucHV0U291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdElucHV0U291cmNlcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0SW5wdXRTb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0TWV0cmljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1ldHJpY3MgPSBcInJlc2lsaWVuY2VodWI6TGlzdE1ldHJpY3NcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RQb2xpY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljaWVzID0gXCJyZXNpbGllbmNlaHViOkxpc3RQb2xpY2llc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kYXRpb25UZW1wbGF0ZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVjb21tZW5kYXRpb25UZW1wbGF0ZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RSZXBvcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVwb3J0cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0UmVwb3J0c1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFJlc2lsaWVuY3lQb2xpY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc2lsaWVuY3lQb2xpY2llcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RSZXNpbGllbmN5UG9saWNpZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzb3VyY2VzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZUV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VFdmVudHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VFdmVudHNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlRnVuY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZUZ1bmN0aW9ucyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZUZ1bmN0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZVRvcG9sb2d5RWRnZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZVRvcG9sb2d5RWRnZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzID0gXCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFNvcFJlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNvcFJlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTb3BSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RTdWdnZXN0ZWRSZXNpbGllbmN5UG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdWdnZXN0ZWRSZXNpbGllbmN5UG9saWNpZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3lzdGVtRXZlbnRzID0gXCJyZXNpbGllbmNlaHViOkxpc3RTeXN0ZW1FdmVudHNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RTeXN0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3lzdGVtcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5FdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVuRXZlbnRzID0gXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuRXZlbnRzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1blNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVuU291cmNlcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1blNvdXJjZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUZXN0UnVucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSdW5zID0gXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RTb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RTb3VyY2VzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdFRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RUZW1wbGF0ZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RUZW1wbGF0ZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUZXN0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RzID0gXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0c1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFVuc3VwcG9ydGVkQXBwVmVyc2lvblJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVuc3VwcG9ydGVkQXBwVmVyc2lvblJlc291cmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RVc2VySm91cm5leXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVc2VySm91cm5leXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFVzZXJKb3VybmV5c1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlB1Ymxpc2hBcHBWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdWJsaXNoQXBwVmVyc2lvbiA9IFwicmVzaWxpZW5jZWh1YjpQdWJsaXNoQXBwVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlB1dERyYWZ0QXBwVmVyc2lvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlB1dERyYWZ0QXBwVmVyc2lvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6UHV0VGVzdFNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFRlc3RTb3VyY2VzID0gXCJyZXNpbGllbmNlaHViOlB1dFRlc3RTb3VyY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6UmVqZWN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpSZW1vdmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzID1cblx0XHRcInJlc2lsaWVuY2VodWI6UmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlJlc29sdmVBcHBWZXJzaW9uUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlJlc29sdmVBcHBWZXJzaW9uUmVzb3VyY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6U3RhcnRBcHBBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFwcEFzc2Vzc21lbnQgPSBcInJlc2lsaWVuY2VodWI6U3RhcnRBcHBBc3Nlc3NtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6U3RhcnRGYWlsdXJlTW9kZUFzc2Vzc21lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50ID1cblx0XHRcInJlc2lsaWVuY2VodWI6U3RhcnRGYWlsdXJlTW9kZUFzc2Vzc21lbnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpTdGFydE1ldHJpY3NFeHBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0cmljc0V4cG9ydCA9IFwicmVzaWxpZW5jZWh1YjpTdGFydE1ldHJpY3NFeHBvcnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFzayA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFza1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlN0YXJ0VGVzdFJ1biAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0UnVuID0gXCJyZXNpbGllbmNlaHViOlN0YXJ0VGVzdFJ1blwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlN0b3BUZXN0UnVuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVGVzdFJ1biA9IFwicmVzaWxpZW5jZWh1YjpTdG9wVGVzdFJ1blwiO1xuXHQvKiogW1RhZ2dpbmddIHJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gcmVzaWxpZW5jZWh1YjpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJyZXNpbGllbmNlaHViOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcCA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBWZXJzaW9uID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ID1cblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvblJlc291cmNlID1cblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvblJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlQXNzZXJ0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NlcnRpb24gPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlQXNzZXJ0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlRGVwZW5kZW5jeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGVwZW5kZW5jeSA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVEZXBlbmRlbmN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlRmFpbHVyZU1vZGVGaW5kaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmcgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmdcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBvbGljeSA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVSZXNpbGllbmN5UG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXNpbGllbmN5UG9saWN5ID1cblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlUmVzaWxpZW5jeVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2UgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZVNlcnZpY2VGdW5jdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUZ1bmN0aW9uID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZVNlcnZpY2VGdW5jdGlvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZVN5c3RlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3lzdGVtID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZVN5c3RlbVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZVRlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRlc3QgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlVGVzdFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZVVzZXJKb3VybmV5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVVc2VySm91cm5leSA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVVc2VySm91cm5leVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwQXNzZXNzbWVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcFZlcnNpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVBcHBWZXJzaW9uQXBwQ29tcG9uZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVBcHBWZXJzaW9uVGVtcGxhdGUsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVNZXRyaWNzRXhwb3J0LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlUmVzaWxpZW5jeVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2ssXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0RmFpbHVyZU1vZGVGaW5kaW5nLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldFBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldFN5c3RlbSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRUZXN0LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldFRlc3RSdW4sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0VGVzdFRlbXBsYXRlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldFVzZXJKb3VybmV5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBc3NlcnRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3REZXBlbmRlbmNpZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEZhaWx1cmVNb2RlRmluZGluZ3MsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdElucHV0U291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0UG9saWNpZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFJlcG9ydHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0UmVzb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTZXJ2aWNlRXZlbnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTZXJ2aWNlRnVuY3Rpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U2VydmljZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFN5c3RlbUV2ZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U3lzdGVtcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUZXN0UnVuRXZlbnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUZXN0UnVuU291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFJ1bnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRlc3RTb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUZXN0VGVtcGxhdGVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUZXN0cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VXNlckpvdXJuZXlzLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5CYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZUFwcCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVBc3NlcnRpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlSW5wdXRTb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlUG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlUmVwb3J0LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVJlc2lsaWVuY3lQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlU2VydmljZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVTZXJ2aWNlRnVuY3Rpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVN5c3RlbSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVUZXN0LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVVzZXJKb3VybmV5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZUFwcCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBcHBBc3Nlc3NtZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZUFwcElucHV0U291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlQXBwVmVyc2lvblJlc291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZUFzc2VydGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVJbnB1dFNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVSZXNpbGllbmN5UG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVNlcnZpY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlU2VydmljZUZ1bmN0aW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVTeXN0ZW0sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlVGVzdCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVUZXN0U291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVVc2VySm91cm5leSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5JbXBvcnRBcHAsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuSW1wb3J0UG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkltcG9ydFJlc291cmNlc1RvRHJhZnRBcHBWZXJzaW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlB1Ymxpc2hBcHBWZXJzaW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlB1dERyYWZ0QXBwVmVyc2lvblRlbXBsYXRlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlB1dFRlc3RTb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuUmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5SZXNvbHZlQXBwVmVyc2lvblJlc291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5TdGFydEFwcEFzc2Vzc21lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuU3RhcnRGYWlsdXJlTW9kZUFzc2Vzc21lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuU3RhcnRNZXRyaWNzRXhwb3J0LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0YXJ0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFzayxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5TdGFydFRlc3RSdW4sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuU3RvcFRlc3RSdW4sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlQXBwLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUFwcFZlcnNpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVBcHBWZXJzaW9uUmVzb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlQXNzZXJ0aW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZURlcGVuZGVuY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlRmFpbHVyZU1vZGVGaW5kaW5nLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVSZXNpbGllbmN5UG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZVNlcnZpY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlU2VydmljZUZ1bmN0aW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZVN5c3RlbSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVUZXN0LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZVVzZXJKb3VybmV5LFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBBc3Nlc3NtZW50UmVzb3VyY2VEcmlmdHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcEFzc2Vzc21lbnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwQ29tcG9uZW50UmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBJbnB1dFNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcFZlcnNpb25BcHBDb21wb25lbnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwVmVyc2lvblJlc291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwVmVyc2lvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdE1ldHJpY3MsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZXNpbGllbmN5UG9saWNpZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFNvcFJlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUZXN0UmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcHAtYXNzZXNzbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YkFwcEFzc2Vzc21lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwQXNzZXNzbWVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBBc3Nlc3NtZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHAtYXNzZXNzbWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YkFwcEFzc2Vzc21lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFwcEFzc2Vzc21lbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcEFzc2Vzc21lbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwbGljYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJBcHBsaWNhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBBcHBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YkFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFwcElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJQb2xpY3lBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQb2xpY3lJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBvbGljeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVzaWxpZW5jeS1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJSZXNpbGllbmN5UG9saWN5QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc2lsaWVuY3lQb2xpY3lJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzaWxpZW5jeVBvbGljeUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVzaWxpZW5jeS1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJSZXNpbGllbmN5UG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNpbGllbmN5UG9saWN5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNpbGllbmN5UG9saWN5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJTZXJ2aWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZpY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlNlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3lzdGVtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViU3lzdGVtQXJuUHJvcHMge1xuXHQvKiogVGhlIFN5c3RlbUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzeXN0ZW1JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN5c3RlbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlN5c3RlbUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3lzdGVtSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzeXN0ZW1JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGVzdC10ZW1wbGF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlRlc3RUZW1wbGF0ZUFyblByb3BzIHtcblx0LyoqIFRoZSBUZXN0VGVtcGxhdGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGVzdFRlbXBsYXRlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0ZXN0LXRlbXBsYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViVGVzdFRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUZXN0VGVtcGxhdGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRlc3RUZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFwcEFzc2Vzc21lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcC1hc3Nlc3NtZW50XFwvKD88YXBwQXNzZXNzbWVudElkPlteOi8/XSspJC87XG5jb25zdCBBcHBsaWNhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwXFwvKD88YXBwSWQ+W146Lz9dKykkLztcbmNvbnN0IFBvbGljeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cG9saWN5XFwvKD88cG9saWN5SWQ+W146Lz9dKykkLztcbmNvbnN0IFJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlY29tbWVuZGF0aW9uLXRlbXBsYXRlXFwvKD88cmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkPlteOi8/XSspJC87XG5jb25zdCBSZXNpbGllbmN5UG9saWN5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNpbGllbmN5LXBvbGljeVxcLyg/PHJlc2lsaWVuY3lQb2xpY3lJZD5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZVxcLyg/PHNlcnZpY2VJZD5bXjovP10rKSQvO1xuY29uc3QgU3lzdGVtQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzeXN0ZW1cXC8oPzxzeXN0ZW1JZD5bXjovP10rKSQvO1xuY29uc3QgVGVzdFRlbXBsYXRlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0ZXN0LXRlbXBsYXRlXFwvKD88dGVzdFRlbXBsYXRlSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciByZXNpbGllbmNlaHViIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlc2lsaWVuY2VodWJSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwcC1hc3Nlc3NtZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcEFzc2Vzc21lbnQocHJvcHM6IFJlc2lsaWVuY2VodWJBcHBBc3Nlc3NtZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnJlc2lsaWVuY2VodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwLWFzc2Vzc21lbnQvJHtwcm9wcy5hcHBBc3Nlc3NtZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcC1hc3Nlc3NtZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBBc3Nlc3NtZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcEFzc2Vzc21lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwLWFzc2Vzc21lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwQXNzZXNzbWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUmVzaWxpZW5jZWh1YkFwcEFzc2Vzc21lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcEFzc2Vzc21lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwLWFzc2Vzc21lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwQXNzZXNzbWVudElkOiBtYXRjaC5ncm91cHMhLmFwcEFzc2Vzc21lbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHBsaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHBsaWNhdGlvbihwcm9wczogUmVzaWxpZW5jZWh1YkFwcGxpY2F0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnJlc2lsaWVuY2VodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXBwLyR7cHJvcHMuYXBwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBcHBsaWNhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBsaWNhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHBsaWNhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBsaWNhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUmVzaWxpZW5jZWh1YkFwcGxpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBsaWNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHBsaWNhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBJZDogbWF0Y2guZ3JvdXBzIS5hcHBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcG9saWN5KHByb3BzOiBSZXNpbGllbmNlaHViUG9saWN5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnJlc2lsaWVuY2VodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cG9saWN5LyR7cHJvcHMucG9saWN5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUG9saWN5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBvbGljeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwb2xpY3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUG9saWN5QXJuKGFybjogc3RyaW5nKTogUmVzaWxpZW5jZWh1YlBvbGljeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUG9saWN5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBvbGljeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwb2xpY3lJZDogbWF0Y2guZ3JvdXBzIS5wb2xpY3lJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWNvbW1lbmRhdGlvblRlbXBsYXRlKFxuXHRcdHByb3BzOiBSZXNpbGllbmNlaHViUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnJlc2lsaWVuY2VodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVjb21tZW5kYXRpb24tdGVtcGxhdGUvJHtwcm9wcy5yZWNvbW1lbmRhdGlvblRlbXBsYXRlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlY29tbWVuZGF0aW9uLXRlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUmVzaWxpZW5jZWh1YlJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkOiBtYXRjaC5ncm91cHMhLnJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXNpbGllbmN5LXBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNpbGllbmN5UG9saWN5KFxuXHRcdHByb3BzOiBSZXNpbGllbmNlaHViUmVzaWxpZW5jeVBvbGljeUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnJlc2lsaWVuY2VodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVzaWxpZW5jeS1wb2xpY3kvJHtwcm9wcy5yZXNpbGllbmN5UG9saWN5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlc2lsaWVuY3ktcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNpbGllbmN5UG9saWN5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc2lsaWVuY3lQb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVzaWxpZW5jeS1wb2xpY3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzaWxpZW5jeVBvbGljeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUmVzaWxpZW5jZWh1YlJlc2lsaWVuY3lQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc2lsaWVuY3lQb2xpY3lBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVzaWxpZW5jeS1wb2xpY3kgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzaWxpZW5jeVBvbGljeUlkOiBtYXRjaC5ncm91cHMhLnJlc2lsaWVuY3lQb2xpY3lJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2UocHJvcHM6IFJlc2lsaWVuY2VodWJTZXJ2aWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnJlc2lsaWVuY2VodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZS8ke3Byb3BzLnNlcnZpY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZpY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZUFybihhcm46IHN0cmluZyk6IFJlc2lsaWVuY2VodWJTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZpY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmljZUlkOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzeXN0ZW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc3lzdGVtKHByb3BzOiBSZXNpbGllbmNlaHViU3lzdGVtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnJlc2lsaWVuY2VodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3lzdGVtLyR7cHJvcHMuc3lzdGVtSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN5c3RlbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3lzdGVtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFN5c3RlbUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzeXN0ZW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3lzdGVtQXJuKGFybjogc3RyaW5nKTogUmVzaWxpZW5jZWh1YlN5c3RlbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3lzdGVtQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN5c3RlbSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzeXN0ZW1JZDogbWF0Y2guZ3JvdXBzIS5zeXN0ZW1JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0ZXN0LXRlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRlc3RUZW1wbGF0ZShwcm9wczogUmVzaWxpZW5jZWh1YlRlc3RUZW1wbGF0ZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRlc3QtdGVtcGxhdGUvJHtwcm9wcy50ZXN0VGVtcGxhdGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGVzdC10ZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGVzdFRlbXBsYXRlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRlc3RUZW1wbGF0ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0ZXN0LXRlbXBsYXRlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRlc3RUZW1wbGF0ZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogUmVzaWxpZW5jZWh1YlRlc3RUZW1wbGF0ZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGVzdFRlbXBsYXRlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRlc3QtdGVtcGxhdGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dGVzdFRlbXBsYXRlSWQ6IG1hdGNoLmdyb3VwcyEudGVzdFRlbXBsYXRlSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgcmVzaWxpZW5jZWh1Yi5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlc2lsaWVuY2VodWJPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpBY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6QWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NlcnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBc3NlcnRpb246IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpDcmVhdGVBc3NlcnRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUlucHV0U291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5wdXRTb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVJbnB1dFNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVQb2xpY3lcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlcG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcG9ydDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkNyZWF0ZVJlcG9ydFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVzaWxpZW5jeVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc2lsaWVuY3lQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVSZXNpbGllbmN5UG9saWN5XCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZpY2VGdW5jdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VGdW5jdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VGdW5jdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU3lzdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3lzdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlU3lzdGVtXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUZXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlVGVzdFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJKb3VybmV5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckpvdXJuZXk6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVVc2VySm91cm5leVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHA6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwQXNzZXNzbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHBJbnB1dFNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcElucHV0U291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwSW5wdXRTb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBc3NlcnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NlcnRpb246IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVBc3NlcnRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUlucHV0U291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5wdXRTb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVJbnB1dFNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3k6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNpbGllbmN5UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzaWxpZW5jeVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlRnVuY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlRnVuY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVN5c3RlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN5c3RlbTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlbGV0ZVN5c3RlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUZXN0U291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3RTb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlVGVzdFNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlckpvdXJuZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VySm91cm5leTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVVzZXJKb3VybmV5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHA6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBBc3Nlc3NtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWV0cmljc0V4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0cmljc0V4cG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlTWV0cmljc0V4cG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZhaWx1cmVNb2RlRmluZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RmFpbHVyZU1vZGVGaW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6R2V0RmFpbHVyZU1vZGVGaW5kaW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0UG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0U2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U3lzdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTeXN0ZW06IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRTeXN0ZW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUZXN0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0VGVzdFJ1blwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VGVzdFRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUZXN0VGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpHZXRUZXN0VGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlckpvdXJuZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFVzZXJKb3VybmV5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0VXNlckpvdXJuZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEFwcDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkltcG9ydEFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0UG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6SW1wb3J0UG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydFJlc291cmNlc1RvRHJhZnRBcHBWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6SW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFsYXJtUmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50UmVzb3VyY2VEcmlmdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEFzc2Vzc21lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwQ29tcG9uZW50UmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcElucHV0U291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbnB1dFNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwSW5wdXRTb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcFZlcnNpb25SZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvblJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXJ0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NlcnRpb25zOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdEFzc2VydGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXBlbmRlbmNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGVwZW5kZW5jaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdERlcGVuZGVuY2llc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZhaWx1cmVNb2RlRmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmFpbHVyZU1vZGVGaW5kaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RGYWlsdXJlTW9kZUZpbmRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnB1dFNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5wdXRTb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdElucHV0U291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY2llczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RQb2xpY2llc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXBvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlcG9ydHM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0UmVwb3J0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc2lsaWVuY3lQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNpbGllbmN5UG9saWNpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzaWxpZW5jeVBvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0UmVzb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VFdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VGdW5jdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZUZ1bmN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlRnVuY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTb3BSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U29wUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNvcFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTdWdnZXN0ZWRSZXNpbGllbmN5UG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN5c3RlbUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTeXN0ZW1FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtRXZlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTeXN0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0UmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFJ1bkV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVuRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5FdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RSdW5Tb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSdW5Tb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5Tb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0UnVucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVuczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTb3VyY2VzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVuc3VwcG9ydGVkQXBwVmVyc2lvblJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFVzZXJKb3VybmV5cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVc2VySm91cm5leXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VXNlckpvdXJuZXlzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1Ymxpc2hBcHBWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVibGlzaEFwcFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpQdWJsaXNoQXBwVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERyYWZ0QXBwVmVyc2lvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6UHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0VGVzdFNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRUZXN0U291cmNlczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlB1dFRlc3RTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpSZW1vdmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc29sdmVBcHBWZXJzaW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFwcEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFwcEFzc2Vzc21lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydEFwcEFzc2Vzc21lbnRcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRGYWlsdXJlTW9kZUFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0cmljc0V4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0cmljc0V4cG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0TWV0cmljc0V4cG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRUZXN0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6U3RhcnRUZXN0UnVuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVGVzdFJ1biBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6U3RvcFRlc3RSdW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHBWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NlcnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NlcnRpb246IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVcGRhdGVBc3NlcnRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURlcGVuZGVuY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXBlbmRlbmN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlRGVwZW5kZW5jeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6VXBkYXRlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXNpbGllbmN5UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzaWxpZW5jeVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZUZ1bmN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUZ1bmN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlU2VydmljZUZ1bmN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVN5c3RlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN5c3RlbTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlVwZGF0ZVN5c3RlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVcGRhdGVUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVVc2VySm91cm5leSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJKb3VybmV5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlVXNlckpvdXJuZXlcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHJlc2lsaWVuY2VodWIuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc2lsaWVuY3lQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzaWxpZW5jeVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRBcHBBc3Nlc3NtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXBwQXNzZXNzbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19