@cdk_utils/iam 1.9.0 → 1.11.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 +2247 -2011
- 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.d.ts +12 -0
- package/lib/generated/services/agent-registry.js +22 -5
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.d.ts +2 -0
- package/lib/generated/services/aidevops.js +7 -5
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.d.ts +6 -0
- package/lib/generated/services/autoscaling.js +20 -5
- 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.d.ts +4 -0
- package/lib/generated/services/batch.js +14 -5
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +4 -4
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +4 -4
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +4 -4
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.js +4 -4
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.js +4 -4
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.js +4 -4
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.d.ts +4 -0
- package/lib/generated/services/customer-verification.js +8 -2
- 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 +13 -18
- 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.d.ts +2 -0
- package/lib/generated/services/elemental-inference.js +7 -5
- 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.d.ts +2 -0
- package/lib/generated/services/iam.js +7 -5
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +4 -4
- package/lib/generated/services/omics.js +4 -4
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +6 -5
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.d.ts +2 -10
- package/lib/generated/services/quicksight.js +8 -20
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.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 +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ class BackupSearchActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.BackupSearchActions = BackupSearchActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
BackupSearchActions[_a] = { fqn: "@cdk_utils/iam.backup_search.BackupSearchActions", version: "1.
|
|
19
|
+
BackupSearchActions[_a] = { fqn: "@cdk_utils/iam.backup_search.BackupSearchActions", version: "1.11.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
BackupSearchActions.SERVICE_PREFIX = "backup-search";
|
|
22
22
|
/** [Read] backup-search:GetSearchJob */
|
|
@@ -134,7 +134,7 @@ class BackupSearchResources {
|
|
|
134
134
|
}
|
|
135
135
|
exports.BackupSearchResources = BackupSearchResources;
|
|
136
136
|
_b = JSII_RTTI_SYMBOL_1;
|
|
137
|
-
BackupSearchResources[_b] = { fqn: "@cdk_utils/iam.backup_search.BackupSearchResources", version: "1.
|
|
137
|
+
BackupSearchResources[_b] = { fqn: "@cdk_utils/iam.backup_search.BackupSearchResources", version: "1.11.0" };
|
|
138
138
|
/**
|
|
139
139
|
* API operation to required IAM actions mapping for backup-search.
|
|
140
140
|
*/
|
|
@@ -142,7 +142,7 @@ class BackupSearchOperations {
|
|
|
142
142
|
}
|
|
143
143
|
exports.BackupSearchOperations = BackupSearchOperations;
|
|
144
144
|
_c = JSII_RTTI_SYMBOL_1;
|
|
145
|
-
BackupSearchOperations[_c] = { fqn: "@cdk_utils/iam.backup_search.BackupSearchOperations", version: "1.
|
|
145
|
+
BackupSearchOperations[_c] = { fqn: "@cdk_utils/iam.backup_search.BackupSearchOperations", version: "1.11.0" };
|
|
146
146
|
/** IAM actions required for the GetSearchJob API call. */
|
|
147
147
|
BackupSearchOperations.opGetSearchJob = ["backup-search:GetSearchJob"];
|
|
148
148
|
/** IAM actions required for the GetSearchResultExportJob API call. */
|
|
@@ -205,7 +205,7 @@ class BackupSearchConditions {
|
|
|
205
205
|
}
|
|
206
206
|
exports.BackupSearchConditions = BackupSearchConditions;
|
|
207
207
|
_d = JSII_RTTI_SYMBOL_1;
|
|
208
|
-
BackupSearchConditions[_d] = { fqn: "@cdk_utils/iam.backup_search.BackupSearchConditions", version: "1.
|
|
208
|
+
BackupSearchConditions[_d] = { fqn: "@cdk_utils/iam.backup_search.BackupSearchConditions", version: "1.11.0" };
|
|
209
209
|
/** Condition keys applicable to the StartSearchJob action. */
|
|
210
210
|
BackupSearchConditions.StartSearchJobConditionKeys = [
|
|
211
211
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class BackupStorageActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.BackupStorageActions = BackupStorageActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
BackupStorageActions[_a] = { fqn: "@cdk_utils/iam.backup_storage.BackupStorageActions", version: "1.
|
|
19
|
+
BackupStorageActions[_a] = { fqn: "@cdk_utils/iam.backup_storage.BackupStorageActions", version: "1.11.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
BackupStorageActions.SERVICE_PREFIX = "backup-storage";
|
|
22
22
|
/** [Write] backup-storage:CommitBackupJob */
|
|
@@ -16,7 +16,7 @@ class BackupActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.BackupActions = BackupActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
BackupActions[_a] = { fqn: "@cdk_utils/iam.backup.BackupActions", version: "1.
|
|
19
|
+
BackupActions[_a] = { fqn: "@cdk_utils/iam.backup.BackupActions", version: "1.11.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
BackupActions.SERVICE_PREFIX = "backup";
|
|
22
22
|
/** [Write] backup:AssociateBackupVaultMpaApprovalTeam */
|
|
@@ -674,7 +674,7 @@ class BackupResources {
|
|
|
674
674
|
}
|
|
675
675
|
exports.BackupResources = BackupResources;
|
|
676
676
|
_b = JSII_RTTI_SYMBOL_1;
|
|
677
|
-
BackupResources[_b] = { fqn: "@cdk_utils/iam.backup.BackupResources", version: "1.
|
|
677
|
+
BackupResources[_b] = { fqn: "@cdk_utils/iam.backup.BackupResources", version: "1.11.0" };
|
|
678
678
|
/**
|
|
679
679
|
* API operation to required IAM actions mapping for backup.
|
|
680
680
|
*/
|
|
@@ -682,7 +682,7 @@ class BackupOperations {
|
|
|
682
682
|
}
|
|
683
683
|
exports.BackupOperations = BackupOperations;
|
|
684
684
|
_c = JSII_RTTI_SYMBOL_1;
|
|
685
|
-
BackupOperations[_c] = { fqn: "@cdk_utils/iam.backup.BackupOperations", version: "1.
|
|
685
|
+
BackupOperations[_c] = { fqn: "@cdk_utils/iam.backup.BackupOperations", version: "1.11.0" };
|
|
686
686
|
/** IAM actions required for the AssociateBackupVaultMpaApprovalTeam API call. */
|
|
687
687
|
BackupOperations.AssociateBackupVaultMpaApprovalTeam = [
|
|
688
688
|
"backup:AssociateBackupVaultMpaApprovalTeam",
|
|
@@ -1176,7 +1176,7 @@ class BackupConditions {
|
|
|
1176
1176
|
}
|
|
1177
1177
|
exports.BackupConditions = BackupConditions;
|
|
1178
1178
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1179
|
-
BackupConditions[_d] = { fqn: "@cdk_utils/iam.backup.BackupConditions", version: "1.
|
|
1179
|
+
BackupConditions[_d] = { fqn: "@cdk_utils/iam.backup.BackupConditions", version: "1.11.0" };
|
|
1180
1180
|
/** Condition keys applicable to the AssociateBackupVaultMpaApprovalTeam action. */
|
|
1181
1181
|
BackupConditions.AssociateBackupVaultMpaApprovalTeamConditionKeys = [
|
|
1182
1182
|
"backup:MpaApprovalTeamArn",
|
|
@@ -68,6 +68,8 @@ export declare class BatchActions {
|
|
|
68
68
|
static readonly ListTagsForResource = "batch:ListTagsForResource";
|
|
69
69
|
/** [Write] batch:RegisterJobDefinition */
|
|
70
70
|
static readonly RegisterJobDefinition = "batch:RegisterJobDefinition";
|
|
71
|
+
/** [Tagging] batch:SetCapacityTags */
|
|
72
|
+
static readonly actionSetCapacityTags = "batch:SetCapacityTags";
|
|
71
73
|
/** [Write] batch:SubmitJob */
|
|
72
74
|
static readonly SubmitJob = "batch:SubmitJob";
|
|
73
75
|
/** [Write] batch:SubmitServiceJob */
|
|
@@ -621,6 +623,8 @@ export declare class BatchConditions {
|
|
|
621
623
|
static readonly CreateServiceEnvironmentConditionKeys: string[];
|
|
622
624
|
/** Condition keys applicable to the RegisterJobDefinition action. */
|
|
623
625
|
static readonly RegisterJobDefinitionConditionKeys: string[];
|
|
626
|
+
/** Condition keys applicable to the SetCapacityTags action. */
|
|
627
|
+
static readonly actionSetCapacityTagsConditionKeys: string[];
|
|
624
628
|
/** Condition keys applicable to the SubmitJob action. */
|
|
625
629
|
static readonly SubmitJobConditionKeys: string[];
|
|
626
630
|
/** Condition keys applicable to the SubmitServiceJob action. */
|
|
@@ -16,7 +16,7 @@ class BatchActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.BatchActions = BatchActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
BatchActions[_a] = { fqn: "@cdk_utils/iam.batch.BatchActions", version: "1.
|
|
19
|
+
BatchActions[_a] = { fqn: "@cdk_utils/iam.batch.BatchActions", version: "1.11.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
BatchActions.SERVICE_PREFIX = "batch";
|
|
22
22
|
/** [Write] batch:CancelJob */
|
|
@@ -83,6 +83,8 @@ BatchActions.ListServiceJobs = "batch:ListServiceJobs";
|
|
|
83
83
|
BatchActions.ListTagsForResource = "batch:ListTagsForResource";
|
|
84
84
|
/** [Write] batch:RegisterJobDefinition */
|
|
85
85
|
BatchActions.RegisterJobDefinition = "batch:RegisterJobDefinition";
|
|
86
|
+
/** [Tagging] batch:SetCapacityTags */
|
|
87
|
+
BatchActions.actionSetCapacityTags = "batch:SetCapacityTags";
|
|
86
88
|
/** [Write] batch:SubmitJob */
|
|
87
89
|
BatchActions.SubmitJob = "batch:SubmitJob";
|
|
88
90
|
/** [Write] batch:SubmitServiceJob */
|
|
@@ -165,6 +167,7 @@ BatchActions.AllListActions = [
|
|
|
165
167
|
BatchActions.AllPermissionManagementActions = [];
|
|
166
168
|
/** All tagging-level actions. */
|
|
167
169
|
BatchActions.AllTaggingActions = [
|
|
170
|
+
BatchActions.actionSetCapacityTags,
|
|
168
171
|
BatchActions.TagResource,
|
|
169
172
|
BatchActions.UntagResource,
|
|
170
173
|
];
|
|
@@ -467,7 +470,7 @@ class BatchResources {
|
|
|
467
470
|
}
|
|
468
471
|
exports.BatchResources = BatchResources;
|
|
469
472
|
_b = JSII_RTTI_SYMBOL_1;
|
|
470
|
-
BatchResources[_b] = { fqn: "@cdk_utils/iam.batch.BatchResources", version: "1.
|
|
473
|
+
BatchResources[_b] = { fqn: "@cdk_utils/iam.batch.BatchResources", version: "1.11.0" };
|
|
471
474
|
/**
|
|
472
475
|
* API operation to required IAM actions mapping for batch.
|
|
473
476
|
*/
|
|
@@ -475,13 +478,14 @@ class BatchOperations {
|
|
|
475
478
|
}
|
|
476
479
|
exports.BatchOperations = BatchOperations;
|
|
477
480
|
_c = JSII_RTTI_SYMBOL_1;
|
|
478
|
-
BatchOperations[_c] = { fqn: "@cdk_utils/iam.batch.BatchOperations", version: "1.
|
|
481
|
+
BatchOperations[_c] = { fqn: "@cdk_utils/iam.batch.BatchOperations", version: "1.11.0" };
|
|
479
482
|
/** IAM actions required for the CancelJob API call. */
|
|
480
483
|
BatchOperations.CancelJob = ["batch:CancelJob"];
|
|
481
484
|
/** IAM actions required for the CreateComputeEnvironment API call. */
|
|
482
485
|
BatchOperations.CreateComputeEnvironment = [
|
|
483
486
|
"batch:CreateComputeEnvironment",
|
|
484
487
|
"iam:PassRole",
|
|
488
|
+
"batch:SetCapacityTags",
|
|
485
489
|
"batch:TagResource",
|
|
486
490
|
];
|
|
487
491
|
/** IAM actions required for the CreateConsumableResource API call. */
|
|
@@ -754,7 +758,7 @@ class BatchConditions {
|
|
|
754
758
|
}
|
|
755
759
|
exports.BatchConditions = BatchConditions;
|
|
756
760
|
_d = JSII_RTTI_SYMBOL_1;
|
|
757
|
-
BatchConditions[_d] = { fqn: "@cdk_utils/iam.batch.BatchConditions", version: "1.
|
|
761
|
+
BatchConditions[_d] = { fqn: "@cdk_utils/iam.batch.BatchConditions", version: "1.11.0" };
|
|
758
762
|
/** Condition keys applicable to the CreateComputeEnvironment action. */
|
|
759
763
|
BatchConditions.CreateComputeEnvironmentConditionKeys = [
|
|
760
764
|
"aws:RequestTag/${TagKey}",
|
|
@@ -804,6 +808,11 @@ BatchConditions.RegisterJobDefinitionConditionKeys = [
|
|
|
804
808
|
"batch:Privileged",
|
|
805
809
|
"batch:User",
|
|
806
810
|
];
|
|
811
|
+
/** Condition keys applicable to the SetCapacityTags action. */
|
|
812
|
+
BatchConditions.actionSetCapacityTagsConditionKeys = [
|
|
813
|
+
"aws:RequestTag/${TagKey}",
|
|
814
|
+
"aws:TagKeys",
|
|
815
|
+
];
|
|
807
816
|
/** Condition keys applicable to the SubmitJob action. */
|
|
808
817
|
BatchConditions.SubmitJobConditionKeys = [
|
|
809
818
|
"aws:RequestTag/${TagKey}",
|
|
@@ -864,4 +873,4 @@ BatchConditions.SCHEDULING_PRIORITY = "batch:SchedulingPriority";
|
|
|
864
873
|
BatchConditions.SHARE_IDENTIFIER = "batch:ShareIdentifier";
|
|
865
874
|
/** Condition key: batch:User (String) */
|
|
866
875
|
BatchConditions.USER = "batch:User";
|
|
867
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2JhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsNENBQTRDO0FBQzVDLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLFlBQVk7O0FBQXpCLG9DQStKQzs7O0FBOUpBLDhCQUE4QjtBQUNkLDJCQUFjLEdBQUcsT0FBTyxDQUFDO0FBRXpDLDhCQUE4QjtBQUNkLHNCQUFTLEdBQUcsaUJBQWlCLENBQUM7QUFDOUMsNkNBQTZDO0FBQzdCLHFDQUF3QixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLDZDQUE2QztBQUM3QixxQ0FBd0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM1RSxtQ0FBbUM7QUFDbkIsMkJBQWMsR0FBRyxzQkFBc0IsQ0FBQztBQUN4RCxxQ0FBcUM7QUFDckIsNkJBQWdCLEdBQUcsd0JBQXdCLENBQUM7QUFDNUQsMkNBQTJDO0FBQzNCLG1DQUFzQixHQUFHLDhCQUE4QixDQUFDO0FBQ3hFLDZDQUE2QztBQUM3QixxQ0FBd0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM1RSw2Q0FBNkM7QUFDN0IscUNBQXdCLEdBQUcsZ0NBQWdDLENBQUM7QUFDNUUsNkNBQTZDO0FBQzdCLHFDQUF3QixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLG1DQUFtQztBQUNuQiwyQkFBYyxHQUFHLHNCQUFzQixDQUFDO0FBQ3hELHFDQUFxQztBQUNyQiw2QkFBZ0IsR0FBRyx3QkFBd0IsQ0FBQztBQUM1RCwyQ0FBMkM7QUFDM0IsbUNBQXNCLEdBQUcsOEJBQThCLENBQUM7QUFDeEUsNkNBQTZDO0FBQzdCLHFDQUF3QixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLDRDQUE0QztBQUM1QixvQ0FBdUIsR0FBRywrQkFBK0IsQ0FBQztBQUMxRSwrQ0FBK0M7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LENBQUM7QUFDekQsa0RBQWtEO0FBQ2xDLCtCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkQsMERBQTBEO0FBQzFDLHdDQUF3QixHQUFHLDZCQUE2QixDQUFDO0FBQ3pFLDBDQUEwQztBQUMxQixxQkFBSyxHQUFHLGFBQWEsQ0FBQztBQUN0Qyw4Q0FBOEM7QUFDOUIsMEJBQVUsR0FBRyxpQkFBaUIsQ0FBQztBQUMvQyw2Q0FBNkM7QUFDN0IsMEJBQVUsR0FBRyxrQkFBa0IsQ0FBQztBQUNoRCx3REFBd0Q7QUFDeEMsbUNBQW1CLEdBQUcsMEJBQTBCLENBQUM7QUFDakUsb0RBQW9EO0FBQ3BDLGdDQUFnQixHQUFHLHVCQUF1QixDQUFDO0FBQzNELHlDQUF5QztBQUN6QixvQkFBSSxHQUFHLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2JhdGNoLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBiYXRjaCBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgQmF0Y2hBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiYmF0Y2hcIjtcblxuXHQvKiogW1dyaXRlXSBiYXRjaDpDYW5jZWxKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEpvYiA9IFwiYmF0Y2g6Q2FuY2VsSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkNyZWF0ZUNvbXB1dGVFbnZpcm9ubWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZUVudmlyb25tZW50ID0gXCJiYXRjaDpDcmVhdGVDb21wdXRlRW52aXJvbm1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6Q3JlYXRlQ29uc3VtYWJsZVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25zdW1hYmxlUmVzb3VyY2UgPSBcImJhdGNoOkNyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpDcmVhdGVKb2JRdWV1ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iUXVldWUgPSBcImJhdGNoOkNyZWF0ZUpvYlF1ZXVlXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkNyZWF0ZVF1b3RhU2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVF1b3RhU2hhcmUgPSBcImJhdGNoOkNyZWF0ZVF1b3RhU2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6Q3JlYXRlU2NoZWR1bGluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2NoZWR1bGluZ1BvbGljeSA9IFwiYmF0Y2g6Q3JlYXRlU2NoZWR1bGluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpDcmVhdGVTZXJ2aWNlRW52aXJvbm1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VFbnZpcm9ubWVudCA9IFwiYmF0Y2g6Q3JlYXRlU2VydmljZUVudmlyb25tZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkRlbGV0ZUNvbXB1dGVFbnZpcm9ubWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZUVudmlyb25tZW50ID0gXCJiYXRjaDpEZWxldGVDb21wdXRlRW52aXJvbm1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6RGVsZXRlQ29uc3VtYWJsZVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25zdW1hYmxlUmVzb3VyY2UgPSBcImJhdGNoOkRlbGV0ZUNvbnN1bWFibGVSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpEZWxldGVKb2JRdWV1ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iUXVldWUgPSBcImJhdGNoOkRlbGV0ZUpvYlF1ZXVlXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkRlbGV0ZVF1b3RhU2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVF1b3RhU2hhcmUgPSBcImJhdGNoOkRlbGV0ZVF1b3RhU2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6RGVsZXRlU2NoZWR1bGluZ1BvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2NoZWR1bGluZ1BvbGljeSA9IFwiYmF0Y2g6RGVsZXRlU2NoZWR1bGluZ1BvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpEZWxldGVTZXJ2aWNlRW52aXJvbm1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VFbnZpcm9ubWVudCA9IFwiYmF0Y2g6RGVsZXRlU2VydmljZUVudmlyb25tZW50XCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkRlcmVnaXN0ZXJKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVySm9iRGVmaW5pdGlvbiA9IFwiYmF0Y2g6RGVyZWdpc3RlckpvYkRlZmluaXRpb25cIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpEZXNjcmliZUNvbXB1dGVFbnZpcm9ubWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcHV0ZUVudmlyb25tZW50cyA9XG5cdFx0XCJiYXRjaDpEZXNjcmliZUNvbXB1dGVFbnZpcm9ubWVudHNcIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpEZXNjcmliZUNvbnN1bWFibGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25zdW1hYmxlUmVzb3VyY2UgPVxuXHRcdFwiYmF0Y2g6RGVzY3JpYmVDb25zdW1hYmxlUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpEZXNjcmliZUpvYkRlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYkRlZmluaXRpb25zID0gXCJiYXRjaDpEZXNjcmliZUpvYkRlZmluaXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gYmF0Y2g6RGVzY3JpYmVKb2JRdWV1ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iUXVldWVzID0gXCJiYXRjaDpEZXNjcmliZUpvYlF1ZXVlc1wiO1xuXHQvKiogW1JlYWRdIGJhdGNoOkRlc2NyaWJlSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JzID0gXCJiYXRjaDpEZXNjcmliZUpvYnNcIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpEZXNjcmliZVF1b3RhU2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUXVvdGFTaGFyZSA9IFwiYmF0Y2g6RGVzY3JpYmVRdW90YVNoYXJlXCI7XG5cdC8qKiBbUmVhZF0gYmF0Y2g6RGVzY3JpYmVTY2hlZHVsaW5nUG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2NoZWR1bGluZ1BvbGljaWVzID1cblx0XHRcImJhdGNoOkRlc2NyaWJlU2NoZWR1bGluZ1BvbGljaWVzXCI7XG5cdC8qKiBbUmVhZF0gYmF0Y2g6RGVzY3JpYmVTZXJ2aWNlRW52aXJvbm1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VFbnZpcm9ubWVudHMgPVxuXHRcdFwiYmF0Y2g6RGVzY3JpYmVTZXJ2aWNlRW52aXJvbm1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gYmF0Y2g6RGVzY3JpYmVTZXJ2aWNlSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VKb2IgPSBcImJhdGNoOkRlc2NyaWJlU2VydmljZUpvYlwiO1xuXHQvKiogW1JlYWRdIGJhdGNoOkdldEpvYlF1ZXVlU25hcHNob3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEpvYlF1ZXVlU25hcHNob3QgPSBcImJhdGNoOkdldEpvYlF1ZXVlU25hcHNob3RcIjtcblx0LyoqIFtMaXN0XSBiYXRjaDpMaXN0Q29uc3VtYWJsZVJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnN1bWFibGVSZXNvdXJjZXMgPSBcImJhdGNoOkxpc3RDb25zdW1hYmxlUmVzb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gYmF0Y2g6TGlzdEpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzID0gXCJiYXRjaDpMaXN0Sm9ic1wiO1xuXHQvKiogW0xpc3RdIGJhdGNoOkxpc3RKb2JzQnlDb25zdW1hYmxlUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzQnlDb25zdW1hYmxlUmVzb3VyY2UgPVxuXHRcdFwiYmF0Y2g6TGlzdEpvYnNCeUNvbnN1bWFibGVSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIGJhdGNoOkxpc3RRdW90YVNoYXJlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFF1b3RhU2hhcmVzID0gXCJiYXRjaDpMaXN0UXVvdGFTaGFyZXNcIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpMaXN0U2NoZWR1bGluZ1BvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2NoZWR1bGluZ1BvbGljaWVzID0gXCJiYXRjaDpMaXN0U2NoZWR1bGluZ1BvbGljaWVzXCI7XG5cdC8qKiBbTGlzdF0gYmF0Y2g6TGlzdFNlcnZpY2VKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZUpvYnMgPSBcImJhdGNoOkxpc3RTZXJ2aWNlSm9ic1wiO1xuXHQvKiogW1JlYWRdIGJhdGNoOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImJhdGNoOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6UmVnaXN0ZXJKb2JEZWZpbml0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckpvYkRlZmluaXRpb24gPSBcImJhdGNoOlJlZ2lzdGVySm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpTdWJtaXRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEpvYiA9IFwiYmF0Y2g6U3VibWl0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOlN1Ym1pdFNlcnZpY2VKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFNlcnZpY2VKb2IgPSBcImJhdGNoOlN1Ym1pdFNlcnZpY2VKb2JcIjtcblx0LyoqIFtUYWdnaW5nXSBiYXRjaDpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImJhdGNoOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOlRlcm1pbmF0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlSm9iID0gXCJiYXRjaDpUZXJtaW5hdGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6VGVybWluYXRlU2VydmljZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlU2VydmljZUpvYiA9IFwiYmF0Y2g6VGVybWluYXRlU2VydmljZUpvYlwiO1xuXHQvKiogW1RhZ2dpbmddIGJhdGNoOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImJhdGNoOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6VXBkYXRlQ29tcHV0ZUVudmlyb25tZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb21wdXRlRW52aXJvbm1lbnQgPSBcImJhdGNoOlVwZGF0ZUNvbXB1dGVFbnZpcm9ubWVudFwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpVcGRhdGVDb25zdW1hYmxlUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnN1bWFibGVSZXNvdXJjZSA9IFwiYmF0Y2g6VXBkYXRlQ29uc3VtYWJsZVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOlVwZGF0ZUpvYlF1ZXVlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVKb2JRdWV1ZSA9IFwiYmF0Y2g6VXBkYXRlSm9iUXVldWVcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6VXBkYXRlUXVvdGFTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUXVvdGFTaGFyZSA9IFwiYmF0Y2g6VXBkYXRlUXVvdGFTaGFyZVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpVcGRhdGVTY2hlZHVsaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTY2hlZHVsaW5nUG9saWN5ID0gXCJiYXRjaDpVcGRhdGVTY2hlZHVsaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOlVwZGF0ZVNlcnZpY2VFbnZpcm9ubWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUVudmlyb25tZW50ID0gXCJiYXRjaDpVcGRhdGVTZXJ2aWNlRW52aXJvbm1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6VXBkYXRlU2VydmljZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUpvYiA9IFwiYmF0Y2g6VXBkYXRlU2VydmljZUpvYlwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZUNvbXB1dGVFbnZpcm9ubWVudHMsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlc2NyaWJlQ29uc3VtYWJsZVJlc291cmNlLFxuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZUpvYkRlZmluaXRpb25zLFxuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZUpvYlF1ZXVlcyxcblx0XHRCYXRjaEFjdGlvbnMuRGVzY3JpYmVKb2JzLFxuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZVF1b3RhU2hhcmUsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlc2NyaWJlU2NoZWR1bGluZ1BvbGljaWVzLFxuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VFbnZpcm9ubWVudHMsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlc2NyaWJlU2VydmljZUpvYixcblx0XHRCYXRjaEFjdGlvbnMuYWN0aW9uR2V0Sm9iUXVldWVTbmFwc2hvdCxcblx0XHRCYXRjaEFjdGlvbnMuTGlzdFNjaGVkdWxpbmdQb2xpY2llcyxcblx0XHRCYXRjaEFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCYXRjaEFjdGlvbnMuQ2FuY2VsSm9iLFxuXHRcdEJhdGNoQWN0aW9ucy5DcmVhdGVDb21wdXRlRW52aXJvbm1lbnQsXG5cdFx0QmF0Y2hBY3Rpb25zLkNyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZSxcblx0XHRCYXRjaEFjdGlvbnMuQ3JlYXRlSm9iUXVldWUsXG5cdFx0QmF0Y2hBY3Rpb25zLkNyZWF0ZVF1b3RhU2hhcmUsXG5cdFx0QmF0Y2hBY3Rpb25zLkNyZWF0ZVNjaGVkdWxpbmdQb2xpY3ksXG5cdFx0QmF0Y2hBY3Rpb25zLkNyZWF0ZVNlcnZpY2VFbnZpcm9ubWVudCxcblx0XHRCYXRjaEFjdGlvbnMuRGVsZXRlQ29tcHV0ZUVudmlyb25tZW50LFxuXHRcdEJhdGNoQWN0aW9ucy5EZWxldGVDb25zdW1hYmxlUmVzb3VyY2UsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlbGV0ZUpvYlF1ZXVlLFxuXHRcdEJhdGNoQWN0aW9ucy5EZWxldGVRdW90YVNoYXJlLFxuXHRcdEJhdGNoQWN0aW9ucy5EZWxldGVTY2hlZHVsaW5nUG9saWN5LFxuXHRcdEJhdGNoQWN0aW9ucy5EZWxldGVTZXJ2aWNlRW52aXJvbm1lbnQsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlcmVnaXN0ZXJKb2JEZWZpbml0aW9uLFxuXHRcdEJhdGNoQWN0aW9ucy5SZWdpc3RlckpvYkRlZmluaXRpb24sXG5cdFx0QmF0Y2hBY3Rpb25zLlN1Ym1pdEpvYixcblx0XHRCYXRjaEFjdGlvbnMuU3VibWl0U2VydmljZUpvYixcblx0XHRCYXRjaEFjdGlvbnMuVGVybWluYXRlSm9iLFxuXHRcdEJhdGNoQWN0aW9ucy5UZXJtaW5hdGVTZXJ2aWNlSm9iLFxuXHRcdEJhdGNoQWN0aW9ucy5VcGRhdGVDb21wdXRlRW52aXJvbm1lbnQsXG5cdFx0QmF0Y2hBY3Rpb25zLlVwZGF0ZUNvbnN1bWFibGVSZXNvdXJjZSxcblx0XHRCYXRjaEFjdGlvbnMuVXBkYXRlSm9iUXVldWUsXG5cdFx0QmF0Y2hBY3Rpb25zLlVwZGF0ZVF1b3RhU2hhcmUsXG5cdFx0QmF0Y2hBY3Rpb25zLlVwZGF0ZVNjaGVkdWxpbmdQb2xpY3ksXG5cdFx0QmF0Y2hBY3Rpb25zLlVwZGF0ZVNlcnZpY2VFbnZpcm9ubWVudCxcblx0XHRCYXRjaEFjdGlvbnMuVXBkYXRlU2VydmljZUpvYixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmF0Y2hBY3Rpb25zLkxpc3RDb25zdW1hYmxlUmVzb3VyY2VzLFxuXHRcdEJhdGNoQWN0aW9ucy5MaXN0Sm9icyxcblx0XHRCYXRjaEFjdGlvbnMuTGlzdEpvYnNCeUNvbnN1bWFibGVSZXNvdXJjZSxcblx0XHRCYXRjaEFjdGlvbnMuTGlzdFF1b3RhU2hhcmVzLFxuXHRcdEJhdGNoQWN0aW9ucy5MaXN0U2VydmljZUpvYnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJhdGNoQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRCYXRjaEFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbXB1dGUtZW52aXJvbm1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoQ29tcHV0ZUVudmlyb25tZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIENvbXB1dGVFbnZpcm9ubWVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbXB1dGVFbnZpcm9ubWVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb21wdXRlLWVudmlyb25tZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaENvbXB1dGVFbnZpcm9ubWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29tcHV0ZUVudmlyb25tZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbXB1dGVFbnZpcm9ubWVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNvbnN1bWFibGUtcmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoQ29uc3VtYWJsZVJlc291cmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbnN1bWFibGVSZXNvdXJjZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbnN1bWFibGVSZXNvdXJjZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25zdW1hYmxlLXJlc291cmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaENvbnN1bWFibGVSZXNvdXJjZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uc3VtYWJsZVJlc291cmNlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnN1bWFibGVSZXNvdXJjZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaEpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgam9iLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoSm9iRGVmaW5pdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBqb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBqb2ItZGVmaW5pdGlvbi1yZXZpc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hKb2JEZWZpbml0aW9uUmV2aXNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmV2aXNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJldmlzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgam9iLWRlZmluaXRpb24tcmV2aXNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoSm9iRGVmaW5pdGlvblJldmlzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmV2aXNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXZpc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgam9iLXF1ZXVlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaEpvYlF1ZXVlQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYlF1ZXVlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iUXVldWVOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgam9iLXF1ZXVlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaEpvYlF1ZXVlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JRdWV1ZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JRdWV1ZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHF1b3RhLXNoYXJlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1b3RhU2hhcmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iUXVldWVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JRdWV1ZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBRdW90YVNoYXJlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcXVvdGFTaGFyZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBxdW90YS1zaGFyZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hRdW90YVNoYXJlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JRdWV1ZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JRdWV1ZU5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBRdW90YVNoYXJlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHF1b3RhU2hhcmVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzY2hlZHVsaW5nLXBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hTY2hlZHVsaW5nUG9saWN5QXJuUHJvcHMge1xuXHQvKiogVGhlIFNjaGVkdWxpbmdQb2xpY3lOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzY2hlZHVsaW5nUG9saWN5TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNjaGVkdWxpbmctcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFNjaGVkdWxpbmdQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNjaGVkdWxpbmdQb2xpY3lOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2NoZWR1bGluZ1BvbGljeU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2UtZW52aXJvbm1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoU2VydmljZUVudmlyb25tZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFNlcnZpY2VFbnZpcm9ubWVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VFbnZpcm9ubWVudE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2aWNlLWVudmlyb25tZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFNlcnZpY2VFbnZpcm9ubWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZUVudmlyb25tZW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlcnZpY2VFbnZpcm9ubWVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2Utam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFNlcnZpY2VKb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmljZS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoU2VydmljZUpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG5jb25zdCBDb21wdXRlRW52aXJvbm1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb21wdXRlLWVudmlyb25tZW50XFwvKD88Y29tcHV0ZUVudmlyb25tZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ29uc3VtYWJsZVJlc291cmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJhdGNoOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29uc3VtYWJsZS1yZXNvdXJjZVxcLyg/PGNvbnN1bWFibGVSZXNvdXJjZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiYXRjaDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBKb2JEZWZpbml0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJhdGNoOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iLWRlZmluaXRpb25cXC8oPzxqb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSm9iRGVmaW5pdGlvblJldmlzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJhdGNoOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iLWRlZmluaXRpb25cXC8oPzxqb2JEZWZpbml0aW9uTmFtZT5bXjovP10rKTooPzxyZXZpc2lvbj5bXjovP10rKSQvO1xuY29uc3QgSm9iUXVldWVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2ItcXVldWVcXC8oPzxqb2JRdWV1ZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFF1b3RhU2hhcmVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2ItcXVldWVcXC8oPzxqb2JRdWV1ZU5hbWU+W146Lz9dKylcXC9xdW90YS1zaGFyZVxcLyg/PHF1b3RhU2hhcmVOYW1lPlteOi8/XSspJC87XG5jb25zdCBTY2hlZHVsaW5nUG9saWN5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJhdGNoOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2NoZWR1bGluZy1wb2xpY3lcXC8oPzxzY2hlZHVsaW5nUG9saWN5TmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZUVudmlyb25tZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJhdGNoOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZS1lbnZpcm9ubWVudFxcLyg/PHNlcnZpY2VFbnZpcm9ubWVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VKb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlLWpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgYmF0Y2ggcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQmF0Y2hSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbXB1dGUtZW52aXJvbm1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29tcHV0ZUVudmlyb25tZW50KHByb3BzOiBCYXRjaENvbXB1dGVFbnZpcm9ubWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiYXRjaDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb21wdXRlLWVudmlyb25tZW50LyR7cHJvcHMuY29tcHV0ZUVudmlyb25tZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29tcHV0ZS1lbnZpcm9ubWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29tcHV0ZUVudmlyb25tZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbXB1dGVFbnZpcm9ubWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb21wdXRlLWVudmlyb25tZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbXB1dGVFbnZpcm9ubWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmF0Y2hDb21wdXRlRW52aXJvbm1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbXB1dGVFbnZpcm9ubWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb21wdXRlLWVudmlyb25tZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbXB1dGVFbnZpcm9ubWVudE5hbWU6IG1hdGNoLmdyb3VwcyEuY29tcHV0ZUVudmlyb25tZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25zdW1hYmxlLXJlc291cmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbnN1bWFibGVSZXNvdXJjZShwcm9wczogQmF0Y2hDb25zdW1hYmxlUmVzb3VyY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmF0Y2g6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29uc3VtYWJsZS1yZXNvdXJjZS8ke3Byb3BzLmNvbnN1bWFibGVSZXNvdXJjZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbnN1bWFibGUtcmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbnN1bWFibGVSZXNvdXJjZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25zdW1hYmxlUmVzb3VyY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29uc3VtYWJsZS1yZXNvdXJjZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25zdW1hYmxlUmVzb3VyY2VBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJhdGNoQ29uc3VtYWJsZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25zdW1hYmxlUmVzb3VyY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29uc3VtYWJsZS1yZXNvdXJjZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25zdW1hYmxlUmVzb3VyY2VOYW1lOiBtYXRjaC5ncm91cHMhLmNvbnN1bWFibGVSZXNvdXJjZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGpvYihwcm9wczogQmF0Y2hKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmF0Y2g6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBqb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSm9iQXJuKGFybjogc3RyaW5nKTogQmF0Y2hKb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBqb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iRGVmaW5pdGlvbihwcm9wczogQmF0Y2hKb2JEZWZpbml0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJhdGNoOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmpvYi1kZWZpbml0aW9uLyR7cHJvcHMuam9iRGVmaW5pdGlvbk5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGpvYi1kZWZpbml0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgam9iLWRlZmluaXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSm9iRGVmaW5pdGlvbkFybihhcm46IHN0cmluZyk6IEJhdGNoSm9iRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iRGVmaW5pdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBqb2ItZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JEZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5qb2JEZWZpbml0aW9uTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBqb2ItZGVmaW5pdGlvbi1yZXZpc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2JEZWZpbml0aW9uUmV2aXNpb24oXG5cdFx0cHJvcHM6IEJhdGNoSm9iRGVmaW5pdGlvblJldmlzaW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmF0Y2g6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLWRlZmluaXRpb24vJHtwcm9wcy5qb2JEZWZpbml0aW9uTmFtZX06JHtwcm9wcy5yZXZpc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgam9iLWRlZmluaXRpb24tcmV2aXNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYkRlZmluaXRpb25SZXZpc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBKb2JEZWZpbml0aW9uUmV2aXNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgam9iLWRlZmluaXRpb24tcmV2aXNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSm9iRGVmaW5pdGlvblJldmlzaW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCYXRjaEpvYkRlZmluaXRpb25SZXZpc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iRGVmaW5pdGlvblJldmlzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGpvYi1kZWZpbml0aW9uLXJldmlzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYkRlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmpvYkRlZmluaXRpb25OYW1lLFxuXHRcdFx0cmV2aXNpb246IG1hdGNoLmdyb3VwcyEucmV2aXNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgam9iLXF1ZXVlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGpvYlF1ZXVlKHByb3BzOiBCYXRjaEpvYlF1ZXVlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJhdGNoOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmpvYi1xdWV1ZS8ke3Byb3BzLmpvYlF1ZXVlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgam9iLXF1ZXVlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JRdWV1ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBKb2JRdWV1ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBqb2ItcXVldWUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSm9iUXVldWVBcm4oYXJuOiBzdHJpbmcpOiBCYXRjaEpvYlF1ZXVlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBKb2JRdWV1ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBqb2ItcXVldWUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iUXVldWVOYW1lOiBtYXRjaC5ncm91cHMhLmpvYlF1ZXVlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBxdW90YS1zaGFyZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBxdW90YVNoYXJlKHByb3BzOiBCYXRjaFF1b3RhU2hhcmVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmF0Y2g6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLXF1ZXVlLyR7cHJvcHMuam9iUXVldWVOYW1lfS9xdW90YS1zaGFyZS8ke3Byb3BzLnF1b3RhU2hhcmVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBxdW90YS1zaGFyZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUXVvdGFTaGFyZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBRdW90YVNoYXJlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHF1b3RhLXNoYXJlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVF1b3RhU2hhcmVBcm4oYXJuOiBzdHJpbmcpOiBCYXRjaFF1b3RhU2hhcmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFF1b3RhU2hhcmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcXVvdGEtc2hhcmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iUXVldWVOYW1lOiBtYXRjaC5ncm91cHMhLmpvYlF1ZXVlTmFtZSxcblx0XHRcdHF1b3RhU2hhcmVOYW1lOiBtYXRjaC5ncm91cHMhLnF1b3RhU2hhcmVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNjaGVkdWxpbmctcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNjaGVkdWxpbmdQb2xpY3kocHJvcHM6IEJhdGNoU2NoZWR1bGluZ1BvbGljeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiYXRjaDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzY2hlZHVsaW5nLXBvbGljeS8ke3Byb3BzLnNjaGVkdWxpbmdQb2xpY3lOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzY2hlZHVsaW5nLXBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2NoZWR1bGluZ1BvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTY2hlZHVsaW5nUG9saWN5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNjaGVkdWxpbmctcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNjaGVkdWxpbmdQb2xpY3lBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJhdGNoU2NoZWR1bGluZ1BvbGljeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2NoZWR1bGluZ1BvbGljeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzY2hlZHVsaW5nLXBvbGljeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzY2hlZHVsaW5nUG9saWN5TmFtZTogbWF0Y2guZ3JvdXBzIS5zY2hlZHVsaW5nUG9saWN5TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2aWNlLWVudmlyb25tZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2VFbnZpcm9ubWVudChwcm9wczogQmF0Y2hTZXJ2aWNlRW52aXJvbm1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmF0Y2g6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZS1lbnZpcm9ubWVudC8ke3Byb3BzLnNlcnZpY2VFbnZpcm9ubWVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UtZW52aXJvbm1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VFbnZpcm9ubWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlRW52aXJvbm1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZS1lbnZpcm9ubWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlRW52aXJvbm1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJhdGNoU2VydmljZUVudmlyb25tZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlRW52aXJvbm1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZS1lbnZpcm9ubWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlRW52aXJvbm1lbnROYW1lOiBtYXRjaC5ncm91cHMhLnNlcnZpY2VFbnZpcm9ubWVudE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmljZS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZUpvYihwcm9wczogQmF0Y2hTZXJ2aWNlSm9iQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJhdGNoOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2Utam9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2Utam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VKb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZS1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZUpvYkFybihhcm46IHN0cmluZyk6IEJhdGNoU2VydmljZUpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZUpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBiYXRjaC5cbiAqL1xuZXhwb3J0IGNsYXNzIEJhdGNoT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbEpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbEpvYjogc3RyaW5nW10gPSBbXCJiYXRjaDpDYW5jZWxKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbXB1dGVFbnZpcm9ubWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXB1dGVFbnZpcm9ubWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpDcmVhdGVDb21wdXRlRW52aXJvbm1lbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmF0Y2g6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uc3VtYWJsZVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uc3VtYWJsZVJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkNyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZVwiLFxuXHRcdFwiYmF0Y2g6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSm9iUXVldWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVKb2JRdWV1ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpDcmVhdGVKb2JRdWV1ZVwiLFxuXHRcdFwiYmF0Y2g6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUXVvdGFTaGFyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVF1b3RhU2hhcmU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6Q3JlYXRlUXVvdGFTaGFyZVwiLFxuXHRcdFwiYmF0Y2g6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2NoZWR1bGluZ1BvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNjaGVkdWxpbmdQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6Q3JlYXRlU2NoZWR1bGluZ1BvbGljeVwiLFxuXHRcdFwiYmF0Y2g6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmljZUVudmlyb25tZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUVudmlyb25tZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkNyZWF0ZVNlcnZpY2VFbnZpcm9ubWVudFwiLFxuXHRcdFwiYmF0Y2g6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29tcHV0ZUVudmlyb25tZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29tcHV0ZUVudmlyb25tZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkRlbGV0ZUNvbXB1dGVFbnZpcm9ubWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb25zdW1hYmxlUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25zdW1hYmxlUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6RGVsZXRlQ29uc3VtYWJsZVJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUpvYlF1ZXVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSm9iUXVldWU6IHN0cmluZ1tdID0gW1wiYmF0Y2g6RGVsZXRlSm9iUXVldWVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVF1b3RhU2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVRdW90YVNoYXJlOiBzdHJpbmdbXSA9IFtcImJhdGNoOkRlbGV0ZVF1b3RhU2hhcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNjaGVkdWxpbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTY2hlZHVsaW5nUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkRlbGV0ZVNjaGVkdWxpbmdQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZUVudmlyb25tZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUVudmlyb25tZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkRlbGV0ZVNlcnZpY2VFbnZpcm9ubWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVySm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkRlcmVnaXN0ZXJKb2JEZWZpbml0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29tcHV0ZUVudmlyb25tZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcHV0ZUVudmlyb25tZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpEZXNjcmliZUNvbXB1dGVFbnZpcm9ubWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25zdW1hYmxlUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnN1bWFibGVSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpEZXNjcmliZUNvbnN1bWFibGVSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JEZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpEZXNjcmliZUpvYkRlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9iUXVldWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JRdWV1ZXM6IHN0cmluZ1tdID0gW1wiYmF0Y2g6RGVzY3JpYmVKb2JRdWV1ZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iczogc3RyaW5nW10gPSBbXCJiYXRjaDpEZXNjcmliZUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUXVvdGFTaGFyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUXVvdGFTaGFyZTogc3RyaW5nW10gPSBbXCJiYXRjaDpEZXNjcmliZVF1b3RhU2hhcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2NoZWR1bGluZ1BvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTY2hlZHVsaW5nUG9saWNpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6RGVzY3JpYmVTY2hlZHVsaW5nUG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlRW52aXJvbm1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlRW52aXJvbm1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkRlc2NyaWJlU2VydmljZUVudmlyb25tZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlcnZpY2VKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlcnZpY2VKb2I6IHN0cmluZ1tdID0gW1wiYmF0Y2g6RGVzY3JpYmVTZXJ2aWNlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRKb2JRdWV1ZVNuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRKb2JRdWV1ZVNuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkdldEpvYlF1ZXVlU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbnN1bWFibGVSZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uc3VtYWJsZVJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpMaXN0Q29uc3VtYWJsZVJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzOiBzdHJpbmdbXSA9IFtcImJhdGNoOkxpc3RKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Sm9ic0J5Q29uc3VtYWJsZVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnNCeUNvbnN1bWFibGVSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpMaXN0Sm9ic0J5Q29uc3VtYWJsZVJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RRdW90YVNoYXJlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RRdW90YVNoYXJlczogc3RyaW5nW10gPSBbXCJiYXRjaDpMaXN0UXVvdGFTaGFyZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTY2hlZHVsaW5nUG9saWNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2NoZWR1bGluZ1BvbGljaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkxpc3RTY2hlZHVsaW5nUG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VKb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VKb2JzOiBzdHJpbmdbXSA9IFtcImJhdGNoOkxpc3RTZXJ2aWNlSm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYmF0Y2g6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJKb2JEZWZpbml0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJKb2JEZWZpbml0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiYmF0Y2g6UmVnaXN0ZXJKb2JEZWZpbml0aW9uXCIsXG5cdFx0XCJiYXRjaDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6U3VibWl0Sm9iXCIsXG5cdFx0XCJiYXRjaDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRTZXJ2aWNlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0U2VydmljZUpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJhdGNoOlN1Ym1pdFNlcnZpY2VKb2JcIixcblx0XHRcImJhdGNoOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wiYmF0Y2g6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRlcm1pbmF0ZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZUpvYjogc3RyaW5nW10gPSBbXCJiYXRjaDpUZXJtaW5hdGVKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRlcm1pbmF0ZVNlcnZpY2VKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVTZXJ2aWNlSm9iOiBzdHJpbmdbXSA9IFtcImJhdGNoOlRlcm1pbmF0ZVNlcnZpY2VKb2JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImJhdGNoOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbXB1dGVFbnZpcm9ubWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbXB1dGVFbnZpcm9ubWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJhdGNoOlVwZGF0ZUNvbXB1dGVFbnZpcm9ubWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb25zdW1hYmxlUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25zdW1hYmxlUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6VXBkYXRlQ29uc3VtYWJsZVJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUpvYlF1ZXVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSm9iUXVldWU6IHN0cmluZ1tdID0gW1wiYmF0Y2g6VXBkYXRlSm9iUXVldWVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVF1b3RhU2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVRdW90YVNoYXJlOiBzdHJpbmdbXSA9IFtcImJhdGNoOlVwZGF0ZVF1b3RhU2hhcmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNjaGVkdWxpbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTY2hlZHVsaW5nUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOlVwZGF0ZVNjaGVkdWxpbmdQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZUVudmlyb25tZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUVudmlyb25tZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOlVwZGF0ZVNlcnZpY2VFbnZpcm9ubWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXJ2aWNlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUpvYjogc3RyaW5nW10gPSBbXCJiYXRjaDpVcGRhdGVTZXJ2aWNlSm9iXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgYmF0Y2guXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXRjaENvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29tcHV0ZUVudmlyb25tZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbXB1dGVFbnZpcm9ubWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29uc3VtYWJsZVJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlSm9iUXVldWUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iUXVldWVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVF1b3RhU2hhcmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUXVvdGFTaGFyZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2NoZWR1bGluZ1BvbGljeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTY2hlZHVsaW5nUG9saWN5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVTZXJ2aWNlRW52aXJvbm1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUVudmlyb25tZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlckpvYkRlZmluaXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJKb2JEZWZpbml0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJiYXRjaDpBV1NMb2dzQ3JlYXRlR3JvdXBcIixcblx0XHRcImJhdGNoOkFXU0xvZ3NHcm91cFwiLFxuXHRcdFwiYmF0Y2g6QVdTTG9nc1JlZ2lvblwiLFxuXHRcdFwiYmF0Y2g6QVdTTG9nc1N0cmVhbVByZWZpeFwiLFxuXHRcdFwiYmF0Y2g6RUtTSW1hZ2VcIixcblx0XHRcImJhdGNoOkVLU05hbWVzcGFjZVwiLFxuXHRcdFwiYmF0Y2g6RUtTUHJpdmlsZWdlZFwiLFxuXHRcdFwiYmF0Y2g6RUtTUnVuQXNHcm91cFwiLFxuXHRcdFwiYmF0Y2g6RUtTUnVuQXNVc2VyXCIsXG5cdFx0XCJiYXRjaDpFS1NTZXJ2aWNlQWNjb3VudE5hbWVcIixcblx0XHRcImJhdGNoOkltYWdlXCIsXG5cdFx0XCJiYXRjaDpMb2dEcml2ZXJcIixcblx0XHRcImJhdGNoOlByaXZpbGVnZWRcIixcblx0XHRcImJhdGNoOlVzZXJcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN1Ym1pdEpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN1Ym1pdFNlcnZpY2VKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0U2VydmljZUpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmF0Y2g6U2NoZWR1bGluZ1ByaW9yaXR5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVNlcnZpY2VKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6U2NoZWR1bGluZ1ByaW9yaXR5XCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6QVdTTG9nc0NyZWF0ZUdyb3VwIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX0xPR1NfQ1JFQVRFX0dST1VQID0gXCJiYXRjaDpBV1NMb2dzQ3JlYXRlR3JvdXBcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOkFXU0xvZ3NHcm91cCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX0xPR1NfR1JPVVAgPSBcImJhdGNoOkFXU0xvZ3NHcm91cFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6QVdTTG9nc1JlZ2lvbiAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX0xPR1NfUkVHSU9OID0gXCJiYXRjaDpBV1NMb2dzUmVnaW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpBV1NMb2dzU3RyZWFtUHJlZml4IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfTE9HU19TVFJFQU1fUFJFRklYID0gXCJiYXRjaDpBV1NMb2dzU3RyZWFtUHJlZml4XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpFS1NJbWFnZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRUtTX0lNQUdFID0gXCJiYXRjaDpFS1NJbWFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6RUtTTmFtZXNwYWNlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBFS1NfTkFNRVNQQUNFID0gXCJiYXRjaDpFS1NOYW1lc3BhY2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOkVLU1ByaXZpbGVnZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBFS1NfUFJJVklMRUdFRCA9IFwiYmF0Y2g6RUtTUHJpdmlsZWdlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6RUtTUnVuQXNHcm91cCAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVLU19SVU5fQVNfR1JPVVAgPSBcImJhdGNoOkVLU1J1bkFzR3JvdXBcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOkVLU1J1bkFzVXNlciAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVLU19SVU5fQVNfVVNFUiA9IFwiYmF0Y2g6RUtTUnVuQXNVc2VyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpFS1NTZXJ2aWNlQWNjb3VudE5hbWUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVLU19TRVJWSUNFX0FDQ09VTlRfTkFNRSA9IFwiYmF0Y2g6RUtTU2VydmljZUFjY291bnROYW1lXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpJbWFnZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSU1BR0UgPSBcImJhdGNoOkltYWdlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpMb2dEcml2ZXIgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IExPR19EUklWRVIgPSBcImJhdGNoOkxvZ0RyaXZlclwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6UHJpdmlsZWdlZCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBSSVZJTEVHRUQgPSBcImJhdGNoOlByaXZpbGVnZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOlNjaGVkdWxpbmdQcmlvcml0eSAoTnVtZXJpYykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNDSEVEVUxJTkdfUFJJT1JJVFkgPSBcImJhdGNoOlNjaGVkdWxpbmdQcmlvcml0eVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6U2hhcmVJZGVudGlmaWVyIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBTSEFSRV9JREVOVElGSUVSID0gXCJiYXRjaDpTaGFyZUlkZW50aWZpZXJcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOlVzZXIgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVTRVIgPSBcImJhdGNoOlVzZXJcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6QVdTTG9nc0NyZWF0ZUdyb3VwYC5cblx0ICovXG5cdHN0YXRpYyBhd3NMb2dzQ3JlYXRlR3JvdXAoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImJhdGNoOkFXU0xvZ3NDcmVhdGVHcm91cFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6QVdTTG9nc0dyb3VwYC5cblx0ICovXG5cdHN0YXRpYyBhd3NMb2dzR3JvdXAodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpBV1NMb2dzR3JvdXBcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOkFXU0xvZ3NSZWdpb25gLlxuXHQgKi9cblx0c3RhdGljIGF3c0xvZ3NSZWdpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpBV1NMb2dzUmVnaW9uXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpBV1NMb2dzU3RyZWFtUHJlZml4YC5cblx0ICovXG5cdHN0YXRpYyBhd3NMb2dzU3RyZWFtUHJlZml4KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpBV1NMb2dzU3RyZWFtUHJlZml4XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpFS1NJbWFnZWAuXG5cdCAqL1xuXHRzdGF0aWMgZWtzSW1hZ2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpFS1NJbWFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6RUtTTmFtZXNwYWNlYC5cblx0ICovXG5cdHN0YXRpYyBla3NOYW1lc3BhY2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpFS1NOYW1lc3BhY2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOkVLU1ByaXZpbGVnZWRgLlxuXHQgKi9cblx0c3RhdGljIGVrc1ByaXZpbGVnZWQoXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcImJhdGNoOkVLU1ByaXZpbGVnZWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOkVLU1J1bkFzR3JvdXBgLlxuXHQgKi9cblx0c3RhdGljIGVrc1J1bkFzR3JvdXAodmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiYmF0Y2g6RUtTUnVuQXNHcm91cFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6RUtTUnVuQXNVc2VyYC5cblx0ICovXG5cdHN0YXRpYyBla3NSdW5Bc1VzZXIodmFsdWU6IG51bWJlcik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIG51bWJlcj4+IHtcblx0XHRyZXR1cm4geyBOdW1lcmljRXF1YWxzOiB7IFwiYmF0Y2g6RUtTUnVuQXNVc2VyXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpFS1NTZXJ2aWNlQWNjb3VudE5hbWVgLlxuXHQgKi9cblx0c3RhdGljIGVrc1NlcnZpY2VBY2NvdW50TmFtZShcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmF0Y2g6RUtTU2VydmljZUFjY291bnROYW1lXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpJbWFnZWAuXG5cdCAqL1xuXHRzdGF0aWMgaW1hZ2UodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpJbWFnZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6TG9nRHJpdmVyYC5cblx0ICovXG5cdHN0YXRpYyBsb2dEcml2ZXIodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpMb2dEcml2ZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOlByaXZpbGVnZWRgLlxuXHQgKi9cblx0c3RhdGljIHByaXZpbGVnZWQodmFsdWU6IGJvb2xlYW4pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJiYXRjaDpQcml2aWxlZ2VkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpTY2hlZHVsaW5nUHJpb3JpdHlgLlxuXHQgKi9cblx0c3RhdGljIHNjaGVkdWxpbmdQcmlvcml0eShcblx0XHR2YWx1ZTogbnVtYmVyLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImJhdGNoOlNjaGVkdWxpbmdQcmlvcml0eVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6U2hhcmVJZGVudGlmaWVyYC5cblx0ICovXG5cdHN0YXRpYyBzaGFyZUlkZW50aWZpZXIoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJhdGNoOlNoYXJlSWRlbnRpZmllclwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6VXNlcmAuXG5cdCAqL1xuXHRzdGF0aWMgdXNlcih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJhdGNoOlVzZXJcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
|
|
876
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2JhdGNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQsNENBQTRDO0FBQzVDLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLFlBQVk7O0FBQXpCLG9DQWtLQzs7O0FBaktBLDhCQUE4QjtBQUNkLDJCQUFjLEdBQUcsT0FBTyxDQUFDO0FBRXpDLDhCQUE4QjtBQUNkLHNCQUFTLEdBQUcsaUJBQWlCLENBQUM7QUFDOUMsNkNBQTZDO0FBQzdCLHFDQUF3QixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLDZDQUE2QztBQUM3QixxQ0FBd0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM1RSxtQ0FBbUM7QUFDbkIsMkJBQWMsR0FBRyxzQkFBc0IsQ0FBQztBQUN4RCxxQ0FBcUM7QUFDckIsNkJBQWdCLEdBQUcsd0JBQXdCLENBQUM7QUFDNUQsMkNBQTJDO0FBQzNCLG1DQUFzQixHQUFHLDhCQUE4QixDQUFDO0FBQ3hFLDZDQUE2QztBQUM3QixxQ0FBd0IsR0FBRyxnQ0FBZ0MsQ0FBQztBQUM1RSw2Q0FBNkM7QUFDN0IscUNBQXdCLEdBQUcsZ0NBQWdDLENBQUM7QUFDNUUsNkNBQTZDO0FBQzdCLHFDQUF3QixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLG1DQUFtQztBQUNuQiwyQkFBYyxHQUFHLHNCQUFzQixDQUFDO0FBQ3hELHFDQUFxQztBQUNyQiw2QkFBZ0IsR0FBRyx3QkFBd0IsQ0FBQztBQUM1RCwyQ0FBMkM7QUFDM0IsbUNBQXNCLEdBQUcsOEJBQThCLENBQUM7QUFDeEUsNkNBQTZDO0FBQzdCLHFDQUF3QixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLDRDQUE0QztBQUM1QixvQ0FBdUIsR0FBRywrQkFBK0IsQ0FBQztBQUMxRSwrQ0FBK0M7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QkFBUyxHQUFHLGdCQUFnQixDQUFDO0FBQzdDLGlEQUFpRDtBQUNqQyw2QkFBYSxHQUFHLG9CQUFvQixDQUFDO0FBQ3JELGdEQUFnRDtBQUNoQyw4QkFBYyxHQUFHLHFCQUFxQixDQUFDO0FBQ3ZELG1EQUFtRDtBQUNuQyxnQ0FBZ0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN6RCxrREFBa0Q7QUFDbEMsK0JBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2RCwwREFBMEQ7QUFDMUMsd0NBQXdCLEdBQUcsNkJBQTZCLENBQUM7QUFDekUsMENBQTBDO0FBQzFCLHFCQUFLLEdBQUcsYUFBYSxDQUFDO0FBQ3RDLDhDQUE4QztBQUM5QiwwQkFBVSxHQUFHLGlCQUFpQixDQUFDO0FBQy9DLDZDQUE2QztBQUM3QiwwQkFBVSxHQUFHLGtCQUFrQixDQUFDO0FBQ2hELHdEQUF3RDtBQUN4QyxtQ0FBbUIsR0FBRywwQkFBMEIsQ0FBQztBQUNqRSxvREFBb0Q7QUFDcEMsZ0NBQWdCLEdBQUcsdUJBQXVCLENBQUM7QUFDM0QseUNBQXlDO0FBQ3pCLG9CQUFJLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvYmF0Y2guanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGJhdGNoIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXRjaEFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJiYXRjaFwiO1xuXG5cdC8qKiBbV3JpdGVdIGJhdGNoOkNhbmNlbEpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsSm9iID0gXCJiYXRjaDpDYW5jZWxKb2JcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6Q3JlYXRlQ29tcHV0ZUVudmlyb25tZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21wdXRlRW52aXJvbm1lbnQgPSBcImJhdGNoOkNyZWF0ZUNvbXB1dGVFbnZpcm9ubWVudFwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpDcmVhdGVDb25zdW1hYmxlUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZSA9IFwiYmF0Y2g6Q3JlYXRlQ29uc3VtYWJsZVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkNyZWF0ZUpvYlF1ZXVlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVKb2JRdWV1ZSA9IFwiYmF0Y2g6Q3JlYXRlSm9iUXVldWVcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6Q3JlYXRlUXVvdGFTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUXVvdGFTaGFyZSA9IFwiYmF0Y2g6Q3JlYXRlUXVvdGFTaGFyZVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpDcmVhdGVTY2hlZHVsaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTY2hlZHVsaW5nUG9saWN5ID0gXCJiYXRjaDpDcmVhdGVTY2hlZHVsaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkNyZWF0ZVNlcnZpY2VFbnZpcm9ubWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUVudmlyb25tZW50ID0gXCJiYXRjaDpDcmVhdGVTZXJ2aWNlRW52aXJvbm1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6RGVsZXRlQ29tcHV0ZUVudmlyb25tZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb21wdXRlRW52aXJvbm1lbnQgPSBcImJhdGNoOkRlbGV0ZUNvbXB1dGVFbnZpcm9ubWVudFwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpEZWxldGVDb25zdW1hYmxlUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbnN1bWFibGVSZXNvdXJjZSA9IFwiYmF0Y2g6RGVsZXRlQ29uc3VtYWJsZVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkRlbGV0ZUpvYlF1ZXVlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVKb2JRdWV1ZSA9IFwiYmF0Y2g6RGVsZXRlSm9iUXVldWVcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6RGVsZXRlUXVvdGFTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUXVvdGFTaGFyZSA9IFwiYmF0Y2g6RGVsZXRlUXVvdGFTaGFyZVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpEZWxldGVTY2hlZHVsaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTY2hlZHVsaW5nUG9saWN5ID0gXCJiYXRjaDpEZWxldGVTY2hlZHVsaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOkRlbGV0ZVNlcnZpY2VFbnZpcm9ubWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUVudmlyb25tZW50ID0gXCJiYXRjaDpEZWxldGVTZXJ2aWNlRW52aXJvbm1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6RGVyZWdpc3RlckpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJKb2JEZWZpbml0aW9uID0gXCJiYXRjaDpEZXJlZ2lzdGVySm9iRGVmaW5pdGlvblwiO1xuXHQvKiogW1JlYWRdIGJhdGNoOkRlc2NyaWJlQ29tcHV0ZUVudmlyb25tZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21wdXRlRW52aXJvbm1lbnRzID1cblx0XHRcImJhdGNoOkRlc2NyaWJlQ29tcHV0ZUVudmlyb25tZW50c1wiO1xuXHQvKiogW1JlYWRdIGJhdGNoOkRlc2NyaWJlQ29uc3VtYWJsZVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbnN1bWFibGVSZXNvdXJjZSA9XG5cdFx0XCJiYXRjaDpEZXNjcmliZUNvbnN1bWFibGVSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGJhdGNoOkRlc2NyaWJlSm9iRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iRGVmaW5pdGlvbnMgPSBcImJhdGNoOkRlc2NyaWJlSm9iRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpEZXNjcmliZUpvYlF1ZXVlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVKb2JRdWV1ZXMgPSBcImJhdGNoOkRlc2NyaWJlSm9iUXVldWVzXCI7XG5cdC8qKiBbUmVhZF0gYmF0Y2g6RGVzY3JpYmVKb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYnMgPSBcImJhdGNoOkRlc2NyaWJlSm9ic1wiO1xuXHQvKiogW1JlYWRdIGJhdGNoOkRlc2NyaWJlUXVvdGFTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVRdW90YVNoYXJlID0gXCJiYXRjaDpEZXNjcmliZVF1b3RhU2hhcmVcIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpEZXNjcmliZVNjaGVkdWxpbmdQb2xpY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTY2hlZHVsaW5nUG9saWNpZXMgPVxuXHRcdFwiYmF0Y2g6RGVzY3JpYmVTY2hlZHVsaW5nUG9saWNpZXNcIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpEZXNjcmliZVNlcnZpY2VFbnZpcm9ubWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZUVudmlyb25tZW50cyA9XG5cdFx0XCJiYXRjaDpEZXNjcmliZVNlcnZpY2VFbnZpcm9ubWVudHNcIjtcblx0LyoqIFtSZWFkXSBiYXRjaDpEZXNjcmliZVNlcnZpY2VKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZUpvYiA9IFwiYmF0Y2g6RGVzY3JpYmVTZXJ2aWNlSm9iXCI7XG5cdC8qKiBbUmVhZF0gYmF0Y2g6R2V0Sm9iUXVldWVTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Sm9iUXVldWVTbmFwc2hvdCA9IFwiYmF0Y2g6R2V0Sm9iUXVldWVTbmFwc2hvdFwiO1xuXHQvKiogW0xpc3RdIGJhdGNoOkxpc3RDb25zdW1hYmxlUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uc3VtYWJsZVJlc291cmNlcyA9IFwiYmF0Y2g6TGlzdENvbnN1bWFibGVSZXNvdXJjZXNcIjtcblx0LyoqIFtMaXN0XSBiYXRjaDpMaXN0Sm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnMgPSBcImJhdGNoOkxpc3RKb2JzXCI7XG5cdC8qKiBbTGlzdF0gYmF0Y2g6TGlzdEpvYnNCeUNvbnN1bWFibGVSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEpvYnNCeUNvbnN1bWFibGVSZXNvdXJjZSA9XG5cdFx0XCJiYXRjaDpMaXN0Sm9ic0J5Q29uc3VtYWJsZVJlc291cmNlXCI7XG5cdC8qKiBbTGlzdF0gYmF0Y2g6TGlzdFF1b3RhU2hhcmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UXVvdGFTaGFyZXMgPSBcImJhdGNoOkxpc3RRdW90YVNoYXJlc1wiO1xuXHQvKiogW1JlYWRdIGJhdGNoOkxpc3RTY2hlZHVsaW5nUG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTY2hlZHVsaW5nUG9saWNpZXMgPSBcImJhdGNoOkxpc3RTY2hlZHVsaW5nUG9saWNpZXNcIjtcblx0LyoqIFtMaXN0XSBiYXRjaDpMaXN0U2VydmljZUpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlSm9icyA9IFwiYmF0Y2g6TGlzdFNlcnZpY2VKb2JzXCI7XG5cdC8qKiBbUmVhZF0gYmF0Y2g6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiYmF0Y2g6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpSZWdpc3RlckpvYkRlZmluaXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVySm9iRGVmaW5pdGlvbiA9IFwiYmF0Y2g6UmVnaXN0ZXJKb2JEZWZpbml0aW9uXCI7XG5cdC8qKiBbVGFnZ2luZ10gYmF0Y2g6U2V0Q2FwYWNpdHlUYWdzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRDYXBhY2l0eVRhZ3MgPSBcImJhdGNoOlNldENhcGFjaXR5VGFnc1wiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpTdWJtaXRKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdEpvYiA9IFwiYmF0Y2g6U3VibWl0Sm9iXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOlN1Ym1pdFNlcnZpY2VKb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFNlcnZpY2VKb2IgPSBcImJhdGNoOlN1Ym1pdFNlcnZpY2VKb2JcIjtcblx0LyoqIFtUYWdnaW5nXSBiYXRjaDpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImJhdGNoOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOlRlcm1pbmF0ZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlSm9iID0gXCJiYXRjaDpUZXJtaW5hdGVKb2JcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6VGVybWluYXRlU2VydmljZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlU2VydmljZUpvYiA9IFwiYmF0Y2g6VGVybWluYXRlU2VydmljZUpvYlwiO1xuXHQvKiogW1RhZ2dpbmddIGJhdGNoOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImJhdGNoOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6VXBkYXRlQ29tcHV0ZUVudmlyb25tZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb21wdXRlRW52aXJvbm1lbnQgPSBcImJhdGNoOlVwZGF0ZUNvbXB1dGVFbnZpcm9ubWVudFwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpVcGRhdGVDb25zdW1hYmxlUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnN1bWFibGVSZXNvdXJjZSA9IFwiYmF0Y2g6VXBkYXRlQ29uc3VtYWJsZVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOlVwZGF0ZUpvYlF1ZXVlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVKb2JRdWV1ZSA9IFwiYmF0Y2g6VXBkYXRlSm9iUXVldWVcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6VXBkYXRlUXVvdGFTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUXVvdGFTaGFyZSA9IFwiYmF0Y2g6VXBkYXRlUXVvdGFTaGFyZVwiO1xuXHQvKiogW1dyaXRlXSBiYXRjaDpVcGRhdGVTY2hlZHVsaW5nUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTY2hlZHVsaW5nUG9saWN5ID0gXCJiYXRjaDpVcGRhdGVTY2hlZHVsaW5nUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGJhdGNoOlVwZGF0ZVNlcnZpY2VFbnZpcm9ubWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUVudmlyb25tZW50ID0gXCJiYXRjaDpVcGRhdGVTZXJ2aWNlRW52aXJvbm1lbnRcIjtcblx0LyoqIFtXcml0ZV0gYmF0Y2g6VXBkYXRlU2VydmljZUpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUpvYiA9IFwiYmF0Y2g6VXBkYXRlU2VydmljZUpvYlwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZUNvbXB1dGVFbnZpcm9ubWVudHMsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlc2NyaWJlQ29uc3VtYWJsZVJlc291cmNlLFxuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZUpvYkRlZmluaXRpb25zLFxuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZUpvYlF1ZXVlcyxcblx0XHRCYXRjaEFjdGlvbnMuRGVzY3JpYmVKb2JzLFxuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZVF1b3RhU2hhcmUsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlc2NyaWJlU2NoZWR1bGluZ1BvbGljaWVzLFxuXHRcdEJhdGNoQWN0aW9ucy5EZXNjcmliZVNlcnZpY2VFbnZpcm9ubWVudHMsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlc2NyaWJlU2VydmljZUpvYixcblx0XHRCYXRjaEFjdGlvbnMuYWN0aW9uR2V0Sm9iUXVldWVTbmFwc2hvdCxcblx0XHRCYXRjaEFjdGlvbnMuTGlzdFNjaGVkdWxpbmdQb2xpY2llcyxcblx0XHRCYXRjaEFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRCYXRjaEFjdGlvbnMuQ2FuY2VsSm9iLFxuXHRcdEJhdGNoQWN0aW9ucy5DcmVhdGVDb21wdXRlRW52aXJvbm1lbnQsXG5cdFx0QmF0Y2hBY3Rpb25zLkNyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZSxcblx0XHRCYXRjaEFjdGlvbnMuQ3JlYXRlSm9iUXVldWUsXG5cdFx0QmF0Y2hBY3Rpb25zLkNyZWF0ZVF1b3RhU2hhcmUsXG5cdFx0QmF0Y2hBY3Rpb25zLkNyZWF0ZVNjaGVkdWxpbmdQb2xpY3ksXG5cdFx0QmF0Y2hBY3Rpb25zLkNyZWF0ZVNlcnZpY2VFbnZpcm9ubWVudCxcblx0XHRCYXRjaEFjdGlvbnMuRGVsZXRlQ29tcHV0ZUVudmlyb25tZW50LFxuXHRcdEJhdGNoQWN0aW9ucy5EZWxldGVDb25zdW1hYmxlUmVzb3VyY2UsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlbGV0ZUpvYlF1ZXVlLFxuXHRcdEJhdGNoQWN0aW9ucy5EZWxldGVRdW90YVNoYXJlLFxuXHRcdEJhdGNoQWN0aW9ucy5EZWxldGVTY2hlZHVsaW5nUG9saWN5LFxuXHRcdEJhdGNoQWN0aW9ucy5EZWxldGVTZXJ2aWNlRW52aXJvbm1lbnQsXG5cdFx0QmF0Y2hBY3Rpb25zLkRlcmVnaXN0ZXJKb2JEZWZpbml0aW9uLFxuXHRcdEJhdGNoQWN0aW9ucy5SZWdpc3RlckpvYkRlZmluaXRpb24sXG5cdFx0QmF0Y2hBY3Rpb25zLlN1Ym1pdEpvYixcblx0XHRCYXRjaEFjdGlvbnMuU3VibWl0U2VydmljZUpvYixcblx0XHRCYXRjaEFjdGlvbnMuVGVybWluYXRlSm9iLFxuXHRcdEJhdGNoQWN0aW9ucy5UZXJtaW5hdGVTZXJ2aWNlSm9iLFxuXHRcdEJhdGNoQWN0aW9ucy5VcGRhdGVDb21wdXRlRW52aXJvbm1lbnQsXG5cdFx0QmF0Y2hBY3Rpb25zLlVwZGF0ZUNvbnN1bWFibGVSZXNvdXJjZSxcblx0XHRCYXRjaEFjdGlvbnMuVXBkYXRlSm9iUXVldWUsXG5cdFx0QmF0Y2hBY3Rpb25zLlVwZGF0ZVF1b3RhU2hhcmUsXG5cdFx0QmF0Y2hBY3Rpb25zLlVwZGF0ZVNjaGVkdWxpbmdQb2xpY3ksXG5cdFx0QmF0Y2hBY3Rpb25zLlVwZGF0ZVNlcnZpY2VFbnZpcm9ubWVudCxcblx0XHRCYXRjaEFjdGlvbnMuVXBkYXRlU2VydmljZUpvYixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0QmF0Y2hBY3Rpb25zLkxpc3RDb25zdW1hYmxlUmVzb3VyY2VzLFxuXHRcdEJhdGNoQWN0aW9ucy5MaXN0Sm9icyxcblx0XHRCYXRjaEFjdGlvbnMuTGlzdEpvYnNCeUNvbnN1bWFibGVSZXNvdXJjZSxcblx0XHRCYXRjaEFjdGlvbnMuTGlzdFF1b3RhU2hhcmVzLFxuXHRcdEJhdGNoQWN0aW9ucy5MaXN0U2VydmljZUpvYnMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEJhdGNoQWN0aW9ucy5hY3Rpb25TZXRDYXBhY2l0eVRhZ3MsXG5cdFx0QmF0Y2hBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdEJhdGNoQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29tcHV0ZS1lbnZpcm9ubWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hDb21wdXRlRW52aXJvbm1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29tcHV0ZUVudmlyb25tZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29tcHV0ZUVudmlyb25tZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbXB1dGUtZW52aXJvbm1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoQ29tcHV0ZUVudmlyb25tZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb21wdXRlRW52aXJvbm1lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29tcHV0ZUVudmlyb25tZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29uc3VtYWJsZS1yZXNvdXJjZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hDb25zdW1hYmxlUmVzb3VyY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29uc3VtYWJsZVJlc291cmNlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uc3VtYWJsZVJlc291cmNlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbnN1bWFibGUtcmVzb3VyY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoQ29uc3VtYWJsZVJlc291cmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25zdW1hYmxlUmVzb3VyY2VOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uc3VtYWJsZVJlc291cmNlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaEpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBqb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBqb2ItZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hKb2JEZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JEZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGpvYi1kZWZpbml0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaEpvYkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGpvYi1kZWZpbml0aW9uLXJldmlzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaEpvYkRlZmluaXRpb25SZXZpc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JEZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZXZpc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmV2aXNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBqb2ItZGVmaW5pdGlvbi1yZXZpc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hKb2JEZWZpbml0aW9uUmV2aXNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYkRlZmluaXRpb25OYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZXZpc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJldmlzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBqb2ItcXVldWUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoSm9iUXVldWVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iUXVldWVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JRdWV1ZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBqb2ItcXVldWUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoSm9iUXVldWVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYlF1ZXVlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYlF1ZXVlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcXVvdGEtc2hhcmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoUXVvdGFTaGFyZUFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JRdWV1ZU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYlF1ZXVlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFF1b3RhU2hhcmVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBxdW90YVNoYXJlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHF1b3RhLXNoYXJlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1b3RhU2hhcmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYlF1ZXVlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYlF1ZXVlTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFF1b3RhU2hhcmVOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcXVvdGFTaGFyZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNjaGVkdWxpbmctcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFNjaGVkdWxpbmdQb2xpY3lBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2NoZWR1bGluZ1BvbGljeU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNjaGVkdWxpbmdQb2xpY3lOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2NoZWR1bGluZy1wb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoU2NoZWR1bGluZ1BvbGljeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2NoZWR1bGluZ1BvbGljeU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzY2hlZHVsaW5nUG9saWN5TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZS1lbnZpcm9ubWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hTZXJ2aWNlRW52aXJvbm1lbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmljZUVudmlyb25tZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VydmljZUVudmlyb25tZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UtZW52aXJvbm1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoU2VydmljZUVudmlyb25tZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlRW52aXJvbm1lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZUVudmlyb25tZW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZS1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoU2VydmljZUpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2aWNlLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmF0Y2hTZXJ2aWNlSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IENvbXB1dGVFbnZpcm9ubWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiYXRjaDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbXB1dGUtZW52aXJvbm1lbnRcXC8oPzxjb21wdXRlRW52aXJvbm1lbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBDb25zdW1hYmxlUmVzb3VyY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25zdW1hYmxlLXJlc291cmNlXFwvKD88Y29uc3VtYWJsZVJlc291cmNlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmJhdGNoOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6am9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IEpvYkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2ItZGVmaW5pdGlvblxcLyg/PGpvYkRlZmluaXRpb25OYW1lPlteOi8/XSspJC87XG5jb25zdCBKb2JEZWZpbml0aW9uUmV2aXNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpqb2ItZGVmaW5pdGlvblxcLyg/PGpvYkRlZmluaXRpb25OYW1lPlteOi8/XSspOig/PHJldmlzaW9uPlteOi8/XSspJC87XG5jb25zdCBKb2JRdWV1ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiYXRjaDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYi1xdWV1ZVxcLyg/PGpvYlF1ZXVlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgUXVvdGFTaGFyZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiYXRjaDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmpvYi1xdWV1ZVxcLyg/PGpvYlF1ZXVlTmFtZT5bXjovP10rKVxcL3F1b3RhLXNoYXJlXFwvKD88cXVvdGFTaGFyZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IFNjaGVkdWxpbmdQb2xpY3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzY2hlZHVsaW5nLXBvbGljeVxcLyg/PHNjaGVkdWxpbmdQb2xpY3lOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlRW52aXJvbm1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6YmF0Y2g6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlLWVudmlyb25tZW50XFwvKD88c2VydmljZUVudmlyb25tZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZUpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpiYXRjaDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2Utam9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBiYXRjaCByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXRjaFJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29tcHV0ZS1lbnZpcm9ubWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb21wdXRlRW52aXJvbm1lbnQocHJvcHM6IEJhdGNoQ29tcHV0ZUVudmlyb25tZW50QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJhdGNoOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbXB1dGUtZW52aXJvbm1lbnQvJHtwcm9wcy5jb21wdXRlRW52aXJvbm1lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb21wdXRlLWVudmlyb25tZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb21wdXRlRW52aXJvbm1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29tcHV0ZUVudmlyb25tZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbXB1dGUtZW52aXJvbm1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29tcHV0ZUVudmlyb25tZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBCYXRjaENvbXB1dGVFbnZpcm9ubWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29tcHV0ZUVudmlyb25tZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbXB1dGUtZW52aXJvbm1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29tcHV0ZUVudmlyb25tZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5jb21wdXRlRW52aXJvbm1lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbnN1bWFibGUtcmVzb3VyY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uc3VtYWJsZVJlc291cmNlKHByb3BzOiBCYXRjaENvbnN1bWFibGVSZXNvdXJjZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiYXRjaDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25zdW1hYmxlLXJlc291cmNlLyR7cHJvcHMuY29uc3VtYWJsZVJlc291cmNlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29uc3VtYWJsZS1yZXNvdXJjZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uc3VtYWJsZVJlc291cmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnN1bWFibGVSZXNvdXJjZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb25zdW1hYmxlLXJlc291cmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbnN1bWFibGVSZXNvdXJjZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmF0Y2hDb25zdW1hYmxlUmVzb3VyY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbnN1bWFibGVSZXNvdXJjZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25zdW1hYmxlLXJlc291cmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbnN1bWFibGVSZXNvdXJjZU5hbWU6IG1hdGNoLmdyb3VwcyEuY29uc3VtYWJsZVJlc291cmNlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBqb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iKHByb3BzOiBCYXRjaEpvYkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiYXRjaDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpqb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JBcm4oYXJuOiBzdHJpbmcpOiBCYXRjaEpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBqb2ItZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBqb2JEZWZpbml0aW9uKHByb3BzOiBCYXRjaEpvYkRlZmluaXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmF0Y2g6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLWRlZmluaXRpb24vJHtwcm9wcy5qb2JEZWZpbml0aW9uTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgam9iLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSm9iRGVmaW5pdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBqb2ItZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JEZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogQmF0Y2hKb2JEZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBKb2JEZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGpvYi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYkRlZmluaXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLmpvYkRlZmluaXRpb25OYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGpvYi1kZWZpbml0aW9uLXJldmlzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGpvYkRlZmluaXRpb25SZXZpc2lvbihcblx0XHRwcm9wczogQmF0Y2hKb2JEZWZpbml0aW9uUmV2aXNpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiYXRjaDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpqb2ItZGVmaW5pdGlvbi8ke3Byb3BzLmpvYkRlZmluaXRpb25OYW1lfToke3Byb3BzLnJldmlzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBqb2ItZGVmaW5pdGlvbi1yZXZpc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSm9iRGVmaW5pdGlvblJldmlzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYkRlZmluaXRpb25SZXZpc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBqb2ItZGVmaW5pdGlvbi1yZXZpc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JEZWZpbml0aW9uUmV2aXNpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEJhdGNoSm9iRGVmaW5pdGlvblJldmlzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBKb2JEZWZpbml0aW9uUmV2aXNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgam9iLWRlZmluaXRpb24tcmV2aXNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iRGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuam9iRGVmaW5pdGlvbk5hbWUsXG5cdFx0XHRyZXZpc2lvbjogbWF0Y2guZ3JvdXBzIS5yZXZpc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBqb2ItcXVldWUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgam9iUXVldWUocHJvcHM6IEJhdGNoSm9iUXVldWVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmF0Y2g6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06am9iLXF1ZXVlLyR7cHJvcHMuam9iUXVldWVOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBqb2ItcXVldWUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEpvYlF1ZXVlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEpvYlF1ZXVlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGpvYi1xdWV1ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VKb2JRdWV1ZUFybihhcm46IHN0cmluZyk6IEJhdGNoSm9iUXVldWVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEpvYlF1ZXVlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGpvYi1xdWV1ZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JRdWV1ZU5hbWU6IG1hdGNoLmdyb3VwcyEuam9iUXVldWVOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHF1b3RhLXNoYXJlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHF1b3RhU2hhcmUocHJvcHM6IEJhdGNoUXVvdGFTaGFyZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiYXRjaDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpqb2ItcXVldWUvJHtwcm9wcy5qb2JRdWV1ZU5hbWV9L3F1b3RhLXNoYXJlLyR7cHJvcHMucXVvdGFTaGFyZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHF1b3RhLXNoYXJlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRRdW90YVNoYXJlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFF1b3RhU2hhcmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcXVvdGEtc2hhcmUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUXVvdGFTaGFyZUFybihhcm46IHN0cmluZyk6IEJhdGNoUXVvdGFTaGFyZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUXVvdGFTaGFyZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBxdW90YS1zaGFyZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JRdWV1ZU5hbWU6IG1hdGNoLmdyb3VwcyEuam9iUXVldWVOYW1lLFxuXHRcdFx0cXVvdGFTaGFyZU5hbWU6IG1hdGNoLmdyb3VwcyEucXVvdGFTaGFyZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2NoZWR1bGluZy1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2NoZWR1bGluZ1BvbGljeShwcm9wczogQmF0Y2hTY2hlZHVsaW5nUG9saWN5QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmJhdGNoOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNjaGVkdWxpbmctcG9saWN5LyR7cHJvcHMuc2NoZWR1bGluZ1BvbGljeU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNjaGVkdWxpbmctcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTY2hlZHVsaW5nUG9saWN5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNjaGVkdWxpbmdQb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2NoZWR1bGluZy1wb2xpY3kgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2NoZWR1bGluZ1BvbGljeUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmF0Y2hTY2hlZHVsaW5nUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTY2hlZHVsaW5nUG9saWN5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNjaGVkdWxpbmctcG9saWN5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNjaGVkdWxpbmdQb2xpY3lOYW1lOiBtYXRjaC5ncm91cHMhLnNjaGVkdWxpbmdQb2xpY3lOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UtZW52aXJvbm1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZUVudmlyb25tZW50KHByb3BzOiBCYXRjaFNlcnZpY2VFbnZpcm9ubWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpiYXRjaDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLWVudmlyb25tZW50LyR7cHJvcHMuc2VydmljZUVudmlyb25tZW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmljZS1lbnZpcm9ubWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZUVudmlyb25tZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VFbnZpcm9ubWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlLWVudmlyb25tZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VFbnZpcm9ubWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQmF0Y2hTZXJ2aWNlRW52aXJvbm1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VFbnZpcm9ubWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlLWVudmlyb25tZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZpY2VFbnZpcm9ubWVudE5hbWU6IG1hdGNoLmdyb3VwcyEuc2VydmljZUVudmlyb25tZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZXJ2aWNlLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlSm9iKHByb3BzOiBCYXRjaFNlcnZpY2VKb2JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06YmF0Y2g6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZS1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VydmljZS1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VKb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZUpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlSm9iQXJuKGFybjogc3RyaW5nKTogQmF0Y2hTZXJ2aWNlSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlcnZpY2Utam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGJhdGNoLlxuICovXG5leHBvcnQgY2xhc3MgQmF0Y2hPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsSm9iOiBzdHJpbmdbXSA9IFtcImJhdGNoOkNhbmNlbEpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29tcHV0ZUVudmlyb25tZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29tcHV0ZUVudmlyb25tZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkNyZWF0ZUNvbXB1dGVFbnZpcm9ubWVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiYXRjaDpTZXRDYXBhY2l0eVRhZ3NcIixcblx0XHRcImJhdGNoOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpDcmVhdGVDb25zdW1hYmxlUmVzb3VyY2VcIixcblx0XHRcImJhdGNoOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUpvYlF1ZXVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSm9iUXVldWU6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6Q3JlYXRlSm9iUXVldWVcIixcblx0XHRcImJhdGNoOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVF1b3RhU2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVRdW90YVNoYXJlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkNyZWF0ZVF1b3RhU2hhcmVcIixcblx0XHRcImJhdGNoOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNjaGVkdWxpbmdQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTY2hlZHVsaW5nUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkNyZWF0ZVNjaGVkdWxpbmdQb2xpY3lcIixcblx0XHRcImJhdGNoOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZpY2VFbnZpcm9ubWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VFbnZpcm9ubWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpDcmVhdGVTZXJ2aWNlRW52aXJvbm1lbnRcIixcblx0XHRcImJhdGNoOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbXB1dGVFbnZpcm9ubWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbXB1dGVFbnZpcm9ubWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpEZWxldGVDb21wdXRlRW52aXJvbm1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uc3VtYWJsZVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uc3VtYWJsZVJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkRlbGV0ZUNvbnN1bWFibGVSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVKb2JRdWV1ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUpvYlF1ZXVlOiBzdHJpbmdbXSA9IFtcImJhdGNoOkRlbGV0ZUpvYlF1ZXVlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVRdW90YVNoYXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUXVvdGFTaGFyZTogc3RyaW5nW10gPSBbXCJiYXRjaDpEZWxldGVRdW90YVNoYXJlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTY2hlZHVsaW5nUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2NoZWR1bGluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpEZWxldGVTY2hlZHVsaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZpY2VFbnZpcm9ubWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VFbnZpcm9ubWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpEZWxldGVTZXJ2aWNlRW52aXJvbm1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlckpvYkRlZmluaXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVySm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpEZXJlZ2lzdGVySm9iRGVmaW5pdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbXB1dGVFbnZpcm9ubWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXB1dGVFbnZpcm9ubWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6RGVzY3JpYmVDb21wdXRlRW52aXJvbm1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29uc3VtYWJsZVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25zdW1hYmxlUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6RGVzY3JpYmVDb25zdW1hYmxlUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVKb2JEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6RGVzY3JpYmVKb2JEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYlF1ZXVlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSm9iUXVldWVzOiBzdHJpbmdbXSA9IFtcImJhdGNoOkRlc2NyaWJlSm9iUXVldWVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUpvYnM6IHN0cmluZ1tdID0gW1wiYmF0Y2g6RGVzY3JpYmVKb2JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVF1b3RhU2hhcmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVF1b3RhU2hhcmU6IHN0cmluZ1tdID0gW1wiYmF0Y2g6RGVzY3JpYmVRdW90YVNoYXJlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNjaGVkdWxpbmdQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2NoZWR1bGluZ1BvbGljaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOkRlc2NyaWJlU2NoZWR1bGluZ1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VydmljZUVudmlyb25tZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VydmljZUVudmlyb25tZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpEZXNjcmliZVNlcnZpY2VFbnZpcm9ubWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZXJ2aWNlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXJ2aWNlSm9iOiBzdHJpbmdbXSA9IFtcImJhdGNoOkRlc2NyaWJlU2VydmljZUpvYlwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Sm9iUXVldWVTbmFwc2hvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Sm9iUXVldWVTbmFwc2hvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpHZXRKb2JRdWV1ZVNuYXBzaG90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25zdW1hYmxlUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbnN1bWFibGVSZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6TGlzdENvbnN1bWFibGVSZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Sm9iczogc3RyaW5nW10gPSBbXCJiYXRjaDpMaXN0Sm9ic1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEpvYnNCeUNvbnN1bWFibGVSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RKb2JzQnlDb25zdW1hYmxlUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiYmF0Y2g6TGlzdEpvYnNCeUNvbnN1bWFibGVSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UXVvdGFTaGFyZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UXVvdGFTaGFyZXM6IHN0cmluZ1tdID0gW1wiYmF0Y2g6TGlzdFF1b3RhU2hhcmVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2NoZWR1bGluZ1BvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNjaGVkdWxpbmdQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpMaXN0U2NoZWR1bGluZ1BvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlSm9iczogc3RyaW5nW10gPSBbXCJiYXRjaDpMaXN0U2VydmljZUpvYnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcImJhdGNoOkxpc3RUYWdzRm9yUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVySm9iRGVmaW5pdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVySm9iRGVmaW5pdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImJhdGNoOlJlZ2lzdGVySm9iRGVmaW5pdGlvblwiLFxuXHRcdFwiYmF0Y2g6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0Sm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0Sm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOlN1Ym1pdEpvYlwiLFxuXHRcdFwiYmF0Y2g6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3VibWl0U2VydmljZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFNlcnZpY2VKb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiYXRjaDpTdWJtaXRTZXJ2aWNlSm9iXCIsXG5cdFx0XCJiYXRjaDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImJhdGNoOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXJtaW5hdGVKb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVKb2I6IHN0cmluZ1tdID0gW1wiYmF0Y2g6VGVybWluYXRlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUZXJtaW5hdGVTZXJ2aWNlSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlU2VydmljZUpvYjogc3RyaW5nW10gPSBbXCJiYXRjaDpUZXJtaW5hdGVTZXJ2aWNlSm9iXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJiYXRjaDpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVDb21wdXRlRW52aXJvbm1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb21wdXRlRW52aXJvbm1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJiYXRjaDpVcGRhdGVDb21wdXRlRW52aXJvbm1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ29uc3VtYWJsZVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uc3VtYWJsZVJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOlVwZGF0ZUNvbnN1bWFibGVSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVKb2JRdWV1ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUpvYlF1ZXVlOiBzdHJpbmdbXSA9IFtcImJhdGNoOlVwZGF0ZUpvYlF1ZXVlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVRdW90YVNoYXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUXVvdGFTaGFyZTogc3RyaW5nW10gPSBbXCJiYXRjaDpVcGRhdGVRdW90YVNoYXJlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTY2hlZHVsaW5nUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2NoZWR1bGluZ1BvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpVcGRhdGVTY2hlZHVsaW5nUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlcnZpY2VFbnZpcm9ubWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VFbnZpcm9ubWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJiYXRjaDpVcGRhdGVTZXJ2aWNlRW52aXJvbm1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZUpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VKb2I6IHN0cmluZ1tdID0gW1wiYmF0Y2g6VXBkYXRlU2VydmljZUpvYlwiXTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGJhdGNoLlxuICovXG5leHBvcnQgY2xhc3MgQmF0Y2hDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbXB1dGVFbnZpcm9ubWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb21wdXRlRW52aXJvbm1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNvbnN1bWFibGVSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25zdW1hYmxlUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUpvYlF1ZXVlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUpvYlF1ZXVlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVRdW90YVNoYXJlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVF1b3RhU2hhcmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVNjaGVkdWxpbmdQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2NoZWR1bGluZ1BvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlU2VydmljZUVudmlyb25tZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VFbnZpcm9ubWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVnaXN0ZXJKb2JEZWZpbml0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVySm9iRGVmaW5pdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiYmF0Y2g6QVdTTG9nc0NyZWF0ZUdyb3VwXCIsXG5cdFx0XCJiYXRjaDpBV1NMb2dzR3JvdXBcIixcblx0XHRcImJhdGNoOkFXU0xvZ3NSZWdpb25cIixcblx0XHRcImJhdGNoOkFXU0xvZ3NTdHJlYW1QcmVmaXhcIixcblx0XHRcImJhdGNoOkVLU0ltYWdlXCIsXG5cdFx0XCJiYXRjaDpFS1NOYW1lc3BhY2VcIixcblx0XHRcImJhdGNoOkVLU1ByaXZpbGVnZWRcIixcblx0XHRcImJhdGNoOkVLU1J1bkFzR3JvdXBcIixcblx0XHRcImJhdGNoOkVLU1J1bkFzVXNlclwiLFxuXHRcdFwiYmF0Y2g6RUtTU2VydmljZUFjY291bnROYW1lXCIsXG5cdFx0XCJiYXRjaDpJbWFnZVwiLFxuXHRcdFwiYmF0Y2g6TG9nRHJpdmVyXCIsXG5cdFx0XCJiYXRjaDpQcml2aWxlZ2VkXCIsXG5cdFx0XCJiYXRjaDpVc2VyXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZXRDYXBhY2l0eVRhZ3MgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0Q2FwYWNpdHlUYWdzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdWJtaXRKb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0Sm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdWJtaXRTZXJ2aWNlSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFNlcnZpY2VKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImJhdGNoOlNjaGVkdWxpbmdQcmlvcml0eVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVTZXJ2aWNlSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VKb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImJhdGNoOlNjaGVkdWxpbmdQcmlvcml0eVwiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOkFXU0xvZ3NDcmVhdGVHcm91cCAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19MT0dTX0NSRUFURV9HUk9VUCA9IFwiYmF0Y2g6QVdTTG9nc0NyZWF0ZUdyb3VwXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpBV1NMb2dzR3JvdXAgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19MT0dTX0dST1VQID0gXCJiYXRjaDpBV1NMb2dzR3JvdXBcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOkFXU0xvZ3NSZWdpb24gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19MT0dTX1JFR0lPTiA9IFwiYmF0Y2g6QVdTTG9nc1JlZ2lvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6QVdTTG9nc1N0cmVhbVByZWZpeCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX0xPR1NfU1RSRUFNX1BSRUZJWCA9IFwiYmF0Y2g6QVdTTG9nc1N0cmVhbVByZWZpeFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6RUtTSW1hZ2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEVLU19JTUFHRSA9IFwiYmF0Y2g6RUtTSW1hZ2VcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOkVLU05hbWVzcGFjZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRUtTX05BTUVTUEFDRSA9IFwiYmF0Y2g6RUtTTmFtZXNwYWNlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpFS1NQcml2aWxlZ2VkIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRUtTX1BSSVZJTEVHRUQgPSBcImJhdGNoOkVLU1ByaXZpbGVnZWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOkVLU1J1bkFzR3JvdXAgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBFS1NfUlVOX0FTX0dST1VQID0gXCJiYXRjaDpFS1NSdW5Bc0dyb3VwXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpFS1NSdW5Bc1VzZXIgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBFS1NfUlVOX0FTX1VTRVIgPSBcImJhdGNoOkVLU1J1bkFzVXNlclwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6RUtTU2VydmljZUFjY291bnROYW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBFS1NfU0VSVklDRV9BQ0NPVU5UX05BTUUgPSBcImJhdGNoOkVLU1NlcnZpY2VBY2NvdW50TmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6SW1hZ2UgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElNQUdFID0gXCJiYXRjaDpJbWFnZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYmF0Y2g6TG9nRHJpdmVyIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBMT0dfRFJJVkVSID0gXCJiYXRjaDpMb2dEcml2ZXJcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOlByaXZpbGVnZWQgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBQUklWSUxFR0VEID0gXCJiYXRjaDpQcml2aWxlZ2VkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpTY2hlZHVsaW5nUHJpb3JpdHkgKE51bWVyaWMpICovXG5cdHN0YXRpYyByZWFkb25seSBTQ0hFRFVMSU5HX1BSSU9SSVRZID0gXCJiYXRjaDpTY2hlZHVsaW5nUHJpb3JpdHlcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGJhdGNoOlNoYXJlSWRlbnRpZmllciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0hBUkVfSURFTlRJRklFUiA9IFwiYmF0Y2g6U2hhcmVJZGVudGlmaWVyXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBiYXRjaDpVc2VyIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBVU0VSID0gXCJiYXRjaDpVc2VyXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOkFXU0xvZ3NDcmVhdGVHcm91cGAuXG5cdCAqL1xuXHRzdGF0aWMgYXdzTG9nc0NyZWF0ZUdyb3VwKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJiYXRjaDpBV1NMb2dzQ3JlYXRlR3JvdXBcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOkFXU0xvZ3NHcm91cGAuXG5cdCAqL1xuXHRzdGF0aWMgYXdzTG9nc0dyb3VwKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmF0Y2g6QVdTTG9nc0dyb3VwXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpBV1NMb2dzUmVnaW9uYC5cblx0ICovXG5cdHN0YXRpYyBhd3NMb2dzUmVnaW9uKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmF0Y2g6QVdTTG9nc1JlZ2lvblwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6QVdTTG9nc1N0cmVhbVByZWZpeGAuXG5cdCAqL1xuXHRzdGF0aWMgYXdzTG9nc1N0cmVhbVByZWZpeChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmF0Y2g6QVdTTG9nc1N0cmVhbVByZWZpeFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6RUtTSW1hZ2VgLlxuXHQgKi9cblx0c3RhdGljIGVrc0ltYWdlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmF0Y2g6RUtTSW1hZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOkVLU05hbWVzcGFjZWAuXG5cdCAqL1xuXHRzdGF0aWMgZWtzTmFtZXNwYWNlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmF0Y2g6RUtTTmFtZXNwYWNlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpFS1NQcml2aWxlZ2VkYC5cblx0ICovXG5cdHN0YXRpYyBla3NQcml2aWxlZ2VkKFxuXHRcdHZhbHVlOiBib29sZWFuLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPj4ge1xuXHRcdHJldHVybiB7IEJvb2w6IHsgXCJiYXRjaDpFS1NQcml2aWxlZ2VkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpFS1NSdW5Bc0dyb3VwYC5cblx0ICovXG5cdHN0YXRpYyBla3NSdW5Bc0dyb3VwKHZhbHVlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImJhdGNoOkVLU1J1bkFzR3JvdXBcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOkVLU1J1bkFzVXNlcmAuXG5cdCAqL1xuXHRzdGF0aWMgZWtzUnVuQXNVc2VyKHZhbHVlOiBudW1iZXIpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+PiB7XG5cdFx0cmV0dXJuIHsgTnVtZXJpY0VxdWFsczogeyBcImJhdGNoOkVLU1J1bkFzVXNlclwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6RUtTU2VydmljZUFjY291bnROYW1lYC5cblx0ICovXG5cdHN0YXRpYyBla3NTZXJ2aWNlQWNjb3VudE5hbWUoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImJhdGNoOkVLU1NlcnZpY2VBY2NvdW50TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6SW1hZ2VgLlxuXHQgKi9cblx0c3RhdGljIGltYWdlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmF0Y2g6SW1hZ2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOkxvZ0RyaXZlcmAuXG5cdCAqL1xuXHRzdGF0aWMgbG9nRHJpdmVyKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYmF0Y2g6TG9nRHJpdmVyXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBiYXRjaDpQcml2aWxlZ2VkYC5cblx0ICovXG5cdHN0YXRpYyBwcml2aWxlZ2VkKHZhbHVlOiBib29sZWFuKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgYm9vbGVhbj4+IHtcblx0XHRyZXR1cm4geyBCb29sOiB7IFwiYmF0Y2g6UHJpdmlsZWdlZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYmF0Y2g6U2NoZWR1bGluZ1ByaW9yaXR5YC5cblx0ICovXG5cdHN0YXRpYyBzY2hlZHVsaW5nUHJpb3JpdHkoXG5cdFx0dmFsdWU6IG51bWJlcixcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgbnVtYmVyPj4ge1xuXHRcdHJldHVybiB7IE51bWVyaWNFcXVhbHM6IHsgXCJiYXRjaDpTY2hlZHVsaW5nUHJpb3JpdHlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOlNoYXJlSWRlbnRpZmllcmAuXG5cdCAqL1xuXHRzdGF0aWMgc2hhcmVJZGVudGlmaWVyKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpTaGFyZUlkZW50aWZpZXJcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGJhdGNoOlVzZXJgLlxuXHQgKi9cblx0c3RhdGljIHVzZXIodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJiYXRjaDpVc2VyXCI6IHZhbHVlIH0gfTtcblx0fVxufVxuIl19
|
|
@@ -16,7 +16,7 @@ class BcmDashboardsActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.BcmDashboardsActions = BcmDashboardsActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
BcmDashboardsActions[_a] = { fqn: "@cdk_utils/iam.bcm_dashboards.BcmDashboardsActions", version: "1.
|
|
19
|
+
BcmDashboardsActions[_a] = { fqn: "@cdk_utils/iam.bcm_dashboards.BcmDashboardsActions", version: "1.11.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
BcmDashboardsActions.SERVICE_PREFIX = "bcm-dashboards";
|
|
22
22
|
/** [Write] bcm-dashboards:CreateDashboard */
|
|
@@ -141,7 +141,7 @@ class BcmDashboardsResources {
|
|
|
141
141
|
}
|
|
142
142
|
exports.BcmDashboardsResources = BcmDashboardsResources;
|
|
143
143
|
_b = JSII_RTTI_SYMBOL_1;
|
|
144
|
-
BcmDashboardsResources[_b] = { fqn: "@cdk_utils/iam.bcm_dashboards.BcmDashboardsResources", version: "1.
|
|
144
|
+
BcmDashboardsResources[_b] = { fqn: "@cdk_utils/iam.bcm_dashboards.BcmDashboardsResources", version: "1.11.0" };
|
|
145
145
|
/**
|
|
146
146
|
* API operation to required IAM actions mapping for bcm-dashboards.
|
|
147
147
|
*/
|
|
@@ -149,7 +149,7 @@ class BcmDashboardsOperations {
|
|
|
149
149
|
}
|
|
150
150
|
exports.BcmDashboardsOperations = BcmDashboardsOperations;
|
|
151
151
|
_c = JSII_RTTI_SYMBOL_1;
|
|
152
|
-
BcmDashboardsOperations[_c] = { fqn: "@cdk_utils/iam.bcm_dashboards.BcmDashboardsOperations", version: "1.
|
|
152
|
+
BcmDashboardsOperations[_c] = { fqn: "@cdk_utils/iam.bcm_dashboards.BcmDashboardsOperations", version: "1.11.0" };
|
|
153
153
|
/** IAM actions required for the CreateDashboard API call. */
|
|
154
154
|
BcmDashboardsOperations.CreateDashboard = [
|
|
155
155
|
"bcm-dashboards:CreateDashboard",
|
|
@@ -231,7 +231,7 @@ class BcmDashboardsConditions {
|
|
|
231
231
|
}
|
|
232
232
|
exports.BcmDashboardsConditions = BcmDashboardsConditions;
|
|
233
233
|
_d = JSII_RTTI_SYMBOL_1;
|
|
234
|
-
BcmDashboardsConditions[_d] = { fqn: "@cdk_utils/iam.bcm_dashboards.BcmDashboardsConditions", version: "1.
|
|
234
|
+
BcmDashboardsConditions[_d] = { fqn: "@cdk_utils/iam.bcm_dashboards.BcmDashboardsConditions", version: "1.11.0" };
|
|
235
235
|
/** Condition keys applicable to the CreateScheduledReport action. */
|
|
236
236
|
BcmDashboardsConditions.CreateScheduledReportConditionKeys = [
|
|
237
237
|
"aws:ResourceTag/${TagKey}",
|