@cdk_utils/iam 1.6.0 → 1.8.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 +9732 -8330
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +9 -5
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +4 -4
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.d.ts +4 -0
- package/lib/generated/services/bedrock.js +11 -5
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +4 -4
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.js +4 -4
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.js +4 -4
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.js +13 -7
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +11 -6
- 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 +95 -0
- package/lib/generated/services/ec2.js +161 -19
- 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.d.ts +20 -0
- package/lib/generated/services/eks.js +40 -5
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.js +4 -4
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.d.ts +16 -0
- package/lib/generated/services/lambda.js +38 -5
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +6 -5
- package/lib/generated/services/omics.js +4 -4
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +6 -5
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +9 -6
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +4 -4
- package/lib/generated/services/resource-explorer-2.js +4 -4
- package/lib/generated/services/resource-explorer.js +1 -1
- package/lib/generated/services/resource-groups.js +4 -4
- package/lib/generated/services/rhelkb.js +1 -1
- package/lib/generated/services/robomaker.js +3 -3
- package/lib/generated/services/rolesanywhere.js +4 -4
- package/lib/generated/services/route53-recovery-cluster.js +4 -4
- package/lib/generated/services/route53-recovery-control-config.js +4 -4
- package/lib/generated/services/route53-recovery-readiness.js +4 -4
- package/lib/generated/services/route53.js +4 -4
- package/lib/generated/services/route53domains.js +2 -2
- package/lib/generated/services/route53globalresolver.js +4 -4
- package/lib/generated/services/route53profiles.js +4 -4
- package/lib/generated/services/route53resolver.js +4 -4
- package/lib/generated/services/rtbfabric.js +4 -4
- package/lib/generated/services/rum.js +4 -4
- package/lib/generated/services/s3-object-lambda.js +3 -3
- package/lib/generated/services/s3-outposts.js +4 -4
- package/lib/generated/services/s3.js +4 -4
- package/lib/generated/services/s3express.js +3 -3
- package/lib/generated/services/s3files.js +4 -4
- package/lib/generated/services/s3tables.js +4 -4
- package/lib/generated/services/s3vectors.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.js +4 -4
- package/lib/generated/services/savingsplans.js +4 -4
- package/lib/generated/services/scheduler.js +4 -4
- package/lib/generated/services/schemas.js +4 -4
- package/lib/generated/services/scn.js +4 -4
- package/lib/generated/services/sdb.js +3 -3
- package/lib/generated/services/secretsmanager.js +4 -4
- package/lib/generated/services/security-ir.js +4 -4
- package/lib/generated/services/securityagent.js +4 -4
- package/lib/generated/services/securityhub.js +4 -4
- package/lib/generated/services/securitylake.js +4 -4
- package/lib/generated/services/serverlessrepo.js +4 -4
- package/lib/generated/services/servicecatalog.js +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.js +4 -4
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.d.ts +20 -0
- package/lib/generated/services/ssm.js +39 -5
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +6 -17
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.d.ts +4 -0
- package/lib/generated/services/workspaces.js +11 -5
- package/lib/generated/services/xray.js +4 -4
- package/package.json +2 -2
|
@@ -16,7 +16,7 @@ class SSMActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.SSMActions = SSMActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
SSMActions[_a] = { fqn: "@cdk_utils/iam.ssm.SSMActions", version: "1.
|
|
19
|
+
SSMActions[_a] = { fqn: "@cdk_utils/iam.ssm.SSMActions", version: "1.8.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
SSMActions.SERVICE_PREFIX = "ssm";
|
|
22
22
|
/** [Tagging] ssm:AddTagsToResource */
|
|
@@ -281,6 +281,8 @@ SSMActions.RegisterTargetWithMaintenanceWindow = "ssm:RegisterTargetWithMaintena
|
|
|
281
281
|
SSMActions.RegisterTaskWithMaintenanceWindow = "ssm:RegisterTaskWithMaintenanceWindow";
|
|
282
282
|
/** [Tagging] ssm:RemoveTagsFromResource */
|
|
283
283
|
SSMActions.RemoveTagsFromResource = "ssm:RemoveTagsFromResource";
|
|
284
|
+
/** [Write] ssm:RequestManagedInstanceRoleToken */
|
|
285
|
+
SSMActions.RequestManagedInstanceRoleToken = "ssm:RequestManagedInstanceRoleToken";
|
|
284
286
|
/** [Write] ssm:ResetServiceSetting */
|
|
285
287
|
SSMActions.ResetServiceSetting = "ssm:ResetServiceSetting";
|
|
286
288
|
/** [Write] ssm:ResumeSession */
|
|
@@ -329,6 +331,8 @@ SSMActions.UpdateMaintenanceWindow = "ssm:UpdateMaintenanceWindow";
|
|
|
329
331
|
SSMActions.UpdateMaintenanceWindowTarget = "ssm:UpdateMaintenanceWindowTarget";
|
|
330
332
|
/** [Write] ssm:UpdateMaintenanceWindowTask */
|
|
331
333
|
SSMActions.UpdateMaintenanceWindowTask = "ssm:UpdateMaintenanceWindowTask";
|
|
334
|
+
/** [Write] ssm:UpdateManagedInstancePublicKey */
|
|
335
|
+
SSMActions.UpdateManagedInstancePublicKey = "ssm:UpdateManagedInstancePublicKey";
|
|
332
336
|
/** [Write] ssm:UpdateManagedInstanceRole */
|
|
333
337
|
SSMActions.UpdateManagedInstanceRole = "ssm:UpdateManagedInstanceRole";
|
|
334
338
|
/** [Write] ssm:UpdateOpsItem */
|
|
@@ -441,6 +445,7 @@ SSMActions.AllWriteActions = [
|
|
|
441
445
|
SSMActions.RegisterPatchBaselineForPatchGroup,
|
|
442
446
|
SSMActions.RegisterTargetWithMaintenanceWindow,
|
|
443
447
|
SSMActions.RegisterTaskWithMaintenanceWindow,
|
|
448
|
+
SSMActions.RequestManagedInstanceRoleToken,
|
|
444
449
|
SSMActions.ResetServiceSetting,
|
|
445
450
|
SSMActions.ResumeSession,
|
|
446
451
|
SSMActions.SendAutomationSignal,
|
|
@@ -464,6 +469,7 @@ SSMActions.AllWriteActions = [
|
|
|
464
469
|
SSMActions.UpdateMaintenanceWindow,
|
|
465
470
|
SSMActions.UpdateMaintenanceWindowTarget,
|
|
466
471
|
SSMActions.UpdateMaintenanceWindowTask,
|
|
472
|
+
SSMActions.UpdateManagedInstancePublicKey,
|
|
467
473
|
SSMActions.UpdateManagedInstanceRole,
|
|
468
474
|
SSMActions.UpdateOpsItem,
|
|
469
475
|
SSMActions.UpdateOpsMetadata,
|
|
@@ -1164,7 +1170,7 @@ class SSMResources {
|
|
|
1164
1170
|
}
|
|
1165
1171
|
exports.SSMResources = SSMResources;
|
|
1166
1172
|
_b = JSII_RTTI_SYMBOL_1;
|
|
1167
|
-
SSMResources[_b] = { fqn: "@cdk_utils/iam.ssm.SSMResources", version: "1.
|
|
1173
|
+
SSMResources[_b] = { fqn: "@cdk_utils/iam.ssm.SSMResources", version: "1.8.0" };
|
|
1168
1174
|
/**
|
|
1169
1175
|
* API operation to required IAM actions mapping for ssm.
|
|
1170
1176
|
*/
|
|
@@ -1172,7 +1178,7 @@ class SSMOperations {
|
|
|
1172
1178
|
}
|
|
1173
1179
|
exports.SSMOperations = SSMOperations;
|
|
1174
1180
|
_c = JSII_RTTI_SYMBOL_1;
|
|
1175
|
-
SSMOperations[_c] = { fqn: "@cdk_utils/iam.ssm.SSMOperations", version: "1.
|
|
1181
|
+
SSMOperations[_c] = { fqn: "@cdk_utils/iam.ssm.SSMOperations", version: "1.8.0" };
|
|
1176
1182
|
/** IAM actions required for the AddTagsToResource API call. */
|
|
1177
1183
|
SSMOperations.AddTagsToResource = ["ssm:AddTagsToResource"];
|
|
1178
1184
|
/** IAM actions required for the AssociateOpsItemRelatedItem API call. */
|
|
@@ -1739,6 +1745,18 @@ class SSMConditions {
|
|
|
1739
1745
|
static inventoryTypeName(values) {
|
|
1740
1746
|
return { "ForAllValues:StringEquals": { "ssm:InventoryTypeName": values } };
|
|
1741
1747
|
}
|
|
1748
|
+
/**
|
|
1749
|
+
* Generates a condition block for `ssm:NodeAccountId`.
|
|
1750
|
+
*/
|
|
1751
|
+
static nodeAccountId(value) {
|
|
1752
|
+
return { StringEquals: { "ssm:NodeAccountId": value } };
|
|
1753
|
+
}
|
|
1754
|
+
/**
|
|
1755
|
+
* Generates a condition block for `ssm:NodeOrgId`.
|
|
1756
|
+
*/
|
|
1757
|
+
static nodeOrgId(value) {
|
|
1758
|
+
return { StringEquals: { "ssm:NodeOrgId": value } };
|
|
1759
|
+
}
|
|
1742
1760
|
/**
|
|
1743
1761
|
* Generates a condition block for `ssm:Overwrite`.
|
|
1744
1762
|
*/
|
|
@@ -1800,7 +1818,7 @@ class SSMConditions {
|
|
|
1800
1818
|
}
|
|
1801
1819
|
exports.SSMConditions = SSMConditions;
|
|
1802
1820
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1803
|
-
SSMConditions[_d] = { fqn: "@cdk_utils/iam.ssm.SSMConditions", version: "1.
|
|
1821
|
+
SSMConditions[_d] = { fqn: "@cdk_utils/iam.ssm.SSMConditions", version: "1.8.0" };
|
|
1804
1822
|
/** Condition keys applicable to the AddTagsToResource action. */
|
|
1805
1823
|
SSMConditions.AddTagsToResourceConditionKeys = [
|
|
1806
1824
|
"aws:RequestTag/${TagKey}",
|
|
@@ -2007,12 +2025,19 @@ SSMConditions.PutParameterConditionKeys = [
|
|
|
2007
2025
|
SSMConditions.RegisterManagedInstanceConditionKeys = [
|
|
2008
2026
|
"aws:RequestTag/${TagKey}",
|
|
2009
2027
|
"aws:TagKeys",
|
|
2028
|
+
"ssm:NodeAccountId",
|
|
2029
|
+
"ssm:NodeOrgId",
|
|
2010
2030
|
];
|
|
2011
2031
|
/** Condition keys applicable to the RemoveTagsFromResource action. */
|
|
2012
2032
|
SSMConditions.RemoveTagsFromResourceConditionKeys = [
|
|
2013
2033
|
"aws:ResourceTag/${TagKey}",
|
|
2014
2034
|
"aws:TagKeys",
|
|
2015
2035
|
];
|
|
2036
|
+
/** Condition keys applicable to the RequestManagedInstanceRoleToken action. */
|
|
2037
|
+
SSMConditions.RequestManagedInstanceRoleTokenConditionKeys = [
|
|
2038
|
+
"ssm:NodeAccountId",
|
|
2039
|
+
"ssm:NodeOrgId",
|
|
2040
|
+
];
|
|
2016
2041
|
/** Condition keys applicable to the ResumeSession action. */
|
|
2017
2042
|
SSMConditions.ResumeSessionConditionKeys = [
|
|
2018
2043
|
"ssm:resourceTag/aws:ssmmessages:session-id",
|
|
@@ -2106,6 +2131,11 @@ SSMConditions.UpdateInstanceInformationConditionKeys = [
|
|
|
2106
2131
|
"ec2:SourceInstanceARN",
|
|
2107
2132
|
"ssm:SourceInstanceARN",
|
|
2108
2133
|
];
|
|
2134
|
+
/** Condition keys applicable to the UpdateManagedInstancePublicKey action. */
|
|
2135
|
+
SSMConditions.UpdateManagedInstancePublicKeyConditionKeys = [
|
|
2136
|
+
"ssm:NodeAccountId",
|
|
2137
|
+
"ssm:NodeOrgId",
|
|
2138
|
+
];
|
|
2109
2139
|
/** Condition keys applicable to the UpdateManagedInstanceRole action. */
|
|
2110
2140
|
SSMConditions.UpdateManagedInstanceRoleConditionKeys = [
|
|
2111
2141
|
"ssm:resourceTag/tag-key",
|
|
@@ -2138,6 +2168,10 @@ SSMConditions.DOCUMENT_TYPE = "ssm:DocumentType";
|
|
|
2138
2168
|
SSMConditions.DOCUMENT_VERSION = "ssm:DocumentVersion";
|
|
2139
2169
|
/** Condition key: ssm:InventoryTypeName (ArrayOfString) */
|
|
2140
2170
|
SSMConditions.INVENTORY_TYPE_NAME = "ssm:InventoryTypeName";
|
|
2171
|
+
/** Condition key: ssm:NodeAccountId (String) */
|
|
2172
|
+
SSMConditions.NODE_ACCOUNT_ID = "ssm:NodeAccountId";
|
|
2173
|
+
/** Condition key: ssm:NodeOrgId (String) */
|
|
2174
|
+
SSMConditions.NODE_ORG_ID = "ssm:NodeOrgId";
|
|
2141
2175
|
/** Condition key: ssm:Overwrite (String) */
|
|
2142
2176
|
SSMConditions.OVERWRITE = "ssm:Overwrite";
|
|
2143
2177
|
/** Condition key: ssm:Policies (String) */
|
|
@@ -2156,4 +2190,4 @@ SSMConditions.RESOURCE_TAG_AWS_SSMMESSAGES_SESSION_ID = "ssm:resourceTag/aws:ssm
|
|
|
2156
2190
|
SSMConditions.RESOURCE_TAG_AWS_SSMMESSAGES_TARGET_ID = "ssm:resourceTag/aws:ssmmessages:target-id";
|
|
2157
2191
|
/** Condition key: ssm:resourceTag/tag-key (String) */
|
|
2158
2192
|
SSMConditions.RESOURCE_TAG_TAG_KEY = "ssm:resourceTag/tag-key";
|
|
2159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBa2lCQzs7O0FBamlCQSw4QkFBOEI7QUFDZCx5QkFBYyxHQUFHLEtBQUssQ0FBQztBQUV2QyxzQ0FBc0M7QUFDdEIsNEJBQWlCLEdBQUcsdUJBQXVCLENBQUM7QUFDNUQsOENBQThDO0FBQzlCLHNDQUEyQixHQUMxQyxpQ0FBaUMsQ0FBQztBQUNuQyxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCxtREFBbUQ7QUFDbkMsMkNBQWdDLEdBQy9DLHNDQUFzQyxDQUFDO0FBQ3hDLG1DQUFtQztBQUNuQiwyQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMxRCxvQ0FBb0M7QUFDcEIsNEJBQWlCLEdBQUcsdUJBQXVCLENBQUM7QUFDNUQseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHVDQUF1QztBQUN2QiwrQkFBb0IsR0FBRywwQkFBMEIsQ0FBQztBQUNsRSxpQ0FBaUM7QUFDakIseUJBQWMsR0FBRyxvQkFBb0IsQ0FBQztBQUN0RCwwQ0FBMEM7QUFDMUIsa0NBQXVCLEdBQUcsNkJBQTZCLENBQUM7QUFDeEUsZ0NBQWdDO0FBQ2hCLHdCQUFhLEdBQUcsbUJBQW1CLENBQUM7QUFDcEQsb0NBQW9DO0FBQ3BCLDRCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELHNDQUFzQztBQUN0Qiw4QkFBbUIsR0FBRyx5QkFBeUIsQ0FBQztBQUNoRSx5Q0FBeUM7QUFDekIsaUNBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFDdEUsbUNBQW1D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QztBQUM5RCw0Q0FBNEM7QUFDNUIsdUJBQVMsR0FBRyxlQUFlLENBQUM7QUFDNUMsMkNBQTJDO0FBQzNCLHNCQUFRLEdBQUcsY0FBYyxDQUFDO0FBQzFDLDRDQUE0QztBQUM1Qix1QkFBUyxHQUFHLGVBQWUsQ0FBQztBQUM1QywyREFBMkQ7QUFDM0MsMkNBQTZCLEdBQzVDLGdDQUFnQyxDQUFDO0FBQ2xDLDJDQUEyQztBQUMzQix1QkFBUyxHQUFHLGNBQWMsQ0FBQztBQUMzQyx3REFBd0Q7QUFDeEMsMEJBQVksR0FBRywyQkFBMkIsQ0FBQztBQUMzRCx5RUFBeUU7QUFDekQscURBQXVDLEdBQ3RELDRDQUE0QyxDQUFDO0FBQzlDLHdFQUF3RTtBQUN4RCxvREFBc0MsR0FDckQsMkNBQTJDLENBQUM7QUFDN0Msc0RBQXNEO0FBQ3RDLGtDQUFvQixHQUFHLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvc3NtLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzc20gc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNTTUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJzc21cIjtcblxuXHQvKiogW1RhZ2dpbmddIHNzbTpBZGRUYWdzVG9SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvUmVzb3VyY2UgPSBcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBzc206QXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW0gPVxuXHRcdFwic3NtOkFzc29jaWF0ZU9wc0l0ZW1SZWxhdGVkSXRlbVwiO1xuXHQvKiogW1dyaXRlXSBzc206Q2FuY2VsQ29tbWFuZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ29tbWFuZCA9IFwic3NtOkNhbmNlbENvbW1hbmRcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNhbmNlbE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbiA9XG5cdFx0XCJzc206Q2FuY2VsTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNyZWF0ZUFjdGl2YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGl2YXRpb24gPSBcInNzbTpDcmVhdGVBY3RpdmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpDcmVhdGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzb2NpYXRpb24gPSBcInNzbTpDcmVhdGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzc206Q3JlYXRlQXNzb2NpYXRpb25CYXRjaCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzb2NpYXRpb25CYXRjaCA9IFwic3NtOkNyZWF0ZUFzc29jaWF0aW9uQmF0Y2hcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNyZWF0ZUNsb3VkQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbG91ZENvbm5lY3RvciA9IFwic3NtOkNyZWF0ZUNsb3VkQ29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpDcmVhdGVEb2N1bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9jdW1lbnQgPSBcInNzbTpDcmVhdGVEb2N1bWVudFwiO1xuXHQvKiogW1dyaXRlXSBzc206Q3JlYXRlTWFpbnRlbmFuY2VXaW5kb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1haW50ZW5hbmNlV2luZG93ID0gXCJzc206Q3JlYXRlTWFpbnRlbmFuY2VXaW5kb3dcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNyZWF0ZU9wc0l0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wc0l0ZW0gPSBcInNzbTpDcmVhdGVPcHNJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpDcmVhdGVPcHNNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3BzTWV0YWRhdGEgPSBcInNzbTpDcmVhdGVPcHNNZXRhZGF0YVwiO1xuXHQvKiogW1dyaXRlXSBzc206Q3JlYXRlUGF0Y2hCYXNlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF0Y2hCYXNlbGluZSA9IFwic3NtOkNyZWF0ZVBhdGNoQmFzZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNyZWF0ZVJlc291cmNlRGF0YVN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlRGF0YVN5bmMgPSBcInNzbTpDcmVhdGVSZXNvdXJjZURhdGFTeW5jXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZWxldGVBY3RpdmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY3RpdmF0aW9uID0gXCJzc206RGVsZXRlQWN0aXZhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzc206RGVsZXRlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uID0gXCJzc206RGVsZXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlbGV0ZUNsb3VkQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbG91ZENvbm5lY3RvciA9IFwic3NtOkRlbGV0ZUNsb3VkQ29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZWxldGVEb2N1bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9jdW1lbnQgPSBcInNzbTpEZWxldGVEb2N1bWVudFwiO1xuXHQvKiogW1dyaXRlXSBzc206RGVsZXRlSW52ZW50b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnZlbnRvcnkgPSBcInNzbTpEZWxldGVJbnZlbnRvcnlcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlbGV0ZU1haW50ZW5hbmNlV2luZG93ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYWludGVuYW5jZVdpbmRvdyA9IFwic3NtOkRlbGV0ZU1haW50ZW5hbmNlV2luZG93XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZWxldGVPcHNJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHNJdGVtID0gXCJzc206RGVsZXRlT3BzSXRlbVwiO1xuXHQvKiogW1dyaXRlXSBzc206RGVsZXRlT3BzTWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wc01ldGFkYXRhID0gXCJzc206RGVsZXRlT3BzTWV0YWRhdGFcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlbGV0ZVBhcmFtZXRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFyYW1ldGVyID0gXCJzc206RGVsZXRlUGFyYW1ldGVyXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZWxldGVQYXJhbWV0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJhbWV0ZXJzID0gXCJzc206RGVsZXRlUGFyYW1ldGVyc1wiO1xuXHQvKiogW1dyaXRlXSBzc206RGVsZXRlUGF0Y2hCYXNlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGF0Y2hCYXNlbGluZSA9IFwic3NtOkRlbGV0ZVBhdGNoQmFzZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlbGV0ZVJlc291cmNlRGF0YVN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlRGF0YVN5bmMgPSBcInNzbTpEZWxldGVSZXNvdXJjZURhdGFTeW5jXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHNzbTpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcInNzbTpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzc206RGVyZWdpc3Rlck1hbmFnZWRJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlck1hbmFnZWRJbnN0YW5jZSA9IFwic3NtOkRlcmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2VcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlcmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwID1cblx0XHRcInNzbTpEZXJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXBcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlcmVnaXN0ZXJUYXJnZXRGcm9tTWFpbnRlbmFuY2VXaW5kb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJUYXJnZXRGcm9tTWFpbnRlbmFuY2VXaW5kb3cgPVxuXHRcdFwic3NtOkRlcmVnaXN0ZXJUYXJnZXRGcm9tTWFpbnRlbmFuY2VXaW5kb3dcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlcmVnaXN0ZXJUYXNrRnJvbU1haW50ZW5hbmNlV2luZG93ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFza0Zyb21NYWludGVuYW5jZVdpbmRvdyA9XG5cdFx0XCJzc206RGVyZWdpc3RlclRhc2tGcm9tTWFpbnRlbmFuY2VXaW5kb3dcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVBY3RpdmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY3RpdmF0aW9ucyA9IFwic3NtOkRlc2NyaWJlQWN0aXZhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBc3NvY2lhdGlvbiA9IFwic3NtOkRlc2NyaWJlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvblRhcmdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25UYXJnZXRzID1cblx0XHRcInNzbTpEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9uVGFyZ2V0c1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvbnMgPVxuXHRcdFwic3NtOkRlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlQXV0b21hdGlvbkV4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b21hdGlvbkV4ZWN1dGlvbnMgPVxuXHRcdFwic3NtOkRlc2NyaWJlQXV0b21hdGlvbkV4ZWN1dGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVBdXRvbWF0aW9uU3RlcEV4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b21hdGlvblN0ZXBFeGVjdXRpb25zID1cblx0XHRcInNzbTpEZXNjcmliZUF1dG9tYXRpb25TdGVwRXhlY3V0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUF2YWlsYWJsZVBhdGNoZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXZhaWxhYmxlUGF0Y2hlcyA9IFwic3NtOkRlc2NyaWJlQXZhaWxhYmxlUGF0Y2hlc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZURvY3VtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvY3VtZW50ID0gXCJzc206RGVzY3JpYmVEb2N1bWVudFwiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZURvY3VtZW50UGFyYW1ldGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb2N1bWVudFBhcmFtZXRlcnMgPSBcInNzbTpEZXNjcmliZURvY3VtZW50UGFyYW1ldGVyc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZURvY3VtZW50UGVybWlzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb2N1bWVudFBlcm1pc3Npb24gPSBcInNzbTpEZXNjcmliZURvY3VtZW50UGVybWlzc2lvblwiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zID1cblx0XHRcInNzbTpEZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlRWZmZWN0aXZlUGF0Y2hlc0ZvclBhdGNoQmFzZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWZmZWN0aXZlUGF0Y2hlc0ZvclBhdGNoQmFzZWxpbmUgPVxuXHRcdFwic3NtOkRlc2NyaWJlRWZmZWN0aXZlUGF0Y2hlc0ZvclBhdGNoQmFzZWxpbmVcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVJbnN0YW5jZUFzc29jaWF0aW9uc1N0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZUFzc29jaWF0aW9uc1N0YXR1cyA9XG5cdFx0XCJzc206RGVzY3JpYmVJbnN0YW5jZUFzc29jaWF0aW9uc1N0YXR1c1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUluc3RhbmNlSW5mb3JtYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VJbmZvcm1hdGlvbiA9XG5cdFx0XCJzc206RGVzY3JpYmVJbnN0YW5jZUluZm9ybWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzID1cblx0XHRcInNzbTpEZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzRm9yUGF0Y2hHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzRm9yUGF0Y2hHcm91cCA9XG5cdFx0XCJzc206RGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzRm9yUGF0Y2hHcm91cFwiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUluc3RhbmNlUGF0Y2hlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVBhdGNoZXMgPSBcInNzbTpEZXNjcmliZUluc3RhbmNlUGF0Y2hlc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUluc3RhbmNlUHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVByb3BlcnRpZXMgPSBcInNzbTpEZXNjcmliZUluc3RhbmNlUHJvcGVydGllc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUludmVudG9yeURlbGV0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnZlbnRvcnlEZWxldGlvbnMgPSBcInNzbTpEZXNjcmliZUludmVudG9yeURlbGV0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25zID1cblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tzID1cblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza3NcIjtcblx0LyoqIFtMaXN0XSBzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25zID1cblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93U2NoZWR1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dTY2hlZHVsZSA9XG5cdFx0XCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1NjaGVkdWxlXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0cyA9XG5cdFx0XCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1RhcmdldHNcIjtcblx0LyoqIFtMaXN0XSBzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1Rhc2tzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFza3MgPVxuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXNrc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd3MgPSBcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93c1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93c0ZvclRhcmdldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd3NGb3JUYXJnZXQgPVxuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzRm9yVGFyZ2V0XCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlT3BzSXRlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3BzSXRlbXMgPSBcInNzbTpEZXNjcmliZU9wc0l0ZW1zXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlUGFyYW1ldGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXJhbWV0ZXJzID0gXCJzc206RGVzY3JpYmVQYXJhbWV0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlUGF0Y2hCYXNlbGluZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGF0Y2hCYXNlbGluZXMgPSBcInNzbTpEZXNjcmliZVBhdGNoQmFzZWxpbmVzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlUGF0Y2hHcm91cFN0YXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhdGNoR3JvdXBTdGF0ZSA9IFwic3NtOkRlc2NyaWJlUGF0Y2hHcm91cFN0YXRlXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlUGF0Y2hHcm91cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGF0Y2hHcm91cHMgPSBcInNzbTpEZXNjcmliZVBhdGNoR3JvdXBzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlUGF0Y2hQcm9wZXJ0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhdGNoUHJvcGVydGllcyA9IFwic3NtOkRlc2NyaWJlUGF0Y2hQcm9wZXJ0aWVzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlU2Vzc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2Vzc2lvbnMgPSBcInNzbTpEZXNjcmliZVNlc3Npb25zXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEaXNhc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU9wc0l0ZW1SZWxhdGVkSXRlbSA9XG5cdFx0XCJzc206RGlzYXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkV4ZWN1dGVBUEkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEV4ZWN1dGVBUEkgPSBcInNzbTpFeGVjdXRlQVBJXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldEFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBY2Nlc3NUb2tlbiA9IFwic3NtOkdldEFjY2Vzc1Rva2VuXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldEF1dG9tYXRpb25FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRpb25FeGVjdXRpb24gPSBcInNzbTpHZXRBdXRvbWF0aW9uRXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldENhbGVuZGFyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDYWxlbmRhciA9IFwic3NtOkdldENhbGVuZGFyXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldENhbGVuZGFyU3RhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENhbGVuZGFyU3RhdGUgPSBcInNzbTpHZXRDYWxlbmRhclN0YXRlXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldENsb3VkQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDbG91ZENvbm5lY3RvciA9IFwic3NtOkdldENsb3VkQ29ubmVjdG9yXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldENvbW1hbmRJbnZvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb21tYW5kSW52b2NhdGlvbiA9IFwic3NtOkdldENvbW1hbmRJbnZvY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldENvbm5lY3Rpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb25TdGF0dXMgPSBcInNzbTpHZXRDb25uZWN0aW9uU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldERlZmF1bHRQYXRjaEJhc2VsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZWZhdWx0UGF0Y2hCYXNlbGluZSA9IFwic3NtOkdldERlZmF1bHRQYXRjaEJhc2VsaW5lXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldERlcGxveWFibGVQYXRjaFNuYXBzaG90Rm9ySW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERlcGxveWFibGVQYXRjaFNuYXBzaG90Rm9ySW5zdGFuY2UgPVxuXHRcdFwic3NtOkdldERlcGxveWFibGVQYXRjaFNuYXBzaG90Rm9ySW5zdGFuY2VcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0RG9jdW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvY3VtZW50ID0gXCJzc206R2V0RG9jdW1lbnRcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0RXhlY3V0aW9uUHJldmlldyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXhlY3V0aW9uUHJldmlldyA9IFwic3NtOkdldEV4ZWN1dGlvblByZXZpZXdcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0SW52ZW50b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnZlbnRvcnkgPSBcInNzbTpHZXRJbnZlbnRvcnlcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0SW52ZW50b3J5U2NoZW1hICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnZlbnRvcnlTY2hlbWEgPSBcInNzbTpHZXRJbnZlbnRvcnlTY2hlbWFcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0TWFpbnRlbmFuY2VXaW5kb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1haW50ZW5hbmNlV2luZG93ID0gXCJzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uID1cblx0XHRcInNzbTpHZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFzayA9XG5cdFx0XCJzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb24gPVxuXHRcdFwic3NtOkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvd1Rhc2sgPVxuXHRcdFwic3NtOkdldE1haW50ZW5hbmNlV2luZG93VGFza1wiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRNYW5pZmVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFuaWZlc3QgPSBcInNzbTpHZXRNYW5pZmVzdFwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRPcHNJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcHNJdGVtID0gXCJzc206R2V0T3BzSXRlbVwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRPcHNNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3BzTWV0YWRhdGEgPSBcInNzbTpHZXRPcHNNZXRhZGF0YVwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRPcHNTdW1tYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcHNTdW1tYXJ5ID0gXCJzc206R2V0T3BzU3VtbWFyeVwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRQYXJhbWV0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcmFtZXRlciA9IFwic3NtOkdldFBhcmFtZXRlclwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRQYXJhbWV0ZXJIaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJhbWV0ZXJIaXN0b3J5ID0gXCJzc206R2V0UGFyYW1ldGVySGlzdG9yeVwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRQYXJhbWV0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJhbWV0ZXJzID0gXCJzc206R2V0UGFyYW1ldGVyc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJhbWV0ZXJzQnlQYXRoID0gXCJzc206R2V0UGFyYW1ldGVyc0J5UGF0aFwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRQYXRjaEJhc2VsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXRjaEJhc2VsaW5lID0gXCJzc206R2V0UGF0Y2hCYXNlbGluZVwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXAgPVxuXHRcdFwic3NtOkdldFBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkdldFJlc291cmNlUG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWNpZXMgPSBcInNzbTpHZXRSZXNvdXJjZVBvbGljaWVzXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldFNlcnZpY2VTZXR0aW5nICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlU2V0dGluZyA9IFwic3NtOkdldFNlcnZpY2VTZXR0aW5nXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpMYWJlbFBhcmFtZXRlclZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IExhYmVsUGFyYW1ldGVyVmVyc2lvbiA9IFwic3NtOkxhYmVsUGFyYW1ldGVyVmVyc2lvblwiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0QXNzb2NpYXRpb25WZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9uVmVyc2lvbnMgPSBcInNzbTpMaXN0QXNzb2NpYXRpb25WZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0QXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzb2NpYXRpb25zID0gXCJzc206TGlzdEFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0Q2xvdWRDb25uZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2xvdWRDb25uZWN0b3JzID0gXCJzc206TGlzdENsb3VkQ29ubmVjdG9yc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0Q29tbWFuZEludm9jYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tbWFuZEludm9jYXRpb25zID0gXCJzc206TGlzdENvbW1hbmRJbnZvY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0Q29tbWFuZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21tYW5kcyA9IFwic3NtOkxpc3RDb21tYW5kc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0Q29tcGxpYW5jZUl0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGxpYW5jZUl0ZW1zID0gXCJzc206TGlzdENvbXBsaWFuY2VJdGVtc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0Q29tcGxpYW5jZVN1bW1hcmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXBsaWFuY2VTdW1tYXJpZXMgPSBcInNzbTpMaXN0Q29tcGxpYW5jZVN1bW1hcmllc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0RG9jdW1lbnRNZXRhZGF0YUhpc3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudE1ldGFkYXRhSGlzdG9yeSA9XG5cdFx0XCJzc206TGlzdERvY3VtZW50TWV0YWRhdGFIaXN0b3J5XCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3REb2N1bWVudFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRWZXJzaW9ucyA9IFwic3NtOkxpc3REb2N1bWVudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3REb2N1bWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudHMgPSBcInNzbTpMaXN0RG9jdW1lbnRzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3RJbnN0YW5jZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluc3RhbmNlQXNzb2NpYXRpb25zID0gXCJzc206TGlzdEluc3RhbmNlQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3RJbnZlbnRvcnlFbnRyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52ZW50b3J5RW50cmllcyA9IFwic3NtOkxpc3RJbnZlbnRvcnlFbnRyaWVzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3ROb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vZGVzID0gXCJzc206TGlzdE5vZGVzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3ROb2Rlc1N1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb2Rlc1N1bW1hcnkgPSBcInNzbTpMaXN0Tm9kZXNTdW1tYXJ5XCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3RPcHNJdGVtRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3BzSXRlbUV2ZW50cyA9IFwic3NtOkxpc3RPcHNJdGVtRXZlbnRzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3RPcHNJdGVtUmVsYXRlZEl0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3BzSXRlbVJlbGF0ZWRJdGVtcyA9IFwic3NtOkxpc3RPcHNJdGVtUmVsYXRlZEl0ZW1zXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3RPcHNNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wc01ldGFkYXRhID0gXCJzc206TGlzdE9wc01ldGFkYXRhXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3RSZXNvdXJjZUNvbXBsaWFuY2VTdW1tYXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUNvbXBsaWFuY2VTdW1tYXJpZXMgPVxuXHRcdFwic3NtOkxpc3RSZXNvdXJjZUNvbXBsaWFuY2VTdW1tYXJpZXNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdFJlc291cmNlRGF0YVN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZURhdGFTeW5jID0gXCJzc206TGlzdFJlc291cmNlRGF0YVN5bmNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwic3NtOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gc3NtOk1vZGlmeURvY3VtZW50UGVybWlzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5RG9jdW1lbnRQZXJtaXNzaW9uID0gXCJzc206TW9kaWZ5RG9jdW1lbnRQZXJtaXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpQdXRDYWxlbmRhciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q2FsZW5kYXIgPSBcInNzbTpQdXRDYWxlbmRhclwiO1xuXHQvKiogW1dyaXRlXSBzc206UHV0Q29tcGxpYW5jZUl0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb21wbGlhbmNlSXRlbXMgPSBcInNzbTpQdXRDb21wbGlhbmNlSXRlbXNcIjtcblx0LyoqIFtSZWFkXSBzc206UHV0Q29uZmlndXJlUGFja2FnZVJlc3VsdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29uZmlndXJlUGFja2FnZVJlc3VsdCA9IFwic3NtOlB1dENvbmZpZ3VyZVBhY2thZ2VSZXN1bHRcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlB1dEludmVudG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52ZW50b3J5ID0gXCJzc206UHV0SW52ZW50b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpQdXRQYXJhbWV0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFBhcmFtZXRlciA9IFwic3NtOlB1dFBhcmFtZXRlclwiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBzc206UHV0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5ID0gXCJzc206UHV0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlJlZ2lzdGVyRGVmYXVsdFBhdGNoQmFzZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGVmYXVsdFBhdGNoQmFzZWxpbmUgPVxuXHRcdFwic3NtOlJlZ2lzdGVyRGVmYXVsdFBhdGNoQmFzZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlJlZ2lzdGVyTWFuYWdlZEluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3Rlck1hbmFnZWRJbnN0YW5jZSA9IFwic3NtOlJlZ2lzdGVyTWFuYWdlZEluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpSZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwID1cblx0XHRcInNzbTpSZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpSZWdpc3RlclRhcmdldFdpdGhNYWludGVuYW5jZVdpbmRvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJUYXJnZXRXaXRoTWFpbnRlbmFuY2VXaW5kb3cgPVxuXHRcdFwic3NtOlJlZ2lzdGVyVGFyZ2V0V2l0aE1haW50ZW5hbmNlV2luZG93XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpSZWdpc3RlclRhc2tXaXRoTWFpbnRlbmFuY2VXaW5kb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFza1dpdGhNYWludGVuYW5jZVdpbmRvdyA9XG5cdFx0XCJzc206UmVnaXN0ZXJUYXNrV2l0aE1haW50ZW5hbmNlV2luZG93XCI7XG5cdC8qKiBbVGFnZ2luZ10gc3NtOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UgPSBcInNzbTpSZW1vdmVUYWdzRnJvbVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpSZXNldFNlcnZpY2VTZXR0aW5nICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNldFNlcnZpY2VTZXR0aW5nID0gXCJzc206UmVzZXRTZXJ2aWNlU2V0dGluZ1wiO1xuXHQvKiogW1dyaXRlXSBzc206UmVzdW1lU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzdW1lU2Vzc2lvbiA9IFwic3NtOlJlc3VtZVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOlNlbmRBdXRvbWF0aW9uU2lnbmFsICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQXV0b21hdGlvblNpZ25hbCA9IFwic3NtOlNlbmRBdXRvbWF0aW9uU2lnbmFsXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpTZW5kQ29tbWFuZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENvbW1hbmQgPSBcInNzbTpTZW5kQ29tbWFuZFwiO1xuXHQvKiogW1dyaXRlXSBzc206U3RhcnRBY2Nlc3NSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFjY2Vzc1JlcXVlc3QgPSBcInNzbTpTdGFydEFjY2Vzc1JlcXVlc3RcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlN0YXJ0QXNzb2NpYXRpb25zT25jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBc3NvY2lhdGlvbnNPbmNlID0gXCJzc206U3RhcnRBc3NvY2lhdGlvbnNPbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpTdGFydEF1dG9tYXRpb25FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXV0b21hdGlvbkV4ZWN1dGlvbiA9IFwic3NtOlN0YXJ0QXV0b21hdGlvbkV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzc206U3RhcnRDaGFuZ2VSZXF1ZXN0RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENoYW5nZVJlcXVlc3RFeGVjdXRpb24gPVxuXHRcdFwic3NtOlN0YXJ0Q2hhbmdlUmVxdWVzdEV4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIHNzbTpTdGFydEV4ZWN1dGlvblByZXZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RXhlY3V0aW9uUHJldmlldyA9IFwic3NtOlN0YXJ0RXhlY3V0aW9uUHJldmlld1wiO1xuXHQvKiogW1dyaXRlXSBzc206U3RhcnRTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNlc3Npb24gPSBcInNzbTpTdGFydFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOlN0b3BBdXRvbWF0aW9uRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b21hdGlvbkV4ZWN1dGlvbiA9IFwic3NtOlN0b3BBdXRvbWF0aW9uRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpUZXJtaW5hdGVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVTZXNzaW9uID0gXCJzc206VGVybWluYXRlU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzc206VW5sYWJlbFBhcmFtZXRlclZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVubGFiZWxQYXJhbWV0ZXJWZXJzaW9uID0gXCJzc206VW5sYWJlbFBhcmFtZXRlclZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NvY2lhdGlvbiA9IFwic3NtOlVwZGF0ZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVBc3NvY2lhdGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb25TdGF0dXMgPSBcInNzbTpVcGRhdGVBc3NvY2lhdGlvblN0YXR1c1wiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlQ2xvdWRDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsb3VkQ29ubmVjdG9yID0gXCJzc206VXBkYXRlQ2xvdWRDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZURvY3VtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb2N1bWVudCA9IFwic3NtOlVwZGF0ZURvY3VtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVEb2N1bWVudERlZmF1bHRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb2N1bWVudERlZmF1bHRWZXJzaW9uID1cblx0XHRcInNzbTpVcGRhdGVEb2N1bWVudERlZmF1bHRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVEb2N1bWVudE1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb2N1bWVudE1ldGFkYXRhID0gXCJzc206VXBkYXRlRG9jdW1lbnRNZXRhZGF0YVwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlSW5zdGFuY2VBc3NvY2lhdGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VBc3NvY2lhdGlvblN0YXR1cyA9XG5cdFx0XCJzc206VXBkYXRlSW5zdGFuY2VBc3NvY2lhdGlvblN0YXR1c1wiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlSW5zdGFuY2VJbmZvcm1hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VJbmZvcm1hdGlvbiA9IFwic3NtOlVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZU1haW50ZW5hbmNlV2luZG93ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYWludGVuYW5jZVdpbmRvdyA9IFwic3NtOlVwZGF0ZU1haW50ZW5hbmNlV2luZG93XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVNYWludGVuYW5jZVdpbmRvd1RhcmdldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXQgPVxuXHRcdFwic3NtOlVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVNYWludGVuYW5jZVdpbmRvd1Rhc2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFzayA9XG5cdFx0XCJzc206VXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVNYW5hZ2VkSW5zdGFuY2VSb2xlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYW5hZ2VkSW5zdGFuY2VSb2xlID0gXCJzc206VXBkYXRlTWFuYWdlZEluc3RhbmNlUm9sZVwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlT3BzSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3BzSXRlbSA9IFwic3NtOlVwZGF0ZU9wc0l0ZW1cIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZU9wc01ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcHNNZXRhZGF0YSA9IFwic3NtOlVwZGF0ZU9wc01ldGFkYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVQYXRjaEJhc2VsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXRjaEJhc2VsaW5lID0gXCJzc206VXBkYXRlUGF0Y2hCYXNlbGluZVwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlUmVzb3VyY2VEYXRhU3luYyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2VEYXRhU3luYyA9IFwic3NtOlVwZGF0ZVJlc291cmNlRGF0YVN5bmNcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZVNlcnZpY2VTZXR0aW5nICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlU2V0dGluZyA9IFwic3NtOlVwZGF0ZVNlcnZpY2VTZXR0aW5nXCI7XG5cdC8qKiBbUmVhZF0gc3NtOlZhbGlkYXRlQ2xvdWRDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQ2xvdWRDb25uZWN0b3IgPSBcInNzbTpWYWxpZGF0ZUNsb3VkQ29ubmVjdG9yXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUFjdGl2YXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVBc3NvY2lhdGlvbixcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25UYXJnZXRzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvbnMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUF1dG9tYXRpb25FeGVjdXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVBdXRvbWF0aW9uU3RlcEV4ZWN1dGlvbnMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUF2YWlsYWJsZVBhdGNoZXMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZURvY3VtZW50LFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVEb2N1bWVudFBhcmFtZXRlcnMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZURvY3VtZW50UGVybWlzc2lvbixcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlRWZmZWN0aXZlSW5zdGFuY2VBc3NvY2lhdGlvbnMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUVmZmVjdGl2ZVBhdGNoZXNGb3JQYXRjaEJhc2VsaW5lLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVJbnN0YW5jZUFzc29jaWF0aW9uc1N0YXR1cyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlSW5zdGFuY2VJbmZvcm1hdGlvbixcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlcyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlc0ZvclBhdGNoR3JvdXAsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUluc3RhbmNlUGF0Y2hlcyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlSW5zdGFuY2VQcm9wZXJ0aWVzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVJbnZlbnRvcnlEZWxldGlvbnMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZU9wc0l0ZW1zLFxuXHRcdFNTTUFjdGlvbnMuRXhlY3V0ZUFQSSxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldEFjY2Vzc1Rva2VuLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0QXV0b21hdGlvbkV4ZWN1dGlvbixcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldENhbGVuZGFyLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0Q2FsZW5kYXJTdGF0ZSxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldENsb3VkQ29ubmVjdG9yLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0Q29tbWFuZEludm9jYXRpb24sXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRDb25uZWN0aW9uU3RhdHVzLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0RGVmYXVsdFBhdGNoQmFzZWxpbmUsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXREZXBsb3lhYmxlUGF0Y2hTbmFwc2hvdEZvckluc3RhbmNlLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0RG9jdW1lbnQsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRFeGVjdXRpb25QcmV2aWV3LFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0SW52ZW50b3J5LFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0SW52ZW50b3J5U2NoZW1hLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0TWFpbnRlbmFuY2VXaW5kb3csXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbixcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFzayxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb24sXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvd1Rhc2ssXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRNYW5pZmVzdCxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldE9wc0l0ZW0sXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRPcHNNZXRhZGF0YSxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldE9wc1N1bW1hcnksXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRQYXJhbWV0ZXIsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRQYXJhbWV0ZXJIaXN0b3J5LFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0UGFyYW1ldGVycyxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldFBhcmFtZXRlcnNCeVBhdGgsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRQYXRjaEJhc2VsaW5lLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0UGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXAsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRTZXJ2aWNlU2V0dGluZyxcblx0XHRTU01BY3Rpb25zLlB1dENvbmZpZ3VyZVBhY2thZ2VSZXN1bHQsXG5cdFx0U1NNQWN0aW9ucy5TdGFydEV4ZWN1dGlvblByZXZpZXcsXG5cdFx0U1NNQWN0aW9ucy5WYWxpZGF0ZUNsb3VkQ29ubmVjdG9yLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNTTUFjdGlvbnMuQXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtLFxuXHRcdFNTTUFjdGlvbnMuQ2FuY2VsQ29tbWFuZCxcblx0XHRTU01BY3Rpb25zLkNhbmNlbE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uLFxuXHRcdFNTTUFjdGlvbnMuQ3JlYXRlQWN0aXZhdGlvbixcblx0XHRTU01BY3Rpb25zLkNyZWF0ZUFzc29jaWF0aW9uLFxuXHRcdFNTTUFjdGlvbnMuQ3JlYXRlQXNzb2NpYXRpb25CYXRjaCxcblx0XHRTU01BY3Rpb25zLkNyZWF0ZUNsb3VkQ29ubmVjdG9yLFxuXHRcdFNTTUFjdGlvbnMuQ3JlYXRlRG9jdW1lbnQsXG5cdFx0U1NNQWN0aW9ucy5DcmVhdGVNYWludGVuYW5jZVdpbmRvdyxcblx0XHRTU01BY3Rpb25zLkNyZWF0ZU9wc0l0ZW0sXG5cdFx0U1NNQWN0aW9ucy5DcmVhdGVPcHNNZXRhZGF0YSxcblx0XHRTU01BY3Rpb25zLkNyZWF0ZVBhdGNoQmFzZWxpbmUsXG5cdFx0U1NNQWN0aW9ucy5DcmVhdGVSZXNvdXJjZURhdGFTeW5jLFxuXHRcdFNTTUFjdGlvbnMuRGVsZXRlQWN0aXZhdGlvbixcblx0XHRTU01BY3Rpb25zLkRlbGV0ZUFzc29jaWF0aW9uLFxuXHRcdFNTTUFjdGlvbnMuRGVsZXRlQ2xvdWRDb25uZWN0b3IsXG5cdFx0U1NNQWN0aW9ucy5EZWxldGVEb2N1bWVudCxcblx0XHRTU01BY3Rpb25zLkRlbGV0ZUludmVudG9yeSxcblx0XHRTU01BY3Rpb25zLkRlbGV0ZU1haW50ZW5hbmNlV2luZG93LFxuXHRcdFNTTUFjdGlvbnMuRGVsZXRlT3BzSXRlbSxcblx0XHRTU01BY3Rpb25zLkRlbGV0ZU9wc01ldGFkYXRhLFxuXHRcdFNTTUFjdGlvbnMuRGVsZXRlUGFyYW1ldGVyLFxuXHRcdFNTTUFjdGlvbnMuRGVsZXRlUGFyYW1ldGVycyxcblx0XHRTU01BY3Rpb25zLkRlbGV0ZVBhdGNoQmFzZWxpbmUsXG5cdFx0U1NNQWN0aW9ucy5EZWxldGVSZXNvdXJjZURhdGFTeW5jLFxuXHRcdFNTTUFjdGlvbnMuRGVyZWdpc3Rlck1hbmFnZWRJbnN0YW5jZSxcblx0XHRTU01BY3Rpb25zLkRlcmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCxcblx0XHRTU01BY3Rpb25zLkRlcmVnaXN0ZXJUYXJnZXRGcm9tTWFpbnRlbmFuY2VXaW5kb3csXG5cdFx0U1NNQWN0aW9ucy5EZXJlZ2lzdGVyVGFza0Zyb21NYWludGVuYW5jZVdpbmRvdyxcblx0XHRTU01BY3Rpb25zLkRpc2Fzc29jaWF0ZU9wc0l0ZW1SZWxhdGVkSXRlbSxcblx0XHRTU01BY3Rpb25zLkxhYmVsUGFyYW1ldGVyVmVyc2lvbixcblx0XHRTU01BY3Rpb25zLlB1dENhbGVuZGFyLFxuXHRcdFNTTUFjdGlvbnMuUHV0Q29tcGxpYW5jZUl0ZW1zLFxuXHRcdFNTTUFjdGlvbnMuUHV0SW52ZW50b3J5LFxuXHRcdFNTTUFjdGlvbnMuUHV0UGFyYW1ldGVyLFxuXHRcdFNTTUFjdGlvbnMuUmVnaXN0ZXJEZWZhdWx0UGF0Y2hCYXNlbGluZSxcblx0XHRTU01BY3Rpb25zLlJlZ2lzdGVyTWFuYWdlZEluc3RhbmNlLFxuXHRcdFNTTUFjdGlvbnMuUmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCxcblx0XHRTU01BY3Rpb25zLlJlZ2lzdGVyVGFyZ2V0V2l0aE1haW50ZW5hbmNlV2luZG93LFxuXHRcdFNTTUFjdGlvbnMuUmVnaXN0ZXJUYXNrV2l0aE1haW50ZW5hbmNlV2luZG93LFxuXHRcdFNTTUFjdGlvbnMuUmVzZXRTZXJ2aWNlU2V0dGluZyxcblx0XHRTU01BY3Rpb25zLlJlc3VtZVNlc3Npb24sXG5cdFx0U1NNQWN0aW9ucy5TZW5kQXV0b21hdGlvblNpZ25hbCxcblx0XHRTU01BY3Rpb25zLlNlbmRDb21tYW5kLFxuXHRcdFNTTUFjdGlvbnMuU3RhcnRBY2Nlc3NSZXF1ZXN0LFxuXHRcdFNTTUFjdGlvbnMuU3RhcnRBc3NvY2lhdGlvbnNPbmNlLFxuXHRcdFNTTUFjdGlvbnMuU3RhcnRBdXRvbWF0aW9uRXhlY3V0aW9uLFxuXHRcdFNTTUFjdGlvbnMuU3RhcnRDaGFuZ2VSZXF1ZXN0RXhlY3V0aW9uLFxuXHRcdFNTTUFjdGlvbnMuU3RhcnRTZXNzaW9uLFxuXHRcdFNTTUFjdGlvbnMuU3RvcEF1dG9tYXRpb25FeGVjdXRpb24sXG5cdFx0U1NNQWN0aW9ucy5UZXJtaW5hdGVTZXNzaW9uLFxuXHRcdFNTTUFjdGlvbnMuVW5sYWJlbFBhcmFtZXRlclZlcnNpb24sXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVBc3NvY2lhdGlvbixcblx0XHRTU01BY3Rpb25zLlVwZGF0ZUFzc29jaWF0aW9uU3RhdHVzLFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlQ2xvdWRDb25uZWN0b3IsXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVEb2N1bWVudCxcblx0XHRTU01BY3Rpb25zLlVwZGF0ZURvY3VtZW50RGVmYXVsdFZlcnNpb24sXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVEb2N1bWVudE1ldGFkYXRhLFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlSW5zdGFuY2VBc3NvY2lhdGlvblN0YXR1cyxcblx0XHRTU01BY3Rpb25zLlVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb24sXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVNYWludGVuYW5jZVdpbmRvdyxcblx0XHRTU01BY3Rpb25zLlVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0LFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXNrLFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlTWFuYWdlZEluc3RhbmNlUm9sZSxcblx0XHRTU01BY3Rpb25zLlVwZGF0ZU9wc0l0ZW0sXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVPcHNNZXRhZGF0YSxcblx0XHRTU01BY3Rpb25zLlVwZGF0ZVBhdGNoQmFzZWxpbmUsXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVSZXNvdXJjZURhdGFTeW5jLFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlU2VydmljZVNldHRpbmcsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9ucyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrcyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1NjaGVkdWxlLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1RhcmdldHMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFza3MsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZU1haW50ZW5hbmNlV2luZG93cyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzRm9yVGFyZ2V0LFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVQYXJhbWV0ZXJzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVQYXRjaEJhc2VsaW5lcyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlUGF0Y2hHcm91cFN0YXRlLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVQYXRjaEdyb3Vwcyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlUGF0Y2hQcm9wZXJ0aWVzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVTZXNzaW9ucyxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWNpZXMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0QXNzb2NpYXRpb25WZXJzaW9ucyxcblx0XHRTU01BY3Rpb25zLkxpc3RBc3NvY2lhdGlvbnMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0Q2xvdWRDb25uZWN0b3JzLFxuXHRcdFNTTUFjdGlvbnMuTGlzdENvbW1hbmRJbnZvY2F0aW9ucyxcblx0XHRTU01BY3Rpb25zLkxpc3RDb21tYW5kcyxcblx0XHRTU01BY3Rpb25zLkxpc3RDb21wbGlhbmNlSXRlbXMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0Q29tcGxpYW5jZVN1bW1hcmllcyxcblx0XHRTU01BY3Rpb25zLkxpc3REb2N1bWVudE1ldGFkYXRhSGlzdG9yeSxcblx0XHRTU01BY3Rpb25zLkxpc3REb2N1bWVudFZlcnNpb25zLFxuXHRcdFNTTUFjdGlvbnMuTGlzdERvY3VtZW50cyxcblx0XHRTU01BY3Rpb25zLkxpc3RJbnN0YW5jZUFzc29jaWF0aW9ucyxcblx0XHRTU01BY3Rpb25zLkxpc3RJbnZlbnRvcnlFbnRyaWVzLFxuXHRcdFNTTUFjdGlvbnMuTGlzdE5vZGVzLFxuXHRcdFNTTUFjdGlvbnMuTGlzdE5vZGVzU3VtbWFyeSxcblx0XHRTU01BY3Rpb25zLkxpc3RPcHNJdGVtRXZlbnRzLFxuXHRcdFNTTUFjdGlvbnMuTGlzdE9wc0l0ZW1SZWxhdGVkSXRlbXMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0T3BzTWV0YWRhdGEsXG5cdFx0U1NNQWN0aW9ucy5MaXN0UmVzb3VyY2VDb21wbGlhbmNlU3VtbWFyaWVzLFxuXHRcdFNTTUFjdGlvbnMuTGlzdFJlc291cmNlRGF0YVN5bmMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTU01BY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdFNTTUFjdGlvbnMuTW9kaWZ5RG9jdW1lbnRQZXJtaXNzaW9uLFxuXHRcdFNTTUFjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNTTUFjdGlvbnMuQWRkVGFnc1RvUmVzb3VyY2UsXG5cdFx0U1NNQWN0aW9ucy5SZW1vdmVUYWdzRnJvbVJlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXNzb2NpYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUFzc29jaWF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFzc29jaWF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFzc29jaWF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFzc29jaWF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhc3NvY2lhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbWF0aW9uLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUF1dG9tYXRpb25EZWZpbml0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRpb25EZWZpbml0aW9uTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGlvbkRlZmluaXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWF0aW9uLWRlZmluaXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUF1dG9tYXRpb25EZWZpbml0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbWF0aW9uRGVmaW5pdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbWF0aW9uRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tYXRpb24tZXhlY3V0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01BdXRvbWF0aW9uRXhlY3V0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9tYXRpb25FeGVjdXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGlvbkV4ZWN1dGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b21hdGlvbi1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUF1dG9tYXRpb25FeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRpb25FeGVjdXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9tYXRpb25FeGVjdXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYnVja2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01CdWNrZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQnVja2V0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYnVja2V0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGJ1Y2tldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNQnVja2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCdWNrZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYnVja2V0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2xvdWQtY29ubmVjdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01DbG91ZENvbm5lY3RvckFyblByb3BzIHtcblx0LyoqIFRoZSBDbG91ZENvbm5lY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbG91ZENvbm5lY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2xvdWQtY29ubmVjdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01DbG91ZENvbm5lY3RvckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2xvdWRDb25uZWN0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsb3VkQ29ubmVjdG9ySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRvY3VtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01Eb2N1bWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBEb2N1bWVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRvY3VtZW50TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGRvY3VtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01Eb2N1bWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRG9jdW1lbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZG9jdW1lbnROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpYW0tcm9sZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNSUFNUm9sZUFyblByb3BzIHtcblx0LyoqIFRoZSBSb2xlTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcm9sZU5hbWU6IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGlhbS1yb2xlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01JQU1Sb2xlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUm9sZU5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByb2xlTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgaW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUluc3RhbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEluc3RhbmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBpbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluc3RhbmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbnN0YW5jZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtYWludGVuYW5jZXdpbmRvdyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNTWFpbnRlbmFuY2V3aW5kb3dBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG1haW50ZW5hbmNld2luZG93IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01NYWludGVuYW5jZXdpbmRvd0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1hbmFnZWQtaW5zdGFuY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU1hbmFnZWRJbnN0YW5jZUFyblByb3BzIHtcblx0LyoqIFRoZSBJbnN0YW5jZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbnN0YW5jZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWFuYWdlZC1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNTWFuYWdlZEluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbnN0YW5jZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWFuYWdlZC1pbnN0YW5jZS1pbnZlbnRvcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU1hbmFnZWRJbnN0YW5jZUludmVudG9yeUFyblByb3BzIHtcblx0LyoqIFRoZSBJbnN0YW5jZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbnN0YW5jZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWFuYWdlZC1pbnN0YW5jZS1pbnZlbnRvcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU1hbmFnZWRJbnN0YW5jZUludmVudG9yeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5zdGFuY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9wc2l0ZW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU9wc2l0ZW1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9wc2l0ZW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU9wc2l0ZW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBvcHNpdGVtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU9wc2l0ZW1ncm91cEFyblByb3BzIHtcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvcHNpdGVtZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU9wc2l0ZW1ncm91cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBvcHNtZXRhZGF0YSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNT3BzbWV0YWRhdGFBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9wc21ldGFkYXRhIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01PcHNtZXRhZGF0YUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBhcmFtZXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNUGFyYW1ldGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFBhcmFtZXRlck5hbWVXaXRob3V0TGVhZGluZ1NsYXNoIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwYXJhbWV0ZXJOYW1lV2l0aG91dExlYWRpbmdTbGFzaDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBhcmFtZXRlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNUGFyYW1ldGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQYXJhbWV0ZXJOYW1lV2l0aG91dExlYWRpbmdTbGFzaCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBhcmFtZXRlck5hbWVXaXRob3V0TGVhZGluZ1NsYXNoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwYXRjaGJhc2VsaW5lIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01QYXRjaGJhc2VsaW5lQXJuUHJvcHMge1xuXHQvKiogVGhlIFBhdGNoQmFzZWxpbmVJZFJlc291cmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBhdGNoQmFzZWxpbmVJZFJlc291cmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwYXRjaGJhc2VsaW5lIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01QYXRjaGJhc2VsaW5lQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQYXRjaEJhc2VsaW5lSWRSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGF0Y2hCYXNlbGluZUlkUmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVzb3VyY2VkYXRhc3luYyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNUmVzb3VyY2VkYXRhc3luY0FyblByb3BzIHtcblx0LyoqIFRoZSBTeW5jTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3luY05hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZXNvdXJjZWRhdGFzeW5jIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01SZXNvdXJjZWRhdGFzeW5jQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTeW5jTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN5bmNOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2aWNlc2V0dGluZyBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNU2VydmljZXNldHRpbmdBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2VzZXR0aW5nIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01TZXJ2aWNlc2V0dGluZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlc3Npb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVNlc3Npb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2Vzc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXNzaW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXNzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01TZXNzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXNzaW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXNzaW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVRhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGFza0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01UYXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0YXNrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdpbmRvd3RhcmdldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNV2luZG93dGFyZ2V0QXJuUHJvcHMge1xuXHQvKiogVGhlIFdpbmRvd1RhcmdldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3aW5kb3dUYXJnZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdpbmRvd3RhcmdldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNV2luZG93dGFyZ2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXaW5kb3dUYXJnZXRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdpbmRvd1RhcmdldElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB3aW5kb3d0YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01XaW5kb3d0YXNrQXJuUHJvcHMge1xuXHQvKiogVGhlIFdpbmRvd1Rhc2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgd2luZG93VGFza0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd2luZG93dGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNV2luZG93dGFza0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV2luZG93VGFza0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd2luZG93VGFza0lkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFzc29jaWF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFzc29jaWF0aW9uXFwvKD88YXNzb2NpYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgQXV0b21hdGlvbkRlZmluaXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b21hdGlvbi1kZWZpbml0aW9uXFwvKD88YXV0b21hdGlvbkRlZmluaXRpb25OYW1lPlteOi8/XSspOig/PHZlcnNpb25JZD5bXjovP10rKSQvO1xuY29uc3QgQXV0b21hdGlvbkV4ZWN1dGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWF0aW9uLWV4ZWN1dGlvblxcLyg/PGF1dG9tYXRpb25FeGVjdXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgQnVja2V0QXJuUmVnZXggPSAvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnMzOjo6KD88YnVja2V0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgQ2xvdWRDb25uZWN0b3JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2xvdWQtY29ubmVjdG9yXFwvKD88Y2xvdWRDb25uZWN0b3JJZD5bXjovP10rKSQvO1xuY29uc3QgRG9jdW1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZG9jdW1lbnRcXC8oPzxkb2N1bWVudE5hbWU+W146Lz9dKykkLztcbmNvbnN0IElBTVJvbGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aWFtOjooPzxhY2NvdW50PlteOl0qKTpyb2xlXFwvKD88cm9sZU5hbWU+W146Lz9dKykkLztcbmNvbnN0IEluc3RhbmNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmVjMjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmluc3RhbmNlXFwvKD88aW5zdGFuY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTWFpbnRlbmFuY2V3aW5kb3dBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWFpbnRlbmFuY2V3aW5kb3dcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBNYW5hZ2VkSW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bWFuYWdlZC1pbnN0YW5jZVxcLyg/PGluc3RhbmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1hbmFnZWRJbnN0YW5jZUludmVudG9yeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptYW5hZ2VkLWluc3RhbmNlLWludmVudG9yeVxcLyg/PGluc3RhbmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE9wc2l0ZW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b3BzaXRlbVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE9wc2l0ZW1ncm91cEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpvcHNpdGVtZ3JvdXBcXC9kZWZhdWx0JC87XG5jb25zdCBPcHNtZXRhZGF0YUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpvcHNtZXRhZGF0YVxcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFBhcmFtZXRlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwYXJhbWV0ZXJcXC8oPzxwYXJhbWV0ZXJOYW1lV2l0aG91dExlYWRpbmdTbGFzaD5bXjovP10rKSQvO1xuY29uc3QgUGF0Y2hiYXNlbGluZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwYXRjaGJhc2VsaW5lXFwvKD88cGF0Y2hCYXNlbGluZUlkUmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgUmVzb3VyY2VkYXRhc3luY0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXNvdXJjZS1kYXRhLXN5bmNcXC8oPzxzeW5jTmFtZT5bXjovP10rKSQvO1xuY29uc3QgU2VydmljZXNldHRpbmdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VydmljZXNldHRpbmdcXC8oPzxyZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBTZXNzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlc3Npb25cXC8oPzxzZXNzaW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFRhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWNzOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGFza1xcLyg/PHRhc2tJZD5bXjovP10rKSQvO1xuY29uc3QgV2luZG93dGFyZ2V0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndpbmRvd3RhcmdldFxcLyg/PHdpbmRvd1RhcmdldElkPlteOi8/XSspJC87XG5jb25zdCBXaW5kb3d0YXNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOndpbmRvd3Rhc2tcXC8oPzx3aW5kb3dUYXNrSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBzc20gcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgU1NNUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhc3NvY2lhdGlvbihwcm9wczogU1NNQXNzb2NpYXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFzc29jaWF0aW9uLyR7cHJvcHMuYXNzb2NpYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXNzb2NpYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFzc29jaWF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFzc29jaWF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFzc29jaWF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFzc29jaWF0aW9uQXJuKGFybjogc3RyaW5nKTogU1NNQXNzb2NpYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFzc29jaWF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFzc29jaWF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFzc29jaWF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuYXNzb2NpYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWF0aW9uLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b21hdGlvbkRlZmluaXRpb24ocHJvcHM6IFNTTUF1dG9tYXRpb25EZWZpbml0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphdXRvbWF0aW9uLWRlZmluaXRpb24vJHtwcm9wcy5hdXRvbWF0aW9uRGVmaW5pdGlvbk5hbWV9OiR7cHJvcHMudmVyc2lvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWF0aW9uLWRlZmluaXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tYXRpb25EZWZpbml0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9tYXRpb25EZWZpbml0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tYXRpb24tZGVmaW5pdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWF0aW9uRGVmaW5pdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU1NNQXV0b21hdGlvbkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tYXRpb25EZWZpbml0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tYXRpb24tZGVmaW5pdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvbWF0aW9uRGVmaW5pdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEuYXV0b21hdGlvbkRlZmluaXRpb25OYW1lLFxuXHRcdFx0dmVyc2lvbklkOiBtYXRjaC5ncm91cHMhLnZlcnNpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbWF0aW9uLWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0aW9uRXhlY3V0aW9uKHByb3BzOiBTU01BdXRvbWF0aW9uRXhlY3V0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphdXRvbWF0aW9uLWV4ZWN1dGlvbi8ke3Byb3BzLmF1dG9tYXRpb25FeGVjdXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b21hdGlvbi1leGVjdXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF1dG9tYXRpb25FeGVjdXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b21hdGlvbkV4ZWN1dGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdXRvbWF0aW9uLWV4ZWN1dGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbWF0aW9uRXhlY3V0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTU01BdXRvbWF0aW9uRXhlY3V0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbWF0aW9uRXhlY3V0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9tYXRpb24tZXhlY3V0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRpb25FeGVjdXRpb25JZDogbWF0Y2guZ3JvdXBzIS5hdXRvbWF0aW9uRXhlY3V0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYnVja2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJ1Y2tldChwcm9wczogU1NNQnVja2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnMzOjo6JHtwcm9wcy5idWNrZXROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBidWNrZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJ1Y2tldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCdWNrZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYnVja2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJ1Y2tldEFybihhcm46IHN0cmluZyk6IFNTTUJ1Y2tldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQnVja2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJ1Y2tldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRidWNrZXROYW1lOiBtYXRjaC5ncm91cHMhLmJ1Y2tldE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2xvdWQtY29ubmVjdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsb3VkQ29ubmVjdG9yKHByb3BzOiBTU01DbG91ZENvbm5lY3RvckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzc206JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y2xvdWQtY29ubmVjdG9yLyR7cHJvcHMuY2xvdWRDb25uZWN0b3JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2xvdWQtY29ubmVjdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbG91ZENvbm5lY3RvckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbG91ZENvbm5lY3RvckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbG91ZC1jb25uZWN0b3IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2xvdWRDb25uZWN0b3JBcm4oYXJuOiBzdHJpbmcpOiBTU01DbG91ZENvbm5lY3RvckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2xvdWRDb25uZWN0b3JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2xvdWQtY29ubmVjdG9yIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsb3VkQ29ubmVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuY2xvdWRDb25uZWN0b3JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkb2N1bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBkb2N1bWVudChwcm9wczogU1NNRG9jdW1lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRvY3VtZW50LyR7cHJvcHMuZG9jdW1lbnROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBkb2N1bWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRG9jdW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRG9jdW1lbnRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZG9jdW1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRG9jdW1lbnRBcm4oYXJuOiBzdHJpbmcpOiBTU01Eb2N1bWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRG9jdW1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZG9jdW1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZG9jdW1lbnROYW1lOiBtYXRjaC5ncm91cHMhLmRvY3VtZW50TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpYW0tcm9sZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpYW1Sb2xlKHByb3BzOiBTU01JQU1Sb2xlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlhbTo6JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyb2xlLyR7cHJvcHMucm9sZU5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGlhbS1yb2xlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJQU1Sb2xlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIElBTVJvbGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaWFtLXJvbGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSUFNUm9sZUFybihhcm46IHN0cmluZyk6IFNTTUlBTVJvbGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IElBTVJvbGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaWFtLXJvbGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cm9sZU5hbWU6IG1hdGNoLmdyb3VwcyEucm9sZU5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW5zdGFuY2UocHJvcHM6IFNTTUluc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjMjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbnN0YW5jZS8ke3Byb3BzLmluc3RhbmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbnN0YW5jZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpbnN0YW5jZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IFNTTUluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbnN0YW5jZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnN0YW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbnN0YW5jZUlkOiBtYXRjaC5ncm91cHMhLmluc3RhbmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWFpbnRlbmFuY2V3aW5kb3cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWFpbnRlbmFuY2V3aW5kb3cocHJvcHM6IFNTTU1haW50ZW5hbmNld2luZG93QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptYWludGVuYW5jZXdpbmRvdy8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG1haW50ZW5hbmNld2luZG93IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNYWludGVuYW5jZXdpbmRvd0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNYWludGVuYW5jZXdpbmRvd0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtYWludGVuYW5jZXdpbmRvdyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNYWludGVuYW5jZXdpbmRvd0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU1NNTWFpbnRlbmFuY2V3aW5kb3dBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1haW50ZW5hbmNld2luZG93QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1haW50ZW5hbmNld2luZG93IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtYW5hZ2VkLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1hbmFnZWRJbnN0YW5jZShwcm9wczogU1NNTWFuYWdlZEluc3RhbmNlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptYW5hZ2VkLWluc3RhbmNlLyR7cHJvcHMuaW5zdGFuY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWFuYWdlZC1pbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWFuYWdlZEluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1hbmFnZWRJbnN0YW5jZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtYW5hZ2VkLWluc3RhbmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1hbmFnZWRJbnN0YW5jZUFybihhcm46IHN0cmluZyk6IFNTTU1hbmFnZWRJbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWFuYWdlZEluc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1hbmFnZWQtaW5zdGFuY2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW5zdGFuY2VJZDogbWF0Y2guZ3JvdXBzIS5pbnN0YW5jZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1hbmFnZWQtaW5zdGFuY2UtaW52ZW50b3J5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1hbmFnZWRJbnN0YW5jZUludmVudG9yeShcblx0XHRwcm9wczogU1NNTWFuYWdlZEluc3RhbmNlSW52ZW50b3J5QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1hbmFnZWQtaW5zdGFuY2UtaW52ZW50b3J5LyR7cHJvcHMuaW5zdGFuY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWFuYWdlZC1pbnN0YW5jZS1pbnZlbnRvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1hbmFnZWRJbnN0YW5jZUludmVudG9yeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNYW5hZ2VkSW5zdGFuY2VJbnZlbnRvcnlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgbWFuYWdlZC1pbnN0YW5jZS1pbnZlbnRvcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWFuYWdlZEluc3RhbmNlSW52ZW50b3J5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTU01NYW5hZ2VkSW5zdGFuY2VJbnZlbnRvcnlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE1hbmFnZWRJbnN0YW5jZUludmVudG9yeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBtYW5hZ2VkLWluc3RhbmNlLWludmVudG9yeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbnN0YW5jZUlkOiBtYXRjaC5ncm91cHMhLmluc3RhbmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgb3BzaXRlbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHNpdGVtKHByb3BzOiBTU01PcHNpdGVtQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpvcHNpdGVtLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgb3BzaXRlbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3BzaXRlbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPcHNpdGVtQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9wc2l0ZW0gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3BzaXRlbUFybihhcm46IHN0cmluZyk6IFNTTU9wc2l0ZW1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wc2l0ZW1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb3BzaXRlbSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgb3BzaXRlbWdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9wc2l0ZW1ncm91cChwcm9wczogU1NNT3BzaXRlbWdyb3VwQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpvcHNpdGVtZ3JvdXAvZGVmYXVsdGA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvcHNpdGVtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9wc2l0ZW1ncm91cEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPcHNpdGVtZ3JvdXBBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgb3BzaXRlbWdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9wc2l0ZW1ncm91cEFybihhcm46IHN0cmluZyk6IFNTTU9wc2l0ZW1ncm91cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT3BzaXRlbWdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG9wc2l0ZW1ncm91cCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgb3BzbWV0YWRhdGEgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb3BzbWV0YWRhdGEocHJvcHM6IFNTTU9wc21ldGFkYXRhQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpvcHNtZXRhZGF0YS8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9wc21ldGFkYXRhIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHNtZXRhZGF0YUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPcHNtZXRhZGF0YUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBvcHNtZXRhZGF0YSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcHNtZXRhZGF0YUFybihhcm46IHN0cmluZyk6IFNTTU9wc21ldGFkYXRhQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcHNtZXRhZGF0YUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvcHNtZXRhZGF0YSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGFyYW1ldGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBhcmFtZXRlcihwcm9wczogU1NNUGFyYW1ldGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwYXJhbWV0ZXIvJHtwcm9wcy5wYXJhbWV0ZXJOYW1lV2l0aG91dExlYWRpbmdTbGFzaH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGFyYW1ldGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXJhbWV0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUGFyYW1ldGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBhcmFtZXRlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXJhbWV0ZXJBcm4oYXJuOiBzdHJpbmcpOiBTU01QYXJhbWV0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBhcmFtZXRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXJhbWV0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cGFyYW1ldGVyTmFtZVdpdGhvdXRMZWFkaW5nU2xhc2g6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEucGFyYW1ldGVyTmFtZVdpdGhvdXRMZWFkaW5nU2xhc2gsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcGF0Y2hiYXNlbGluZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwYXRjaGJhc2VsaW5lKHByb3BzOiBTU01QYXRjaGJhc2VsaW5lQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwYXRjaGJhc2VsaW5lLyR7cHJvcHMucGF0Y2hCYXNlbGluZUlkUmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGF0Y2hiYXNlbGluZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGF0Y2hiYXNlbGluZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXRjaGJhc2VsaW5lQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBhdGNoYmFzZWxpbmUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGF0Y2hiYXNlbGluZUFybihhcm46IHN0cmluZyk6IFNTTVBhdGNoYmFzZWxpbmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBhdGNoYmFzZWxpbmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcGF0Y2hiYXNlbGluZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwYXRjaEJhc2VsaW5lSWRSZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnBhdGNoQmFzZWxpbmVJZFJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVzb3VyY2VkYXRhc3luYyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZWRhdGFzeW5jKHByb3BzOiBTU01SZXNvdXJjZWRhdGFzeW5jQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNvdXJjZS1kYXRhLXN5bmMvJHtwcm9wcy5zeW5jTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVzb3VyY2VkYXRhc3luYyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzb3VyY2VkYXRhc3luY0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNvdXJjZWRhdGFzeW5jQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlc291cmNlZGF0YXN5bmMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVzb3VyY2VkYXRhc3luY0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU1NNUmVzb3VyY2VkYXRhc3luY0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzb3VyY2VkYXRhc3luY0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXNvdXJjZWRhdGFzeW5jIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHN5bmNOYW1lOiBtYXRjaC5ncm91cHMhLnN5bmNOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2VzZXR0aW5nIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNlcnZpY2VzZXR0aW5nKHByb3BzOiBTU01TZXJ2aWNlc2V0dGluZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzc206JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VydmljZXNldHRpbmcvJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2aWNlc2V0dGluZyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VydmljZXNldHRpbmdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZXNldHRpbmdBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZXNldHRpbmcgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VydmljZXNldHRpbmdBcm4oYXJuOiBzdHJpbmcpOiBTU01TZXJ2aWNlc2V0dGluZ0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZXNldHRpbmdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZXNldHRpbmcgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlc3Npb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2Vzc2lvbihwcm9wczogU1NNU2Vzc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzc206JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2Vzc2lvbi8ke3Byb3BzLnNlc3Npb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2Vzc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2Vzc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXNzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlc3Npb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2Vzc2lvbkFybihhcm46IHN0cmluZyk6IFNTTVNlc3Npb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlc3Npb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2Vzc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXNzaW9uSWQ6IG1hdGNoLmdyb3VwcyEuc2Vzc2lvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGFzayhwcm9wczogU1NNVGFza0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTplY3M6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGFzay8ke3Byb3BzLnRhc2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUYXNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGFza0Fybihhcm46IHN0cmluZyk6IFNTTVRhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGFzayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0YXNrSWQ6IG1hdGNoLmdyb3VwcyEudGFza0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdpbmRvd3RhcmdldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3aW5kb3d0YXJnZXQocHJvcHM6IFNTTVdpbmRvd3RhcmdldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzc206JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d2luZG93dGFyZ2V0LyR7cHJvcHMud2luZG93VGFyZ2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHdpbmRvd3RhcmdldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV2luZG93dGFyZ2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdpbmRvd3RhcmdldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3aW5kb3d0YXJnZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV2luZG93dGFyZ2V0QXJuKGFybjogc3RyaW5nKTogU1NNV2luZG93dGFyZ2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXaW5kb3d0YXJnZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd2luZG93dGFyZ2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdpbmRvd1RhcmdldElkOiBtYXRjaC5ncm91cHMhLndpbmRvd1RhcmdldElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdpbmRvd3Rhc2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgd2luZG93dGFzayhwcm9wczogU1NNV2luZG93dGFza0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzc206JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d2luZG93dGFzay8ke3Byb3BzLndpbmRvd1Rhc2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd2luZG93dGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV2luZG93dGFza0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXaW5kb3d0YXNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdpbmRvd3Rhc2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlV2luZG93dGFza0Fybihhcm46IHN0cmluZyk6IFNTTVdpbmRvd3Rhc2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdpbmRvd3Rhc2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd2luZG93dGFzayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR3aW5kb3dUYXNrSWQ6IG1hdGNoLmdyb3VwcyEud2luZG93VGFza0lkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHNzbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNTTU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGRUYWdzVG9SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsQ29tbWFuZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENvbW1hbmQ6IHN0cmluZ1tdID0gW1wic3NtOkNhbmNlbENvbW1hbmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhbmNlbE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkNhbmNlbE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFjdGl2YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3RpdmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOkNyZWF0ZUFjdGl2YXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOkNyZWF0ZUFzc29jaWF0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXNzb2NpYXRpb25CYXRjaCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc29jaWF0aW9uQmF0Y2g6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkNyZWF0ZUFzc29jaWF0aW9uXCIsXG5cdFx0XCJzc206Q3JlYXRlQXNzb2NpYXRpb25CYXRjaFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsb3VkQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRDb25uZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJzc206Q3JlYXRlQ2xvdWRDb25uZWN0b3JcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVEb2N1bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvY3VtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOkNyZWF0ZURvY3VtZW50XCIsXG5cdFx0XCJzc206R2V0RG9jdW1lbnRcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVNYWludGVuYW5jZVdpbmRvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU1haW50ZW5hbmNlV2luZG93OiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOkNyZWF0ZU1haW50ZW5hbmNlV2luZG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wc0l0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHNJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOkNyZWF0ZU9wc0l0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlT3BzTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHNNZXRhZGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcInNzbTpDcmVhdGVPcHNNZXRhZGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQYXRjaEJhc2VsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF0Y2hCYXNlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcInNzbTpDcmVhdGVQYXRjaEJhc2VsaW5lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc291cmNlRGF0YVN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZURhdGFTeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpDcmVhdGVSZXNvdXJjZURhdGFTeW5jXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjdGl2YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY3RpdmF0aW9uOiBzdHJpbmdbXSA9IFtcInNzbTpEZWxldGVBY3RpdmF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcInNzbTpEZWxldGVBc3NvY2lhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2xvdWRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbG91ZENvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJzc206RGVsZXRlQ2xvdWRDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURvY3VtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9jdW1lbnQ6IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZURvY3VtZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnZlbnRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnZlbnRvcnk6IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZUludmVudG9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlTWFpbnRlbmFuY2VXaW5kb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNYWludGVuYW5jZVdpbmRvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVsZXRlTWFpbnRlbmFuY2VXaW5kb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlT3BzSXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wc0l0ZW06IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZU9wc0l0ZW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9wc01ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3BzTWV0YWRhdGE6IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZU9wc01ldGFkYXRhXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQYXJhbWV0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJhbWV0ZXI6IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZVBhcmFtZXRlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGFyYW1ldGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZVBhcmFtZXRlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBhdGNoQmFzZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXRjaEJhc2VsaW5lOiBzdHJpbmdbXSA9IFtcInNzbTpEZWxldGVQYXRjaEJhc2VsaW5lXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZURhdGFTeW5jIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VEYXRhU3luYzogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVsZXRlUmVzb3VyY2VEYXRhU3luY1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcInNzbTpEZWxldGVSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3Rlck1hbmFnZWRJbnN0YW5jZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlcmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlclRhcmdldEZyb21NYWludGVuYW5jZVdpbmRvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJUYXJnZXRGcm9tTWFpbnRlbmFuY2VXaW5kb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlcmVnaXN0ZXJUYXJnZXRGcm9tTWFpbnRlbmFuY2VXaW5kb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVyZWdpc3RlclRhc2tGcm9tTWFpbnRlbmFuY2VXaW5kb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFza0Zyb21NYWludGVuYW5jZVdpbmRvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVyZWdpc3RlclRhc2tGcm9tTWFpbnRlbmFuY2VXaW5kb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBY3RpdmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aXZhdGlvbnM6IHN0cmluZ1tdID0gW1wic3NtOkRlc2NyaWJlQWN0aXZhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcInNzbTpEZXNjcmliZUFzc29jaWF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9uVGFyZ2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25UYXJnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9uVGFyZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUF1dG9tYXRpb25FeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvbWF0aW9uRXhlY3V0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVBdXRvbWF0aW9uRXhlY3V0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUF1dG9tYXRpb25TdGVwRXhlY3V0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXV0b21hdGlvblN0ZXBFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUF1dG9tYXRpb25TdGVwRXhlY3V0aW9uc1wiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXZhaWxhYmxlUGF0Y2hlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXZhaWxhYmxlUGF0Y2hlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVBdmFpbGFibGVQYXRjaGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRG9jdW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvY3VtZW50OiBzdHJpbmdbXSA9IFtcInNzbTpEZXNjcmliZURvY3VtZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURvY3VtZW50UGVybWlzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRQZXJtaXNzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZURvY3VtZW50UGVybWlzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZmZlY3RpdmVJbnN0YW5jZUFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVFZmZlY3RpdmVJbnN0YW5jZUFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUVmZmVjdGl2ZVBhdGNoZXNGb3JQYXRjaEJhc2VsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZmZlY3RpdmVQYXRjaGVzRm9yUGF0Y2hCYXNlbGluZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVFZmZlY3RpdmVQYXRjaGVzRm9yUGF0Y2hCYXNlbGluZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluc3RhbmNlQXNzb2NpYXRpb25zU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZUFzc29jaWF0aW9uc1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVJbnN0YW5jZUFzc29jaWF0aW9uc1N0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluc3RhbmNlSW5mb3JtYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlSW5mb3JtYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlSW5zdGFuY2VJbmZvcm1hdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXNGb3JQYXRjaEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzRm9yUGF0Y2hHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzRm9yUGF0Y2hHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluc3RhbmNlUGF0Y2hlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQYXRjaGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUluc3RhbmNlUGF0Y2hlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUluc3RhbmNlUHJvcGVydGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUluc3RhbmNlUHJvcGVydGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUludmVudG9yeURlbGV0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW52ZW50b3J5RGVsZXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUludmVudG9yeURlbGV0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9uczogc3RyaW5nW10gPVxuXHRcdFtcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93U2NoZWR1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93U2NoZWR1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dTY2hlZHVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFza3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFza3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93c0ZvclRhcmdldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzRm9yVGFyZ2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93c0ZvclRhcmdldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9wc0l0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHNJdGVtczogc3RyaW5nW10gPSBbXCJzc206RGVzY3JpYmVPcHNJdGVtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQYXJhbWV0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtcInNzbTpEZXNjcmliZVBhcmFtZXRlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGF0Y2hCYXNlbGluZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhdGNoQmFzZWxpbmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZVBhdGNoQmFzZWxpbmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGF0Y2hHcm91cFN0YXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXRjaEdyb3VwU3RhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlUGF0Y2hHcm91cFN0YXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGF0Y2hHcm91cHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhdGNoR3JvdXBzOiBzdHJpbmdbXSA9IFtcInNzbTpEZXNjcmliZVBhdGNoR3JvdXBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBhdGNoUHJvcGVydGllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGF0Y2hQcm9wZXJ0aWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZVBhdGNoUHJvcGVydGllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlc3Npb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZXNzaW9uczogc3RyaW5nW10gPSBbXCJzc206RGVzY3JpYmVTZXNzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEaXNhc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWNjZXNzVG9rZW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFjY2Vzc1Rva2VuOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRBY2Nlc3NUb2tlblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0b21hdGlvbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b21hdGlvbkV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206R2V0QXV0b21hdGlvbkV4ZWN1dGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENhbGVuZGFyU3RhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENhbGVuZGFyU3RhdGU6IHN0cmluZ1tdID0gW1wic3NtOkdldENhbGVuZGFyU3RhdGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENsb3VkQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDbG91ZENvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJzc206R2V0Q2xvdWRDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbW1hbmRJbnZvY2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb21tYW5kSW52b2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206R2V0Q29tbWFuZEludm9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29ubmVjdGlvblN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29ubmVjdGlvblN0YXR1czogc3RyaW5nW10gPSBbXCJzc206R2V0Q29ubmVjdGlvblN0YXR1c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGVmYXVsdFBhdGNoQmFzZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERlZmF1bHRQYXRjaEJhc2VsaW5lOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpHZXREZWZhdWx0UGF0Y2hCYXNlbGluZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZXBsb3lhYmxlUGF0Y2hTbmFwc2hvdEZvckluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREZXBsb3lhYmxlUGF0Y2hTbmFwc2hvdEZvckluc3RhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpHZXREZXBsb3lhYmxlUGF0Y2hTbmFwc2hvdEZvckluc3RhbmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERvY3VtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREb2N1bWVudDogc3RyaW5nW10gPSBbXCJzc206R2V0RG9jdW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV4ZWN1dGlvblByZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV4ZWN1dGlvblByZXZpZXc6IHN0cmluZ1tdID0gW1wic3NtOkdldEV4ZWN1dGlvblByZXZpZXdcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEludmVudG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW52ZW50b3J5OiBzdHJpbmdbXSA9IFtcInNzbTpHZXRJbnZlbnRvcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEludmVudG9yeVNjaGVtYSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW52ZW50b3J5U2NoZW1hOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRJbnZlbnRvcnlTY2hlbWFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1haW50ZW5hbmNlV2luZG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNYWludGVuYW5jZVdpbmRvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpHZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFpbnRlbmFuY2VXaW5kb3dUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNYWludGVuYW5jZVdpbmRvd1Rhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkdldE1haW50ZW5hbmNlV2luZG93VGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcHNJdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPcHNJdGVtOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRPcHNJdGVtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcHNNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3BzTWV0YWRhdGE6IHN0cmluZ1tdID0gW1wic3NtOkdldE9wc01ldGFkYXRhXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcHNTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPcHNTdW1tYXJ5OiBzdHJpbmdbXSA9IFtcInNzbTpHZXRPcHNTdW1tYXJ5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXJhbWV0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBhcmFtZXRlcjogc3RyaW5nW10gPSBbXCJzc206R2V0UGFyYW1ldGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXJhbWV0ZXJIaXN0b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXJhbWV0ZXJIaXN0b3J5OiBzdHJpbmdbXSA9IFtcInNzbTpHZXRQYXJhbWV0ZXJIaXN0b3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXJhbWV0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXJhbWV0ZXJzOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRQYXJhbWV0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXJhbWV0ZXJzQnlQYXRoIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXJhbWV0ZXJzQnlQYXRoOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXRjaEJhc2VsaW5lIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXRjaEJhc2VsaW5lOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRQYXRjaEJhc2VsaW5lXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkdldFBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUG9saWNpZXM6IHN0cmluZ1tdID0gW1wic3NtOkdldFJlc291cmNlUG9saWNpZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlcnZpY2VTZXR0aW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXJ2aWNlU2V0dGluZzogc3RyaW5nW10gPSBbXCJzc206R2V0U2VydmljZVNldHRpbmdcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExhYmVsUGFyYW1ldGVyVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExhYmVsUGFyYW1ldGVyVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206TGFiZWxQYXJhbWV0ZXJWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3NvY2lhdGlvblZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9uVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkxpc3RBc3NvY2lhdGlvblZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcInNzbTpMaXN0QXNzb2NpYXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2xvdWRDb25uZWN0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsb3VkQ29ubmVjdG9yczogc3RyaW5nW10gPSBbXCJzc206TGlzdENsb3VkQ29ubmVjdG9yc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbW1hbmRJbnZvY2F0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21tYW5kSW52b2NhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkxpc3RDb21tYW5kSW52b2NhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbW1hbmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbW1hbmRzOiBzdHJpbmdbXSA9IFtcInNzbTpMaXN0Q29tbWFuZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21wbGlhbmNlSXRlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tcGxpYW5jZUl0ZW1zOiBzdHJpbmdbXSA9IFtcInNzbTpMaXN0Q29tcGxpYW5jZUl0ZW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29tcGxpYW5jZVN1bW1hcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21wbGlhbmNlU3VtbWFyaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpMaXN0Q29tcGxpYW5jZVN1bW1hcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9jdW1lbnRNZXRhZGF0YUhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRNZXRhZGF0YUhpc3Rvcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkxpc3REb2N1bWVudE1ldGFkYXRhSGlzdG9yeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9jdW1lbnRWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcInNzbTpMaXN0RG9jdW1lbnRWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERvY3VtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudHM6IHN0cmluZ1tdID0gW1wic3NtOkxpc3REb2N1bWVudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnZlbnRvcnlFbnRyaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludmVudG9yeUVudHJpZXM6IHN0cmluZ1tdID0gW1wic3NtOkxpc3RJbnZlbnRvcnlFbnRyaWVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Tm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm9kZXM6IHN0cmluZ1tdID0gW1wic3NtOkxpc3ROb2Rlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vZGVzU3VtbWFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb2Rlc1N1bW1hcnk6IHN0cmluZ1tdID0gW1wic3NtOkxpc3ROb2Rlc1N1bW1hcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcHNJdGVtRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wc0l0ZW1FdmVudHM6IHN0cmluZ1tdID0gW1wic3NtOkxpc3RPcHNJdGVtRXZlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T3BzSXRlbVJlbGF0ZWRJdGVtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHNJdGVtUmVsYXRlZEl0ZW1zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpMaXN0T3BzSXRlbVJlbGF0ZWRJdGVtc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0T3BzTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3BzTWV0YWRhdGE6IHN0cmluZ1tdID0gW1wic3NtOkxpc3RPcHNNZXRhZGF0YVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlQ29tcGxpYW5jZVN1bW1hcmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUNvbXBsaWFuY2VTdW1tYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkxpc3RSZXNvdXJjZUNvbXBsaWFuY2VTdW1tYXJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlRGF0YVN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VEYXRhU3luYzogc3RyaW5nW10gPSBbXCJzc206TGlzdFJlc291cmNlRGF0YVN5bmNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcInNzbTpMaXN0VGFnc0ZvclJlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBNb2RpZnlEb2N1bWVudFBlcm1pc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBNb2RpZnlEb2N1bWVudFBlcm1pc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOk1vZGlmeURvY3VtZW50UGVybWlzc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRDb21wbGlhbmNlSXRlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb21wbGlhbmNlSXRlbXM6IHN0cmluZ1tdID0gW1wic3NtOlB1dENvbXBsaWFuY2VJdGVtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0SW52ZW50b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0SW52ZW50b3J5OiBzdHJpbmdbXSA9IFtcInNzbTpQdXRJbnZlbnRvcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFBhcmFtZXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFBhcmFtZXRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcInNzbTpQdXRQYXJhbWV0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJzc206UHV0UmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyRGVmYXVsdFBhdGNoQmFzZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRlZmF1bHRQYXRjaEJhc2VsaW5lOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpSZWdpc3RlckRlZmF1bHRQYXRjaEJhc2VsaW5lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpSZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyVGFyZ2V0V2l0aE1haW50ZW5hbmNlV2luZG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJUYXJnZXRXaXRoTWFpbnRlbmFuY2VXaW5kb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlJlZ2lzdGVyVGFyZ2V0V2l0aE1haW50ZW5hbmNlV2luZG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlZ2lzdGVyVGFza1dpdGhNYWludGVuYW5jZVdpbmRvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFza1dpdGhNYWludGVuYW5jZVdpbmRvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNzbTpSZWdpc3RlclRhc2tXaXRoTWFpbnRlbmFuY2VXaW5kb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZVRhZ3NGcm9tUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVzZXRTZXJ2aWNlU2V0dGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc2V0U2VydmljZVNldHRpbmc6IHN0cmluZ1tdID0gW1wic3NtOlJlc2V0U2VydmljZVNldHRpbmdcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc3VtZVNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN1bWVTZXNzaW9uOiBzdHJpbmdbXSA9IFtcInNzbTpSZXN1bWVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kQXV0b21hdGlvblNpZ25hbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRBdXRvbWF0aW9uU2lnbmFsOiBzdHJpbmdbXSA9IFtcInNzbTpTZW5kQXV0b21hdGlvblNpZ25hbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZENvbW1hbmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQ29tbWFuZDogc3RyaW5nW10gPSBbXCJpYW06UGFzc1JvbGVcIiwgXCJzc206U2VuZENvbW1hbmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QWNjZXNzUmVxdWVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QWNjZXNzUmVxdWVzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcInNzbTpTdGFydEFjY2Vzc1JlcXVlc3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBc3NvY2lhdGlvbnNPbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBc3NvY2lhdGlvbnNPbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpTdGFydEFzc29jaWF0aW9uc09uY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBdXRvbWF0aW9uRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbWF0aW9uRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzc206U3RhcnRBdXRvbWF0aW9uRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q2hhbmdlUmVxdWVzdEV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q2hhbmdlUmVxdWVzdEV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNzbTpTdGFydENoYW5nZVJlcXVlc3RFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRFeGVjdXRpb25QcmV2aWV3IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRFeGVjdXRpb25QcmV2aWV3OiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpTdGFydEV4ZWN1dGlvblByZXZpZXdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcInNzbTpTdGFydFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BBdXRvbWF0aW9uRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9tYXRpb25FeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlN0b3BBdXRvbWF0aW9uRXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRlcm1pbmF0ZVNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVTZXNzaW9uOiBzdHJpbmdbXSA9IFtcInNzbTpUZXJtaW5hdGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbmxhYmVsUGFyYW1ldGVyVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVubGFiZWxQYXJhbWV0ZXJWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpVbmxhYmVsUGFyYW1ldGVyVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic3NtOlVwZGF0ZUFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFzc29jaWF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlVwZGF0ZUFzc29jaWF0aW9uU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsb3VkQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2xvdWRDb25uZWN0b3I6IHN0cmluZ1tdID0gW1wic3NtOlVwZGF0ZUNsb3VkQ29ubmVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVEb2N1bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvY3VtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic3NtOlVwZGF0ZURvY3VtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvY3VtZW50RGVmYXVsdFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb2N1bWVudERlZmF1bHRWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpVcGRhdGVEb2N1bWVudERlZmF1bHRWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvY3VtZW50TWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb2N1bWVudE1ldGFkYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpVcGRhdGVEb2N1bWVudE1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1haW50ZW5hbmNlV2luZG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlVwZGF0ZU1haW50ZW5hbmNlV2luZG93XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNzbTpVcGRhdGVNYWludGVuYW5jZVdpbmRvd1Rhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWFuYWdlZEluc3RhbmNlUm9sZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hbmFnZWRJbnN0YW5jZVJvbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzc206VXBkYXRlTWFuYWdlZEluc3RhbmNlUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVPcHNJdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3BzSXRlbTogc3RyaW5nW10gPSBbXCJzc206VXBkYXRlT3BzSXRlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT3BzTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcHNNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzc206VXBkYXRlT3BzTWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVBhdGNoQmFzZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQYXRjaEJhc2VsaW5lOiBzdHJpbmdbXSA9IFtcInNzbTpVcGRhdGVQYXRjaEJhc2VsaW5lXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXNvdXJjZURhdGFTeW5jIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2VEYXRhU3luYzogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206VXBkYXRlUmVzb3VyY2VEYXRhU3luY1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXJ2aWNlU2V0dGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VTZXR0aW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic3NtOlVwZGF0ZVNlcnZpY2VTZXR0aW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFZhbGlkYXRlQ2xvdWRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBWYWxpZGF0ZUNsb3VkQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpWYWxpZGF0ZUNsb3VkQ29ubmVjdG9yXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzc20uXG4gKi9cbmV4cG9ydCBjbGFzcyBTU01Db25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEFkZFRhZ3NUb1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBY3RpdmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGl2YXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBc3NvY2lhdGlvbkJhdGNoIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc29jaWF0aW9uQmF0Y2hDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsb3VkQ29ubmVjdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkQ29ubmVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVEb2N1bWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEb2N1bWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic3NtOkRvY3VtZW50VHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlTWFpbnRlbmFuY2VXaW5kb3cgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFpbnRlbmFuY2VXaW5kb3dDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9wc0l0ZW0gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3BzSXRlbUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlT3BzTWV0YWRhdGEgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3BzTWV0YWRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVBhdGNoQmFzZWxpbmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUGF0Y2hCYXNlbGluZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVzb3VyY2VEYXRhU3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZURhdGFTeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206U3luY1R5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc29jaWF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVDbG91ZENvbm5lY3RvciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbG91ZENvbm5lY3RvckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlRG9jdW1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRG9jdW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcInNzbTpEb2N1bWVudFR5cGVcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVQYXJhbWV0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFyYW1ldGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVQYXJhbWV0ZXJzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBhcmFtZXRlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVJlc291cmNlRGF0YVN5bmMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VEYXRhU3luY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlN5bmNUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXJlZ2lzdGVyTWFuYWdlZEluc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpyZXNvdXJjZVRhZy90YWcta2V5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUFzc29jaWF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25UYXJnZXRzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25UYXJnZXRzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVEb2N1bWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvY3VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RG9jdW1lbnRUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZURvY3VtZW50UGVybWlzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURvY3VtZW50UGVybWlzc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRvY3VtZW50VHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVFZmZlY3RpdmVJbnN0YW5jZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUluc3RhbmNlQXNzb2NpYXRpb25zU3RhdHVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VBc3NvY2lhdGlvbnNTdGF0dXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlSW5zdGFuY2VQYXRjaGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQYXRjaGVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJzc206cmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRBdXRvbWF0aW9uRXhlY3V0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9tYXRpb25FeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldENsb3VkQ29ubmVjdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENsb3VkQ29ubmVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRDb25uZWN0aW9uU3RhdHVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb25TdGF0dXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldERvY3VtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERvY3VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RG9jdW1lbnRDYXRlZ29yaWVzXCIsXG5cdFx0XCJzc206RG9jdW1lbnRUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQYXJhbWV0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFyYW1ldGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQYXJhbWV0ZXJIaXN0b3J5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcmFtZXRlckhpc3RvcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFBhcmFtZXRlcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFyYW1ldGVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UGFyYW1ldGVyc0J5UGF0aCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJhbWV0ZXJzQnlQYXRoQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206UmVjdXJzaXZlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMYWJlbFBhcmFtZXRlclZlcnNpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGFiZWxQYXJhbWV0ZXJWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0QXNzb2NpYXRpb25WZXJzaW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzb2NpYXRpb25WZXJzaW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdERvY3VtZW50TWV0YWRhdGFIaXN0b3J5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudE1ldGFkYXRhSGlzdG9yeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRvY3VtZW50VHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdERvY3VtZW50VmVyc2lvbnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50VmVyc2lvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEb2N1bWVudFR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RJbnN0YW5jZUFzc29jaWF0aW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5zdGFuY2VBc3NvY2lhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RSZXNvdXJjZURhdGFTeW5jIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZURhdGFTeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206U3luY1R5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTW9kaWZ5RG9jdW1lbnRQZXJtaXNzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeURvY3VtZW50UGVybWlzc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRvY3VtZW50VHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0Q29tcGxpYW5jZUl0ZW1zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbXBsaWFuY2VJdGVtc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWMyOlNvdXJjZUluc3RhbmNlQVJOXCIsXG5cdFx0XCJzc206U291cmNlSW5zdGFuY2VBUk5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEludmVudG9yeSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnZlbnRvcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpJbnZlbnRvcnlUeXBlTmFtZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0UGFyYW1ldGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFBhcmFtZXRlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRcdFwic3NtOk92ZXJ3cml0ZVwiLFxuXHRcdFwic3NtOlBvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3Rlck1hbmFnZWRJbnN0YW5jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3Rlck1hbmFnZWRJbnN0YW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVzdW1lU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN1bWVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnNlc3Npb24taWRcIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6dGFyZ2V0LWlkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZW5kQXV0b21hdGlvblNpZ25hbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQXV0b21hdGlvblNpZ25hbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2VuZENvbW1hbmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENvbW1hbmRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0QWNjZXNzUmVxdWVzdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFjY2Vzc1JlcXVlc3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0QXNzb2NpYXRpb25zT25jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFzc29jaWF0aW9uc09uY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0QXV0b21hdGlvbkV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9tYXRpb25FeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNzbTpEb2N1bWVudFZlcnNpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0Q2hhbmdlUmVxdWVzdEV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENoYW5nZVJlcXVlc3RFeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNzbTpBdXRvQXBwcm92ZVwiLFxuXHRcdFwic3NtOkRvY3VtZW50VmVyc2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRTZXNzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2Vzc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwic3NtOkFjY2Vzc1JlcXVlc3RJZFwiLFxuXHRcdFwic3NtOlNlc3Npb25Eb2N1bWVudEFjY2Vzc0NoZWNrXCIsXG5cdFx0XCJzc206cmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdG9wQXV0b21hdGlvbkV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b21hdGlvbkV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGVybWluYXRlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnNlc3Npb24taWRcIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6dGFyZ2V0LWlkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbmxhYmVsUGFyYW1ldGVyVmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbmxhYmVsUGFyYW1ldGVyVmVyc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUFzc29jaWF0aW9uU3RhdHVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc29jaWF0aW9uU3RhdHVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlYzI6U291cmNlSW5zdGFuY2VBUk5cIixcblx0XHRcInNzbTpTb3VyY2VJbnN0YW5jZUFSTlwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2xvdWRDb25uZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2xvdWRDb25uZWN0b3JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZURvY3VtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvY3VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJzc206RG9jdW1lbnRUeXBlXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlRG9jdW1lbnREZWZhdWx0VmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb2N1bWVudERlZmF1bHRWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RG9jdW1lbnRUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEb2N1bWVudE1ldGFkYXRhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvY3VtZW50TWV0YWRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEb2N1bWVudFR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUluc3RhbmNlQXNzb2NpYXRpb25TdGF0dXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VBc3NvY2lhdGlvblN0YXR1c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWMyOlNvdXJjZUluc3RhbmNlQVJOXCIsXG5cdFx0XCJzc206U291cmNlSW5zdGFuY2VBUk5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VJbmZvcm1hdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWMyOlNvdXJjZUluc3RhbmNlQVJOXCIsXG5cdFx0XCJzc206U291cmNlSW5zdGFuY2VBUk5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU1hbmFnZWRJbnN0YW5jZVJvbGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFuYWdlZEluc3RhbmNlUm9sZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOnJlc291cmNlVGFnL3RhZy1rZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZVJlc291cmNlRGF0YVN5bmMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2VEYXRhU3luY0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlN5bmNUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBWYWxpZGF0ZUNsb3VkQ29ubmVjdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQ2xvdWRDb25uZWN0b3JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBlYzI6U291cmNlSW5zdGFuY2VBUk4gKEFSTikgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNPVVJDRV9JTlNUQU5DRV9BUk4gPSBcImVjMjpTb3VyY2VJbnN0YW5jZUFSTlwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOkFjY2Vzc1JlcXVlc3RJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQUNDRVNTX1JFUVVFU1RfSUQgPSBcInNzbTpBY2Nlc3NSZXF1ZXN0SWRcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpBdXRvQXBwcm92ZSAoQm9vbCkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFVVE9fQVBQUk9WRSA9IFwic3NtOkF1dG9BcHByb3ZlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206RG9jdW1lbnRDYXRlZ29yaWVzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfQ0FURUdPUklFUyA9IFwic3NtOkRvY3VtZW50Q2F0ZWdvcmllc1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOkRvY3VtZW50VHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRE9DVU1FTlRfVFlQRSA9IFwic3NtOkRvY3VtZW50VHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOkRvY3VtZW50VmVyc2lvbiAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX1ZFUlNJT04gPSBcInNzbTpEb2N1bWVudFZlcnNpb25cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpJbnZlbnRvcnlUeXBlTmFtZSAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOVkVOVE9SWV9UWVBFX05BTUUgPSBcInNzbTpJbnZlbnRvcnlUeXBlTmFtZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOk92ZXJ3cml0ZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1ZFUldSSVRFID0gXCJzc206T3ZlcndyaXRlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206UG9saWNpZXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBPTElDSUVTID0gXCJzc206UG9saWNpZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpSZWN1cnNpdmUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFQ1VSU0lWRSA9IFwic3NtOlJlY3Vyc2l2ZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOlNlc3Npb25Eb2N1bWVudEFjY2Vzc0NoZWNrIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VTU0lPTl9ET0NVTUVOVF9BQ0NFU1NfQ0hFQ0sgPVxuXHRcdFwic3NtOlNlc3Npb25Eb2N1bWVudEFjY2Vzc0NoZWNrXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206U3luY1R5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNZTkNfVFlQRSA9IFwic3NtOlN5bmNUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206cmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcInNzbTpyZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6c2Vzc2lvbi1pZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfVEFHX0FXU19TU01NRVNTQUdFU19TRVNTSU9OX0lEID1cblx0XHRcInNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6c2Vzc2lvbi1pZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOnJlc291cmNlVGFnL2F3czpzc21tZXNzYWdlczp0YXJnZXQtaWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX1RBR19BV1NfU1NNTUVTU0FHRVNfVEFSR0VUX0lEID1cblx0XHRcInNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6dGFyZ2V0LWlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206cmVzb3VyY2VUYWcvdGFnLWtleSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfVEFHX1RBR19LRVkgPSBcInNzbTpyZXNvdXJjZVRhZy90YWcta2V5XCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpBY2Nlc3NSZXF1ZXN0SWRgLlxuXHQgKi9cblx0c3RhdGljIGFjY2Vzc1JlcXVlc3RJZChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic3NtOkFjY2Vzc1JlcXVlc3RJZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOkF1dG9BcHByb3ZlYC5cblx0ICovXG5cdHN0YXRpYyBhdXRvQXBwcm92ZSh2YWx1ZTogYm9vbGVhbik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNzbTpBdXRvQXBwcm92ZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOkRvY3VtZW50Q2F0ZWdvcmllc2AuXG5cdCAqL1xuXHRzdGF0aWMgZG9jdW1lbnRDYXRlZ29yaWVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNzbTpEb2N1bWVudENhdGVnb3JpZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzc206RG9jdW1lbnRUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBkb2N1bWVudFR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzc206RG9jdW1lbnRUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzc206RG9jdW1lbnRWZXJzaW9uYC5cblx0ICovXG5cdHN0YXRpYyBkb2N1bWVudFZlcnNpb24oXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzc206RG9jdW1lbnRWZXJzaW9uXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOkludmVudG9yeVR5cGVOYW1lYC5cblx0ICovXG5cdHN0YXRpYyBpbnZlbnRvcnlUeXBlTmFtZShcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNzbTpJbnZlbnRvcnlUeXBlTmFtZVwiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpPdmVyd3JpdGVgLlxuXHQgKi9cblx0c3RhdGljIG92ZXJ3cml0ZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNzbTpPdmVyd3JpdGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpQb2xpY2llc2AuXG5cdCAqL1xuXHRzdGF0aWMgcG9saWNpZXModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzc206UG9saWNpZXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpSZWN1cnNpdmVgLlxuXHQgKi9cblx0c3RhdGljIHJlY3Vyc2l2ZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNzbTpSZWN1cnNpdmVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpTZXNzaW9uRG9jdW1lbnRBY2Nlc3NDaGVja2AuXG5cdCAqL1xuXHRzdGF0aWMgc2Vzc2lvbkRvY3VtZW50QWNjZXNzQ2hlY2soXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNzbTpTZXNzaW9uRG9jdW1lbnRBY2Nlc3NDaGVja1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOlNvdXJjZUluc3RhbmNlQVJOYC5cblx0ICovXG5cdHN0YXRpYyBzb3VyY2VJbnN0YW5jZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic3NtOlNvdXJjZUluc3RhbmNlQVJOXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzc206U3luY1R5cGVgLlxuXHQgKi9cblx0c3RhdGljIHN5bmNUeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic3NtOlN5bmNUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnNlc3Npb24taWRgLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnQVdTU3NtbWVzc2FnZXNTZXNzaW9uSWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnNlc3Npb24taWRcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6dGFyZ2V0LWlkYC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZ0FXU1NzbW1lc3NhZ2VzVGFyZ2V0SWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnRhcmdldC1pZFwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOnJlc291cmNlVGFnL3RhZy1rZXlgLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnVGFnS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzc206cmVzb3VyY2VUYWcvdGFnLWtleVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
|
|
2193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBMGlCQzs7O0FBemlCQSw4QkFBOEI7QUFDZCx5QkFBYyxHQUFHLEtBQUssQ0FBQztBQUV2QyxzQ0FBc0M7QUFDdEIsNEJBQWlCLEdBQUcsdUJBQXVCLENBQUM7QUFDNUQsOENBQThDO0FBQzlCLHNDQUEyQixHQUMxQyxpQ0FBaUMsQ0FBQztBQUNuQyxnQ0FBZ0M7QUFDaEIsd0JBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUNwRCxtREFBbUQ7QUFDbkMsMkNBQWdDLEdBQy9DLHNDQUFzQyxDQUFDO0FBQ3hDLG1DQUFtQztBQUNuQiwyQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMxRCxvQ0FBb0M7QUFDcEIsNEJBQWlCLEdBQUcsdUJBQXVCLENBQUM7QUFDNUQseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLHVDQUF1QztBQUN2QiwrQkFBb0IsR0FBRywwQkFBMEIsQ0FBQztBQUNsRSxpQ0FBaUM7QUFDakIseUJBQWMsR0FBRyxvQkFBb0IsQ0FBQztBQUN0RCwwQ0FBMEM7QUFDMUIsa0NBQXVCLEdBQUcsNkJBQTZCLENBQUM7QUFDeEUsZ0NBQWdDO0FBQ2hCLHdCQUFhLEdBQUcsbUJBQW1CLENBQUM7QUFDcEQsb0NBQW9DO0FBQ3BCLDRCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBQzVELHNDQUFzQztBQUN0Qiw4QkFBbUIsR0FBRyx5QkFBeUIsQ0FBQztBQUNoRSx5Q0FBeUM7QUFDekIsaUNBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFDdEUsbUNBQW1D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d0U7QUFDeEQsb0RBQXNDLEdBQ3JELDJDQUEyQyxDQUFDO0FBQzdDLHNEQUFzRDtBQUN0QyxrQ0FBb0IsR0FBRyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3NzbS5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgc3NtIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTU01BY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwic3NtXCI7XG5cblx0LyoqIFtUYWdnaW5nXSBzc206QWRkVGFnc1RvUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZFRhZ3NUb1Jlc291cmNlID0gXCJzc206QWRkVGFnc1RvUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkFzc29jaWF0ZU9wc0l0ZW1SZWxhdGVkSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtID1cblx0XHRcInNzbTpBc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW1cIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNhbmNlbENvbW1hbmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhbmNlbENvbW1hbmQgPSBcInNzbTpDYW5jZWxDb21tYW5kXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpDYW5jZWxNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb24gPVxuXHRcdFwic3NtOkNhbmNlbE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpDcmVhdGVBY3RpdmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBY3RpdmF0aW9uID0gXCJzc206Q3JlYXRlQWN0aXZhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzc206Q3JlYXRlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc29jaWF0aW9uID0gXCJzc206Q3JlYXRlQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNyZWF0ZUFzc29jaWF0aW9uQmF0Y2ggKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc29jaWF0aW9uQmF0Y2ggPSBcInNzbTpDcmVhdGVBc3NvY2lhdGlvbkJhdGNoXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpDcmVhdGVDbG91ZENvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRDb25uZWN0b3IgPSBcInNzbTpDcmVhdGVDbG91ZENvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBzc206Q3JlYXRlRG9jdW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvY3VtZW50ID0gXCJzc206Q3JlYXRlRG9jdW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNyZWF0ZU1haW50ZW5hbmNlV2luZG93ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYWludGVuYW5jZVdpbmRvdyA9IFwic3NtOkNyZWF0ZU1haW50ZW5hbmNlV2luZG93XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpDcmVhdGVPcHNJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHNJdGVtID0gXCJzc206Q3JlYXRlT3BzSXRlbVwiO1xuXHQvKiogW1dyaXRlXSBzc206Q3JlYXRlT3BzTWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wc01ldGFkYXRhID0gXCJzc206Q3JlYXRlT3BzTWV0YWRhdGFcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkNyZWF0ZVBhdGNoQmFzZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBhdGNoQmFzZWxpbmUgPSBcInNzbTpDcmVhdGVQYXRjaEJhc2VsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpDcmVhdGVSZXNvdXJjZURhdGFTeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZURhdGFTeW5jID0gXCJzc206Q3JlYXRlUmVzb3VyY2VEYXRhU3luY1wiO1xuXHQvKiogW1dyaXRlXSBzc206RGVsZXRlQWN0aXZhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWN0aXZhdGlvbiA9IFwic3NtOkRlbGV0ZUFjdGl2YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlbGV0ZUFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NvY2lhdGlvbiA9IFwic3NtOkRlbGV0ZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZWxldGVDbG91ZENvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2xvdWRDb25uZWN0b3IgPSBcInNzbTpEZWxldGVDbG91ZENvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBzc206RGVsZXRlRG9jdW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURvY3VtZW50ID0gXCJzc206RGVsZXRlRG9jdW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlbGV0ZUludmVudG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW52ZW50b3J5ID0gXCJzc206RGVsZXRlSW52ZW50b3J5XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZWxldGVNYWludGVuYW5jZVdpbmRvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTWFpbnRlbmFuY2VXaW5kb3cgPSBcInNzbTpEZWxldGVNYWludGVuYW5jZVdpbmRvd1wiO1xuXHQvKiogW1dyaXRlXSBzc206RGVsZXRlT3BzSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3BzSXRlbSA9IFwic3NtOkRlbGV0ZU9wc0l0ZW1cIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlbGV0ZU9wc01ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHNNZXRhZGF0YSA9IFwic3NtOkRlbGV0ZU9wc01ldGFkYXRhXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZWxldGVQYXJhbWV0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBhcmFtZXRlciA9IFwic3NtOkRlbGV0ZVBhcmFtZXRlclwiO1xuXHQvKiogW1dyaXRlXSBzc206RGVsZXRlUGFyYW1ldGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFyYW1ldGVycyA9IFwic3NtOkRlbGV0ZVBhcmFtZXRlcnNcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlbGV0ZVBhdGNoQmFzZWxpbmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBhdGNoQmFzZWxpbmUgPSBcInNzbTpEZWxldGVQYXRjaEJhc2VsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZWxldGVSZXNvdXJjZURhdGFTeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZURhdGFTeW5jID0gXCJzc206RGVsZXRlUmVzb3VyY2VEYXRhU3luY1wiO1xuXHQvKiogW1Blcm1pc3Npb25NYW5hZ2VtZW50XSBzc206RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJzc206RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gc3NtOkRlcmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2UgPSBcInNzbTpEZXJlZ2lzdGVyTWFuYWdlZEluc3RhbmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZXJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCA9XG5cdFx0XCJzc206RGVyZWdpc3RlclBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZXJlZ2lzdGVyVGFyZ2V0RnJvbU1haW50ZW5hbmNlV2luZG93ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyVGFyZ2V0RnJvbU1haW50ZW5hbmNlV2luZG93ID1cblx0XHRcInNzbTpEZXJlZ2lzdGVyVGFyZ2V0RnJvbU1haW50ZW5hbmNlV2luZG93XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpEZXJlZ2lzdGVyVGFza0Zyb21NYWludGVuYW5jZVdpbmRvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclRhc2tGcm9tTWFpbnRlbmFuY2VXaW5kb3cgPVxuXHRcdFwic3NtOkRlcmVnaXN0ZXJUYXNrRnJvbU1haW50ZW5hbmNlV2luZG93XCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlQWN0aXZhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWN0aXZhdGlvbnMgPSBcInNzbTpEZXNjcmliZUFjdGl2YXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb24gPSBcInNzbTpEZXNjcmliZUFzc29jaWF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25UYXJnZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9uVGFyZ2V0cyA9XG5cdFx0XCJzc206RGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvblRhcmdldHNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25zID1cblx0XHRcInNzbTpEZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUF1dG9tYXRpb25FeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF1dG9tYXRpb25FeGVjdXRpb25zID1cblx0XHRcInNzbTpEZXNjcmliZUF1dG9tYXRpb25FeGVjdXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlQXV0b21hdGlvblN0ZXBFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF1dG9tYXRpb25TdGVwRXhlY3V0aW9ucyA9XG5cdFx0XCJzc206RGVzY3JpYmVBdXRvbWF0aW9uU3RlcEV4ZWN1dGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVBdmFpbGFibGVQYXRjaGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF2YWlsYWJsZVBhdGNoZXMgPSBcInNzbTpEZXNjcmliZUF2YWlsYWJsZVBhdGNoZXNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVEb2N1bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb2N1bWVudCA9IFwic3NtOkRlc2NyaWJlRG9jdW1lbnRcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVEb2N1bWVudFBhcmFtZXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRQYXJhbWV0ZXJzID0gXCJzc206RGVzY3JpYmVEb2N1bWVudFBhcmFtZXRlcnNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVEb2N1bWVudFBlcm1pc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRQZXJtaXNzaW9uID0gXCJzc206RGVzY3JpYmVEb2N1bWVudFBlcm1pc3Npb25cIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVFZmZlY3RpdmVJbnN0YW5jZUFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFZmZlY3RpdmVJbnN0YW5jZUFzc29jaWF0aW9ucyA9XG5cdFx0XCJzc206RGVzY3JpYmVFZmZlY3RpdmVJbnN0YW5jZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUVmZmVjdGl2ZVBhdGNoZXNGb3JQYXRjaEJhc2VsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVmZmVjdGl2ZVBhdGNoZXNGb3JQYXRjaEJhc2VsaW5lID1cblx0XHRcInNzbTpEZXNjcmliZUVmZmVjdGl2ZVBhdGNoZXNGb3JQYXRjaEJhc2VsaW5lXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlSW5zdGFuY2VBc3NvY2lhdGlvbnNTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VBc3NvY2lhdGlvbnNTdGF0dXMgPVxuXHRcdFwic3NtOkRlc2NyaWJlSW5zdGFuY2VBc3NvY2lhdGlvbnNTdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVJbnN0YW5jZUluZm9ybWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlSW5mb3JtYXRpb24gPVxuXHRcdFwic3NtOkRlc2NyaWJlSW5zdGFuY2VJbmZvcm1hdGlvblwiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlcyA9XG5cdFx0XCJzc206RGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkRlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlc0ZvclBhdGNoR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlc0ZvclBhdGNoR3JvdXAgPVxuXHRcdFwic3NtOkRlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlc0ZvclBhdGNoR3JvdXBcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVJbnN0YW5jZVBhdGNoZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQYXRjaGVzID0gXCJzc206RGVzY3JpYmVJbnN0YW5jZVBhdGNoZXNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVJbnN0YW5jZVByb3BlcnRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQcm9wZXJ0aWVzID0gXCJzc206RGVzY3JpYmVJbnN0YW5jZVByb3BlcnRpZXNcIjtcblx0LyoqIFtSZWFkXSBzc206RGVzY3JpYmVJbnZlbnRvcnlEZWxldGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW52ZW50b3J5RGVsZXRpb25zID0gXCJzc206RGVzY3JpYmVJbnZlbnRvcnlEZWxldGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9ucyA9XG5cdFx0XCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrcyA9XG5cdFx0XCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9ucyA9XG5cdFx0XCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1NjaGVkdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93U2NoZWR1bGUgPVxuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dTY2hlZHVsZVwiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1RhcmdldHMgPVxuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXRzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1Rhc2tzID1cblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFza3NcIjtcblx0LyoqIFtMaXN0XSBzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzID0gXCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd3NcIjtcblx0LyoqIFtMaXN0XSBzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd3NGb3JUYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzRm9yVGFyZ2V0ID1cblx0XHRcInNzbTpEZXNjcmliZU1haW50ZW5hbmNlV2luZG93c0ZvclRhcmdldFwiO1xuXHQvKiogW1JlYWRdIHNzbTpEZXNjcmliZU9wc0l0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wc0l0ZW1zID0gXCJzc206RGVzY3JpYmVPcHNJdGVtc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZVBhcmFtZXRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGFyYW1ldGVycyA9IFwic3NtOkRlc2NyaWJlUGFyYW1ldGVyc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZVBhdGNoQmFzZWxpbmVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhdGNoQmFzZWxpbmVzID0gXCJzc206RGVzY3JpYmVQYXRjaEJhc2VsaW5lc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZVBhdGNoR3JvdXBTdGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXRjaEdyb3VwU3RhdGUgPSBcInNzbTpEZXNjcmliZVBhdGNoR3JvdXBTdGF0ZVwiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZVBhdGNoR3JvdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhdGNoR3JvdXBzID0gXCJzc206RGVzY3JpYmVQYXRjaEdyb3Vwc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZVBhdGNoUHJvcGVydGllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXRjaFByb3BlcnRpZXMgPSBcInNzbTpEZXNjcmliZVBhdGNoUHJvcGVydGllc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpEZXNjcmliZVNlc3Npb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlc3Npb25zID0gXCJzc206RGVzY3JpYmVTZXNzaW9uc1wiO1xuXHQvKiogW1dyaXRlXSBzc206RGlzYXNzb2NpYXRlT3BzSXRlbVJlbGF0ZWRJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW0gPVxuXHRcdFwic3NtOkRpc2Fzc29jaWF0ZU9wc0l0ZW1SZWxhdGVkSXRlbVwiO1xuXHQvKiogW1JlYWRdIHNzbTpFeGVjdXRlQVBJICovXG5cdHN0YXRpYyByZWFkb25seSBFeGVjdXRlQVBJID0gXCJzc206RXhlY3V0ZUFQSVwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRBY2Nlc3NUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWNjZXNzVG9rZW4gPSBcInNzbTpHZXRBY2Nlc3NUb2tlblwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRBdXRvbWF0aW9uRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbWF0aW9uRXhlY3V0aW9uID0gXCJzc206R2V0QXV0b21hdGlvbkV4ZWN1dGlvblwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRDYWxlbmRhciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2FsZW5kYXIgPSBcInNzbTpHZXRDYWxlbmRhclwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRDYWxlbmRhclN0YXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDYWxlbmRhclN0YXRlID0gXCJzc206R2V0Q2FsZW5kYXJTdGF0ZVwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRDbG91ZENvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2xvdWRDb25uZWN0b3IgPSBcInNzbTpHZXRDbG91ZENvbm5lY3RvclwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRDb21tYW5kSW52b2NhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29tbWFuZEludm9jYXRpb24gPSBcInNzbTpHZXRDb21tYW5kSW52b2NhdGlvblwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRDb25uZWN0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uU3RhdHVzID0gXCJzc206R2V0Q29ubmVjdGlvblN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXREZWZhdWx0UGF0Y2hCYXNlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGVmYXVsdFBhdGNoQmFzZWxpbmUgPSBcInNzbTpHZXREZWZhdWx0UGF0Y2hCYXNlbGluZVwiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXREZXBsb3lhYmxlUGF0Y2hTbmFwc2hvdEZvckluc3RhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREZXBsb3lhYmxlUGF0Y2hTbmFwc2hvdEZvckluc3RhbmNlID1cblx0XHRcInNzbTpHZXREZXBsb3lhYmxlUGF0Y2hTbmFwc2hvdEZvckluc3RhbmNlXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldERvY3VtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREb2N1bWVudCA9IFwic3NtOkdldERvY3VtZW50XCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldEV4ZWN1dGlvblByZXZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV4ZWN1dGlvblByZXZpZXcgPSBcInNzbTpHZXRFeGVjdXRpb25QcmV2aWV3XCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldEludmVudG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52ZW50b3J5ID0gXCJzc206R2V0SW52ZW50b3J5XCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldEludmVudG9yeVNjaGVtYSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW52ZW50b3J5U2NoZW1hID0gXCJzc206R2V0SW52ZW50b3J5U2NoZW1hXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldE1haW50ZW5hbmNlV2luZG93ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvdyA9IFwic3NtOkdldE1haW50ZW5hbmNlV2luZG93XCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbiA9XG5cdFx0XCJzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2sgPVxuXHRcdFwic3NtOkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza1wiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9uID1cblx0XHRcInNzbTpHZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc3NtOkdldE1haW50ZW5hbmNlV2luZG93VGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWFpbnRlbmFuY2VXaW5kb3dUYXNrID1cblx0XHRcInNzbTpHZXRNYWludGVuYW5jZVdpbmRvd1Rhc2tcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0TWFuaWZlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1hbmlmZXN0ID0gXCJzc206R2V0TWFuaWZlc3RcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0T3BzSXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3BzSXRlbSA9IFwic3NtOkdldE9wc0l0ZW1cIjtcblx0LyoqIFtSZWFkXSBzc206R2V0T3BzTWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9wc01ldGFkYXRhID0gXCJzc206R2V0T3BzTWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0T3BzU3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3BzU3VtbWFyeSA9IFwic3NtOkdldE9wc1N1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0UGFyYW1ldGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJhbWV0ZXIgPSBcInNzbTpHZXRQYXJhbWV0ZXJcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0UGFyYW1ldGVySGlzdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFyYW1ldGVySGlzdG9yeSA9IFwic3NtOkdldFBhcmFtZXRlckhpc3RvcnlcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0UGFyYW1ldGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFyYW1ldGVycyA9IFwic3NtOkdldFBhcmFtZXRlcnNcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0UGFyYW1ldGVyc0J5UGF0aCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFyYW1ldGVyc0J5UGF0aCA9IFwic3NtOkdldFBhcmFtZXRlcnNCeVBhdGhcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0UGF0Y2hCYXNlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGF0Y2hCYXNlbGluZSA9IFwic3NtOkdldFBhdGNoQmFzZWxpbmVcIjtcblx0LyoqIFtSZWFkXSBzc206R2V0UGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwID1cblx0XHRcInNzbTpHZXRQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cFwiO1xuXHQvKiogW0xpc3RdIHNzbTpHZXRSZXNvdXJjZVBvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVBvbGljaWVzID0gXCJzc206R2V0UmVzb3VyY2VQb2xpY2llc1wiO1xuXHQvKiogW1JlYWRdIHNzbTpHZXRTZXJ2aWNlU2V0dGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2VydmljZVNldHRpbmcgPSBcInNzbTpHZXRTZXJ2aWNlU2V0dGluZ1wiO1xuXHQvKiogW1dyaXRlXSBzc206TGFiZWxQYXJhbWV0ZXJWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBMYWJlbFBhcmFtZXRlclZlcnNpb24gPSBcInNzbTpMYWJlbFBhcmFtZXRlclZlcnNpb25cIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdEFzc29jaWF0aW9uVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvblZlcnNpb25zID0gXCJzc206TGlzdEFzc29jaWF0aW9uVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdEFzc29jaWF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc29jaWF0aW9ucyA9IFwic3NtOkxpc3RBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdENsb3VkQ29ubmVjdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsb3VkQ29ubmVjdG9ycyA9IFwic3NtOkxpc3RDbG91ZENvbm5lY3RvcnNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdENvbW1hbmRJbnZvY2F0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbW1hbmRJbnZvY2F0aW9ucyA9IFwic3NtOkxpc3RDb21tYW5kSW52b2NhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdENvbW1hbmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tbWFuZHMgPSBcInNzbTpMaXN0Q29tbWFuZHNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdENvbXBsaWFuY2VJdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXBsaWFuY2VJdGVtcyA9IFwic3NtOkxpc3RDb21wbGlhbmNlSXRlbXNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdENvbXBsaWFuY2VTdW1tYXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21wbGlhbmNlU3VtbWFyaWVzID0gXCJzc206TGlzdENvbXBsaWFuY2VTdW1tYXJpZXNcIjtcblx0LyoqIFtMaXN0XSBzc206TGlzdERvY3VtZW50TWV0YWRhdGFIaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRNZXRhZGF0YUhpc3RvcnkgPVxuXHRcdFwic3NtOkxpc3REb2N1bWVudE1ldGFkYXRhSGlzdG9yeVwiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0RG9jdW1lbnRWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50VmVyc2lvbnMgPSBcInNzbTpMaXN0RG9jdW1lbnRWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0RG9jdW1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRzID0gXCJzc206TGlzdERvY3VtZW50c1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0SW5zdGFuY2VBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnN0YW5jZUFzc29jaWF0aW9ucyA9IFwic3NtOkxpc3RJbnN0YW5jZUFzc29jaWF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0SW52ZW50b3J5RW50cmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludmVudG9yeUVudHJpZXMgPSBcInNzbTpMaXN0SW52ZW50b3J5RW50cmllc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0Tm9kZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb2RlcyA9IFwic3NtOkxpc3ROb2Rlc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0Tm9kZXNTdW1tYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Tm9kZXNTdW1tYXJ5ID0gXCJzc206TGlzdE5vZGVzU3VtbWFyeVwiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0T3BzSXRlbUV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wc0l0ZW1FdmVudHMgPSBcInNzbTpMaXN0T3BzSXRlbUV2ZW50c1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0T3BzSXRlbVJlbGF0ZWRJdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wc0l0ZW1SZWxhdGVkSXRlbXMgPSBcInNzbTpMaXN0T3BzSXRlbVJlbGF0ZWRJdGVtc1wiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0T3BzTWV0YWRhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHNNZXRhZGF0YSA9IFwic3NtOkxpc3RPcHNNZXRhZGF0YVwiO1xuXHQvKiogW0xpc3RdIHNzbTpMaXN0UmVzb3VyY2VDb21wbGlhbmNlU3VtbWFyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VDb21wbGlhbmNlU3VtbWFyaWVzID1cblx0XHRcInNzbTpMaXN0UmVzb3VyY2VDb21wbGlhbmNlU3VtbWFyaWVzXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3RSZXNvdXJjZURhdGFTeW5jICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VEYXRhU3luYyA9IFwic3NtOkxpc3RSZXNvdXJjZURhdGFTeW5jXCI7XG5cdC8qKiBbTGlzdF0gc3NtOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInNzbTpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHNzbTpNb2RpZnlEb2N1bWVudFBlcm1pc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeURvY3VtZW50UGVybWlzc2lvbiA9IFwic3NtOk1vZGlmeURvY3VtZW50UGVybWlzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzc206UHV0Q2FsZW5kYXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENhbGVuZGFyID0gXCJzc206UHV0Q2FsZW5kYXJcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlB1dENvbXBsaWFuY2VJdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29tcGxpYW5jZUl0ZW1zID0gXCJzc206UHV0Q29tcGxpYW5jZUl0ZW1zXCI7XG5cdC8qKiBbUmVhZF0gc3NtOlB1dENvbmZpZ3VyZVBhY2thZ2VSZXN1bHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ3VyZVBhY2thZ2VSZXN1bHQgPSBcInNzbTpQdXRDb25maWd1cmVQYWNrYWdlUmVzdWx0XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpQdXRJbnZlbnRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEludmVudG9yeSA9IFwic3NtOlB1dEludmVudG9yeVwiO1xuXHQvKiogW1dyaXRlXSBzc206UHV0UGFyYW1ldGVyICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQYXJhbWV0ZXIgPSBcInNzbTpQdXRQYXJhbWV0ZXJcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gc3NtOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwic3NtOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpSZWdpc3RlckRlZmF1bHRQYXRjaEJhc2VsaW5lICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckRlZmF1bHRQYXRjaEJhc2VsaW5lID1cblx0XHRcInNzbTpSZWdpc3RlckRlZmF1bHRQYXRjaEJhc2VsaW5lXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpSZWdpc3Rlck1hbmFnZWRJbnN0YW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2UgPSBcInNzbTpSZWdpc3Rlck1hbmFnZWRJbnN0YW5jZVwiO1xuXHQvKiogW1dyaXRlXSBzc206UmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCA9XG5cdFx0XCJzc206UmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBzc206UmVnaXN0ZXJUYXJnZXRXaXRoTWFpbnRlbmFuY2VXaW5kb3cgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyVGFyZ2V0V2l0aE1haW50ZW5hbmNlV2luZG93ID1cblx0XHRcInNzbTpSZWdpc3RlclRhcmdldFdpdGhNYWludGVuYW5jZVdpbmRvd1wiO1xuXHQvKiogW1dyaXRlXSBzc206UmVnaXN0ZXJUYXNrV2l0aE1haW50ZW5hbmNlV2luZG93ICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhc2tXaXRoTWFpbnRlbmFuY2VXaW5kb3cgPVxuXHRcdFwic3NtOlJlZ2lzdGVyVGFza1dpdGhNYWludGVuYW5jZVdpbmRvd1wiO1xuXHQvKiogW1RhZ2dpbmddIHNzbTpSZW1vdmVUYWdzRnJvbVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlID0gXCJzc206UmVtb3ZlVGFnc0Zyb21SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBzc206UmVxdWVzdE1hbmFnZWRJbnN0YW5jZVJvbGVUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdE1hbmFnZWRJbnN0YW5jZVJvbGVUb2tlbiA9XG5cdFx0XCJzc206UmVxdWVzdE1hbmFnZWRJbnN0YW5jZVJvbGVUb2tlblwiO1xuXHQvKiogW1dyaXRlXSBzc206UmVzZXRTZXJ2aWNlU2V0dGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzZXRTZXJ2aWNlU2V0dGluZyA9IFwic3NtOlJlc2V0U2VydmljZVNldHRpbmdcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlJlc3VtZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc3VtZVNlc3Npb24gPSBcInNzbTpSZXN1bWVTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpTZW5kQXV0b21hdGlvblNpZ25hbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEF1dG9tYXRpb25TaWduYWwgPSBcInNzbTpTZW5kQXV0b21hdGlvblNpZ25hbFwiO1xuXHQvKiogW1dyaXRlXSBzc206U2VuZENvbW1hbmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDb21tYW5kID0gXCJzc206U2VuZENvbW1hbmRcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlN0YXJ0QWNjZXNzUmVxdWVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBY2Nlc3NSZXF1ZXN0ID0gXCJzc206U3RhcnRBY2Nlc3NSZXF1ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpTdGFydEFzc29jaWF0aW9uc09uY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXNzb2NpYXRpb25zT25jZSA9IFwic3NtOlN0YXJ0QXNzb2NpYXRpb25zT25jZVwiO1xuXHQvKiogW1dyaXRlXSBzc206U3RhcnRBdXRvbWF0aW9uRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9tYXRpb25FeGVjdXRpb24gPSBcInNzbTpTdGFydEF1dG9tYXRpb25FeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOlN0YXJ0Q2hhbmdlUmVxdWVzdEV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDaGFuZ2VSZXF1ZXN0RXhlY3V0aW9uID1cblx0XHRcInNzbTpTdGFydENoYW5nZVJlcXVlc3RFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBzc206U3RhcnRFeGVjdXRpb25QcmV2aWV3ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEV4ZWN1dGlvblByZXZpZXcgPSBcInNzbTpTdGFydEV4ZWN1dGlvblByZXZpZXdcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlN0YXJ0U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRTZXNzaW9uID0gXCJzc206U3RhcnRTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpTdG9wQXV0b21hdGlvbkV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9tYXRpb25FeGVjdXRpb24gPSBcInNzbTpTdG9wQXV0b21hdGlvbkV4ZWN1dGlvblwiO1xuXHQvKiogW1dyaXRlXSBzc206VGVybWluYXRlU2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGVybWluYXRlU2Vzc2lvbiA9IFwic3NtOlRlcm1pbmF0ZVNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVubGFiZWxQYXJhbWV0ZXJWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVbmxhYmVsUGFyYW1ldGVyVmVyc2lvbiA9IFwic3NtOlVubGFiZWxQYXJhbWV0ZXJWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb24gPSBcInNzbTpVcGRhdGVBc3NvY2lhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlQXNzb2NpYXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc29jaWF0aW9uU3RhdHVzID0gXCJzc206VXBkYXRlQXNzb2NpYXRpb25TdGF0dXNcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZUNsb3VkQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbG91ZENvbm5lY3RvciA9IFwic3NtOlVwZGF0ZUNsb3VkQ29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVEb2N1bWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9jdW1lbnQgPSBcInNzbTpVcGRhdGVEb2N1bWVudFwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlRG9jdW1lbnREZWZhdWx0VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9jdW1lbnREZWZhdWx0VmVyc2lvbiA9XG5cdFx0XCJzc206VXBkYXRlRG9jdW1lbnREZWZhdWx0VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlRG9jdW1lbnRNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9jdW1lbnRNZXRhZGF0YSA9IFwic3NtOlVwZGF0ZURvY3VtZW50TWV0YWRhdGFcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZUluc3RhbmNlQXNzb2NpYXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluc3RhbmNlQXNzb2NpYXRpb25TdGF0dXMgPVxuXHRcdFwic3NtOlVwZGF0ZUluc3RhbmNlQXNzb2NpYXRpb25TdGF0dXNcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb24gPSBcInNzbTpVcGRhdGVJbnN0YW5jZUluZm9ybWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVNYWludGVuYW5jZVdpbmRvdyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3cgPSBcInNzbTpVcGRhdGVNYWludGVuYW5jZVdpbmRvd1wiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0ID1cblx0XHRcInNzbTpVcGRhdGVNYWludGVuYW5jZVdpbmRvd1RhcmdldFwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYWludGVuYW5jZVdpbmRvd1Rhc2sgPVxuXHRcdFwic3NtOlVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFza1wiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlTWFuYWdlZEluc3RhbmNlUHVibGljS2V5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYW5hZ2VkSW5zdGFuY2VQdWJsaWNLZXkgPVxuXHRcdFwic3NtOlVwZGF0ZU1hbmFnZWRJbnN0YW5jZVB1YmxpY0tleVwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlTWFuYWdlZEluc3RhbmNlUm9sZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFuYWdlZEluc3RhbmNlUm9sZSA9IFwic3NtOlVwZGF0ZU1hbmFnZWRJbnN0YW5jZVJvbGVcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZU9wc0l0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9wc0l0ZW0gPSBcInNzbTpVcGRhdGVPcHNJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVPcHNNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3BzTWV0YWRhdGEgPSBcInNzbTpVcGRhdGVPcHNNZXRhZGF0YVwiO1xuXHQvKiogW1dyaXRlXSBzc206VXBkYXRlUGF0Y2hCYXNlbGluZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGF0Y2hCYXNlbGluZSA9IFwic3NtOlVwZGF0ZVBhdGNoQmFzZWxpbmVcIjtcblx0LyoqIFtXcml0ZV0gc3NtOlVwZGF0ZVJlc291cmNlRGF0YVN5bmMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlRGF0YVN5bmMgPSBcInNzbTpVcGRhdGVSZXNvdXJjZURhdGFTeW5jXCI7XG5cdC8qKiBbV3JpdGVdIHNzbTpVcGRhdGVTZXJ2aWNlU2V0dGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZVNldHRpbmcgPSBcInNzbTpVcGRhdGVTZXJ2aWNlU2V0dGluZ1wiO1xuXHQvKiogW1JlYWRdIHNzbTpWYWxpZGF0ZUNsb3VkQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBWYWxpZGF0ZUNsb3VkQ29ubmVjdG9yID0gXCJzc206VmFsaWRhdGVDbG91ZENvbm5lY3RvclwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVBY3RpdmF0aW9ucyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlQXNzb2NpYXRpb24sXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUFzc29jaWF0aW9uRXhlY3V0aW9uVGFyZ2V0cyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVBdXRvbWF0aW9uRXhlY3V0aW9ucyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlQXV0b21hdGlvblN0ZXBFeGVjdXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVBdmFpbGFibGVQYXRjaGVzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVEb2N1bWVudCxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlRG9jdW1lbnRQYXJhbWV0ZXJzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVEb2N1bWVudFBlcm1pc3Npb24sXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVFZmZlY3RpdmVQYXRjaGVzRm9yUGF0Y2hCYXNlbGluZSxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlSW5zdGFuY2VBc3NvY2lhdGlvbnNTdGF0dXMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUluc3RhbmNlSW5mb3JtYXRpb24sXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXNGb3JQYXRjaEdyb3VwLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVJbnN0YW5jZVBhdGNoZXMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZUluc3RhbmNlUHJvcGVydGllcyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlSW52ZW50b3J5RGVsZXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVPcHNJdGVtcyxcblx0XHRTU01BY3Rpb25zLkV4ZWN1dGVBUEksXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRBY2Nlc3NUb2tlbixcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldEF1dG9tYXRpb25FeGVjdXRpb24sXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRDYWxlbmRhcixcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldENhbGVuZGFyU3RhdGUsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRDbG91ZENvbm5lY3Rvcixcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldENvbW1hbmRJbnZvY2F0aW9uLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdGlvblN0YXR1cyxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldERlZmF1bHRQYXRjaEJhc2VsaW5lLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0RGVwbG95YWJsZVBhdGNoU25hcHNob3RGb3JJbnN0YW5jZSxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldERvY3VtZW50LFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0RXhlY3V0aW9uUHJldmlldyxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldEludmVudG9yeSxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldEludmVudG9yeVNjaGVtYSxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldE1haW50ZW5hbmNlV2luZG93LFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb24sXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2ssXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tJbnZvY2F0aW9uLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0TWFpbnRlbmFuY2VXaW5kb3dUYXNrLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0TWFuaWZlc3QsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRPcHNJdGVtLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0T3BzTWV0YWRhdGEsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRPcHNTdW1tYXJ5LFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0UGFyYW1ldGVyLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0UGFyYW1ldGVySGlzdG9yeSxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldFBhcmFtZXRlcnMsXG5cdFx0U1NNQWN0aW9ucy5hY3Rpb25HZXRQYXJhbWV0ZXJzQnlQYXRoLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0UGF0Y2hCYXNlbGluZSxcblx0XHRTU01BY3Rpb25zLmFjdGlvbkdldFBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0U2VydmljZVNldHRpbmcsXG5cdFx0U1NNQWN0aW9ucy5QdXRDb25maWd1cmVQYWNrYWdlUmVzdWx0LFxuXHRcdFNTTUFjdGlvbnMuU3RhcnRFeGVjdXRpb25QcmV2aWV3LFxuXHRcdFNTTUFjdGlvbnMuVmFsaWRhdGVDbG91ZENvbm5lY3Rvcixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTU01BY3Rpb25zLkFzc29jaWF0ZU9wc0l0ZW1SZWxhdGVkSXRlbSxcblx0XHRTU01BY3Rpb25zLkNhbmNlbENvbW1hbmQsXG5cdFx0U1NNQWN0aW9ucy5DYW5jZWxNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbixcblx0XHRTU01BY3Rpb25zLkNyZWF0ZUFjdGl2YXRpb24sXG5cdFx0U1NNQWN0aW9ucy5DcmVhdGVBc3NvY2lhdGlvbixcblx0XHRTU01BY3Rpb25zLkNyZWF0ZUFzc29jaWF0aW9uQmF0Y2gsXG5cdFx0U1NNQWN0aW9ucy5DcmVhdGVDbG91ZENvbm5lY3Rvcixcblx0XHRTU01BY3Rpb25zLkNyZWF0ZURvY3VtZW50LFxuXHRcdFNTTUFjdGlvbnMuQ3JlYXRlTWFpbnRlbmFuY2VXaW5kb3csXG5cdFx0U1NNQWN0aW9ucy5DcmVhdGVPcHNJdGVtLFxuXHRcdFNTTUFjdGlvbnMuQ3JlYXRlT3BzTWV0YWRhdGEsXG5cdFx0U1NNQWN0aW9ucy5DcmVhdGVQYXRjaEJhc2VsaW5lLFxuXHRcdFNTTUFjdGlvbnMuQ3JlYXRlUmVzb3VyY2VEYXRhU3luYyxcblx0XHRTU01BY3Rpb25zLkRlbGV0ZUFjdGl2YXRpb24sXG5cdFx0U1NNQWN0aW9ucy5EZWxldGVBc3NvY2lhdGlvbixcblx0XHRTU01BY3Rpb25zLkRlbGV0ZUNsb3VkQ29ubmVjdG9yLFxuXHRcdFNTTUFjdGlvbnMuRGVsZXRlRG9jdW1lbnQsXG5cdFx0U1NNQWN0aW9ucy5EZWxldGVJbnZlbnRvcnksXG5cdFx0U1NNQWN0aW9ucy5EZWxldGVNYWludGVuYW5jZVdpbmRvdyxcblx0XHRTU01BY3Rpb25zLkRlbGV0ZU9wc0l0ZW0sXG5cdFx0U1NNQWN0aW9ucy5EZWxldGVPcHNNZXRhZGF0YSxcblx0XHRTU01BY3Rpb25zLkRlbGV0ZVBhcmFtZXRlcixcblx0XHRTU01BY3Rpb25zLkRlbGV0ZVBhcmFtZXRlcnMsXG5cdFx0U1NNQWN0aW9ucy5EZWxldGVQYXRjaEJhc2VsaW5lLFxuXHRcdFNTTUFjdGlvbnMuRGVsZXRlUmVzb3VyY2VEYXRhU3luYyxcblx0XHRTU01BY3Rpb25zLkRlcmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2UsXG5cdFx0U1NNQWN0aW9ucy5EZXJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXAsXG5cdFx0U1NNQWN0aW9ucy5EZXJlZ2lzdGVyVGFyZ2V0RnJvbU1haW50ZW5hbmNlV2luZG93LFxuXHRcdFNTTUFjdGlvbnMuRGVyZWdpc3RlclRhc2tGcm9tTWFpbnRlbmFuY2VXaW5kb3csXG5cdFx0U1NNQWN0aW9ucy5EaXNhc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW0sXG5cdFx0U1NNQWN0aW9ucy5MYWJlbFBhcmFtZXRlclZlcnNpb24sXG5cdFx0U1NNQWN0aW9ucy5QdXRDYWxlbmRhcixcblx0XHRTU01BY3Rpb25zLlB1dENvbXBsaWFuY2VJdGVtcyxcblx0XHRTU01BY3Rpb25zLlB1dEludmVudG9yeSxcblx0XHRTU01BY3Rpb25zLlB1dFBhcmFtZXRlcixcblx0XHRTU01BY3Rpb25zLlJlZ2lzdGVyRGVmYXVsdFBhdGNoQmFzZWxpbmUsXG5cdFx0U1NNQWN0aW9ucy5SZWdpc3Rlck1hbmFnZWRJbnN0YW5jZSxcblx0XHRTU01BY3Rpb25zLlJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXAsXG5cdFx0U1NNQWN0aW9ucy5SZWdpc3RlclRhcmdldFdpdGhNYWludGVuYW5jZVdpbmRvdyxcblx0XHRTU01BY3Rpb25zLlJlZ2lzdGVyVGFza1dpdGhNYWludGVuYW5jZVdpbmRvdyxcblx0XHRTU01BY3Rpb25zLlJlcXVlc3RNYW5hZ2VkSW5zdGFuY2VSb2xlVG9rZW4sXG5cdFx0U1NNQWN0aW9ucy5SZXNldFNlcnZpY2VTZXR0aW5nLFxuXHRcdFNTTUFjdGlvbnMuUmVzdW1lU2Vzc2lvbixcblx0XHRTU01BY3Rpb25zLlNlbmRBdXRvbWF0aW9uU2lnbmFsLFxuXHRcdFNTTUFjdGlvbnMuU2VuZENvbW1hbmQsXG5cdFx0U1NNQWN0aW9ucy5TdGFydEFjY2Vzc1JlcXVlc3QsXG5cdFx0U1NNQWN0aW9ucy5TdGFydEFzc29jaWF0aW9uc09uY2UsXG5cdFx0U1NNQWN0aW9ucy5TdGFydEF1dG9tYXRpb25FeGVjdXRpb24sXG5cdFx0U1NNQWN0aW9ucy5TdGFydENoYW5nZVJlcXVlc3RFeGVjdXRpb24sXG5cdFx0U1NNQWN0aW9ucy5TdGFydFNlc3Npb24sXG5cdFx0U1NNQWN0aW9ucy5TdG9wQXV0b21hdGlvbkV4ZWN1dGlvbixcblx0XHRTU01BY3Rpb25zLlRlcm1pbmF0ZVNlc3Npb24sXG5cdFx0U1NNQWN0aW9ucy5VbmxhYmVsUGFyYW1ldGVyVmVyc2lvbixcblx0XHRTU01BY3Rpb25zLlVwZGF0ZUFzc29jaWF0aW9uLFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlQXNzb2NpYXRpb25TdGF0dXMsXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVDbG91ZENvbm5lY3Rvcixcblx0XHRTU01BY3Rpb25zLlVwZGF0ZURvY3VtZW50LFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlRG9jdW1lbnREZWZhdWx0VmVyc2lvbixcblx0XHRTU01BY3Rpb25zLlVwZGF0ZURvY3VtZW50TWV0YWRhdGEsXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVJbnN0YW5jZUFzc29jaWF0aW9uU3RhdHVzLFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlSW5zdGFuY2VJbmZvcm1hdGlvbixcblx0XHRTU01BY3Rpb25zLlVwZGF0ZU1haW50ZW5hbmNlV2luZG93LFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXQsXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVNYWludGVuYW5jZVdpbmRvd1Rhc2ssXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVNYW5hZ2VkSW5zdGFuY2VQdWJsaWNLZXksXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVNYW5hZ2VkSW5zdGFuY2VSb2xlLFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlT3BzSXRlbSxcblx0XHRTU01BY3Rpb25zLlVwZGF0ZU9wc01ldGFkYXRhLFxuXHRcdFNTTUFjdGlvbnMuVXBkYXRlUGF0Y2hCYXNlbGluZSxcblx0XHRTU01BY3Rpb25zLlVwZGF0ZVJlc291cmNlRGF0YVN5bmMsXG5cdFx0U1NNQWN0aW9ucy5VcGRhdGVTZXJ2aWNlU2V0dGluZyxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbnMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZU1haW50ZW5hbmNlV2luZG93U2NoZWR1bGUsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZU1haW50ZW5hbmNlV2luZG93VGFyZ2V0cyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXNrcyxcblx0XHRTU01BY3Rpb25zLkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd3NGb3JUYXJnZXQsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZVBhcmFtZXRlcnMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZVBhdGNoQmFzZWxpbmVzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVQYXRjaEdyb3VwU3RhdGUsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZVBhdGNoR3JvdXBzLFxuXHRcdFNTTUFjdGlvbnMuRGVzY3JpYmVQYXRjaFByb3BlcnRpZXMsXG5cdFx0U1NNQWN0aW9ucy5EZXNjcmliZVNlc3Npb25zLFxuXHRcdFNTTUFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY2llcyxcblx0XHRTU01BY3Rpb25zLkxpc3RBc3NvY2lhdGlvblZlcnNpb25zLFxuXHRcdFNTTUFjdGlvbnMuTGlzdEFzc29jaWF0aW9ucyxcblx0XHRTU01BY3Rpb25zLkxpc3RDbG91ZENvbm5lY3RvcnMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0Q29tbWFuZEludm9jYXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuTGlzdENvbW1hbmRzLFxuXHRcdFNTTUFjdGlvbnMuTGlzdENvbXBsaWFuY2VJdGVtcyxcblx0XHRTU01BY3Rpb25zLkxpc3RDb21wbGlhbmNlU3VtbWFyaWVzLFxuXHRcdFNTTUFjdGlvbnMuTGlzdERvY3VtZW50TWV0YWRhdGFIaXN0b3J5LFxuXHRcdFNTTUFjdGlvbnMuTGlzdERvY3VtZW50VmVyc2lvbnMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0RG9jdW1lbnRzLFxuXHRcdFNTTUFjdGlvbnMuTGlzdEluc3RhbmNlQXNzb2NpYXRpb25zLFxuXHRcdFNTTUFjdGlvbnMuTGlzdEludmVudG9yeUVudHJpZXMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0Tm9kZXMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0Tm9kZXNTdW1tYXJ5LFxuXHRcdFNTTUFjdGlvbnMuTGlzdE9wc0l0ZW1FdmVudHMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0T3BzSXRlbVJlbGF0ZWRJdGVtcyxcblx0XHRTU01BY3Rpb25zLkxpc3RPcHNNZXRhZGF0YSxcblx0XHRTU01BY3Rpb25zLkxpc3RSZXNvdXJjZUNvbXBsaWFuY2VTdW1tYXJpZXMsXG5cdFx0U1NNQWN0aW9ucy5MaXN0UmVzb3VyY2VEYXRhU3luYyxcblx0XHRTU01BY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNTTUFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0U1NNQWN0aW9ucy5Nb2RpZnlEb2N1bWVudFBlcm1pc3Npb24sXG5cdFx0U1NNQWN0aW9ucy5QdXRSZXNvdXJjZVBvbGljeSxcblx0XTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U1NNQWN0aW9ucy5BZGRUYWdzVG9SZXNvdXJjZSxcblx0XHRTU01BY3Rpb25zLlJlbW92ZVRhZ3NGcm9tUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhc3NvY2lhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNQXNzb2NpYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXNzb2NpYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXNzb2NpYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFzc29jaWF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01Bc3NvY2lhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXNzb2NpYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFzc29jaWF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9tYXRpb24tZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNQXV0b21hdGlvbkRlZmluaXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b21hdGlvbkRlZmluaXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0aW9uRGVmaW5pdGlvbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZlcnNpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9tYXRpb24tZGVmaW5pdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNQXV0b21hdGlvbkRlZmluaXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9tYXRpb25EZWZpbml0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9tYXRpb25EZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFZlcnNpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHZlcnNpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXV0b21hdGlvbi1leGVjdXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUF1dG9tYXRpb25FeGVjdXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b21hdGlvbkV4ZWN1dGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbWF0aW9uRXhlY3V0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbWF0aW9uLWV4ZWN1dGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNQXV0b21hdGlvbkV4ZWN1dGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b21hdGlvbkV4ZWN1dGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b21hdGlvbkV4ZWN1dGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBidWNrZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUJ1Y2tldEFyblByb3BzIHtcblx0LyoqIFRoZSBCdWNrZXROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYnVja2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01CdWNrZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEJ1Y2tldE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBidWNrZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbG91ZC1jb25uZWN0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUNsb3VkQ29ubmVjdG9yQXJuUHJvcHMge1xuXHQvKiogVGhlIENsb3VkQ29ubmVjdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsb3VkQ29ubmVjdG9ySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbG91ZC1jb25uZWN0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUNsb3VkQ29ubmVjdG9yQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbG91ZENvbm5lY3RvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2xvdWRDb25uZWN0b3JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZG9jdW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTURvY3VtZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIERvY3VtZW50TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZG9jdW1lbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZG9jdW1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTURvY3VtZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEb2N1bWVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBkb2N1bWVudE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGlhbS1yb2xlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01JQU1Sb2xlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJvbGVOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByb2xlTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaWFtLXJvbGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTUlBTVJvbGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSb2xlTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJvbGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNSW5zdGFuY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgSW5zdGFuY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01JbnN0YW5jZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSW5zdGFuY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG1haW50ZW5hbmNld2luZG93IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01NYWludGVuYW5jZXdpbmRvd0FyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgbWFpbnRlbmFuY2V3aW5kb3cgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU1haW50ZW5hbmNld2luZG93QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgbWFuYWdlZC1pbnN0YW5jZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNTWFuYWdlZEluc3RhbmNlQXJuUHJvcHMge1xuXHQvKiogVGhlIEluc3RhbmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtYW5hZ2VkLWluc3RhbmNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01NYW5hZ2VkSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEluc3RhbmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbnN0YW5jZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBtYW5hZ2VkLWluc3RhbmNlLWludmVudG9yeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNTWFuYWdlZEluc3RhbmNlSW52ZW50b3J5QXJuUHJvcHMge1xuXHQvKiogVGhlIEluc3RhbmNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBtYW5hZ2VkLWluc3RhbmNlLWludmVudG9yeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNTWFuYWdlZEluc3RhbmNlSW52ZW50b3J5QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbnN0YW5jZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW5zdGFuY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgb3BzaXRlbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNT3BzaXRlbUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgb3BzaXRlbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNT3BzaXRlbUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzb3VyY2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc291cmNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9wc2l0ZW1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNT3BzaXRlbWdyb3VwQXJuUHJvcHMge1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9wc2l0ZW1ncm91cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNT3BzaXRlbWdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9wc21ldGFkYXRhIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01PcHNtZXRhZGF0YUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgb3BzbWV0YWRhdGEgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTU9wc21ldGFkYXRhQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGFyYW1ldGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01QYXJhbWV0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGFyYW1ldGVyTmFtZVdpdGhvdXRMZWFkaW5nU2xhc2ggY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBhcmFtZXRlck5hbWVXaXRob3V0TGVhZGluZ1NsYXNoOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGFyYW1ldGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01QYXJhbWV0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBhcmFtZXRlck5hbWVXaXRob3V0TGVhZGluZ1NsYXNoIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGFyYW1ldGVyTmFtZVdpdGhvdXRMZWFkaW5nU2xhc2g6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBhdGNoYmFzZWxpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVBhdGNoYmFzZWxpbmVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGF0Y2hCYXNlbGluZUlkUmVzb3VyY2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGF0Y2hCYXNlbGluZUlkUmVzb3VyY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBhdGNoYmFzZWxpbmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVBhdGNoYmFzZWxpbmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBhdGNoQmFzZWxpbmVJZFJlc291cmNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwYXRjaEJhc2VsaW5lSWRSZXNvdXJjZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZXNvdXJjZWRhdGFzeW5jIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01SZXNvdXJjZWRhdGFzeW5jQXJuUHJvcHMge1xuXHQvKiogVGhlIFN5bmNOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzeW5jTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlc291cmNlZGF0YXN5bmMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVJlc291cmNlZGF0YXN5bmNBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN5bmNOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3luY05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNlcnZpY2VzZXR0aW5nIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01TZXJ2aWNlc2V0dGluZ0FyblByb3BzIHtcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNvdXJjZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VydmljZXNldHRpbmcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVNlcnZpY2VzZXR0aW5nQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZXNvdXJjZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzb3VyY2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2Vzc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNU2Vzc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBTZXNzaW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlc3Npb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlc3Npb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVNlc3Npb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNlc3Npb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlc3Npb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGFzayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU1NNVGFza0FyblByb3BzIHtcblx0LyoqIFRoZSBUYXNrSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVRhc2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRhc2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRhc2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd2luZG93dGFyZ2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01XaW5kb3d0YXJnZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgV2luZG93VGFyZ2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdpbmRvd1RhcmdldElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgd2luZG93dGFyZ2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01XaW5kb3d0YXJnZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFdpbmRvd1RhcmdldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgd2luZG93VGFyZ2V0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdpbmRvd3Rhc2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVdpbmRvd3Rhc2tBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgV2luZG93VGFza0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3aW5kb3dUYXNrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3aW5kb3d0YXNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTU01XaW5kb3d0YXNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXaW5kb3dUYXNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB3aW5kb3dUYXNrSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQXNzb2NpYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXNzb2NpYXRpb25cXC8oPzxhc3NvY2lhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWF0aW9uRGVmaW5pdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphdXRvbWF0aW9uLWRlZmluaXRpb25cXC8oPzxhdXRvbWF0aW9uRGVmaW5pdGlvbk5hbWU+W146Lz9dKyk6KD88dmVyc2lvbklkPlteOi8/XSspJC87XG5jb25zdCBBdXRvbWF0aW9uRXhlY3V0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9tYXRpb24tZXhlY3V0aW9uXFwvKD88YXV0b21hdGlvbkV4ZWN1dGlvbklkPlteOi8/XSspJC87XG5jb25zdCBCdWNrZXRBcm5SZWdleCA9IC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6czM6OjooPzxidWNrZXROYW1lPlteOi8/XSspJC87XG5jb25zdCBDbG91ZENvbm5lY3RvckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbG91ZC1jb25uZWN0b3JcXC8oPzxjbG91ZENvbm5lY3RvcklkPlteOi8/XSspJC87XG5jb25zdCBEb2N1bWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkb2N1bWVudFxcLyg/PGRvY3VtZW50TmFtZT5bXjovP10rKSQvO1xuY29uc3QgSUFNUm9sZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTppYW06Oig/PGFjY291bnQ+W146XSopOnJvbGVcXC8oPzxyb2xlTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW5zdGFuY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6ZWMyOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6aW5zdGFuY2VcXC8oPzxpbnN0YW5jZUlkPlteOi8/XSspJC87XG5jb25zdCBNYWludGVuYW5jZXdpbmRvd0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptYWludGVuYW5jZXdpbmRvd1xcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IE1hbmFnZWRJbnN0YW5jZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptYW5hZ2VkLWluc3RhbmNlXFwvKD88aW5zdGFuY2VJZD5bXjovP10rKSQvO1xuY29uc3QgTWFuYWdlZEluc3RhbmNlSW52ZW50b3J5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1hbmFnZWQtaW5zdGFuY2UtaW52ZW50b3J5XFwvKD88aW5zdGFuY2VJZD5bXjovP10rKSQvO1xuY29uc3QgT3BzaXRlbUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpvcHNpdGVtXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgT3BzaXRlbWdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9wc2l0ZW1ncm91cFxcL2RlZmF1bHQkLztcbmNvbnN0IE9wc21ldGFkYXRhQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9wc21ldGFkYXRhXFwvKD88cmVzb3VyY2VJZD5bXjovP10rKSQvO1xuY29uc3QgUGFyYW1ldGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBhcmFtZXRlclxcLyg/PHBhcmFtZXRlck5hbWVXaXRob3V0TGVhZGluZ1NsYXNoPlteOi8/XSspJC87XG5jb25zdCBQYXRjaGJhc2VsaW5lQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBhdGNoYmFzZWxpbmVcXC8oPzxwYXRjaEJhc2VsaW5lSWRSZXNvdXJjZUlkPlteOi8/XSspJC87XG5jb25zdCBSZXNvdXJjZWRhdGFzeW5jQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNzbTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlc291cmNlLWRhdGEtc3luY1xcLyg/PHN5bmNOYW1lPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlc2V0dGluZ0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzc206KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlc2V0dGluZ1xcLyg/PHJlc291cmNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFNlc3Npb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2Vzc2lvblxcLyg/PHNlc3Npb25JZD5bXjovP10rKSQvO1xuY29uc3QgVGFza0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTplY3M6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0YXNrXFwvKD88dGFza0lkPlteOi8/XSspJC87XG5jb25zdCBXaW5kb3d0YXJnZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d2luZG93dGFyZ2V0XFwvKD88d2luZG93VGFyZ2V0SWQ+W146Lz9dKykkLztcbmNvbnN0IFdpbmRvd3Rhc2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c3NtOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d2luZG93dGFza1xcLyg/PHdpbmRvd1Rhc2tJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNzbSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTU01SZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFzc29jaWF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFzc29jaWF0aW9uKHByb3BzOiBTU01Bc3NvY2lhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzc206JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXNzb2NpYXRpb24vJHtwcm9wcy5hc3NvY2lhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhc3NvY2lhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXNzb2NpYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXNzb2NpYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXNzb2NpYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXNzb2NpYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBTU01Bc3NvY2lhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXNzb2NpYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXNzb2NpYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXNzb2NpYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5hc3NvY2lhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tYXRpb24tZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbWF0aW9uRGVmaW5pdGlvbihwcm9wczogU1NNQXV0b21hdGlvbkRlZmluaXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tYXRpb24tZGVmaW5pdGlvbi8ke3Byb3BzLmF1dG9tYXRpb25EZWZpbml0aW9uTmFtZX06JHtwcm9wcy52ZXJzaW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9tYXRpb24tZGVmaW5pdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b21hdGlvbkRlZmluaXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b21hdGlvbkRlZmluaXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXV0b21hdGlvbi1kZWZpbml0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9tYXRpb25EZWZpbml0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTU01BdXRvbWF0aW9uRGVmaW5pdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b21hdGlvbkRlZmluaXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21hdGlvbi1kZWZpbml0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9tYXRpb25EZWZpbml0aW9uTmFtZTogbWF0Y2guZ3JvdXBzIS5hdXRvbWF0aW9uRGVmaW5pdGlvbk5hbWUsXG5cdFx0XHR2ZXJzaW9uSWQ6IG1hdGNoLmdyb3VwcyEudmVyc2lvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9tYXRpb24tZXhlY3V0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF1dG9tYXRpb25FeGVjdXRpb24ocHJvcHM6IFNTTUF1dG9tYXRpb25FeGVjdXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9tYXRpb24tZXhlY3V0aW9uLyR7cHJvcHMuYXV0b21hdGlvbkV4ZWN1dGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbWF0aW9uLWV4ZWN1dGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b21hdGlvbkV4ZWN1dGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBdXRvbWF0aW9uRXhlY3V0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9tYXRpb24tZXhlY3V0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9tYXRpb25FeGVjdXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNTTUF1dG9tYXRpb25FeGVjdXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9tYXRpb25FeGVjdXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b21hdGlvbi1leGVjdXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXV0b21hdGlvbkV4ZWN1dGlvbklkOiBtYXRjaC5ncm91cHMhLmF1dG9tYXRpb25FeGVjdXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBidWNrZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYnVja2V0KHByb3BzOiBTU01CdWNrZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06czM6Ojoke3Byb3BzLmJ1Y2tldE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGJ1Y2tldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQnVja2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJ1Y2tldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBidWNrZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQnVja2V0QXJuKGFybjogc3RyaW5nKTogU1NNQnVja2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCdWNrZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYnVja2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJ1Y2tldE5hbWU6IG1hdGNoLmdyb3VwcyEuYnVja2V0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbG91ZC1jb25uZWN0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2xvdWRDb25uZWN0b3IocHJvcHM6IFNTTUNsb3VkQ29ubmVjdG9yQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbG91ZC1jb25uZWN0b3IvJHtwcm9wcy5jbG91ZENvbm5lY3RvcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbG91ZC1jb25uZWN0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsb3VkQ29ubmVjdG9yQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENsb3VkQ29ubmVjdG9yQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsb3VkLWNvbm5lY3RvciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbG91ZENvbm5lY3RvckFybihhcm46IHN0cmluZyk6IFNTTUNsb3VkQ29ubmVjdG9yQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbG91ZENvbm5lY3RvckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbG91ZC1jb25uZWN0b3IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2xvdWRDb25uZWN0b3JJZDogbWF0Y2guZ3JvdXBzIS5jbG91ZENvbm5lY3RvcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRvY3VtZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRvY3VtZW50KHByb3BzOiBTU01Eb2N1bWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzc206JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZG9jdW1lbnQvJHtwcm9wcy5kb2N1bWVudE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRvY3VtZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWREb2N1bWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEb2N1bWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkb2N1bWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEb2N1bWVudEFybihhcm46IHN0cmluZyk6IFNTTURvY3VtZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBEb2N1bWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkb2N1bWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRkb2N1bWVudE5hbWU6IG1hdGNoLmdyb3VwcyEuZG9jdW1lbnROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGlhbS1yb2xlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlhbVJvbGUocHJvcHM6IFNTTUlBTVJvbGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aWFtOjoke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJvbGUvJHtwcm9wcy5yb2xlTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaWFtLXJvbGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZElBTVJvbGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSUFNUm9sZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBpYW0tcm9sZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VJQU1Sb2xlQXJuKGFybjogc3RyaW5nKTogU1NNSUFNUm9sZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gSUFNUm9sZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpYW0tcm9sZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyb2xlTmFtZTogbWF0Y2guZ3JvdXBzIS5yb2xlTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbnN0YW5jZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbnN0YW5jZShwcm9wczogU1NNSW5zdGFuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06ZWMyOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omluc3RhbmNlLyR7cHJvcHMuaW5zdGFuY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEluc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGluc3RhbmNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogU1NNSW5zdGFuY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEluc3RhbmNlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGluc3RhbmNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluc3RhbmNlSWQ6IG1hdGNoLmdyb3VwcyEuaW5zdGFuY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBtYWludGVuYW5jZXdpbmRvdyByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBtYWludGVuYW5jZXdpbmRvdyhwcm9wczogU1NNTWFpbnRlbmFuY2V3aW5kb3dBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1haW50ZW5hbmNld2luZG93LyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgbWFpbnRlbmFuY2V3aW5kb3cgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE1haW50ZW5hbmNld2luZG93QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1haW50ZW5hbmNld2luZG93QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1haW50ZW5hbmNld2luZG93IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU1haW50ZW5hbmNld2luZG93QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTU01NYWludGVuYW5jZXdpbmRvd0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWFpbnRlbmFuY2V3aW5kb3dBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWFpbnRlbmFuY2V3aW5kb3cgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVzb3VyY2VJZDogbWF0Y2guZ3JvdXBzIS5yZXNvdXJjZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG1hbmFnZWQtaW5zdGFuY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWFuYWdlZEluc3RhbmNlKHByb3BzOiBTU01NYW5hZ2VkSW5zdGFuY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om1hbmFnZWQtaW5zdGFuY2UvJHtwcm9wcy5pbnN0YW5jZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtYW5hZ2VkLWluc3RhbmNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNYW5hZ2VkSW5zdGFuY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTWFuYWdlZEluc3RhbmNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG1hbmFnZWQtaW5zdGFuY2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWFuYWdlZEluc3RhbmNlQXJuKGFybjogc3RyaW5nKTogU1NNTWFuYWdlZEluc3RhbmNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNYW5hZ2VkSW5zdGFuY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbWFuYWdlZC1pbnN0YW5jZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRpbnN0YW5jZUlkOiBtYXRjaC5ncm91cHMhLmluc3RhbmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgbWFuYWdlZC1pbnN0YW5jZS1pbnZlbnRvcnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWFuYWdlZEluc3RhbmNlSW52ZW50b3J5KFxuXHRcdHByb3BzOiBTU01NYW5hZ2VkSW5zdGFuY2VJbnZlbnRvcnlBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzc206JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWFuYWdlZC1pbnN0YW5jZS1pbnZlbnRvcnkvJHtwcm9wcy5pbnN0YW5jZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBtYW5hZ2VkLWluc3RhbmNlLWludmVudG9yeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWFuYWdlZEluc3RhbmNlSW52ZW50b3J5QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1hbmFnZWRJbnN0YW5jZUludmVudG9yeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBtYW5hZ2VkLWluc3RhbmNlLWludmVudG9yeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNYW5hZ2VkSW5zdGFuY2VJbnZlbnRvcnlBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNTTU1hbmFnZWRJbnN0YW5jZUludmVudG9yeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWFuYWdlZEluc3RhbmNlSW52ZW50b3J5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1hbmFnZWQtaW5zdGFuY2UtaW52ZW50b3J5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGluc3RhbmNlSWQ6IG1hdGNoLmdyb3VwcyEuaW5zdGFuY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvcHNpdGVtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9wc2l0ZW0ocHJvcHM6IFNTTU9wc2l0ZW1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9wc2l0ZW0vJHtwcm9wcy5yZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBvcHNpdGVtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHNpdGVtQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wc2l0ZW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgb3BzaXRlbSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcHNpdGVtQXJuKGFybjogc3RyaW5nKTogU1NNT3BzaXRlbUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT3BzaXRlbUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvcHNpdGVtIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvcHNpdGVtZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb3BzaXRlbWdyb3VwKHByb3BzOiBTU01PcHNpdGVtZ3JvdXBBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9wc2l0ZW1ncm91cC9kZWZhdWx0YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9wc2l0ZW1ncm91cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3BzaXRlbWdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wc2l0ZW1ncm91cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBvcHNpdGVtZ3JvdXAgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3BzaXRlbWdyb3VwQXJuKGFybjogc3RyaW5nKTogU1NNT3BzaXRlbWdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcHNpdGVtZ3JvdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb3BzaXRlbWdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvcHNtZXRhZGF0YSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHNtZXRhZGF0YShwcm9wczogU1NNT3BzbWV0YWRhdGFBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9wc21ldGFkYXRhLyR7cHJvcHMucmVzb3VyY2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgb3BzbWV0YWRhdGEgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9wc21ldGFkYXRhQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wc21ldGFkYXRhQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9wc21ldGFkYXRhIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9wc21ldGFkYXRhQXJuKGFybjogc3RyaW5nKTogU1NNT3BzbWV0YWRhdGFBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wc21ldGFkYXRhQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG9wc21ldGFkYXRhIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwYXJhbWV0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGFyYW1ldGVyKHByb3BzOiBTU01QYXJhbWV0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBhcmFtZXRlci8ke3Byb3BzLnBhcmFtZXRlck5hbWVXaXRob3V0TGVhZGluZ1NsYXNofWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwYXJhbWV0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBhcmFtZXRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXJhbWV0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGFyYW1ldGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBhcmFtZXRlckFybihhcm46IHN0cmluZyk6IFNTTVBhcmFtZXRlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGFyYW1ldGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBhcmFtZXRlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwYXJhbWV0ZXJOYW1lV2l0aG91dExlYWRpbmdTbGFzaDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5wYXJhbWV0ZXJOYW1lV2l0aG91dExlYWRpbmdTbGFzaCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwYXRjaGJhc2VsaW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBhdGNoYmFzZWxpbmUocHJvcHM6IFNTTVBhdGNoYmFzZWxpbmVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBhdGNoYmFzZWxpbmUvJHtwcm9wcy5wYXRjaEJhc2VsaW5lSWRSZXNvdXJjZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwYXRjaGJhc2VsaW5lIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXRjaGJhc2VsaW5lQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBhdGNoYmFzZWxpbmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcGF0Y2hiYXNlbGluZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXRjaGJhc2VsaW5lQXJuKGFybjogc3RyaW5nKTogU1NNUGF0Y2hiYXNlbGluZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGF0Y2hiYXNlbGluZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXRjaGJhc2VsaW5lIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBhdGNoQmFzZWxpbmVJZFJlc291cmNlSWQ6IG1hdGNoLmdyb3VwcyEucGF0Y2hCYXNlbGluZUlkUmVzb3VyY2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSByZXNvdXJjZWRhdGFzeW5jIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlZGF0YXN5bmMocHJvcHM6IFNTTVJlc291cmNlZGF0YXN5bmNBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c3NtOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlc291cmNlLWRhdGEtc3luYy8ke3Byb3BzLnN5bmNOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXNvdXJjZWRhdGFzeW5jIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXNvdXJjZWRhdGFzeW5jQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlc291cmNlZGF0YXN5bmNBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVzb3VyY2VkYXRhc3luYyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNvdXJjZWRhdGFzeW5jQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTU01SZXNvdXJjZWRhdGFzeW5jQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNvdXJjZWRhdGFzeW5jQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc291cmNlZGF0YXN5bmMgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3luY05hbWU6IG1hdGNoLmdyb3VwcyEuc3luY05hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmljZXNldHRpbmcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZXNldHRpbmcocHJvcHM6IFNTTVNlcnZpY2VzZXR0aW5nQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlc2V0dGluZy8ke3Byb3BzLnJlc291cmNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2VzZXR0aW5nIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlc2V0dGluZ0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZXJ2aWNlc2V0dGluZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlc2V0dGluZyBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlc2V0dGluZ0Fybihhcm46IHN0cmluZyk6IFNTTVNlcnZpY2VzZXR0aW5nQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZXJ2aWNlc2V0dGluZ0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlc2V0dGluZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNvdXJjZUlkOiBtYXRjaC5ncm91cHMhLnJlc291cmNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2Vzc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXNzaW9uKHByb3BzOiBTU01TZXNzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXNzaW9uLyR7cHJvcHMuc2Vzc2lvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXNzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXNzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlc3Npb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2Vzc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXNzaW9uQXJuKGFybjogc3RyaW5nKTogU1NNU2Vzc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2Vzc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXNzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlc3Npb25JZDogbWF0Y2guZ3JvdXBzIS5zZXNzaW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0YXNrKHByb3BzOiBTU01UYXNrQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmVjczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0YXNrLyR7cHJvcHMudGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUYXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUYXNrQXJuKGFybjogc3RyaW5nKTogU1NNVGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gVGFza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0YXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRhc2tJZDogbWF0Y2guZ3JvdXBzIS50YXNrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd2luZG93dGFyZ2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdpbmRvd3RhcmdldChwcm9wczogU1NNV2luZG93dGFyZ2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3aW5kb3d0YXJnZXQvJHtwcm9wcy53aW5kb3dUYXJnZXRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd2luZG93dGFyZ2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXaW5kb3d0YXJnZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV2luZG93dGFyZ2V0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdpbmRvd3RhcmdldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXaW5kb3d0YXJnZXRBcm4oYXJuOiBzdHJpbmcpOiBTU01XaW5kb3d0YXJnZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdpbmRvd3RhcmdldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3aW5kb3d0YXJnZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d2luZG93VGFyZ2V0SWQ6IG1hdGNoLmdyb3VwcyEud2luZG93VGFyZ2V0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgd2luZG93dGFzayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3aW5kb3d0YXNrKHByb3BzOiBTU01XaW5kb3d0YXNrQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNzbToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp3aW5kb3d0YXNrLyR7cHJvcHMud2luZG93VGFza0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3aW5kb3d0YXNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRXaW5kb3d0YXNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFdpbmRvd3Rhc2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgd2luZG93dGFzayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXaW5kb3d0YXNrQXJuKGFybjogc3RyaW5nKTogU1NNV2luZG93dGFza0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gV2luZG93dGFza0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB3aW5kb3d0YXNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdpbmRvd1Rhc2tJZDogbWF0Y2guZ3JvdXBzIS53aW5kb3dUYXNrSWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Igc3NtLlxuICovXG5leHBvcnQgY2xhc3MgU1NNT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFkZFRhZ3NUb1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkFzc29jaWF0ZU9wc0l0ZW1SZWxhdGVkSXRlbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYW5jZWxDb21tYW5kIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2FuY2VsQ29tbWFuZDogc3RyaW5nW10gPSBbXCJzc206Q2FuY2VsQ29tbWFuZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ2FuY2VsTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYW5jZWxNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206Q2FuY2VsTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQWN0aXZhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFjdGl2YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJzc206Q3JlYXRlQWN0aXZhdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJzc206Q3JlYXRlQXNzb2NpYXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBc3NvY2lhdGlvbkJhdGNoIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzb2NpYXRpb25CYXRjaDogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206Q3JlYXRlQXNzb2NpYXRpb25cIixcblx0XHRcInNzbTpDcmVhdGVBc3NvY2lhdGlvbkJhdGNoXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2xvdWRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbG91ZENvbm5lY3Rvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206QWRkVGFnc1RvUmVzb3VyY2VcIixcblx0XHRcInNzbTpDcmVhdGVDbG91ZENvbm5lY3RvclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZURvY3VtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRG9jdW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJzc206Q3JlYXRlRG9jdW1lbnRcIixcblx0XHRcInNzbTpHZXREb2N1bWVudFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU1haW50ZW5hbmNlV2luZG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWFpbnRlbmFuY2VXaW5kb3c6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJzc206Q3JlYXRlTWFpbnRlbmFuY2VXaW5kb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlT3BzSXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wc0l0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJzc206Q3JlYXRlT3BzSXRlbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPcHNNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wc01ldGFkYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOkNyZWF0ZU9wc01ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBhdGNoQmFzZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXRjaEJhc2VsaW5lOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOkNyZWF0ZVBhdGNoQmFzZWxpbmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVzb3VyY2VEYXRhU3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlRGF0YVN5bmM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkNyZWF0ZVJlc291cmNlRGF0YVN5bmNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWN0aXZhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjdGl2YXRpb246IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZUFjdGl2YXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZUFzc29jaWF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDbG91ZENvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsb3VkQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcInNzbTpEZWxldGVDbG91ZENvbm5lY3RvclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRG9jdW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb2N1bWVudDogc3RyaW5nW10gPSBbXCJzc206RGVsZXRlRG9jdW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludmVudG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludmVudG9yeTogc3RyaW5nW10gPSBbXCJzc206RGVsZXRlSW52ZW50b3J5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNYWludGVuYW5jZVdpbmRvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1haW50ZW5hbmNlV2luZG93OiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZWxldGVNYWludGVuYW5jZVdpbmRvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcHNJdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3BzSXRlbTogc3RyaW5nW10gPSBbXCJzc206RGVsZXRlT3BzSXRlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlT3BzTWV0YWRhdGEgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHNNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzc206RGVsZXRlT3BzTWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBhcmFtZXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBhcmFtZXRlcjogc3RyaW5nW10gPSBbXCJzc206RGVsZXRlUGFyYW1ldGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQYXJhbWV0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFyYW1ldGVyczogc3RyaW5nW10gPSBbXCJzc206RGVsZXRlUGFyYW1ldGVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUGF0Y2hCYXNlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBhdGNoQmFzZWxpbmU6IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZVBhdGNoQmFzZWxpbmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlRGF0YVN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZURhdGFTeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZWxldGVSZXNvdXJjZURhdGFTeW5jXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1wic3NtOkRlbGV0ZVJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyTWFuYWdlZEluc3RhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlck1hbmFnZWRJbnN0YW5jZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVyZWdpc3Rlck1hbmFnZWRJbnN0YW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlcmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyVGFyZ2V0RnJvbU1haW50ZW5hbmNlV2luZG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3RlclRhcmdldEZyb21NYWludGVuYW5jZVdpbmRvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVyZWdpc3RlclRhcmdldEZyb21NYWludGVuYW5jZVdpbmRvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXJlZ2lzdGVyVGFza0Zyb21NYWludGVuYW5jZVdpbmRvdyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlcmVnaXN0ZXJUYXNrRnJvbU1haW50ZW5hbmNlV2luZG93OiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXJlZ2lzdGVyVGFza0Zyb21NYWludGVuYW5jZVdpbmRvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFjdGl2YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY3RpdmF0aW9uczogc3RyaW5nW10gPSBbXCJzc206RGVzY3JpYmVBY3RpdmF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1wic3NtOkRlc2NyaWJlQXNzb2NpYXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25UYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvblRhcmdldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25UYXJnZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXV0b21hdGlvbkV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUF1dG9tYXRpb25FeGVjdXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUF1dG9tYXRpb25FeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXV0b21hdGlvblN0ZXBFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdXRvbWF0aW9uU3RlcEV4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlQXV0b21hdGlvblN0ZXBFeGVjdXRpb25zXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBdmFpbGFibGVQYXRjaGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBdmFpbGFibGVQYXRjaGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUF2YWlsYWJsZVBhdGNoZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEb2N1bWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnQ6IHN0cmluZ1tdID0gW1wic3NtOkRlc2NyaWJlRG9jdW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRG9jdW1lbnRQZXJtaXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEb2N1bWVudFBlcm1pc3Npb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlRG9jdW1lbnRQZXJtaXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRWZmZWN0aXZlSW5zdGFuY2VBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRWZmZWN0aXZlUGF0Y2hlc0ZvclBhdGNoQmFzZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUVmZmVjdGl2ZVBhdGNoZXNGb3JQYXRjaEJhc2VsaW5lOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUVmZmVjdGl2ZVBhdGNoZXNGb3JQYXRjaEJhc2VsaW5lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5zdGFuY2VBc3NvY2lhdGlvbnNTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlQXNzb2NpYXRpb25zU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUluc3RhbmNlQXNzb2NpYXRpb25zU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5zdGFuY2VJbmZvcm1hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VJbmZvcm1hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVJbnN0YW5jZUluZm9ybWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlc0ZvclBhdGNoR3JvdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXNGb3JQYXRjaEdyb3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEZXNjcmliZUluc3RhbmNlUGF0Y2hTdGF0ZXNGb3JQYXRjaEdyb3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5zdGFuY2VQYXRjaGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVBhdGNoZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlSW5zdGFuY2VQYXRjaGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW5zdGFuY2VQcm9wZXJ0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVByb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlSW5zdGFuY2VQcm9wZXJ0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW52ZW50b3J5RGVsZXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnZlbnRvcnlEZWxldGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlSW52ZW50b3J5RGVsZXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrSW52b2NhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFza0ludm9jYXRpb25zOiBzdHJpbmdbXSA9XG5cdFx0W1wic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrSW52b2NhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dTY2hlZHVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dTY2hlZHVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1NjaGVkdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1RhcmdldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXNrcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dUYXNrczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd1Rhc2tzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd3M6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzRm9yVGFyZ2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNYWludGVuYW5jZVdpbmRvd3NGb3JUYXJnZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlTWFpbnRlbmFuY2VXaW5kb3dzRm9yVGFyZ2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlT3BzSXRlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wc0l0ZW1zOiBzdHJpbmdbXSA9IFtcInNzbTpEZXNjcmliZU9wc0l0ZW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBhcmFtZXRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW1wic3NtOkRlc2NyaWJlUGFyYW1ldGVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQYXRjaEJhc2VsaW5lcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGF0Y2hCYXNlbGluZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlUGF0Y2hCYXNlbGluZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQYXRjaEdyb3VwU3RhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBhdGNoR3JvdXBTdGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RGVzY3JpYmVQYXRjaEdyb3VwU3RhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQYXRjaEdyb3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGF0Y2hHcm91cHM6IHN0cmluZ1tdID0gW1wic3NtOkRlc2NyaWJlUGF0Y2hHcm91cHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUGF0Y2hQcm9wZXJ0aWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQYXRjaFByb3BlcnRpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRlc2NyaWJlUGF0Y2hQcm9wZXJ0aWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2Vzc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNlc3Npb25zOiBzdHJpbmdbXSA9IFtcInNzbTpEZXNjcmliZVNlc3Npb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVPcHNJdGVtUmVsYXRlZEl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRpc2Fzc29jaWF0ZU9wc0l0ZW1SZWxhdGVkSXRlbVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBY2Nlc3NUb2tlbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWNjZXNzVG9rZW46IHN0cmluZ1tdID0gW1wic3NtOkdldEFjY2Vzc1Rva2VuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbWF0aW9uRXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbWF0aW9uRXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpHZXRBdXRvbWF0aW9uRXhlY3V0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q2FsZW5kYXJTdGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2FsZW5kYXJTdGF0ZTogc3RyaW5nW10gPSBbXCJzc206R2V0Q2FsZW5kYXJTdGF0ZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q2xvdWRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENsb3VkQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRDbG91ZENvbm5lY3RvclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29tbWFuZEludm9jYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbW1hbmRJbnZvY2F0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpHZXRDb21tYW5kSW52b2NhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25uZWN0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25uZWN0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRDb25uZWN0aW9uU3RhdHVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREZWZhdWx0UGF0Y2hCYXNlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGVmYXVsdFBhdGNoQmFzZWxpbmU6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkdldERlZmF1bHRQYXRjaEJhc2VsaW5lXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERlcGxveWFibGVQYXRjaFNuYXBzaG90Rm9ySW5zdGFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERlcGxveWFibGVQYXRjaFNuYXBzaG90Rm9ySW5zdGFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkdldERlcGxveWFibGVQYXRjaFNuYXBzaG90Rm9ySW5zdGFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RG9jdW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERvY3VtZW50OiBzdHJpbmdbXSA9IFtcInNzbTpHZXREb2N1bWVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhlY3V0aW9uUHJldmlldyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RXhlY3V0aW9uUHJldmlldzogc3RyaW5nW10gPSBbXCJzc206R2V0RXhlY3V0aW9uUHJldmlld1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52ZW50b3J5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnZlbnRvcnk6IHN0cmluZ1tdID0gW1wic3NtOkdldEludmVudG9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW52ZW50b3J5U2NoZW1hIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnZlbnRvcnlTY2hlbWE6IHN0cmluZ1tdID0gW1wic3NtOkdldEludmVudG9yeVNjaGVtYVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFpbnRlbmFuY2VXaW5kb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1haW50ZW5hbmNlV2luZG93OiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpHZXRNYWludGVuYW5jZVdpbmRvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE1haW50ZW5hbmNlV2luZG93RXhlY3V0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpHZXRNYWludGVuYW5jZVdpbmRvd0V4ZWN1dGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrSW52b2NhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrSW52b2NhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dFeGVjdXRpb25UYXNrSW52b2NhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNYWludGVuYW5jZVdpbmRvd1Rhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1haW50ZW5hbmNlV2luZG93VGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206R2V0TWFpbnRlbmFuY2VXaW5kb3dUYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9wc0l0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9wc0l0ZW06IHN0cmluZ1tdID0gW1wic3NtOkdldE9wc0l0ZW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9wc01ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPcHNNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzc206R2V0T3BzTWV0YWRhdGFcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9wc1N1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9wc1N1bW1hcnk6IHN0cmluZ1tdID0gW1wic3NtOkdldE9wc1N1bW1hcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhcmFtZXRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UGFyYW1ldGVyOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRQYXJhbWV0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhcmFtZXRlckhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBhcmFtZXRlckhpc3Rvcnk6IHN0cmluZ1tdID0gW1wic3NtOkdldFBhcmFtZXRlckhpc3RvcnlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhcmFtZXRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBhcmFtZXRlcnM6IHN0cmluZ1tdID0gW1wic3NtOkdldFBhcmFtZXRlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhcmFtZXRlcnNCeVBhdGggQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBhcmFtZXRlcnNCeVBhdGg6IHN0cmluZ1tdID0gW1wic3NtOkdldFBhcmFtZXRlcnNCeVBhdGhcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhdGNoQmFzZWxpbmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFBhdGNoQmFzZWxpbmU6IHN0cmluZ1tdID0gW1wic3NtOkdldFBhdGNoQmFzZWxpbmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBhdGNoQmFzZWxpbmVGb3JQYXRjaEdyb3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cDogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206R2V0UGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VQb2xpY2llczogc3RyaW5nW10gPSBbXCJzc206R2V0UmVzb3VyY2VQb2xpY2llc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2VydmljZVNldHRpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlcnZpY2VTZXR0aW5nOiBzdHJpbmdbXSA9IFtcInNzbTpHZXRTZXJ2aWNlU2V0dGluZ1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGFiZWxQYXJhbWV0ZXJWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGFiZWxQYXJhbWV0ZXJWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpMYWJlbFBhcmFtZXRlclZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc29jaWF0aW9uVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzb2NpYXRpb25WZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206TGlzdEFzc29jaWF0aW9uVmVyc2lvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1wic3NtOkxpc3RBc3NvY2lhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbG91ZENvbm5lY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2xvdWRDb25uZWN0b3JzOiBzdHJpbmdbXSA9IFtcInNzbTpMaXN0Q2xvdWRDb25uZWN0b3JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29tbWFuZEludm9jYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbW1hbmRJbnZvY2F0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206TGlzdENvbW1hbmRJbnZvY2F0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29tbWFuZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29tbWFuZHM6IHN0cmluZ1tdID0gW1wic3NtOkxpc3RDb21tYW5kc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbXBsaWFuY2VJdGVtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb21wbGlhbmNlSXRlbXM6IHN0cmluZ1tdID0gW1wic3NtOkxpc3RDb21wbGlhbmNlSXRlbXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb21wbGlhbmNlU3VtbWFyaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbXBsaWFuY2VTdW1tYXJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkxpc3RDb21wbGlhbmNlU3VtbWFyaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb2N1bWVudE1ldGFkYXRhSGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REb2N1bWVudE1ldGFkYXRhSGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206TGlzdERvY3VtZW50TWV0YWRhdGFIaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REb2N1bWVudFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50VmVyc2lvbnM6IHN0cmluZ1tdID0gW1wic3NtOkxpc3REb2N1bWVudFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RG9jdW1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50czogc3RyaW5nW10gPSBbXCJzc206TGlzdERvY3VtZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludmVudG9yeUVudHJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW52ZW50b3J5RW50cmllczogc3RyaW5nW10gPSBbXCJzc206TGlzdEludmVudG9yeUVudHJpZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3ROb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb2Rlczogc3RyaW5nW10gPSBbXCJzc206TGlzdE5vZGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Tm9kZXNTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vZGVzU3VtbWFyeTogc3RyaW5nW10gPSBbXCJzc206TGlzdE5vZGVzU3VtbWFyeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9wc0l0ZW1FdmVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T3BzSXRlbUV2ZW50czogc3RyaW5nW10gPSBbXCJzc206TGlzdE9wc0l0ZW1FdmVudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcHNJdGVtUmVsYXRlZEl0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9wc0l0ZW1SZWxhdGVkSXRlbXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkxpc3RPcHNJdGVtUmVsYXRlZEl0ZW1zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPcHNNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPcHNNZXRhZGF0YTogc3RyaW5nW10gPSBbXCJzc206TGlzdE9wc01ldGFkYXRhXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VDb21wbGlhbmNlU3VtbWFyaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlQ29tcGxpYW5jZVN1bW1hcmllczogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206TGlzdFJlc291cmNlQ29tcGxpYW5jZVN1bW1hcmllc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VEYXRhU3luYyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZURhdGFTeW5jOiBzdHJpbmdbXSA9IFtcInNzbTpMaXN0UmVzb3VyY2VEYXRhU3luY1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic3NtOkxpc3RUYWdzRm9yUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIE1vZGlmeURvY3VtZW50UGVybWlzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IE1vZGlmeURvY3VtZW50UGVybWlzc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206TW9kaWZ5RG9jdW1lbnRQZXJtaXNzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dENvbXBsaWFuY2VJdGVtcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbXBsaWFuY2VJdGVtczogc3RyaW5nW10gPSBbXCJzc206UHV0Q29tcGxpYW5jZUl0ZW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRJbnZlbnRvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnZlbnRvcnk6IHN0cmluZ1tdID0gW1wic3NtOlB1dEludmVudG9yeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UGFyYW1ldGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UGFyYW1ldGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOlB1dFBhcmFtZXRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcInNzbTpQdXRSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJEZWZhdWx0UGF0Y2hCYXNlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyRGVmYXVsdFBhdGNoQmFzZWxpbmU6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlJlZ2lzdGVyRGVmYXVsdFBhdGNoQmFzZWxpbmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJQYXRjaEJhc2VsaW5lRm9yUGF0Y2hHcm91cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlJlZ2lzdGVyUGF0Y2hCYXNlbGluZUZvclBhdGNoR3JvdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJUYXJnZXRXaXRoTWFpbnRlbmFuY2VXaW5kb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlclRhcmdldFdpdGhNYWludGVuYW5jZVdpbmRvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206UmVnaXN0ZXJUYXJnZXRXaXRoTWFpbnRlbmFuY2VXaW5kb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVnaXN0ZXJUYXNrV2l0aE1haW50ZW5hbmNlV2luZG93IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJUYXNrV2l0aE1haW50ZW5hbmNlV2luZG93OiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic3NtOlJlZ2lzdGVyVGFza1dpdGhNYWludGVuYW5jZVdpbmRvd1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZW1vdmVUYWdzRnJvbVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206UmVtb3ZlVGFnc0Zyb21SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZXNldFNlcnZpY2VTZXR0aW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzZXRTZXJ2aWNlU2V0dGluZzogc3RyaW5nW10gPSBbXCJzc206UmVzZXRTZXJ2aWNlU2V0dGluZ1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVzdW1lU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc3VtZVNlc3Npb246IHN0cmluZ1tdID0gW1wic3NtOlJlc3VtZVNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRBdXRvbWF0aW9uU2lnbmFsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZEF1dG9tYXRpb25TaWduYWw6IHN0cmluZ1tdID0gW1wic3NtOlNlbmRBdXRvbWF0aW9uU2lnbmFsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kQ29tbWFuZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRDb21tYW5kOiBzdHJpbmdbXSA9IFtcImlhbTpQYXNzUm9sZVwiLCBcInNzbTpTZW5kQ29tbWFuZFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRBY2Nlc3NSZXF1ZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBY2Nlc3NSZXF1ZXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpBZGRUYWdzVG9SZXNvdXJjZVwiLFxuXHRcdFwic3NtOlN0YXJ0QWNjZXNzUmVxdWVzdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFzc29jaWF0aW9uc09uY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFzc29jaWF0aW9uc09uY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlN0YXJ0QXNzb2NpYXRpb25zT25jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEF1dG9tYXRpb25FeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9tYXRpb25FeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkFkZFRhZ3NUb1Jlc291cmNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNzbTpTdGFydEF1dG9tYXRpb25FeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDaGFuZ2VSZXF1ZXN0RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDaGFuZ2VSZXF1ZXN0RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic3NtOlN0YXJ0Q2hhbmdlUmVxdWVzdEV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEV4ZWN1dGlvblByZXZpZXcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEV4ZWN1dGlvblByZXZpZXc6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlN0YXJ0RXhlY3V0aW9uUHJldmlld1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFNlc3Npb246IHN0cmluZ1tdID0gW1wic3NtOlN0YXJ0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEF1dG9tYXRpb25FeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b21hdGlvbkV4ZWN1dGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206U3RvcEF1dG9tYXRpb25FeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGVybWluYXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRlcm1pbmF0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wic3NtOlRlcm1pbmF0ZVNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVubGFiZWxQYXJhbWV0ZXJWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5sYWJlbFBhcmFtZXRlclZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlVubGFiZWxQYXJhbWV0ZXJWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzc206VXBkYXRlQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXNzb2NpYXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NvY2lhdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206VXBkYXRlQXNzb2NpYXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQ2xvdWRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDbG91ZENvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJzc206VXBkYXRlQ2xvdWRDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURvY3VtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRG9jdW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzc206VXBkYXRlRG9jdW1lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9jdW1lbnREZWZhdWx0VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvY3VtZW50RGVmYXVsdFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlVwZGF0ZURvY3VtZW50RGVmYXVsdFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRG9jdW1lbnRNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvY3VtZW50TWV0YWRhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlVwZGF0ZURvY3VtZW50TWV0YWRhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3cgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYWludGVuYW5jZVdpbmRvdzogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206VXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYWludGVuYW5jZVdpbmRvd1RhcmdldDogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206VXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXJnZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFpbnRlbmFuY2VXaW5kb3dUYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic3NtOlVwZGF0ZU1haW50ZW5hbmNlV2luZG93VGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVNYW5hZ2VkSW5zdGFuY2VSb2xlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTWFuYWdlZEluc3RhbmNlUm9sZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNzbTpVcGRhdGVNYW5hZ2VkSW5zdGFuY2VSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZU9wc0l0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPcHNJdGVtOiBzdHJpbmdbXSA9IFtcInNzbTpVcGRhdGVPcHNJdGVtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVPcHNNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9wc01ldGFkYXRhOiBzdHJpbmdbXSA9IFtcInNzbTpVcGRhdGVPcHNNZXRhZGF0YVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGF0Y2hCYXNlbGluZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBhdGNoQmFzZWxpbmU6IHN0cmluZ1tdID0gW1wic3NtOlVwZGF0ZVBhdGNoQmFzZWxpbmVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlc291cmNlRGF0YVN5bmMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXNvdXJjZURhdGFTeW5jOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpVcGRhdGVSZXNvdXJjZURhdGFTeW5jXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNlcnZpY2VTZXR0aW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZVNldHRpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzc206VXBkYXRlU2VydmljZVNldHRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVmFsaWRhdGVDbG91ZENvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFZhbGlkYXRlQ2xvdWRDb25uZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOlZhbGlkYXRlQ2xvdWRDb25uZWN0b3JcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHNzbS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNTTUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQWRkVGFnc1RvUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkVGFnc1RvUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFjdGl2YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQWN0aXZhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUFzc29jaWF0aW9uQmF0Y2ggYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzb2NpYXRpb25CYXRjaENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2xvdWRDb25uZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRDb25uZWN0b3JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZURvY3VtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZURvY3VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzc206RG9jdW1lbnRUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVNYWludGVuYW5jZVdpbmRvdyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVNYWludGVuYW5jZVdpbmRvd0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlT3BzSXRlbSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHNJdGVtQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPcHNNZXRhZGF0YSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHNNZXRhZGF0YUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUGF0Y2hCYXNlbGluZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXRjaEJhc2VsaW5lQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZXNvdXJjZURhdGFTeW5jIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlRGF0YVN5bmNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpTeW5jVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZUNsb3VkQ29ubmVjdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsb3VkQ29ubmVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVEb2N1bWVudCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEb2N1bWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wic3NtOkRvY3VtZW50VHlwZVwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVBhcmFtZXRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQYXJhbWV0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlbGV0ZVBhcmFtZXRlcnMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGFyYW1ldGVyc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVsZXRlUmVzb3VyY2VEYXRhU3luYyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZURhdGFTeW5jQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206U3luY1R5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlcmVnaXN0ZXJNYW5hZ2VkSW5zdGFuY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVyZWdpc3Rlck1hbmFnZWRJbnN0YW5jZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOnJlc291cmNlVGFnL3RhZy1rZXlcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBc3NvY2lhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvblRhcmdldHMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBc3NvY2lhdGlvbkV4ZWN1dGlvblRhcmdldHNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXNzb2NpYXRpb25FeGVjdXRpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZURvY3VtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEb2N1bWVudFR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlRG9jdW1lbnRQZXJtaXNzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRG9jdW1lbnRQZXJtaXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RG9jdW1lbnRUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUVmZmVjdGl2ZUluc3RhbmNlQXNzb2NpYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRWZmZWN0aXZlSW5zdGFuY2VBc3NvY2lhdGlvbnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiXTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlSW5zdGFuY2VBc3NvY2lhdGlvbnNTdGF0dXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZUFzc29jaWF0aW9uc1N0YXR1c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVJbnN0YW5jZVBhdGNoU3RhdGVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW5zdGFuY2VQYXRjaFN0YXRlc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwic3NtOnJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgRGVzY3JpYmVJbnN0YW5jZVBhdGNoZXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbnN0YW5jZVBhdGNoZXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldEF1dG9tYXRpb25FeGVjdXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QXV0b21hdGlvbkV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0Q2xvdWRDb25uZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2xvdWRDb25uZWN0b3JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldENvbm5lY3Rpb25TdGF0dXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvblN0YXR1c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwic3NtOnJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0RG9jdW1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RG9jdW1lbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEb2N1bWVudENhdGVnb3JpZXNcIixcblx0XHRcInNzbTpEb2N1bWVudFR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFBhcmFtZXRlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJhbWV0ZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIEdldFBhcmFtZXRlckhpc3RvcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGFyYW1ldGVySGlzdG9yeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgR2V0UGFyYW1ldGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQYXJhbWV0ZXJzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRQYXJhbWV0ZXJzQnlQYXRoIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBhcmFtZXRlcnNCeVBhdGhDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpSZWN1cnNpdmVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExhYmVsUGFyYW1ldGVyVmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMYWJlbFBhcmFtZXRlclZlcnNpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIExpc3RBc3NvY2lhdGlvblZlcnNpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NvY2lhdGlvblZlcnNpb25zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RG9jdW1lbnRNZXRhZGF0YUhpc3RvcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERvY3VtZW50TWV0YWRhdGFIaXN0b3J5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RG9jdW1lbnRUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0RG9jdW1lbnRWZXJzaW9ucyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RG9jdW1lbnRWZXJzaW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkRvY3VtZW50VHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEluc3RhbmNlQXNzb2NpYXRpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnN0YW5jZUFzc29jaWF0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFJlc291cmNlRGF0YVN5bmMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlRGF0YVN5bmNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpTeW5jVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBNb2RpZnlEb2N1bWVudFBlcm1pc3Npb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTW9kaWZ5RG9jdW1lbnRQZXJtaXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RG9jdW1lbnRUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRDb21wbGlhbmNlSXRlbXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29tcGxpYW5jZUl0ZW1zQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJlYzI6U291cmNlSW5zdGFuY2VBUk5cIixcblx0XHRcInNzbTpTb3VyY2VJbnN0YW5jZUFSTlwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0SW52ZW50b3J5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEludmVudG9yeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic3NtOkludmVudG9yeVR5cGVOYW1lXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRQYXJhbWV0ZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UGFyYW1ldGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzc206T3ZlcndyaXRlXCIsXG5cdFx0XCJzc206UG9saWNpZXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFJlZ2lzdGVyTWFuYWdlZEluc3RhbmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyTWFuYWdlZEluc3RhbmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJzc206Tm9kZUFjY291bnRJZFwiLFxuXHRcdFwic3NtOk5vZGVPcmdJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVtb3ZlVGFnc0Zyb21SZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZW1vdmVUYWdzRnJvbVJlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVxdWVzdE1hbmFnZWRJbnN0YW5jZVJvbGVUb2tlbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXF1ZXN0TWFuYWdlZEluc3RhbmNlUm9sZVRva2VuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206Tm9kZUFjY291bnRJZFwiLFxuXHRcdFwic3NtOk5vZGVPcmdJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUmVzdW1lU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN1bWVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnNlc3Npb24taWRcIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6dGFyZ2V0LWlkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTZW5kQXV0b21hdGlvblNpZ25hbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kQXV0b21hdGlvblNpZ25hbENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU2VuZENvbW1hbmQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENvbW1hbmRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0QWNjZXNzUmVxdWVzdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFjY2Vzc1JlcXVlc3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0QXNzb2NpYXRpb25zT25jZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFzc29jaWF0aW9uc09uY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0QXV0b21hdGlvbkV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9tYXRpb25FeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNzbTpEb2N1bWVudFZlcnNpb25cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFN0YXJ0Q2hhbmdlUmVxdWVzdEV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENoYW5nZVJlcXVlc3RFeGVjdXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcInNzbTpBdXRvQXBwcm92ZVwiLFxuXHRcdFwic3NtOkRvY3VtZW50VmVyc2lvblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRTZXNzaW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0U2Vzc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwic3NtOkFjY2Vzc1JlcXVlc3RJZFwiLFxuXHRcdFwic3NtOlNlc3Npb25Eb2N1bWVudEFjY2Vzc0NoZWNrXCIsXG5cdFx0XCJzc206cmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdG9wQXV0b21hdGlvbkV4ZWN1dGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b21hdGlvbkV4ZWN1dGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGVybWluYXRlU2Vzc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUZXJtaW5hdGVTZXNzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnNlc3Npb24taWRcIixcblx0XHRcInNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6dGFyZ2V0LWlkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbmxhYmVsUGFyYW1ldGVyVmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbmxhYmVsUGFyYW1ldGVyVmVyc2lvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQXNzb2NpYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzb2NpYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUFzc29jaWF0aW9uU3RhdHVzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc29jaWF0aW9uU3RhdHVzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJlYzI6U291cmNlSW5zdGFuY2VBUk5cIixcblx0XHRcInNzbTpTb3VyY2VJbnN0YW5jZUFSTlwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ2xvdWRDb25uZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2xvdWRDb25uZWN0b3JDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZURvY3VtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvY3VtZW50Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJzc206RG9jdW1lbnRUeXBlXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlRG9jdW1lbnREZWZhdWx0VmVyc2lvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEb2N1bWVudERlZmF1bHRWZXJzaW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJzc206RG9jdW1lbnRUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVEb2N1bWVudE1ldGFkYXRhIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURvY3VtZW50TWV0YWRhdGFDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpEb2N1bWVudFR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUluc3RhbmNlQXNzb2NpYXRpb25TdGF0dXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VBc3NvY2lhdGlvblN0YXR1c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiZWMyOlNvdXJjZUluc3RhbmNlQVJOXCIsXG5cdFx0XCJzc206U291cmNlSW5zdGFuY2VBUk5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW5zdGFuY2VJbmZvcm1hdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiZWMyOlNvdXJjZUluc3RhbmNlQVJOXCIsXG5cdFx0XCJzc206U291cmNlSW5zdGFuY2VBUk5cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZU1hbmFnZWRJbnN0YW5jZVB1YmxpY0tleSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVNYW5hZ2VkSW5zdGFuY2VQdWJsaWNLZXlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpOb2RlQWNjb3VudElkXCIsXG5cdFx0XCJzc206Tm9kZU9yZ0lkXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVNYW5hZ2VkSW5zdGFuY2VSb2xlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU1hbmFnZWRJbnN0YW5jZVJvbGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpyZXNvdXJjZVRhZy90YWcta2V5XCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVcGRhdGVSZXNvdXJjZURhdGFTeW5jIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlRGF0YVN5bmNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNzbTpTeW5jVHlwZVwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVmFsaWRhdGVDbG91ZENvbm5lY3RvciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBWYWxpZGF0ZUNsb3VkQ29ubmVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogZWMyOlNvdXJjZUluc3RhbmNlQVJOIChBUk4pICovXG5cdHN0YXRpYyByZWFkb25seSBTT1VSQ0VfSU5TVEFOQ0VfQVJOID0gXCJlYzI6U291cmNlSW5zdGFuY2VBUk5cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpBY2Nlc3NSZXF1ZXN0SWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFDQ0VTU19SRVFVRVNUX0lEID0gXCJzc206QWNjZXNzUmVxdWVzdElkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206QXV0b0FwcHJvdmUgKEJvb2wpICovXG5cdHN0YXRpYyByZWFkb25seSBBVVRPX0FQUFJPVkUgPSBcInNzbTpBdXRvQXBwcm92ZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOkRvY3VtZW50Q2F0ZWdvcmllcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX0NBVEVHT1JJRVMgPSBcInNzbTpEb2N1bWVudENhdGVnb3JpZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpEb2N1bWVudFR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX1RZUEUgPSBcInNzbTpEb2N1bWVudFR5cGVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpEb2N1bWVudFZlcnNpb24gKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBET0NVTUVOVF9WRVJTSU9OID0gXCJzc206RG9jdW1lbnRWZXJzaW9uXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206SW52ZW50b3J5VHlwZU5hbWUgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBJTlZFTlRPUllfVFlQRV9OQU1FID0gXCJzc206SW52ZW50b3J5VHlwZU5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpOb2RlQWNjb3VudElkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBOT0RFX0FDQ09VTlRfSUQgPSBcInNzbTpOb2RlQWNjb3VudElkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206Tm9kZU9yZ0lkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBOT0RFX09SR19JRCA9IFwic3NtOk5vZGVPcmdJZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOk92ZXJ3cml0ZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1ZFUldSSVRFID0gXCJzc206T3ZlcndyaXRlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206UG9saWNpZXMgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBPTElDSUVTID0gXCJzc206UG9saWNpZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpSZWN1cnNpdmUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFQ1VSU0lWRSA9IFwic3NtOlJlY3Vyc2l2ZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOlNlc3Npb25Eb2N1bWVudEFjY2Vzc0NoZWNrIChCb29sKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VTU0lPTl9ET0NVTUVOVF9BQ0NFU1NfQ0hFQ0sgPVxuXHRcdFwic3NtOlNlc3Npb25Eb2N1bWVudEFjY2Vzc0NoZWNrXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206U3luY1R5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNZTkNfVFlQRSA9IFwic3NtOlN5bmNUeXBlXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206cmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBSRVNPVVJDRV9UQUcgPSBcInNzbTpyZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IHNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6c2Vzc2lvbi1pZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfVEFHX0FXU19TU01NRVNTQUdFU19TRVNTSU9OX0lEID1cblx0XHRcInNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6c2Vzc2lvbi1pZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogc3NtOnJlc291cmNlVGFnL2F3czpzc21tZXNzYWdlczp0YXJnZXQtaWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJFU09VUkNFX1RBR19BV1NfU1NNTUVTU0FHRVNfVEFSR0VUX0lEID1cblx0XHRcInNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6dGFyZ2V0LWlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBzc206cmVzb3VyY2VUYWcvdGFnLWtleSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVTT1VSQ0VfVEFHX1RBR19LRVkgPSBcInNzbTpyZXNvdXJjZVRhZy90YWcta2V5XCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpBY2Nlc3NSZXF1ZXN0SWRgLlxuXHQgKi9cblx0c3RhdGljIGFjY2Vzc1JlcXVlc3RJZChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic3NtOkFjY2Vzc1JlcXVlc3RJZFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOkF1dG9BcHByb3ZlYC5cblx0ICovXG5cdHN0YXRpYyBhdXRvQXBwcm92ZSh2YWx1ZTogYm9vbGVhbik6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNzbTpBdXRvQXBwcm92ZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOkRvY3VtZW50Q2F0ZWdvcmllc2AuXG5cdCAqL1xuXHRzdGF0aWMgZG9jdW1lbnRDYXRlZ29yaWVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNzbTpEb2N1bWVudENhdGVnb3JpZXNcIjogdmFsdWVzIH0sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzc206RG9jdW1lbnRUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBkb2N1bWVudFR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzc206RG9jdW1lbnRUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzc206RG9jdW1lbnRWZXJzaW9uYC5cblx0ICovXG5cdHN0YXRpYyBkb2N1bWVudFZlcnNpb24oXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJzc206RG9jdW1lbnRWZXJzaW9uXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOkludmVudG9yeVR5cGVOYW1lYC5cblx0ICovXG5cdHN0YXRpYyBpbnZlbnRvcnlUeXBlTmFtZShcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcInNzbTpJbnZlbnRvcnlUeXBlTmFtZVwiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpOb2RlQWNjb3VudElkYC5cblx0ICovXG5cdHN0YXRpYyBub2RlQWNjb3VudElkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic3NtOk5vZGVBY2NvdW50SWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpOb2RlT3JnSWRgLlxuXHQgKi9cblx0c3RhdGljIG5vZGVPcmdJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNzbTpOb2RlT3JnSWRcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpPdmVyd3JpdGVgLlxuXHQgKi9cblx0c3RhdGljIG92ZXJ3cml0ZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNzbTpPdmVyd3JpdGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpQb2xpY2llc2AuXG5cdCAqL1xuXHRzdGF0aWMgcG9saWNpZXModmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzc206UG9saWNpZXNcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpSZWN1cnNpdmVgLlxuXHQgKi9cblx0c3RhdGljIHJlY3Vyc2l2ZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcInNzbTpSZWN1cnNpdmVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpTZXNzaW9uRG9jdW1lbnRBY2Nlc3NDaGVja2AuXG5cdCAqL1xuXHRzdGF0aWMgc2Vzc2lvbkRvY3VtZW50QWNjZXNzQ2hlY2soXG5cdFx0dmFsdWU6IGJvb2xlYW4sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+PiB7XG5cdFx0cmV0dXJuIHsgQm9vbDogeyBcInNzbTpTZXNzaW9uRG9jdW1lbnRBY2Nlc3NDaGVja1wiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOlNvdXJjZUluc3RhbmNlQVJOYC5cblx0ICovXG5cdHN0YXRpYyBzb3VyY2VJbnN0YW5jZUFSTihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgQXJuRXF1YWxzOiB7IFwic3NtOlNvdXJjZUluc3RhbmNlQVJOXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzc206U3luY1R5cGVgLlxuXHQgKi9cblx0c3RhdGljIHN5bmNUeXBlKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwic3NtOlN5bmNUeXBlXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnNlc3Npb24taWRgLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnQVdTU3NtbWVzc2FnZXNTZXNzaW9uSWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnNlc3Npb24taWRcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYHNzbTpyZXNvdXJjZVRhZy9hd3M6c3NtbWVzc2FnZXM6dGFyZ2V0LWlkYC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZ0FXU1NzbW1lc3NhZ2VzVGFyZ2V0SWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRTdHJpbmdFcXVhbHM6IHsgXCJzc206cmVzb3VyY2VUYWcvYXdzOnNzbW1lc3NhZ2VzOnRhcmdldC1pZFwiOiB2YWx1ZSB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgc3NtOnJlc291cmNlVGFnL3RhZy1rZXlgLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnVGFnS2V5KFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJzc206cmVzb3VyY2VUYWcvdGFnLWtleVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
|