@cdk_utils/iam 1.18.0 → 1.19.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 +2342 -2021
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +9 -6
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +6 -9
- 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 +6 -5
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.js +4 -4
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.d.ts +2 -0
- package/lib/generated/services/ec2.js +7 -5
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +4 -4
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.js +4 -4
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.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 +8 -6
- package/lib/generated/services/omics.js +6 -9
- 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.d.ts +34 -0
- package/lib/generated/services/payment-cryptography.js +64 -5
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +4 -4
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +9 -6
- 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 ComprehendActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.ComprehendActions = ComprehendActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
ComprehendActions[_a] = { fqn: "@cdk_utils/iam.comprehend.ComprehendActions", version: "1.
|
|
19
|
+
ComprehendActions[_a] = { fqn: "@cdk_utils/iam.comprehend.ComprehendActions", version: "1.19.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
ComprehendActions.SERVICE_PREFIX = "comprehend";
|
|
22
22
|
/** [Read] comprehend:BatchDetectDominantLanguage */
|
|
@@ -730,7 +730,7 @@ class ComprehendResources {
|
|
|
730
730
|
}
|
|
731
731
|
exports.ComprehendResources = ComprehendResources;
|
|
732
732
|
_b = JSII_RTTI_SYMBOL_1;
|
|
733
|
-
ComprehendResources[_b] = { fqn: "@cdk_utils/iam.comprehend.ComprehendResources", version: "1.
|
|
733
|
+
ComprehendResources[_b] = { fqn: "@cdk_utils/iam.comprehend.ComprehendResources", version: "1.19.0" };
|
|
734
734
|
/**
|
|
735
735
|
* API operation to required IAM actions mapping for comprehend.
|
|
736
736
|
*/
|
|
@@ -738,7 +738,7 @@ class ComprehendOperations {
|
|
|
738
738
|
}
|
|
739
739
|
exports.ComprehendOperations = ComprehendOperations;
|
|
740
740
|
_c = JSII_RTTI_SYMBOL_1;
|
|
741
|
-
ComprehendOperations[_c] = { fqn: "@cdk_utils/iam.comprehend.ComprehendOperations", version: "1.
|
|
741
|
+
ComprehendOperations[_c] = { fqn: "@cdk_utils/iam.comprehend.ComprehendOperations", version: "1.19.0" };
|
|
742
742
|
/** IAM actions required for the BatchDetectDominantLanguage API call. */
|
|
743
743
|
ComprehendOperations.BatchDetectDominantLanguage = [
|
|
744
744
|
"comprehend:BatchDetectDominantLanguage",
|
|
@@ -900,6 +900,7 @@ ComprehendOperations.DetectToxicContent = [
|
|
|
900
900
|
ComprehendOperations.ImportModel = [
|
|
901
901
|
"comprehend:ImportModel",
|
|
902
902
|
"iam:PassRole",
|
|
903
|
+
"comprehend:TagResource",
|
|
903
904
|
];
|
|
904
905
|
/** IAM actions required for the ListDatasets API call. */
|
|
905
906
|
ComprehendOperations.ListDatasets = ["comprehend:ListDatasets"];
|
|
@@ -1148,7 +1149,7 @@ class ComprehendConditions {
|
|
|
1148
1149
|
}
|
|
1149
1150
|
exports.ComprehendConditions = ComprehendConditions;
|
|
1150
1151
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1151
|
-
ComprehendConditions[_d] = { fqn: "@cdk_utils/iam.comprehend.ComprehendConditions", version: "1.
|
|
1152
|
+
ComprehendConditions[_d] = { fqn: "@cdk_utils/iam.comprehend.ComprehendConditions", version: "1.19.0" };
|
|
1152
1153
|
/** Condition keys applicable to the CreateDataset action. */
|
|
1153
1154
|
ComprehendConditions.CreateDatasetConditionKeys = [
|
|
1154
1155
|
"aws:RequestTag/${TagKey}",
|
|
@@ -1267,4 +1268,4 @@ ComprehendConditions.VOLUME_KMS_KEY = "comprehend:VolumeKmsKey";
|
|
|
1267
1268
|
ComprehendConditions.VPC_SECURITY_GROUP_IDS = "comprehend:VpcSecurityGroupIds";
|
|
1268
1269
|
/** Condition key: comprehend:VpcSubnets (ArrayOfString) */
|
|
1269
1270
|
ComprehendConditions.VPC_SUBNETS = "comprehend:VpcSubnets";
|
|
1270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlaGVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvY29tcHJlaGVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQWdVQzs7O0FBL1RBLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLG9EQUFvRDtBQUNwQyw2Q0FBMkIsR0FDMUMsd0NBQXdDLENBQUM7QUFDMUMsNENBQTRDO0FBQzVCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLDhDQUE4QztBQUM5Qix1Q0FBcUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUMzRSw2Q0FBNkM7QUFDN0Isc0NBQW9CLEdBQUcsaUNBQWlDLENBQUM7QUFDekUsMENBQTBDO0FBQzFCLG1DQUFpQixHQUFHLDhCQUE4QixDQUFDO0FBQ25FLHFEQUFxRDtBQUNyQyw4Q0FBNEIsR0FDM0MseUNBQXlDLENBQUM7QUFDM0MseUNBQXlDO0FBQ3pCLGtDQUFnQixHQUFHLDZCQUE2QixDQUFDO0FBQ2pFLDRDQUE0QztBQUM1QixxQ0FBbUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN2RSx1Q0FBdUM7QUFDdkIsK0JBQWEsR0FBRywwQkFBMEIsQ0FBQztBQUMzRCxrREFBa0Q7QUFDbEMsMENBQXdCLEdBQ3ZDLHFDQUFxQyxDQUFDO0FBQ3ZDLHdDQUF3QztBQUN4QixnQ0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBQzdELGdEQUFnRDtBQUNoQyx3Q0FBc0IsR0FBRyxtQ0FBbUMsQ0FBQztBQUM3RSx3Q0FBd0M7QUFDeEIsZ0NBQWMsR0FBRywyQkFBMkIsQ0FBQztBQUM3RCxrREFBa0Q7QUFDbEMsMENBQXdCLEdBQ3ZDLHFDQUFxQyxD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dCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9jb21wcmVoZW5kLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBjb21wcmVoZW5kIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21wcmVoZW5kQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImNvbXByZWhlbmRcIjtcblxuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6QmF0Y2hEZXRlY3REb21pbmFudExhbmd1YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERldGVjdERvbWluYW50TGFuZ3VhZ2UgPVxuXHRcdFwiY29tcHJlaGVuZDpCYXRjaERldGVjdERvbWluYW50TGFuZ3VhZ2VcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkJhdGNoRGV0ZWN0RW50aXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGV0ZWN0RW50aXRpZXMgPSBcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RFbnRpdGllc1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RLZXlQaHJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERldGVjdEtleVBocmFzZXMgPSBcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RLZXlQaHJhc2VzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpCYXRjaERldGVjdFNlbnRpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RTZW50aW1lbnQgPSBcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RTZW50aW1lbnRcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkJhdGNoRGV0ZWN0U3ludGF4ICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERldGVjdFN5bnRheCA9IFwiY29tcHJlaGVuZDpCYXRjaERldGVjdFN5bnRheFwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RUYXJnZXRlZFNlbnRpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RUYXJnZXRlZFNlbnRpbWVudCA9XG5cdFx0XCJjb21wcmVoZW5kOkJhdGNoRGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnRcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkNsYXNzaWZ5RG9jdW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENsYXNzaWZ5RG9jdW1lbnQgPSBcImNvbXByZWhlbmQ6Q2xhc3NpZnlEb2N1bWVudFwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6Q29udGFpbnNQaWlFbnRpdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29udGFpbnNQaWlFbnRpdGllcyA9IFwiY29tcHJlaGVuZDpDb250YWluc1BpaUVudGl0aWVzXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6Q3JlYXRlRGF0YXNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGF0YXNldCA9IFwiY29tcHJlaGVuZDpDcmVhdGVEYXRhc2V0XCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6Q3JlYXRlRG9jdW1lbnRDbGFzc2lmaWVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb2N1bWVudENsYXNzaWZpZXIgPVxuXHRcdFwiY29tcHJlaGVuZDpDcmVhdGVEb2N1bWVudENsYXNzaWZpZXJcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpDcmVhdGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnQgPSBcImNvbXByZWhlbmQ6Q3JlYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpDcmVhdGVFbnRpdHlSZWNvZ25pemVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbnRpdHlSZWNvZ25pemVyID0gXCJjb21wcmVoZW5kOkNyZWF0ZUVudGl0eVJlY29nbml6ZXJcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpDcmVhdGVGbHl3aGVlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmx5d2hlZWwgPSBcImNvbXByZWhlbmQ6Q3JlYXRlRmx5d2hlZWxcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpEZWxldGVEb2N1bWVudENsYXNzaWZpZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvY3VtZW50Q2xhc3NpZmllciA9XG5cdFx0XCJjb21wcmVoZW5kOkRlbGV0ZURvY3VtZW50Q2xhc3NpZmllclwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOkRlbGV0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludCA9IFwiY29tcHJlaGVuZDpEZWxldGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOkRlbGV0ZUVudGl0eVJlY29nbml6ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVudGl0eVJlY29nbml6ZXIgPSBcImNvbXByZWhlbmQ6RGVsZXRlRW50aXR5UmVjb2duaXplclwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOkRlbGV0ZUZseXdoZWVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbHl3aGVlbCA9IFwiY29tcHJlaGVuZDpEZWxldGVGbHl3aGVlbFwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwiY29tcHJlaGVuZDpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVEYXRhc2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFzZXQgPSBcImNvbXByZWhlbmQ6RGVzY3JpYmVEYXRhc2V0XCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZURvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVEb2N1bWVudENsYXNzaWZpZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWVyID1cblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVEb2N1bWVudENsYXNzaWZpZXJcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50ID0gXCJjb21wcmVoZW5kOkRlc2NyaWJlRW5kcG9pbnRcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlRW50aXRpZXNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW50aXRpZXNEZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZUVudGl0aWVzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZUVudGl0eVJlY29nbml6ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW50aXR5UmVjb2duaXplciA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRW50aXR5UmVjb2duaXplclwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVFdmVudHNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXZlbnRzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVFdmVudHNEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlRmx5d2hlZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmx5d2hlZWwgPSBcImNvbXByZWhlbmQ6RGVzY3JpYmVGbHl3aGVlbFwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVGbHl3aGVlbEl0ZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbHl3aGVlbEl0ZXJhdGlvbiA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRmx5d2hlZWxJdGVyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlS2V5UGhyYXNlc0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZVBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVQaWlFbnRpdGllc0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNvdXJjZVBvbGljeSA9IFwiY29tcHJlaGVuZDpEZXNjcmliZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZVNlbnRpbWVudERldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZW50aW1lbnREZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZVNlbnRpbWVudERldGVjdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlVG9waWNzRGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRvcGljc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlVG9waWNzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXRlY3REb21pbmFudExhbmd1YWdlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3REb21pbmFudExhbmd1YWdlID0gXCJjb21wcmVoZW5kOkRldGVjdERvbWluYW50TGFuZ3VhZ2VcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRldGVjdEVudGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RFbnRpdGllcyA9IFwiY29tcHJlaGVuZDpEZXRlY3RFbnRpdGllc1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGV0ZWN0S2V5UGhyYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0S2V5UGhyYXNlcyA9IFwiY29tcHJlaGVuZDpEZXRlY3RLZXlQaHJhc2VzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXRlY3RQaWlFbnRpdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0UGlpRW50aXRpZXMgPSBcImNvbXByZWhlbmQ6RGV0ZWN0UGlpRW50aXRpZXNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRldGVjdFNlbnRpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0U2VudGltZW50ID0gXCJjb21wcmVoZW5kOkRldGVjdFNlbnRpbWVudFwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGV0ZWN0U3ludGF4ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RTeW50YXggPSBcImNvbXByZWhlbmQ6RGV0ZWN0U3ludGF4XCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXRlY3RUYXJnZXRlZFNlbnRpbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnQgPVxuXHRcdFwiY29tcHJlaGVuZDpEZXRlY3RUYXJnZXRlZFNlbnRpbWVudFwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGV0ZWN0VG94aWNDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RUb3hpY0NvbnRlbnQgPSBcImNvbXByZWhlbmQ6RGV0ZWN0VG94aWNDb250ZW50XCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6SW1wb3J0TW9kZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydE1vZGVsID0gXCJjb21wcmVoZW5kOkltcG9ydE1vZGVsXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0RGF0YXNldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhc2V0cyA9IFwiY29tcHJlaGVuZDpMaXN0RGF0YXNldHNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3REb2N1bWVudENsYXNzaWZpY2F0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0RG9jdW1lbnRDbGFzc2lmaWVyU3VtbWFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRDbGFzc2lmaWVyU3VtbWFyaWVzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdERvY3VtZW50Q2xhc3NpZmllclN1bW1hcmllc1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdERvY3VtZW50Q2xhc3NpZmllcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudENsYXNzaWZpZXJzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdERvY3VtZW50Q2xhc3NpZmllcnNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3REb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0RW5kcG9pbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRzID0gXCJjb21wcmVoZW5kOkxpc3RFbmRwb2ludHNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3RFbnRpdGllc0RldGVjdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbnRpdGllc0RldGVjdGlvbkpvYnMgPVxuXHRcdFwiY29tcHJlaGVuZDpMaXN0RW50aXRpZXNEZXRlY3Rpb25Kb2JzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0RW50aXR5UmVjb2duaXplclN1bW1hcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVudGl0eVJlY29nbml6ZXJTdW1tYXJpZXMgPVxuXHRcdFwiY29tcHJlaGVuZDpMaXN0RW50aXR5UmVjb2duaXplclN1bW1hcmllc1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdEVudGl0eVJlY29nbml6ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW50aXR5UmVjb2duaXplcnMgPSBcImNvbXByZWhlbmQ6TGlzdEVudGl0eVJlY29nbml6ZXJzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0RXZlbnRzRGV0ZWN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV2ZW50c0RldGVjdGlvbkpvYnMgPVxuXHRcdFwiY29tcHJlaGVuZDpMaXN0RXZlbnRzRGV0ZWN0aW9uSm9ic1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdEZseXdoZWVsSXRlcmF0aW9uSGlzdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZseXdoZWVsSXRlcmF0aW9uSGlzdG9yeSA9XG5cdFx0XCJjb21wcmVoZW5kOkxpc3RGbHl3aGVlbEl0ZXJhdGlvbkhpc3RvcnlcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3RGbHl3aGVlbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbHl3aGVlbHMgPSBcImNvbXByZWhlbmQ6TGlzdEZseXdoZWVsc1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdEtleVBocmFzZXNEZXRlY3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0S2V5UGhyYXNlc0RldGVjdGlvbkpvYnMgPVxuXHRcdFwiY29tcHJlaGVuZDpMaXN0S2V5UGhyYXNlc0RldGVjdGlvbkpvYnNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3RQaWlFbnRpdGllc0RldGVjdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQaWlFbnRpdGllc0RldGVjdGlvbkpvYnMgPVxuXHRcdFwiY29tcHJlaGVuZDpMaXN0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0U2VudGltZW50RGV0ZWN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlbnRpbWVudERldGVjdGlvbkpvYnMgPVxuXHRcdFwiY29tcHJlaGVuZDpMaXN0U2VudGltZW50RGV0ZWN0aW9uSm9ic1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiY29tcHJlaGVuZDpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9ic1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdFRvcGljc0RldGVjdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUb3BpY3NEZXRlY3Rpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdFRvcGljc0RldGVjdGlvbkpvYnNcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcImNvbXByZWhlbmQ6UHV0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdGFydERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0YXJ0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RhcnREb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RhcnRFbnRpdGllc0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbnRpdGllc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0RW50aXRpZXNEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdGFydEV2ZW50c0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFdmVudHNEZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdGFydEV2ZW50c0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0YXJ0Rmx5d2hlZWxJdGVyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Rmx5d2hlZWxJdGVyYXRpb24gPSBcImNvbXByZWhlbmQ6U3RhcnRGbHl3aGVlbEl0ZXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0YXJ0S2V5UGhyYXNlc0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RhcnRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RhcnRQaWlFbnRpdGllc0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQaWlFbnRpdGllc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdGFydFNlbnRpbWVudERldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZW50aW1lbnREZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdGFydFNlbnRpbWVudERldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0YXJ0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdGFydFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RhcnRUb3BpY3NEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VG9waWNzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RhcnRUb3BpY3NEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdG9wRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdG9wRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0b3BFbnRpdGllc0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEVudGl0aWVzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RvcEVudGl0aWVzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RvcEV2ZW50c0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEV2ZW50c0RldGVjdGlvbkpvYiA9IFwiY29tcHJlaGVuZDpTdG9wRXZlbnRzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RvcEtleVBocmFzZXNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RvcEtleVBocmFzZXNEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdG9wUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQaWlFbnRpdGllc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0b3BQaWlFbnRpdGllc0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0b3BTZW50aW1lbnREZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BTZW50aW1lbnREZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdG9wU2VudGltZW50RGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RvcFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdG9wVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdG9wVHJhaW5pbmdEb2N1bWVudENsYXNzaWZpZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUcmFpbmluZ0RvY3VtZW50Q2xhc3NpZmllciA9XG5cdFx0XCJjb21wcmVoZW5kOlN0b3BUcmFpbmluZ0RvY3VtZW50Q2xhc3NpZmllclwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0b3BUcmFpbmluZ0VudGl0eVJlY29nbml6ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUcmFpbmluZ0VudGl0eVJlY29nbml6ZXIgPVxuXHRcdFwiY29tcHJlaGVuZDpTdG9wVHJhaW5pbmdFbnRpdHlSZWNvZ25pemVyXCI7XG5cdC8qKiBbVGFnZ2luZ10gY29tcHJlaGVuZDpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImNvbXByZWhlbmQ6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBjb21wcmVoZW5kOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImNvbXByZWhlbmQ6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlVwZGF0ZUVuZHBvaW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludCA9IFwiY29tcHJlaGVuZDpVcGRhdGVFbmRwb2ludFwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlVwZGF0ZUZseXdoZWVsICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbHl3aGVlbCA9IFwiY29tcHJlaGVuZDpVcGRhdGVGbHl3aGVlbFwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvbXByZWhlbmRBY3Rpb25zLkJhdGNoRGV0ZWN0RG9taW5hbnRMYW5ndWFnZSxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5CYXRjaERldGVjdEVudGl0aWVzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkJhdGNoRGV0ZWN0S2V5UGhyYXNlcyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5CYXRjaERldGVjdFNlbnRpbWVudCxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5CYXRjaERldGVjdFN5bnRheCxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5CYXRjaERldGVjdFRhcmdldGVkU2VudGltZW50LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkNsYXNzaWZ5RG9jdW1lbnQsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuQ29udGFpbnNQaWlFbnRpdGllcyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZURhdGFzZXQsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVEb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWVyLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZUVuZHBvaW50LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlRW50aXRpZXNEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVFbnRpdHlSZWNvZ25pemVyLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlRXZlbnRzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlRmx5d2hlZWwsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVGbHl3aGVlbEl0ZXJhdGlvbixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZUtleVBocmFzZXNEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVQaWlFbnRpdGllc0RldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZVJlc291cmNlUG9saWN5LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlU2VudGltZW50RGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVUb3BpY3NEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGV0ZWN0RG9taW5hbnRMYW5ndWFnZSxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXRlY3RFbnRpdGllcyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXRlY3RLZXlQaHJhc2VzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRldGVjdFBpaUVudGl0aWVzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRldGVjdFNlbnRpbWVudCxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXRlY3RTeW50YXgsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnQsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGV0ZWN0VG94aWNDb250ZW50LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3REYXRhc2V0cyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYnMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdERvY3VtZW50Q2xhc3NpZmllclN1bW1hcmllcyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0RG9jdW1lbnRDbGFzc2lmaWVycyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYnMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdEVuZHBvaW50cyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0RW50aXRpZXNEZXRlY3Rpb25Kb2JzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RFbnRpdHlSZWNvZ25pemVyU3VtbWFyaWVzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RFbnRpdHlSZWNvZ25pemVycyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0RXZlbnRzRGV0ZWN0aW9uSm9icyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0Rmx5d2hlZWxJdGVyYXRpb25IaXN0b3J5LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RGbHl3aGVlbHMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdEtleVBocmFzZXNEZXRlY3Rpb25Kb2JzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RQaWlFbnRpdGllc0RldGVjdGlvbkpvYnMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdFNlbnRpbWVudERldGVjdGlvbkpvYnMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RUb3BpY3NEZXRlY3Rpb25Kb2JzLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvbXByZWhlbmRBY3Rpb25zLkNyZWF0ZURhdGFzZXQsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuQ3JlYXRlRG9jdW1lbnRDbGFzc2lmaWVyLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkNyZWF0ZUVuZHBvaW50LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkNyZWF0ZUVudGl0eVJlY29nbml6ZXIsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuQ3JlYXRlRmx5d2hlZWwsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVsZXRlRG9jdW1lbnRDbGFzc2lmaWVyLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlbGV0ZUVuZHBvaW50LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlbGV0ZUVudGl0eVJlY29nbml6ZXIsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVsZXRlRmx5d2hlZWwsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuSW1wb3J0TW9kZWwsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RhcnREb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0YXJ0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdGFydEVudGl0aWVzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0YXJ0RXZlbnRzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0YXJ0Rmx5d2hlZWxJdGVyYXRpb24sXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RhcnRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0YXJ0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RhcnRTZW50aW1lbnREZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RhcnRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdGFydFRvcGljc0RldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdG9wRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdG9wRW50aXRpZXNEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RvcEV2ZW50c0RldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdG9wS2V5UGhyYXNlc0RldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdG9wUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RvcFNlbnRpbWVudERldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdG9wVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RvcFRyYWluaW5nRG9jdW1lbnRDbGFzc2lmaWVyLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0b3BUcmFpbmluZ0VudGl0eVJlY29nbml6ZXIsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuVXBkYXRlRW5kcG9pbnQsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuVXBkYXRlRmx5d2hlZWwsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvbXByZWhlbmRBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkb2N1bWVudC1jbGFzc2lmaWNhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvY3VtZW50LWNsYXNzaWZpY2F0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRvY3VtZW50LWNsYXNzaWZpZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9jdW1lbnRDbGFzc2lmaWVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9jdW1lbnRDbGFzc2lmaWVyTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvY3VtZW50LWNsYXNzaWZpZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvY3VtZW50Q2xhc3NpZmllck5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb2N1bWVudENsYXNzaWZpZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkb2N1bWVudC1jbGFzc2lmaWVyLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkb2N1bWVudC1jbGFzc2lmaWVyLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9taW5hbnQtbGFuZ3VhZ2UtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZG9taW5hbnQtbGFuZ3VhZ2UtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVudGl0aWVzLWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRFbnRpdGllc0RldGVjdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbnRpdGllcy1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVudGl0eS1yZWNvZ25pemVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRW50aXR5UmVjb2duaXplckFyblByb3BzIHtcblx0LyoqIFRoZSBFbnRpdHlSZWNvZ25pemVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZW50aXR5UmVjb2duaXplck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbnRpdHktcmVjb2duaXplciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEVudGl0eVJlY29nbml6ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVudGl0eVJlY29nbml6ZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZW50aXR5UmVjb2duaXplck5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGVudGl0eS1yZWNvZ25pemVyLWVuZHBvaW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRW50aXR5UmVjb2duaXplckVuZHBvaW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEVudGl0eVJlY29nbml6ZXJFbmRwb2ludE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVudGl0eVJlY29nbml6ZXJFbmRwb2ludE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBlbnRpdHktcmVjb2duaXplci1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEVudGl0eVJlY29nbml6ZXJFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRW50aXR5UmVjb2duaXplckVuZHBvaW50TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVudGl0eVJlY29nbml6ZXJFbmRwb2ludE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV2ZW50cy1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRXZlbnRzRGV0ZWN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV2ZW50cy1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRXZlbnRzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbHl3aGVlbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEZseXdoZWVsQXJuUHJvcHMge1xuXHQvKiogVGhlIEZseXdoZWVsTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmx5d2hlZWxOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmx5d2hlZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRGbHl3aGVlbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmx5d2hlZWxOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmx5d2hlZWxOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBmbHl3aGVlbC1kYXRhc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRmx5d2hlZWxEYXRhc2V0QXJuUHJvcHMge1xuXHQvKiogVGhlIEZseXdoZWVsTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZmx5d2hlZWxOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGF0YXNldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRhdGFzZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZmx5d2hlZWwtZGF0YXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEZseXdoZWVsRGF0YXNldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRmx5d2hlZWxOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZmx5d2hlZWxOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgRGF0YXNldE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkYXRhc2V0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEga2V5LXBocmFzZXMtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEtleVBocmFzZXNEZXRlY3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEga2V5LXBocmFzZXMtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEtleVBocmFzZXNEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBpaS1lbnRpdGllcy1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGlpLWVudGl0aWVzLWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRQaWlFbnRpdGllc0RldGVjdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VudGltZW50LWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VudGltZW50LWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRhcmdldGVkLXNlbnRpbWVudC1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGFyZ2V0ZWQtc2VudGltZW50LWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdG9waWNzLWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRUb3BpY3NEZXRlY3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdG9waWNzLWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRUb3BpY3NEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuY29uc3QgRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9jdW1lbnQtY2xhc3NpZmljYXRpb24tam9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IERvY3VtZW50Q2xhc3NpZmllckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9jdW1lbnQtY2xhc3NpZmllclxcLyg/PGRvY3VtZW50Q2xhc3NpZmllck5hbWU+W146Lz9dKykkLztcbmNvbnN0IERvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb2N1bWVudC1jbGFzc2lmaWVyLWVuZHBvaW50XFwvKD88ZG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb21pbmFudC1sYW5ndWFnZS1kZXRlY3Rpb24tam9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IEVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplbnRpdGllcy1kZXRlY3Rpb24tam9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IEVudGl0eVJlY29nbml6ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29tcHJlaGVuZDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVudGl0eS1yZWNvZ25pemVyXFwvKD88ZW50aXR5UmVjb2duaXplck5hbWU+W146Lz9dKykkLztcbmNvbnN0IEVudGl0eVJlY29nbml6ZXJFbmRwb2ludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZW50aXR5LXJlY29nbml6ZXItZW5kcG9pbnRcXC8oPzxlbnRpdHlSZWNvZ25pemVyRW5kcG9pbnROYW1lPlteOi8/XSspJC87XG5jb25zdCBFdmVudHNEZXRlY3Rpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29tcHJlaGVuZDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV2ZW50cy1kZXRlY3Rpb24tam9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IEZseXdoZWVsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbHl3aGVlbFxcLyg/PGZseXdoZWVsTmFtZT5bXjovP10rKSQvO1xuY29uc3QgRmx5d2hlZWxEYXRhc2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpmbHl3aGVlbFxcLyg/PGZseXdoZWVsTmFtZT5bXjovP10rKVxcL2RhdGFzZXRcXC8oPzxkYXRhc2V0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgS2V5UGhyYXNlc0RldGVjdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6a2V5LXBocmFzZXMtZGV0ZWN0aW9uLWpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBQaWlFbnRpdGllc0RldGVjdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cGlpLWVudGl0aWVzLWRldGVjdGlvbi1qb2JcXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuY29uc3QgU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZW50aW1lbnQtZGV0ZWN0aW9uLWpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGFyZ2V0ZWQtc2VudGltZW50LWRldGVjdGlvbi1qb2JcXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuY29uc3QgVG9waWNzRGV0ZWN0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0b3BpY3MtZGV0ZWN0aW9uLWpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgY29tcHJlaGVuZCByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21wcmVoZW5kUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb2N1bWVudC1jbGFzc2lmaWNhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYihcblx0XHRwcm9wczogQ29tcHJlaGVuZERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvY3VtZW50LWNsYXNzaWZpY2F0aW9uLWpvYi8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkb2N1bWVudC1jbGFzc2lmaWNhdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkb2N1bWVudC1jbGFzc2lmaWNhdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9jdW1lbnQtY2xhc3NpZmljYXRpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvY3VtZW50LWNsYXNzaWZpZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9jdW1lbnRDbGFzc2lmaWVyKFxuXHRcdHByb3BzOiBDb21wcmVoZW5kRG9jdW1lbnRDbGFzc2lmaWVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29tcHJlaGVuZDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb2N1bWVudC1jbGFzc2lmaWVyLyR7cHJvcHMuZG9jdW1lbnRDbGFzc2lmaWVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZG9jdW1lbnQtY2xhc3NpZmllciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9jdW1lbnRDbGFzc2lmaWVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvY3VtZW50Q2xhc3NpZmllckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkb2N1bWVudC1jbGFzc2lmaWVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvY3VtZW50Q2xhc3NpZmllckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZERvY3VtZW50Q2xhc3NpZmllckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9jdW1lbnRDbGFzc2lmaWVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRvY3VtZW50LWNsYXNzaWZpZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9jdW1lbnRDbGFzc2lmaWVyTmFtZTogbWF0Y2guZ3JvdXBzIS5kb2N1bWVudENsYXNzaWZpZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvY3VtZW50LWNsYXNzaWZpZXItZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnQoXG5cdFx0cHJvcHM6IENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9jdW1lbnQtY2xhc3NpZmllci1lbmRwb2ludC8ke3Byb3BzLmRvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZG9jdW1lbnQtY2xhc3NpZmllci1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9jdW1lbnQtY2xhc3NpZmllci1lbmRwb2ludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZERvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb2N1bWVudC1jbGFzc2lmaWVyLWVuZHBvaW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50TmFtZTpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5kb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZG9taW5hbnQtbGFuZ3VhZ2UtZGV0ZWN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iKFxuXHRcdHByb3BzOiBDb21wcmVoZW5kRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9taW5hbnQtbGFuZ3VhZ2UtZGV0ZWN0aW9uLWpvYi8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkb21pbmFudC1sYW5ndWFnZS1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9taW5hbnQtbGFuZ3VhZ2UtZGV0ZWN0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb21pbmFudC1sYW5ndWFnZS1kZXRlY3Rpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVudGl0aWVzLWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW50aXRpZXNEZXRlY3Rpb25Kb2IoXG5cdFx0cHJvcHM6IENvbXByZWhlbmRFbnRpdGllc0RldGVjdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZW50aXRpZXMtZGV0ZWN0aW9uLWpvYi8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbnRpdGllcy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFbnRpdGllc0RldGVjdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbnRpdGllc0RldGVjdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbnRpdGllcy1kZXRlY3Rpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVudGl0aWVzLWRldGVjdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZW50aXR5LXJlY29nbml6ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZW50aXR5UmVjb2duaXplcihwcm9wczogQ29tcHJlaGVuZEVudGl0eVJlY29nbml6ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29tcHJlaGVuZDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTplbnRpdHktcmVjb2duaXplci8ke3Byb3BzLmVudGl0eVJlY29nbml6ZXJOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbnRpdHktcmVjb2duaXplciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW50aXR5UmVjb2duaXplckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbnRpdHlSZWNvZ25pemVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGVudGl0eS1yZWNvZ25pemVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUVudGl0eVJlY29nbml6ZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbXByZWhlbmRFbnRpdHlSZWNvZ25pemVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbnRpdHlSZWNvZ25pemVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGVudGl0eS1yZWNvZ25pemVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGVudGl0eVJlY29nbml6ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmVudGl0eVJlY29nbml6ZXJOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVudGl0eS1yZWNvZ25pemVyLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVudGl0eVJlY29nbml6ZXJFbmRwb2ludChcblx0XHRwcm9wczogQ29tcHJlaGVuZEVudGl0eVJlY29nbml6ZXJFbmRwb2ludEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZW50aXR5LXJlY29nbml6ZXItZW5kcG9pbnQvJHtwcm9wcy5lbnRpdHlSZWNvZ25pemVyRW5kcG9pbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBlbnRpdHktcmVjb2duaXplci1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW50aXR5UmVjb2duaXplckVuZHBvaW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEVudGl0eVJlY29nbml6ZXJFbmRwb2ludEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbnRpdHktcmVjb2duaXplci1lbmRwb2ludCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbnRpdHlSZWNvZ25pemVyRW5kcG9pbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbXByZWhlbmRFbnRpdHlSZWNvZ25pemVyRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEVudGl0eVJlY29nbml6ZXJFbmRwb2ludEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbnRpdHktcmVjb2duaXplci1lbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlbnRpdHlSZWNvZ25pemVyRW5kcG9pbnROYW1lOiBtYXRjaC5ncm91cHMhLmVudGl0eVJlY29nbml6ZXJFbmRwb2ludE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXZlbnRzLWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXZlbnRzRGV0ZWN0aW9uSm9iKFxuXHRcdHByb3BzOiBDb21wcmVoZW5kRXZlbnRzRGV0ZWN0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29tcHJlaGVuZDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpldmVudHMtZGV0ZWN0aW9uLWpvYi8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBldmVudHMtZGV0ZWN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXZlbnRzRGV0ZWN0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV2ZW50c0RldGVjdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBldmVudHMtZGV0ZWN0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFdmVudHNEZXRlY3Rpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbXByZWhlbmRFdmVudHNEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV2ZW50c0RldGVjdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBldmVudHMtZGV0ZWN0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbHl3aGVlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbHl3aGVlbChwcm9wczogQ29tcHJlaGVuZEZseXdoZWVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Zmx5d2hlZWwvJHtwcm9wcy5mbHl3aGVlbE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZseXdoZWVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbHl3aGVlbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbHl3aGVlbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBmbHl3aGVlbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbHl3aGVlbEFybihhcm46IHN0cmluZyk6IENvbXByZWhlbmRGbHl3aGVlbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRmx5d2hlZWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmx5d2hlZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Zmx5d2hlZWxOYW1lOiBtYXRjaC5ncm91cHMhLmZseXdoZWVsTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBmbHl3aGVlbC1kYXRhc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGZseXdoZWVsRGF0YXNldChwcm9wczogQ29tcHJlaGVuZEZseXdoZWVsRGF0YXNldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZseXdoZWVsLyR7cHJvcHMuZmx5d2hlZWxOYW1lfS9kYXRhc2V0LyR7cHJvcHMuZGF0YXNldE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGZseXdoZWVsLWRhdGFzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEZseXdoZWVsRGF0YXNldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBGbHl3aGVlbERhdGFzZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmx5d2hlZWwtZGF0YXNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VGbHl3aGVlbERhdGFzZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbXByZWhlbmRGbHl3aGVlbERhdGFzZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZseXdoZWVsRGF0YXNldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmbHl3aGVlbC1kYXRhc2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZseXdoZWVsTmFtZTogbWF0Y2guZ3JvdXBzIS5mbHl3aGVlbE5hbWUsXG5cdFx0XHRkYXRhc2V0TmFtZTogbWF0Y2guZ3JvdXBzIS5kYXRhc2V0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBrZXktcGhyYXNlcy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGtleVBocmFzZXNEZXRlY3Rpb25Kb2IoXG5cdFx0cHJvcHM6IENvbXByZWhlbmRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29tcHJlaGVuZDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTprZXktcGhyYXNlcy1kZXRlY3Rpb24tam9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGtleS1waHJhc2VzLWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEtleVBocmFzZXNEZXRlY3Rpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gS2V5UGhyYXNlc0RldGVjdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBrZXktcGhyYXNlcy1kZXRlY3Rpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUtleVBocmFzZXNEZXRlY3Rpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbXByZWhlbmRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGtleS1waHJhc2VzLWRldGVjdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGlpLWVudGl0aWVzLWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IoXG5cdFx0cHJvcHM6IENvbXByZWhlbmRQaWlFbnRpdGllc0RldGVjdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGlpLWVudGl0aWVzLWRldGVjdGlvbi1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGlpLWVudGl0aWVzLWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBpaS1lbnRpdGllcy1kZXRlY3Rpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBpaS1lbnRpdGllcy1kZXRlY3Rpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlbnRpbWVudC1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlbnRpbWVudERldGVjdGlvbkpvYihcblx0XHRwcm9wczogQ29tcHJlaGVuZFNlbnRpbWVudERldGVjdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VudGltZW50LWRldGVjdGlvbi1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VudGltZW50LWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlbnRpbWVudERldGVjdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VudGltZW50LWRldGVjdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VudGltZW50LWRldGVjdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGFyZ2V0ZWQtc2VudGltZW50LWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IoXG5cdFx0cHJvcHM6IENvbXByZWhlbmRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFyZ2V0ZWQtc2VudGltZW50LWRldGVjdGlvbi1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGFyZ2V0ZWQtc2VudGltZW50LWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRhcmdldGVkLXNlbnRpbWVudC1kZXRlY3Rpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRhcmdldGVkLXNlbnRpbWVudC1kZXRlY3Rpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRvcGljcy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRvcGljc0RldGVjdGlvbkpvYihcblx0XHRwcm9wczogQ29tcHJlaGVuZFRvcGljc0RldGVjdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dG9waWNzLWRldGVjdGlvbi1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdG9waWNzLWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRvcGljc0RldGVjdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUb3BpY3NEZXRlY3Rpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdG9waWNzLWRldGVjdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVG9waWNzRGV0ZWN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kVG9waWNzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUb3BpY3NEZXRlY3Rpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdG9waWNzLWRldGVjdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgY29tcHJlaGVuZC5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbXByZWhlbmRPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZXRlY3REb21pbmFudExhbmd1YWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3REb21pbmFudExhbmd1YWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3REb21pbmFudExhbmd1YWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGV0ZWN0RW50aXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERldGVjdEVudGl0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RFbnRpdGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERldGVjdEtleVBocmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERldGVjdEtleVBocmFzZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpCYXRjaERldGVjdEtleVBocmFzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZXRlY3RTZW50aW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERldGVjdFNlbnRpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkJhdGNoRGV0ZWN0U2VudGltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGV0ZWN0U3ludGF4IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RTeW50YXg6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpCYXRjaERldGVjdFN5bnRheFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERldGVjdFRhcmdldGVkU2VudGltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RUYXJnZXRlZFNlbnRpbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkJhdGNoRGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2xhc3NpZnlEb2N1bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENsYXNzaWZ5RG9jdW1lbnQ6IHN0cmluZ1tdID0gW1wiY29tcHJlaGVuZDpDbGFzc2lmeURvY3VtZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDb250YWluc1BpaUVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29udGFpbnNQaWlFbnRpdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkNvbnRhaW5zUGlpRW50aXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRGF0YXNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFzZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpDcmVhdGVEYXRhc2V0XCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURvY3VtZW50Q2xhc3NpZmllciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvY3VtZW50Q2xhc3NpZmllcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkNyZWF0ZURvY3VtZW50Q2xhc3NpZmllclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpDcmVhdGVFbmRwb2ludFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUVudGl0eVJlY29nbml6ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFbnRpdHlSZWNvZ25pemVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6Q3JlYXRlRW50aXR5UmVjb2duaXplclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUZseXdoZWVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRmx5d2hlZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpDcmVhdGVGbHl3aGVlbFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvY3VtZW50Q2xhc3NpZmllciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvY3VtZW50Q2xhc3NpZmllcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlbGV0ZURvY3VtZW50Q2xhc3NpZmllclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGVsZXRlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUVudGl0eVJlY29nbml6ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbnRpdHlSZWNvZ25pemVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVsZXRlRW50aXR5UmVjb2duaXplclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVGbHl3aGVlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUZseXdoZWVsOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGVsZXRlRmx5d2hlZWxcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURhdGFzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURhdGFzZXQ6IHN0cmluZ1tdID0gW1wiY29tcHJlaGVuZDpEZXNjcmliZURhdGFzZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURvY3VtZW50Q2xhc3NpZmllciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVEb2N1bWVudENsYXNzaWZpZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGVzY3JpYmVFbmRwb2ludFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFbnRpdGllc0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW50aXRpZXNEZXRlY3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZUVudGl0aWVzRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW50aXR5UmVjb2duaXplciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRW50aXR5UmVjb2duaXplcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRW50aXR5UmVjb2duaXplclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV2ZW50c0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXZlbnRzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVFdmVudHNEZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbHl3aGVlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmx5d2hlZWw6IHN0cmluZ1tdID0gW1wiY29tcHJlaGVuZDpEZXNjcmliZUZseXdoZWVsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUZseXdoZWVsSXRlcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVGbHl3aGVlbEl0ZXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRmx5d2hlZWxJdGVyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVQaWlFbnRpdGllc0RldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTZW50aW1lbnREZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlbnRpbWVudERldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlU2VudGltZW50RGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRvcGljc0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVG9waWNzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVUb3BpY3NEZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0ZWN0RG9taW5hbnRMYW5ndWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdERvbWluYW50TGFuZ3VhZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXRlY3REb21pbmFudExhbmd1YWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGVjdEVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0RW50aXRpZXM6IHN0cmluZ1tdID0gW1wiY29tcHJlaGVuZDpEZXRlY3RFbnRpdGllc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0ZWN0S2V5UGhyYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdEtleVBocmFzZXM6IHN0cmluZ1tdID0gW1wiY29tcHJlaGVuZDpEZXRlY3RLZXlQaHJhc2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRlY3RQaWlFbnRpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdFBpaUVudGl0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGV0ZWN0UGlpRW50aXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0ZWN0U2VudGltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0U2VudGltZW50OiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGV0ZWN0U2VudGltZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRlY3RTeW50YXggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RTeW50YXg6IHN0cmluZ1tdID0gW1wiY29tcHJlaGVuZDpEZXRlY3RTeW50YXhcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGVjdFRhcmdldGVkU2VudGltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXRlY3RUYXJnZXRlZFNlbnRpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRlY3RUb3hpY0NvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RUb3hpY0NvbnRlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXRlY3RUb3hpY0NvbnRlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0TW9kZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRNb2RlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkltcG9ydE1vZGVsXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERhdGFzZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERhdGFzZXRzOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6TGlzdERhdGFzZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvY3VtZW50Q2xhc3NpZmllclN1bW1hcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudENsYXNzaWZpZXJTdW1tYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0RG9jdW1lbnRDbGFzc2lmaWVyU3VtbWFyaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb2N1bWVudENsYXNzaWZpZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50Q2xhc3NpZmllcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0RG9jdW1lbnRDbGFzc2lmaWVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVuZHBvaW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbmRwb2ludHM6IHN0cmluZ1tdID0gW1wiY29tcHJlaGVuZDpMaXN0RW5kcG9pbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW50aXRpZXNEZXRlY3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVudGl0aWVzRGV0ZWN0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RFbnRpdGllc0RldGVjdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVudGl0eVJlY29nbml6ZXJTdW1tYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW50aXR5UmVjb2duaXplclN1bW1hcmllczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RFbnRpdHlSZWNvZ25pemVyU3VtbWFyaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbnRpdHlSZWNvZ25pemVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbnRpdHlSZWNvZ25pemVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RFbnRpdHlSZWNvZ25pemVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXZlbnRzRGV0ZWN0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudHNEZXRlY3Rpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdEV2ZW50c0RldGVjdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZseXdoZWVsSXRlcmF0aW9uSGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbHl3aGVlbEl0ZXJhdGlvbkhpc3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0Rmx5d2hlZWxJdGVyYXRpb25IaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbHl3aGVlbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmx5d2hlZWxzOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6TGlzdEZseXdoZWVsc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEtleVBocmFzZXNEZXRlY3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtleVBocmFzZXNEZXRlY3Rpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdEtleVBocmFzZXNEZXRlY3Rpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQaWlFbnRpdGllc0RldGVjdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VudGltZW50RGV0ZWN0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZW50aW1lbnREZXRlY3Rpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdFNlbnRpbWVudERldGVjdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VG9waWNzRGV0ZWN0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUb3BpY3NEZXRlY3Rpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdFRvcGljc0RldGVjdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlB1dFJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6U3RhcnREb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6U3RhcnREb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RW50aXRpZXNEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEVudGl0aWVzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpTdGFydEVudGl0aWVzRGV0ZWN0aW9uSm9iXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RXZlbnRzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFdmVudHNEZXRlY3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0RXZlbnRzRGV0ZWN0aW9uSm9iXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Rmx5d2hlZWxJdGVyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZseXdoZWVsSXRlcmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RhcnRGbHl3aGVlbEl0ZXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEtleVBocmFzZXNEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEtleVBocmFzZXNEZXRlY3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0S2V5UGhyYXNlc0RldGVjdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQaWlFbnRpdGllc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6U3RhcnRQaWlFbnRpdGllc0RldGVjdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFNlbnRpbWVudERldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2VudGltZW50RGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpTdGFydFNlbnRpbWVudERldGVjdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6U3RhcnRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRvcGljc0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VG9waWNzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpTdGFydFRvcGljc0RldGVjdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEVudGl0aWVzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEVudGl0aWVzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcEVudGl0aWVzRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BFdmVudHNEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRXZlbnRzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcEV2ZW50c0RldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wS2V5UGhyYXNlc0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcEtleVBocmFzZXNEZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BTZW50aW1lbnREZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wU2VudGltZW50RGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcFNlbnRpbWVudERldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpTdG9wVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRyYWluaW5nRG9jdW1lbnRDbGFzc2lmaWVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nRG9jdW1lbnRDbGFzc2lmaWVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcFRyYWluaW5nRG9jdW1lbnRDbGFzc2lmaWVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFpbmluZ0VudGl0eVJlY29nbml6ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhaW5pbmdFbnRpdHlSZWNvZ25pemVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcFRyYWluaW5nRW50aXR5UmVjb2duaXplclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6VW50YWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFbmRwb2ludDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6VXBkYXRlRW5kcG9pbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRmx5d2hlZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGbHl3aGVlbDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6VXBkYXRlRmx5d2hlZWxcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGNvbXByZWhlbmQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21wcmVoZW5kQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEYXRhc2V0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFzZXRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURvY3VtZW50Q2xhc3NpZmllciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb2N1bWVudENsYXNzaWZpZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvbXByZWhlbmQ6TW9kZWxLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6T3V0cHV0S21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZvbHVtZUttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUVudGl0eVJlY29nbml6ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW50aXR5UmVjb2duaXplckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiY29tcHJlaGVuZDpNb2RlbEttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWb2x1bWVLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUZseXdoZWVsSXRlcmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmx5d2hlZWxJdGVyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6Rmx5d2hlZWxJdGVyYXRpb25JZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgSW1wb3J0TW9kZWwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0TW9kZWxDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvbXByZWhlbmQ6TW9kZWxLbXNLZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvbXByZWhlbmQ6T3V0cHV0S21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZvbHVtZUttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0RXZlbnRzRGV0ZWN0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RXZlbnRzRGV0ZWN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb21wcmVoZW5kOk91dHB1dEttc0tleVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0S2V5UGhyYXNlc0RldGVjdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiY29tcHJlaGVuZDpPdXRwdXRLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6Vm9sdW1lS21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcImNvbXByZWhlbmQ6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRQaWlFbnRpdGllc0RldGVjdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb21wcmVoZW5kOk91dHB1dEttc0tleVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRTZW50aW1lbnREZXRlY3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZW50aW1lbnREZXRlY3Rpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvbXByZWhlbmQ6T3V0cHV0S21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZvbHVtZUttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiY29tcHJlaGVuZDpPdXRwdXRLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6Vm9sdW1lS21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcImNvbXByZWhlbmQ6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRUb3BpY3NEZXRlY3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUb3BpY3NEZXRlY3Rpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvbXByZWhlbmQ6T3V0cHV0S21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZvbHVtZUttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvbXByZWhlbmQ6RGF0YUxha2VLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IERBVEFfTEFLRV9LTVNfS0VZID0gXCJjb21wcmVoZW5kOkRhdGFMYWtlS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb21wcmVoZW5kOkZseXdoZWVsSXRlcmF0aW9uSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZMWVdIRUVMX0lURVJBVElPTl9JRCA9IFwiY29tcHJlaGVuZDpGbHl3aGVlbEl0ZXJhdGlvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb21wcmVoZW5kOk1vZGVsS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBNT0RFTF9LTVNfS0VZID0gXCJjb21wcmVoZW5kOk1vZGVsS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb21wcmVoZW5kOk91dHB1dEttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1VUUFVUX0tNU19LRVkgPSBcImNvbXByZWhlbmQ6T3V0cHV0S21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb21wcmVoZW5kOlZvbHVtZUttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVk9MVU1FX0tNU19LRVkgPSBcImNvbXByZWhlbmQ6Vm9sdW1lS21zS2V5XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb21wcmVoZW5kOlZwY1NlY3VyaXR5R3JvdXBJZHMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBWUENfU0VDVVJJVFlfR1JPVVBfSURTID0gXCJjb21wcmVoZW5kOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvbXByZWhlbmQ6VnBjU3VibmV0cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZQQ19TVUJORVRTID0gXCJjb21wcmVoZW5kOlZwY1N1Ym5ldHNcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29tcHJlaGVuZDpEYXRhTGFrZUttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgZGF0YUxha2VLTVNLZXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJjb21wcmVoZW5kOkRhdGFMYWtlS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb21wcmVoZW5kOkZseXdoZWVsSXRlcmF0aW9uSWRgLlxuXHQgKi9cblx0c3RhdGljIGZseXdoZWVsSXRlcmF0aW9uSWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvbXByZWhlbmQ6Rmx5d2hlZWxJdGVyYXRpb25JZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29tcHJlaGVuZDpNb2RlbEttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgbW9kZWxLTVNLZXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJjb21wcmVoZW5kOk1vZGVsS21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb21wcmVoZW5kOk91dHB1dEttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgb3V0cHV0S01TS2V5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiY29tcHJlaGVuZDpPdXRwdXRLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvbXByZWhlbmQ6Vm9sdW1lS21zS2V5YC5cblx0ICovXG5cdHN0YXRpYyB2b2x1bWVLTVNLZXkodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBBcm5FcXVhbHM6IHsgXCJjb21wcmVoZW5kOlZvbHVtZUttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzYC5cblx0ICovXG5cdHN0YXRpYyB2cGNTZWN1cml0eUdyb3VwSWRzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImNvbXByZWhlbmQ6VnBjU2VjdXJpdHlHcm91cElkc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvbXByZWhlbmQ6VnBjU3VibmV0c2AuXG5cdCAqL1xuXHRzdGF0aWMgdnBjU3VibmV0cyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImNvbXByZWhlbmQ6VnBjU3VibmV0c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
|
|
1271
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHJlaGVuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvY29tcHJlaGVuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELGlEQUFpRDtBQUNqRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxpQkFBaUI7O0FBQTlCLDhDQWdVQzs7O0FBL1RBLDhCQUE4QjtBQUNkLGdDQUFjLEdBQUcsWUFBWSxDQUFDO0FBRTlDLG9EQUFvRDtBQUNwQyw2Q0FBMkIsR0FDMUMsd0NBQXdDLENBQUM7QUFDMUMsNENBQTRDO0FBQzVCLHFDQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZFLDhDQUE4QztBQUM5Qix1Q0FBcUIsR0FBRyxrQ0FBa0MsQ0FBQztBQUMzRSw2Q0FBNkM7QUFDN0Isc0NBQW9CLEdBQUcsaUNBQWlDLENBQUM7QUFDekUsMENBQTBDO0FBQzFCLG1DQUFpQixHQUFHLDhCQUE4QixDQUFDO0FBQ25FLHFEQUFxRDtBQUNyQyw4Q0FBNEIsR0FDM0MseUNBQXlDLENBQUM7QUFDM0MseUNBQXlDO0FBQ3pCLGtDQUFnQixHQUFHLDZCQUE2QixDQUFDO0FBQ2pFLDRDQUE0QztBQUM1QixxQ0FBbUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUN2RSx1Q0FBdUM7QUFDdkIsK0JBQWEsR0FBRywwQkFBMEIsQ0FBQztBQUMzRCxrREFBa0Q7QUFDbEMsMENBQXdCLEdBQ3ZDLHFDQUFxQyxDQUFDO0FBQ3ZDLHdDQUF3QztBQUN4QixnQ0FBYyxHQUFHLDJCQUEyQixDQUFDO0FBQzdELGdEQUFnRDtBQUNoQyx3Q0FBc0IsR0FBRyxtQ0FBbUMsQ0FBQztBQUM3RSx3Q0FBd0M7QUFDeEIsZ0NBQWMsR0FBRywyQkFBMkIsQ0FBQztBQUM3RCxrREFBa0Q7QUFDbEMsMENBQXdCLEdBQ3ZDLHFDQUFxQyxD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c291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvY29tcHJlaGVuZC5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgY29tcHJlaGVuZCBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgQ29tcHJlaGVuZEFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJjb21wcmVoZW5kXCI7XG5cblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkJhdGNoRGV0ZWN0RG9taW5hbnRMYW5ndWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3REb21pbmFudExhbmd1YWdlID1cblx0XHRcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3REb21pbmFudExhbmd1YWdlXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpCYXRjaERldGVjdEVudGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERldGVjdEVudGl0aWVzID0gXCJjb21wcmVoZW5kOkJhdGNoRGV0ZWN0RW50aXRpZXNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkJhdGNoRGV0ZWN0S2V5UGhyYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RLZXlQaHJhc2VzID0gXCJjb21wcmVoZW5kOkJhdGNoRGV0ZWN0S2V5UGhyYXNlc1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RTZW50aW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGV0ZWN0U2VudGltZW50ID0gXCJjb21wcmVoZW5kOkJhdGNoRGV0ZWN0U2VudGltZW50XCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpCYXRjaERldGVjdFN5bnRheCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RTeW50YXggPSBcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RTeW50YXhcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkJhdGNoRGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnQgPVxuXHRcdFwiY29tcHJlaGVuZDpCYXRjaERldGVjdFRhcmdldGVkU2VudGltZW50XCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpDbGFzc2lmeURvY3VtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDbGFzc2lmeURvY3VtZW50ID0gXCJjb21wcmVoZW5kOkNsYXNzaWZ5RG9jdW1lbnRcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkNvbnRhaW5zUGlpRW50aXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbnRhaW5zUGlpRW50aXRpZXMgPSBcImNvbXByZWhlbmQ6Q29udGFpbnNQaWlFbnRpdGllc1wiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOkNyZWF0ZURhdGFzZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURhdGFzZXQgPSBcImNvbXByZWhlbmQ6Q3JlYXRlRGF0YXNldFwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOkNyZWF0ZURvY3VtZW50Q2xhc3NpZmllciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9jdW1lbnRDbGFzc2lmaWVyID1cblx0XHRcImNvbXByZWhlbmQ6Q3JlYXRlRG9jdW1lbnRDbGFzc2lmaWVyXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6Q3JlYXRlRW5kcG9pbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50ID0gXCJjb21wcmVoZW5kOkNyZWF0ZUVuZHBvaW50XCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6Q3JlYXRlRW50aXR5UmVjb2duaXplciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW50aXR5UmVjb2duaXplciA9IFwiY29tcHJlaGVuZDpDcmVhdGVFbnRpdHlSZWNvZ25pemVyXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6Q3JlYXRlRmx5d2hlZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZseXdoZWVsID0gXCJjb21wcmVoZW5kOkNyZWF0ZUZseXdoZWVsXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6RGVsZXRlRG9jdW1lbnRDbGFzc2lmaWVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb2N1bWVudENsYXNzaWZpZXIgPVxuXHRcdFwiY29tcHJlaGVuZDpEZWxldGVEb2N1bWVudENsYXNzaWZpZXJcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpEZWxldGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW5kcG9pbnQgPSBcImNvbXByZWhlbmQ6RGVsZXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpEZWxldGVFbnRpdHlSZWNvZ25pemVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbnRpdHlSZWNvZ25pemVyID0gXCJjb21wcmVoZW5kOkRlbGV0ZUVudGl0eVJlY29nbml6ZXJcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpEZWxldGVGbHl3aGVlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRmx5d2hlZWwgPSBcImNvbXByZWhlbmQ6RGVsZXRlRmx5d2hlZWxcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcImNvbXByZWhlbmQ6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlRGF0YXNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYXRhc2V0ID0gXCJjb21wcmVoZW5kOkRlc2NyaWJlRGF0YXNldFwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVEb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZURvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvY3VtZW50Q2xhc3NpZmllciA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWVyXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZURvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludCA9IFwiY29tcHJlaGVuZDpEZXNjcmliZUVuZHBvaW50XCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZUVudGl0aWVzRGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVudGl0aWVzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVFbnRpdGllc0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVFbnRpdHlSZWNvZ25pemVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVudGl0eVJlY29nbml6ZXIgPVxuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZUVudGl0eVJlY29nbml6ZXJcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlRXZlbnRzRGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV2ZW50c0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRXZlbnRzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZUZseXdoZWVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZseXdoZWVsID0gXCJjb21wcmVoZW5kOkRlc2NyaWJlRmx5d2hlZWxcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlRmx5d2hlZWxJdGVyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmx5d2hlZWxJdGVyYXRpb24gPVxuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZUZseXdoZWVsSXRlcmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZUtleVBocmFzZXNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlS2V5UGhyYXNlc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlS2V5UGhyYXNlc0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVQaWlFbnRpdGllc0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaWlFbnRpdGllc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzb3VyY2VQb2xpY3kgPSBcImNvbXByZWhlbmQ6RGVzY3JpYmVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGVzY3JpYmVTZW50aW1lbnREZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VudGltZW50RGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVTZW50aW1lbnREZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRlc2NyaWJlVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZVRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXNjcmliZVRvcGljc0RldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUb3BpY3NEZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZVRvcGljc0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGV0ZWN0RG9taW5hbnRMYW5ndWFnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0RG9taW5hbnRMYW5ndWFnZSA9IFwiY29tcHJlaGVuZDpEZXRlY3REb21pbmFudExhbmd1YWdlXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXRlY3RFbnRpdGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0RW50aXRpZXMgPSBcImNvbXByZWhlbmQ6RGV0ZWN0RW50aXRpZXNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRldGVjdEtleVBocmFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdEtleVBocmFzZXMgPSBcImNvbXByZWhlbmQ6RGV0ZWN0S2V5UGhyYXNlc1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGV0ZWN0UGlpRW50aXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdFBpaUVudGl0aWVzID0gXCJjb21wcmVoZW5kOkRldGVjdFBpaUVudGl0aWVzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpEZXRlY3RTZW50aW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdFNlbnRpbWVudCA9IFwiY29tcHJlaGVuZDpEZXRlY3RTZW50aW1lbnRcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRldGVjdFN5bnRheCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0U3ludGF4ID0gXCJjb21wcmVoZW5kOkRldGVjdFN5bnRheFwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6RGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdFRhcmdldGVkU2VudGltZW50ID1cblx0XHRcImNvbXByZWhlbmQ6RGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnRcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkRldGVjdFRveGljQ29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0VG94aWNDb250ZW50ID0gXCJjb21wcmVoZW5kOkRldGVjdFRveGljQ29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOkltcG9ydE1vZGVsICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRNb2RlbCA9IFwiY29tcHJlaGVuZDpJbXBvcnRNb2RlbFwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdERhdGFzZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGF0YXNldHMgPSBcImNvbXByZWhlbmQ6TGlzdERhdGFzZXRzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudENsYXNzaWZpY2F0aW9uSm9icyA9XG5cdFx0XCJjb21wcmVoZW5kOkxpc3REb2N1bWVudENsYXNzaWZpY2F0aW9uSm9ic1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdERvY3VtZW50Q2xhc3NpZmllclN1bW1hcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50Q2xhc3NpZmllclN1bW1hcmllcyA9XG5cdFx0XCJjb21wcmVoZW5kOkxpc3REb2N1bWVudENsYXNzaWZpZXJTdW1tYXJpZXNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3REb2N1bWVudENsYXNzaWZpZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRDbGFzc2lmaWVycyA9XG5cdFx0XCJjb21wcmVoZW5kOkxpc3REb2N1bWVudENsYXNzaWZpZXJzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9icyA9XG5cdFx0XCJjb21wcmVoZW5kOkxpc3REb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9ic1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdEVuZHBvaW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVuZHBvaW50cyA9IFwiY29tcHJlaGVuZDpMaXN0RW5kcG9pbnRzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0RW50aXRpZXNEZXRlY3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW50aXRpZXNEZXRlY3Rpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdEVudGl0aWVzRGV0ZWN0aW9uSm9ic1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdEVudGl0eVJlY29nbml6ZXJTdW1tYXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbnRpdHlSZWNvZ25pemVyU3VtbWFyaWVzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdEVudGl0eVJlY29nbml6ZXJTdW1tYXJpZXNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3RFbnRpdHlSZWNvZ25pemVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVudGl0eVJlY29nbml6ZXJzID0gXCJjb21wcmVoZW5kOkxpc3RFbnRpdHlSZWNvZ25pemVyc1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdEV2ZW50c0RldGVjdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFdmVudHNEZXRlY3Rpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdEV2ZW50c0RldGVjdGlvbkpvYnNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3RGbHl3aGVlbEl0ZXJhdGlvbkhpc3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGbHl3aGVlbEl0ZXJhdGlvbkhpc3RvcnkgPVxuXHRcdFwiY29tcHJlaGVuZDpMaXN0Rmx5d2hlZWxJdGVyYXRpb25IaXN0b3J5XCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0Rmx5d2hlZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmx5d2hlZWxzID0gXCJjb21wcmVoZW5kOkxpc3RGbHl3aGVlbHNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3RLZXlQaHJhc2VzRGV0ZWN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEtleVBocmFzZXNEZXRlY3Rpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdEtleVBocmFzZXNEZXRlY3Rpb25Kb2JzXCI7XG5cdC8qKiBbUmVhZF0gY29tcHJlaGVuZDpMaXN0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9ic1wiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdFNlbnRpbWVudERldGVjdGlvbkpvYnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZW50aW1lbnREZXRlY3Rpb25Kb2JzID1cblx0XHRcImNvbXByZWhlbmQ6TGlzdFNlbnRpbWVudERldGVjdGlvbkpvYnNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImNvbXByZWhlbmQ6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGNvbXByZWhlbmQ6TGlzdFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9icyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9icyA9XG5cdFx0XCJjb21wcmVoZW5kOkxpc3RUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYnNcIjtcblx0LyoqIFtSZWFkXSBjb21wcmVoZW5kOkxpc3RUb3BpY3NEZXRlY3Rpb25Kb2JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VG9waWNzRGV0ZWN0aW9uSm9icyA9XG5cdFx0XCJjb21wcmVoZW5kOkxpc3RUb3BpY3NEZXRlY3Rpb25Kb2JzXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6UHV0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5ID0gXCJjb21wcmVoZW5kOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RhcnREb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdGFydERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdGFydERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0YXJ0RW50aXRpZXNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RW50aXRpZXNEZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdGFydEVudGl0aWVzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RhcnRFdmVudHNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RXZlbnRzRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RhcnRFdmVudHNEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdGFydEZseXdoZWVsSXRlcmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZseXdoZWVsSXRlcmF0aW9uID0gXCJjb21wcmVoZW5kOlN0YXJ0Rmx5d2hlZWxJdGVyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdGFydEtleVBocmFzZXNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0S2V5UGhyYXNlc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0S2V5UGhyYXNlc0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0YXJ0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdGFydFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RhcnRTZW50aW1lbnREZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2VudGltZW50RGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RhcnRTZW50aW1lbnREZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdGFydFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RhcnRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0YXJ0VG9waWNzRGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRvcGljc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0VG9waWNzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RvcERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RvcERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdG9wRW50aXRpZXNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFbnRpdGllc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0b3BFbnRpdGllc0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0b3BFdmVudHNEZXRlY3Rpb25Kb2IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFdmVudHNEZXRlY3Rpb25Kb2IgPSBcImNvbXByZWhlbmQ6U3RvcEV2ZW50c0RldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0b3BLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wS2V5UGhyYXNlc0RldGVjdGlvbkpvYiA9XG5cdFx0XCJjb21wcmVoZW5kOlN0b3BLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RvcFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IgPVxuXHRcdFwiY29tcHJlaGVuZDpTdG9wUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdG9wU2VudGltZW50RGV0ZWN0aW9uSm9iICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wU2VudGltZW50RGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RvcFNlbnRpbWVudERldGVjdGlvbkpvYlwiO1xuXHQvKiogW1dyaXRlXSBjb21wcmVoZW5kOlN0b3BUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iID1cblx0XHRcImNvbXByZWhlbmQ6U3RvcFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iXCI7XG5cdC8qKiBbV3JpdGVdIGNvbXByZWhlbmQ6U3RvcFRyYWluaW5nRG9jdW1lbnRDbGFzc2lmaWVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhaW5pbmdEb2N1bWVudENsYXNzaWZpZXIgPVxuXHRcdFwiY29tcHJlaGVuZDpTdG9wVHJhaW5pbmdEb2N1bWVudENsYXNzaWZpZXJcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpTdG9wVHJhaW5pbmdFbnRpdHlSZWNvZ25pemVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wVHJhaW5pbmdFbnRpdHlSZWNvZ25pemVyID1cblx0XHRcImNvbXByZWhlbmQ6U3RvcFRyYWluaW5nRW50aXR5UmVjb2duaXplclwiO1xuXHQvKiogW1RhZ2dpbmddIGNvbXByZWhlbmQ6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gY29tcHJlaGVuZDpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJjb21wcmVoZW5kOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpVcGRhdGVFbmRwb2ludCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRW5kcG9pbnQgPSBcImNvbXByZWhlbmQ6VXBkYXRlRW5kcG9pbnRcIjtcblx0LyoqIFtXcml0ZV0gY29tcHJlaGVuZDpVcGRhdGVGbHl3aGVlbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmx5d2hlZWwgPSBcImNvbXByZWhlbmQ6VXBkYXRlRmx5d2hlZWxcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5CYXRjaERldGVjdERvbWluYW50TGFuZ3VhZ2UsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuQmF0Y2hEZXRlY3RFbnRpdGllcyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5CYXRjaERldGVjdEtleVBocmFzZXMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuQmF0Y2hEZXRlY3RTZW50aW1lbnQsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuQmF0Y2hEZXRlY3RTeW50YXgsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuQmF0Y2hEZXRlY3RUYXJnZXRlZFNlbnRpbWVudCxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5DbGFzc2lmeURvY3VtZW50LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkNvbnRhaW5zUGlpRW50aXRpZXMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVEYXRhc2V0LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZURvY3VtZW50Q2xhc3NpZmllcixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZURvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVFbmRwb2ludCxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZUVudGl0aWVzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlRW50aXR5UmVjb2duaXplcixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZUV2ZW50c0RldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZUZseXdoZWVsLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlRmx5d2hlZWxJdGVyYXRpb24sXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGVzY3JpYmVSZXNvdXJjZVBvbGljeSxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZVNlbnRpbWVudERldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXNjcmliZVRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlc2NyaWJlVG9waWNzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRldGVjdERvbWluYW50TGFuZ3VhZ2UsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGV0ZWN0RW50aXRpZXMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGV0ZWN0S2V5UGhyYXNlcyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXRlY3RQaWlFbnRpdGllcyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZXRlY3RTZW50aW1lbnQsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuRGV0ZWN0U3ludGF4LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRldGVjdFRhcmdldGVkU2VudGltZW50LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRldGVjdFRveGljQ29udGVudCxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0RGF0YXNldHMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3REb2N1bWVudENsYXNzaWZpZXJTdW1tYXJpZXMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdERvY3VtZW50Q2xhc3NpZmllcnMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RFbmRwb2ludHMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdEVudGl0aWVzRGV0ZWN0aW9uSm9icyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0RW50aXR5UmVjb2duaXplclN1bW1hcmllcyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0RW50aXR5UmVjb2duaXplcnMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdEV2ZW50c0RldGVjdGlvbkpvYnMsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdEZseXdoZWVsSXRlcmF0aW9uSGlzdG9yeSxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0Rmx5d2hlZWxzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RLZXlQaHJhc2VzRGV0ZWN0aW9uSm9icyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RTZW50aW1lbnREZXRlY3Rpb25Kb2JzLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuTGlzdFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9icyxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5MaXN0VG9waWNzRGV0ZWN0aW9uSm9icyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5DcmVhdGVEYXRhc2V0LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkNyZWF0ZURvY3VtZW50Q2xhc3NpZmllcixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5DcmVhdGVFbmRwb2ludCxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5DcmVhdGVFbnRpdHlSZWNvZ25pemVyLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkNyZWF0ZUZseXdoZWVsLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlbGV0ZURvY3VtZW50Q2xhc3NpZmllcixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZWxldGVFbmRwb2ludCxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5EZWxldGVFbnRpdHlSZWNvZ25pemVyLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlbGV0ZUZseXdoZWVsLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLkltcG9ydE1vZGVsLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0YXJ0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdGFydERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RhcnRFbnRpdGllc0RldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdGFydEV2ZW50c0RldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdGFydEZseXdoZWVsSXRlcmF0aW9uLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0YXJ0S2V5UGhyYXNlc0RldGVjdGlvbkpvYixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdGFydFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0YXJ0U2VudGltZW50RGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0YXJ0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RhcnRUb3BpY3NEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RvcERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RvcEVudGl0aWVzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0b3BFdmVudHNEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RvcEtleVBocmFzZXNEZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RvcFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0b3BTZW50aW1lbnREZXRlY3Rpb25Kb2IsXG5cdFx0Q29tcHJlaGVuZEFjdGlvbnMuU3RvcFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlN0b3BUcmFpbmluZ0RvY3VtZW50Q2xhc3NpZmllcixcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5TdG9wVHJhaW5pbmdFbnRpdHlSZWNvZ25pemVyLFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlVwZGF0ZUVuZHBvaW50LFxuXHRcdENvbXByZWhlbmRBY3Rpb25zLlVwZGF0ZUZseXdoZWVsLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRDb21wcmVoZW5kQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9jdW1lbnQtY2xhc3NpZmljYXRpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkb2N1bWVudC1jbGFzc2lmaWNhdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkb2N1bWVudC1jbGFzc2lmaWVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRG9jdW1lbnRDbGFzc2lmaWVyQXJuUHJvcHMge1xuXHQvKiogVGhlIERvY3VtZW50Q2xhc3NpZmllck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvY3VtZW50Q2xhc3NpZmllck5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkb2N1bWVudC1jbGFzc2lmaWVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRG9jdW1lbnRDbGFzc2lmaWVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb2N1bWVudENsYXNzaWZpZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9jdW1lbnRDbGFzc2lmaWVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9jdW1lbnQtY2xhc3NpZmllci1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZERvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50QXJuUHJvcHMge1xuXHQvKiogVGhlIERvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZG9jdW1lbnQtY2xhc3NpZmllci1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZERvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRvbWluYW50LWxhbmd1YWdlLWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmREb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvbWluYW50LWxhbmd1YWdlLWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmREb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbnRpdGllcy1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW50aXRpZXMtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbnRpdHktcmVjb2duaXplciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEVudGl0eVJlY29nbml6ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRW50aXR5UmVjb2duaXplck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGVudGl0eVJlY29nbml6ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW50aXR5LXJlY29nbml6ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRFbnRpdHlSZWNvZ25pemVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFbnRpdHlSZWNvZ25pemVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGVudGl0eVJlY29nbml6ZXJOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBlbnRpdHktcmVjb2duaXplci1lbmRwb2ludCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEVudGl0eVJlY29nbml6ZXJFbmRwb2ludEFyblByb3BzIHtcblx0LyoqIFRoZSBFbnRpdHlSZWNvZ25pemVyRW5kcG9pbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBlbnRpdHlSZWNvZ25pemVyRW5kcG9pbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZW50aXR5LXJlY29nbml6ZXItZW5kcG9pbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRFbnRpdHlSZWNvZ25pemVyRW5kcG9pbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEVudGl0eVJlY29nbml6ZXJFbmRwb2ludE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBlbnRpdHlSZWNvZ25pemVyRW5kcG9pbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBldmVudHMtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEV2ZW50c0RldGVjdGlvbkpvYkFyblByb3BzIHtcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBldmVudHMtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEV2ZW50c0RldGVjdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSm9iSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmx5d2hlZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRGbHl3aGVlbEFyblByb3BzIHtcblx0LyoqIFRoZSBGbHl3aGVlbE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZseXdoZWVsTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZseXdoZWVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kRmx5d2hlZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZseXdoZWVsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZseXdoZWVsTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZmx5d2hlZWwtZGF0YXNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZEZseXdoZWVsRGF0YXNldEFyblByb3BzIHtcblx0LyoqIFRoZSBGbHl3aGVlbE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGZseXdoZWVsTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFzZXROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBkYXRhc2V0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGZseXdoZWVsLWRhdGFzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRGbHl3aGVlbERhdGFzZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEZseXdoZWVsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGZseXdoZWVsTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIERhdGFzZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGF0YXNldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGtleS1waHJhc2VzLWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGtleS1waHJhc2VzLWRldGVjdGlvbi1qb2IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXByZWhlbmRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwaWktZW50aXRpZXMtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBpaS1lbnRpdGllcy1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlbnRpbWVudC1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlbnRpbWVudC1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0YXJnZXRlZC1zZW50aW1lbnQtZGV0ZWN0aW9uLWpvYiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlaGVuZFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRhcmdldGVkLXNlbnRpbWVudC1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgam9iSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRvcGljcy1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kVG9waWNzRGV0ZWN0aW9uSm9iQXJuUHJvcHMge1xuXHQvKiogVGhlIEpvYklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBqb2JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRvcGljcy1kZXRlY3Rpb24tam9iIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVoZW5kVG9waWNzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBKb2JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGpvYklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29tcHJlaGVuZDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvY3VtZW50LWNsYXNzaWZpY2F0aW9uLWpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBEb2N1bWVudENsYXNzaWZpZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29tcHJlaGVuZDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmRvY3VtZW50LWNsYXNzaWZpZXJcXC8oPzxkb2N1bWVudENsYXNzaWZpZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBEb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9jdW1lbnQtY2xhc3NpZmllci1lbmRwb2ludFxcLyg/PGRvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9taW5hbnQtbGFuZ3VhZ2UtZGV0ZWN0aW9uLWpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBFbnRpdGllc0RldGVjdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZW50aXRpZXMtZGV0ZWN0aW9uLWpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBFbnRpdHlSZWNvZ25pemVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTplbnRpdHktcmVjb2duaXplclxcLyg/PGVudGl0eVJlY29nbml6ZXJOYW1lPlteOi8/XSspJC87XG5jb25zdCBFbnRpdHlSZWNvZ25pemVyRW5kcG9pbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29tcHJlaGVuZDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmVudGl0eS1yZWNvZ25pemVyLWVuZHBvaW50XFwvKD88ZW50aXR5UmVjb2duaXplckVuZHBvaW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgRXZlbnRzRGV0ZWN0aW9uSm9iQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbXByZWhlbmQ6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpldmVudHMtZGV0ZWN0aW9uLWpvYlxcLyg/PGpvYklkPlteOi8/XSspJC87XG5jb25zdCBGbHl3aGVlbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmx5d2hlZWxcXC8oPzxmbHl3aGVlbE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEZseXdoZWVsRGF0YXNldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Zmx5d2hlZWxcXC8oPzxmbHl3aGVlbE5hbWU+W146Lz9dKylcXC9kYXRhc2V0XFwvKD88ZGF0YXNldE5hbWU+W146Lz9dKykkLztcbmNvbnN0IEtleVBocmFzZXNEZXRlY3Rpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29tcHJlaGVuZDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmtleS1waHJhc2VzLWRldGVjdGlvbi1qb2JcXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuY29uc3QgUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29tcHJlaGVuZDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBpaS1lbnRpdGllcy1kZXRlY3Rpb24tam9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlbnRpbWVudERldGVjdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VudGltZW50LWRldGVjdGlvbi1qb2JcXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuY29uc3QgVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29tcHJlaGVuZDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRhcmdldGVkLXNlbnRpbWVudC1kZXRlY3Rpb24tam9iXFwvKD88am9iSWQ+W146Lz9dKykkLztcbmNvbnN0IFRvcGljc0RldGVjdGlvbkpvYkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb21wcmVoZW5kOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dG9waWNzLWRldGVjdGlvbi1qb2JcXC8oPzxqb2JJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGNvbXByZWhlbmQgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQ29tcHJlaGVuZFJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZG9jdW1lbnQtY2xhc3NpZmljYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2IoXG5cdFx0cHJvcHM6IENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29tcHJlaGVuZDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkb2N1bWVudC1jbGFzc2lmaWNhdGlvbi1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZG9jdW1lbnQtY2xhc3NpZmljYXRpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9jdW1lbnQtY2xhc3NpZmljYXRpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEb2N1bWVudENsYXNzaWZpY2F0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRvY3VtZW50LWNsYXNzaWZpY2F0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb2N1bWVudC1jbGFzc2lmaWVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvY3VtZW50Q2xhc3NpZmllcihcblx0XHRwcm9wczogQ29tcHJlaGVuZERvY3VtZW50Q2xhc3NpZmllckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9jdW1lbnQtY2xhc3NpZmllci8ke3Byb3BzLmRvY3VtZW50Q2xhc3NpZmllck5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvY3VtZW50LWNsYXNzaWZpZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvY3VtZW50Q2xhc3NpZmllckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEb2N1bWVudENsYXNzaWZpZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9jdW1lbnQtY2xhc3NpZmllciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb2N1bWVudENsYXNzaWZpZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERvY3VtZW50Q2xhc3NpZmllckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb2N1bWVudC1jbGFzc2lmaWVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRvY3VtZW50Q2xhc3NpZmllck5hbWU6IG1hdGNoLmdyb3VwcyEuZG9jdW1lbnRDbGFzc2lmaWVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb2N1bWVudC1jbGFzc2lmaWVyLWVuZHBvaW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50KFxuXHRcdHByb3BzOiBDb21wcmVoZW5kRG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvY3VtZW50LWNsYXNzaWZpZXItZW5kcG9pbnQvJHtwcm9wcy5kb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvY3VtZW50LWNsYXNzaWZpZXItZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERvY3VtZW50Q2xhc3NpZmllckVuZHBvaW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRvY3VtZW50LWNsYXNzaWZpZXItZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbXByZWhlbmREb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9jdW1lbnQtY2xhc3NpZmllci1lbmRwb2ludCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb2N1bWVudENsYXNzaWZpZXJFbmRwb2ludE5hbWU6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEuZG9jdW1lbnRDbGFzc2lmaWVyRW5kcG9pbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvbWluYW50LWxhbmd1YWdlLWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYihcblx0XHRwcm9wczogQ29tcHJlaGVuZERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvbWluYW50LWxhbmd1YWdlLWRldGVjdGlvbi1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZG9taW5hbnQtbGFuZ3VhZ2UtZGV0ZWN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGRvbWluYW50LWxhbmd1YWdlLWRldGVjdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9taW5hbnQtbGFuZ3VhZ2UtZGV0ZWN0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbnRpdGllcy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVudGl0aWVzRGV0ZWN0aW9uSm9iKFxuXHRcdHByb3BzOiBDb21wcmVoZW5kRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVudGl0aWVzLWRldGVjdGlvbi1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW50aXRpZXMtZGV0ZWN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW50aXRpZXMtZGV0ZWN0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbnRpdGllc0RldGVjdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZEVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbnRpdGllc0RldGVjdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbnRpdGllcy1kZXRlY3Rpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGVudGl0eS1yZWNvZ25pemVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGVudGl0eVJlY29nbml6ZXIocHJvcHM6IENvbXByZWhlbmRFbnRpdHlSZWNvZ25pemVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZW50aXR5LXJlY29nbml6ZXIvJHtwcm9wcy5lbnRpdHlSZWNvZ25pemVyTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW50aXR5LXJlY29nbml6ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVudGl0eVJlY29nbml6ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRW50aXR5UmVjb2duaXplckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBlbnRpdHktcmVjb2duaXplciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFbnRpdHlSZWNvZ25pemVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kRW50aXR5UmVjb2duaXplckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRW50aXR5UmVjb2duaXplckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBlbnRpdHktcmVjb2duaXplciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRlbnRpdHlSZWNvZ25pemVyTmFtZTogbWF0Y2guZ3JvdXBzIS5lbnRpdHlSZWNvZ25pemVyTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBlbnRpdHktcmVjb2duaXplci1lbmRwb2ludCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBlbnRpdHlSZWNvZ25pemVyRW5kcG9pbnQoXG5cdFx0cHJvcHM6IENvbXByZWhlbmRFbnRpdHlSZWNvZ25pemVyRW5kcG9pbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmVudGl0eS1yZWNvZ25pemVyLWVuZHBvaW50LyR7cHJvcHMuZW50aXR5UmVjb2duaXplckVuZHBvaW50TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZW50aXR5LXJlY29nbml6ZXItZW5kcG9pbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEVudGl0eVJlY29nbml6ZXJFbmRwb2ludEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFbnRpdHlSZWNvZ25pemVyRW5kcG9pbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZW50aXR5LXJlY29nbml6ZXItZW5kcG9pbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRW50aXR5UmVjb2duaXplckVuZHBvaW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kRW50aXR5UmVjb2duaXplckVuZHBvaW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFbnRpdHlSZWNvZ25pemVyRW5kcG9pbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZW50aXR5LXJlY29nbml6ZXItZW5kcG9pbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZW50aXR5UmVjb2duaXplckVuZHBvaW50TmFtZTogbWF0Y2guZ3JvdXBzIS5lbnRpdHlSZWNvZ25pemVyRW5kcG9pbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV2ZW50cy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV2ZW50c0RldGVjdGlvbkpvYihcblx0XHRwcm9wczogQ29tcHJlaGVuZEV2ZW50c0RldGVjdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXZlbnRzLWRldGVjdGlvbi1qb2IvJHtwcm9wcy5qb2JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXZlbnRzLWRldGVjdGlvbi1qb2IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEV2ZW50c0RldGVjdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFdmVudHNEZXRlY3Rpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXZlbnRzLWRldGVjdGlvbi1qb2IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXZlbnRzRGV0ZWN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kRXZlbnRzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFdmVudHNEZXRlY3Rpb25Kb2JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZXZlbnRzLWRldGVjdGlvbi1qb2IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0am9iSWQ6IG1hdGNoLmdyb3VwcyEuam9iSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmx5d2hlZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZmx5d2hlZWwocHJvcHM6IENvbXByZWhlbmRGbHl3aGVlbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmZseXdoZWVsLyR7cHJvcHMuZmx5d2hlZWxOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbHl3aGVlbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRmx5d2hlZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmx5d2hlZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZmx5d2hlZWwgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmx5d2hlZWxBcm4oYXJuOiBzdHJpbmcpOiBDb21wcmVoZW5kRmx5d2hlZWxBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEZseXdoZWVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGZseXdoZWVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGZseXdoZWVsTmFtZTogbWF0Y2guZ3JvdXBzIS5mbHl3aGVlbE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZmx5d2hlZWwtZGF0YXNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBmbHl3aGVlbERhdGFzZXQocHJvcHM6IENvbXByZWhlbmRGbHl3aGVlbERhdGFzZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29tcHJlaGVuZDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpmbHl3aGVlbC8ke3Byb3BzLmZseXdoZWVsTmFtZX0vZGF0YXNldC8ke3Byb3BzLmRhdGFzZXROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBmbHl3aGVlbC1kYXRhc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRGbHl3aGVlbERhdGFzZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRmx5d2hlZWxEYXRhc2V0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGZseXdoZWVsLWRhdGFzZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRmx5d2hlZWxEYXRhc2V0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kRmx5d2hlZWxEYXRhc2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBGbHl3aGVlbERhdGFzZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZmx5d2hlZWwtZGF0YXNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRmbHl3aGVlbE5hbWU6IG1hdGNoLmdyb3VwcyEuZmx5d2hlZWxOYW1lLFxuXHRcdFx0ZGF0YXNldE5hbWU6IG1hdGNoLmdyb3VwcyEuZGF0YXNldE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUga2V5LXBocmFzZXMtZGV0ZWN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBrZXlQaHJhc2VzRGV0ZWN0aW9uSm9iKFxuXHRcdHByb3BzOiBDb21wcmVoZW5kS2V5UGhyYXNlc0RldGVjdGlvbkpvYkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbXByZWhlbmQ6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06a2V5LXBocmFzZXMtZGV0ZWN0aW9uLWpvYi8ke3Byb3BzLmpvYklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBrZXktcGhyYXNlcy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEtleVBocmFzZXNEZXRlY3Rpb25Kb2JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEga2V5LXBocmFzZXMtZGV0ZWN0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb21wcmVoZW5kS2V5UGhyYXNlc0RldGVjdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gS2V5UGhyYXNlc0RldGVjdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBrZXktcGhyYXNlcy1kZXRlY3Rpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBpaS1lbnRpdGllcy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iKFxuXHRcdHByb3BzOiBDb21wcmVoZW5kUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBpaS1lbnRpdGllcy1kZXRlY3Rpb24tam9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBpaS1lbnRpdGllcy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQaWlFbnRpdGllc0RldGVjdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQaWlFbnRpdGllc0RldGVjdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwaWktZW50aXRpZXMtZGV0ZWN0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQaWlFbnRpdGllc0RldGVjdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQaWlFbnRpdGllc0RldGVjdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwaWktZW50aXRpZXMtZGV0ZWN0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZW50aW1lbnQtZGV0ZWN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZW50aW1lbnREZXRlY3Rpb25Kb2IoXG5cdFx0cHJvcHM6IENvbXByZWhlbmRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlbnRpbWVudC1kZXRlY3Rpb24tam9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlbnRpbWVudC1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlbnRpbWVudC1kZXRlY3Rpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlbnRpbWVudERldGVjdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZFNlbnRpbWVudERldGVjdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlbnRpbWVudC1kZXRlY3Rpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRhcmdldGVkLXNlbnRpbWVudC1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iKFxuXHRcdHByb3BzOiBDb21wcmVoZW5kVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRhcmdldGVkLXNlbnRpbWVudC1kZXRlY3Rpb24tam9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRhcmdldGVkLXNlbnRpbWVudC1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0YXJnZXRlZC1zZW50aW1lbnQtZGV0ZWN0aW9uLWpvYiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YXJnZXRlZC1zZW50aW1lbnQtZGV0ZWN0aW9uLWpvYiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRqb2JJZDogbWF0Y2guZ3JvdXBzIS5qb2JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB0b3BpY3MtZGV0ZWN0aW9uLWpvYiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0b3BpY3NEZXRlY3Rpb25Kb2IoXG5cdFx0cHJvcHM6IENvbXByZWhlbmRUb3BpY3NEZXRlY3Rpb25Kb2JBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb21wcmVoZW5kOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRvcGljcy1kZXRlY3Rpb24tam9iLyR7cHJvcHMuam9iSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRvcGljcy1kZXRlY3Rpb24tam9iIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUb3BpY3NEZXRlY3Rpb25Kb2JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVG9waWNzRGV0ZWN0aW9uSm9iQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRvcGljcy1kZXRlY3Rpb24tam9iIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRvcGljc0RldGVjdGlvbkpvYkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29tcHJlaGVuZFRvcGljc0RldGVjdGlvbkpvYkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVG9waWNzRGV0ZWN0aW9uSm9iQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRvcGljcy1kZXRlY3Rpb24tam9iIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGpvYklkOiBtYXRjaC5ncm91cHMhLmpvYklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGNvbXByZWhlbmQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb21wcmVoZW5kT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGV0ZWN0RG9taW5hbnRMYW5ndWFnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGV0ZWN0RG9taW5hbnRMYW5ndWFnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkJhdGNoRGV0ZWN0RG9taW5hbnRMYW5ndWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERldGVjdEVudGl0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RFbnRpdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkJhdGNoRGV0ZWN0RW50aXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZXRlY3RLZXlQaHJhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RLZXlQaHJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RLZXlQaHJhc2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGV0ZWN0U2VudGltZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZXRlY3RTZW50aW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpCYXRjaERldGVjdFNlbnRpbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaERldGVjdFN5bnRheCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGV0ZWN0U3ludGF4OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6QmF0Y2hEZXRlY3RTeW50YXhcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZXRlY3RUYXJnZXRlZFNlbnRpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpCYXRjaERldGVjdFRhcmdldGVkU2VudGltZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENsYXNzaWZ5RG9jdW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDbGFzc2lmeURvY3VtZW50OiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6Q2xhc3NpZnlEb2N1bWVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ29udGFpbnNQaWlFbnRpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENvbnRhaW5zUGlpRW50aXRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpDb250YWluc1BpaUVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURhdGFzZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhc2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6Q3JlYXRlRGF0YXNldFwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb2N1bWVudENsYXNzaWZpZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb2N1bWVudENsYXNzaWZpZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpDcmVhdGVEb2N1bWVudENsYXNzaWZpZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbmRwb2ludCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVuZHBvaW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6Q3JlYXRlRW5kcG9pbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFbnRpdHlSZWNvZ25pemVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRW50aXR5UmVjb2duaXplcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkNyZWF0ZUVudGl0eVJlY29nbml6ZXJcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVGbHl3aGVlbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUZseXdoZWVsOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6Q3JlYXRlRmx5d2hlZWxcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEb2N1bWVudENsYXNzaWZpZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb2N1bWVudENsYXNzaWZpZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZWxldGVEb2N1bWVudENsYXNzaWZpZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRW5kcG9pbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJjb21wcmVoZW5kOkRlbGV0ZUVuZHBvaW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFbnRpdHlSZWNvZ25pemVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRW50aXR5UmVjb2duaXplcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlbGV0ZUVudGl0eVJlY29nbml6ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRmx5d2hlZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVGbHl3aGVlbDogc3RyaW5nW10gPSBbXCJjb21wcmVoZW5kOkRlbGV0ZUZseXdoZWVsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEYXRhc2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEYXRhc2V0OiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGVzY3JpYmVEYXRhc2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZURvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEb2N1bWVudENsYXNzaWZpZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvY3VtZW50Q2xhc3NpZmllcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRG9jdW1lbnRDbGFzc2lmaWVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFbmRwb2ludDogc3RyaW5nW10gPSBbXCJjb21wcmVoZW5kOkRlc2NyaWJlRW5kcG9pbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRW50aXRpZXNEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVudGl0aWVzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGVzY3JpYmVFbnRpdGllc0RldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVudGl0eVJlY29nbml6ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVudGl0eVJlY29nbml6ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZUVudGl0eVJlY29nbml6ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVFdmVudHNEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV2ZW50c0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlRXZlbnRzRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRmx5d2hlZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZseXdoZWVsOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGVzY3JpYmVGbHl3aGVlbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVGbHl3aGVlbEl0ZXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRmx5d2hlZWxJdGVyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZUZseXdoZWVsSXRlcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlS2V5UGhyYXNlc0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlS2V5UGhyYXNlc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlS2V5UGhyYXNlc0RldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaWlFbnRpdGllc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlUGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZVJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VudGltZW50RGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZW50aW1lbnREZXRlY3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpEZXNjcmliZVNlbnRpbWVudERldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlVGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUb3BpY3NEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRvcGljc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRlc2NyaWJlVG9waWNzRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGVjdERvbWluYW50TGFuZ3VhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3REb21pbmFudExhbmd1YWdlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGV0ZWN0RG9taW5hbnRMYW5ndWFnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRlY3RFbnRpdGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdEVudGl0aWVzOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGV0ZWN0RW50aXRpZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGVjdEtleVBocmFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RLZXlQaHJhc2VzOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGV0ZWN0S2V5UGhyYXNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0ZWN0UGlpRW50aXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXRlY3RQaWlFbnRpdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkRldGVjdFBpaUVudGl0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERldGVjdFNlbnRpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdFNlbnRpbWVudDogc3RyaW5nW10gPSBbXCJjb21wcmVoZW5kOkRldGVjdFNlbnRpbWVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0ZWN0U3ludGF4IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0U3ludGF4OiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6RGV0ZWN0U3ludGF4XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXRlY3RUYXJnZXRlZFNlbnRpbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERldGVjdFRhcmdldGVkU2VudGltZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGV0ZWN0VGFyZ2V0ZWRTZW50aW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGV0ZWN0VG94aWNDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGV0ZWN0VG94aWNDb250ZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6RGV0ZWN0VG94aWNDb250ZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydE1vZGVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0TW9kZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpJbXBvcnRNb2RlbFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYXRhc2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYXRhc2V0czogc3RyaW5nW10gPSBbXCJjb21wcmVoZW5kOkxpc3REYXRhc2V0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb2N1bWVudENsYXNzaWZpZXJTdW1tYXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRDbGFzc2lmaWVyU3VtbWFyaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdERvY3VtZW50Q2xhc3NpZmllclN1bW1hcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9jdW1lbnRDbGFzc2lmaWVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudENsYXNzaWZpZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdERvY3VtZW50Q2xhc3NpZmllcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbmRwb2ludHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW5kcG9pbnRzOiBzdHJpbmdbXSA9IFtcImNvbXByZWhlbmQ6TGlzdEVuZHBvaW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEVudGl0aWVzRGV0ZWN0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFbnRpdGllc0RldGVjdGlvbkpvYnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0RW50aXRpZXNEZXRlY3Rpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFbnRpdHlSZWNvZ25pemVyU3VtbWFyaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEVudGl0eVJlY29nbml6ZXJTdW1tYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0RW50aXR5UmVjb2duaXplclN1bW1hcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RW50aXR5UmVjb2duaXplcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RW50aXR5UmVjb2duaXplcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpMaXN0RW50aXR5UmVjb2duaXplcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV2ZW50c0RldGVjdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXZlbnRzRGV0ZWN0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RFdmVudHNEZXRlY3Rpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGbHl3aGVlbEl0ZXJhdGlvbkhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Rmx5d2hlZWxJdGVyYXRpb25IaXN0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdEZseXdoZWVsSXRlcmF0aW9uSGlzdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Rmx5d2hlZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZseXdoZWVsczogc3RyaW5nW10gPSBbXCJjb21wcmVoZW5kOkxpc3RGbHl3aGVlbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RLZXlQaHJhc2VzRGV0ZWN0aW9uSm9icyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RLZXlQaHJhc2VzRGV0ZWN0aW9uSm9ic1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBpaUVudGl0aWVzRGV0ZWN0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RQaWlFbnRpdGllc0RldGVjdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlbnRpbWVudERldGVjdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VudGltZW50RGV0ZWN0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RTZW50aW1lbnREZXRlY3Rpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRvcGljc0RldGVjdGlvbkpvYnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VG9waWNzRGV0ZWN0aW9uSm9iczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkxpc3RUb3BpY3NEZXRlY3Rpb25Kb2JzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29tcHJlaGVuZDpQdXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydERvY3VtZW50Q2xhc3NpZmljYXRpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0RG9jdW1lbnRDbGFzc2lmaWNhdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0RG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEVudGl0aWVzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFbnRpdGllc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6U3RhcnRFbnRpdGllc0RldGVjdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEV2ZW50c0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RXZlbnRzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpTdGFydEV2ZW50c0RldGVjdGlvbkpvYlwiLFxuXHRcdFwiY29tcHJlaGVuZDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZseXdoZWVsSXRlcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGbHl3aGVlbEl0ZXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0Rmx5d2hlZWxJdGVyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29tcHJlaGVuZDpTdGFydEtleVBocmFzZXNEZXRlY3Rpb25Kb2JcIixcblx0XHRcImNvbXByZWhlbmQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRQaWlFbnRpdGllc0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2JcIixcblx0XHRcImNvbXByZWhlbmQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTZW50aW1lbnREZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNlbnRpbWVudERldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6U3RhcnRTZW50aW1lbnREZXRlY3Rpb25Kb2JcIixcblx0XHRcImNvbXByZWhlbmQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRUYXJnZXRlZFNlbnRpbWVudERldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2I6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlN0YXJ0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JcIixcblx0XHRcImNvbXByZWhlbmQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRUb3BpY3NEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRvcGljc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbXByZWhlbmQ6U3RhcnRUb3BpY3NEZXRlY3Rpb25Kb2JcIixcblx0XHRcImNvbXByZWhlbmQ6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wRG9taW5hbnRMYW5ndWFnZURldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0b3BEb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BFbnRpdGllc0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BFbnRpdGllc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0b3BFbnRpdGllc0RldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRXZlbnRzRGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEV2ZW50c0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0b3BFdmVudHNEZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEtleVBocmFzZXNEZXRlY3Rpb25Kb2IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wS2V5UGhyYXNlc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0b3BLZXlQaHJhc2VzRGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BQaWlFbnRpdGllc0RldGVjdGlvbkpvYiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BQaWlFbnRpdGllc0RldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0b3BQaWlFbnRpdGllc0RldGVjdGlvbkpvYlwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wU2VudGltZW50RGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFNlbnRpbWVudERldGVjdGlvbkpvYjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0b3BTZW50aW1lbnREZXRlY3Rpb25Kb2JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbXByZWhlbmQ6U3RvcFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUcmFpbmluZ0RvY3VtZW50Q2xhc3NpZmllciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUcmFpbmluZ0RvY3VtZW50Q2xhc3NpZmllcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0b3BUcmFpbmluZ0RvY3VtZW50Q2xhc3NpZmllclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVHJhaW5pbmdFbnRpdHlSZWNvZ25pemVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRyYWluaW5nRW50aXR5UmVjb2duaXplcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOlN0b3BUcmFpbmluZ0VudGl0eVJlY29nbml6ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJjb21wcmVoZW5kOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJjb21wcmVoZW5kOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUVuZHBvaW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRW5kcG9pbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlVwZGF0ZUVuZHBvaW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZseXdoZWVsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmx5d2hlZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb21wcmVoZW5kOlVwZGF0ZUZseXdoZWVsXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBjb21wcmVoZW5kLlxuICovXG5leHBvcnQgY2xhc3MgQ29tcHJlaGVuZENvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRGF0YXNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYXRhc2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEb2N1bWVudENsYXNzaWZpZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9jdW1lbnRDbGFzc2lmaWVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb21wcmVoZW5kOk1vZGVsS21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOk91dHB1dEttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWb2x1bWVLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFbnRpdHlSZWNvZ25pemVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUVudGl0eVJlY29nbml6ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvbXByZWhlbmQ6TW9kZWxLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6Vm9sdW1lS21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1NlY3VyaXR5R3JvdXBJZHNcIixcblx0XHRcImNvbXByZWhlbmQ6VnBjU3VibmV0c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVGbHl3aGVlbEl0ZXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUZseXdoZWVsSXRlcmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb21wcmVoZW5kOkZseXdoZWVsSXRlcmF0aW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEltcG9ydE1vZGVsIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydE1vZGVsQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb21wcmVoZW5kOk1vZGVsS21zS2V5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydERvbWluYW50TGFuZ3VhZ2VEZXRlY3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREb21pbmFudExhbmd1YWdlRGV0ZWN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb21wcmVoZW5kOk91dHB1dEttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWb2x1bWVLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydEV2ZW50c0RldGVjdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEV2ZW50c0RldGVjdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiY29tcHJlaGVuZDpPdXRwdXRLbXNLZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0S2V5UGhyYXNlc0RldGVjdGlvbkpvYiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEtleVBocmFzZXNEZXRlY3Rpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvbXByZWhlbmQ6T3V0cHV0S21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZvbHVtZUttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0UGlpRW50aXRpZXNEZXRlY3Rpb25Kb2IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRQaWlFbnRpdGllc0RldGVjdGlvbkpvYkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwiY29tcHJlaGVuZDpPdXRwdXRLbXNLZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0U2VudGltZW50RGV0ZWN0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2VudGltZW50RGV0ZWN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb21wcmVoZW5kOk91dHB1dEttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWb2x1bWVLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydFRhcmdldGVkU2VudGltZW50RGV0ZWN0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGFyZ2V0ZWRTZW50aW1lbnREZXRlY3Rpb25Kb2JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvbXByZWhlbmQ6T3V0cHV0S21zS2V5XCIsXG5cdFx0XCJjb21wcmVoZW5kOlZvbHVtZUttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzXCIsXG5cdFx0XCJjb21wcmVoZW5kOlZwY1N1Ym5ldHNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0VG9waWNzRGV0ZWN0aW9uSm9iIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VG9waWNzRGV0ZWN0aW9uSm9iQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb21wcmVoZW5kOk91dHB1dEttc0tleVwiLFxuXHRcdFwiY29tcHJlaGVuZDpWb2x1bWVLbXNLZXlcIixcblx0XHRcImNvbXByZWhlbmQ6VnBjU2VjdXJpdHlHcm91cElkc1wiLFxuXHRcdFwiY29tcHJlaGVuZDpWcGNTdWJuZXRzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb21wcmVoZW5kOkRhdGFMYWtlS21zS2V5IChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBEQVRBX0xBS0VfS01TX0tFWSA9IFwiY29tcHJlaGVuZDpEYXRhTGFrZUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29tcHJlaGVuZDpGbHl3aGVlbEl0ZXJhdGlvbklkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGTFlXSEVFTF9JVEVSQVRJT05fSUQgPSBcImNvbXByZWhlbmQ6Rmx5d2hlZWxJdGVyYXRpb25JZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29tcHJlaGVuZDpNb2RlbEttc0tleSAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTU9ERUxfS01TX0tFWSA9IFwiY29tcHJlaGVuZDpNb2RlbEttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29tcHJlaGVuZDpPdXRwdXRLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IE9VVFBVVF9LTVNfS0VZID0gXCJjb21wcmVoZW5kOk91dHB1dEttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29tcHJlaGVuZDpWb2x1bWVLbXNLZXkgKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZPTFVNRV9LTVNfS0VZID0gXCJjb21wcmVoZW5kOlZvbHVtZUttc0tleVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX1NFQ1VSSVRZX0dST1VQX0lEUyA9IFwiY29tcHJlaGVuZDpWcGNTZWN1cml0eUdyb3VwSWRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb21wcmVoZW5kOlZwY1N1Ym5ldHMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBWUENfU1VCTkVUUyA9IFwiY29tcHJlaGVuZDpWcGNTdWJuZXRzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvbXByZWhlbmQ6RGF0YUxha2VLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIGRhdGFMYWtlS01TS2V5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiY29tcHJlaGVuZDpEYXRhTGFrZUttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29tcHJlaGVuZDpGbHl3aGVlbEl0ZXJhdGlvbklkYC5cblx0ICovXG5cdHN0YXRpYyBmbHl3aGVlbEl0ZXJhdGlvbklkKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJjb21wcmVoZW5kOkZseXdoZWVsSXRlcmF0aW9uSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvbXByZWhlbmQ6TW9kZWxLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIG1vZGVsS01TS2V5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiY29tcHJlaGVuZDpNb2RlbEttc0tleVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29tcHJlaGVuZDpPdXRwdXRLbXNLZXlgLlxuXHQgKi9cblx0c3RhdGljIG91dHB1dEtNU0tleSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImNvbXByZWhlbmQ6T3V0cHV0S21zS2V5XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb21wcmVoZW5kOlZvbHVtZUttc0tleWAuXG5cdCAqL1xuXHRzdGF0aWMgdm9sdW1lS01TS2V5KHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwiY29tcHJlaGVuZDpWb2x1bWVLbXNLZXlcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvbXByZWhlbmQ6VnBjU2VjdXJpdHlHcm91cElkc2AuXG5cdCAqL1xuXHRzdGF0aWMgdnBjU2VjdXJpdHlHcm91cElkcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJjb21wcmVoZW5kOlZwY1NlY3VyaXR5R3JvdXBJZHNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb21wcmVoZW5kOlZwY1N1Ym5ldHNgLlxuXHQgKi9cblx0c3RhdGljIHZwY1N1Ym5ldHMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJjb21wcmVoZW5kOlZwY1N1Ym5ldHNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
|