@cdk_utils/iam 1.34.0 → 1.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2 -2
- 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.d.ts +8 -0
- package/lib/generated/services/account.js +17 -5
- 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.js +4 -4
- 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 +4 -4
- 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.js +4 -4
- 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.js +4 -4
- 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 +4 -4
- 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.js +4 -4
- 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 +4 -4
- 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 +4 -4
- 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.d.ts +6 -0
- package/lib/generated/services/elasticache.js +13 -5
- 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.js +4 -4
- 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.js +4 -4
- 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/network-security-manager.js +4 -4
- 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 +5 -6
- 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.js +4 -4
- 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.d.ts +12 -0
- package/lib/generated/services/s3vectors.js +25 -5
- 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.js +4 -4
- 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 +5 -11
- 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/startups.js +1 -1
- 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.js +3 -3
- 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 +1 -1
|
@@ -16,7 +16,7 @@ class ElastiCacheActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.ElastiCacheActions = ElastiCacheActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
ElastiCacheActions[_a] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheActions", version: "1.
|
|
19
|
+
ElastiCacheActions[_a] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheActions", version: "1.35.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
ElastiCacheActions.SERVICE_PREFIX = "elasticache";
|
|
22
22
|
/** [Tagging] elasticache:AddTagsToResource */
|
|
@@ -618,7 +618,7 @@ class ElastiCacheResources {
|
|
|
618
618
|
}
|
|
619
619
|
exports.ElastiCacheResources = ElastiCacheResources;
|
|
620
620
|
_b = JSII_RTTI_SYMBOL_1;
|
|
621
|
-
ElastiCacheResources[_b] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheResources", version: "1.
|
|
621
|
+
ElastiCacheResources[_b] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheResources", version: "1.35.0" };
|
|
622
622
|
/**
|
|
623
623
|
* API operation to required IAM actions mapping for elasticache.
|
|
624
624
|
*/
|
|
@@ -626,7 +626,7 @@ class ElastiCacheOperations {
|
|
|
626
626
|
}
|
|
627
627
|
exports.ElastiCacheOperations = ElastiCacheOperations;
|
|
628
628
|
_c = JSII_RTTI_SYMBOL_1;
|
|
629
|
-
ElastiCacheOperations[_c] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheOperations", version: "1.
|
|
629
|
+
ElastiCacheOperations[_c] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheOperations", version: "1.35.0" };
|
|
630
630
|
/** IAM actions required for the AddTagsToResource API call. */
|
|
631
631
|
ElastiCacheOperations.AddTagsToResource = [
|
|
632
632
|
"elasticache:AddTagsToResource",
|
|
@@ -982,6 +982,12 @@ class ElastiCacheConditions {
|
|
|
982
982
|
static clusterModeEnabled(value) {
|
|
983
983
|
return { Bool: { "elasticache:ClusterModeEnabled": value } };
|
|
984
984
|
}
|
|
985
|
+
/**
|
|
986
|
+
* Generates a condition block for `elasticache:ConnectionType`.
|
|
987
|
+
*/
|
|
988
|
+
static connectionType(value) {
|
|
989
|
+
return { StringEquals: { "elasticache:ConnectionType": value } };
|
|
990
|
+
}
|
|
985
991
|
/**
|
|
986
992
|
* Generates a condition block for `elasticache:DataStorageUnit`.
|
|
987
993
|
*/
|
|
@@ -1075,7 +1081,7 @@ class ElastiCacheConditions {
|
|
|
1075
1081
|
}
|
|
1076
1082
|
exports.ElastiCacheConditions = ElastiCacheConditions;
|
|
1077
1083
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1078
|
-
ElastiCacheConditions[_d] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheConditions", version: "1.
|
|
1084
|
+
ElastiCacheConditions[_d] = { fqn: "@cdk_utils/iam.elasticache.ElastiCacheConditions", version: "1.35.0" };
|
|
1079
1085
|
/** Condition keys applicable to the AddTagsToResource action. */
|
|
1080
1086
|
ElastiCacheConditions.AddTagsToResourceConditionKeys = [
|
|
1081
1087
|
"aws:RequestTag/${TagKey}",
|
|
@@ -1372,6 +1378,8 @@ ElastiCacheConditions.CACHE_NODE_TYPE = "elasticache:CacheNodeType";
|
|
|
1372
1378
|
ElastiCacheConditions.CACHE_PARAMETER_GROUP_NAME = "elasticache:CacheParameterGroupName";
|
|
1373
1379
|
/** Condition key: elasticache:ClusterModeEnabled (Bool) */
|
|
1374
1380
|
ElastiCacheConditions.CLUSTER_MODE_ENABLED = "elasticache:ClusterModeEnabled";
|
|
1381
|
+
/** Condition key: elasticache:ConnectionType (String) */
|
|
1382
|
+
ElastiCacheConditions.CONNECTION_TYPE = "elasticache:ConnectionType";
|
|
1375
1383
|
/** Condition key: elasticache:DataStorageUnit (String) */
|
|
1376
1384
|
ElastiCacheConditions.DATA_STORAGE_UNIT = "elasticache:DataStorageUnit";
|
|
1377
1385
|
/** Condition key: elasticache:Durability (String) */
|
|
@@ -1402,4 +1410,4 @@ ElastiCacheConditions.SNAPSHOT_RETENTION_LIMIT = "elasticache:SnapshotRetentionL
|
|
|
1402
1410
|
ElastiCacheConditions.TRANSIT_ENCRYPTION_ENABLED = "elasticache:TransitEncryptionEnabled";
|
|
1403
1411
|
/** Condition key: elasticache:UserAuthenticationMode (String) */
|
|
1404
1412
|
ElastiCacheConditions.USER_AUTHENTICATION_MODE = "elasticache:UserAuthenticationMode";
|
|
1405
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2VsYXN0aWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjs7QUFBL0IsZ0RBOFJDOzs7QUE3UkEsOEJBQThCO0FBQ2QsaUNBQWMsR0FBRyxhQUFhLENBQUM7QUFFL0MsOENBQThDO0FBQzlCLG9DQUFpQixHQUFHLCtCQUErQixDQUFDO0FBQ3BFLDZEQUE2RDtBQUM3QyxxREFBa0MsR0FDakQsZ0RBQWdELENBQUM7QUFDbEQsaURBQWlEO0FBQ2pDLHlDQUFzQixHQUFHLG9DQUFvQyxDQUFDO0FBQzlFLGdEQUFnRDtBQUNoQyx3Q0FBcUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM1RSw0Q0FBNEM7QUFDNUIsb0NBQWlCLEdBQUcsK0JBQStCLENBQUM7QUFDcEUsa0NBQWtDO0FBQ2xCLDBCQUFPLEdBQUcscUJBQXFCLENBQUM7QUFDaEQsc0RBQXNEO0FBQ3RDLDhDQUEyQixHQUMxQyx5Q0FBeUMsQ0FBQztBQUMzQyx1Q0FBdUM7QUFDdkIsK0JBQVksR0FBRywwQkFBMEIsQ0FBQztBQUMxRCw2Q0FBNkM7QUFDN0IscUNBQWtCLEdBQUcsZ0NBQWdDLENBQUM7QUFDdEUsb0RBQW9EO0FBQ3BDLDRDQUF5QixHQUN4Qyx1Q0FBdUMsQ0FBQztBQUN6QyxtREFBbUQ7QUFDbkMsMkNBQXdCLEdBQ3ZDLHNDQUFzQyxDQUFDO0FBQ3hDLGlEQUFpRDtBQUNqQyx5Q0FBc0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUM5RSx1REFBdUQ7QUFDdkMsK0NBQTRCLEdBQzNDLDBDQUEwQyxDQUFDO0FBQzVDLGlEQUFpRDtBQUNqQyx5Q0FBc0IsR0FBRyxvQ0FB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dUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUM3RSw4REFBOEQ7QUFDOUMsMENBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDeEUsZ0VBQWdFO0FBQ2hELDZDQUF1QixHQUFHLGtDQUFrQyxDQUFDO0FBQzdFLHVEQUF1RDtBQUN2QyxzQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSx5REFBeUQ7QUFDekMscUNBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnRUFBZ0U7QUFDaEQsNkNBQXVCLEdBQUcsa0NBQWtDLENBQUM7QUFDN0Usa0VBQWtFO0FBQ2xELDhDQUF3QixHQUN2QyxvQ0FBb0MsQ0FBQztBQUN0QyxpRUFBaUU7QUFDakQsZ0RBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLGlFQUFpRTtBQUNqRCw4Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9lbGFzdGljYWNoZS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgZWxhc3RpY2FjaGUgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aUNhY2hlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImVsYXN0aWNhY2hlXCI7XG5cblx0LyoqIFtUYWdnaW5nXSBlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvUmVzb3VyY2UgPSBcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgPVxuXHRcdFwiZWxhc3RpY2FjaGU6QXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpCYXRjaEFwcGx5VXBkYXRlQWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uID0gXCJlbGFzdGljYWNoZTpCYXRjaEFwcGx5VXBkYXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkJhdGNoU3RvcFVwZGF0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uID0gXCJlbGFzdGljYWNoZTpCYXRjaFN0b3BVcGRhdGVBY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q29tcGxldGVNaWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlTWlncmF0aW9uID0gXCJlbGFzdGljYWNoZTpDb21wbGV0ZU1pZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDb25uZWN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDb25uZWN0ID0gXCJlbGFzdGljYWNoZTpDb25uZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ID1cblx0XHRcImVsYXN0aWNhY2hlOkNvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDb3B5U25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTbmFwc2hvdCA9IFwiZWxhc3RpY2FjaGU6Q29weVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVDbHVzdGVyID0gXCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwID0gXCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwID0gXCJlbGFzdGljYWNoZTpDcmVhdGVSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmVybGVzc0NhY2hlID0gXCJlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ID1cblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbmFwc2hvdCA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlciA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlVXNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVVc2VyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJHcm91cCA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlVXNlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkRlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWNyZWFzZVJlcGxpY2FDb3VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VSZXBsaWNhQ291bnQgPSBcImVsYXN0aWNhY2hlOkRlY3JlYXNlUmVwbGljYUNvdW50XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVDbHVzdGVyID0gXCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVDYWNoZVN1Ym5ldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwID0gXCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVN1Ym5ldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwID0gXCJlbGFzdGljYWNoZTpEZWxldGVSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZVNlcnZlcmxlc3NDYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmVybGVzc0NhY2hlID0gXCJlbGFzdGljYWNoZTpEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ID1cblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbmFwc2hvdCA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlVXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlciA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlVXNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVVc2VyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJHcm91cCA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlVXNlckdyb3VwXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZUNsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlQ2x1c3RlcnMgPSBcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVDbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVycyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlUGFyYW1ldGVyc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV2ZW50cyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVFdmVudHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3NcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmVybGVzc0NhY2hlcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZpY2VVcGRhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZpY2VVcGRhdGVzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU25hcHNob3RzID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZVNuYXBzaG90c1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlVXBkYXRlQWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVcGRhdGVBY3Rpb25zID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZVVwZGF0ZUFjdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVVzZXJHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlckdyb3VwcyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2VyR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2VycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VycyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2Vyc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ID1cblx0XHRcImVsYXN0aWNhY2hlOkV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6SW5jcmVhc2VSZXBsaWNhQ291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlUmVwbGljYUNvdW50ID0gXCJlbGFzdGljYWNoZTpJbmNyZWFzZVJlcGxpY2FDb3VudFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpJbnRlcnJ1cHRDbHVzdGVyQXpQb3dlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW50ZXJydXB0Q2x1c3RlckF6UG93ZXIgPVxuXHRcdFwiZWxhc3RpY2FjaGU6SW50ZXJydXB0Q2x1c3RlckF6UG93ZXJcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6TGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBlbGFzdGljYWNoZTpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJlbGFzdGljYWNoZTpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVDbHVzdGVyID0gXCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlU3VibmV0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlU3VibmV0R3JvdXAgPSBcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlU3VibmV0R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXAgPSBcImVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeVNlcnZlcmxlc3NDYWNoZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2VydmVybGVzc0NhY2hlID0gXCJlbGFzdGljYWNoZTpNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5VXNlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlciA9IFwiZWxhc3RpY2FjaGU6TW9kaWZ5VXNlclwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlVc2VyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVVzZXJHcm91cCA9IFwiZWxhc3RpY2FjaGU6TW9kaWZ5VXNlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmcgPVxuXHRcdFwiZWxhc3RpY2FjaGU6UHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6UmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6UmVib290Q2FjaGVDbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RDYWNoZUNsdXN0ZXIgPSBcImVsYXN0aWNhY2hlOlJlYm9vdENhY2hlQ2x1c3RlclwiO1xuXHQvKiogW1RhZ2dpbmddIGVsYXN0aWNhY2hlOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgPSBcImVsYXN0aWNhY2hlOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6UmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6UmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgPVxuXHRcdFwiZWxhc3RpY2FjaGU6UmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc1wiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpTdGFydE1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNaWdyYXRpb24gPSBcImVsYXN0aWNhY2hlOlN0YXJ0TWlncmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlRlc3RGYWlsb3ZlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdEZhaWxvdmVyID0gXCJlbGFzdGljYWNoZTpUZXN0RmFpbG92ZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6VGVzdE1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdE1pZ3JhdGlvbiA9IFwiZWxhc3RpY2FjaGU6VGVzdE1pZ3JhdGlvblwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5BdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5CYXRjaEFwcGx5VXBkYXRlQWN0aW9uLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5CYXRjaFN0b3BVcGRhdGVBY3Rpb24sXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNvbXBsZXRlTWlncmF0aW9uLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Db25uZWN0LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Db3B5U2VydmVybGVzc0NhY2hlU25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNvcHlTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlQ2FjaGVDbHVzdGVyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZUNhY2hlU3VibmV0R3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVNlcnZlcmxlc3NDYWNoZSxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVVc2VyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVVc2VyR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVjcmVhc2VSZXBsaWNhQ291bnQsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZUNhY2hlQ2x1c3Rlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVDYWNoZVN1Ym5ldEdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVTZXJ2ZXJsZXNzQ2FjaGUsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlVXNlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlVXNlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5FeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5JbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkluY3JlYXNlUmVwbGljYUNvdW50LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5JbnRlcnJ1cHRDbHVzdGVyQXpQb3dlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5Q2FjaGVDbHVzdGVyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlDYWNoZVN1Ym5ldEdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlTZXJ2ZXJsZXNzQ2FjaGUsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeVVzZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeVVzZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlJlYm9vdENhY2hlQ2x1c3Rlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5SZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5TdGFydE1pZ3JhdGlvbixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuVGVzdEZhaWxvdmVyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5UZXN0TWlncmF0aW9uLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVDYWNoZUNsdXN0ZXJzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlRXZlbnRzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVNlcnZlcmxlc3NDYWNoZXMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlU2VydmljZVVwZGF0ZXMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlU25hcHNob3RzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVVwZGF0ZUFjdGlvbnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlVXNlckdyb3Vwcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVVc2Vycyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5BZGRUYWdzVG9SZXNvdXJjZSxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBDYWNoZUNsdXN0ZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FjaGVDbHVzdGVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhY2hlQ2x1c3RlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FjaGVDbHVzdGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlR2xvYmFscmVwbGljYXRpb25ncm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBHbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZ2xvYmFscmVwbGljYXRpb25ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgR2xvYmFsUmVwbGljYXRpb25Hcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZ2xvYmFsUmVwbGljYXRpb25Hcm91cElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwYXJhbWV0ZXJncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVQYXJhbWV0ZXJncm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBDYWNoZVBhcmFtZXRlckdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FjaGVQYXJhbWV0ZXJHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwYXJhbWV0ZXJncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVQYXJhbWV0ZXJncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYWNoZVBhcmFtZXRlckdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVwbGljYXRpb25ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVSZXBsaWNhdGlvbmdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlcGxpY2F0aW9uR3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVwbGljYXRpb25Hcm91cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVwbGljYXRpb25ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVSZXBsaWNhdGlvbmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXBsaWNhdGlvbkdyb3VwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXBsaWNhdGlvbkdyb3VwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlc2VydmVkLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVJlc2VydmVkSW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzZXJ2ZWRDYWNoZU5vZGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzZXJ2ZWRDYWNoZU5vZGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlc2VydmVkLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVJlc2VydmVkSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc2VydmVkQ2FjaGVOb2RlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNlcnZlZENhY2hlTm9kZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZWN1cml0eWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNlY3VyaXR5Z3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2FjaGVTZWN1cml0eUdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2FjaGVTZWN1cml0eUdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlY3VyaXR5Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU2VjdXJpdHlncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FjaGVTZWN1cml0eUdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhY2hlU2VjdXJpdHlHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZlcmxlc3NjYWNoZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmVybGVzc0NhY2hlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmVybGVzc0NhY2hlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZlcmxlc3NjYWNoZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZlcmxlc3NDYWNoZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2ZXJsZXNzQ2FjaGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNuYXBzaG90QXJuUHJvcHMge1xuXHQvKiogVGhlIFNuYXBzaG90TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc25hcHNob3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU25hcHNob3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNuYXBzaG90TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNuYXBzaG90TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc3VibmV0Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU3VibmV0Z3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2FjaGVTdWJuZXRHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhY2hlU3VibmV0R3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3VibmV0Z3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU3VibmV0Z3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhY2hlU3VibmV0R3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FjaGVTdWJuZXRHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHVzZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlVXNlckFyblByb3BzIHtcblx0LyoqIFRoZSBVc2VySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHVzZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlVXNlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVXNlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB1c2VyZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlVXNlcmdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIFVzZXJHcm91cElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VyR3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHVzZXJncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVVc2VyZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJHcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXNlckdyb3VwSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQ2x1c3RlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsdXN0ZXI6KD88Y2FjaGVDbHVzdGVySWQ+W146Lz9dKykkLztcbmNvbnN0IEdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6Oig/PGFjY291bnQ+W146XSopOmdsb2JhbHJlcGxpY2F0aW9uZ3JvdXA6KD88Z2xvYmFsUmVwbGljYXRpb25Hcm91cElkPlteOi8/XSspJC87XG5jb25zdCBQYXJhbWV0ZXJncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBhcmFtZXRlcmdyb3VwOig/PGNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBSZXBsaWNhdGlvbmdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVwbGljYXRpb25ncm91cDooPzxyZXBsaWNhdGlvbkdyb3VwSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlc2VydmVkSW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNlcnZlZC1pbnN0YW5jZTooPzxyZXNlcnZlZENhY2hlTm9kZUlkPlteOi8/XSspJC87XG5jb25zdCBTZWN1cml0eWdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VjdXJpdHlncm91cDooPzxjYWNoZVNlY3VyaXR5R3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZXJ2ZXJsZXNzY2FjaGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2ZXJsZXNzY2FjaGU6KD88c2VydmVybGVzc0NhY2hlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdDooPzxzZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNuYXBzaG90QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c25hcHNob3Q6KD88c25hcHNob3ROYW1lPlteOi8/XSspJC87XG5jb25zdCBTdWJuZXRncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN1Ym5ldGdyb3VwOig/PGNhY2hlU3VibmV0R3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBVc2VyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dXNlcjooPzx1c2VySWQ+W146Lz9dKykkLztcbmNvbnN0IFVzZXJncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnVzZXJncm91cDooPzx1c2VyR3JvdXBJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGVsYXN0aWNhY2hlIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aUNhY2hlUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXIocHJvcHM6IEVsYXN0aUNhY2hlQ2x1c3RlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbHVzdGVyOiR7cHJvcHMuY2FjaGVDbHVzdGVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2x1c3RlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBFbGFzdGlDYWNoZUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3RlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYWNoZUNsdXN0ZXJJZDogbWF0Y2guZ3JvdXBzIS5jYWNoZUNsdXN0ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAoXG5cdFx0cHJvcHM6IEVsYXN0aUNhY2hlR2xvYmFscmVwbGljYXRpb25ncm91cEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omdsb2JhbHJlcGxpY2F0aW9uZ3JvdXA6JHtwcm9wcy5nbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gR2xvYmFscmVwbGljYXRpb25ncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aUNhY2hlR2xvYmFscmVwbGljYXRpb25ncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gR2xvYmFscmVwbGljYXRpb25ncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZDogbWF0Y2guZ3JvdXBzIS5nbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGFyYW1ldGVyZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGFyYW1ldGVyZ3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlUGFyYW1ldGVyZ3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGFyYW1ldGVyZ3JvdXA6JHtwcm9wcy5jYWNoZVBhcmFtZXRlckdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGFyYW1ldGVyZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBhcmFtZXRlcmdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBhcmFtZXRlcmdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBhcmFtZXRlcmdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBhcmFtZXRlcmdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVBhcmFtZXRlcmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQYXJhbWV0ZXJncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXJhbWV0ZXJncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYWNoZVBhcmFtZXRlckdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5jYWNoZVBhcmFtZXRlckdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXBsaWNhdGlvbmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2F0aW9uZ3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlUmVwbGljYXRpb25ncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXBsaWNhdGlvbmdyb3VwOiR7cHJvcHMucmVwbGljYXRpb25Hcm91cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXBsaWNhdGlvbmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBsaWNhdGlvbmdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVwbGljYXRpb25ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXBsaWNhdGlvbmdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVJlcGxpY2F0aW9uZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmVwbGljYXRpb25ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXBsaWNhdGlvbkdyb3VwSWQ6IG1hdGNoLmdyb3VwcyEucmVwbGljYXRpb25Hcm91cElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlc2VydmVkLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc2VydmVkSW5zdGFuY2UocHJvcHM6IEVsYXN0aUNhY2hlUmVzZXJ2ZWRJbnN0YW5jZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNlcnZlZC1pbnN0YW5jZToke3Byb3BzLnJlc2VydmVkQ2FjaGVOb2RlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHJlc2VydmVkLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNlcnZlZEluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc2VydmVkSW5zdGFuY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVzZXJ2ZWQtaW5zdGFuY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzZXJ2ZWRJbnN0YW5jZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVSZXNlcnZlZEluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNlcnZlZEluc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc2VydmVkLWluc3RhbmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc2VydmVkQ2FjaGVOb2RlSWQ6IG1hdGNoLmdyb3VwcyEucmVzZXJ2ZWRDYWNoZU5vZGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZWN1cml0eWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlY3VyaXR5Z3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlU2VjdXJpdHlncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZWN1cml0eWdyb3VwOiR7cHJvcHMuY2FjaGVTZWN1cml0eUdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VjdXJpdHlncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VjdXJpdHlncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZWN1cml0eWdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlY3VyaXR5Z3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VjdXJpdHlncm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVTZWN1cml0eWdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZWN1cml0eWdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlY3VyaXR5Z3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2FjaGVTZWN1cml0eUdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5jYWNoZVNlY3VyaXR5R3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZlcmxlc3NjYWNoZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2ZXJsZXNzY2FjaGUocHJvcHM6IEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZlcmxlc3NjYWNoZToke3Byb3BzLnNlcnZlcmxlc3NDYWNoZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZlcmxlc3NjYWNoZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmVybGVzc2NhY2hlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZlcmxlc3NjYWNoZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2ZXJsZXNzY2FjaGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmVybGVzc2NhY2hlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmVybGVzc2NhY2hlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZlcmxlc3NjYWNoZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2ZXJsZXNzQ2FjaGVOYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZlcmxlc3NDYWNoZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmVybGVzc2NhY2hlc25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmVybGVzc2NhY2hlc25hcHNob3QoXG5cdFx0cHJvcHM6IEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdDoke3Byb3BzLnNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmVybGVzc2NhY2hlc25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNuYXBzaG90KHByb3BzOiBFbGFzdGlDYWNoZVNuYXBzaG90QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNuYXBzaG90OiR7cHJvcHMuc25hcHNob3ROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU25hcHNob3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU25hcHNob3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc25hcHNob3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU25hcHNob3RBcm4oYXJuOiBzdHJpbmcpOiBFbGFzdGlDYWNoZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTbmFwc2hvdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzbmFwc2hvdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzbmFwc2hvdE5hbWU6IG1hdGNoLmdyb3VwcyEuc25hcHNob3ROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHN1Ym5ldGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN1Ym5ldGdyb3VwKHByb3BzOiBFbGFzdGlDYWNoZVN1Ym5ldGdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN1Ym5ldGdyb3VwOiR7cHJvcHMuY2FjaGVTdWJuZXRHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHN1Ym5ldGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTdWJuZXRncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTdWJuZXRncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzdWJuZXRncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTdWJuZXRncm91cEFybihhcm46IHN0cmluZyk6IEVsYXN0aUNhY2hlU3VibmV0Z3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN1Ym5ldGdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN1Ym5ldGdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhY2hlU3VibmV0R3JvdXBOYW1lOiBtYXRjaC5ncm91cHMhLmNhY2hlU3VibmV0R3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHVzZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcihwcm9wczogRWxhc3RpQ2FjaGVVc2VyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnVzZXI6JHtwcm9wcy51c2VySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHVzZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFVzZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVXNlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB1c2VyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVVzZXJBcm4oYXJuOiBzdHJpbmcpOiBFbGFzdGlDYWNoZVVzZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFVzZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdXNlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR1c2VySWQ6IG1hdGNoLmdyb3VwcyEudXNlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHVzZXJncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB1c2VyZ3JvdXAocHJvcHM6IEVsYXN0aUNhY2hlVXNlcmdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnVzZXJncm91cDoke3Byb3BzLnVzZXJHcm91cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB1c2VyZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFVzZXJncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBVc2VyZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdXNlcmdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVVzZXJncm91cEFybihhcm46IHN0cmluZyk6IEVsYXN0aUNhY2hlVXNlcmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBVc2VyZ3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdXNlcmdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHVzZXJHcm91cElkOiBtYXRjaC5ncm91cHMhLnVzZXJHcm91cElkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGVsYXN0aWNhY2hlLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkVGFnc1RvUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzVG9SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkJhdGNoQXBwbHlVcGRhdGVBY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkJhdGNoU3RvcFVwZGF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb21wbGV0ZU1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlTWlncmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkNvbXBsZXRlTWlncmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENvcHlTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q29weVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhY2hlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVDbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVVc2VyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlVXNlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVjcmVhc2VSZXBsaWNhQ291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZVJlcGxpY2FDb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWNyZWFzZVJlcGxpY2FDb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYWNoZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU25hcHNob3RcIixcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlQ2x1c3RlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU3VibmV0R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVTdWJuZXRHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNuYXBzaG90XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZlcmxlc3NDYWNoZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpEZWxldGVTbmFwc2hvdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXI6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6RGVsZXRlVXNlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckdyb3VwOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOkRlbGV0ZVVzZXJHcm91cFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVDbHVzdGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlUGFyYW1ldGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVFbmdpbmVEZWZhdWx0UGFyYW1ldGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXZlbnRzOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOkRlc2NyaWJlRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmVybGVzc0NhY2hlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlcnZpY2VVcGRhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZpY2VVcGRhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU25hcHNob3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbmFwc2hvdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTbmFwc2hvdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVVcGRhdGVBY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVcGRhdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlVXBkYXRlQWN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVzZXJHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJHcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2VyR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVXNlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJzOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOkRlc2NyaWJlVXNlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW5jcmVhc2VSZXBsaWNhQ291bnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZVJlcGxpY2FDb3VudDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpJbmNyZWFzZVJlcGxpY2FDb3VudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5Q2FjaGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlQ2x1c3RlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlU3VibmV0R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5U2VydmVybGVzc0NhY2hlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5U2VydmVybGVzc0NhY2hlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeVNlcnZlcmxlc3NDYWNoZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlVc2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlcjogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpNb2RpZnlVc2VyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlVc2VyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlVc2VyR3JvdXA6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6TW9kaWZ5VXNlckdyb3VwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZzogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6UHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOlJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlYm9vdENhY2hlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdENhY2hlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpSZWJvb3RDYWNoZUNsdXN0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6UmVtb3ZlVGFnc0Zyb21SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6UmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOlJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpTdGFydE1pZ3JhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVzdEZhaWxvdmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdEZhaWxvdmVyOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOlRlc3RGYWlsb3ZlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVzdE1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RNaWdyYXRpb246IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6VGVzdE1pZ3JhdGlvblwiXTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGVsYXN0aWNhY2hlLlxuICovXG5leHBvcnQgY2xhc3MgRWxhc3RpQ2FjaGVDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRhZ3NUb1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEJhdGNoQXBwbHlVcGRhdGVBY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQmF0Y2hTdG9wVXBkYXRlQWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ29tcGxldGVNaWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVNaWdyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENvbm5lY3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29ubmVjdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ29weVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2FjaGU6S21zS2V5SWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhY2hlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNhY2hlU3VibmV0R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVXNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVVc2VyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVjcmVhc2VSZXBsaWNhQ291bnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VSZXBsaWNhQ291bnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNhY2hlOlJlcGxpY2FzUGVyTm9kZUdyb3VwXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU3VibmV0R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVVzZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVXNlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVDbHVzdGVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3VwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3VwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlU25hcHNob3RzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU25hcHNob3RzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVwZGF0ZUFjdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVcGRhdGVBY3Rpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVzZXJHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyR3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVVzZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEluY3JlYXNlUmVwbGljYUNvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEluY3JlYXNlUmVwbGljYUNvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW50ZXJydXB0Q2x1c3RlckF6UG93ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW50ZXJydXB0Q2x1c3RlckF6UG93ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZUNsdXN0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUNhY2hlU3VibmV0R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpBdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWRcIixcblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVcIixcblx0XHRcImVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIiwgXCJlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5VXNlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlVc2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlVc2VyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWJvb3RDYWNoZUNsdXN0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290Q2FjaGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXNldENhY2hlUGFyYW1ldGVyR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydE1pZ3JhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1pZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGVzdEZhaWxvdmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RGYWlsb3ZlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGVzdE1pZ3JhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0TWlncmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6QXRSZXN0RW5jcnlwdGlvbkVuYWJsZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBBVF9SRVNUX0VOQ1JZUFRJT05fRU5BQkxFRCA9XG5cdFx0XCJlbGFzdGljYWNoZTpBdFJlc3RFbmNyeXB0aW9uRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6QXV0aFRva2VuRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVEhfVE9LRU5fRU5BQkxFRCA9IFwiZWxhc3RpY2FjaGU6QXV0aFRva2VuRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6QXV0b21hdGljRmFpbG92ZXJFbmFibGVkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVVUT01BVElDX0ZBSUxPVkVSX0VOQUJMRUQgPVxuXHRcdFwiZWxhc3RpY2FjaGU6QXV0b21hdGljRmFpbG92ZXJFbmFibGVkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpDYWNoZU5vZGVUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDQUNIRV9OT0RFX1RZUEUgPSBcImVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDQUNIRV9QQVJBTUVURVJfR1JPVVBfTkFNRSA9XG5cdFx0XCJlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6Q2x1c3Rlck1vZGVFbmFibGVkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0xVU1RFUl9NT0RFX0VOQUJMRUQgPSBcImVsYXN0aWNhY2hlOkNsdXN0ZXJNb2RlRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6RGF0YVN0b3JhZ2VVbml0IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBEQVRBX1NUT1JBR0VfVU5JVCA9IFwiZWxhc3RpY2FjaGU6RGF0YVN0b3JhZ2VVbml0XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpEdXJhYmlsaXR5IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBEVVJBQklMSVRZID0gXCJlbGFzdGljYWNoZTpEdXJhYmlsaXR5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpFbmdpbmVUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkdJTkVfVFlQRSA9IFwiZWxhc3RpY2FjaGU6RW5naW5lVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6RW5naW5lVmVyc2lvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRU5HSU5FX1ZFUlNJT04gPSBcImVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkttc0tleUlkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBLTVNfS0VZX0lEID0gXCJlbGFzdGljYWNoZTpLbXNLZXlJZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6TWF4aW11bURhdGFTdG9yYWdlIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUFYSU1VTV9EQVRBX1NUT1JBR0UgPSBcImVsYXN0aWNhY2hlOk1heGltdW1EYXRhU3RvcmFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6TWF4aW11bUVDUFVQZXJTZWNvbmQgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBNQVhJTVVNX0VDUFVfUEVSX1NFQ09ORCA9IFwiZWxhc3RpY2FjaGU6TWF4aW11bUVDUFVQZXJTZWNvbmRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOk1pbmltdW1EYXRhU3RvcmFnZSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1JTklNVU1fREFUQV9TVE9SQUdFID0gXCJlbGFzdGljYWNoZTpNaW5pbXVtRGF0YVN0b3JhZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOk1pbmltdW1FQ1BVUGVyU2Vjb25kIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9FQ1BVX1BFUl9TRUNPTkQgPSBcImVsYXN0aWNhY2hlOk1pbmltdW1FQ1BVUGVyU2Vjb25kXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpNdWx0aUFaRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1VTFRJX0FaX0VOQUJMRUQgPSBcImVsYXN0aWNhY2hlOk11bHRpQVpFbmFibGVkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTlVNX05PREVfR1JPVVBTID0gXCJlbGFzdGljYWNoZTpOdW1Ob2RlR3JvdXBzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFUExJQ0FTX1BFUl9OT0RFX0dST1VQID0gXCJlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6U25hcHNob3RSZXRlbnRpb25MaW1pdCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNOQVBTSE9UX1JFVEVOVElPTl9MSU1JVCA9XG5cdFx0XCJlbGFzdGljYWNoZTpTbmFwc2hvdFJldGVudGlvbkxpbWl0XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpUcmFuc2l0RW5jcnlwdGlvbkVuYWJsZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBUUkFOU0lUX0VOQ1JZUFRJT05fRU5BQkxFRCA9XG5cdFx0XCJlbGFzdGljYWNoZTpUcmFuc2l0RW5jcnlwdGlvbkVuYWJsZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOlVzZXJBdXRoZW50aWNhdGlvbk1vZGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVTRVJfQVVUSEVOVElDQVRJT05fTU9ERSA9XG5cdFx0XCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkF0UmVzdEVuY3J5cHRpb25FbmFibGVkYC5cblx0ICovXG5cdHN0YXRpYyBhdFJlc3RFbmNyeXB0aW9uRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6QXRSZXN0RW5jcnlwdGlvbkVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkF1dGhUb2tlbkVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIGF1dGhUb2tlbkVuYWJsZWQoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImVsYXN0aWNhY2hlOkF1dGhUb2tlbkVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkF1dG9tYXRpY0ZhaWxvdmVyRW5hYmxlZGAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21hdGljRmFpbG92ZXJFbmFibGVkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlbGFzdGljYWNoZTpBdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGNhY2hlTm9kZVR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpDYWNoZU5vZGVUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZWAuXG5cdCAqL1xuXHRzdGF0aWMgY2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpDbHVzdGVyTW9kZUVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIGNsdXN0ZXJNb2RlRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6Q2x1c3Rlck1vZGVFbmFibGVkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpEYXRhU3RvcmFnZVVuaXRgLlxuXHQgKi9cblx0c3RhdGljIGRhdGFTdG9yYWdlVW5pdChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6RGF0YVN0b3JhZ2VVbml0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpEdXJhYmlsaXR5YC5cblx0ICovXG5cdHN0YXRpYyBkdXJhYmlsaXR5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6RHVyYWJpbGl0eVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6RW5naW5lVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgZW5naW5lVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkVuZ2luZVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25gLlxuXHQgKi9cblx0c3RhdGljIGVuZ2luZVZlcnNpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpFbmdpbmVWZXJzaW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpLbXNLZXlJZGAuXG5cdCAqL1xuXHRzdGF0aWMga21zS2V5SWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpLbXNLZXlJZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TWF4aW11bURhdGFTdG9yYWdlYC5cblx0ICovXG5cdHN0YXRpYyBtYXhpbXVtRGF0YVN0b3JhZ2UoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpNYXhpbXVtRGF0YVN0b3JhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk1heGltdW1FQ1BVUGVyU2Vjb25kYC5cblx0ICovXG5cdHN0YXRpYyBtYXhpbXVtRWNwdVBlclNlY29uZChcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVsYXN0aWNhY2hlOk1heGltdW1FQ1BVUGVyU2Vjb25kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpNaW5pbXVtRGF0YVN0b3JhZ2VgLlxuXHQgKi9cblx0c3RhdGljIG1pbmltdW1EYXRhU3RvcmFnZShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVsYXN0aWNhY2hlOk1pbmltdW1EYXRhU3RvcmFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmRgLlxuXHQgKi9cblx0c3RhdGljIG1pbmltdW1FY3B1UGVyU2Vjb25kKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk11bHRpQVpFbmFibGVkYC5cblx0ICovXG5cdHN0YXRpYyBtdWx0aUF6RW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6TXVsdGlBWkVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk51bU5vZGVHcm91cHNgLlxuXHQgKi9cblx0c3RhdGljIG51bU5vZGVHcm91cHModmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6UmVwbGljYXNQZXJOb2RlR3JvdXBgLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2FzUGVyTm9kZUdyb3VwKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6UmVwbGljYXNQZXJOb2RlR3JvdXBcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOlNuYXBzaG90UmV0ZW50aW9uTGltaXRgLlxuXHQgKi9cblx0c3RhdGljIHNuYXBzaG90UmV0ZW50aW9uTGltaXQoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpTbmFwc2hvdFJldGVudGlvbkxpbWl0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpUcmFuc2l0RW5jcnlwdGlvbkVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIHRyYW5zaXRFbmNyeXB0aW9uRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6VHJhbnNpdEVuY3J5cHRpb25FbmFibGVkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyB1c2VyQXV0aGVudGljYXRpb25Nb2RlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
|
|
1413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhc3RpY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2VsYXN0aWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGtCQUFrQjs7QUFBL0IsZ0RBOFJDOzs7QUE3UkEsOEJBQThCO0FBQ2QsaUNBQWMsR0FBRyxhQUFhLENBQUM7QUFFL0MsOENBQThDO0FBQzlCLG9DQUFpQixHQUFHLCtCQUErQixDQUFDO0FBQ3BFLDZEQUE2RDtBQUM3QyxxREFBa0MsR0FDakQsZ0RBQWdELENBQUM7QUFDbEQsaURBQWlEO0FBQ2pDLHlDQUFzQixHQUFHLG9DQUFvQyxDQUFDO0FBQzlFLGdEQUFnRDtBQUNoQyx3Q0FBcUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM1RSw0Q0FBNEM7QUFDNUIsb0NBQWlCLEdBQUcsK0JBQStCLENBQUM7QUFDcEUsa0NBQWtDO0FBQ2xCLDBCQUFPLEdBQUcscUJBQXFCLENBQUM7QUFDaEQsc0RBQXNEO0FBQ3RDLDhDQUEyQixHQUMxQyx5Q0FBeUMsQ0FBQztBQUMzQyx1Q0FBdUM7QUFDdkIsK0JBQVksR0FBRywwQkFBMEIsQ0FBQztBQUMxRCw2Q0FBNkM7QUFDN0IscUNBQWtCLEdBQUcsZ0NBQWdDLENBQUM7QUFDdEUsb0RBQW9EO0FBQ3BDLDRDQUF5QixHQUN4Qyx1Q0FBdUMsQ0FBQztBQUN6QyxtREFBbUQ7QUFDbkMsMkNBQXdCLEdBQ3ZDLHNDQUFzQyxDQUFDO0FBQ3hDLGlEQUFpRDtBQUNqQyx5Q0FBc0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUM5RSx1REFBdUQ7QUFDdkMsK0NBQTRCLEdBQzNDLDBDQUEwQyxDQUFDO0FBQzVDLGlEQUFpRDtBQUNqQyx5Q0FBc0IsR0FBRyxvQ0FB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QixDQUFDO0FBQ3ZELHdEQUF3RDtBQUN4QyxvQ0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBQzdELG1EQUFtRDtBQUNuQyxnQ0FBVSxHQUFHLHNCQUFzQixDQUFDO0FBQ3BELDhEQUE4RDtBQUM5QywwQ0FBb0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN4RSxnRUFBZ0U7QUFDaEQsNkNBQXVCLEdBQUcsa0NBQWtDLENBQUM7QUFDN0UsOERBQThEO0FBQzlDLDBDQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3hFLGdFQUFnRTtBQUNoRCw2Q0FBdUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUM3RSx1REFBdUQ7QUFDdkMsc0NBQWdCLEdBQUcsNEJBQTRCLENBQUM7QUFDaEUseURBQXlEO0FBQ3pDLHFDQUFlLEdBQUcsMkJBQTJCLENBQUM7QUFDOUQsZ0VBQWdFO0FBQ2hELDZDQUF1QixHQUFHLGtDQUFrQyxDQUFDO0FBQzdFLGtFQUFrRTtBQUNsRCw4Q0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMsaUVBQWlFO0FBQ2pELGdEQUEwQixHQUN6QyxzQ0FBc0MsQ0FBQztBQUN4QyxpRUFBaUU7QUFDakQsOENBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvZWxhc3RpY2FjaGUuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGVsYXN0aWNhY2hlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGlDYWNoZUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJlbGFzdGljYWNoZVwiO1xuXG5cdC8qKiBbVGFnZ2luZ10gZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlID0gXCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzICovXG5cdHN0YXRpYyByZWFkb25seSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzID1cblx0XHRcImVsYXN0aWNhY2hlOkF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6QmF0Y2hBcHBseVVwZGF0ZUFjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbiA9IFwiZWxhc3RpY2FjaGU6QmF0Y2hBcHBseVVwZGF0ZUFjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpCYXRjaFN0b3BVcGRhdGVBY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbiA9IFwiZWxhc3RpY2FjaGU6QmF0Y2hTdG9wVXBkYXRlQWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNvbXBsZXRlTWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDb21wbGV0ZU1pZ3JhdGlvbiA9IFwiZWxhc3RpY2FjaGU6Q29tcGxldGVNaWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q29ubmVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29ubmVjdCA9IFwiZWxhc3RpY2FjaGU6Q29ubmVjdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCA9XG5cdFx0XCJlbGFzdGljYWNoZTpDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q29weVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5U25hcHNob3QgPSBcImVsYXN0aWNhY2hlOkNvcHlTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVDYWNoZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlQ2x1c3RlciA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVTdWJuZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cCA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVTdWJuZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Hcm91cCA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZSA9IFwiZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCA9XG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpDcmVhdGVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU25hcHNob3QgPSBcImVsYXN0aWNhY2hlOkNyZWF0ZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkNyZWF0ZVVzZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXIgPSBcImVsYXN0aWNhY2hlOkNyZWF0ZVVzZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6Q3JlYXRlVXNlckdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyR3JvdXAgPSBcImVsYXN0aWNhY2hlOkNyZWF0ZVVzZXJHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVjcmVhc2VSZXBsaWNhQ291bnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlUmVwbGljYUNvdW50ID0gXCJlbGFzdGljYWNoZTpEZWNyZWFzZVJlcGxpY2FDb3VudFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVDYWNoZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlQ2x1c3RlciA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVTdWJuZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cCA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVTdWJuZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25Hcm91cCA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVTZXJ2ZXJsZXNzQ2FjaGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZlcmxlc3NDYWNoZSA9IFwiZWxhc3RpY2FjaGU6RGVsZXRlU2VydmVybGVzc0NhY2hlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpEZWxldGVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU25hcHNob3QgPSBcImVsYXN0aWNhY2hlOkRlbGV0ZVNuYXBzaG90XCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkRlbGV0ZVVzZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXIgPSBcImVsYXN0aWNhY2hlOkRlbGV0ZVVzZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGVsZXRlVXNlckdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyR3JvdXAgPSBcImVsYXN0aWNhY2hlOkRlbGV0ZVVzZXJHcm91cFwiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVDbHVzdGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZUNsdXN0ZXJzID0gXCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlQ2x1c3RlcnNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9ucyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlRW5naW5lVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlUGFyYW1ldGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZUV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFdmVudHMgPSBcImVsYXN0aWNhY2hlOkRlc2NyaWJlRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXBsaWNhdGlvbkdyb3VwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3VwcyA9XG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzID1cblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXMgPVxuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2aWNlVXBkYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlcyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2aWNlVXBkYXRlc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlU25hcHNob3RzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNuYXBzaG90cyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTbmFwc2hvdHNcIjtcblx0LyoqIFtMaXN0XSBlbGFzdGljYWNoZTpEZXNjcmliZVVwZGF0ZUFjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXBkYXRlQWN0aW9ucyA9IFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVVcGRhdGVBY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6RGVzY3JpYmVVc2VyR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJHcm91cHMgPSBcImVsYXN0aWNhY2hlOkRlc2NyaWJlVXNlckdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIGVsYXN0aWNhY2hlOkRlc2NyaWJlVXNlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlcnMgPSBcImVsYXN0aWNhY2hlOkRlc2NyaWJlVXNlcnNcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6RGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCA9XG5cdFx0XCJlbGFzdGljYWNoZTpFeHBvcnRTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cCA9XG5cdFx0XCJlbGFzdGljYWNoZTpGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6SW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6SW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOkluY3JlYXNlUmVwbGljYUNvdW50ICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZVJlcGxpY2FDb3VudCA9IFwiZWxhc3RpY2FjaGU6SW5jcmVhc2VSZXBsaWNhQ291bnRcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6SW50ZXJydXB0Q2x1c3RlckF6UG93ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEludGVycnVwdENsdXN0ZXJBelBvd2VyID1cblx0XHRcImVsYXN0aWNhY2hlOkludGVycnVwdENsdXN0ZXJBelBvd2VyXCI7XG5cdC8qKiBbTGlzdF0gZWxhc3RpY2FjaGU6TGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zID1cblx0XHRcImVsYXN0aWNhY2hlOkxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gZWxhc3RpY2FjaGU6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiZWxhc3RpY2FjaGU6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlDYWNoZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlQ2x1c3RlciA9IFwiZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVDbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwID0gXCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgPVxuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlSZXBsaWNhdGlvbkdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwID0gXCJlbGFzdGljYWNoZTpNb2RpZnlSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb24gPVxuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVNlcnZlcmxlc3NDYWNoZSA9IFwiZWxhc3RpY2FjaGU6TW9kaWZ5U2VydmVybGVzc0NhY2hlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOk1vZGlmeVVzZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVVzZXIgPSBcImVsYXN0aWNhY2hlOk1vZGlmeVVzZXJcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6TW9kaWZ5VXNlckdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlVc2VyR3JvdXAgPSBcImVsYXN0aWNhY2hlOk1vZGlmeVVzZXJHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nICovXG5cdHN0YXRpYyByZWFkb25seSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nID1cblx0XHRcImVsYXN0aWNhY2hlOlB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6UmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOlJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlJlYm9vdENhY2hlQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290Q2FjaGVDbHVzdGVyID0gXCJlbGFzdGljYWNoZTpSZWJvb3RDYWNoZUNsdXN0ZXJcIjtcblx0LyoqIFtUYWdnaW5nXSBlbGFzdGljYWNoZTpSZW1vdmVUYWdzRnJvbVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlID0gXCJlbGFzdGljYWNoZTpSZW1vdmVUYWdzRnJvbVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwID1cblx0XHRcImVsYXN0aWNhY2hlOlJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzICovXG5cdHN0YXRpYyByZWFkb25seSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzID1cblx0XHRcImVsYXN0aWNhY2hlOlJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3NcIjtcblx0LyoqIFtXcml0ZV0gZWxhc3RpY2FjaGU6U3RhcnRNaWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWlncmF0aW9uID0gXCJlbGFzdGljYWNoZTpTdGFydE1pZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBlbGFzdGljYWNoZTpUZXN0RmFpbG92ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RGYWlsb3ZlciA9IFwiZWxhc3RpY2FjaGU6VGVzdEZhaWxvdmVyXCI7XG5cdC8qKiBbV3JpdGVdIGVsYXN0aWNhY2hlOlRlc3RNaWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RNaWdyYXRpb24gPSBcImVsYXN0aWNhY2hlOlRlc3RNaWdyYXRpb25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQmF0Y2hTdG9wVXBkYXRlQWN0aW9uLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Db21wbGV0ZU1pZ3JhdGlvbixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ29ubmVjdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ29weVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Db3B5U25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZUNhY2hlQ2x1c3Rlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVDYWNoZVN1Ym5ldEdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVTZXJ2ZXJsZXNzQ2FjaGUsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5DcmVhdGVTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlVXNlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQ3JlYXRlVXNlckdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlY3JlYXNlUmVwbGljYUNvdW50LFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVDYWNoZUNsdXN0ZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlQ2FjaGVTdWJuZXRHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlU2VydmVybGVzc0NhY2hlLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVsZXRlU25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZVVzZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlbGV0ZVVzZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3QsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuSW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5JbmNyZWFzZVJlcGxpY2FDb3VudCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuSW50ZXJydXB0Q2x1c3RlckF6UG93ZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLk1vZGlmeUNhY2hlQ2x1c3Rlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5UmVwbGljYXRpb25Hcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuTW9kaWZ5U2VydmVybGVzc0NhY2hlLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlVc2VyLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5Nb2RpZnlVc2VyR3JvdXAsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmcsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlJlYmFsYW5jZVNsb3RzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5SZWJvb3RDYWNoZUNsdXN0ZXIsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cCxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuU3RhcnRNaWdyYXRpb24sXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlRlc3RGYWlsb3Zlcixcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuVGVzdE1pZ3JhdGlvbixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlQ2FjaGVDbHVzdGVycyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUNhY2hlUGFyYW1ldGVycyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZUV2ZW50cyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwcyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90cyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVTZXJ2ZXJsZXNzQ2FjaGVzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VVcGRhdGVzLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVNuYXBzaG90cyxcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuRGVzY3JpYmVVcGRhdGVBY3Rpb25zLFxuXHRcdEVsYXN0aUNhY2hlQWN0aW9ucy5EZXNjcmliZVVzZXJHcm91cHMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkRlc2NyaWJlVXNlcnMsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLkxpc3RBbGxvd2VkTm9kZVR5cGVNb2RpZmljYXRpb25zLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRFbGFzdGlDYWNoZUFjdGlvbnMuQWRkVGFnc1RvUmVzb3VyY2UsXG5cdFx0RWxhc3RpQ2FjaGVBY3Rpb25zLlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZUNsdXN0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2FjaGVDbHVzdGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhY2hlQ2x1c3RlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYWNoZUNsdXN0ZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhY2hlQ2x1c3RlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZUdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgR2xvYmFsUmVwbGljYXRpb25Hcm91cElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBnbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQ6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGdsb2JhbHJlcGxpY2F0aW9uZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlR2xvYmFscmVwbGljYXRpb25ncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGFyYW1ldGVyZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlUGFyYW1ldGVyZ3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGFyYW1ldGVyZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlUGFyYW1ldGVyZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhY2hlUGFyYW1ldGVyR3JvdXBOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FjaGVQYXJhbWV0ZXJHcm91cE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlcGxpY2F0aW9uZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlUmVwbGljYXRpb25ncm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXBsaWNhdGlvbkdyb3VwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlcGxpY2F0aW9uR3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlcGxpY2F0aW9uZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlUmVwbGljYXRpb25ncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVwbGljYXRpb25Hcm91cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVwbGljYXRpb25Hcm91cElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZXNlcnZlZC1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVSZXNlcnZlZEluc3RhbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc2VydmVkQ2FjaGVOb2RlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc2VydmVkQ2FjaGVOb2RlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZXNlcnZlZC1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVSZXNlcnZlZEluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNlcnZlZENhY2hlTm9kZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzZXJ2ZWRDYWNoZU5vZGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VjdXJpdHlncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZWN1cml0eWdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIENhY2hlU2VjdXJpdHlHcm91cE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhY2hlU2VjdXJpdHlHcm91cE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZWN1cml0eWdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNlY3VyaXR5Z3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENhY2hlU2VjdXJpdHlHcm91cE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjYWNoZVNlY3VyaXR5R3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2ZXJsZXNzY2FjaGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZlcmxlc3NDYWNoZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZlcmxlc3NDYWNoZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2ZXJsZXNzY2FjaGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2ZXJsZXNzQ2FjaGVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmVybGVzc0NhY2hlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmVybGVzc2NhY2hlc25hcHNob3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzbmFwc2hvdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWxhc3RpQ2FjaGVTbmFwc2hvdEFyblByb3BzIHtcblx0LyoqIFRoZSBTbmFwc2hvdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNuYXBzaG90TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNuYXBzaG90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVNuYXBzaG90QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTbmFwc2hvdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzbmFwc2hvdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHN1Ym5ldGdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVN1Ym5ldGdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIENhY2hlU3VibmV0R3JvdXBOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjYWNoZVN1Ym5ldEdyb3VwTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHN1Ym5ldGdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVN1Ym5ldGdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDYWNoZVN1Ym5ldEdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNhY2hlU3VibmV0R3JvdXBOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB1c2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVVzZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVXNlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1c2VySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB1c2VyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVVzZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFVzZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVzZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdXNlcmdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGlDYWNoZVVzZXJncm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBVc2VyR3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXNlckdyb3VwSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB1c2VyZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVsYXN0aUNhY2hlVXNlcmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBVc2VyR3JvdXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHVzZXJHcm91cElkOiBzdHJpbmc7XG59XG5cbmNvbnN0IENsdXN0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbHVzdGVyOig/PGNhY2hlQ2x1c3RlcklkPlteOi8/XSspJC87XG5jb25zdCBHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOjooPzxhY2NvdW50PlteOl0qKTpnbG9iYWxyZXBsaWNhdGlvbmdyb3VwOig/PGdsb2JhbFJlcGxpY2F0aW9uR3JvdXBJZD5bXjovP10rKSQvO1xuY29uc3QgUGFyYW1ldGVyZ3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwYXJhbWV0ZXJncm91cDooPzxjYWNoZVBhcmFtZXRlckdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUmVwbGljYXRpb25ncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlcGxpY2F0aW9uZ3JvdXA6KD88cmVwbGljYXRpb25Hcm91cElkPlteOi8/XSspJC87XG5jb25zdCBSZXNlcnZlZEluc3RhbmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVzZXJ2ZWQtaW5zdGFuY2U6KD88cmVzZXJ2ZWRDYWNoZU5vZGVJZD5bXjovP10rKSQvO1xuY29uc3QgU2VjdXJpdHlncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlY3VyaXR5Z3JvdXA6KD88Y2FjaGVTZWN1cml0eUdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmVybGVzc2NhY2hlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmVybGVzc2NhY2hlOig/PHNlcnZlcmxlc3NDYWNoZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVsYXN0aWNhY2hlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmVybGVzc2NhY2hlc25hcHNob3Q6KD88c2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lPlteOi8/XSspJC87XG5jb25zdCBTbmFwc2hvdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNuYXBzaG90Oig/PHNuYXBzaG90TmFtZT5bXjovP10rKSQvO1xuY29uc3QgU3VibmV0Z3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzdWJuZXRncm91cDooPzxjYWNoZVN1Ym5ldEdyb3VwTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVXNlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplbGFzdGljYWNoZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnVzZXI6KD88dXNlcklkPlteOi8/XSspJC87XG5jb25zdCBVc2VyZ3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWxhc3RpY2FjaGU6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp1c2VyZ3JvdXA6KD88dXNlckdyb3VwSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBlbGFzdGljYWNoZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBFbGFzdGlDYWNoZVJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbHVzdGVyKHByb3BzOiBFbGFzdGlDYWNoZUNsdXN0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2x1c3Rlcjoke3Byb3BzLmNhY2hlQ2x1c3RlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbHVzdGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENsdXN0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2x1c3RlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbHVzdGVyQXJuKGFybjogc3RyaW5nKTogRWxhc3RpQ2FjaGVDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbHVzdGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsdXN0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2FjaGVDbHVzdGVySWQ6IG1hdGNoLmdyb3VwcyEuY2FjaGVDbHVzdGVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZ2xvYmFscmVwbGljYXRpb25ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwKFxuXHRcdHByb3BzOiBFbGFzdGlDYWNoZUdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZTo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpnbG9iYWxyZXBsaWNhdGlvbmdyb3VwOiR7cHJvcHMuZ2xvYmFsUmVwbGljYXRpb25Hcm91cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBnbG9iYWxyZXBsaWNhdGlvbmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZ2xvYmFscmVwbGljYXRpb25ncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VHbG9iYWxyZXBsaWNhdGlvbmdyb3VwQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBFbGFzdGlDYWNoZUdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEdsb2JhbHJlcGxpY2F0aW9uZ3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ2xvYmFscmVwbGljYXRpb25ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRnbG9iYWxSZXBsaWNhdGlvbkdyb3VwSWQ6IG1hdGNoLmdyb3VwcyEuZ2xvYmFsUmVwbGljYXRpb25Hcm91cElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBhcmFtZXRlcmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBhcmFtZXRlcmdyb3VwKHByb3BzOiBFbGFzdGlDYWNoZVBhcmFtZXRlcmdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVsYXN0aWNhY2hlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBhcmFtZXRlcmdyb3VwOiR7cHJvcHMuY2FjaGVQYXJhbWV0ZXJHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBhcmFtZXRlcmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXJhbWV0ZXJncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXJhbWV0ZXJncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwYXJhbWV0ZXJncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXJhbWV0ZXJncm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVQYXJhbWV0ZXJncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGFyYW1ldGVyZ3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGFyYW1ldGVyZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2FjaGVQYXJhbWV0ZXJHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEuY2FjaGVQYXJhbWV0ZXJHcm91cE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVwbGljYXRpb25ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBsaWNhdGlvbmdyb3VwKHByb3BzOiBFbGFzdGlDYWNoZVJlcGxpY2F0aW9uZ3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVwbGljYXRpb25ncm91cDoke3Byb3BzLnJlcGxpY2F0aW9uR3JvdXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVwbGljYXRpb25ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVwbGljYXRpb25ncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXBsaWNhdGlvbmdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlcGxpY2F0aW9uZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVwbGljYXRpb25ncm91cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVSZXBsaWNhdGlvbmdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXBsaWNhdGlvbmdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlcGxpY2F0aW9uZ3JvdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVwbGljYXRpb25Hcm91cElkOiBtYXRjaC5ncm91cHMhLnJlcGxpY2F0aW9uR3JvdXBJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXNlcnZlZC1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNlcnZlZEluc3RhbmNlKHByb3BzOiBFbGFzdGlDYWNoZVJlc2VydmVkSW5zdGFuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVzZXJ2ZWQtaW5zdGFuY2U6JHtwcm9wcy5yZXNlcnZlZENhY2hlTm9kZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXNlcnZlZC1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzZXJ2ZWRJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNlcnZlZEluc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlc2VydmVkLWluc3RhbmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc2VydmVkSW5zdGFuY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aUNhY2hlUmVzZXJ2ZWRJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzZXJ2ZWRJbnN0YW5jZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXNlcnZlZC1pbnN0YW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNlcnZlZENhY2hlTm9kZUlkOiBtYXRjaC5ncm91cHMhLnJlc2VydmVkQ2FjaGVOb2RlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VjdXJpdHlncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZWN1cml0eWdyb3VwKHByb3BzOiBFbGFzdGlDYWNoZVNlY3VyaXR5Z3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VjdXJpdHlncm91cDoke3Byb3BzLmNhY2hlU2VjdXJpdHlHcm91cE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlY3VyaXR5Z3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlY3VyaXR5Z3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VjdXJpdHlncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZWN1cml0eWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlY3VyaXR5Z3JvdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEVsYXN0aUNhY2hlU2VjdXJpdHlncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VjdXJpdHlncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZWN1cml0eWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNhY2hlU2VjdXJpdHlHcm91cE5hbWU6IG1hdGNoLmdyb3VwcyEuY2FjaGVTZWN1cml0eUdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2ZXJsZXNzY2FjaGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmVybGVzc2NhY2hlKHByb3BzOiBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2ZXJsZXNzY2FjaGU6JHtwcm9wcy5zZXJ2ZXJsZXNzQ2FjaGVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2ZXJsZXNzY2FjaGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZlcmxlc3NjYWNoZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2ZXJsZXNzY2FjaGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmVybGVzc2NhY2hlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZlcmxlc3NjYWNoZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZlcmxlc3NjYWNoZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2ZXJsZXNzY2FjaGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmVybGVzc0NhY2hlTmFtZTogbWF0Y2guZ3JvdXBzIS5zZXJ2ZXJsZXNzQ2FjaGVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90KFxuXHRcdHByb3BzOiBFbGFzdGlDYWNoZVNlcnZlcmxlc3NjYWNoZXNuYXBzaG90QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWxhc3RpY2FjaGU6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmVybGVzc2NhY2hlc25hcHNob3Q6JHtwcm9wcy5zZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZlcmxlc3NjYWNoZXNuYXBzaG90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogRWxhc3RpQ2FjaGVTZXJ2ZXJsZXNzY2FjaGVzbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmVybGVzc2NhY2hlc25hcHNob3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmVybGVzc2NhY2hlc25hcHNob3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmVybGVzc0NhY2hlU25hcHNob3ROYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZlcmxlc3NDYWNoZVNuYXBzaG90TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzbmFwc2hvdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzbmFwc2hvdChwcm9wczogRWxhc3RpQ2FjaGVTbmFwc2hvdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzbmFwc2hvdDoke3Byb3BzLnNuYXBzaG90TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc25hcHNob3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNuYXBzaG90QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNuYXBzaG90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNuYXBzaG90IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNuYXBzaG90QXJuKGFybjogc3RyaW5nKTogRWxhc3RpQ2FjaGVTbmFwc2hvdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU25hcHNob3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc25hcHNob3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c25hcHNob3ROYW1lOiBtYXRjaC5ncm91cHMhLnNuYXBzaG90TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzdWJuZXRncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzdWJuZXRncm91cChwcm9wczogRWxhc3RpQ2FjaGVTdWJuZXRncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzdWJuZXRncm91cDoke3Byb3BzLmNhY2hlU3VibmV0R3JvdXBOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzdWJuZXRncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3VibmV0Z3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3VibmV0Z3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3VibmV0Z3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3VibmV0Z3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBFbGFzdGlDYWNoZVN1Ym5ldGdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTdWJuZXRncm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdWJuZXRncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjYWNoZVN1Ym5ldEdyb3VwTmFtZTogbWF0Y2guZ3JvdXBzIS5jYWNoZVN1Ym5ldEdyb3VwTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB1c2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHVzZXIocHJvcHM6IEVsYXN0aUNhY2hlVXNlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp1c2VyOiR7cHJvcHMudXNlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB1c2VyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRVc2VyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFVzZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdXNlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VVc2VyQXJuKGFybjogc3RyaW5nKTogRWxhc3RpQ2FjaGVVc2VyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBVc2VyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHVzZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dXNlcklkOiBtYXRjaC5ncm91cHMhLnVzZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB1c2VyZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcmdyb3VwKHByb3BzOiBFbGFzdGlDYWNoZVVzZXJncm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplbGFzdGljYWNoZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp1c2VyZ3JvdXA6JHtwcm9wcy51c2VyR3JvdXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdXNlcmdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRVc2VyZ3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVXNlcmdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHVzZXJncm91cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VVc2VyZ3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBFbGFzdGlDYWNoZVVzZXJncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVXNlcmdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHVzZXJncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR1c2VyR3JvdXBJZDogbWF0Y2guZ3JvdXBzIS51c2VyR3JvdXBJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBlbGFzdGljYWNoZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aUNhY2hlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRhZ3NUb1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEF1dGhvcml6ZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hBcHBseVVwZGF0ZUFjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpCYXRjaEFwcGx5VXBkYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoU3RvcFVwZGF0ZUFjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpCYXRjaFN0b3BVcGRhdGVBY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29tcGxldGVNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb21wbGV0ZU1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpDb21wbGV0ZU1pZ3JhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb3B5U25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5U25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNvcHlTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDYWNoZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlQ2x1c3RlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVQYXJhbWV0ZXJHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZUNhY2hlU2VjdXJpdHlHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVTdWJuZXRHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlQ2FjaGVTdWJuZXRHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNlcnZlcmxlc3NDYWNoZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVVc2VyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlVXNlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVVc2VyR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VyR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVVzZXJHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlY3JlYXNlUmVwbGljYUNvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVjcmVhc2VSZXBsaWNhQ291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVjcmVhc2VSZXBsaWNhQ291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FjaGVDbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2FjaGVDbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkNyZWF0ZVNuYXBzaG90XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpEZWxldGVDYWNoZUNsdXN0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlUGFyYW1ldGVyR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVNlY3VyaXR5R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNhY2hlU3VibmV0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZUNhY2hlU3VibmV0R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpDcmVhdGVTbmFwc2hvdFwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6RGVsZXRlUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6Q3JlYXRlU2VydmVybGVzc0NhY2hlU25hcHNob3RcIixcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZVNlcnZlcmxlc3NDYWNoZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlbGV0ZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU25hcHNob3Q6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6RGVsZXRlU25hcHNob3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVVzZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOkRlbGV0ZVVzZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVVzZXJHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJHcm91cDogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpEZWxldGVVc2VyR3JvdXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FjaGVDbHVzdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2FjaGVDbHVzdGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlQ2x1c3RlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZUVuZ2luZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVFbmdpbmVWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlUGFyYW1ldGVyR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVNlY3VyaXR5R3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZUNhY2hlU3VibmV0R3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZ2luZURlZmF1bHRQYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlRW5naW5lRGVmYXVsdFBhcmFtZXRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFdmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV2ZW50czogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpEZXNjcmliZUV2ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlR2xvYmFsUmVwbGljYXRpb25Hcm91cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXBsaWNhdGlvbkdyb3Vwczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlcnZlcmxlc3NDYWNoZVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlU2VydmVybGVzc0NhY2hlU25hcHNob3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VydmVybGVzc0NhY2hlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmVybGVzc0NhY2hlczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVNlcnZlcmxlc3NDYWNoZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlVXBkYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZVVwZGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RGVzY3JpYmVTZXJ2aWNlVXBkYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNuYXBzaG90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU25hcHNob3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlU25hcHNob3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVXBkYXRlQWN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXBkYXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEZXNjcmliZVVwZGF0ZUFjdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVVc2VyR3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2VyR3JvdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkRlc2NyaWJlVXNlckdyb3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVVzZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVVc2Vyczogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpEZXNjcmliZVVzZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEV4cG9ydFNlcnZlcmxlc3NDYWNoZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6RXhwb3J0U2VydmVybGVzc0NhY2hlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRmFpbG92ZXJHbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOkZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6SW5jcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEluY3JlYXNlUmVwbGljYUNvdW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5jcmVhc2VSZXBsaWNhQ291bnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6SW5jcmVhc2VSZXBsaWNhQ291bnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFsbG93ZWROb2RlVHlwZU1vZGlmaWNhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUNhY2hlQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZUNsdXN0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5Q2FjaGVQYXJhbWV0ZXJHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVTdWJuZXRHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlHbG9iYWxSZXBsaWNhdGlvbkdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOk1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5UmVwbGljYXRpb25Hcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6TW9kaWZ5UmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlSZXBsaWNhdGlvbkdyb3VwU2hhcmRDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeVNlcnZlcmxlc3NDYWNoZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVNlcnZlcmxlc3NDYWNoZTogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpNb2RpZnlTZXJ2ZXJsZXNzQ2FjaGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5VXNlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVVzZXI6IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6TW9kaWZ5VXNlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTW9kaWZ5VXNlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlckdyb3VwOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOk1vZGlmeVVzZXJHcm91cFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcImVsYXN0aWNhY2hlOlB1cmNoYXNlUmVzZXJ2ZWRDYWNoZU5vZGVzT2ZmZXJpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmViYWxhbmNlU2xvdHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWJvb3RDYWNoZUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RDYWNoZUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWxhc3RpY2FjaGU6UmVib290Q2FjaGVDbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcImVsYXN0aWNhY2hlOlJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzczogc3RyaW5nW10gPSBbXG5cdFx0XCJlbGFzdGljYWNoZTpSZXZva2VDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWlncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNaWdyYXRpb246IHN0cmluZ1tdID0gW1wiZWxhc3RpY2FjaGU6U3RhcnRNaWdyYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRlc3RGYWlsb3ZlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlc3RGYWlsb3Zlcjogc3RyaW5nW10gPSBbXCJlbGFzdGljYWNoZTpUZXN0RmFpbG92ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRlc3RNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0TWlncmF0aW9uOiBzdHJpbmdbXSA9IFtcImVsYXN0aWNhY2hlOlRlc3RNaWdyYXRpb25cIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBlbGFzdGljYWNoZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVsYXN0aUNhY2hlQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBBZGRUYWdzVG9SZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBZGRUYWdzVG9SZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQXV0aG9yaXplQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBBdXRob3JpemVDYWNoZVNlY3VyaXR5R3JvdXBJbmdyZXNzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBCYXRjaEFwcGx5VXBkYXRlQWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQXBwbHlVcGRhdGVBY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEJhdGNoU3RvcFVwZGF0ZUFjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFN0b3BVcGRhdGVBY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENvbXBsZXRlTWlncmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbXBsZXRlTWlncmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDb25uZWN0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbm5lY3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENvcHlTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5U2VydmVybGVzc0NhY2hlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENvcHlTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDb3B5U25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVsYXN0aWNhY2hlOkttc0tleUlkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDYWNoZUNsdXN0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDYWNoZVBhcmFtZXRlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlUGFyYW1ldGVyR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDYWNoZVNlY3VyaXR5R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2FjaGVTZWN1cml0eUdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVDYWNoZVN1Ym5ldEdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNhY2hlU3VibmV0R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBsaWNhdGlvbkdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmVybGVzc0NhY2hlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2ZXJsZXNzQ2FjaGVTbmFwc2hvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU25hcHNob3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU25hcHNob3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVVzZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiZWxhc3RpY2FjaGU6VXNlckF1dGhlbnRpY2F0aW9uTW9kZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVXNlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVzZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVjcmVhc2VOb2RlR3JvdXBzSW5HbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlY3JlYXNlUmVwbGljYUNvdW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlY3JlYXNlUmVwbGljYUNvdW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpSZXBsaWNhc1Blck5vZGVHcm91cFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQ2FjaGVQYXJhbWV0ZXJHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVBhcmFtZXRlckdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQ2FjaGVTZWN1cml0eUdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNhY2hlU2VjdXJpdHlHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQ2FjaGVTdWJuZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDYWNoZVN1Ym5ldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNuYXBzaG90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNuYXBzaG90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVVc2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVVzZXJHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VyR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ2FjaGVDbHVzdGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlQ2x1c3RlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ2FjaGVQYXJhbWV0ZXJHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVBhcmFtZXRlckdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVBhcmFtZXRlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ2FjaGVTZWN1cml0eUdyb3VwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNhY2hlU2VjdXJpdHlHcm91cHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ2FjaGVTdWJuZXRHcm91cHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDYWNoZVN1Ym5ldEdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVJlcGxpY2F0aW9uR3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVwbGljYXRpb25Hcm91cHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzZXJ2ZWRDYWNoZU5vZGVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZVNuYXBzaG90cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNuYXBzaG90c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVVcGRhdGVBY3Rpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXBkYXRlQWN0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVVc2VyR3JvdXBzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVXNlckdyb3Vwc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVVc2VycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVVzZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEaXNhc3NvY2lhdGVHbG9iYWxSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZUdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEZhaWxvdmVyR2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBGYWlsb3Zlckdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEluY3JlYXNlTm9kZUdyb3Vwc0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZU5vZGVHcm91cHNJbkdsb2JhbFJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLCBcImVsYXN0aWNhY2hlOk51bU5vZGVHcm91cHNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBJbmNyZWFzZVJlcGxpY2FDb3VudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBJbmNyZWFzZVJlcGxpY2FDb3VudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6UmVwbGljYXNQZXJOb2RlR3JvdXBcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEludGVycnVwdENsdXN0ZXJBelBvd2VyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEludGVycnVwdENsdXN0ZXJBelBvd2VyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxsb3dlZE5vZGVUeXBlTW9kaWZpY2F0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlDYWNoZUNsdXN0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5Q2FjaGVDbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlDYWNoZVBhcmFtZXRlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlUGFyYW1ldGVyR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlDYWNoZVN1Ym5ldEdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeUNhY2hlU3VibmV0R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeUdsb2JhbFJlcGxpY2F0aW9uR3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5R2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6QXV0b21hdGljRmFpbG92ZXJFbmFibGVkXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpDYWNoZU5vZGVUeXBlXCIsXG5cdFx0XCJlbGFzdGljYWNoZTpFbmdpbmVWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlSZXBsaWNhdGlvbkdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVJlcGxpY2F0aW9uR3JvdXBTaGFyZENvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5UmVwbGljYXRpb25Hcm91cFNoYXJkQ29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsIFwiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIE1vZGlmeVVzZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5VXNlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6VXNlckF1dGhlbnRpY2F0aW9uTW9kZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5VXNlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeVVzZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHVyY2hhc2VSZXNlcnZlZENhY2hlTm9kZXNPZmZlcmluZyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXJjaGFzZVJlc2VydmVkQ2FjaGVOb2Rlc09mZmVyaW5nQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJhbGFuY2VTbG90c0luR2xvYmFsUmVwbGljYXRpb25Hcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVib290Q2FjaGVDbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdENhY2hlQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVzZXRDYWNoZVBhcmFtZXRlckdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc2V0Q2FjaGVQYXJhbWV0ZXJHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJldm9rZUNhY2hlU2VjdXJpdHlHcm91cEluZ3Jlc3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmV2b2tlQ2FjaGVTZWN1cml0eUdyb3VwSW5ncmVzc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRNaWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNaWdyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRlc3RGYWlsb3ZlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXN0RmFpbG92ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRlc3RNaWdyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVzdE1pZ3JhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkF0UmVzdEVuY3J5cHRpb25FbmFibGVkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVRfUkVTVF9FTkNSWVBUSU9OX0VOQUJMRUQgPVxuXHRcdFwiZWxhc3RpY2FjaGU6QXRSZXN0RW5jcnlwdGlvbkVuYWJsZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkF1dGhUb2tlbkVuYWJsZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBBVVRIX1RPS0VOX0VOQUJMRUQgPSBcImVsYXN0aWNhY2hlOkF1dGhUb2tlbkVuYWJsZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkF1dG9tYXRpY0ZhaWxvdmVyRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVE9NQVRJQ19GQUlMT1ZFUl9FTkFCTEVEID1cblx0XHRcImVsYXN0aWNhY2hlOkF1dG9tYXRpY0ZhaWxvdmVyRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6Q2FjaGVOb2RlVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfTk9ERV9UWVBFID0gXCJlbGFzdGljYWNoZTpDYWNoZU5vZGVUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpDYWNoZVBhcmFtZXRlckdyb3VwTmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfUEFSQU1FVEVSX0dST1VQX05BTUUgPVxuXHRcdFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkNsdXN0ZXJNb2RlRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENMVVNURVJfTU9ERV9FTkFCTEVEID0gXCJlbGFzdGljYWNoZTpDbHVzdGVyTW9kZUVuYWJsZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkNvbm5lY3Rpb25UeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDT05ORUNUSU9OX1RZUEUgPSBcImVsYXN0aWNhY2hlOkNvbm5lY3Rpb25UeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpEYXRhU3RvcmFnZVVuaXQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERBVEFfU1RPUkFHRV9VTklUID0gXCJlbGFzdGljYWNoZTpEYXRhU3RvcmFnZVVuaXRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkR1cmFiaWxpdHkgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERVUkFCSUxJVFkgPSBcImVsYXN0aWNhY2hlOkR1cmFiaWxpdHlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOkVuZ2luZVR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVOR0lORV9UWVBFID0gXCJlbGFzdGljYWNoZTpFbmdpbmVUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpFbmdpbmVWZXJzaW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBFTkdJTkVfVkVSU0lPTiA9IFwiZWxhc3RpY2FjaGU6RW5naW5lVmVyc2lvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6S21zS2V5SWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEtNU19LRVlfSUQgPSBcImVsYXN0aWNhY2hlOkttc0tleUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpNYXhpbXVtRGF0YVN0b3JhZ2UgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBNQVhJTVVNX0RBVEFfU1RPUkFHRSA9IFwiZWxhc3RpY2FjaGU6TWF4aW11bURhdGFTdG9yYWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpNYXhpbXVtRUNQVVBlclNlY29uZCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IE1BWElNVU1fRUNQVV9QRVJfU0VDT05EID0gXCJlbGFzdGljYWNoZTpNYXhpbXVtRUNQVVBlclNlY29uZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6TWluaW11bURhdGFTdG9yYWdlIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9EQVRBX1NUT1JBR0UgPSBcImVsYXN0aWNhY2hlOk1pbmltdW1EYXRhU3RvcmFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmQgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBNSU5JTVVNX0VDUFVfUEVSX1NFQ09ORCA9IFwiZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOk11bHRpQVpFbmFibGVkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTVVMVElfQVpfRU5BQkxFRCA9IFwiZWxhc3RpY2FjaGU6TXVsdGlBWkVuYWJsZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOk51bU5vZGVHcm91cHMgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBOVU1fTk9ERV9HUk9VUFMgPSBcImVsYXN0aWNhY2hlOk51bU5vZGVHcm91cHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOlJlcGxpY2FzUGVyTm9kZUdyb3VwIChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVQTElDQVNfUEVSX05PREVfR1JPVVAgPSBcImVsYXN0aWNhY2hlOlJlcGxpY2FzUGVyTm9kZUdyb3VwXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlbGFzdGljYWNoZTpTbmFwc2hvdFJldGVudGlvbkxpbWl0IChOdW1lcmljKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU05BUFNIT1RfUkVURU5USU9OX0xJTUlUID1cblx0XHRcImVsYXN0aWNhY2hlOlNuYXBzaG90UmV0ZW50aW9uTGltaXRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGVsYXN0aWNhY2hlOlRyYW5zaXRFbmNyeXB0aW9uRW5hYmxlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRSQU5TSVRfRU5DUllQVElPTl9FTkFCTEVEID1cblx0XHRcImVsYXN0aWNhY2hlOlRyYW5zaXRFbmNyeXB0aW9uRW5hYmxlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWxhc3RpY2FjaGU6VXNlckF1dGhlbnRpY2F0aW9uTW9kZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVVNFUl9BVVRIRU5USUNBVElPTl9NT0RFID1cblx0XHRcImVsYXN0aWNhY2hlOlVzZXJBdXRoZW50aWNhdGlvbk1vZGVcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6QXRSZXN0RW5jcnlwdGlvbkVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIGF0UmVzdEVuY3J5cHRpb25FbmFibGVkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlbGFzdGljYWNoZTpBdFJlc3RFbmNyeXB0aW9uRW5hYmxlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6QXV0aFRva2VuRW5hYmxlZGAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0aFRva2VuRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6QXV0aFRva2VuRW5hYmxlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6QXV0b21hdGljRmFpbG92ZXJFbmFibGVkYC5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0aWNGYWlsb3ZlckVuYWJsZWQoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImVsYXN0aWNhY2hlOkF1dG9tYXRpY0ZhaWxvdmVyRW5hYmxlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6Q2FjaGVOb2RlVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgY2FjaGVOb2RlVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkNhY2hlTm9kZVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkNhY2hlUGFyYW1ldGVyR3JvdXBOYW1lYC5cblx0ICovXG5cdHN0YXRpYyBjYWNoZVBhcmFtZXRlckdyb3VwTmFtZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6Q2FjaGVQYXJhbWV0ZXJHcm91cE5hbWVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkNsdXN0ZXJNb2RlRW5hYmxlZGAuXG5cdCAqL1xuXHRzdGF0aWMgY2x1c3Rlck1vZGVFbmFibGVkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJlbGFzdGljYWNoZTpDbHVzdGVyTW9kZUVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkNvbm5lY3Rpb25UeXBlYC5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0aW9uVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkNvbm5lY3Rpb25UeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpEYXRhU3RvcmFnZVVuaXRgLlxuXHQgKi9cblx0c3RhdGljIGRhdGFTdG9yYWdlVW5pdChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6RGF0YVN0b3JhZ2VVbml0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpEdXJhYmlsaXR5YC5cblx0ICovXG5cdHN0YXRpYyBkdXJhYmlsaXR5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6RHVyYWJpbGl0eVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6RW5naW5lVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgZW5naW5lVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImVsYXN0aWNhY2hlOkVuZ2luZVR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOkVuZ2luZVZlcnNpb25gLlxuXHQgKi9cblx0c3RhdGljIGVuZ2luZVZlcnNpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpFbmdpbmVWZXJzaW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpLbXNLZXlJZGAuXG5cdCAqL1xuXHRzdGF0aWMga21zS2V5SWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpLbXNLZXlJZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TWF4aW11bURhdGFTdG9yYWdlYC5cblx0ICovXG5cdHN0YXRpYyBtYXhpbXVtRGF0YVN0b3JhZ2UoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpNYXhpbXVtRGF0YVN0b3JhZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk1heGltdW1FQ1BVUGVyU2Vjb25kYC5cblx0ICovXG5cdHN0YXRpYyBtYXhpbXVtRWNwdVBlclNlY29uZChcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVsYXN0aWNhY2hlOk1heGltdW1FQ1BVUGVyU2Vjb25kXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpNaW5pbXVtRGF0YVN0b3JhZ2VgLlxuXHQgKi9cblx0c3RhdGljIG1pbmltdW1EYXRhU3RvcmFnZShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImVsYXN0aWNhY2hlOk1pbmltdW1EYXRhU3RvcmFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmRgLlxuXHQgKi9cblx0c3RhdGljIG1pbmltdW1FY3B1UGVyU2Vjb25kKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6TWluaW11bUVDUFVQZXJTZWNvbmRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk11bHRpQVpFbmFibGVkYC5cblx0ICovXG5cdHN0YXRpYyBtdWx0aUF6RW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6TXVsdGlBWkVuYWJsZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOk51bU5vZGVHcm91cHNgLlxuXHQgKi9cblx0c3RhdGljIG51bU5vZGVHcm91cHModmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6TnVtTm9kZUdyb3Vwc1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgZWxhc3RpY2FjaGU6UmVwbGljYXNQZXJOb2RlR3JvdXBgLlxuXHQgKi9cblx0c3RhdGljIHJlcGxpY2FzUGVyTm9kZUdyb3VwKFxuXHRcdHZhbHVlOiBudW1iZXIsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiZWxhc3RpY2FjaGU6UmVwbGljYXNQZXJOb2RlR3JvdXBcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGVsYXN0aWNhY2hlOlNuYXBzaG90UmV0ZW50aW9uTGltaXRgLlxuXHQgKi9cblx0c3RhdGljIHNuYXBzaG90UmV0ZW50aW9uTGltaXQoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpTbmFwc2hvdFJldGVudGlvbkxpbWl0XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpUcmFuc2l0RW5jcnlwdGlvbkVuYWJsZWRgLlxuXHQgKi9cblx0c3RhdGljIHRyYW5zaXRFbmNyeXB0aW9uRW5hYmxlZChcblx0XHR2YWx1ZTogYm9vbGVhbixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiZWxhc3RpY2FjaGU6VHJhbnNpdEVuY3J5cHRpb25FbmFibGVkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlYC5cblx0ICovXG5cdHN0YXRpYyB1c2VyQXV0aGVudGljYXRpb25Nb2RlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJlbGFzdGljYWNoZTpVc2VyQXV0aGVudGljYXRpb25Nb2RlXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
|