@cdk_utils/iam 1.7.0 → 1.9.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 +1822 -1661
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +9 -5
- 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 +12 -7
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +11 -7
- 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.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.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.d.ts +16 -0
- package/lib/generated/services/lambda.js +38 -5
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +6 -5
- 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 +6 -5
- 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 +6 -5
- 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.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.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 +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.js +4 -4
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +6 -17
- 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 +2 -2
|
@@ -16,7 +16,7 @@ class VPCLatticeActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.VPCLatticeActions = VPCLatticeActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
VPCLatticeActions[_a] = { fqn: "@cdk_utils/iam.vpc_lattice.VPCLatticeActions", version: "1.
|
|
19
|
+
VPCLatticeActions[_a] = { fqn: "@cdk_utils/iam.vpc_lattice.VPCLatticeActions", version: "1.9.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
VPCLatticeActions.SERVICE_PREFIX = "vpc-lattice";
|
|
22
22
|
/** [PermissionManagement] vpc-lattice:AssociateViaAWSService */
|
|
@@ -646,7 +646,7 @@ class VPCLatticeResources {
|
|
|
646
646
|
}
|
|
647
647
|
exports.VPCLatticeResources = VPCLatticeResources;
|
|
648
648
|
_b = JSII_RTTI_SYMBOL_1;
|
|
649
|
-
VPCLatticeResources[_b] = { fqn: "@cdk_utils/iam.vpc_lattice.VPCLatticeResources", version: "1.
|
|
649
|
+
VPCLatticeResources[_b] = { fqn: "@cdk_utils/iam.vpc_lattice.VPCLatticeResources", version: "1.9.0" };
|
|
650
650
|
/**
|
|
651
651
|
* API operation to required IAM actions mapping for vpc-lattice.
|
|
652
652
|
*/
|
|
@@ -654,7 +654,7 @@ class VPCLatticeOperations {
|
|
|
654
654
|
}
|
|
655
655
|
exports.VPCLatticeOperations = VPCLatticeOperations;
|
|
656
656
|
_c = JSII_RTTI_SYMBOL_1;
|
|
657
|
-
VPCLatticeOperations[_c] = { fqn: "@cdk_utils/iam.vpc_lattice.VPCLatticeOperations", version: "1.
|
|
657
|
+
VPCLatticeOperations[_c] = { fqn: "@cdk_utils/iam.vpc_lattice.VPCLatticeOperations", version: "1.9.0" };
|
|
658
658
|
/** IAM actions required for the BatchUpdateRule API call. */
|
|
659
659
|
VPCLatticeOperations.BatchUpdateRule = ["vpc-lattice:UpdateRule"];
|
|
660
660
|
/** IAM actions required for the CreateAccessLogSubscription API call. */
|
|
@@ -1028,18 +1028,16 @@ class VPCLatticeConditions {
|
|
|
1028
1028
|
}
|
|
1029
1029
|
exports.VPCLatticeConditions = VPCLatticeConditions;
|
|
1030
1030
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1031
|
-
VPCLatticeConditions[_d] = { fqn: "@cdk_utils/iam.vpc_lattice.VPCLatticeConditions", version: "1.
|
|
1031
|
+
VPCLatticeConditions[_d] = { fqn: "@cdk_utils/iam.vpc_lattice.VPCLatticeConditions", version: "1.9.0" };
|
|
1032
1032
|
/** Condition keys applicable to the CreateAccessLogSubscription action. */
|
|
1033
1033
|
VPCLatticeConditions.CreateAccessLogSubscriptionConditionKeys = [
|
|
1034
1034
|
"aws:RequestTag/${TagKey}",
|
|
1035
1035
|
"aws:TagKeys",
|
|
1036
|
-
"vpc-lattice:CreateAction",
|
|
1037
1036
|
];
|
|
1038
1037
|
/** Condition keys applicable to the CreateListener action. */
|
|
1039
1038
|
VPCLatticeConditions.CreateListenerConditionKeys = [
|
|
1040
1039
|
"aws:RequestTag/${TagKey}",
|
|
1041
1040
|
"aws:TagKeys",
|
|
1042
|
-
"vpc-lattice:CreateAction",
|
|
1043
1041
|
"vpc-lattice:Protocol",
|
|
1044
1042
|
"vpc-lattice:TargetGroupArns",
|
|
1045
1043
|
];
|
|
@@ -1047,20 +1045,17 @@ VPCLatticeConditions.CreateListenerConditionKeys = [
|
|
|
1047
1045
|
VPCLatticeConditions.CreateResourceConfigurationConditionKeys = [
|
|
1048
1046
|
"aws:RequestTag/${TagKey}",
|
|
1049
1047
|
"aws:TagKeys",
|
|
1050
|
-
"vpc-lattice:CreateAction",
|
|
1051
1048
|
];
|
|
1052
1049
|
/** Condition keys applicable to the CreateResourceGateway action. */
|
|
1053
1050
|
VPCLatticeConditions.CreateResourceGatewayConditionKeys = [
|
|
1054
1051
|
"aws:RequestTag/${TagKey}",
|
|
1055
1052
|
"aws:TagKeys",
|
|
1056
|
-
"vpc-lattice:CreateAction",
|
|
1057
1053
|
"vpc-lattice:VpcId",
|
|
1058
1054
|
];
|
|
1059
1055
|
/** Condition keys applicable to the CreateRule action. */
|
|
1060
1056
|
VPCLatticeConditions.CreateRuleConditionKeys = [
|
|
1061
1057
|
"aws:RequestTag/${TagKey}",
|
|
1062
1058
|
"aws:TagKeys",
|
|
1063
|
-
"vpc-lattice:CreateAction",
|
|
1064
1059
|
"vpc-lattice:TargetGroupArns",
|
|
1065
1060
|
];
|
|
1066
1061
|
/** Condition keys applicable to the CreateService action. */
|
|
@@ -1068,20 +1063,17 @@ VPCLatticeConditions.CreateServiceConditionKeys = [
|
|
|
1068
1063
|
"aws:RequestTag/${TagKey}",
|
|
1069
1064
|
"aws:TagKeys",
|
|
1070
1065
|
"vpc-lattice:AuthType",
|
|
1071
|
-
"vpc-lattice:CreateAction",
|
|
1072
1066
|
];
|
|
1073
1067
|
/** Condition keys applicable to the CreateServiceNetwork action. */
|
|
1074
1068
|
VPCLatticeConditions.CreateServiceNetworkConditionKeys = [
|
|
1075
1069
|
"aws:RequestTag/${TagKey}",
|
|
1076
1070
|
"aws:TagKeys",
|
|
1077
1071
|
"vpc-lattice:AuthType",
|
|
1078
|
-
"vpc-lattice:CreateAction",
|
|
1079
1072
|
];
|
|
1080
1073
|
/** Condition keys applicable to the CreateServiceNetworkResourceAssociation action. */
|
|
1081
1074
|
VPCLatticeConditions.CreateServiceNetworkResourceAssociationConditionKeys = [
|
|
1082
1075
|
"aws:RequestTag/${TagKey}",
|
|
1083
1076
|
"aws:TagKeys",
|
|
1084
|
-
"vpc-lattice:CreateAction",
|
|
1085
1077
|
"vpc-lattice:ResourceConfigurationArn",
|
|
1086
1078
|
"vpc-lattice:ServiceNetworkArn",
|
|
1087
1079
|
];
|
|
@@ -1089,7 +1081,6 @@ VPCLatticeConditions.CreateServiceNetworkResourceAssociationConditionKeys = [
|
|
|
1089
1081
|
VPCLatticeConditions.CreateServiceNetworkServiceAssociationConditionKeys = [
|
|
1090
1082
|
"aws:RequestTag/${TagKey}",
|
|
1091
1083
|
"aws:TagKeys",
|
|
1092
|
-
"vpc-lattice:CreateAction",
|
|
1093
1084
|
"vpc-lattice:ServiceArn",
|
|
1094
1085
|
"vpc-lattice:ServiceNetworkArn",
|
|
1095
1086
|
];
|
|
@@ -1097,7 +1088,6 @@ VPCLatticeConditions.CreateServiceNetworkServiceAssociationConditionKeys = [
|
|
|
1097
1088
|
VPCLatticeConditions.CreateServiceNetworkVpcAssociationConditionKeys = [
|
|
1098
1089
|
"aws:RequestTag/${TagKey}",
|
|
1099
1090
|
"aws:TagKeys",
|
|
1100
|
-
"vpc-lattice:CreateAction",
|
|
1101
1091
|
"vpc-lattice:PrivateDnsPreference",
|
|
1102
1092
|
"vpc-lattice:PrivateDnsSpecifiedDomains",
|
|
1103
1093
|
"vpc-lattice:SecurityGroupIds",
|
|
@@ -1108,7 +1098,6 @@ VPCLatticeConditions.CreateServiceNetworkVpcAssociationConditionKeys = [
|
|
|
1108
1098
|
VPCLatticeConditions.CreateTargetGroupConditionKeys = [
|
|
1109
1099
|
"aws:RequestTag/${TagKey}",
|
|
1110
1100
|
"aws:TagKeys",
|
|
1111
|
-
"vpc-lattice:CreateAction",
|
|
1112
1101
|
"vpc-lattice:VpcId",
|
|
1113
1102
|
];
|
|
1114
1103
|
/** Condition keys applicable to the DeleteAccessLogSubscription action. */
|
|
@@ -1231,7 +1220,6 @@ VPCLatticeConditions.ListServiceNetworkVpcAssociationsConditionKeys = [
|
|
|
1231
1220
|
VPCLatticeConditions.StartDomainVerificationConditionKeys = [
|
|
1232
1221
|
"aws:RequestTag/${TagKey}",
|
|
1233
1222
|
"aws:TagKeys",
|
|
1234
|
-
"vpc-lattice:CreateAction",
|
|
1235
1223
|
"vpc-lattice:DomainName",
|
|
1236
1224
|
];
|
|
1237
1225
|
/** Condition keys applicable to the TagResource action. */
|
|
@@ -1239,6 +1227,7 @@ VPCLatticeConditions.TagResourceConditionKeys = [
|
|
|
1239
1227
|
"aws:RequestTag/${TagKey}",
|
|
1240
1228
|
"aws:ResourceTag/${TagKey}",
|
|
1241
1229
|
"aws:TagKeys",
|
|
1230
|
+
"vpc-lattice:CreateAction",
|
|
1242
1231
|
];
|
|
1243
1232
|
/** Condition keys applicable to the UntagResource action. */
|
|
1244
1233
|
VPCLatticeConditions.UntagResourceConditionKeys = ["aws:TagKeys"];
|
|
@@ -1319,4 +1308,4 @@ VPCLatticeConditions.TARGET_GROUP_ARNS = "vpc-lattice:TargetGroupArns";
|
|
|
1319
1308
|
VPCLatticeConditions.VPC_ENDPOINT_ID = "vpc-lattice:VpcEndpointId";
|
|
1320
1309
|
/** Condition key: vpc-lattice:VpcId (String) */
|
|
1321
1310
|
VPCLatticeConditions.VPC_ID = "vpc-lattice:VpcId";
|
|
1322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLWxhdHRpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3ZwYy1sYXR0aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjs7QUFBOUIsOENBcVJDOzs7QUFwUkEsOEJBQThCO0FBQ2QsZ0NBQWMsR0FBRyxhQUFhLENBQUM7QUFFL0MsZ0VBQWdFO0FBQ2hELHdDQUFzQixHQUFHLG9DQUFvQyxDQUFDO0FBQzlFLGdGQUFnRjtBQUNoRSx1REFBcUMsR0FDcEQsb0RBQW9ELENBQUM7QUFDdEQsc0RBQXNEO0FBQ3RDLDZDQUEyQixHQUMxQyx5Q0FBeUMsQ0FBQztBQUMzQyx5Q0FBeUM7QUFDekIsZ0NBQWMsR0FBRyw0QkFBNEIsQ0FBQztBQUM5RCxzREFBc0Q7QUFDdEMsNkNBQTJCLEdBQzFDLHlDQUF5QyxDQUFDO0FBQzNDLGdEQUFnRDtBQUNoQyx1Q0FBcUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM1RSxxQ0FBcUM7QUFDckIsNEJBQVUsR0FBRyx3QkFBd0IsQ0FBQztBQUN0RCx3Q0FBd0M7QUFDeEIsK0JBQWEsR0FBRywyQkFBMkIsQ0FBQztBQUM1RCwrQ0FBK0M7QUFDL0Isc0NBQW9CLEdBQUcsa0NBQWtDLENBQUM7QUFDMUUsa0VBQWtFO0FBQ2xELHlEQUF1QyxHQUN0RCxxREFBcUQsQ0FBQztBQUN2RCxpRUFBaUU7QUFDakQsd0RBQXNDLEdBQ3JELG9EQUFvRCxDQUFDO0FBQ3RELDZEQUE2RDtBQUM3QyxvREFBa0MsR0FDakQsZ0RBQWdELENBQUM7QUFDbEQsb0ZBQW9GO0FBQ3BFLDREQUEwQyxHQUN6RCx3REFBd0QsQ0FBQztBQUMxRCw0Q0FBNEM7QUFDNUIsbUNBQWlCLEdBQUcsK0JBQStCLENBQUM7QUFDcEUsc0RBQXNEO0FBQ3RDLDZDQUEyQixHQUMxQyx5Q0FBeUMsQ0FBQztBQUMzQywwREFBMEQ7QUFDMUMsa0NBQWdCLEdBQUcsOEJBQThCLENBQUM7QUFDbEUsbURBQW1EO0FBQ25DLDBDQUF3QixHQUN2QyxzQ0FBc0MsQ0FBQztBQUN4Qyx5Q0FBeUM7QUFDekIsZ0NBQWMsR0FBRyw0QkFBNEIsQ0FBQztBQUM5RCxzREFBc0Q7QUFDdEMsNkNBQTJCLEdBQzFDLHlDQUF5QyxDQUFDO0FBQzNDLDREQUE0RDtBQUM1QyxtREFBaUMsR0FDaEQsK0NBQStDLENBQUM7QUFDakQsZ0RBQWdEO0FBQ2hDLHVDQUFxQixHQUFHLG1DQUFtQyxDQUFDO0FBQzVFLCtDQUErQztBQUMvQixzQ0FBb0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUMxRSxxQ0FBcUM7QUFDckIsNEJBQVUsR0FBRyx3QkFBd0IsQ0FBQztBQUN0RCx3Q0FBd0M7QUFDeEIsK0JBQWEsR0FBRywyQkFBMkIsQ0FBQztBQUM1RCwrQ0FBK0M7QUFDL0Isc0NBQW9CLEdBQUcsa0NBQWtDLENBQUM7QUFDMUUsa0VBQWtFO0FBQ2xELHlEQUF1QyxHQUN0RCxxREFBcUQsQ0FBQztBQUN2RCxpRUFBaUU7QUFDakQsd0RBQXNDLEdBQ3JELG9EQUFvRCxDQUFDO0FBQ3RELDZEQUE2RDtBQUM3QyxvREFBa0MsR0FDakQsZ0RBQWdELENBQUM7QUFDbEQsNENBQTRDO0FBQzVCLG1DQUFpQixHQUFHLCtCQUErQixDQUFDO0FBQ3BFLDRDQUE0QztBQUM1QixtQ0FBaUIsR0FBRywrQkFBK0IsQ0FBQztBQUNwRSxrREFBa0Q7QUFDbEMsZ0RBQThCLEdBQzdDLHNDQUFzQyxDQUFDO0FBQ3hDLHVDQUF1QztBQUN2QixxQ0FBbUIsR0FBRywyQkFBMkIsQ0FBQztBQUNsRSwrQ0FBK0M7QUFDL0IsNkNBQTJCLEdBQzFDLG1DQUFtQyxDQUFDO0FBQ3JDLHFDQUFxQztBQUNyQixtQ0FBaUIsR0FBRyx5QkFBeUIsQ0FBQztBQUM5RCxrREFBa0Q7QUFDbEMsZ0RBQThCLEdBQzdDLHNDQUFzQyxDQUFDO0FBQ3hDLDRDQUE0QztBQUM1QiwwQ0FBd0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM1RSwyQ0FBMkM7QUFDM0IseUNBQXVCLEdBQUcsK0JBQStCLENBQUM7QUFDMUUsaUNBQWlDO0FBQ2pCLCtCQUFhLEdBQUcscUJBQXFCLENBQUM7QUFDdEQsb0NBQW9DO0FBQ3BCLGtDQUFnQixHQUFHLHdCQUF3QixDQUFDO0FBQzVELDJDQUEyQztBQUMzQix5Q0FBdUIsR0FBRywrQkFBK0IsQ0FBQztBQUMxRSw4REFBOEQ7QUFDOUMsNERBQTBDLEdBQ3pELGtEQUFrRCxDQUFDO0FBQ3BELDZEQUE2RDtBQUM3QywyREFBeUMsR0FDeEQsaURBQWlELENBQUM7QUFDbkQseURBQXlEO0FBQ3pDLHVEQUFxQyxHQUNwRCw2Q0FBNkMsQ0FBQztBQUMvQyx3Q0FBd0M7QUFDeEIsc0NBQW9CLEdBQUcsNEJBQTRCLENBQUM7QUFDcEUsb0RBQW9EO0FBQ3BDLDRDQUEwQixHQUN6Qyx3Q0FBd0MsQ0FBQztBQUMxQyxpREFBaUQ7QUFDakMseUNBQXVCLEdBQ3RDLHFDQUFxQyxDQUFDO0FBQ3ZDLHVDQUF1QztBQUN2QiwrQkFBYSxHQUFHLDJCQUEyQixDQUFDO0FBQzVELG9EQUFvRDtBQUNwQyw0Q0FBMEIsR0FDekMsd0NBQXdDLENBQUM7QUFDMUMsMERBQTBEO0FBQzFDLGtEQUFnQyxHQUMvQyw4Q0FBOEMsQ0FBQztBQUNoRCw4Q0FBOEM7QUFDOUIsc0NBQW9CLEdBQUcsa0NBQWtDLENBQUM7QUFDMUUsbUNBQW1DO0FBQ25CLDJCQUFTLEdBQUcsdUJBQXVCLENBQUM7QUFDcEQsZ0VBQWdFO0FBQ2hELHdEQUFzQyxHQUNyRCxvREFBb0QsQ0FBQztBQUN0RCwrREFBK0Q7QUFDL0MsdURBQXFDLEdBQ3BELG1EQUFtRCxDQUFDO0FBQ3JELDJEQUEyRDtBQUMzQyxtREFBaUMsR0FDaEQsK0NBQStDLENBQUM7QUFDakQsbUVBQW1FO0FBQ25ELDJEQUF5QyxHQUN4RCx1REFBdUQsQ0FBQztBQUN6RCw2Q0FBNkM7QUFDN0IscUNBQW1CLEdBQUcsaUNBQWlDLENBQUM7QUFDeEUsc0NBQXNDO0FBQ3RCLDhCQUFZLEdBQUcsMEJBQTBCLENBQUM7QUFDMUQsNkNBQTZDO0FBQzdCLHFDQUFtQixHQUFHLGlDQUFpQyxDQUFDO0FBQ3hFLDBDQUEwQztBQUMxQixrQ0FBZ0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNsRSxxQ0FBcUM7QUFDckIsNkJBQVcsR0FBRyx5QkFBeUIsQ0FBQztBQUN4RCx1REFBdUQ7QUFDdkMsK0JBQWEsR0FBRywyQkFBMkIsQ0FBQztBQUM1RCw0Q0FBNEM7QUFDNUIsbUNBQWlCLEdBQUcsK0JBQStCLENBQUM7QUFDcEUsMENBQTBDO0FBQzFCLGlDQUFlLEdBQUcsNkJBQTZCLENBQUM7QUFDaEUsa0RBQWtEO0FBQ2xDLHlDQUF1QixHQUN0QyxxQ0FBcUMsQ0FBQztBQUN2Qyx3Q0FBd0M7QUFDeEIsNkJBQVcsR0FBRyx5QkFBeUIsQ0FBQztBQUN4RCwwQ0FBMEM7QUFDMUIsK0JBQWEsR0FBRywyQkFBMkIsQ0FBQztBQUM1RCxzREFBc0Q7QUFDdEMsNkNBQTJCLEdBQzFDLHlDQUF5QyxDQUFDO0FBQzNDLHlDQUF5QztBQUN6QixnQ0FBYyxHQUFHLDRCQUE0QixDQUFDO0FBQzlELHNEQUFzRDtBQUN0Qyw2Q0FBMkIsR0FDMUMseUNBQXlDLENBQUM7QUFDM0MsZ0RBQWdEO0FBQ2hDLHVDQUFxQixHQUFHLG1DQUFtQyxDQUFDO0FBQzVFLHFDQUFxQztBQUNyQiw0QkFBVSxHQUFHLHdCQUF3QixDQUFDO0FBQ3RELHdDQUF3QztBQUN4QiwrQkFBYSxHQUFHLDJCQUEyQixDQUFDO0FBQzVELCtDQUErQztBQUMvQixzQ0FBb0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUMxRSw2REFBNkQ7QUFDN0Msb0RBQWtDLEdBQ2pELGdEQUFnRCxDQUFDO0FBQ2xELDRDQUE0QztBQUM1QixtQ0FBaUIsR0FBRywrQkFBK0IsQ0FBQztBQUVwRSw4QkFBOEI7QUFDZCxnQ0FBYyxHQUFhO0lBQzFDLGlCQUFpQixDQUFDLDhCQUE4QjtJQUNoRCxpQkFBaUIsQ0FBQyxtQkFBbUI7SUFDckMsaUJBQWlCLENBQUMsMkJBQTJCO0lBQzdDLGlCQUFpQixDQUFDLGlCQUFpQjtJQUNuQyxpQkFBaUIsQ0FBQyw4QkFBOEI7SUFDaEQsaUJBQWlCLENBQUMsd0JBQXdCO0lBQzFDLGlCQUFpQixDQUFDLHVCQUF1QjtJQUN6QyxpQkFBaUIsQ0FBQyxhQUFhO0lBQy9CLGlCQUFpQixDQUFDLGdCQUFnQjtJQUNsQyxpQkFBaUIsQ0FBQyx1QkFBdUI7SUFDekMsaUJBQWlCLENBQUMsMENBQTBDO0lBQzVELGlCQUFpQixDQUFDLHlDQUF5QztJQUMzRCxpQkFBaUIsQ0FBQyxxQ0FBcUM7SUFDdkQsaUJBQWlCLENBQUMsb0JBQW9CO0lBQ3RDLGlCQUFpQixDQUFDLG1CQUFtQjtDQUNyQyxDQUFDO0FBQ0YsK0JBQStCO0FBQ2YsaUNBQWUsR0FBYTtJQUMzQyxpQkFBaUIsQ0FBQywyQkFBMkI7SUFDN0MsaUJBQWlCLENBQUMsY0FBYztJQUNoQyxpQkFBaUIsQ0FBQywyQkFBMkI7SUFDN0MsaUJBQWlCLENBQUMscUJBQXFCO0lBQ3ZDLGlCQUFpQixDQUFDLFVBQVU7SUFDNUIsaUJBQWlCLENBQUMsYUFBYTtJQUMvQixpQkFBaUIsQ0FBQyxvQkFBb0I7SUFDdEMsaUJBQWlCLENBQUMsdUNBQXVDO0lBQ3pELGlCQUFpQixDQUFDLHNDQUFzQztJQUN4RCxpQkFBaUIsQ0FBQyxrQ0FBa0M7SUFDcEQsaUJBQWlCLENBQUMsaUJBQWlCO0lBQ25DLGlCQUFpQixDQUFDLDJCQUEyQjtJQUM3QyxpQkFBaUIsQ0FBQyx3QkFBd0I7SUFDMUMsaUJBQWlCLENBQUMsY0FBYztJQUNoQyxpQkFBaUIsQ0FBQywyQkFBMkI7SUFDN0MsaUJBQWlCLENBQUMsaUNBQWlDO0lBQ25ELGlCQUFpQixDQUFDLHFCQUFxQjtJQUN2QyxpQkFBaUIsQ0FBQyxvQkFBb0I7SUFDdEMsaUJBQWlCLENBQUMsVUFBVTtJQUM1QixpQkFBaUIsQ0FBQyxhQUFhO0lBQy9CLGlCQUFpQixDQUFDLG9CQUFvQjtJQUN0QyxpQkFBaUIsQ0FBQyx1Q0FBdUM7SUFDekQsaUJBQWlCLENBQUMsc0NBQXNDO0lBQ3hELGlCQUFpQixDQUFDLGtDQUFrQztJQUNwRCxpQkFBaUIsQ0FBQyxpQkFBaUI7SUFDbkMsaUJBQWlCLENBQUMsaUJBQWlCO0lBQ25DLGlCQUFpQixDQUFDLGlCQUFpQjtJQUNuQyxpQkFBaUIsQ0FBQyxlQUFlO0lBQ2pDLGlCQUFpQixDQUFDLHVCQUF1QjtJQUN6QyxpQkFBaUIsQ0FBQywyQkFBMkI7SUFDN0MsaUJBQWlCLENBQUMsY0FBYztJQUNoQyxpQkFBaUIsQ0FBQywyQkFBMkI7SUFDN0MsaUJBQWlCLENBQUMscUJBQXFCO0lBQ3ZDLGlCQUFpQixDQUFDLFVBQVU7SUFDNUIsaUJBQWlCLENBQUMsYUFBYTtJQUMvQixpQkFBaUIsQ0FBQyxvQkFBb0I7SUFDdEMsaUJBQWlCLENBQUMsa0NBQWtDO0lBQ3BELGlCQUFpQixDQUFDLGlCQUFpQjtDQUNuQyxDQUFDO0FBQ0YsOEJBQThCO0FBQ2QsZ0NBQWMsR0FBYTtJQUMxQyxpQkFBaUIsQ0FBQywwQkFBMEI7SUFDNUMsaUJBQWlCLENBQUMsdUJBQXVCO0lBQ3pDLGlCQUFpQixDQUFDLGFBQWE7SUFDL0IsaUJBQWlCLENBQUMsMEJBQTBCO0lBQzVDLGlCQUFpQixDQUFDLGdDQUFnQztJQUNsRCxpQkFBaUIsQ0FBQyxvQkFBb0I7SUFDdEMsaUJBQWlCLENBQUMsU0FBUztJQUMzQixpQkFBaUIsQ0FBQyxzQ0FBc0M7SUFDeEQsaUJBQWlCLENBQUMscUNBQXFDO0lBQ3ZELGlCQUFpQixDQUFDLGlDQUFpQztJQUNuRCxpQkFBaUIsQ0FBQyx5Q0FBeUM7SUFDM0QsaUJBQWlCLENBQUMsbUJBQW1CO0lBQ3JDLGlCQUFpQixDQUFDLFlBQVk7SUFDOUIsaUJBQWlCLENBQUMsZ0JBQWdCO0lBQ2xDLGlCQUFpQixDQUFDLFdBQVc7Q0FDN0IsQ0FBQztBQUNGLCtDQUErQztBQUMvQixnREFBOEIsR0FBYTtJQUMxRCxpQkFBaUIsQ0FBQyxzQkFBc0I7SUFDeEMsaUJBQWlCLENBQUMscUNBQXFDO0lBQ3ZELGlCQUFpQixDQUFDLDBDQUEwQztJQUM1RCxpQkFBaUIsQ0FBQyxnQkFBZ0I7SUFDbEMsaUJBQWlCLENBQUMsYUFBYTtDQUMvQixDQUFDO0FBQ0YsaUNBQWlDO0FBQ2pCLG1DQUFpQixHQUFhO0lBQzdDLGlCQUFpQixDQUFDLFdBQVc7SUFDN0IsaUJBQWlCLENBQUMsYUFBYTtDQUMvQixDQUFDO0FBMlhILE1BQU0sNkJBQTZCLEdBQ2xDLHFJQUFxSSxDQUFDO0FBQ3ZJLE1BQU0sMEJBQTBCLEdBQy9CLCtIQUErSCxDQUFDO0FBQ2pJLE1BQU0sZ0JBQWdCLEdBQ3JCLDJJQUEySSxDQUFDO0FBQzdJLE1BQU0sNkJBQTZCLEdBQ2xDLHFJQUFxSSxDQUFDO0FBQ3ZJLE1BQU0sbUNBQW1DLEdBQ3hDLGlKQUFpSixDQUFDO0FBQ25KLE1BQU0sdUJBQXVCLEdBQzVCLHlIQUF5SCxDQUFDO0FBQzNILE1BQU0sWUFBWSxHQUNqQixxS0FBcUssQ0FBQztBQUN2SyxNQUFNLGVBQWUsR0FDcEIseUdBQXlHLENBQUM7QUFDM0csTUFBTSxzQkFBc0IsR0FDM0IsdUhBQXVILENBQUM7QUFDekgsTUFBTSx5Q0FBeUMsR0FDOUMsNkpBQTZKLENBQUM7QUFDL0osTUFBTSx3Q0FBd0MsR0FDN0MsMkpBQTJKLENBQUM7QUFDN0osTUFBTSxvQ0FBb0MsR0FDekMsbUpBQW1KLENBQUM7QUFDckosTUFBTSxtQkFBbUIsR0FDeEIsaUhBQWlILENBQUM7QUFFbkg7O0dBRUc7QUFDSCxNQUFhLG1CQUFtQjtJQUMvQjs7T0FFRztJQUNILE1BQU0sQ0FBQyxxQkFBcUIsQ0FDM0IsS0FBOEM7UUFFOUMsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxnQkFBZ0IsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLDBCQUEwQixLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUM1SixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsK0JBQStCLENBQUMsR0FBVztRQUNqRCxPQUFPLDZCQUE2QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLDZCQUE2QixDQUNuQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQ0FBc0MsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsdUJBQXVCO1NBQzlELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQ3hCLEtBQTJDO1FBRTNDLE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssZ0JBQWdCLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyx1QkFBdUIsS0FBSyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdEosQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDRCQUE0QixDQUFDLEdBQVc7UUFDOUMsT0FBTywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQywwQkFBMEIsQ0FDaEMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixvQkFBb0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLG9CQUFvQjtTQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFpQztRQUNoRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGdCQUFnQixLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsWUFBWSxLQUFLLENBQUMsU0FBUyxhQUFhLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3SixDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVztRQUNwQyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFNBQVM7WUFDbEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsVUFBVTtTQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHFCQUFxQixDQUMzQixLQUE4QztRQUU5QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGdCQUFnQixLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsMEJBQTBCLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQzVKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFXO1FBQ2pELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQ25DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsdUJBQXVCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyx1QkFBdUI7U0FDOUQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywyQkFBMkIsQ0FDakMsS0FBb0Q7UUFFcEQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxnQkFBZ0IsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGdDQUFnQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN4SyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUNBQXFDLENBQUMsR0FBVztRQUN2RCxPQUFPLG1DQUFtQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG1DQUFtQyxDQUN6QyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsbUNBQW1DLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLDZCQUE2QixFQUM1QixLQUFLLENBQUMsTUFBTyxDQUFDLDZCQUE2QjtTQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUF3QztRQUM5RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGdCQUFnQixLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsb0JBQW9CLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2hKLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxHQUFXO1FBQzNDLE9BQU8sdUJBQXVCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsdUJBQXVCLENBQzdCLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxpQkFBaUI7U0FDbEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBNkI7UUFDeEMsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxnQkFBZ0IsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLFlBQVksS0FBSyxDQUFDLFNBQVMsYUFBYSxLQUFLLENBQUMsVUFBVSxTQUFTLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQVc7UUFDaEMsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQVc7UUFDOUIsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1lBQ2xDLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFVBQVU7WUFDcEMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsTUFBTTtTQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFnQztRQUM5QyxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGdCQUFnQixLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsWUFBWSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDaEksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDbkMsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsZUFBZSxDQUFDLEdBQVc7UUFDakMsTUFBTSxLQUFLLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxTQUFTO1NBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQXVDO1FBQzVELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssZ0JBQWdCLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxtQkFBbUIsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDOUksQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHdCQUF3QixDQUFDLEdBQVc7UUFDMUMsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxzQkFBc0IsQ0FDNUIsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGdCQUFnQjtTQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlDQUFpQyxDQUN2QyxLQUEwRDtRQUUxRCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGdCQUFnQixLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsc0NBQXNDLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRSxDQUFDO0lBQ3BMLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQywyQ0FBMkMsQ0FBQyxHQUFXO1FBQzdELE9BQU8seUNBQXlDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMseUNBQXlDLENBQy9DLEdBQVc7UUFFWCxNQUFNLEtBQUssR0FBRyx5Q0FBeUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxPQUFPO1lBQ04sU0FBUyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUztZQUNqQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsbUNBQW1DLEVBQ2xDLEtBQUssQ0FBQyxNQUFPLENBQUMsbUNBQW1DO1NBQ2xELENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsZ0NBQWdDLENBQ3RDLEtBQXlEO1FBRXpELE9BQU8sT0FBTyxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUssZ0JBQWdCLEtBQUssQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxxQ0FBcUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFLENBQUM7SUFDbEwsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLEdBQVc7UUFDNUQsT0FBTyx3Q0FBd0MsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx3Q0FBd0MsQ0FDOUMsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHdDQUF3QyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixrQ0FBa0MsRUFDakMsS0FBSyxDQUFDLE1BQU8sQ0FBQyxrQ0FBa0M7U0FDakQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyw0QkFBNEIsQ0FDbEMsS0FBcUQ7UUFFckQsT0FBTyxPQUFPLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSyxnQkFBZ0IsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLGlDQUFpQyxLQUFLLENBQUMsOEJBQThCLEVBQUUsQ0FBQztJQUMxSyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsc0NBQXNDLENBQUMsR0FBVztRQUN4RCxPQUFPLG9DQUFvQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG9DQUFvQyxDQUMxQyxHQUFXO1FBRVgsTUFBTSxLQUFLLEdBQUcsb0NBQW9DLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2Q0FBNkMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLDhCQUE4QixFQUM3QixLQUFLLENBQUMsTUFBTyxDQUFDLDhCQUE4QjtTQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFvQztRQUN0RCxPQUFPLE9BQU8sS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLGdCQUFnQixLQUFLLENBQUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsZ0JBQWdCLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4SSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsR0FBVztRQUN2QyxPQUFPLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQVc7UUFDckMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDO1FBQ0QsT0FBTztZQUNOLFNBQVMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVM7WUFDakMsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTTtZQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLGFBQWEsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLGFBQWE7U0FDMUMsQ0FBQztJQUNILENBQUM7O0FBemJGLGtEQTBiQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLG9CQUFvQjs7QUFBakMsb0RBdVFDOzs7QUF0UUEsNkRBQTZEO0FBQzdDLG9DQUFlLEdBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3ZFLHlFQUF5RTtBQUN6RCxnREFBMkIsR0FBYTtJQUN2RCx5Q0FBeUM7SUFDekMseUJBQXlCO0NBQ3pCLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsbUNBQWMsR0FBYTtJQUMxQyw0QkFBNEI7SUFDNUIseUJBQXlCO0NBQ3pCLENBQUM7QUFDRix5RUFBeUU7QUFDekQsZ0RBQTJCLEdBQWE7SUFDdkQseUNBQXlDO0lBQ3pDLHlCQUF5QjtDQUN6QixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELDBDQUFxQixHQUFhO0lBQ2pELG1DQUFtQztJQUNuQyx5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLHdEQUF3RDtBQUN4QywrQkFBVSxHQUFhO0lBQ3RDLHdCQUF3QjtJQUN4Qix5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxrQ0FBYSxHQUFhO0lBQ3pDLDJCQUEyQjtJQUMzQix5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx5Q0FBb0IsR0FBYTtJQUNoRCxrQ0FBa0M7SUFDbEMseUJBQXlCO0NBQ3pCLENBQUM7QUFDRixxRkFBcUY7QUFDckUsNERBQXVDLEdBQWE7SUFDbkUsb0NBQW9DO0lBQ3BDLG9EQUFvRDtJQUNwRCxxREFBcUQ7SUFDckQseUJBQXlCO0NBQ3pCLENBQUM7QUFDRixvRkFBb0Y7QUFDcEUsMkRBQXNDLEdBQWE7SUFDbEUsb0RBQW9EO0lBQ3BELHlCQUF5QjtDQUN6QixDQUFDO0FBQ0YsZ0ZBQWdGO0FBQ2hFLHVEQUFrQyxHQUFhO0lBQzlELGdEQUFnRDtJQUNoRCx5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxzQ0FBaUIsR0FBYTtJQUM3QywrQkFBK0I7SUFDL0IseUJBQXlCO0NBQ3pCLENBQUM7QUFDRix5RUFBeUU7QUFDekQsZ0RBQTJCLEdBQWE7SUFDdkQseUNBQXlDO0NBQ3pDLENBQUM7QUFDRiw4REFBOEQ7QUFDOUMscUNBQWdCLEdBQWEsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0FBQzlFLHNFQUFzRTtBQUN0RCw2Q0FBd0IsR0FBYTtJQUNwRCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLDREQUE0RDtBQUM1QyxtQ0FBYyxHQUFhLENBQUMsNEJBQTRCLENBQUMsQ0FBQztBQUMxRSx5RUFBeUU7QUFDekQsZ0RBQTJCLEdBQWE7SUFDdkQseUNBQXlDO0NBQ3pDLENBQUM7QUFDRiwrRUFBK0U7QUFDL0Qsc0RBQWlDLEdBQWE7SUFDN0QsK0NBQStDO0NBQy9DLENBQUM7QUFDRixtRUFBbUU7QUFDbkQsMENBQXFCLEdBQWE7SUFDakQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRixrRUFBa0U7QUFDbEQseUNBQW9CLEdBQWE7SUFDaEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRix3REFBd0Q7QUFDeEMsK0JBQVUsR0FBYSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDbEUsMkRBQTJEO0FBQzNDLGtDQUFhLEdBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQ3hFLGtFQUFrRTtBQUNsRCx5Q0FBb0IsR0FBYTtJQUNoRCxrQ0FBa0M7Q0FDbEMsQ0FBQztBQUNGLHFGQUFxRjtBQUNyRSw0REFBdUMsR0FBYTtJQUNuRSxxREFBcUQ7Q0FDckQsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSwyREFBc0MsR0FBYTtJQUNsRSxvREFBb0Q7Q0FDcEQsQ0FBQztBQUNGLGdGQUFnRjtBQUNoRSx1REFBa0MsR0FBYTtJQUM5RCxnREFBZ0Q7Q0FDaEQsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxzQ0FBaUIsR0FBYTtJQUM3QywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLCtEQUErRDtBQUMvQyxzQ0FBaUIsR0FBYTtJQUM3QywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCwrQ0FBMEIsR0FBYTtJQUN0RCxzQ0FBc0M7Q0FDdEMsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxvQ0FBZSxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUMxRSxtRUFBbUU7QUFDbkQsNENBQXVCLEdBQWE7SUFDbkQsbUNBQW1DO0NBQ25DLENBQUM7QUFDRix5REFBeUQ7QUFDekMsa0NBQWEsR0FBYSxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDdEUsc0VBQXNFO0FBQ3RELCtDQUEwQixHQUFhO0lBQ3RELHNDQUFzQztDQUN0QyxDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELHlDQUFvQixHQUFhO0lBQ2hELGdDQUFnQztDQUNoQyxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHdDQUFtQixHQUFhO0lBQy9DLCtCQUErQjtDQUMvQixDQUFDO0FBQ0YscURBQXFEO0FBQ3JDLDhCQUFTLEdBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQzlELHdEQUF3RDtBQUN4QyxpQ0FBWSxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNwRSwrREFBK0Q7QUFDL0Msd0NBQW1CLEdBQWE7SUFDL0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRixrRkFBa0Y7QUFDbEUsMkRBQXNDLEdBQWE7SUFDbEUsa0RBQWtEO0NBQ2xELENBQUM7QUFDRixpRkFBaUY7QUFDakUsMERBQXFDLEdBQWE7SUFDakUsaURBQWlEO0NBQ2pELENBQUM7QUFDRiw2RUFBNkU7QUFDN0Qsc0RBQWlDLEdBQWE7SUFDN0QsNkNBQTZDO0NBQzdDLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMscUNBQWdCLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzVFLHdFQUF3RTtBQUN4RCwrQ0FBMEIsR0FBYTtJQUN0RCx3Q0FBd0M7Q0FDeEMsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCw0Q0FBdUIsR0FBYTtJQUNuRCxxQ0FBcUM7Q0FDckMsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxrQ0FBYSxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUN4RSx3RUFBd0U7QUFDeEQsK0NBQTBCLEdBQWE7SUFDdEQsd0NBQXdDO0NBQ3hDLENBQUM7QUFDRiw4RUFBOEU7QUFDOUQscURBQWdDLEdBQWE7SUFDNUQsOENBQThDO0NBQzlDLENBQUM7QUFDRixrRUFBa0U7QUFDbEQseUNBQW9CLEdBQWE7SUFDaEQsa0NBQWtDO0NBQ2xDLENBQUM7QUFDRix1REFBdUQ7QUFDdkMsOEJBQVMsR0FBYSxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFDaEUsb0ZBQW9GO0FBQ3BFLDJEQUFzQyxHQUFhO0lBQ2xFLG9EQUFvRDtDQUNwRCxDQUFDO0FBQ0YsbUZBQW1GO0FBQ25FLDBEQUFxQyxHQUFhO0lBQ2pFLG1EQUFtRDtDQUNuRCxDQUFDO0FBQ0YsK0VBQStFO0FBQy9ELHNEQUFpQyxHQUFhO0lBQzdELCtDQUErQztDQUMvQyxDQUFDO0FBQ0YsdUZBQXVGO0FBQ3ZFLDhEQUF5QyxHQUFhO0lBQ3JFLHVEQUF1RDtDQUN2RCxDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELHdDQUFtQixHQUFhO0lBQy9DLGlDQUFpQztDQUNqQyxDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLGlDQUFZLEdBQWEsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0FBQ3RFLGlFQUFpRTtBQUNqRCx3Q0FBbUIsR0FBYTtJQUMvQyxpQ0FBaUM7Q0FDakMsQ0FBQztBQUNGLDhEQUE4RDtBQUM5QyxxQ0FBZ0IsR0FBYSxDQUFDLDhCQUE4QixDQUFDLENBQUM7QUFDOUUseURBQXlEO0FBQ3pDLGdDQUFXLEdBQWEsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQ3BFLDJEQUEyRDtBQUMzQyxrQ0FBYSxHQUFhLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQUN4RSwrREFBK0Q7QUFDL0Msc0NBQWlCLEdBQWE7SUFDN0MsK0JBQStCO0NBQy9CLENBQUM7QUFDRiw2REFBNkQ7QUFDN0Msb0NBQWUsR0FBYSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFDNUUscUVBQXFFO0FBQ3JELDRDQUF1QixHQUFhO0lBQ25ELHFDQUFxQztJQUNyQyx5QkFBeUI7Q0FDekIsQ0FBQztBQUNGLHlEQUF5RDtBQUN6QyxnQ0FBVyxHQUFhLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUNwRSwyREFBMkQ7QUFDM0Msa0NBQWEsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDeEUseUVBQXlFO0FBQ3pELGdEQUEyQixHQUFhO0lBQ3ZELHlDQUF5QztDQUN6QyxDQUFDO0FBQ0YsNERBQTREO0FBQzVDLG1DQUFjLEdBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBQzFFLHlFQUF5RTtBQUN6RCxnREFBMkIsR0FBYTtJQUN2RCx5Q0FBeUM7Q0FDekMsQ0FBQztBQUNGLG1FQUFtRTtBQUNuRCwwQ0FBcUIsR0FBYTtJQUNqRCxtQ0FBbUM7Q0FDbkMsQ0FBQztBQUNGLHdEQUF3RDtBQUN4QywrQkFBVSxHQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNsRSwyREFBMkQ7QUFDM0Msa0NBQWEsR0FBYSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDeEUsa0VBQWtFO0FBQ2xELHlDQUFvQixHQUFhO0lBQ2hELGtDQUFrQztDQUNsQyxDQUFDO0FBQ0YsZ0ZBQWdGO0FBQ2hFLHVEQUFrQyxHQUFhO0lBQzlELGdEQUFnRDtDQUNoRCxDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLHNDQUFpQixHQUFhO0lBQzdDLCtCQUErQjtDQUMvQixDQUFDO0FBR0g7O0dBRUc7QUFDSCxNQUFhLG9CQUFvQjtJQStTaEM7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLDBCQUEwQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZ0I7UUFDOUIsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBYTtRQUNoQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEVBQUUsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDOUIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUMxQixLQUFhO1FBRWIsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLGtDQUFrQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDeEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUNoQyxNQUFnQjtRQUVoQixPQUFPO1lBQ04sMkJBQTJCLEVBQUU7Z0JBQzVCLHdDQUF3QyxFQUFFLE1BQU07YUFDaEQ7U0FDRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFhO1FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyx3QkFBd0IsQ0FDOUIsS0FBYTtRQUViLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxzQ0FBc0MsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDdEIsTUFBZ0I7UUFFaEIsT0FBTztZQUNOLDJCQUEyQixFQUFFLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxFQUFFO1NBQ3ZFLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLHdCQUF3QixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUN2QixLQUFhO1FBRWIsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLCtCQUErQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FDckIsTUFBZ0I7UUFFaEIsT0FBTztZQUNOLHdCQUF3QixFQUFFLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxFQUFFO1NBQ25FLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQWE7UUFDakMsT0FBTyxFQUFFLFlBQVksRUFBRSxFQUFFLDJCQUEyQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFhO1FBQ3pCLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ3pELENBQUM7O0FBamJGLG9EQWtiQzs7O0FBamJBLDJFQUEyRTtBQUMzRCw2REFBd0MsR0FBYTtJQUNwRSwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLDBCQUEwQjtDQUMxQixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGdEQUEyQixHQUFhO0lBQ3ZELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsMEJBQTBCO0lBQzFCLHNCQUFzQjtJQUN0Qiw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCw2REFBd0MsR0FBYTtJQUNwRSwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLDBCQUEwQjtDQUMxQixDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELHVEQUFrQyxHQUFhO0lBQzlELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsMEJBQTBCO0lBQzFCLG1CQUFtQjtDQUNuQixDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLDRDQUF1QixHQUFhO0lBQ25ELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsMEJBQTBCO0lBQzFCLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLCtDQUEwQixHQUFhO0lBQ3RELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDBCQUEwQjtDQUMxQixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHNEQUFpQyxHQUFhO0lBQzdELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDBCQUEwQjtDQUMxQixDQUFDO0FBQ0YsdUZBQXVGO0FBQ3ZFLHlFQUFvRCxHQUNuRTtJQUNDLDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsMEJBQTBCO0lBQzFCLHNDQUFzQztJQUN0QywrQkFBK0I7Q0FDL0IsQ0FBQztBQUNILHNGQUFzRjtBQUN0RSx3RUFBbUQsR0FDbEU7SUFDQywwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsK0JBQStCO0NBQy9CLENBQUM7QUFDSCxrRkFBa0Y7QUFDbEUsb0VBQStDLEdBQWE7SUFDM0UsMEJBQTBCO0lBQzFCLGFBQWE7SUFDYiwwQkFBMEI7SUFDMUIsa0NBQWtDO0lBQ2xDLHdDQUF3QztJQUN4Qyw4QkFBOEI7SUFDOUIsK0JBQStCO0lBQy9CLG1CQUFtQjtDQUNuQixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELG1EQUE4QixHQUFhO0lBQzFELDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsMEJBQTBCO0lBQzFCLG1CQUFtQjtDQUNuQixDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELDZEQUF3QyxHQUFhO0lBQ3BFLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0Ysd0VBQXdFO0FBQ3hELDBEQUFxQyxHQUFhO0lBQ2pFLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGdEQUEyQixHQUFhO0lBQ3ZELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsMkVBQTJFO0FBQzNELDZEQUF3QyxHQUFhO0lBQ3BFLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsaUZBQWlGO0FBQ2pFLG1FQUE4QyxHQUFhO0lBQzFFLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YscUVBQXFFO0FBQ3JELHVEQUFrQyxHQUFhO0lBQzlELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsMERBQTBEO0FBQzFDLDRDQUF1QixHQUFhO0lBQ25ELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLCtDQUEwQixHQUFhO0lBQ3RELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0Ysb0VBQW9FO0FBQ3BELHNEQUFpQyxHQUFhO0lBQzdELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsdUZBQXVGO0FBQ3ZFLHlFQUFvRCxHQUNuRSxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDL0Isc0ZBQXNGO0FBQ3RFLHdFQUFtRCxHQUNsRTtJQUNDLDJCQUEyQjtJQUMzQix3QkFBd0I7SUFDeEIsK0JBQStCO0NBQy9CLENBQUM7QUFDSCxrRkFBa0Y7QUFDbEUsb0VBQStDLEdBQWE7SUFDM0UsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQixtQkFBbUI7Q0FDbkIsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCxtREFBOEIsR0FBYTtJQUMxRCwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLHdFQUF3RTtBQUN4RCxnRUFBMkMsR0FBYTtJQUN2RSwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCw2REFBd0MsR0FBYTtJQUNwRSwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyxtREFBOEIsR0FBYTtJQUMxRCwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLHdFQUF3RTtBQUN4RCxnRUFBMkMsR0FBYTtJQUN2RSwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCwwREFBcUMsR0FBYTtJQUNqRSwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLHVEQUF1RDtBQUN2QywrQ0FBMEIsR0FBYTtJQUN0RCwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLDBEQUEwRDtBQUMxQyxrREFBNkIsR0FBYTtJQUN6RCwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLGlFQUFpRTtBQUNqRCx5REFBb0MsR0FBYTtJQUNoRSwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLG9GQUFvRjtBQUNwRSw0RUFBdUQsR0FDdEUsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO0FBQy9CLG1GQUFtRjtBQUNuRSwyRUFBc0QsR0FDckU7SUFDQywyQkFBMkI7SUFDM0Isd0JBQXdCO0lBQ3hCLCtCQUErQjtDQUMvQixDQUFDO0FBQ0gsK0VBQStFO0FBQy9ELHVFQUFrRCxHQUNqRTtJQUNDLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IsbUJBQW1CO0NBQ25CLENBQUM7QUFDSCw4REFBOEQ7QUFDOUMsc0RBQWlDLEdBQWE7SUFDN0QsMkJBQTJCO0NBQzNCLENBQUM7QUFDRixnRkFBZ0Y7QUFDaEUsa0VBQTZDLEdBQWE7SUFDekUsc0NBQXNDO0lBQ3RDLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YscUZBQXFGO0FBQ3JFLHVFQUFrRCxHQUNqRSxDQUFDLHdCQUF3QixFQUFFLCtCQUErQixDQUFDLENBQUM7QUFDN0QsaUZBQWlGO0FBQ2pFLG1FQUE4QyxHQUFhO0lBQzFFLCtCQUErQjtJQUMvQixtQkFBbUI7Q0FDbkIsQ0FBQztBQUNGLHVFQUF1RTtBQUN2RCx5REFBb0MsR0FBYTtJQUNoRSwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLDBCQUEwQjtJQUMxQix3QkFBd0I7Q0FDeEIsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQyw2Q0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLCtDQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdkUsMkVBQTJFO0FBQzNELDZEQUF3QyxHQUFhO0lBQ3BFLDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsOERBQThEO0FBQzlDLGdEQUEyQixHQUFhO0lBQ3ZELDJCQUEyQjtJQUMzQiw2QkFBNkI7Q0FDN0IsQ0FBQztBQUNGLDJFQUEyRTtBQUMzRCw2REFBd0MsR0FBYTtJQUNwRSwyQkFBMkI7Q0FDM0IsQ0FBQztBQUNGLHFFQUFxRTtBQUNyRCx1REFBa0MsR0FBYTtJQUM5RCwyQkFBMkI7SUFDM0IsOEJBQThCO0NBQzlCLENBQUM7QUFDRiwwREFBMEQ7QUFDMUMsNENBQXVCLEdBQWE7SUFDbkQsMkJBQTJCO0lBQzNCLDZCQUE2QjtDQUM3QixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLCtDQUEwQixHQUFhO0lBQ3RELDJCQUEyQjtJQUMzQixzQkFBc0I7Q0FDdEIsQ0FBQztBQUNGLG9FQUFvRTtBQUNwRCxzREFBaUMsR0FBYTtJQUM3RCwyQkFBMkI7SUFDM0Isc0JBQXNCO0NBQ3RCLENBQUM7QUFDRixrRkFBa0Y7QUFDbEUsb0VBQStDLEdBQWE7SUFDM0UsMkJBQTJCO0lBQzNCLGFBQWE7SUFDYiw4QkFBOEI7SUFDOUIsK0JBQStCO0lBQy9CLG1CQUFtQjtDQUNuQixDQUFDO0FBQ0YsaUVBQWlFO0FBQ2pELG1EQUE4QixHQUFhO0lBQzFELDJCQUEyQjtDQUMzQixDQUFDO0FBRUYsdURBQXVEO0FBQ3ZDLG9DQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLHFDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyxpQ0FBWSxHQUFHLGFBQWEsQ0FBQztBQUM3QyxtREFBbUQ7QUFDbkMsOEJBQVMsR0FBRyxzQkFBc0IsQ0FBQztBQUNuRCx1REFBdUQ7QUFDdkMsa0NBQWEsR0FBRywwQkFBMEIsQ0FBQztBQUMzRCxxREFBcUQ7QUFDckMsZ0NBQVcsR0FBRyx3QkFBd0IsQ0FBQztBQUN2RCwrREFBK0Q7QUFDL0MsMkNBQXNCLEdBQUcsa0NBQWtDLENBQUM7QUFDNUUsNEVBQTRFO0FBQzVELGtEQUE2QixHQUM1Qyx3Q0FBd0MsQ0FBQztBQUMxQyxtREFBbUQ7QUFDbkMsNkJBQVEsR0FBRyxzQkFBc0IsQ0FBQztBQUNsRCxnRUFBZ0U7QUFDaEQsK0NBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLGtFQUFrRTtBQUNsRCx1Q0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxrREFBa0Q7QUFDbEMsZ0NBQVcsR0FBRyx3QkFBd0IsQ0FBQztBQUN2RCx5REFBeUQ7QUFDekMsd0NBQW1CLEdBQUcsK0JBQStCLENBQUM7QUFDdEUsOERBQThEO0FBQzlDLHNDQUFpQixHQUFHLDZCQUE2QixDQUFDO0FBQ2xFLHdEQUF3RDtBQUN4QyxvQ0FBZSxHQUFHLDJCQUEyQixDQUFDO0FBQzlELGdEQUFnRDtBQUNoQywyQkFBTSxHQUFHLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvdnBjLWxhdHRpY2UuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHZwYy1sYXR0aWNlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBWUENMYXR0aWNlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInZwYy1sYXR0aWNlXCI7XG5cblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gdnBjLWxhdHRpY2U6QXNzb2NpYXRlVmlhQVdTU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVmlhQVdTU2VydmljZSA9IFwidnBjLWxhdHRpY2U6QXNzb2NpYXRlVmlhQVdTU2VydmljZVwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSB2cGMtbGF0dGljZTpBc3NvY2lhdGVWaWFBV1NTZXJ2aWNlLUV2ZW50c0FuZFN0YXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVmlhQVdTU2VydmljZUV2ZW50c0FuZFN0YXRlcyA9XG5cdFx0XCJ2cGMtbGF0dGljZTpBc3NvY2lhdGVWaWFBV1NTZXJ2aWNlLUV2ZW50c0FuZFN0YXRlc1wiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpDcmVhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlTGlzdGVuZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxpc3RlbmVyID0gXCJ2cGMtbGF0dGljZTpDcmVhdGVMaXN0ZW5lclwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpDcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlUmVzb3VyY2VHYXRld2F5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZUdhdGV3YXkgPSBcInZwYy1sYXR0aWNlOkNyZWF0ZVJlc291cmNlR2F0ZXdheVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpDcmVhdGVSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSdWxlID0gXCJ2cGMtbGF0dGljZTpDcmVhdGVSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2UgPSBcInZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrID0gXCJ2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1wiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvblwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSB2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrVnBjRW5kcG9pbnRBc3NvY2lhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlVGFyZ2V0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhcmdldEdyb3VwID0gXCJ2cGMtbGF0dGljZTpDcmVhdGVUYXJnZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVBY2Nlc3NMb2dTdWJzY3JpcHRpb25cIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gdnBjLWxhdHRpY2U6RGVsZXRlQXV0aFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0aFBvbGljeSA9IFwidnBjLWxhdHRpY2U6RGVsZXRlQXV0aFBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVEb21haW5WZXJpZmljYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpblZlcmlmaWNhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVEb21haW5WZXJpZmljYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlTGlzdGVuZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxpc3RlbmVyID0gXCJ2cGMtbGF0dGljZTpEZWxldGVMaXN0ZW5lclwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVSZXNvdXJjZUNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlbGV0ZVJlc291cmNlR2F0ZXdheSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VHYXRld2F5ID0gXCJ2cGMtbGF0dGljZTpEZWxldGVSZXNvdXJjZUdhdGV3YXlcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJ2cGMtbGF0dGljZTpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdWxlID0gXCJ2cGMtbGF0dGljZTpEZWxldGVSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlbGV0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2UgPSBcInZwYy1sYXR0aWNlOkRlbGV0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrID0gXCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1wiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkRlbGV0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlbGV0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVUYXJnZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFyZ2V0R3JvdXAgPSBcInZwYy1sYXR0aWNlOkRlbGV0ZVRhcmdldEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlcmVnaXN0ZXJUYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFyZ2V0cyA9IFwidnBjLWxhdHRpY2U6RGVyZWdpc3RlclRhcmdldHNcIjtcblx0LyoqIFtSZWFkXSB2cGMtbGF0dGljZTpHZXRBY2Nlc3NMb2dTdWJzY3JpcHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRBY2Nlc3NMb2dTdWJzY3JpcHRpb25cIjtcblx0LyoqIFtSZWFkXSB2cGMtbGF0dGljZTpHZXRBdXRoUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRoUG9saWN5ID0gXCJ2cGMtbGF0dGljZTpHZXRBdXRoUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0RG9tYWluVmVyaWZpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW5WZXJpZmljYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6R2V0RG9tYWluVmVyaWZpY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0TGlzdGVuZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExpc3RlbmVyID0gXCJ2cGMtbGF0dGljZTpHZXRMaXN0ZW5lclwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldFJlc291cmNlQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VDb25maWd1cmF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkdldFJlc291cmNlQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldFJlc291cmNlR2F0ZXdheSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VHYXRld2F5ID0gXCJ2cGMtbGF0dGljZTpHZXRSZXNvdXJjZUdhdGV3YXlcIjtcblx0LyoqIFtSZWFkXSB2cGMtbGF0dGljZTpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPSBcInZwYy1sYXR0aWNlOkdldFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0UnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UnVsZSA9IFwidnBjLWxhdHRpY2U6R2V0UnVsZVwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldFNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2UgPSBcInZwYy1sYXR0aWNlOkdldFNlcnZpY2VcIjtcblx0LyoqIFtSZWFkXSB2cGMtbGF0dGljZTpHZXRTZXJ2aWNlTmV0d29yayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZU5ldHdvcmsgPSBcInZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6R2V0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0VGFyZ2V0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRhcmdldEdyb3VwID0gXCJ2cGMtbGF0dGljZTpHZXRUYXJnZXRHcm91cFwiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RBY2Nlc3NMb2dTdWJzY3JpcHRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjZXNzTG9nU3Vic2NyaXB0aW9ucyA9XG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0QWNjZXNzTG9nU3Vic2NyaXB0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3REb21haW5WZXJpZmljYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWluVmVyaWZpY2F0aW9ucyA9XG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0RG9tYWluVmVyaWZpY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RMaXN0ZW5lcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RMaXN0ZW5lcnMgPSBcInZwYy1sYXR0aWNlOkxpc3RMaXN0ZW5lcnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0UmVzb3VyY2VDb25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ29uZmlndXJhdGlvbnMgPVxuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFJlc291cmNlQ29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0UmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnMgPVxuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0UmVzb3VyY2VHYXRld2F5cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlR2F0ZXdheXMgPSBcInZwYy1sYXR0aWNlOkxpc3RSZXNvdXJjZUdhdGV3YXlzXCI7XG5cdC8qKiBbTGlzdF0gdnBjLWxhdHRpY2U6TGlzdFJ1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVsZXMgPSBcInZwYy1sYXR0aWNlOkxpc3RSdWxlc1wiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbnMgPVxuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25zID1cblx0XHRcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtWcGNFbmRwb2ludEFzc29jaWF0aW9ucyA9XG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtWcGNFbmRwb2ludEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlTmV0d29ya3MgPSBcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya3NcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0U2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlcyA9IFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VzXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwidnBjLWxhdHRpY2U6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RUYXJnZXRHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXJnZXRHcm91cHMgPSBcInZwYy1sYXR0aWNlOkxpc3RUYXJnZXRHcm91cHNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0VGFyZ2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldHMgPSBcInZwYy1sYXR0aWNlOkxpc3RUYXJnZXRzXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHZwYy1sYXR0aWNlOlB1dEF1dGhQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEF1dGhQb2xpY3kgPSBcInZwYy1sYXR0aWNlOlB1dEF1dGhQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6UHV0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5ID0gXCJ2cGMtbGF0dGljZTpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpSZWdpc3RlclRhcmdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFyZ2V0cyA9IFwidnBjLWxhdHRpY2U6UmVnaXN0ZXJUYXJnZXRzXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOlN0YXJ0RG9tYWluVmVyaWZpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydERvbWFpblZlcmlmaWNhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpTdGFydERvbWFpblZlcmlmaWNhdGlvblwiO1xuXHQvKiogW1RhZ2dpbmddIHZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwidnBjLWxhdHRpY2U6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSB2cGMtbGF0dGljZTpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJ2cGMtbGF0dGljZTpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOlVwZGF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOlVwZGF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvblwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpVcGRhdGVMaXN0ZW5lciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGlzdGVuZXIgPSBcInZwYy1sYXR0aWNlOlVwZGF0ZUxpc3RlbmVyXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOlVwZGF0ZVJlc291cmNlQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOlVwZGF0ZVJlc291cmNlQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpVcGRhdGVSZXNvdXJjZUdhdGV3YXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlR2F0ZXdheSA9IFwidnBjLWxhdHRpY2U6VXBkYXRlUmVzb3VyY2VHYXRld2F5XCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOlVwZGF0ZVJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJ1bGUgPSBcInZwYy1sYXR0aWNlOlVwZGF0ZVJ1bGVcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6VXBkYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZSA9IFwidnBjLWxhdHRpY2U6VXBkYXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpVcGRhdGVTZXJ2aWNlTmV0d29yayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZU5ldHdvcmsgPSBcInZwYy1sYXR0aWNlOlVwZGF0ZVNlcnZpY2VOZXR3b3JrXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOlVwZGF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6VXBkYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpVcGRhdGVUYXJnZXRHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGFyZ2V0R3JvdXAgPSBcInZwYy1sYXR0aWNlOlVwZGF0ZVRhcmdldEdyb3VwXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuYWN0aW9uR2V0QWNjZXNzTG9nU3Vic2NyaXB0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldEF1dGhQb2xpY3ksXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuYWN0aW9uR2V0RG9tYWluVmVyaWZpY2F0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldExpc3RlbmVyLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlQ29uZmlndXJhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZUdhdGV3YXksXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuYWN0aW9uR2V0UnVsZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldFNlcnZpY2VOZXR3b3JrLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldFRhcmdldEdyb3VwLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuQ3JlYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkNyZWF0ZUxpc3RlbmVyLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkNyZWF0ZVJlc291cmNlQ29uZmlndXJhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVSZXNvdXJjZUdhdGV3YXksXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuQ3JlYXRlUnVsZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVTZXJ2aWNlLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkNyZWF0ZVNlcnZpY2VOZXR3b3JrLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkNyZWF0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkNyZWF0ZVRhcmdldEdyb3VwLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVEb21haW5WZXJpZmljYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlTGlzdGVuZXIsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlUmVzb3VyY2VDb25maWd1cmF0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVSZXNvdXJjZUdhdGV3YXksXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlUnVsZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVTZXJ2aWNlLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZVNlcnZpY2VOZXR3b3JrLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZVRhcmdldEdyb3VwLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlcmVnaXN0ZXJUYXJnZXRzLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlJlZ2lzdGVyVGFyZ2V0cyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5TdGFydERvbWFpblZlcmlmaWNhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5VcGRhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuVXBkYXRlTGlzdGVuZXIsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuVXBkYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlVwZGF0ZVJlc291cmNlR2F0ZXdheSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5VcGRhdGVSdWxlLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlVwZGF0ZVNlcnZpY2UsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuVXBkYXRlU2VydmljZU5ldHdvcmssXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuVXBkYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5VcGRhdGVUYXJnZXRHcm91cCxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdERvbWFpblZlcmlmaWNhdGlvbnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdExpc3RlbmVycyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5MaXN0UmVzb3VyY2VDb25maWd1cmF0aW9ucyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5MaXN0UmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9ucyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5MaXN0UmVzb3VyY2VHYXRld2F5cyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5MaXN0UnVsZXMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9ucyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5MaXN0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFNlcnZpY2VOZXR3b3JrVnBjRW5kcG9pbnRBc3NvY2lhdGlvbnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFNlcnZpY2VOZXR3b3Jrcyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5MaXN0U2VydmljZXMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFRhcmdldEdyb3Vwcyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5MaXN0VGFyZ2V0cyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuQXNzb2NpYXRlVmlhQVdTU2VydmljZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5Bc3NvY2lhdGVWaWFBV1NTZXJ2aWNlRXZlbnRzQW5kU3RhdGVzLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkNyZWF0ZVNlcnZpY2VOZXR3b3JrVnBjRW5kcG9pbnRBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVBdXRoUG9saWN5LFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlB1dEF1dGhQb2xpY3ksXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBBY2Nlc3NMb2dTdWJzY3JpcHRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VBY2Nlc3NMb2dTdWJzY3JpcHRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWNjZXNzTG9nU3Vic2NyaXB0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFjY2Vzc0xvZ1N1YnNjcmlwdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQWNjZXNzTG9nU3Vic2NyaXB0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlQWNjZXNzTG9nU3Vic2NyaXB0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBY2Nlc3NMb2dTdWJzY3JpcHRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFjY2Vzc0xvZ1N1YnNjcmlwdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBEb21haW5WZXJpZmljYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VEb21haW5WZXJpZmljYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9tYWluVmVyaWZpY2F0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvbWFpblZlcmlmaWNhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgRG9tYWluVmVyaWZpY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlRG9tYWluVmVyaWZpY2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb21haW5WZXJpZmljYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvbWFpblZlcmlmaWNhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBMaXN0ZW5lciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZUxpc3RlbmVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZpY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGVuZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIExpc3RlbmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlTGlzdGVuZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXNvdXJjZUNvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VDb25maWd1cmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVzb3VyY2VDb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlUmVzb3VyY2VDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXNvdXJjZUdhdGV3YXkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VSZXNvdXJjZUdhdGV3YXlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VHYXRld2F5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc291cmNlR2F0ZXdheUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVzb3VyY2VHYXRld2F5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlUmVzb3VyY2VHYXRld2F5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUdhdGV3YXlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlR2F0ZXdheUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlUnVsZUFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIFRoZSBSdWxlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJ1bGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJ1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VSdWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIFJ1bGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJ1bGVJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgU2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVNlcnZpY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlU2VydmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTZXJ2aWNlTmV0d29yayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVNlcnZpY2VOZXR3b3JrQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZpY2VOZXR3b3JrSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOZXR3b3JrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTZXJ2aWNlTmV0d29yayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVNlcnZpY2VOZXR3b3JrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmV0d29ya0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5ldHdvcmtJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgVGFyZ2V0R3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VUYXJnZXRHcm91cEFyblByb3BzIHtcblx0LyoqIFRoZSBUYXJnZXRHcm91cElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXJnZXRHcm91cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgVGFyZ2V0R3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VUYXJnZXRHcm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVGFyZ2V0R3JvdXBJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhcmdldEdyb3VwSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQWNjZXNzTG9nU3Vic2NyaXB0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnZwYy1sYXR0aWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YWNjZXNzbG9nc3Vic2NyaXB0aW9uXFwvKD88YWNjZXNzTG9nU3Vic2NyaXB0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IERvbWFpblZlcmlmaWNhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp2cGMtbGF0dGljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvbWFpbnZlcmlmaWNhdGlvblxcLyg/PGRvbWFpblZlcmlmaWNhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBMaXN0ZW5lckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp2cGMtbGF0dGljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VcXC8oPzxzZXJ2aWNlSWQ+W146Lz9dKylcXC9saXN0ZW5lclxcLyg/PGxpc3RlbmVySWQ+W146Lz9dKykkLztcbmNvbnN0IFJlc291cmNlQ29uZmlndXJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp2cGMtbGF0dGljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlc291cmNlY29uZmlndXJhdGlvblxcLyg/PHJlc291cmNlQ29uZmlndXJhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNvdXJjZWVuZHBvaW50YXNzb2NpYXRpb25cXC8oPzxyZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmVzb3VyY2VHYXRld2F5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnZwYy1sYXR0aWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVzb3VyY2VnYXRld2F5XFwvKD88cmVzb3VyY2VHYXRld2F5SWQ+W146Lz9dKykkLztcbmNvbnN0IFJ1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlXFwvKD88c2VydmljZUlkPlteOi8/XSspXFwvbGlzdGVuZXJcXC8oPzxsaXN0ZW5lcklkPlteOi8/XSspXFwvcnVsZVxcLyg/PHJ1bGVJZD5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp2cGMtbGF0dGljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VcXC8oPzxzZXJ2aWNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VOZXR3b3JrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnZwYy1sYXR0aWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZW5ldHdvcmtcXC8oPzxzZXJ2aWNlTmV0d29ya0lkPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlbmV0d29ya3Jlc291cmNlYXNzb2NpYXRpb25cXC8oPzxzZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlbmV0d29ya3NlcnZpY2Vhc3NvY2lhdGlvblxcLyg/PHNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlbmV0d29ya3ZwY2Fzc29jaWF0aW9uXFwvKD88c2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBUYXJnZXRHcm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp2cGMtbGF0dGljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhcmdldGdyb3VwXFwvKD88dGFyZ2V0R3JvdXBJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHZwYy1sYXR0aWNlIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFZQQ0xhdHRpY2VSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhY2Nlc3NMb2dTdWJzY3JpcHRpb24oXG5cdFx0cHJvcHM6IFZQQ0xhdHRpY2VBY2Nlc3NMb2dTdWJzY3JpcHRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphY2Nlc3Nsb2dzdWJzY3JpcHRpb24vJHtwcm9wcy5hY2Nlc3NMb2dTdWJzY3JpcHRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQWNjZXNzTG9nU3Vic2NyaXB0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBY2Nlc3NMb2dTdWJzY3JpcHRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWNjZXNzTG9nU3Vic2NyaXB0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBY2Nlc3NMb2dTdWJzY3JpcHRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFZQQ0xhdHRpY2VBY2Nlc3NMb2dTdWJzY3JpcHRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBY2Nlc3NMb2dTdWJzY3JpcHRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWNjZXNzTG9nU3Vic2NyaXB0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuYWNjZXNzTG9nU3Vic2NyaXB0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgRG9tYWluVmVyaWZpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpblZlcmlmaWNhdGlvbihcblx0XHRwcm9wczogVlBDTGF0dGljZURvbWFpblZlcmlmaWNhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWFpbnZlcmlmaWNhdGlvbi8ke3Byb3BzLmRvbWFpblZlcmlmaWNhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBEb21haW5WZXJpZmljYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvbWFpblZlcmlmaWNhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEb21haW5WZXJpZmljYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgRG9tYWluVmVyaWZpY2F0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvbWFpblZlcmlmaWNhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogVlBDTGF0dGljZURvbWFpblZlcmlmaWNhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9tYWluVmVyaWZpY2F0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIERvbWFpblZlcmlmaWNhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb21haW5WZXJpZmljYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5kb21haW5WZXJpZmljYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBMaXN0ZW5lciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBsaXN0ZW5lcihwcm9wczogVlBDTGF0dGljZUxpc3RlbmVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5zZXJ2aWNlSWR9L2xpc3RlbmVyLyR7cHJvcHMubGlzdGVuZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTGlzdGVuZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExpc3RlbmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIExpc3RlbmVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIExpc3RlbmVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxpc3RlbmVyQXJuKGFybjogc3RyaW5nKTogVlBDTGF0dGljZUxpc3RlbmVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBMaXN0ZW5lckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBMaXN0ZW5lciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZUlkLFxuXHRcdFx0bGlzdGVuZXJJZDogbWF0Y2guZ3JvdXBzIS5saXN0ZW5lcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlc291cmNlQ29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZUNvbmZpZ3VyYXRpb24oXG5cdFx0cHJvcHM6IFZQQ0xhdHRpY2VSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNvdXJjZWNvbmZpZ3VyYXRpb24vJHtwcm9wcy5yZXNvdXJjZUNvbmZpZ3VyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVzb3VyY2VDb25maWd1cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzb3VyY2VDb25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlc291cmNlQ29uZmlndXJhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFZQQ0xhdHRpY2VSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc291cmNlQ29uZmlndXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXNvdXJjZUNvbmZpZ3VyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VDb25maWd1cmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VDb25maWd1cmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbihcblx0XHRwcm9wczogVlBDTGF0dGljZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlc291cmNlZW5kcG9pbnRhc3NvY2lhdGlvbi8ke3Byb3BzLnJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogVlBDTGF0dGljZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25JZDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXNvdXJjZUdhdGV3YXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VHYXRld2F5KHByb3BzOiBWUENMYXR0aWNlUmVzb3VyY2VHYXRld2F5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlc291cmNlZ2F0ZXdheS8ke3Byb3BzLnJlc291cmNlR2F0ZXdheUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZXNvdXJjZUdhdGV3YXkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc291cmNlR2F0ZXdheUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNvdXJjZUdhdGV3YXlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVzb3VyY2VHYXRld2F5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc291cmNlR2F0ZXdheUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogVlBDTGF0dGljZVJlc291cmNlR2F0ZXdheUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzb3VyY2VHYXRld2F5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlc291cmNlR2F0ZXdheSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUdhdGV3YXlJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUdhdGV3YXlJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJ1bGUocHJvcHM6IFZQQ0xhdHRpY2VSdWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5zZXJ2aWNlSWR9L2xpc3RlbmVyLyR7cHJvcHMubGlzdGVuZXJJZH0vcnVsZS8ke3Byb3BzLnJ1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUnVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSdWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJ1bGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUnVsZUFybihhcm46IHN0cmluZyk6IFZQQ0xhdHRpY2VSdWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSdWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJ1bGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmljZUlkOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VJZCxcblx0XHRcdGxpc3RlbmVySWQ6IG1hdGNoLmdyb3VwcyEubGlzdGVuZXJJZCxcblx0XHRcdHJ1bGVJZDogbWF0Y2guZ3JvdXBzIS5ydWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlKHByb3BzOiBWUENMYXR0aWNlU2VydmljZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLyR7cHJvcHMuc2VydmljZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU2VydmljZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogVlBDTGF0dGljZVNlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU2VydmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNlcnZpY2VOZXR3b3JrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2VOZXR3b3JrKHByb3BzOiBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06dnBjLWxhdHRpY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZW5ldHdvcmsvJHtwcm9wcy5zZXJ2aWNlTmV0d29ya0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTZXJ2aWNlTmV0d29yayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZU5ldHdvcmtBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZU5ldHdvcmtBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU2VydmljZU5ldHdvcmsgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZU5ldHdvcmtBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZU5ldHdvcmtBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU2VydmljZU5ldHdvcmsgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmljZU5ldHdvcmtJZDogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlTmV0d29ya0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24oXG5cdFx0cHJvcHM6IFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlbmV0d29ya3Jlc291cmNlYXNzb2NpYXRpb24vJHtwcm9wcy5zZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuc2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24oXG5cdFx0cHJvcHM6IFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2VuZXR3b3Jrc2VydmljZWFzc29jaWF0aW9uLyR7cHJvcHMuc2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuc2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb24oXG5cdFx0cHJvcHM6IFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06dnBjLWxhdHRpY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZW5ldHdvcmt2cGNhc3NvY2lhdGlvbi8ke3Byb3BzLnNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogVlBDTGF0dGljZVNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuc2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFRhcmdldEdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRhcmdldEdyb3VwKHByb3BzOiBWUENMYXR0aWNlVGFyZ2V0R3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06dnBjLWxhdHRpY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFyZ2V0Z3JvdXAvJHtwcm9wcy50YXJnZXRHcm91cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBUYXJnZXRHcm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFyZ2V0R3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVGFyZ2V0R3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgVGFyZ2V0R3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFyZ2V0R3JvdXBBcm4oYXJuOiBzdHJpbmcpOiBWUENMYXR0aWNlVGFyZ2V0R3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhcmdldEdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFRhcmdldEdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRhcmdldEdyb3VwSWQ6IG1hdGNoLmdyb3VwcyEudGFyZ2V0R3JvdXBJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciB2cGMtbGF0dGljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZQQ0xhdHRpY2VPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVSdWxlOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOlVwZGF0ZVJ1bGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb25cIixcblx0XHRcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUxpc3RlbmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGlzdGVuZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlTGlzdGVuZXJcIixcblx0XHRcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc291cmNlQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb25cIixcblx0XHRcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc291cmNlR2F0ZXdheSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlR2F0ZXdheTogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVSZXNvdXJjZUdhdGV3YXlcIixcblx0XHRcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZVJ1bGVcIixcblx0XHRcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VcIixcblx0XHRcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZpY2VOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZU5ldHdvcms6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtcIixcblx0XHRcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpBc3NvY2lhdGVWaWFBV1NTZXJ2aWNlXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpBc3NvY2lhdGVWaWFBV1NTZXJ2aWNlLUV2ZW50c0FuZFN0YXRlc1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUYXJnZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhcmdldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZVRhcmdldEdyb3VwXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2Nlc3NMb2dTdWJzY3JpcHRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dGhQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRoUG9saWN5OiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOkRlbGV0ZUF1dGhQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvbWFpblZlcmlmaWNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvbWFpblZlcmlmaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVEb21haW5WZXJpZmljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTGlzdGVuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMaXN0ZW5lcjogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpEZWxldGVMaXN0ZW5lclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkRlbGV0ZVJlc291cmNlQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlR2F0ZXdheSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlR2F0ZXdheTogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVSZXNvdXJjZUdhdGV3YXlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUnVsZTogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpEZWxldGVSdWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZTogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlTmV0d29yayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkRlbGV0ZVNlcnZpY2VOZXR3b3JrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRhcmdldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFyZ2V0R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlVGFyZ2V0R3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlclRhcmdldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFyZ2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZXJlZ2lzdGVyVGFyZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBY2Nlc3NMb2dTdWJzY3JpcHRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRBY2Nlc3NMb2dTdWJzY3JpcHRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0aFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0aFBvbGljeTogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpHZXRBdXRoUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREb21haW5WZXJpZmljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvbWFpblZlcmlmaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpHZXREb21haW5WZXJpZmljYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TGlzdGVuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldExpc3RlbmVyOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOkdldExpc3RlbmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZUNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRSZXNvdXJjZUNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VHYXRld2F5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZUdhdGV3YXk6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6R2V0UmVzb3VyY2VHYXRld2F5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSdWxlOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOkdldFJ1bGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlcnZpY2U6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6R2V0U2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VydmljZU5ldHdvcmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlcnZpY2VOZXR3b3JrOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6R2V0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRhcmdldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUYXJnZXRHcm91cDogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpHZXRUYXJnZXRHcm91cFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWNjZXNzTG9nU3Vic2NyaXB0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0QWNjZXNzTG9nU3Vic2NyaXB0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9tYWluVmVyaWZpY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21haW5WZXJpZmljYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkxpc3REb21haW5WZXJpZmljYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RMaXN0ZW5lcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGlzdGVuZXJzOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOkxpc3RMaXN0ZW5lcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUNvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFJlc291cmNlQ29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0UmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VHYXRld2F5cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUdhdGV3YXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkxpc3RSZXNvdXJjZUdhdGV3YXlzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSdWxlczogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpMaXN0UnVsZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VOZXR3b3JrVnBjRW5kcG9pbnRBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VOZXR3b3JrVnBjRW5kcG9pbnRBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VOZXR3b3JrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlTmV0d29ya3M6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VOZXR3b3Jrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXM6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYXJnZXRHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFyZ2V0R3JvdXBzOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOkxpc3RUYXJnZXRHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldHM6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6TGlzdFRhcmdldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEF1dGhQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBdXRoUG9saWN5OiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOlB1dEF1dGhQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6UHV0UmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJUYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJUYXJnZXRzOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOlJlZ2lzdGVyVGFyZ2V0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnREb21haW5WZXJpZmljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydERvbWFpblZlcmlmaWNhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpTdGFydERvbWFpblZlcmlmaWNhdGlvblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOlVwZGF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVMaXN0ZW5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxpc3RlbmVyOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOlVwZGF0ZUxpc3RlbmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6VXBkYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlc291cmNlR2F0ZXdheSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlR2F0ZXdheTogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpVcGRhdGVSZXNvdXJjZUdhdGV3YXlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJ1bGU6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6VXBkYXRlUnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6VXBkYXRlU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZU5ldHdvcmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlTmV0d29yazogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpVcGRhdGVTZXJ2aWNlTmV0d29ya1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpVcGRhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVRhcmdldEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGFyZ2V0R3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6VXBkYXRlVGFyZ2V0R3JvdXBcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHZwYy1sYXR0aWNlLlxuICovXG5leHBvcnQgY2xhc3MgVlBDTGF0dGljZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlQWN0aW9uXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVMaXN0ZW5lciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMaXN0ZW5lckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlQWN0aW9uXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpQcm90b2NvbFwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VGFyZ2V0R3JvdXBBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVBY3Rpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc291cmNlR2F0ZXdheSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZUdhdGV3YXlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZUFjdGlvblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VnBjSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJ1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUnVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlQWN0aW9uXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYXJnZXRHcm91cEFybnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6QXV0aFR5cGVcIixcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZUFjdGlvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2VydmljZU5ldHdvcmsgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZU5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInZwYy1sYXR0aWNlOkF1dGhUeXBlXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVBY3Rpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlQWN0aW9uXCIsXG5cdFx0XHRcInZwYy1sYXR0aWNlOlJlc291cmNlQ29uZmlndXJhdGlvbkFyblwiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVBY3Rpb25cIixcblx0XHRcdFwidnBjLWxhdHRpY2U6U2VydmljZUFyblwiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZUFjdGlvblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6UHJpdmF0ZURuc1ByZWZlcmVuY2VcIixcblx0XHRcInZwYy1sYXR0aWNlOlByaXZhdGVEbnNTcGVjaWZpZWREb21haW5zXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VnBjSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVRhcmdldEdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRhcmdldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVBY3Rpb25cIixcblx0XHRcInZwYy1sYXR0aWNlOlZwY0lkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVEb21haW5WZXJpZmljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9tYWluVmVyaWZpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVMaXN0ZW5lciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMaXN0ZW5lckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUmVzb3VyY2VDb25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlQ29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUmVzb3VyY2VHYXRld2F5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlR2F0ZXdheUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUnVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTZXJ2aWNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNlcnZpY2VOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwidnBjLWxhdHRpY2U6U2VydmljZUFyblwiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInZwYy1sYXR0aWNlOlNlcnZpY2VOZXR3b3JrQXJuXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpWcGNJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlVGFyZ2V0R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGFyZ2V0R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2Nlc3NMb2dTdWJzY3JpcHRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldERvbWFpblZlcmlmaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb21haW5WZXJpZmljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldExpc3RlbmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldExpc3RlbmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXNvdXJjZUNvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXNvdXJjZUdhdGV3YXkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VHYXRld2F5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJ1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0U2VydmljZU5ldHdvcmsgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZU5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlQXJuXCIsXG5cdFx0XHRcInZwYy1sYXR0aWNlOlNlcnZpY2VOZXR3b3JrQXJuXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIixcblx0XHRcdFwidnBjLWxhdHRpY2U6VnBjSWRcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0VGFyZ2V0R3JvdXAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGFyZ2V0R3JvdXBDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5cIixcblx0XHRcInZwYy1sYXR0aWNlOlZwY0VuZHBvaW50SWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJ2cGMtbGF0dGljZTpTZXJ2aWNlQXJuXCIsIFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VnBjSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RG9tYWluVmVyaWZpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RG9tYWluVmVyaWZpY2F0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVBY3Rpb25cIixcblx0XHRcInZwYy1sYXR0aWNlOkRvbWFpbk5hbWVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlTGlzdGVuZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTGlzdGVuZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInZwYy1sYXR0aWNlOlRhcmdldEdyb3VwQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlQ29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUmVzb3VyY2VHYXRld2F5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlR2F0ZXdheUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwidnBjLWxhdHRpY2U6U2VjdXJpdHlHcm91cElkc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlUnVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYXJnZXRHcm91cEFybnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwidnBjLWxhdHRpY2U6QXV0aFR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVNlcnZpY2VOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VOZXR3b3JrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpBdXRoVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6U2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIixcblx0XHRcInZwYy1sYXR0aWNlOlZwY0lkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVUYXJnZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUYXJnZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHZwYy1sYXR0aWNlOkF1dGhUeXBlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBVVRIX1RZUEUgPSBcInZwYy1sYXR0aWNlOkF1dGhUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiB2cGMtbGF0dGljZTpDcmVhdGVBY3Rpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENSRUFURV9BQ1RJT04gPSBcInZwYy1sYXR0aWNlOkNyZWF0ZUFjdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6RG9tYWluTmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9NQUlOX05BTUUgPSBcInZwYy1sYXR0aWNlOkRvbWFpbk5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHZwYy1sYXR0aWNlOlByaXZhdGVEbnNQcmVmZXJlbmNlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUklWQVRFX0ROU19QUkVGRVJFTkNFID0gXCJ2cGMtbGF0dGljZTpQcml2YXRlRG5zUHJlZmVyZW5jZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6UHJpdmF0ZURuc1NwZWNpZmllZERvbWFpbnMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUklWQVRFX0ROU19TUEVDSUZJRURfRE9NQUlOUyA9XG5cdFx0XCJ2cGMtbGF0dGljZTpQcml2YXRlRG5zU3BlY2lmaWVkRG9tYWluc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6UHJvdG9jb2wgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBST1RPQ09MID0gXCJ2cGMtbGF0dGljZTpQcm90b2NvbFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6UmVzb3VyY2VDb25maWd1cmF0aW9uQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9DT05GSUdVUkFUSU9OX0FSTiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHZwYy1sYXR0aWNlOlNlY3VyaXR5R3JvdXBJZHMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTRUNVUklUWV9HUk9VUF9JRFMgPSBcInZwYy1sYXR0aWNlOlNlY3VyaXR5R3JvdXBJZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHZwYy1sYXR0aWNlOlNlcnZpY2VBcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfQVJOID0gXCJ2cGMtbGF0dGljZTpTZXJ2aWNlQXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiB2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9ORVRXT1JLX0FSTiA9IFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHZwYy1sYXR0aWNlOlRhcmdldEdyb3VwQXJucyAoQXJyYXlPZkFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRBUkdFVF9HUk9VUF9BUk5TID0gXCJ2cGMtbGF0dGljZTpUYXJnZXRHcm91cEFybnNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHZwYy1sYXR0aWNlOlZwY0VuZHBvaW50SWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZQQ19FTkRQT0lOVF9JRCA9IFwidnBjLWxhdHRpY2U6VnBjRW5kcG9pbnRJZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6VnBjSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZQQ19JRCA9IFwidnBjLWxhdHRpY2U6VnBjSWRcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6QXV0aFR5cGVgLlxuXHQgKi9cblx0c3RhdGljIGF1dGhUeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwidnBjLWxhdHRpY2U6QXV0aFR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHZwYy1sYXR0aWNlOkNyZWF0ZUFjdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgY3JlYXRlQWN0aW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwidnBjLWxhdHRpY2U6Q3JlYXRlQWN0aW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpEb21haW5OYW1lYC5cblx0ICovXG5cdHN0YXRpYyBkb21haW5OYW1lKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwidnBjLWxhdHRpY2U6RG9tYWluTmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6UHJpdmF0ZURuc1ByZWZlcmVuY2VgLlxuXHQgKi9cblx0c3RhdGljIHByaXZhdGVETlNQcmVmZXJlbmNlKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJ2cGMtbGF0dGljZTpQcml2YXRlRG5zUHJlZmVyZW5jZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6UHJpdmF0ZURuc1NwZWNpZmllZERvbWFpbnNgLlxuXHQgKi9cblx0c3RhdGljIHByaXZhdGVETlNTcGVjaWZpZWREb21haW5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjoge1xuXHRcdFx0XHRcInZwYy1sYXR0aWNlOlByaXZhdGVEbnNTcGVjaWZpZWREb21haW5zXCI6IHZhbHVlcyxcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpQcm90b2NvbGAuXG5cdCAqL1xuXHRzdGF0aWMgcHJvdG9jb2wodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJ2cGMtbGF0dGljZTpQcm90b2NvbFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6UmVzb3VyY2VDb25maWd1cmF0aW9uQXJuYC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZUNvbmZpZ3VyYXRpb25BUk4oXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInZwYy1sYXR0aWNlOlJlc291cmNlQ29uZmlndXJhdGlvbkFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6U2VjdXJpdHlHcm91cElkc2AuXG5cdCAqL1xuXHRzdGF0aWMgc2VjdXJpdHlHcm91cElkcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJ2cGMtbGF0dGljZTpTZWN1cml0eUdyb3VwSWRzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6U2VydmljZUFybmAuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZUFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcInZwYy1sYXR0aWNlOlNlcnZpY2VBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHZwYy1sYXR0aWNlOlNlcnZpY2VOZXR3b3JrQXJuYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlTmV0d29ya0FSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHZwYy1sYXR0aWNlOlRhcmdldEdyb3VwQXJuc2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFyZ2V0R3JvdXBBcm5zKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpBcm5FcXVhbHNcIjogeyBcInZwYy1sYXR0aWNlOlRhcmdldEdyb3VwQXJuc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHZwYy1sYXR0aWNlOlZwY0VuZHBvaW50SWRgLlxuXHQgKi9cblx0c3RhdGljIHZwY0VuZHBvaW50SWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJ2cGMtbGF0dGljZTpWcGNFbmRwb2ludElkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpWcGNJZGAuXG5cdCAqL1xuXHRzdGF0aWMgdnBjSWQodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJ2cGMtbGF0dGljZTpWcGNJZFwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
|
|
1311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidnBjLWxhdHRpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL3ZwYy1sYXR0aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsa0RBQWtEO0FBQ2xELG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLGlCQUFpQjs7QUFBOUIsOENBcVJDOzs7QUFwUkEsOEJBQThCO0FBQ2QsZ0NBQWMsR0FBRyxhQUFhLENBQUM7QUFFL0MsZ0VBQWdFO0FBQ2hELHdDQUFzQixHQUFHLG9DQUFvQyxDQUFDO0FBQzlFLGdGQUFnRjtBQUNoRSx1REFBcUMsR0FDcEQsb0RBQW9ELENBQUM7QUFDdEQsc0RBQXNEO0FBQ3RDLDZDQUEyQixHQUMxQyx5Q0FBeUMsQ0FBQztBQUMzQyx5Q0FBeUM7QUFDekIsZ0NBQWMsR0FBRyw0QkFBNEIsQ0FBQztBQUM5RCxzREFBc0Q7QUFDdEMsNkNBQTJCLEdBQzFDLHlDQUF5QyxDQUFDO0FBQzNDLGdEQUFnRDtBQUNoQyx1Q0FBcUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUM1RSxxQ0FBcUM7QUFDckIsNEJBQVUsR0FBRyx3QkFBd0IsQ0FBQztBQUN0RCx3Q0FBd0M7QUFDeEIsK0JBQWEsR0FBRywyQkFBMkIsQ0FBQztBQUM1RCwrQ0FBK0M7QUFDL0Isc0NBQW9CLEdBQUcsa0NBQWtDLENBQUM7QUFDMUUsa0VBQWtFO0FBQ2xELHlEQUF1QyxHQUN0RCxxREFBcUQsQ0FBQztBQUN2RCxpRUFBaUU7QUFDakQsd0RBQXNDLEdBQ3JELG9EQUFvRCxDQUFDO0FBQ3RELDZEQUE2RDtBQUM3QyxvREFBa0MsR0FDakQsZ0RBQWdELENBQUM7QUFDbEQsb0ZBQW9GO0FBQ3BFLDREQUEwQyxHQUN6RCx3REFBd0QsQ0FBQztBQUMxRCw0Q0FBNEM7QUFDNUIsbUNBQWlCLEdBQUcsK0JB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QUM7QUFDcEUsa0RBQWtEO0FBQ2xDLGdDQUFXLEdBQUcsd0JBQXdCLENBQUM7QUFDdkQseURBQXlEO0FBQ3pDLHdDQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLDhEQUE4RDtBQUM5QyxzQ0FBaUIsR0FBRyw2QkFBNkIsQ0FBQztBQUNsRSx3REFBd0Q7QUFDeEMsb0NBQWUsR0FBRywyQkFBMkIsQ0FBQztBQUM5RCxnREFBZ0Q7QUFDaEMsMkJBQU0sR0FBRyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3ZwYy1sYXR0aWNlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSB2cGMtbGF0dGljZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgVlBDTGF0dGljZUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJ2cGMtbGF0dGljZVwiO1xuXG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHZwYy1sYXR0aWNlOkFzc29jaWF0ZVZpYUFXU1NlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVZpYUFXU1NlcnZpY2UgPSBcInZwYy1sYXR0aWNlOkFzc29jaWF0ZVZpYUFXU1NlcnZpY2VcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gdnBjLWxhdHRpY2U6QXNzb2NpYXRlVmlhQVdTU2VydmljZS1FdmVudHNBbmRTdGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVZpYUFXU1NlcnZpY2VFdmVudHNBbmRTdGF0ZXMgPVxuXHRcdFwidnBjLWxhdHRpY2U6QXNzb2NpYXRlVmlhQVdTU2VydmljZS1FdmVudHNBbmRTdGF0ZXNcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkNyZWF0ZUxpc3RlbmVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVMaXN0ZW5lciA9IFwidnBjLWxhdHRpY2U6Q3JlYXRlTGlzdGVuZXJcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkNyZWF0ZVJlc291cmNlR2F0ZXdheSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VHYXRld2F5ID0gXCJ2cGMtbGF0dGljZTpDcmVhdGVSZXNvdXJjZUdhdGV3YXlcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUnVsZSA9IFwidnBjLWxhdHRpY2U6Q3JlYXRlUnVsZVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlID0gXCJ2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VOZXR3b3JrICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29yayA9IFwidnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25cIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gdnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtWcGNFbmRwb2ludEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtWcGNFbmRwb2ludEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkNyZWF0ZVRhcmdldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXJnZXRHcm91cCA9IFwidnBjLWxhdHRpY2U6Q3JlYXRlVGFyZ2V0R3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHZwYy1sYXR0aWNlOkRlbGV0ZUF1dGhQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dGhQb2xpY3kgPSBcInZwYy1sYXR0aWNlOkRlbGV0ZUF1dGhQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlRG9tYWluVmVyaWZpY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5WZXJpZmljYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlRG9tYWluVmVyaWZpY2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlbGV0ZUxpc3RlbmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVMaXN0ZW5lciA9IFwidnBjLWxhdHRpY2U6RGVsZXRlTGlzdGVuZXJcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlbGV0ZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkRlbGV0ZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVSZXNvdXJjZUdhdGV3YXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlR2F0ZXdheSA9IFwidnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VHYXRld2F5XCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwidnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUnVsZSA9IFwidnBjLWxhdHRpY2U6RGVsZXRlUnVsZVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlID0gXCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlbGV0ZVNlcnZpY2VOZXR3b3JrICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29yayA9IFwidnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmtcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOkRlbGV0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkRlbGV0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6RGVsZXRlVGFyZ2V0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhcmdldEdyb3VwID0gXCJ2cGMtbGF0dGljZTpEZWxldGVUYXJnZXRHcm91cFwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpEZXJlZ2lzdGVyVGFyZ2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclRhcmdldHMgPSBcInZwYy1sYXR0aWNlOkRlcmVnaXN0ZXJUYXJnZXRzXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0QWNjZXNzTG9nU3Vic2NyaXB0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2Nlc3NMb2dTdWJzY3JpcHRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6R2V0QWNjZXNzTG9nU3Vic2NyaXB0aW9uXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0QXV0aFBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0aFBvbGljeSA9IFwidnBjLWxhdHRpY2U6R2V0QXV0aFBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldERvbWFpblZlcmlmaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9tYWluVmVyaWZpY2F0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkdldERvbWFpblZlcmlmaWNhdGlvblwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldExpc3RlbmVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRMaXN0ZW5lciA9IFwidnBjLWxhdHRpY2U6R2V0TGlzdGVuZXJcIjtcblx0LyoqIFtSZWFkXSB2cGMtbGF0dGljZTpHZXRSZXNvdXJjZUNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRSZXNvdXJjZUNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSB2cGMtbGF0dGljZTpHZXRSZXNvdXJjZUdhdGV3YXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlR2F0ZXdheSA9IFwidnBjLWxhdHRpY2U6R2V0UmVzb3VyY2VHYXRld2F5XCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJ2cGMtbGF0dGljZTpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldFJ1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJ1bGUgPSBcInZwYy1sYXR0aWNlOkdldFJ1bGVcIjtcblx0LyoqIFtSZWFkXSB2cGMtbGF0dGljZTpHZXRTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlID0gXCJ2cGMtbGF0dGljZTpHZXRTZXJ2aWNlXCI7XG5cdC8qKiBbUmVhZF0gdnBjLWxhdHRpY2U6R2V0U2VydmljZU5ldHdvcmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2VOZXR3b3JrID0gXCJ2cGMtbGF0dGljZTpHZXRTZXJ2aWNlTmV0d29ya1wiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvblwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvblwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6R2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvblwiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkdldFRhcmdldEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUYXJnZXRHcm91cCA9IFwidnBjLWxhdHRpY2U6R2V0VGFyZ2V0R3JvdXBcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0QWNjZXNzTG9nU3Vic2NyaXB0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbnMgPVxuXHRcdFwidnBjLWxhdHRpY2U6TGlzdEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0RG9tYWluVmVyaWZpY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWFpblZlcmlmaWNhdGlvbnMgPVxuXHRcdFwidnBjLWxhdHRpY2U6TGlzdERvbWFpblZlcmlmaWNhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0TGlzdGVuZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGlzdGVuZXJzID0gXCJ2cGMtbGF0dGljZTpMaXN0TGlzdGVuZXJzXCI7XG5cdC8qKiBbTGlzdF0gdnBjLWxhdHRpY2U6TGlzdFJlc291cmNlQ29uZmlndXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUNvbmZpZ3VyYXRpb25zID1cblx0XHRcInZwYy1sYXR0aWNlOkxpc3RSZXNvdXJjZUNvbmZpZ3VyYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gdnBjLWxhdHRpY2U6TGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25zID1cblx0XHRcInZwYy1sYXR0aWNlOkxpc3RSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gdnBjLWxhdHRpY2U6TGlzdFJlc291cmNlR2F0ZXdheXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUdhdGV3YXlzID0gXCJ2cGMtbGF0dGljZTpMaXN0UmVzb3VyY2VHYXRld2F5c1wiO1xuXHQvKiogW0xpc3RdIHZwYy1sYXR0aWNlOkxpc3RSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJ1bGVzID0gXCJ2cGMtbGF0dGljZTpMaXN0UnVsZXNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbnMgPVxuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25zID1cblx0XHRcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9ucyA9XG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtWcGNFbmRwb2ludEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VOZXR3b3JrVnBjRW5kcG9pbnRBc3NvY2lhdGlvbnMgPVxuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VOZXR3b3JrVnBjRW5kcG9pbnRBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtzID0gXCJ2cGMtbGF0dGljZTpMaXN0U2VydmljZU5ldHdvcmtzXCI7XG5cdC8qKiBbTGlzdF0gdnBjLWxhdHRpY2U6TGlzdFNlcnZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXMgPSBcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlc1wiO1xuXHQvKiogW1JlYWRdIHZwYy1sYXR0aWNlOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInZwYy1sYXR0aWNlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtMaXN0XSB2cGMtbGF0dGljZTpMaXN0VGFyZ2V0R3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFyZ2V0R3JvdXBzID0gXCJ2cGMtbGF0dGljZTpMaXN0VGFyZ2V0R3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gdnBjLWxhdHRpY2U6TGlzdFRhcmdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXJnZXRzID0gXCJ2cGMtbGF0dGljZTpMaXN0VGFyZ2V0c1wiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSB2cGMtbGF0dGljZTpQdXRBdXRoUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBdXRoUG9saWN5ID0gXCJ2cGMtbGF0dGljZTpQdXRBdXRoUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwidnBjLWxhdHRpY2U6UHV0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6UmVnaXN0ZXJUYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhcmdldHMgPSBcInZwYy1sYXR0aWNlOlJlZ2lzdGVyVGFyZ2V0c1wiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpTdGFydERvbWFpblZlcmlmaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREb21haW5WZXJpZmljYXRpb24gPVxuXHRcdFwidnBjLWxhdHRpY2U6U3RhcnREb21haW5WZXJpZmljYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSB2cGMtbGF0dGljZTpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gdnBjLWxhdHRpY2U6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwidnBjLWxhdHRpY2U6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpVcGRhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpVcGRhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6VXBkYXRlTGlzdGVuZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUxpc3RlbmVyID0gXCJ2cGMtbGF0dGljZTpVcGRhdGVMaXN0ZW5lclwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpVcGRhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJ2cGMtbGF0dGljZTpVcGRhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6VXBkYXRlUmVzb3VyY2VHYXRld2F5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXNvdXJjZUdhdGV3YXkgPSBcInZwYy1sYXR0aWNlOlVwZGF0ZVJlc291cmNlR2F0ZXdheVwiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpVcGRhdGVSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSdWxlID0gXCJ2cGMtbGF0dGljZTpVcGRhdGVSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIHZwYy1sYXR0aWNlOlVwZGF0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2UgPSBcInZwYy1sYXR0aWNlOlVwZGF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6VXBkYXRlU2VydmljZU5ldHdvcmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VOZXR3b3JrID0gXCJ2cGMtbGF0dGljZTpVcGRhdGVTZXJ2aWNlTmV0d29ya1wiO1xuXHQvKiogW1dyaXRlXSB2cGMtbGF0dGljZTpVcGRhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uID1cblx0XHRcInZwYy1sYXR0aWNlOlVwZGF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gdnBjLWxhdHRpY2U6VXBkYXRlVGFyZ2V0R3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhcmdldEdyb3VwID0gXCJ2cGMtbGF0dGljZTpVcGRhdGVUYXJnZXRHcm91cFwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRBdXRoUG9saWN5LFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldERvbWFpblZlcmlmaWNhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRMaXN0ZW5lcixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZUNvbmZpZ3VyYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VHYXRld2F5LFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLmFjdGlvbkdldFJ1bGUsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuYWN0aW9uR2V0U2VydmljZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlTmV0d29yayxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuYWN0aW9uR2V0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuYWN0aW9uR2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5hY3Rpb25HZXRUYXJnZXRHcm91cCxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkNyZWF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVMaXN0ZW5lcixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuQ3JlYXRlUmVzb3VyY2VHYXRld2F5LFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkNyZWF0ZVJ1bGUsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuQ3JlYXRlU2VydmljZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVTZXJ2aWNlTmV0d29yayxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuQ3JlYXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuQ3JlYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVUYXJnZXRHcm91cCxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlRG9tYWluVmVyaWZpY2F0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZUxpc3RlbmVyLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZVJlc291cmNlQ29uZmlndXJhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlUmVzb3VyY2VHYXRld2F5LFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkRlbGV0ZVJ1bGUsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlU2VydmljZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVTZXJ2aWNlTmV0d29yayxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZWxldGVUYXJnZXRHcm91cCxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5EZXJlZ2lzdGVyVGFyZ2V0cyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5SZWdpc3RlclRhcmdldHMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuU3RhcnREb21haW5WZXJpZmljYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuVXBkYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlVwZGF0ZUxpc3RlbmVyLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlVwZGF0ZVJlc291cmNlQ29uZmlndXJhdGlvbixcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5VcGRhdGVSZXNvdXJjZUdhdGV3YXksXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuVXBkYXRlUnVsZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5VcGRhdGVTZXJ2aWNlLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlVwZGF0ZVNlcnZpY2VOZXR3b3JrLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLlVwZGF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuVXBkYXRlVGFyZ2V0R3JvdXAsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3RBY2Nlc3NMb2dTdWJzY3JpcHRpb25zLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3REb21haW5WZXJpZmljYXRpb25zLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3RMaXN0ZW5lcnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFJlc291cmNlQ29uZmlndXJhdGlvbnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFJlc291cmNlR2F0ZXdheXMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFJ1bGVzLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3RTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25zLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3RTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbnMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25zLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3RTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb25zLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3RTZXJ2aWNlTmV0d29ya3MsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFNlcnZpY2VzLFxuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkxpc3RUYXJnZXRHcm91cHMsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuTGlzdFRhcmdldHMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFZQQ0xhdHRpY2VBY3Rpb25zLkFzc29jaWF0ZVZpYUFXU1NlcnZpY2UsXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuQXNzb2NpYXRlVmlhQVdTU2VydmljZUV2ZW50c0FuZFN0YXRlcyxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5DcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb24sXG5cdFx0VlBDTGF0dGljZUFjdGlvbnMuRGVsZXRlQXV0aFBvbGljeSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5QdXRBdXRoUG9saWN5LFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRWUENMYXR0aWNlQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQWNjZXNzTG9nU3Vic2NyaXB0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlQWNjZXNzTG9nU3Vic2NyaXB0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhY2Nlc3NMb2dTdWJzY3JpcHRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWNjZXNzTG9nU3Vic2NyaXB0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhY2Nlc3NMb2dTdWJzY3JpcHRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgRG9tYWluVmVyaWZpY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlRG9tYWluVmVyaWZpY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIERvbWFpblZlcmlmaWNhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb21haW5WZXJpZmljYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIERvbWFpblZlcmlmaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZURvbWFpblZlcmlmaWNhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9tYWluVmVyaWZpY2F0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb21haW5WZXJpZmljYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTGlzdGVuZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VMaXN0ZW5lckFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xuXHQvKiogVGhlIExpc3RlbmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBMaXN0ZW5lciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZUxpc3RlbmVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGlzdGVuZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVzb3VyY2VDb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlUmVzb3VyY2VDb25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlQ29uZmlndXJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlc291cmNlQ29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVJlc291cmNlQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VDb25maWd1cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVzb3VyY2VHYXRld2F5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlUmVzb3VyY2VHYXRld2F5QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlc291cmNlR2F0ZXdheUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUdhdGV3YXlJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlc291cmNlR2F0ZXdheSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVJlc291cmNlR2F0ZXdheUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VHYXRld2F5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUdhdGV3YXlJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUnVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVJ1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlSWQ6IHN0cmluZztcblx0LyoqIFRoZSBMaXN0ZW5lcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBsaXN0ZW5lcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBydWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlUnVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGVuZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGxpc3RlbmVySWQ6IHN0cmluZztcblx0LyoqIFRoZSBSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBydWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VTZXJ2aWNlQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZpY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVNlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgU2VydmljZU5ldHdvcmsgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya0FyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlTmV0d29ya0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmV0d29ya0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgU2VydmljZU5ldHdvcmsgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZU5ldHdvcmtJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOZXR3b3JrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVlBDTGF0dGljZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFRhcmdldEdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlVGFyZ2V0R3JvdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGFyZ2V0R3JvdXBJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdGFyZ2V0R3JvdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFRhcmdldEdyb3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWUENMYXR0aWNlVGFyZ2V0R3JvdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRhcmdldEdyb3VwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXJnZXRHcm91cElkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp2cGMtbGF0dGljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFjY2Vzc2xvZ3N1YnNjcmlwdGlvblxcLyg/PGFjY2Vzc0xvZ1N1YnNjcmlwdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBEb21haW5WZXJpZmljYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21haW52ZXJpZmljYXRpb25cXC8oPzxkb21haW5WZXJpZmljYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgTGlzdGVuZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlXFwvKD88c2VydmljZUlkPlteOi8/XSspXFwvbGlzdGVuZXJcXC8oPzxsaXN0ZW5lcklkPlteOi8/XSspJC87XG5jb25zdCBSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNvdXJjZWNvbmZpZ3VyYXRpb25cXC8oPzxyZXNvdXJjZUNvbmZpZ3VyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnZwYy1sYXR0aWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVzb3VyY2VlbmRwb2ludGFzc29jaWF0aW9uXFwvKD88cmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlc291cmNlR2F0ZXdheUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp2cGMtbGF0dGljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlc291cmNlZ2F0ZXdheVxcLyg/PHJlc291cmNlR2F0ZXdheUlkPlteOi8/XSspJC87XG5jb25zdCBSdWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnZwYy1sYXR0aWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZVxcLyg/PHNlcnZpY2VJZD5bXjovP10rKVxcL2xpc3RlbmVyXFwvKD88bGlzdGVuZXJJZD5bXjovP10rKVxcL3J1bGVcXC8oPzxydWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlXFwvKD88c2VydmljZUlkPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlTmV0d29ya0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTp2cGMtbGF0dGljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VuZXR3b3JrXFwvKD88c2VydmljZU5ldHdvcmtJZD5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnZwYy1sYXR0aWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZW5ldHdvcmtyZXNvdXJjZWFzc29jaWF0aW9uXFwvKD88c2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnZwYy1sYXR0aWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZW5ldHdvcmtzZXJ2aWNlYXNzb2NpYXRpb25cXC8oPzxzZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnZwYy1sYXR0aWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZW5ldHdvcmt2cGNhc3NvY2lhdGlvblxcLyg/PHNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgVGFyZ2V0R3JvdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6dnBjLWxhdHRpY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0YXJnZXRncm91cFxcLyg/PHRhcmdldEdyb3VwSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciB2cGMtbGF0dGljZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBWUENMYXR0aWNlUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBBY2Nlc3NMb2dTdWJzY3JpcHRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWNjZXNzTG9nU3Vic2NyaXB0aW9uKFxuXHRcdHByb3BzOiBWUENMYXR0aWNlQWNjZXNzTG9nU3Vic2NyaXB0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06dnBjLWxhdHRpY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWNjZXNzbG9nc3Vic2NyaXB0aW9uLyR7cHJvcHMuYWNjZXNzTG9nU3Vic2NyaXB0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWNjZXNzTG9nU3Vic2NyaXB0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBBY2Nlc3NMb2dTdWJzY3JpcHRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWNjZXNzTG9nU3Vic2NyaXB0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBWUENMYXR0aWNlQWNjZXNzTG9nU3Vic2NyaXB0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBY2Nlc3NMb2dTdWJzY3JpcHRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQWNjZXNzTG9nU3Vic2NyaXB0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFjY2Vzc0xvZ1N1YnNjcmlwdGlvbklkOiBtYXRjaC5ncm91cHMhLmFjY2Vzc0xvZ1N1YnNjcmlwdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIERvbWFpblZlcmlmaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkb21haW5WZXJpZmljYXRpb24oXG5cdFx0cHJvcHM6IFZQQ0xhdHRpY2VEb21haW5WZXJpZmljYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb21haW52ZXJpZmljYXRpb24vJHtwcm9wcy5kb21haW5WZXJpZmljYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgRG9tYWluVmVyaWZpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREb21haW5WZXJpZmljYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9tYWluVmVyaWZpY2F0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIERvbWFpblZlcmlmaWNhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb21haW5WZXJpZmljYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFZQQ0xhdHRpY2VEb21haW5WZXJpZmljYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERvbWFpblZlcmlmaWNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBEb21haW5WZXJpZmljYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9tYWluVmVyaWZpY2F0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuZG9tYWluVmVyaWZpY2F0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTGlzdGVuZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbGlzdGVuZXIocHJvcHM6IFZQQ0xhdHRpY2VMaXN0ZW5lckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLyR7cHJvcHMuc2VydmljZUlkfS9saXN0ZW5lci8ke3Byb3BzLmxpc3RlbmVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIExpc3RlbmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRMaXN0ZW5lckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBMaXN0ZW5lckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBMaXN0ZW5lciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VMaXN0ZW5lckFybihhcm46IHN0cmluZyk6IFZQQ0xhdHRpY2VMaXN0ZW5lckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTGlzdGVuZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgTGlzdGVuZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmljZUlkOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VJZCxcblx0XHRcdGxpc3RlbmVySWQ6IG1hdGNoLmdyb3VwcyEubGlzdGVuZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXNvdXJjZUNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VDb25maWd1cmF0aW9uKFxuXHRcdHByb3BzOiBWUENMYXR0aWNlUmVzb3VyY2VDb25maWd1cmF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06dnBjLWxhdHRpY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVzb3VyY2Vjb25maWd1cmF0aW9uLyR7cHJvcHMucmVzb3VyY2VDb25maWd1cmF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlc291cmNlQ29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzb3VyY2VDb25maWd1cmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc291cmNlQ29uZmlndXJhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZXNvdXJjZUNvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzb3VyY2VDb25maWd1cmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBWUENMYXR0aWNlUmVzb3VyY2VDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVzb3VyY2VDb25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlQ29uZmlndXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlQ29uZmlndXJhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb24oXG5cdFx0cHJvcHM6IFZQQ0xhdHRpY2VSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNvdXJjZWVuZHBvaW50YXNzb2NpYXRpb24vJHtwcm9wcy5yZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFZQQ0xhdHRpY2VSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEucmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVzb3VyY2VHYXRld2F5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlR2F0ZXdheShwcm9wczogVlBDTGF0dGljZVJlc291cmNlR2F0ZXdheUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNvdXJjZWdhdGV3YXkvJHtwcm9wcy5yZXNvdXJjZUdhdGV3YXlJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVzb3VyY2VHYXRld2F5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNvdXJjZUdhdGV3YXlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzb3VyY2VHYXRld2F5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlc291cmNlR2F0ZXdheSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNvdXJjZUdhdGV3YXlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFZQQ0xhdHRpY2VSZXNvdXJjZUdhdGV3YXlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlc291cmNlR2F0ZXdheUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZXNvdXJjZUdhdGV3YXkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VHYXRld2F5SWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VHYXRld2F5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBydWxlKHByb3BzOiBWUENMYXR0aWNlUnVsZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLyR7cHJvcHMuc2VydmljZUlkfS9saXN0ZW5lci8ke3Byb3BzLmxpc3RlbmVySWR9L3J1bGUvJHtwcm9wcy5ydWxlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJ1bGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJ1bGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUnVsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSdWxlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJ1bGVBcm4oYXJuOiBzdHJpbmcpOiBWUENMYXR0aWNlUnVsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUnVsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSdWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZpY2VJZDogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlSWQsXG5cdFx0XHRsaXN0ZW5lcklkOiBtYXRjaC5ncm91cHMhLmxpc3RlbmVySWQsXG5cdFx0XHRydWxlSWQ6IG1hdGNoLmdyb3VwcyEucnVsZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZShwcm9wczogVlBDTGF0dGljZVNlcnZpY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06dnBjLWxhdHRpY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZS8ke3Byb3BzLnNlcnZpY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNlcnZpY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZUFybihhcm46IHN0cmluZyk6IFZQQ0xhdHRpY2VTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNlcnZpY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmljZUlkOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTZXJ2aWNlTmV0d29yayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlTmV0d29yayhwcm9wczogVlBDTGF0dGljZVNlcnZpY2VOZXR3b3JrQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2VuZXR3b3JrLyR7cHJvcHMuc2VydmljZU5ldHdvcmtJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgU2VydmljZU5ldHdvcmsgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VOZXR3b3JrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VOZXR3b3JrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFNlcnZpY2VOZXR3b3JrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VOZXR3b3JrQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VOZXR3b3JrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNlcnZpY2VOZXR3b3JrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZpY2VOZXR3b3JrSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZU5ldHdvcmtJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uKFxuXHRcdHByb3BzOiBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06dnBjLWxhdHRpY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZW5ldHdvcmtyZXNvdXJjZWFzc29jaWF0aW9uLyR7cHJvcHMuc2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbklkOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLnNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uKFxuXHRcdHByb3BzOiBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTp2cGMtbGF0dGljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlbmV0d29ya3NlcnZpY2Vhc3NvY2lhdGlvbi8ke3Byb3BzLnNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogVlBDTGF0dGljZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbklkOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLnNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uKFxuXHRcdHByb3BzOiBWUENMYXR0aWNlU2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2VuZXR3b3JrdnBjYXNzb2NpYXRpb24vJHtwcm9wcy5zZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFZQQ0xhdHRpY2VTZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlTmV0d29ya1ZQQ0Fzc29jaWF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c2VydmljZU5ldHdvcmtWUENBc3NvY2lhdGlvbklkOlxuXHRcdFx0XHRtYXRjaC5ncm91cHMhLnNlcnZpY2VOZXR3b3JrVlBDQXNzb2NpYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBUYXJnZXRHcm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0YXJnZXRHcm91cChwcm9wczogVlBDTGF0dGljZVRhcmdldEdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnZwYy1sYXR0aWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRhcmdldGdyb3VwLyR7cHJvcHMudGFyZ2V0R3JvdXBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgVGFyZ2V0R3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRhcmdldEdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhcmdldEdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFRhcmdldEdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRhcmdldEdyb3VwQXJuKGFybjogc3RyaW5nKTogVlBDTGF0dGljZVRhcmdldEdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUYXJnZXRHcm91cEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBUYXJnZXRHcm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0YXJnZXRHcm91cElkOiBtYXRjaC5ncm91cHMhLnRhcmdldEdyb3VwSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgdnBjLWxhdHRpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBWUENMYXR0aWNlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoVXBkYXRlUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlUnVsZTogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpVcGRhdGVSdWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVMaXN0ZW5lciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxpc3RlbmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZUxpc3RlbmVyXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXNvdXJjZUdhdGV3YXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZUdhdGV3YXk6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlUmVzb3VyY2VHYXRld2F5XCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVSdWxlXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlTmV0d29yayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VOZXR3b3JrXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6QXNzb2NpYXRlVmlhQVdTU2VydmljZVwiLFxuXHRcdFwidnBjLWxhdHRpY2U6QXNzb2NpYXRlVmlhQVdTU2VydmljZS1FdmVudHNBbmRTdGF0ZXNcIixcblx0XHRcInZwYy1sYXR0aWNlOkNyZWF0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6Q3JlYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGFyZ2V0R3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXJnZXRHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVUYXJnZXRHcm91cFwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkRlbGV0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBdXRoUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0aFBvbGljeTogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpEZWxldGVBdXRoUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb21haW5WZXJpZmljYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5WZXJpZmljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlRG9tYWluVmVyaWZpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUxpc3RlbmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTGlzdGVuZXI6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6RGVsZXRlTGlzdGVuZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVSZXNvdXJjZUNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkRlbGV0ZVJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZUdhdGV3YXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZUdhdGV3YXk6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VHYXRld2F5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJ1bGU6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6RGVsZXRlUnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZU5ldHdvcmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29yazogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpEZWxldGVTZXJ2aWNlTmV0d29ya1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVsZXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUYXJnZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRhcmdldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkRlbGV0ZVRhcmdldEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlcmVnaXN0ZXJUYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclRhcmdldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6RGVyZWdpc3RlclRhcmdldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWNjZXNzTG9nU3Vic2NyaXB0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBY2Nlc3NMb2dTdWJzY3JpcHRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6R2V0QWNjZXNzTG9nU3Vic2NyaXB0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dGhQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dGhQb2xpY3k6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6R2V0QXV0aFBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RG9tYWluVmVyaWZpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREb21haW5WZXJpZmljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6R2V0RG9tYWluVmVyaWZpY2F0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldExpc3RlbmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRMaXN0ZW5lcjogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpHZXRMaXN0ZW5lclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6R2V0UmVzb3VyY2VDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlR2F0ZXdheSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VHYXRld2F5OiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkdldFJlc291cmNlR2F0ZXdheVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6R2V0UmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UnVsZTogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpHZXRSdWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOkdldFNlcnZpY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlcnZpY2VOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXJ2aWNlTmV0d29yazogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRTZXJ2aWNlTmV0d29ya1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpHZXRTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkdldFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6R2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUYXJnZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VGFyZ2V0R3JvdXA6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6R2V0VGFyZ2V0R3JvdXBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBY2Nlc3NMb2dTdWJzY3JpcHRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvbWFpblZlcmlmaWNhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9tYWluVmVyaWZpY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0RG9tYWluVmVyaWZpY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TGlzdGVuZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdExpc3RlbmVyczogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpMaXN0TGlzdGVuZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VDb25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUNvbmZpZ3VyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkxpc3RSZXNvdXJjZUNvbmZpZ3VyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlR2F0ZXdheXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VHYXRld2F5czogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpMaXN0UmVzb3VyY2VHYXRld2F5c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UnVsZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UnVsZXM6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6TGlzdFJ1bGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1NlcnZpY2VBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZU5ldHdvcmtWcGNFbmRwb2ludEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya1ZwY0VuZHBvaW50QXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlTmV0d29ya3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtzOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlTmV0d29ya3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VzOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOkxpc3RTZXJ2aWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFyZ2V0R3JvdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldEdyb3Vwczogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpMaXN0VGFyZ2V0R3JvdXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFyZ2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYXJnZXRzOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOkxpc3RUYXJnZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBdXRoUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QXV0aFBvbGljeTogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpQdXRBdXRoUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOlB1dFJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyVGFyZ2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFyZ2V0czogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpSZWdpc3RlclRhcmdldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RG9tYWluVmVyaWZpY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREb21haW5WZXJpZmljYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6U3RhcnREb21haW5WZXJpZmljYXRpb25cIixcblx0XHRcInZwYy1sYXR0aWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1widnBjLWxhdHRpY2U6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJ2cGMtbGF0dGljZTpVcGRhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTGlzdGVuZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVMaXN0ZW5lcjogc3RyaW5nW10gPSBbXCJ2cGMtbGF0dGljZTpVcGRhdGVMaXN0ZW5lclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOlVwZGF0ZVJlc291cmNlQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXNvdXJjZUdhdGV3YXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXNvdXJjZUdhdGV3YXk6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6VXBkYXRlUmVzb3VyY2VHYXRld2F5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJ1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSdWxlOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOlVwZGF0ZVJ1bGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcInZwYy1sYXR0aWNlOlVwZGF0ZVNlcnZpY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlcnZpY2VOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZU5ldHdvcms6IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6VXBkYXRlU2VydmljZU5ldHdvcmtcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwidnBjLWxhdHRpY2U6VXBkYXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUYXJnZXRHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhcmdldEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOlVwZGF0ZVRhcmdldEdyb3VwXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciB2cGMtbGF0dGljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFZQQ0xhdHRpY2VDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUxpc3RlbmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUxpc3RlbmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpQcm90b2NvbFwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VGFyZ2V0R3JvdXBBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNvdXJjZUdhdGV3YXkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VHYXRld2F5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpWcGNJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUnVsZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSdWxlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpUYXJnZXRHcm91cEFybnNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6QXV0aFR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNlcnZpY2VOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpBdXRoVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXG5cdFx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5cIixcblx0XHRcdFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcdFwidnBjLWxhdHRpY2U6U2VydmljZUFyblwiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInZwYy1sYXR0aWNlOlByaXZhdGVEbnNQcmVmZXJlbmNlXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpQcml2YXRlRG5zU3BlY2lmaWVkRG9tYWluc1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6U2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIixcblx0XHRcInZwYy1sYXR0aWNlOlZwY0lkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVUYXJnZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUYXJnZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwidnBjLWxhdHRpY2U6VnBjSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUFjY2Vzc0xvZ1N1YnNjcmlwdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2Nlc3NMb2dTdWJzY3JpcHRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZURvbWFpblZlcmlmaWNhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb21haW5WZXJpZmljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUxpc3RlbmVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUxpc3RlbmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVSZXNvdXJjZUVuZHBvaW50QXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VFbmRwb2ludEFzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVSZXNvdXJjZUdhdGV3YXkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VHYXRld2F5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVSdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJ1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNlcnZpY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlU2VydmljZU5ldHdvcmsgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZU5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTmV0d29ya1Jlc291cmNlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlQXJuXCIsXG5cdFx0XHRcInZwYy1sYXR0aWNlOlNlcnZpY2VOZXR3b3JrQXJuXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIixcblx0XHRcInZwYy1sYXR0aWNlOlZwY0lkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVUYXJnZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUYXJnZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0QWNjZXNzTG9nU3Vic2NyaXB0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFjY2Vzc0xvZ1N1YnNjcmlwdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0RG9tYWluVmVyaWZpY2F0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvbWFpblZlcmlmaWNhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0TGlzdGVuZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TGlzdGVuZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJlc291cmNlQ29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZUNvbmZpZ3VyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJlc291cmNlR2F0ZXdheSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZUdhdGV3YXlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFJ1bGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UnVsZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0U2VydmljZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRTZXJ2aWNlTmV0d29yayBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlTmV0d29ya0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0U2VydmljZU5ldHdvcmtSZXNvdXJjZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2VOZXR3b3JrUmVzb3VyY2VBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID1cblx0XHRbXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcInZwYy1sYXR0aWNlOlNlcnZpY2VBcm5cIixcblx0XHRcdFwidnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5cIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiLFxuXHRcdFx0XCJ2cGMtbGF0dGljZTpWcGNJZFwiLFxuXHRcdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRUYXJnZXRHcm91cCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUYXJnZXRHcm91cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlRW5kcG9pbnRBc3NvY2lhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOlJlc291cmNlQ29uZmlndXJhdGlvbkFyblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VnBjRW5kcG9pbnRJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFNlcnZpY2VOZXR3b3JrU2VydmljZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtTZXJ2aWNlQXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcInZwYy1sYXR0aWNlOlNlcnZpY2VBcm5cIiwgXCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZU5ldHdvcmtWcGNBc3NvY2lhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInZwYy1sYXR0aWNlOlNlcnZpY2VOZXR3b3JrQXJuXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpWcGNJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnREb21haW5WZXJpZmljYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREb21haW5WZXJpZmljYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInZwYy1sYXR0aWNlOkRvbWFpbk5hbWVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpDcmVhdGVBY3Rpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVBY2Nlc3NMb2dTdWJzY3JpcHRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQWNjZXNzTG9nU3Vic2NyaXB0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVMaXN0ZW5lciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVMaXN0ZW5lckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VGFyZ2V0R3JvdXBBcm5zXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVSZXNvdXJjZUNvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2VDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVSZXNvdXJjZUdhdGV3YXkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2VHYXRld2F5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpTZWN1cml0eUdyb3VwSWRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVSdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJ1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInZwYy1sYXR0aWNlOlRhcmdldEdyb3VwQXJuc1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU2VydmljZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpBdXRoVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU2VydmljZU5ldHdvcmsgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZU5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInZwYy1sYXR0aWNlOkF1dGhUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVTZXJ2aWNlTmV0d29ya1ZwY0Fzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VOZXR3b3JrVnBjQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiLFxuXHRcdFwidnBjLWxhdHRpY2U6VnBjSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVRhcmdldEdyb3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRhcmdldEdyb3VwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6QXV0aFR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVEhfVFlQRSA9IFwidnBjLWxhdHRpY2U6QXV0aFR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHZwYy1sYXR0aWNlOkNyZWF0ZUFjdGlvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ1JFQVRFX0FDVElPTiA9IFwidnBjLWxhdHRpY2U6Q3JlYXRlQWN0aW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiB2cGMtbGF0dGljZTpEb21haW5OYW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBET01BSU5fTkFNRSA9IFwidnBjLWxhdHRpY2U6RG9tYWluTmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6UHJpdmF0ZURuc1ByZWZlcmVuY2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBSSVZBVEVfRE5TX1BSRUZFUkVOQ0UgPSBcInZwYy1sYXR0aWNlOlByaXZhdGVEbnNQcmVmZXJlbmNlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiB2cGMtbGF0dGljZTpQcml2YXRlRG5zU3BlY2lmaWVkRG9tYWlucyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBSSVZBVEVfRE5TX1NQRUNJRklFRF9ET01BSU5TID1cblx0XHRcInZwYy1sYXR0aWNlOlByaXZhdGVEbnNTcGVjaWZpZWREb21haW5zXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiB2cGMtbGF0dGljZTpQcm90b2NvbCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPVE9DT0wgPSBcInZwYy1sYXR0aWNlOlByb3RvY29sXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiB2cGMtbGF0dGljZTpSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX0NPTkZJR1VSQVRJT05fQVJOID1cblx0XHRcInZwYy1sYXR0aWNlOlJlc291cmNlQ29uZmlndXJhdGlvbkFyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6U2VjdXJpdHlHcm91cElkcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFQ1VSSVRZX0dST1VQX0lEUyA9IFwidnBjLWxhdHRpY2U6U2VjdXJpdHlHcm91cElkc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6U2VydmljZUFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9BUk4gPSBcInZwYy1sYXR0aWNlOlNlcnZpY2VBcm5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHZwYy1sYXR0aWNlOlNlcnZpY2VOZXR3b3JrQXJuIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX05FVFdPUktfQVJOID0gXCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6VGFyZ2V0R3JvdXBBcm5zIChBcnJheU9mQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVEFSR0VUX0dST1VQX0FSTlMgPSBcInZwYy1sYXR0aWNlOlRhcmdldEdyb3VwQXJuc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogdnBjLWxhdHRpY2U6VnBjRW5kcG9pbnRJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX0VORFBPSU5UX0lEID0gXCJ2cGMtbGF0dGljZTpWcGNFbmRwb2ludElkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiB2cGMtbGF0dGljZTpWcGNJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX0lEID0gXCJ2cGMtbGF0dGljZTpWcGNJZFwiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpBdXRoVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgYXV0aFR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJ2cGMtbGF0dGljZTpBdXRoVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6Q3JlYXRlQWN0aW9uYC5cblx0ICovXG5cdHN0YXRpYyBjcmVhdGVBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJ2cGMtbGF0dGljZTpDcmVhdGVBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHZwYy1sYXR0aWNlOkRvbWFpbk5hbWVgLlxuXHQgKi9cblx0c3RhdGljIGRvbWFpbk5hbWUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJ2cGMtbGF0dGljZTpEb21haW5OYW1lXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpQcml2YXRlRG5zUHJlZmVyZW5jZWAuXG5cdCAqL1xuXHRzdGF0aWMgcHJpdmF0ZUROU1ByZWZlcmVuY2UoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInZwYy1sYXR0aWNlOlByaXZhdGVEbnNQcmVmZXJlbmNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpQcml2YXRlRG5zU3BlY2lmaWVkRG9tYWluc2AuXG5cdCAqL1xuXHRzdGF0aWMgcHJpdmF0ZUROU1NwZWNpZmllZERvbWFpbnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFwidnBjLWxhdHRpY2U6UHJpdmF0ZURuc1NwZWNpZmllZERvbWFpbnNcIjogdmFsdWVzLFxuXHRcdFx0fSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHZwYy1sYXR0aWNlOlByb3RvY29sYC5cblx0ICovXG5cdHN0YXRpYyBwcm90b2NvbCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInZwYy1sYXR0aWNlOlByb3RvY29sXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpSZXNvdXJjZUNvbmZpZ3VyYXRpb25Bcm5gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlQ29uZmlndXJhdGlvbkFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwidnBjLWxhdHRpY2U6UmVzb3VyY2VDb25maWd1cmF0aW9uQXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpTZWN1cml0eUdyb3VwSWRzYC5cblx0ICovXG5cdHN0YXRpYyBzZWN1cml0eUdyb3VwSWRzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInZwYy1sYXR0aWNlOlNlY3VyaXR5R3JvdXBJZHNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGB2cGMtbGF0dGljZTpTZXJ2aWNlQXJuYC5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlQVJOKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwidnBjLWxhdHRpY2U6U2VydmljZUFyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6U2VydmljZU5ldHdvcmtBcm5gLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2VOZXR3b3JrQVJOKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJ2cGMtbGF0dGljZTpTZXJ2aWNlTmV0d29ya0FyblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6VGFyZ2V0R3JvdXBBcm5zYC5cblx0ICovXG5cdHN0YXRpYyB0YXJnZXRHcm91cEFybnMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFwiRm9yQWxsVmFsdWVzOkFybkVxdWFsc1wiOiB7IFwidnBjLWxhdHRpY2U6VGFyZ2V0R3JvdXBBcm5zXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgdnBjLWxhdHRpY2U6VnBjRW5kcG9pbnRJZGAuXG5cdCAqL1xuXHRzdGF0aWMgdnBjRW5kcG9pbnRJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInZwYy1sYXR0aWNlOlZwY0VuZHBvaW50SWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHZwYy1sYXR0aWNlOlZwY0lkYC5cblx0ICovXG5cdHN0YXRpYyB2cGNJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInZwYy1sYXR0aWNlOlZwY0lkXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
|