@cdk_utils/iam 1.21.0 → 1.23.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.
- package/.jsii +5378 -4374
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.d.ts +32 -0
- package/lib/generated/services/aidevops.js +71 -5
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +5 -6
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.d.ts +6 -0
- package/lib/generated/services/batch.js +14 -5
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.d.ts +51 -0
- package/lib/generated/services/bedrock-agentcore.js +67 -9
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +4 -4
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +25 -15
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.js +4 -4
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.js +4 -4
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.d.ts +4 -0
- package/lib/generated/services/connect.js +19 -7
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.js +6 -6
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +7 -5
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.d.ts +2 -0
- package/lib/generated/services/glue.js +7 -5
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.js +4 -4
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.d.ts +4 -0
- package/lib/generated/services/invoicing.js +13 -5
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +4 -4
- package/lib/generated/services/omics.js +4 -4
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +4 -4
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.d.ts +8 -0
- package/lib/generated/services/resiliencehub.js +19 -5
- package/lib/generated/services/resource-explorer-2.js +4 -4
- package/lib/generated/services/resource-explorer.js +1 -1
- package/lib/generated/services/resource-groups.js +4 -4
- package/lib/generated/services/rhelkb.js +1 -1
- package/lib/generated/services/robomaker.js +3 -3
- package/lib/generated/services/rolesanywhere.js +4 -4
- package/lib/generated/services/route53-recovery-cluster.js +4 -4
- package/lib/generated/services/route53-recovery-control-config.js +4 -4
- package/lib/generated/services/route53-recovery-readiness.js +4 -4
- package/lib/generated/services/route53.js +4 -4
- package/lib/generated/services/route53domains.js +2 -2
- package/lib/generated/services/route53globalresolver.js +4 -4
- package/lib/generated/services/route53profiles.js +4 -4
- package/lib/generated/services/route53resolver.js +4 -4
- package/lib/generated/services/rtbfabric.js +4 -4
- package/lib/generated/services/rum.js +4 -4
- package/lib/generated/services/s3-object-lambda.js +3 -3
- package/lib/generated/services/s3-outposts.js +4 -4
- package/lib/generated/services/s3.js +4 -4
- package/lib/generated/services/s3express.js +3 -3
- package/lib/generated/services/s3files.js +4 -4
- package/lib/generated/services/s3tables.js +4 -4
- package/lib/generated/services/s3vectors.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.d.ts +2 -0
- package/lib/generated/services/sagemaker.js +7 -6
- package/lib/generated/services/savingsplans.js +4 -4
- package/lib/generated/services/scheduler.js +4 -4
- package/lib/generated/services/schemas.js +4 -4
- package/lib/generated/services/scn.js +4 -4
- package/lib/generated/services/sdb.js +3 -3
- package/lib/generated/services/secretsmanager.js +4 -4
- package/lib/generated/services/security-ir.js +4 -4
- package/lib/generated/services/securityagent.js +4 -4
- package/lib/generated/services/securityhub.js +4 -4
- package/lib/generated/services/securitylake.js +4 -4
- package/lib/generated/services/serverlessrepo.js +4 -4
- package/lib/generated/services/servicecatalog.js +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.js +4 -4
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.d.ts +6 -0
- package/lib/generated/services/vpc-lattice-svcs.js +12 -4
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +6 -6
|
@@ -16,7 +16,7 @@ class ECSActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.ECSActions = ECSActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
ECSActions[_a] = { fqn: "@cdk_utils/iam.ecs.ECSActions", version: "1.
|
|
19
|
+
ECSActions[_a] = { fqn: "@cdk_utils/iam.ecs.ECSActions", version: "1.23.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
ECSActions.SERVICE_PREFIX = "ecs";
|
|
22
22
|
/** [PermissionManagement] ecs:AllowVendedLogDeliveryForResource */
|
|
@@ -677,7 +677,7 @@ class ECSResources {
|
|
|
677
677
|
}
|
|
678
678
|
exports.ECSResources = ECSResources;
|
|
679
679
|
_b = JSII_RTTI_SYMBOL_1;
|
|
680
|
-
ECSResources[_b] = { fqn: "@cdk_utils/iam.ecs.ECSResources", version: "1.
|
|
680
|
+
ECSResources[_b] = { fqn: "@cdk_utils/iam.ecs.ECSResources", version: "1.23.0" };
|
|
681
681
|
/**
|
|
682
682
|
* API operation to required IAM actions mapping for ecs.
|
|
683
683
|
*/
|
|
@@ -685,7 +685,7 @@ class ECSOperations {
|
|
|
685
685
|
}
|
|
686
686
|
exports.ECSOperations = ECSOperations;
|
|
687
687
|
_c = JSII_RTTI_SYMBOL_1;
|
|
688
|
-
ECSOperations[_c] = { fqn: "@cdk_utils/iam.ecs.ECSOperations", version: "1.
|
|
688
|
+
ECSOperations[_c] = { fqn: "@cdk_utils/iam.ecs.ECSOperations", version: "1.23.0" };
|
|
689
689
|
/** IAM actions required for the ContinueServiceDeployment API call. */
|
|
690
690
|
ECSOperations.ContinueServiceDeployment = [
|
|
691
691
|
"ecs:ContinueServiceDeployment",
|
|
@@ -1148,7 +1148,7 @@ class ECSConditions {
|
|
|
1148
1148
|
}
|
|
1149
1149
|
exports.ECSConditions = ECSConditions;
|
|
1150
1150
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1151
|
-
ECSConditions[_d] = { fqn: "@cdk_utils/iam.ecs.ECSConditions", version: "1.
|
|
1151
|
+
ECSConditions[_d] = { fqn: "@cdk_utils/iam.ecs.ECSConditions", version: "1.23.0" };
|
|
1152
1152
|
/** Condition keys applicable to the CreateCapacityProvider action. */
|
|
1153
1153
|
ECSConditions.CreateCapacityProviderConditionKeys = [
|
|
1154
1154
|
"aws:RequestTag/${TagKey}",
|
|
@@ -1345,6 +1345,8 @@ ECSConditions.RunTaskConditionKeys = [
|
|
|
1345
1345
|
"ecs:cluster",
|
|
1346
1346
|
"ecs:enable-ebs-volumes",
|
|
1347
1347
|
"ecs:enable-execute-command",
|
|
1348
|
+
"ecs:task-cpu",
|
|
1349
|
+
"ecs:task-memory",
|
|
1348
1350
|
];
|
|
1349
1351
|
/** Condition keys applicable to the StartTask action. */
|
|
1350
1352
|
ECSConditions.StartTaskConditionKeys = [
|
|
@@ -1510,4 +1512,4 @@ ECSConditions.TASK_CPU = "ecs:task-cpu";
|
|
|
1510
1512
|
ECSConditions.TASK_DEFINITION = "ecs:task-definition";
|
|
1511
1513
|
/** Condition key: ecs:task-memory (Numeric) */
|
|
1512
1514
|
ECSConditions.TASK_MEMORY = "ecs:task-memory";
|
|
1513
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9lY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBbVJDOzs7QUFsUkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsbUVBQW1FO0FBQ25ELDRDQUFpQyxHQUNoRCx1Q0FBdUMsQ0FBQztBQUN6Qyw0Q0FBNEM7QUFDNUIsb0NBQXlCLEdBQUcsK0JBQStCLENBQUM7QUFDNUUseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLGdDQUFnQztBQUNoQix3QkFBYSxHQUFHLG1CQUFtQixDQUFDO0FBQ3BELCtCQUErQjtBQUNmLHVCQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDbEQsOENBQThDO0FBQzlCLHNDQUEyQixHQUMxQyxpQ0FBaUMsQ0FBQztBQUNuQyxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCx1Q0FBdUM7QUFDdkIsK0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsbUNBQW1DO0FBQ25CLDJCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELHlDQUF5QztBQUN6QixpQ0FBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCwrQkFBK0I7QUFDZix1QkFBWSxHQUFHLGtCQUFrQixDQUFDO0FBQ2xELDZDQUE2QztBQUM3QixxQ0FBMEIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM5RSw4Q0FBOEM7QUFDOUIs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QkFBNEIsQ0FBQztBQUN0RSx5REFBeUQ7QUFDekMsb0NBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFDdEUscURBQXFEO0FBQ3JDLGdDQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBQzlELG9FQUFvRTtBQUNwRCwrQ0FBaUMsR0FDaEQsdUNBQXVDLENBQUM7QUFDekMsdUNBQXVDO0FBQ3ZCLHFCQUFPLEdBQUcsYUFBYSxDQUFDO0FBQ3hDLG1FQUFtRTtBQUNuRCxnREFBa0MsR0FDakQsd0NBQXdDLENBQUM7QUFDMUMseUNBQXlDO0FBQ3pCLHVCQUFTLEdBQUcsZUFBZSxDQUFDO0FBQzVDLDZDQUE2QztBQUM3Qix3QkFBVSxHQUFHLGdCQUFnQixDQUFDO0FBQzlDLGlEQUFpRDtBQUNqQyw0QkFBYyxHQUFHLG9CQUFvQixDQUFDO0FBQ3RELHVDQUF1QztBQUN2QixxQkFBTyxHQUFHLGFBQWEsQ0FBQztBQUN4QyxnREFBZ0Q7QUFDaEMsb0JBQU0sR0FBRyxZQUFZLENBQUM7QUFDdEMsb0NBQW9DO0FBQ3BCLGtCQUFJLEdBQUcsVUFBVSxDQUFDO0FBQ2xDLDRDQUE0QztBQUM1QixzQkFBUSxHQUFHLGNBQWMsQ0FBQztBQUMxQywrQ0FBK0M7QUFDL0IsNkJBQWUsR0FBRyxxQkFBcUIsQ0FBQztBQUN4RCwrQ0FBK0M7QUFDL0IseUJBQVcsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2Vjcy5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgZWNzIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBFQ1NBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiZWNzXCI7XG5cblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gZWNzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlID1cblx0XHRcImVjczpBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNvbnRpbnVlU2VydmljZURlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbnRpbnVlU2VydmljZURlcGxveW1lbnQgPSBcImVjczpDb250aW51ZVNlcnZpY2VEZXBsb3ltZW50XCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDcmVhdGVDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyID0gXCJlY3M6Q3JlYXRlQ2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q3JlYXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3RlciA9IFwiZWNzOkNyZWF0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZURhZW1vbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGFlbW9uID0gXCJlY3M6Q3JlYXRlRGFlbW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSA9XG5cdFx0XCJlY3M6Q3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDcmVhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlID0gXCJlY3M6Q3JlYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q3JlYXRlVGFza1NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFza1NldCA9IFwiZWNzOkNyZWF0ZVRhc2tTZXRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZUFjY291bnRTZXR0aW5nICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2NvdW50U2V0dGluZyA9IFwiZWNzOkRlbGV0ZUFjY291bnRTZXR0aW5nXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdHRyaWJ1dGVzID0gXCJlY3M6RGVsZXRlQXR0cmlidXRlc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlQ2FwYWNpdHlQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FwYWNpdHlQcm92aWRlciA9IFwiZWNzOkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXIgPSBcImVjczpEZWxldGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVEYWVtb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhZW1vbiA9IFwiZWNzOkRlbGV0ZURhZW1vblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlRGFlbW9uVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uID0gXCJlY3M6RGVsZXRlRGFlbW9uVGFza0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlID1cblx0XHRcImVjczpEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2UgPSBcImVjczpEZWxldGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVUYXNrRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhc2tEZWZpbml0aW9ucyA9IFwiZWNzOkRlbGV0ZVRhc2tEZWZpbml0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlVGFza1NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza1NldCA9IFwiZWNzOkRlbGV0ZVRhc2tTZXRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlID1cblx0XHRcImVjczpEZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclRhc2tEZWZpbml0aW9uID0gXCJlY3M6RGVyZWdpc3RlclRhc2tEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnMgPSBcImVjczpEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlQ2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlcnMgPSBcImVjczpEZXNjcmliZUNsdXN0ZXJzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlcyA9IFwiZWNzOkRlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlRGFlbW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vbiA9IFwiZWNzOkRlc2NyaWJlRGFlbW9uXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlRGFlbW9uRGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uRGVwbG95bWVudHMgPSBcImVjczpEZXNjcmliZURhZW1vbkRlcGxveW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlRGFlbW9uUmV2aXNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vblJldmlzaW9ucyA9IFwiZWNzOkRlc2NyaWJlRGFlbW9uUmV2aXNpb25zXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb24gPVxuXHRcdFwiZWNzOkRlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlID1cblx0XHRcImVjczpEZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZVwiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHMgPSBcImVjczpEZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50c1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZVNlcnZpY2VSZXZpc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZVJldmlzaW9ucyA9IFwiZWNzOkRlc2NyaWJlU2VydmljZVJldmlzaW9uc1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZVNlcnZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VzID0gXCJlY3M6RGVzY3JpYmVTZXJ2aWNlc1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZVRhc2tEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tEZWZpbml0aW9uID0gXCJlY3M6RGVzY3JpYmVUYXNrRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZVRhc2tTZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tTZXRzID0gXCJlY3M6RGVzY3JpYmVUYXNrU2V0c1wiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZVRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tzID0gXCJlY3M6RGVzY3JpYmVUYXNrc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGlzY292ZXJQb2xsRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2NvdmVyUG9sbEVuZHBvaW50ID0gXCJlY3M6RGlzY292ZXJQb2xsRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkV4ZWN1dGVDb21tYW5kICovXG5cdHN0YXRpYyByZWFkb25seSBFeGVjdXRlQ29tbWFuZCA9IFwiZWNzOkV4ZWN1dGVDb21tYW5kXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkdldFRhc2tQcm90ZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUYXNrUHJvdGVjdGlvbiA9IFwiZWNzOkdldFRhc2tQcm90ZWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkxpc3RBY2NvdW50U2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY2NvdW50U2V0dGluZ3MgPSBcImVjczpMaXN0QWNjb3VudFNldHRpbmdzXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXR0cmlidXRlcyA9IFwiZWNzOkxpc3RBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RDbHVzdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsdXN0ZXJzID0gXCJlY3M6TGlzdENsdXN0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RDb250YWluZXJJbnN0YW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb250YWluZXJJbnN0YW5jZXMgPSBcImVjczpMaXN0Q29udGFpbmVySW5zdGFuY2VzXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3REYWVtb25EZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vbkRlcGxveW1lbnRzID0gXCJlY3M6TGlzdERhZW1vbkRlcGxveW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3REYWVtb25UYXNrRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25UYXNrRGVmaW5pdGlvbnMgPSBcImVjczpMaXN0RGFlbW9uVGFza0RlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3REYWVtb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9ucyA9IFwiZWNzOkxpc3REYWVtb25zXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RTZXJ2aWNlRGVwbG95bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRGVwbG95bWVudHMgPSBcImVjczpMaXN0U2VydmljZURlcGxveW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RTZXJ2aWNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzID0gXCJlY3M6TGlzdFNlcnZpY2VzXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXNCeU5hbWVzcGFjZSA9IFwiZWNzOkxpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImVjczpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza0RlZmluaXRpb25GYW1pbGllcyA9IFwiZWNzOkxpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RUYXNrRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrRGVmaW5pdGlvbnMgPSBcImVjczpMaXN0VGFza0RlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gZWNzOkxpc3RUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tzID0gXCJlY3M6TGlzdFRhc2tzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQb2xsICovXG5cdHN0YXRpYyByZWFkb25seSBQb2xsID0gXCJlY3M6UG9sbFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6UHV0QWNjb3VudFNldHRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnRTZXR0aW5nID0gXCJlY3M6UHV0QWNjb3VudFNldHRpbmdcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlB1dEFjY291bnRTZXR0aW5nRGVmYXVsdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmdEZWZhdWx0ID0gXCJlY3M6UHV0QWNjb3VudFNldHRpbmdEZWZhdWx0XCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQdXRBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBdHRyaWJ1dGVzID0gXCJlY3M6UHV0QXR0cmlidXRlc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6UHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnMgPVxuXHRcdFwiZWNzOlB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVyc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6UHV0U3lzdGVtTG9nRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTeXN0ZW1Mb2dFdmVudHMgPSBcImVjczpQdXRTeXN0ZW1Mb2dFdmVudHNcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UgPSBcImVjczpSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uID1cblx0XHRcImVjczpSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpSZWdpc3RlclRhc2tEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhc2tEZWZpbml0aW9uID0gXCJlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6UnVuVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUnVuVGFzayA9IFwiZWNzOlJ1blRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN0YXJ0VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUYXNrID0gXCJlY3M6U3RhcnRUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdGFydFRlbGVtZXRyeVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGVsZW1ldHJ5U2Vzc2lvbiA9IFwiZWNzOlN0YXJ0VGVsZW1ldHJ5U2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3RvcFNlcnZpY2VEZXBsb3ltZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wU2VydmljZURlcGxveW1lbnQgPSBcImVjczpTdG9wU2VydmljZURlcGxveW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN0b3BUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVGFzayA9IFwiZWNzOlN0b3BUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzID1cblx0XHRcImVjczpTdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0Q29udGFpbmVyU3RhdGVDaGFuZ2UgPSBcImVjczpTdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3VibWl0VGFza1N0YXRlQ2hhbmdlICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRUYXNrU3RhdGVDaGFuZ2UgPSBcImVjczpTdWJtaXRUYXNrU3RhdGVDaGFuZ2VcIjtcblx0LyoqIFtUYWdnaW5nXSBlY3M6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJlY3M6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBlY3M6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwiZWNzOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIgPSBcImVjczpVcGRhdGVDYXBhY2l0eVByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyID0gXCJlY3M6VXBkYXRlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlQ2x1c3RlclNldHRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbHVzdGVyU2V0dGluZ3MgPSBcImVjczpVcGRhdGVDbHVzdGVyU2V0dGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZUNvbnRhaW5lckFnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250YWluZXJBZ2VudCA9IFwiZWNzOlVwZGF0ZUNvbnRhaW5lckFnZW50XCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGUgPVxuXHRcdFwiZWNzOlVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVEYWVtb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhZW1vbiA9IFwiZWNzOlVwZGF0ZURhZW1vblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgPVxuXHRcdFwiZWNzOlVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZSA9IFwiZWNzOlVwZGF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0ID1cblx0XHRcImVjczpVcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZVRhc2tQcm90ZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXNrUHJvdGVjdGlvbiA9IFwiZWNzOlVwZGF0ZVRhc2tQcm90ZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVUYXNrU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXNrU2V0ID0gXCJlY3M6VXBkYXRlVGFza1NldFwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVycyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlQ2x1c3RlcnMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZUNvbnRhaW5lckluc3RhbmNlcyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlRGFlbW9uLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVEYWVtb25EZXBsb3ltZW50cyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlRGFlbW9uUmV2aXNpb25zLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvbixcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VSZXZpc2lvbnMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVUYXNrRGVmaW5pdGlvbixcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlVGFza1NldHMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZVRhc2tzLFxuXHRcdEVDU0FjdGlvbnMuYWN0aW9uR2V0VGFza1Byb3RlY3Rpb24sXG5cdFx0RUNTQWN0aW9ucy5MaXN0QWNjb3VudFNldHRpbmdzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFQ1NBY3Rpb25zLkNvbnRpbnVlU2VydmljZURlcGxveW1lbnQsXG5cdFx0RUNTQWN0aW9ucy5DcmVhdGVDYXBhY2l0eVByb3ZpZGVyLFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlQ2x1c3Rlcixcblx0XHRFQ1NBY3Rpb25zLkNyZWF0ZURhZW1vbixcblx0XHRFQ1NBY3Rpb25zLkNyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLkNyZWF0ZVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5DcmVhdGVUYXNrU2V0LFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlQWNjb3VudFNldHRpbmcsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVBdHRyaWJ1dGVzLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlQ2FwYWNpdHlQcm92aWRlcixcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZUNsdXN0ZXIsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVEYWVtb24sXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvbixcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVUYXNrRGVmaW5pdGlvbnMsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVUYXNrU2V0LFxuXHRcdEVDU0FjdGlvbnMuRGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlLFxuXHRcdEVDU0FjdGlvbnMuRGVyZWdpc3RlclRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuRGlzY292ZXJQb2xsRW5kcG9pbnQsXG5cdFx0RUNTQWN0aW9ucy5FeGVjdXRlQ29tbWFuZCxcblx0XHRFQ1NBY3Rpb25zLlBvbGwsXG5cdFx0RUNTQWN0aW9ucy5QdXRBY2NvdW50U2V0dGluZyxcblx0XHRFQ1NBY3Rpb25zLlB1dEFjY291bnRTZXR0aW5nRGVmYXVsdCxcblx0XHRFQ1NBY3Rpb25zLlB1dEF0dHJpYnV0ZXMsXG5cdFx0RUNTQWN0aW9ucy5QdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnMsXG5cdFx0RUNTQWN0aW9ucy5QdXRTeXN0ZW1Mb2dFdmVudHMsXG5cdFx0RUNTQWN0aW9ucy5SZWdpc3RlckNvbnRhaW5lckluc3RhbmNlLFxuXHRcdEVDU0FjdGlvbnMuUmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvbixcblx0XHRFQ1NBY3Rpb25zLlJlZ2lzdGVyVGFza0RlZmluaXRpb24sXG5cdFx0RUNTQWN0aW9ucy5SdW5UYXNrLFxuXHRcdEVDU0FjdGlvbnMuU3RhcnRUYXNrLFxuXHRcdEVDU0FjdGlvbnMuU3RhcnRUZWxlbWV0cnlTZXNzaW9uLFxuXHRcdEVDU0FjdGlvbnMuU3RvcFNlcnZpY2VEZXBsb3ltZW50LFxuXHRcdEVDU0FjdGlvbnMuU3RvcFRhc2ssXG5cdFx0RUNTQWN0aW9ucy5TdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzLFxuXHRcdEVDU0FjdGlvbnMuU3VibWl0Q29udGFpbmVyU3RhdGVDaGFuZ2UsXG5cdFx0RUNTQWN0aW9ucy5TdWJtaXRUYXNrU3RhdGVDaGFuZ2UsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVDYXBhY2l0eVByb3ZpZGVyLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlQ2x1c3Rlcixcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZUNsdXN0ZXJTZXR0aW5ncyxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZUNvbnRhaW5lckFnZW50LFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGUsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVEYWVtb24sXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0LFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlVGFza1Byb3RlY3Rpb24sXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVUYXNrU2V0LFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFQ1NBY3Rpb25zLkxpc3RBdHRyaWJ1dGVzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdENsdXN0ZXJzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdENvbnRhaW5lckluc3RhbmNlcyxcblx0XHRFQ1NBY3Rpb25zLkxpc3REYWVtb25EZXBsb3ltZW50cyxcblx0XHRFQ1NBY3Rpb25zLkxpc3REYWVtb25UYXNrRGVmaW5pdGlvbnMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0RGFlbW9ucyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RTZXJ2aWNlRGVwbG95bWVudHMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0U2VydmljZXMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0U2VydmljZXNCeU5hbWVzcGFjZSxcblx0XHRFQ1NBY3Rpb25zLkxpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFRhc2tEZWZpbml0aW9ucyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RUYXNrcyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RUNTQWN0aW9ucy5BbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVDU0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0RUNTQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2FwYWNpdHktcHJvdmlkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0NhcGFjaXR5UHJvdmlkZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2FwYWNpdHlQcm92aWRlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhcGFjaXR5UHJvdmlkZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2FwYWNpdHktcHJvdmlkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0NhcGFjaXR5UHJvdmlkZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhcGFjaXR5UHJvdmlkZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FwYWNpdHlQcm92aWRlck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0NsdXN0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29udGFpbmVyLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NDb250YWluZXJJbnN0YW5jZUFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb250YWluZXJJbnN0YW5jZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb250YWluZXJJbnN0YW5jZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29udGFpbmVyLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NDb250YWluZXJJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnRhaW5lckluc3RhbmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb250YWluZXJJbnN0YW5jZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYWVtb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vbkFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGFlbW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGFlbW9uLWRlcGxveW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vbkRlcGxveW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbkRlcGxveW1lbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uRGVwbG95bWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGFlbW9uLWRlcGxveW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vbkRlcGxveW1lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbkRlcGxveW1lbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhZW1vbkRlcGxveW1lbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZGFlbW9uLXJldmlzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25SZXZpc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uUmV2aXNpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uUmV2aXNpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhZW1vbi1yZXZpc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uUmV2aXNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vblJldmlzaW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25SZXZpc2lvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYWVtb24tdGFzay1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25UYXNrRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBEYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYWVtb24tdGFzay1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25UYXNrRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1NlcnZpY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTU2VydmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2UtZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTU2VydmljZURlcGxveW1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZURlcGxveW1lbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZURlcGxveW1lbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UtZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTU2VydmljZURlcGxveW1lbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZURlcGxveW1lbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VEZXBsb3ltZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2UtcmV2aXNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1NlcnZpY2VSZXZpc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlUmV2aXNpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZVJldmlzaW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2aWNlLXJldmlzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlUmV2aXNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZVJldmlzaW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlUmV2aXNpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTVGFza0FyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1Rhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRhc2stZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTVGFza0RlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGFza0RlZmluaXRpb25GYW1pbHlOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrRGVmaW5pdGlvbkZhbWlseU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGFzay1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NUYXNrRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0RlZmluaXRpb25GYW1pbHlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0RlZmluaXRpb25GYW1pbHlOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRhc2stc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NUYXNrU2V0QXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tTZXRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza1NldElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGFzay1zZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1Rhc2tTZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza1NldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza1NldElkOiBzdHJpbmc7XG59XG5cbmNvbnN0IENhcGFjaXR5UHJvdmlkZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2FwYWNpdHktcHJvdmlkZXJcXC8oPzxjYXBhY2l0eVByb3ZpZGVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ2x1c3RlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbHVzdGVyXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKykkLztcbmNvbnN0IENvbnRhaW5lckluc3RhbmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbnRhaW5lci1pbnN0YW5jZVxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88Y29udGFpbmVySW5zdGFuY2VJZD5bXjovP10rKSQvO1xuY29uc3QgRGFlbW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhZW1vblxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88ZGFlbW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRGFlbW9uRGVwbG95bWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYWVtb24tZGVwbG95bWVudFxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88ZGFlbW9uTmFtZT5bXjovP10rKVxcLyg/PGRhZW1vbkRlcGxveW1lbnRJZD5bXjovP10rKSQvO1xuY29uc3QgRGFlbW9uUmV2aXNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGFlbW9uLXJldmlzaW9uXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxkYWVtb25OYW1lPlteOi8/XSspXFwvKD88ZGFlbW9uUmV2aXNpb25JZD5bXjovP10rKSQvO1xuY29uc3QgRGFlbW9uVGFza0RlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGFlbW9uLXRhc2stZGVmaW5pdGlvblxcLyg/PGRhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZT5bXjovP10rKTooPzxkYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PHNlcnZpY2VOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlRGVwbG95bWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlLWRlcGxveW1lbnRcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PHNlcnZpY2VOYW1lPlteOi8/XSspXFwvKD88c2VydmljZURlcGxveW1lbnRJZD5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZVJldmlzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2UtcmV2aXNpb25cXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PHNlcnZpY2VOYW1lPlteOi8/XSspXFwvKD88c2VydmljZVJldmlzaW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFRhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGFza1xcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88dGFza0lkPlteOi8/XSspJC87XG5jb25zdCBUYXNrRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0YXNrLWRlZmluaXRpb25cXC8oPzx0YXNrRGVmaW5pdGlvbkZhbWlseU5hbWU+W146Lz9dKyk6KD88dGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcj5bXjovP10rKSQvO1xuY29uc3QgVGFza1NldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0YXNrLXNldFxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88c2VydmljZU5hbWU+W146Lz9dKylcXC8oPzx0YXNrU2V0SWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBlY3MgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgRUNTUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjYXBhY2l0eS1wcm92aWRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjYXBhY2l0eVByb3ZpZGVyKHByb3BzOiBFQ1NDYXBhY2l0eVByb3ZpZGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjYXBhY2l0eS1wcm92aWRlci8ke3Byb3BzLmNhcGFjaXR5UHJvdmlkZXJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjYXBhY2l0eS1wcm92aWRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2FwYWNpdHlQcm92aWRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDYXBhY2l0eVByb3ZpZGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNhcGFjaXR5LXByb3ZpZGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNhcGFjaXR5UHJvdmlkZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVDU0NhcGFjaXR5UHJvdmlkZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENhcGFjaXR5UHJvdmlkZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2FwYWNpdHktcHJvdmlkZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2FwYWNpdHlQcm92aWRlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2FwYWNpdHlQcm92aWRlck5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbHVzdGVyKHByb3BzOiBFQ1NDbHVzdGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbHVzdGVyLyR7cHJvcHMuY2x1c3Rlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2x1c3RlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBFQ1NDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbHVzdGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsdXN0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29udGFpbmVyLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnRhaW5lckluc3RhbmNlKHByb3BzOiBFQ1NDb250YWluZXJJbnN0YW5jZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29udGFpbmVyLWluc3RhbmNlLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuY29udGFpbmVySW5zdGFuY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29udGFpbmVyLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb250YWluZXJJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb250YWluZXJJbnN0YW5jZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb250YWluZXItaW5zdGFuY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29udGFpbmVySW5zdGFuY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVDU0NvbnRhaW5lckluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb250YWluZXJJbnN0YW5jZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb250YWluZXItaW5zdGFuY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRjb250YWluZXJJbnN0YW5jZUlkOiBtYXRjaC5ncm91cHMhLmNvbnRhaW5lckluc3RhbmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGFlbW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vbihwcm9wczogRUNTRGFlbW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYWVtb24vJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5kYWVtb25OYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYWVtb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhZW1vbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYWVtb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGFlbW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhZW1vbkFybihhcm46IHN0cmluZyk6IEVDU0RhZW1vbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGFlbW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhZW1vbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdGRhZW1vbk5hbWU6IG1hdGNoLmdyb3VwcyEuZGFlbW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYWVtb24tZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYWVtb25EZXBsb3ltZW50KHByb3BzOiBFQ1NEYWVtb25EZXBsb3ltZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYWVtb24tZGVwbG95bWVudC8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLmRhZW1vbk5hbWV9LyR7cHJvcHMuZGFlbW9uRGVwbG95bWVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYWVtb24tZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGFlbW9uRGVwbG95bWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYWVtb25EZXBsb3ltZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhZW1vbi1kZXBsb3ltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURhZW1vbkRlcGxveW1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVDU0RhZW1vbkRlcGxveW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhZW1vbkRlcGxveW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGFlbW9uLWRlcGxveW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRkYWVtb25OYW1lOiBtYXRjaC5ncm91cHMhLmRhZW1vbk5hbWUsXG5cdFx0XHRkYWVtb25EZXBsb3ltZW50SWQ6IG1hdGNoLmdyb3VwcyEuZGFlbW9uRGVwbG95bWVudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhZW1vbi1yZXZpc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYWVtb25SZXZpc2lvbihwcm9wczogRUNTRGFlbW9uUmV2aXNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhZW1vbi1yZXZpc2lvbi8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLmRhZW1vbk5hbWV9LyR7cHJvcHMuZGFlbW9uUmV2aXNpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGFlbW9uLXJldmlzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYWVtb25SZXZpc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEYWVtb25SZXZpc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYWVtb24tcmV2aXNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGFlbW9uUmV2aXNpb25Bcm4oYXJuOiBzdHJpbmcpOiBFQ1NEYWVtb25SZXZpc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGFlbW9uUmV2aXNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGFlbW9uLXJldmlzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0ZGFlbW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5kYWVtb25OYW1lLFxuXHRcdFx0ZGFlbW9uUmV2aXNpb25JZDogbWF0Y2guZ3JvdXBzIS5kYWVtb25SZXZpc2lvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhZW1vbi10YXNrLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uVGFza0RlZmluaXRpb24ocHJvcHM6IEVDU0RhZW1vblRhc2tEZWZpbml0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYWVtb24tdGFzay1kZWZpbml0aW9uLyR7cHJvcHMuZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lfToke3Byb3BzLmRhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhZW1vbi10YXNrLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhZW1vblRhc2tEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhZW1vblRhc2tEZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhZW1vbi10YXNrLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGFlbW9uVGFza0RlZmluaXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVDU0RhZW1vblRhc2tEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYWVtb25UYXNrRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYWVtb24tdGFzay1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5kYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWUsXG5cdFx0XHRkYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmRhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlKHByb3BzOiBFQ1NTZXJ2aWNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBFQ1NTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZpY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRzZXJ2aWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2aWNlLWRlcGxveW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZURlcGxveW1lbnQocHJvcHM6IEVDU1NlcnZpY2VEZXBsb3ltZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLWRlcGxveW1lbnQvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlTmFtZX0vJHtwcm9wcy5zZXJ2aWNlRGVwbG95bWVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2aWNlLWRlcGxveW1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VEZXBsb3ltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VEZXBsb3ltZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZpY2UtZGVwbG95bWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlRGVwbG95bWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTU2VydmljZURlcGxveW1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VEZXBsb3ltZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZpY2UtZGVwbG95bWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdHNlcnZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VOYW1lLFxuXHRcdFx0c2VydmljZURlcGxveW1lbnRJZDogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlRGVwbG95bWVudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UtcmV2aXNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZVJldmlzaW9uKHByb3BzOiBFQ1NTZXJ2aWNlUmV2aXNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UtcmV2aXNpb24vJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlTmFtZX0vJHtwcm9wcy5zZXJ2aWNlUmV2aXNpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmljZS1yZXZpc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZVJldmlzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VSZXZpc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlLXJldmlzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VSZXZpc2lvbkFybihhcm46IHN0cmluZyk6IEVDU1NlcnZpY2VSZXZpc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZVJldmlzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZpY2UtcmV2aXNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRzZXJ2aWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlTmFtZSxcblx0XHRcdHNlcnZpY2VSZXZpc2lvbklkOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VSZXZpc2lvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFzayhwcm9wczogRUNTVGFza0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFzay8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLnRhc2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUYXNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFza0Fybihhcm46IHN0cmluZyk6IEVDU1Rhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFzayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdHRhc2tJZDogbWF0Y2guZ3JvdXBzIS50YXNrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGFzay1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRhc2tEZWZpbml0aW9uKHByb3BzOiBFQ1NUYXNrRGVmaW5pdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFzay1kZWZpbml0aW9uLyR7cHJvcHMudGFza0RlZmluaXRpb25GYW1pbHlOYW1lfToke3Byb3BzLnRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXJ9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRhc2stZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFza0RlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVGFza0RlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGFzay1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRhc2tEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogRUNTVGFza0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhc2tEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRhc2stZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0YXNrRGVmaW5pdGlvbkZhbWlseU5hbWU6IG1hdGNoLmdyb3VwcyEudGFza0RlZmluaXRpb25GYW1pbHlOYW1lLFxuXHRcdFx0dGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjogbWF0Y2guZ3JvdXBzIS50YXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRhc2stc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRhc2tTZXQocHJvcHM6IEVDU1Rhc2tTZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRhc2stc2V0LyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZU5hbWV9LyR7cHJvcHMudGFza1NldElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0YXNrLXNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFza1NldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUYXNrU2V0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRhc2stc2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRhc2tTZXRBcm4oYXJuOiBzdHJpbmcpOiBFQ1NUYXNrU2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUYXNrU2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRhc2stc2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0c2VydmljZU5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmljZU5hbWUsXG5cdFx0XHR0YXNrU2V0SWQ6IG1hdGNoLmdyb3VwcyEudGFza1NldElkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGVjcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVDU09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb250aW51ZVNlcnZpY2VEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29udGludWVTZXJ2aWNlRGVwbG95bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q29udGludWVTZXJ2aWNlRGVwbG95bWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlQ2FwYWNpdHlQcm92aWRlclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNyZWF0ZUNsdXN0ZXJcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEYWVtb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYWVtb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNyZWF0ZURhZW1vblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDcmVhdGVDbHVzdGVyXCIsXG5cdFx0XCJlY3M6Q3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpSZWdpc3RlclRhc2tEZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNyZWF0ZVNlcnZpY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRhc2tTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXNrU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDcmVhdGVUYXNrU2V0XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBY2NvdW50U2V0dGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnRTZXR0aW5nOiBzdHJpbmdbXSA9IFtcImVjczpEZWxldGVBY2NvdW50U2V0dGluZ1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZUF0dHJpYnV0ZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNhcGFjaXR5UHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZWxldGVDYXBhY2l0eVByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6UHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcImVjczpEZWxldGVDbHVzdGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYWVtb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYWVtb246IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZURhZW1vblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGFlbW9uVGFza0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVsZXRlRGFlbW9uVGFza0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZVNlcnZpY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRhc2tEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhc2tEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVsZXRlVGFza0RlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRhc2tTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXNrU2V0OiBzdHJpbmdbXSA9IFtcImVjczpEZWxldGVUYXNrU2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyVGFza0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFza0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVyczogc3RyaW5nW10gPSBbXCJlY3M6RGVzY3JpYmVDbHVzdGVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYWVtb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vbjogc3RyaW5nW10gPSBbXCJlY3M6RGVzY3JpYmVEYWVtb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGFlbW9uRGVwbG95bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vbkRlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZURhZW1vbkRlcGxveW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGFlbW9uUmV2aXNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb25SZXZpc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlRGFlbW9uUmV2aXNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vblRhc2tEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZURhZW1vblRhc2tEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VydmljZURlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlU2VydmljZURlcGxveW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VydmljZVJldmlzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZVJldmlzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VzOiBzdHJpbmdbXSA9IFtcImVjczpEZXNjcmliZVNlcnZpY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRhc2tEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVUYXNrRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRhc2tTZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrU2V0czogc3RyaW5nW10gPSBbXCJlY3M6RGVzY3JpYmVUYXNrU2V0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza3M6IHN0cmluZ1tdID0gW1wiZWNzOkRlc2NyaWJlVGFza3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2NvdmVyUG9sbEVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY292ZXJQb2xsRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1wiZWNzOkRpc2NvdmVyUG9sbEVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBFeGVjdXRlQ29tbWFuZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4ZWN1dGVDb21tYW5kOiBzdHJpbmdbXSA9IFtcImVjczpFeGVjdXRlQ29tbWFuZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VGFza1Byb3RlY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRhc2tQcm90ZWN0aW9uOiBzdHJpbmdbXSA9IFtcImVjczpHZXRUYXNrUHJvdGVjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjY291bnRTZXR0aW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBY2NvdW50U2V0dGluZ3M6IHN0cmluZ1tdID0gW1wiZWNzOkxpc3RBY2NvdW50U2V0dGluZ3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1wiZWNzOkxpc3RBdHRyaWJ1dGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2x1c3RlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlcnM6IHN0cmluZ1tdID0gW1wiZWNzOkxpc3RDbHVzdGVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbnRhaW5lckluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb250YWluZXJJbnN0YW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3RDb250YWluZXJJbnN0YW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhZW1vbkRlcGxveW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vbkRlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpMaXN0RGFlbW9uRGVwbG95bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhZW1vblRhc2tEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25UYXNrRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3REYWVtb25UYXNrRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhZW1vbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdERhZW1vbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlRGVwbG95bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZURlcGxveW1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpMaXN0U2VydmljZURlcGxveW1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdFNlcnZpY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXNCeU5hbWVzcGFjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpMaXN0U2VydmljZXNCeU5hbWVzcGFjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJlY3M6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza0RlZmluaXRpb25GYW1pbGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6TGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhc2tEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1wiZWNzOkxpc3RUYXNrRGVmaW5pdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdFRhc2tzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBY2NvdW50U2V0dGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnRTZXR0aW5nOiBzdHJpbmdbXSA9IFtcImVjczpQdXRBY2NvdW50U2V0dGluZ1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QWNjb3VudFNldHRpbmdEZWZhdWx0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmdEZWZhdWx0OiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0QXR0cmlidXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEF0dHJpYnV0ZXM6IHN0cmluZ1tdID0gW1wiZWNzOlB1dEF0dHJpYnV0ZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6UHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyVGFza0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhc2tEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb25cIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSdW5UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUnVuVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpSdW5UYXNrXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlN0YXJ0VGFza1wiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BTZXJ2aWNlRGVwbG95bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTZXJ2aWNlRGVwbG95bWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6U3RvcFNlcnZpY2VEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRhc2s6IHN0cmluZ1tdID0gW1wiZWNzOlN0b3BUYXNrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0QXR0YWNobWVudFN0YXRlQ2hhbmdlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6U3VibWl0QXR0YWNobWVudFN0YXRlQ2hhbmdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpTdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRUYXNrU3RhdGVDaGFuZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRUYXNrU3RhdGVDaGFuZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlN1Ym1pdFRhc2tTdGF0ZUNoYW5nZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImVjczpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZWNzOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVyc1wiLFxuXHRcdFwiZWNzOlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wiZWNzOlVwZGF0ZUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsdXN0ZXJTZXR0aW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTZXR0aW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6VXBkYXRlQ2x1c3RlclNldHRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRhaW5lckFnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVyQWdlbnQ6IHN0cmluZ1tdID0gW1wiZWNzOlVwZGF0ZUNvbnRhaW5lckFnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpVcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEYWVtb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEYWVtb246IHN0cmluZ1tdID0gW1wiaWFtOlBhc3NSb2xlXCIsIFwiZWNzOlVwZGF0ZURhZW1vblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb25cIixcblx0XHRcImVjczpVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6VXBkYXRlU2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUYXNrUHJvdGVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tQcm90ZWN0aW9uOiBzdHJpbmdbXSA9IFtcImVjczpVcGRhdGVUYXNrUHJvdGVjdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGFza1NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tTZXQ6IHN0cmluZ1tdID0gW1wiZWNzOlVwZGF0ZVRhc2tTZXRcIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBlY3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBFQ1NDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb25cIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURhZW1vbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYWVtb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRcdFwiZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25cIixcblx0XHRcImVjczplbmFibGUtZWNzLW1hbmFnZWQtdGFnc1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmRcIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczplbmFibGUtZWNzLW1hbmFnZWQtdGFnc1wiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdFx0XCJlY3M6c3VibmV0XCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLWRlZmluaXRpb25cIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2VydmljZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6YXV0by1hc3NpZ24tcHVibGljLWlwXCIsXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczplbmFibGUtZWJzLXZvbHVtZXNcIixcblx0XHRcImVjczplbmFibGUtZWNzLW1hbmFnZWQtdGFnc1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmRcIixcblx0XHRcImVjczplbmFibGUtc2VydmljZS1jb25uZWN0XCIsXG5cdFx0XCJlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlXCIsXG5cdFx0XCJlY3M6bmFtZXNwYWNlXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XHRcImVjczpzdWJuZXRcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stZGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUYXNrU2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhc2tTZXRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XHRcImVjczpzZXJ2aWNlXCIsXG5cdFx0XCJlY3M6dGFzay1kZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBY2NvdW50U2V0dGluZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2NvdW50U2V0dGluZ0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOmFjY291bnQtc2V0dGluZ1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQXR0cmlidXRlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdHRyaWJ1dGVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQ2FwYWNpdHlQcm92aWRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVUYXNrRGVmaW5pdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza0RlZmluaXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVUYXNrU2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhc2tTZXRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdFx0XCJlY3M6c2VydmljZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlU2VydmljZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlVGFza1NldHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrU2V0c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XHRcImVjczpzZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVRhc2tzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBFeGVjdXRlQ29tbWFuZCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBFeGVjdXRlQ29tbWFuZENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XHRcImVjczpjb250YWluZXItbmFtZVwiLFxuXHRcdFwiZWNzOnRhc2tcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFRhc2tQcm90ZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRhc2tQcm90ZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdERhZW1vbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImVjczpjbHVzdGVyXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFNlcnZpY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiZWNzOmNsdXN0ZXJcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0U2VydmljZXNCeU5hbWVzcGFjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXNCeU5hbWVzcGFjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOm5hbWVzcGFjZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFza3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUG9sbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQb2xsQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJlY3M6Y2x1c3RlclwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnRTZXR0aW5nIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFjY291bnRTZXR0aW5nQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6YWNjb3VudC1zZXR0aW5nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmdEZWZhdWx0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6YWNjb3VudC1zZXR0aW5nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRBdHRyaWJ1dGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEF0dHJpYnV0ZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6cHJpdmlsZWdlZFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlZ2lzdGVyVGFza0RlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmNvbXB1dGUtY29tcGF0aWJpbGl0eVwiLFxuXHRcdFwiZWNzOnByaXZpbGVnZWRcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSdW5UYXNrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJ1blRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XHRcImVjczplbmFibGUtZWJzLXZvbHVtZXNcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIixcblx0XHRcImVjczplbmFibGUtZWJzLXZvbHVtZXNcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRlbGVtZXRyeVNlc3Npb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZWxlbWV0cnlTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RvcFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOkNyZWF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6aW5zdGFuY2UtbWV0YWRhdGEtdGFncy1wcm9wYWdhdGlvblwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUNvbnRhaW5lckFnZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckFnZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEYWVtb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGFlbW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczpkYWVtb24tdGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRcdFwiZWNzOnN1Ym5ldFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVicy12b2x1bWVzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdFwiLFxuXHRcdFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiLFxuXHRcdFwiZWNzOm5hbWVzcGFjZVwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdFx0XCJlY3M6c3VibmV0XCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLWRlZmluaXRpb25cIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVRhc2tQcm90ZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tQcm90ZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVGFza1NldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXNrU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJlY3M6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcImVjczpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczphY2NvdW50LXNldHRpbmcgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFDQ09VTlRfU0VUVElORyA9IFwiZWNzOmFjY291bnQtc2V0dGluZ1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVE9fQVNTSUdOX1BVQkxJQ19JUCA9IFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmNhcGFjaXR5LXByb3ZpZGVyIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0FQQUNJVFlfUFJPVklERVIgPSBcImVjczpjYXBhY2l0eS1wcm92aWRlclwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmNsdXN0ZXIgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IENMVVNURVIgPSBcImVjczpjbHVzdGVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5IChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09NUFVURV9DT01QQVRJQklMSVRZID0gXCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Y29udGFpbmVyLWluc3RhbmNlcyAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09OVEFJTkVSX0lOU1RBTkNFUyA9IFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpjb250YWluZXItbmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09OVEFJTkVSX05BTUUgPSBcImVjczpjb250YWluZXItbmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmRhZW1vbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFFTU9OID0gXCJlY3M6ZGFlbW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFFTU9OX1RBU0tfREVGSU5JVElPTiA9IFwiZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczplbmFibGUtZWJzLXZvbHVtZXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9FQlNfVk9MVU1FUyA9IFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX0VDU19NQU5BR0VEX1RBR1MgPSBcImVjczplbmFibGUtZWNzLW1hbmFnZWQtdGFnc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9FWEVDVVRFX0NPTU1BTkQgPSBcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX1NFUlZJQ0VfQ09OTkVDVCA9IFwiZWNzOmVuYWJsZS1zZXJ2aWNlLWNvbm5lY3RcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczplbmFibGUtdnBjLWxhdHRpY2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9WUENfTEFUVElDRSA9IFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkFSR0FURV9FUEhFTUVSQUxfU1RPUkFHRV9LTVNfS0VZID1cblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpnYXRld2F5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHQVRFV0FZID0gXCJlY3M6Z2F0ZXdheVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlNUQU5DRV9NRVRBREFUQV9UQUdTX1BST1BBR0FUSU9OID1cblx0XHRcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6bmFtZXNwYWNlIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBOQU1FU1BBQ0UgPSBcImVjczpuYW1lc3BhY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpwcml2aWxlZ2VkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUklWSUxFR0VEID0gXCJlY3M6cHJpdmlsZWdlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnByb3BhZ2F0ZS10YWdzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUk9QQUdBVEVfVEFHUyA9IFwiZWNzOnByb3BhZ2F0ZS10YWdzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6c2VydmljZSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRSA9IFwiZWNzOnNlcnZpY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpzdWJuZXQgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTVUJORVQgPSBcImVjczpzdWJuZXRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczp0YXNrIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLID0gXCJlY3M6dGFza1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnRhc2stY3B1IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFTS19DUFUgPSBcImVjczp0YXNrLWNwdVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnRhc2stZGVmaW5pdGlvbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFTS19ERUZJTklUSU9OID0gXCJlY3M6dGFzay1kZWZpbml0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6dGFzay1tZW1vcnkgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLX01FTU9SWSA9IFwiZWNzOnRhc2stbWVtb3J5XCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpDcmVhdGVBY3Rpb25gLlxuXHQgKi9cblx0c3RhdGljIGNyZWF0ZUFjdGlvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpDcmVhdGVBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczphY2NvdW50LXNldHRpbmdgLlxuXHQgKi9cblx0c3RhdGljIGFjY291bnRTZXR0aW5nKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmFjY291bnQtc2V0dGluZ1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcGAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b0Fzc2lnblB1YmxpY0lQKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlY3M6YXV0by1hc3NpZ24tcHVibGljLWlwXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y2FwYWNpdHktcHJvdmlkZXJgLlxuXHQgKi9cblx0c3RhdGljIGNhcGFjaXR5UHJvdmlkZXIoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHsgXCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y2x1c3RlcmAuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImVjczpjbHVzdGVyXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5YC5cblx0ICovXG5cdHN0YXRpYyBjb21wdXRlQ29tcGF0aWJpbGl0eShcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNgLlxuXHQgKi9cblx0c3RhdGljIGNvbnRhaW5lckluc3RhbmNlcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpjb250YWluZXItbmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgY29udGFpbmVyTmFtZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpjb250YWluZXItbmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmRhZW1vbmAuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOmRhZW1vblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vblRhc2tEZWZpbml0aW9uKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmVuYWJsZS1lYnMtdm9sdW1lc2AuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlRUJTVm9sdW1lcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVFQ1NNYW5hZ2VkVGFncyhcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZGAuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlRXhlY3V0ZUNvbW1hbmQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdGAuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlU2VydmljZUNvbm5lY3QoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczplbmFibGUtc2VydmljZS1jb25uZWN0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVWUENMYXR0aWNlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZmFyZ2F0ZS1lcGhlbWVyYWwtc3RvcmFnZS1rbXMta2V5YC5cblx0ICovXG5cdHN0YXRpYyBmYXJnYXRlRXBoZW1lcmFsU3RvcmFnZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmdhdGV3YXlgLlxuXHQgKi9cblx0c3RhdGljIGdhdGV3YXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6Z2F0ZXdheVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlTWV0YWRhdGFUYWdzUHJvcGFnYXRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6bmFtZXNwYWNlYC5cblx0ICovXG5cdHN0YXRpYyBuYW1lc3BhY2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6bmFtZXNwYWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6cHJpdmlsZWdlZGAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpdmlsZWdlZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpwcml2aWxlZ2VkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6cHJvcGFnYXRlLXRhZ3NgLlxuXHQgKi9cblx0c3RhdGljIHByb3BhZ2F0ZVRhZ3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlY3M6cHJvcGFnYXRlLXRhZ3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpzZXJ2aWNlYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOnNlcnZpY2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpzdWJuZXRgLlxuXHQgKi9cblx0c3RhdGljIHN1Ym5ldCh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlY3M6c3VibmV0XCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2tgLlxuXHQgKi9cblx0c3RhdGljIHRhc2sodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6dGFza1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2stY3B1YC5cblx0ICovXG5cdHN0YXRpYyB0YXNrQ3B1KHZhbHVlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVjczp0YXNrLWNwdVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2stZGVmaW5pdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgdGFza0RlZmluaXRpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6dGFzay1kZWZpbml0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6dGFzay1tZW1vcnlgLlxuXHQgKi9cblx0c3RhdGljIHRhc2tNZW1vcnkodmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWNzOnRhc2stbWVtb3J5XCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
|
|
1515
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9lY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBbVJDOzs7QUFsUkEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsbUVBQW1FO0FBQ25ELDRDQUFpQyxHQUNoRCx1Q0FBdUMsQ0FBQztBQUN6Qyw0Q0FBNEM7QUFDNUIsb0NBQXlCLEdBQUcsK0JBQStCLENBQUM7QUFDNUUseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLGdDQUFnQztBQUNoQix3QkFBYSxHQUFHLG1CQUFtQixDQUFDO0FBQ3BELCtCQUErQjtBQUNmLHVCQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDbEQsOENBQThDO0FBQzlCLHNDQUEyQixHQUMxQyxpQ0FBaUMsQ0FBQztBQUNuQyxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCx1Q0FBdUM7QUFDdkIsK0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsbUNBQW1DO0FBQ25CLDJCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELHlDQUF5QztBQUN6QixpQ0FBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCwrQkFBK0I7QUFDZix1QkFBWSxHQUFHLGtCQUFrQixDQUFDO0FBQ2xELDZDQUE2QztBQUM3QixxQ0FBMEIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM5RSw4Q0FBOEM7QUFDOUIs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QXlEO0FBQ3pDLG9DQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHlEQUF5RDtBQUN6QyxvQ0FBc0IsR0FBRyw0QkFBNEIsQ0FBQztBQUN0RSxxREFBcUQ7QUFDckMsZ0NBQWtCLEdBQUcsd0JBQXdCLENBQUM7QUFDOUQsb0VBQW9FO0FBQ3BELCtDQUFpQyxHQUNoRCx1Q0FBdUMsQ0FBQztBQUN6Qyx1Q0FBdUM7QUFDdkIscUJBQU8sR0FBRyxhQUFhLENBQUM7QUFDeEMsbUVBQW1FO0FBQ25ELGdEQUFrQyxHQUNqRCx3Q0FBd0MsQ0FBQztBQUMxQyx5Q0FBeUM7QUFDekIsdUJBQVMsR0FBRyxlQUFlLENBQUM7QUFDNUMsNkNBQTZDO0FBQzdCLHdCQUFVLEdBQUcsZ0JBQWdCLENBQUM7QUFDOUMsaURBQWlEO0FBQ2pDLDRCQUFjLEdBQUcsb0JBQW9CLENBQUM7QUFDdEQsdUNBQXVDO0FBQ3ZCLHFCQUFPLEdBQUcsYUFBYSxDQUFDO0FBQ3hDLGdEQUFnRDtBQUNoQyxvQkFBTSxHQUFHLFlBQVksQ0FBQztBQUN0QyxvQ0FBb0M7QUFDcEIsa0JBQUksR0FBRyxVQUFVLENBQUM7QUFDbEMsNENBQTRDO0FBQzVCLHNCQUFRLEdBQUcsY0FBYyxDQUFDO0FBQzFDLCtDQUErQztBQUMvQiw2QkFBZSxHQUFHLHFCQUFxQixDQUFDO0FBQ3hELCtDQUErQztBQUMvQix5QkFBVyxHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvZWNzLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBlY3Mgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVDU0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJlY3NcIjtcblxuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBlY3M6QWxsb3dWZW5kZWRMb2dEZWxpdmVyeUZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxvd1ZlbmRlZExvZ0RlbGl2ZXJ5Rm9yUmVzb3VyY2UgPVxuXHRcdFwiZWNzOkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q29udGludWVTZXJ2aWNlRGVwbG95bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29udGludWVTZXJ2aWNlRGVwbG95bWVudCA9IFwiZWNzOkNvbnRpbnVlU2VydmljZURlcGxveW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgPSBcImVjczpDcmVhdGVDYXBhY2l0eVByb3ZpZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDcmVhdGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbHVzdGVyID0gXCJlY3M6Q3JlYXRlQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBlY3M6Q3JlYXRlRGFlbW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYWVtb24gPSBcImVjczpDcmVhdGVEYWVtb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlID1cblx0XHRcImVjczpDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkNyZWF0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2UgPSBcImVjczpDcmVhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpDcmVhdGVUYXNrU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXNrU2V0ID0gXCJlY3M6Q3JlYXRlVGFza1NldFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlQWNjb3VudFNldHRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnRTZXR0aW5nID0gXCJlY3M6RGVsZXRlQWNjb3VudFNldHRpbmdcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZUF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF0dHJpYnV0ZXMgPSBcImVjczpEZWxldGVBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVDYXBhY2l0eVByb3ZpZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyID0gXCJlY3M6RGVsZXRlQ2FwYWNpdHlQcm92aWRlclwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2x1c3RlciA9IFwiZWNzOkRlbGV0ZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZURhZW1vbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGFlbW9uID0gXCJlY3M6RGVsZXRlRGFlbW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGFlbW9uVGFza0RlZmluaXRpb24gPSBcImVjczpEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgPVxuXHRcdFwiZWNzOkRlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVsZXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZSA9IFwiZWNzOkRlbGV0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOkRlbGV0ZVRhc2tEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza0RlZmluaXRpb25zID0gXCJlY3M6RGVsZXRlVGFza0RlZmluaXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEZWxldGVUYXNrU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXNrU2V0ID0gXCJlY3M6RGVsZXRlVGFza1NldFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UgPVxuXHRcdFwiZWNzOkRlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RGVyZWdpc3RlclRhc2tEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFza0RlZmluaXRpb24gPSBcImVjczpEZXJlZ2lzdGVyVGFza0RlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYXBhY2l0eVByb3ZpZGVycyA9IFwiZWNzOkRlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVDbHVzdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDbHVzdGVycyA9IFwiZWNzOkRlc2NyaWJlQ2x1c3RlcnNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzID0gXCJlY3M6RGVzY3JpYmVDb250YWluZXJJbnN0YW5jZXNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVEYWVtb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uID0gXCJlY3M6RGVzY3JpYmVEYWVtb25cIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVEYWVtb25EZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb25EZXBsb3ltZW50cyA9IFwiZWNzOkRlc2NyaWJlRGFlbW9uRGVwbG95bWVudHNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVEYWVtb25SZXZpc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uUmV2aXNpb25zID0gXCJlY3M6RGVzY3JpYmVEYWVtb25SZXZpc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBlY3M6RGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvbiA9XG5cdFx0XCJlY3M6RGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIGVjczpEZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2UgPVxuXHRcdFwiZWNzOkRlc2NyaWJlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlU2VydmljZURlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50cyA9IFwiZWNzOkRlc2NyaWJlU2VydmljZURlcGxveW1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlU2VydmljZVJldmlzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zID0gXCJlY3M6RGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlU2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZXMgPSBcImVjczpEZXNjcmliZVNlcnZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza0RlZmluaXRpb24gPSBcImVjczpEZXNjcmliZVRhc2tEZWZpbml0aW9uXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlVGFza1NldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza1NldHMgPSBcImVjczpEZXNjcmliZVRhc2tTZXRzXCI7XG5cdC8qKiBbUmVhZF0gZWNzOkRlc2NyaWJlVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFza3MgPSBcImVjczpEZXNjcmliZVRhc2tzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpEaXNjb3ZlclBvbGxFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY292ZXJQb2xsRW5kcG9pbnQgPSBcImVjczpEaXNjb3ZlclBvbGxFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6RXhlY3V0ZUNvbW1hbmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4ZWN1dGVDb21tYW5kID0gXCJlY3M6RXhlY3V0ZUNvbW1hbmRcIjtcblx0LyoqIFtSZWFkXSBlY3M6R2V0VGFza1Byb3RlY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRhc2tQcm90ZWN0aW9uID0gXCJlY3M6R2V0VGFza1Byb3RlY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBlY3M6TGlzdEFjY291bnRTZXR0aW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRTZXR0aW5ncyA9IFwiZWNzOkxpc3RBY2NvdW50U2V0dGluZ3NcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdEF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdHRyaWJ1dGVzID0gXCJlY3M6TGlzdEF0dHJpYnV0ZXNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdENsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2x1c3RlcnMgPSBcImVjczpMaXN0Q2x1c3RlcnNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdENvbnRhaW5lckluc3RhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnRhaW5lckluc3RhbmNlcyA9IFwiZWNzOkxpc3RDb250YWluZXJJbnN0YW5jZXNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdERhZW1vbkRlcGxveW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uRGVwbG95bWVudHMgPSBcImVjczpMaXN0RGFlbW9uRGVwbG95bWVudHNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdERhZW1vblRhc2tEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vblRhc2tEZWZpbml0aW9ucyA9IFwiZWNzOkxpc3REYWVtb25UYXNrRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdERhZW1vbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25zID0gXCJlY3M6TGlzdERhZW1vbnNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFNlcnZpY2VEZXBsb3ltZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VEZXBsb3ltZW50cyA9IFwiZWNzOkxpc3RTZXJ2aWNlRGVwbG95bWVudHNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFNlcnZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXMgPSBcImVjczpMaXN0U2VydmljZXNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFNlcnZpY2VzQnlOYW1lc3BhY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlID0gXCJlY3M6TGlzdFNlcnZpY2VzQnlOYW1lc3BhY2VcIjtcblx0LyoqIFtSZWFkXSBlY3M6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiZWNzOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzID0gXCJlY3M6TGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFRhc2tEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tEZWZpbml0aW9ucyA9IFwiZWNzOkxpc3RUYXNrRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBlY3M6TGlzdFRhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza3MgPSBcImVjczpMaXN0VGFza3NcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlBvbGwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvbGwgPSBcImVjczpQb2xsXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQdXRBY2NvdW50U2V0dGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmcgPSBcImVjczpQdXRBY2NvdW50U2V0dGluZ1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6UHV0QWNjb3VudFNldHRpbmdEZWZhdWx0ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQgPSBcImVjczpQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlB1dEF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEF0dHJpYnV0ZXMgPSBcImVjczpQdXRBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVycyA9XG5cdFx0XCJlY3M6UHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpQdXRTeXN0ZW1Mb2dFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFN5c3RlbUxvZ0V2ZW50cyA9IFwiZWNzOlB1dFN5c3RlbUxvZ0V2ZW50c1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6UmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSA9IFwiZWNzOlJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb24gPVxuXHRcdFwiZWNzOlJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFza0RlZmluaXRpb24gPSBcImVjczpSZWdpc3RlclRhc2tEZWZpbml0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpSdW5UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBSdW5UYXNrID0gXCJlY3M6UnVuVGFza1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3RhcnRUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRhc2sgPSBcImVjczpTdGFydFRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN0YXJ0VGVsZW1ldHJ5U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZWxlbWV0cnlTZXNzaW9uID0gXCJlY3M6U3RhcnRUZWxlbWV0cnlTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdG9wU2VydmljZURlcGxveW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTZXJ2aWNlRGVwbG95bWVudCA9IFwiZWNzOlN0b3BTZXJ2aWNlRGVwbG95bWVudFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6U3RvcFRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUYXNrID0gXCJlY3M6U3RvcFRhc2tcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXMgPVxuXHRcdFwiZWNzOlN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXNcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZSA9IFwiZWNzOlN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpTdWJtaXRUYXNrU3RhdGVDaGFuZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFRhc2tTdGF0ZUNoYW5nZSA9IFwiZWNzOlN1Ym1pdFRhc2tTdGF0ZUNoYW5nZVwiO1xuXHQvKiogW1RhZ2dpbmddIGVjczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImVjczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGVjczpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJlY3M6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlQ2FwYWNpdHlQcm92aWRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciA9IFwiZWNzOlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXJcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXIgPSBcImVjczpVcGRhdGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVDbHVzdGVyU2V0dGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJTZXR0aW5ncyA9IFwiZWNzOlVwZGF0ZUNsdXN0ZXJTZXR0aW5nc1wiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlQ29udGFpbmVyQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckFnZW50ID0gXCJlY3M6VXBkYXRlQ29udGFpbmVyQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZSA9XG5cdFx0XCJlY3M6VXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGVcIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZURhZW1vbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGFlbW9uID0gXCJlY3M6VXBkYXRlRGFlbW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSA9XG5cdFx0XCJlY3M6VXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIGVjczpVcGRhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlID0gXCJlY3M6VXBkYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXQgPVxuXHRcdFwiZWNzOlVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldFwiO1xuXHQvKiogW1dyaXRlXSBlY3M6VXBkYXRlVGFza1Byb3RlY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tQcm90ZWN0aW9uID0gXCJlY3M6VXBkYXRlVGFza1Byb3RlY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZWNzOlVwZGF0ZVRhc2tTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tTZXQgPSBcImVjczpVcGRhdGVUYXNrU2V0XCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVDbHVzdGVycyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVEYWVtb24sXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZURhZW1vbkRlcGxveW1lbnRzLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVEYWVtb25SZXZpc2lvbnMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZURhZW1vblRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50cyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlU2VydmljZVJldmlzaW9ucyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlU2VydmljZXMsXG5cdFx0RUNTQWN0aW9ucy5EZXNjcmliZVRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuRGVzY3JpYmVUYXNrU2V0cyxcblx0XHRFQ1NBY3Rpb25zLkRlc2NyaWJlVGFza3MsXG5cdFx0RUNTQWN0aW9ucy5hY3Rpb25HZXRUYXNrUHJvdGVjdGlvbixcblx0XHRFQ1NBY3Rpb25zLkxpc3RBY2NvdW50U2V0dGluZ3MsXG5cdFx0RUNTQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVDU0FjdGlvbnMuQ29udGludWVTZXJ2aWNlRGVwbG95bWVudCxcblx0XHRFQ1NBY3Rpb25zLkNyZWF0ZUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0RUNTQWN0aW9ucy5DcmVhdGVDbHVzdGVyLFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlRGFlbW9uLFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuQ3JlYXRlU2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLkNyZWF0ZVRhc2tTZXQsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVBY2NvdW50U2V0dGluZyxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZUF0dHJpYnV0ZXMsXG5cdFx0RUNTQWN0aW9ucy5EZWxldGVDYXBhY2l0eVByb3ZpZGVyLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlQ2x1c3Rlcixcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZURhZW1vbixcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlLFxuXHRcdEVDU0FjdGlvbnMuRGVsZXRlU2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZVRhc2tEZWZpbml0aW9ucyxcblx0XHRFQ1NBY3Rpb25zLkRlbGV0ZVRhc2tTZXQsXG5cdFx0RUNTQWN0aW9ucy5EZXJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UsXG5cdFx0RUNTQWN0aW9ucy5EZXJlZ2lzdGVyVGFza0RlZmluaXRpb24sXG5cdFx0RUNTQWN0aW9ucy5EaXNjb3ZlclBvbGxFbmRwb2ludCxcblx0XHRFQ1NBY3Rpb25zLkV4ZWN1dGVDb21tYW5kLFxuXHRcdEVDU0FjdGlvbnMuUG9sbCxcblx0XHRFQ1NBY3Rpb25zLlB1dEFjY291bnRTZXR0aW5nLFxuXHRcdEVDU0FjdGlvbnMuUHV0QWNjb3VudFNldHRpbmdEZWZhdWx0LFxuXHRcdEVDU0FjdGlvbnMuUHV0QXR0cmlidXRlcyxcblx0XHRFQ1NBY3Rpb25zLlB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVycyxcblx0XHRFQ1NBY3Rpb25zLlB1dFN5c3RlbUxvZ0V2ZW50cyxcblx0XHRFQ1NBY3Rpb25zLlJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2UsXG5cdFx0RUNTQWN0aW9ucy5SZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uLFxuXHRcdEVDU0FjdGlvbnMuUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbixcblx0XHRFQ1NBY3Rpb25zLlJ1blRhc2ssXG5cdFx0RUNTQWN0aW9ucy5TdGFydFRhc2ssXG5cdFx0RUNTQWN0aW9ucy5TdGFydFRlbGVtZXRyeVNlc3Npb24sXG5cdFx0RUNTQWN0aW9ucy5TdG9wU2VydmljZURlcGxveW1lbnQsXG5cdFx0RUNTQWN0aW9ucy5TdG9wVGFzayxcblx0XHRFQ1NBY3Rpb25zLlN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXMsXG5cdFx0RUNTQWN0aW9ucy5TdWJtaXRDb250YWluZXJTdGF0ZUNoYW5nZSxcblx0XHRFQ1NBY3Rpb25zLlN1Ym1pdFRhc2tTdGF0ZUNoYW5nZSxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZUNhcGFjaXR5UHJvdmlkZXIsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVDbHVzdGVyLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlQ2x1c3RlclNldHRpbmdzLFxuXHRcdEVDU0FjdGlvbnMuVXBkYXRlQ29udGFpbmVyQWdlbnQsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVDb250YWluZXJJbnN0YW5jZXNTdGF0ZSxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZURhZW1vbixcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZSxcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZVNlcnZpY2UsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVTZXJ2aWNlUHJpbWFyeVRhc2tTZXQsXG5cdFx0RUNTQWN0aW9ucy5VcGRhdGVUYXNrUHJvdGVjdGlvbixcblx0XHRFQ1NBY3Rpb25zLlVwZGF0ZVRhc2tTZXQsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVDU0FjdGlvbnMuTGlzdEF0dHJpYnV0ZXMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0Q2x1c3RlcnMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0Q29udGFpbmVySW5zdGFuY2VzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdERhZW1vbkRlcGxveW1lbnRzLFxuXHRcdEVDU0FjdGlvbnMuTGlzdERhZW1vblRhc2tEZWZpbml0aW9ucyxcblx0XHRFQ1NBY3Rpb25zLkxpc3REYWVtb25zLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFNlcnZpY2VEZXBsb3ltZW50cyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RTZXJ2aWNlcyxcblx0XHRFQ1NBY3Rpb25zLkxpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFRhc2tEZWZpbml0aW9uRmFtaWxpZXMsXG5cdFx0RUNTQWN0aW9ucy5MaXN0VGFza0RlZmluaXRpb25zLFxuXHRcdEVDU0FjdGlvbnMuTGlzdFRhc2tzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFQ1NBY3Rpb25zLkFsbG93VmVuZGVkTG9nRGVsaXZlcnlGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RUNTQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRFQ1NBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjYXBhY2l0eS1wcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ2FwYWNpdHlQcm92aWRlckFyblByb3BzIHtcblx0LyoqIFRoZSBDYXBhY2l0eVByb3ZpZGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FwYWNpdHlQcm92aWRlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjYXBhY2l0eS1wcm92aWRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ2FwYWNpdHlQcm92aWRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FwYWNpdHlQcm92aWRlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYXBhY2l0eVByb3ZpZGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb250YWluZXItaW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0NvbnRhaW5lckluc3RhbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbnRhaW5lckluc3RhbmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbnRhaW5lckluc3RhbmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb250YWluZXItaW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0NvbnRhaW5lckluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29udGFpbmVySW5zdGFuY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnRhaW5lckluc3RhbmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhZW1vbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYWVtb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYWVtb24tZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uRGVwbG95bWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uRGVwbG95bWVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25EZXBsb3ltZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYWVtb24tZGVwbG95bWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTRGFlbW9uRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uRGVwbG95bWVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uRGVwbG95bWVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYWVtb24tcmV2aXNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vblJldmlzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhZW1vbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25SZXZpc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYWVtb25SZXZpc2lvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGFlbW9uLXJldmlzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NEYWVtb25SZXZpc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhZW1vbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uUmV2aXNpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRhZW1vblJldmlzaW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRhZW1vbi10YXNrLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vblRhc2tEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIERhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRhZW1vbi10YXNrLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU0RhZW1vblRhc2tEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBEYWVtb25UYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTU2VydmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZS1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlRGVwbG95bWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlRGVwbG95bWVudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlRGVwbG95bWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmljZS1kZXBsb3ltZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NTZXJ2aWNlRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlRGVwbG95bWVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZURlcGxveW1lbnRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZS1yZXZpc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTU2VydmljZVJldmlzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VSZXZpc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlUmV2aXNpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UtcmV2aXNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1NlcnZpY2VSZXZpc2lvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlUmV2aXNpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VSZXZpc2lvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NUYXNrQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTVGFza0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGFzay1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFQ1NUYXNrRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBUYXNrRGVmaW5pdGlvbkZhbWlseU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0YXNrLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1Rhc2tEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrRGVmaW5pdGlvbkZhbWlseU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrRGVmaW5pdGlvbkZhbWlseU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGFzay1zZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVDU1Rhc2tTZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFza1NldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrU2V0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0YXNrLXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRUNTVGFza1NldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3Rlck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrU2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrU2V0SWQ6IHN0cmluZztcbn1cblxuY29uc3QgQ2FwYWNpdHlQcm92aWRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjYXBhY2l0eS1wcm92aWRlclxcLyg/PGNhcGFjaXR5UHJvdmlkZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBDbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXJcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29udGFpbmVySW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29udGFpbmVyLWluc3RhbmNlXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxjb250YWluZXJJbnN0YW5jZUlkPlteOi8/XSspJC87XG5jb25zdCBEYWVtb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGFlbW9uXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxkYWVtb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBEYWVtb25EZXBsb3ltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRhZW1vbi1kZXBsb3ltZW50XFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxkYWVtb25OYW1lPlteOi8/XSspXFwvKD88ZGFlbW9uRGVwbG95bWVudElkPlteOi8/XSspJC87XG5jb25zdCBEYWVtb25SZXZpc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYWVtb24tcmV2aXNpb25cXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PGRhZW1vbk5hbWU+W146Lz9dKylcXC8oPzxkYWVtb25SZXZpc2lvbklkPlteOi8/XSspJC87XG5jb25zdCBEYWVtb25UYXNrRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYWVtb24tdGFzay1kZWZpbml0aW9uXFwvKD88ZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lPlteOi8/XSspOig/PGRhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZVxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88c2VydmljZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VEZXBsb3ltZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2UtZGVwbG95bWVudFxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88c2VydmljZU5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlRGVwbG95bWVudElkPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlUmV2aXNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZS1yZXZpc2lvblxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88c2VydmljZU5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlUmV2aXNpb25JZD5bXjovP10rKSQvO1xuY29uc3QgVGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0YXNrXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzx0YXNrSWQ+W146Lz9dKykkLztcbmNvbnN0IFRhc2tEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhc2stZGVmaW5pdGlvblxcLyg/PHRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZT5bXjovP10rKTooPzx0YXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyPlteOi8/XSspJC87XG5jb25zdCBUYXNrU2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhc2stc2V0XFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxzZXJ2aWNlTmFtZT5bXjovP10rKVxcLyg/PHRhc2tTZXRJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGVjcyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFQ1NSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNhcGFjaXR5LXByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNhcGFjaXR5UHJvdmlkZXIocHJvcHM6IEVDU0NhcGFjaXR5UHJvdmlkZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNhcGFjaXR5LXByb3ZpZGVyLyR7cHJvcHMuY2FwYWNpdHlQcm92aWRlck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNhcGFjaXR5LXByb3ZpZGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDYXBhY2l0eVByb3ZpZGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENhcGFjaXR5UHJvdmlkZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2FwYWNpdHktcHJvdmlkZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2FwYWNpdHlQcm92aWRlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTQ2FwYWNpdHlQcm92aWRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2FwYWNpdHlQcm92aWRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjYXBhY2l0eS1wcm92aWRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYXBhY2l0eVByb3ZpZGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jYXBhY2l0eVByb3ZpZGVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXIocHJvcHM6IEVDU0NsdXN0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXIvJHtwcm9wcy5jbHVzdGVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2x1c3RlckFybihhcm46IHN0cmluZyk6IEVDU0NsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3RlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb250YWluZXItaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29udGFpbmVySW5zdGFuY2UocHJvcHM6IEVDU0NvbnRhaW5lckluc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb250YWluZXItaW5zdGFuY2UvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5jb250YWluZXJJbnN0YW5jZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb250YWluZXItaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbnRhaW5lckluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnRhaW5lckluc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbnRhaW5lci1pbnN0YW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb250YWluZXJJbnN0YW5jZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTQ29udGFpbmVySW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbnRhaW5lckluc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbnRhaW5lci1pbnN0YW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdGNvbnRhaW5lckluc3RhbmNlSWQ6IG1hdGNoLmdyb3VwcyEuY29udGFpbmVySW5zdGFuY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYWVtb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uKHByb3BzOiBFQ1NEYWVtb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhZW1vbi8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLmRhZW1vbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhZW1vbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGFlbW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhZW1vbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYWVtb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGFlbW9uQXJuKGFybjogc3RyaW5nKTogRUNTRGFlbW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYWVtb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZGFlbW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0ZGFlbW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5kYWVtb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRhZW1vbi1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vbkRlcGxveW1lbnQocHJvcHM6IEVDU0RhZW1vbkRlcGxveW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhZW1vbi1kZXBsb3ltZW50LyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuZGFlbW9uTmFtZX0vJHtwcm9wcy5kYWVtb25EZXBsb3ltZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRhZW1vbi1kZXBsb3ltZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREYWVtb25EZXBsb3ltZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhZW1vbkRlcGxveW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGFlbW9uLWRlcGxveW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRGFlbW9uRGVwbG95bWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTRGFlbW9uRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRGFlbW9uRGVwbG95bWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYWVtb24tZGVwbG95bWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdGRhZW1vbk5hbWU6IG1hdGNoLmdyb3VwcyEuZGFlbW9uTmFtZSxcblx0XHRcdGRhZW1vbkRlcGxveW1lbnRJZDogbWF0Y2guZ3JvdXBzIS5kYWVtb25EZXBsb3ltZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGFlbW9uLXJldmlzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vblJldmlzaW9uKHByb3BzOiBFQ1NEYWVtb25SZXZpc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZGFlbW9uLXJldmlzaW9uLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuZGFlbW9uTmFtZX0vJHtwcm9wcy5kYWVtb25SZXZpc2lvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkYWVtb24tcmV2aXNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERhZW1vblJldmlzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERhZW1vblJldmlzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRhZW1vbi1yZXZpc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYWVtb25SZXZpc2lvbkFybihhcm46IHN0cmluZyk6IEVDU0RhZW1vblJldmlzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEYWVtb25SZXZpc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYWVtb24tcmV2aXNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRkYWVtb25OYW1lOiBtYXRjaC5ncm91cHMhLmRhZW1vbk5hbWUsXG5cdFx0XHRkYWVtb25SZXZpc2lvbklkOiBtYXRjaC5ncm91cHMhLmRhZW1vblJldmlzaW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkYWVtb25UYXNrRGVmaW5pdGlvbihwcm9wczogRUNTRGFlbW9uVGFza0RlZmluaXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRhZW1vbi10YXNrLWRlZmluaXRpb24vJHtwcm9wcy5kYWVtb25UYXNrRGVmaW5pdGlvbkZhbWlseU5hbWV9OiR7cHJvcHMuZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRGFlbW9uVGFza0RlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRGFlbW9uVGFza0RlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGFlbW9uLXRhc2stZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEYWVtb25UYXNrRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRUNTRGFlbW9uVGFza0RlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERhZW1vblRhc2tEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRhZW1vbi10YXNrLWRlZmluaXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGFlbW9uVGFza0RlZmluaXRpb25GYW1pbHlOYW1lOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLmRhZW1vblRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZSxcblx0XHRcdGRhZW1vblRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXI6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuZGFlbW9uVGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2UocHJvcHM6IEVDU1NlcnZpY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZpY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZUFybihhcm46IHN0cmluZyk6IEVDU1NlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdHNlcnZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlRGVwbG95bWVudChwcm9wczogRUNTU2VydmljZURlcGxveW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWNzOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UtZGVwbG95bWVudC8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLnNlcnZpY2VOYW1lfS8ke3Byb3BzLnNlcnZpY2VEZXBsb3ltZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UtZGVwbG95bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZURlcGxveW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZURlcGxveW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZS1kZXBsb3ltZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VEZXBsb3ltZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFQ1NTZXJ2aWNlRGVwbG95bWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZURlcGxveW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZS1kZXBsb3ltZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0c2VydmljZU5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmljZU5hbWUsXG5cdFx0XHRzZXJ2aWNlRGVwbG95bWVudElkOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VEZXBsb3ltZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmljZS1yZXZpc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlUmV2aXNpb24ocHJvcHM6IEVDU1NlcnZpY2VSZXZpc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZS1yZXZpc2lvbi8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLnNlcnZpY2VOYW1lfS8ke3Byb3BzLnNlcnZpY2VSZXZpc2lvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2aWNlLXJldmlzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlUmV2aXNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZVJldmlzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZpY2UtcmV2aXNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZVJldmlzaW9uQXJuKGFybjogc3RyaW5nKTogRUNTU2VydmljZVJldmlzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlUmV2aXNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZS1yZXZpc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdHNlcnZpY2VOYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VOYW1lLFxuXHRcdFx0c2VydmljZVJldmlzaW9uSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZVJldmlzaW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0YXNrKHByb3BzOiBFQ1NUYXNrQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXNrLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMudGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUYXNrQXJuKGFybjogc3RyaW5nKTogRUNTVGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGFza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0dGFza0lkOiBtYXRjaC5ncm91cHMhLnRhc2tJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0YXNrLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFza0RlZmluaXRpb24ocHJvcHM6IEVDU1Rhc2tEZWZpbml0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXNrLWRlZmluaXRpb24vJHtwcm9wcy50YXNrRGVmaW5pdGlvbkZhbWlseU5hbWV9OiR7cHJvcHMudGFza0RlZmluaXRpb25SZXZpc2lvbk51bWJlcn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGFzay1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXNrRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUYXNrRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0YXNrLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFza0RlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBFQ1NUYXNrRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGFza0RlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFzay1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRhc2tEZWZpbml0aW9uRmFtaWx5TmFtZTogbWF0Y2guZ3JvdXBzIS50YXNrRGVmaW5pdGlvbkZhbWlseU5hbWUsXG5cdFx0XHR0YXNrRGVmaW5pdGlvblJldmlzaW9uTnVtYmVyOiBtYXRjaC5ncm91cHMhLnRhc2tEZWZpbml0aW9uUmV2aXNpb25OdW1iZXIsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGFzay1zZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFza1NldChwcm9wczogRUNTVGFza1NldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFzay1zZXQvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlTmFtZX0vJHtwcm9wcy50YXNrU2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRhc2stc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXNrU2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhc2tTZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGFzay1zZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFza1NldEFybihhcm46IHN0cmluZyk6IEVDU1Rhc2tTZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhc2tTZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFzay1zZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2x1c3Rlck5hbWU6IG1hdGNoLmdyb3VwcyEuY2x1c3Rlck5hbWUsXG5cdFx0XHRzZXJ2aWNlTmFtZTogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlTmFtZSxcblx0XHRcdHRhc2tTZXRJZDogbWF0Y2guZ3JvdXBzIS50YXNrU2V0SWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgZWNzLlxuICovXG5leHBvcnQgY2xhc3MgRUNTT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvbnRpbnVlU2VydmljZURlcGxveW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb250aW51ZVNlcnZpY2VEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDb250aW51ZVNlcnZpY2VEZXBsb3ltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhcGFjaXR5UHJvdmlkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpDcmVhdGVDYXBhY2l0eVByb3ZpZGVyXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlQ2x1c3RlclwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhZW1vbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhZW1vbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlRGFlbW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNyZWF0ZUNsdXN0ZXJcIixcblx0XHRcImVjczpDcmVhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlJlZ2lzdGVyVGFza0RlZmluaXRpb25cIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Q3JlYXRlU2VydmljZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGFza1NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhc2tTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkNyZWF0ZVRhc2tTZXRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjY291bnRTZXR0aW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWNjb3VudFNldHRpbmc6IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZUFjY291bnRTZXR0aW5nXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXR0cmlidXRlczogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlQXR0cmlidXRlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlbGV0ZUNhcGFjaXR5UHJvdmlkZXJcIixcblx0XHRcImVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURhZW1vbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhZW1vbjogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlRGFlbW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURhZW1vblRhc2tEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZWxldGVEYWVtb25UYXNrRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHByZXNzR2F0ZXdheVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlbGV0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZTogc3RyaW5nW10gPSBbXCJlY3M6RGVsZXRlU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFza0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZWxldGVUYXNrRGVmaW5pdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGFza1NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhc2tTZXQ6IHN0cmluZ1tdID0gW1wiZWNzOkRlbGV0ZVRhc2tTZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVyZWdpc3RlckNvbnRhaW5lckluc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJUYXNrRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVyZWdpc3RlclRhc2tEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2x1c3RlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcImVjczpEZXNjcmliZUNsdXN0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZUNvbnRhaW5lckluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhZW1vbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uOiBzdHJpbmdbXSA9IFtcImVjczpEZXNjcmliZURhZW1vblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYWVtb25EZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlRGFlbW9uRGVwbG95bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYWVtb25SZXZpc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhZW1vblJldmlzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVEYWVtb25SZXZpc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYWVtb25UYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkRlc2NyaWJlRGFlbW9uVGFza0RlZmluaXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV4cHJlc3NHYXRld2F5U2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVFeHByZXNzR2F0ZXdheVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VEZXBsb3ltZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6RGVzY3JpYmVTZXJ2aWNlRGVwbG95bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlUmV2aXNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZVNlcnZpY2VSZXZpc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZXM6IHN0cmluZ1tdID0gW1wiZWNzOkRlc2NyaWJlU2VydmljZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFza0RlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpEZXNjcmliZVRhc2tEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFza1NldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tTZXRzOiBzdHJpbmdbXSA9IFtcImVjczpEZXNjcmliZVRhc2tTZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrczogc3RyaW5nW10gPSBbXCJlY3M6RGVzY3JpYmVUYXNrc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY292ZXJQb2xsRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjb3ZlclBvbGxFbmRwb2ludDogc3RyaW5nW10gPSBbXCJlY3M6RGlzY292ZXJQb2xsRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4ZWN1dGVDb21tYW5kIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhlY3V0ZUNvbW1hbmQ6IHN0cmluZ1tdID0gW1wiZWNzOkV4ZWN1dGVDb21tYW5kXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUYXNrUHJvdGVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VGFza1Byb3RlY3Rpb246IHN0cmluZ1tdID0gW1wiZWNzOkdldFRhc2tQcm90ZWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWNjb3VudFNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY291bnRTZXR0aW5nczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdEFjY291bnRTZXR0aW5nc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXR0cmlidXRlczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdEF0dHJpYnV0ZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbHVzdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbHVzdGVyczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdENsdXN0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29udGFpbmVySW5zdGFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnRhaW5lckluc3RhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6TGlzdENvbnRhaW5lckluc3RhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGFlbW9uRGVwbG95bWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3REYWVtb25EZXBsb3ltZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGFlbW9uVGFza0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhZW1vblRhc2tEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6TGlzdERhZW1vblRhc2tEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGFlbW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYWVtb25zOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0RGFlbW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VEZXBsb3ltZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRGVwbG95bWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3RTZXJ2aWNlRGVwbG95bWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0U2VydmljZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzQnlOYW1lc3BhY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOkxpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0VGFnc0ZvclJlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFza0RlZmluaXRpb25GYW1pbGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXNrRGVmaW5pdGlvbkZhbWlsaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpMaXN0VGFza0RlZmluaXRpb25GYW1pbGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFza0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXCJlY3M6TGlzdFRhc2tEZWZpbml0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhc2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhc2tzOiBzdHJpbmdbXSA9IFtcImVjczpMaXN0VGFza3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEFjY291bnRTZXR0aW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmc6IHN0cmluZ1tdID0gW1wiZWNzOlB1dEFjY291bnRTZXR0aW5nXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlB1dEFjY291bnRTZXR0aW5nRGVmYXVsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QXR0cmlidXRlczogc3RyaW5nW10gPSBbXCJlY3M6UHV0QXR0cmlidXRlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlJlZ2lzdGVyQ29udGFpbmVySW5zdGFuY2VcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJEYWVtb25UYXNrRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFza0RlZmluaXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJ1blRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSdW5UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiZWNzOlJ1blRhc2tcIixcblx0XHRcImVjczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6U3RhcnRUYXNrXCIsXG5cdFx0XCJlY3M6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFNlcnZpY2VEZXBsb3ltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFNlcnZpY2VEZXBsb3ltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpTdG9wU2VydmljZURlcGxveW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVGFzazogc3RyaW5nW10gPSBbXCJlY3M6U3RvcFRhc2tcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN1Ym1pdEF0dGFjaG1lbnRTdGF0ZUNoYW5nZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpTdWJtaXRBdHRhY2htZW50U3RhdGVDaGFuZ2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0Q29udGFpbmVyU3RhdGVDaGFuZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlN1Ym1pdENvbnRhaW5lclN0YXRlQ2hhbmdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN1Ym1pdFRhc2tTdGF0ZUNoYW5nZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFRhc2tTdGF0ZUNoYW5nZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6U3VibWl0VGFza1N0YXRlQ2hhbmdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiZWNzOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJlY3M6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNhcGFjaXR5UHJvdmlkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UHV0Q2x1c3RlckNhcGFjaXR5UHJvdmlkZXJzXCIsXG5cdFx0XCJlY3M6VXBkYXRlQ2FwYWNpdHlQcm92aWRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJlY3M6VXBkYXRlQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2x1c3RlclNldHRpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2x1c3RlclNldHRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpVcGRhdGVDbHVzdGVyU2V0dGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29udGFpbmVyQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb250YWluZXJBZ2VudDogc3RyaW5nW10gPSBbXCJlY3M6VXBkYXRlQ29udGFpbmVyQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOlVwZGF0ZUNvbnRhaW5lckluc3RhbmNlc1N0YXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURhZW1vbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURhZW1vbjogc3RyaW5nW10gPSBbXCJpYW06UGFzc1JvbGVcIiwgXCJlY3M6VXBkYXRlRGFlbW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJlY3M6UmVnaXN0ZXJUYXNrRGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOlVwZGF0ZUV4cHJlc3NHYXRld2F5U2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImVjczpVcGRhdGVTZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldDogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6VXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRhc2tQcm90ZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGFza1Byb3RlY3Rpb246IHN0cmluZ1tdID0gW1wiZWNzOlVwZGF0ZVRhc2tQcm90ZWN0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUYXNrU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGFza1NldDogc3RyaW5nW10gPSBbXCJlY3M6VXBkYXRlVGFza1NldFwiXTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGVjcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVDU0NvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2FwYWNpdHlQcm92aWRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYXBhY2l0eVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6aW5zdGFuY2UtbWV0YWRhdGEtdGFncy1wcm9wYWdhdGlvblwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRcdFwiZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGFlbW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhZW1vbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZFwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cHJlc3NHYXRld2F5U2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XHRcImVjczpzdWJuZXRcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stZGVmaW5pdGlvblwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczphdXRvLWFzc2lnbi1wdWJsaWMtaXBcIixcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRcdFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZFwiLFxuXHRcdFwiZWNzOmVuYWJsZS1zZXJ2aWNlLWNvbm5lY3RcIixcblx0XHRcImVjczplbmFibGUtdnBjLWxhdHRpY2VcIixcblx0XHRcImVjczpuYW1lc3BhY2VcIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRcdFwiZWNzOnN1Ym5ldFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRhc2tTZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGFza1NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XHRcImVjczp0YXNrLWRlZmluaXRpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUFjY291bnRTZXR0aW5nIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnRTZXR0aW5nQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6YWNjb3VudC1zZXR0aW5nXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBdHRyaWJ1dGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF0dHJpYnV0ZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDYXBhY2l0eVByb3ZpZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhcGFjaXR5UHJvdmlkZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhc2tEZWZpbml0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXNrRGVmaW5pdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVRhc2tTZXQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFza1NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XHRcImVjczpzZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNhcGFjaXR5UHJvdmlkZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FwYWNpdHlQcm92aWRlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29udGFpbmVySW5zdGFuY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVTZXJ2aWNlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVUYXNrU2V0cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhc2tTZXRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlVGFza3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXNrc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEV4ZWN1dGVDb21tYW5kIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4ZWN1dGVDb21tYW5kQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOmNvbnRhaW5lci1uYW1lXCIsXG5cdFx0XCJlY3M6dGFza1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0VGFza1Byb3RlY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGFza1Byb3RlY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RGFlbW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGFlbW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiZWNzOmNsdXN0ZXJcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0U2VydmljZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJlY3M6Y2x1c3RlclwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlc0J5TmFtZXNwYWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6bmFtZXNwYWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RUYXNrcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFza3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQb2xsIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvbGxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImVjczpjbHVzdGVyXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0QWNjb3VudFNldHRpbmcgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWNjb3VudFNldHRpbmdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczphY2NvdW50LXNldHRpbmdcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEFjY291bnRTZXR0aW5nRGVmYXVsdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBY2NvdW50U2V0dGluZ0RlZmF1bHRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczphY2NvdW50LXNldHRpbmdcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEF0dHJpYnV0ZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QXR0cmlidXRlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dENsdXN0ZXJDYXBhY2l0eVByb3ZpZGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDbHVzdGVyQ2FwYWNpdHlQcm92aWRlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpjYXBhY2l0eS1wcm92aWRlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJDb250YWluZXJJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckNvbnRhaW5lckluc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlckRhZW1vblRhc2tEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGFlbW9uVGFza0RlZmluaXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVjczpwcml2aWxlZ2VkXCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJUYXNrRGVmaW5pdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhc2tEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCIsXG5cdFx0XCJlY3M6cHJpdmlsZWdlZFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJ1blRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUnVuVGFza0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiLFxuXHRcdFwiZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmRcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUYXNrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIixcblx0XHRcImVjczplbmFibGUtZWJzLXZvbHVtZXNcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRlbGVtZXRyeVNlc3Npb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZWxlbWV0cnlTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RvcFRhc2sgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRhc2tDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWNzOkNyZWF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2FwYWNpdHlQcm92aWRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDYXBhY2l0eVByb3ZpZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6aW5zdGFuY2UtbWV0YWRhdGEtdGFncy1wcm9wYWdhdGlvblwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUNvbnRhaW5lckFnZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnRhaW5lckFnZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29udGFpbmVySW5zdGFuY2VzU3RhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVjczpjbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEYWVtb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRGFlbW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIixcblx0XHRcImVjczpkYWVtb24tdGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6cHJvcGFnYXRlLXRhZ3NcIixcblx0XHRcImVjczp0YXNrLWNwdVwiLFxuXHRcdFwiZWNzOnRhc2stbWVtb3J5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVFeHByZXNzR2F0ZXdheVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwcmVzc0dhdGV3YXlTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczpwcm9wYWdhdGUtdGFnc1wiLFxuXHRcdFwiZWNzOnN1Ym5ldFwiLFxuXHRcdFwiZWNzOnRhc2stY3B1XCIsXG5cdFx0XCJlY3M6dGFzay1kZWZpbml0aW9uXCIsXG5cdFx0XCJlY3M6dGFzay1tZW1vcnlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiLFxuXHRcdFwiZWNzOmNhcGFjaXR5LXByb3ZpZGVyXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVicy12b2x1bWVzXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLWVjcy1tYW5hZ2VkLXRhZ3NcIixcblx0XHRcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCIsXG5cdFx0XCJlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdFwiLFxuXHRcdFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiLFxuXHRcdFwiZWNzOm5hbWVzcGFjZVwiLFxuXHRcdFwiZWNzOnByb3BhZ2F0ZS10YWdzXCIsXG5cdFx0XCJlY3M6c3VibmV0XCIsXG5cdFx0XCJlY3M6dGFzay1jcHVcIixcblx0XHRcImVjczp0YXNrLWRlZmluaXRpb25cIixcblx0XHRcImVjczp0YXNrLW1lbW9yeVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU2VydmljZVByaW1hcnlUYXNrU2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VQcmltYXJ5VGFza1NldENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWNzOmNsdXN0ZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVRhc2tQcm90ZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhc2tQcm90ZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlVGFza1NldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXNrU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlY3M6Y2x1c3RlclwiLFxuXHRcdFwiZWNzOnNlcnZpY2VcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Q3JlYXRlQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDUkVBVEVfQUNUSU9OID0gXCJlY3M6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcImVjczpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczphY2NvdW50LXNldHRpbmcgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFDQ09VTlRfU0VUVElORyA9IFwiZWNzOmFjY291bnQtc2V0dGluZ1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVE9fQVNTSUdOX1BVQkxJQ19JUCA9IFwiZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmNhcGFjaXR5LXByb3ZpZGVyIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0FQQUNJVFlfUFJPVklERVIgPSBcImVjczpjYXBhY2l0eS1wcm92aWRlclwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmNsdXN0ZXIgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IENMVVNURVIgPSBcImVjczpjbHVzdGVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5IChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09NUFVURV9DT01QQVRJQklMSVRZID0gXCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6Y29udGFpbmVyLWluc3RhbmNlcyAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09OVEFJTkVSX0lOU1RBTkNFUyA9IFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpjb250YWluZXItbmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ09OVEFJTkVSX05BTUUgPSBcImVjczpjb250YWluZXItbmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmRhZW1vbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFFTU9OID0gXCJlY3M6ZGFlbW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgREFFTU9OX1RBU0tfREVGSU5JVElPTiA9IFwiZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczplbmFibGUtZWJzLXZvbHVtZXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9FQlNfVk9MVU1FUyA9IFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX0VDU19NQU5BR0VEX1RBR1MgPSBcImVjczplbmFibGUtZWNzLW1hbmFnZWQtdGFnc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmVuYWJsZS1leGVjdXRlLWNvbW1hbmQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9FWEVDVVRFX0NPTU1BTkQgPSBcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5BQkxFX1NFUlZJQ0VfQ09OTkVDVCA9IFwiZWNzOmVuYWJsZS1zZXJ2aWNlLWNvbm5lY3RcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczplbmFibGUtdnBjLWxhdHRpY2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOQUJMRV9WUENfTEFUVElDRSA9IFwiZWNzOmVuYWJsZS12cGMtbGF0dGljZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRkFSR0FURV9FUEhFTUVSQUxfU1RPUkFHRV9LTVNfS0VZID1cblx0XHRcImVjczpmYXJnYXRlLWVwaGVtZXJhbC1zdG9yYWdlLWttcy1rZXlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpnYXRld2F5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBHQVRFV0FZID0gXCJlY3M6Z2F0ZXdheVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb24gKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlNUQU5DRV9NRVRBREFUQV9UQUdTX1BST1BBR0FUSU9OID1cblx0XHRcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6bmFtZXNwYWNlIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBOQU1FU1BBQ0UgPSBcImVjczpuYW1lc3BhY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpwcml2aWxlZ2VkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUklWSUxFR0VEID0gXCJlY3M6cHJpdmlsZWdlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnByb3BhZ2F0ZS10YWdzIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUk9QQUdBVEVfVEFHUyA9IFwiZWNzOnByb3BhZ2F0ZS10YWdzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6c2VydmljZSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRSA9IFwiZWNzOnNlcnZpY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczpzdWJuZXQgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTVUJORVQgPSBcImVjczpzdWJuZXRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVjczp0YXNrIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLID0gXCJlY3M6dGFza1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnRhc2stY3B1IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFTS19DUFUgPSBcImVjczp0YXNrLWNwdVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWNzOnRhc2stZGVmaW5pdGlvbiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFTS19ERUZJTklUSU9OID0gXCJlY3M6dGFzay1kZWZpbml0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlY3M6dGFzay1tZW1vcnkgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBUQVNLX01FTU9SWSA9IFwiZWNzOnRhc2stbWVtb3J5XCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpDcmVhdGVBY3Rpb25gLlxuXHQgKi9cblx0c3RhdGljIGNyZWF0ZUFjdGlvbih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpDcmVhdGVBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczphY2NvdW50LXNldHRpbmdgLlxuXHQgKi9cblx0c3RhdGljIGFjY291bnRTZXR0aW5nKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmFjY291bnQtc2V0dGluZ1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmF1dG8tYXNzaWduLXB1YmxpYy1pcGAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b0Fzc2lnblB1YmxpY0lQKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlY3M6YXV0by1hc3NpZ24tcHVibGljLWlwXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y2FwYWNpdHktcHJvdmlkZXJgLlxuXHQgKi9cblx0c3RhdGljIGNhcGFjaXR5UHJvdmlkZXIoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6QXJuRXF1YWxzXCI6IHsgXCJlY3M6Y2FwYWNpdHktcHJvdmlkZXJcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y2x1c3RlcmAuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImVjczpjbHVzdGVyXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5YC5cblx0ICovXG5cdHN0YXRpYyBjb21wdXRlQ29tcGF0aWJpbGl0eShcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlY3M6Y29tcHV0ZS1jb21wYXRpYmlsaXR5XCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNgLlxuXHQgKi9cblx0c3RhdGljIGNvbnRhaW5lckluc3RhbmNlcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOmNvbnRhaW5lci1pbnN0YW5jZXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpjb250YWluZXItbmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgY29udGFpbmVyTmFtZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpjb250YWluZXItbmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmRhZW1vbmAuXG5cdCAqL1xuXHRzdGF0aWMgZGFlbW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOmRhZW1vblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmRhZW1vbi10YXNrLWRlZmluaXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGRhZW1vblRhc2tEZWZpbml0aW9uKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6ZGFlbW9uLXRhc2stZGVmaW5pdGlvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmVuYWJsZS1lYnMtdm9sdW1lc2AuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlRUJTVm9sdW1lcyhcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmVuYWJsZS1lYnMtdm9sdW1lc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVFQ1NNYW5hZ2VkVGFncyhcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWNzOmVuYWJsZS1lY3MtbWFuYWdlZC10YWdzXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLWV4ZWN1dGUtY29tbWFuZGAuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlRXhlY3V0ZUNvbW1hbmQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczplbmFibGUtZXhlY3V0ZS1jb21tYW5kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLXNlcnZpY2UtY29ubmVjdGAuXG5cdCAqL1xuXHRzdGF0aWMgZW5hYmxlU2VydmljZUNvbm5lY3QoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczplbmFibGUtc2VydmljZS1jb25uZWN0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlYC5cblx0ICovXG5cdHN0YXRpYyBlbmFibGVWUENMYXR0aWNlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlY3M6ZW5hYmxlLXZwYy1sYXR0aWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6ZmFyZ2F0ZS1lcGhlbWVyYWwtc3RvcmFnZS1rbXMta2V5YC5cblx0ICovXG5cdHN0YXRpYyBmYXJnYXRlRXBoZW1lcmFsU3RvcmFnZUtNU0tleShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWNzOmZhcmdhdGUtZXBoZW1lcmFsLXN0b3JhZ2Uta21zLWtleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmdhdGV3YXlgLlxuXHQgKi9cblx0c3RhdGljIGdhdGV3YXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6Z2F0ZXdheVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOmluc3RhbmNlLW1ldGFkYXRhLXRhZ3MtcHJvcGFnYXRpb25gLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbmNlTWV0YWRhdGFUYWdzUHJvcGFnYXRpb24oXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImVjczppbnN0YW5jZS1tZXRhZGF0YS10YWdzLXByb3BhZ2F0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6bmFtZXNwYWNlYC5cblx0ICovXG5cdHN0YXRpYyBuYW1lc3BhY2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6bmFtZXNwYWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6cHJpdmlsZWdlZGAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpdmlsZWdlZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVjczpwcml2aWxlZ2VkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6cHJvcGFnYXRlLXRhZ3NgLlxuXHQgKi9cblx0c3RhdGljIHByb3BhZ2F0ZVRhZ3ModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlY3M6cHJvcGFnYXRlLXRhZ3NcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpzZXJ2aWNlYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiZWNzOnNlcnZpY2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVjczpzdWJuZXRgLlxuXHQgKi9cblx0c3RhdGljIHN1Ym5ldCh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJlY3M6c3VibmV0XCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2tgLlxuXHQgKi9cblx0c3RhdGljIHRhc2sodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6dGFza1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2stY3B1YC5cblx0ICovXG5cdHN0YXRpYyB0YXNrQ3B1KHZhbHVlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVjczp0YXNrLWNwdVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWNzOnRhc2stZGVmaW5pdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgdGFza0RlZmluaXRpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJlY3M6dGFzay1kZWZpbml0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlY3M6dGFzay1tZW1vcnlgLlxuXHQgKi9cblx0c3RhdGljIHRhc2tNZW1vcnkodmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWNzOnRhc2stbWVtb3J5XCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
|