@cdk_utils/iam 1.2.0 → 1.4.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 +3907 -2382
- 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.d.ts +6 -0
- package/lib/generated/services/acm.js +16 -5
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.d.ts +126 -0
- package/lib/generated/services/appconfig.js +157 -15
- 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 +65 -0
- package/lib/generated/services/bedrock.js +75 -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 +11 -7
- 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.d.ts +2 -0
- package/lib/generated/services/codecommit.js +7 -5
- 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.d.ts +2 -0
- package/lib/generated/services/connect.js +7 -5
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +6 -5
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.js +4 -4
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +4 -4
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +4 -4
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.js +4 -4
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.js +4 -4
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +9 -6
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.js +4 -4
- package/lib/generated/services/omics.js +4 -4
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +4 -4
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +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 +6 -5
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +7 -13
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +3 -2
|
@@ -16,7 +16,7 @@ class LexActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.LexActions = LexActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
LexActions[_a] = { fqn: "@cdk_utils/iam.lex.LexActions", version: "1.
|
|
19
|
+
LexActions[_a] = { fqn: "@cdk_utils/iam.lex.LexActions", version: "1.4.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
LexActions.SERVICE_PREFIX = "lex";
|
|
22
22
|
/** [Write] lex:BatchCreateCustomVocabularyItem */
|
|
@@ -719,7 +719,7 @@ class LexResources {
|
|
|
719
719
|
}
|
|
720
720
|
exports.LexResources = LexResources;
|
|
721
721
|
_b = JSII_RTTI_SYMBOL_1;
|
|
722
|
-
LexResources[_b] = { fqn: "@cdk_utils/iam.lex.LexResources", version: "1.
|
|
722
|
+
LexResources[_b] = { fqn: "@cdk_utils/iam.lex.LexResources", version: "1.4.0" };
|
|
723
723
|
/**
|
|
724
724
|
* API operation to required IAM actions mapping for lex.
|
|
725
725
|
*/
|
|
@@ -727,7 +727,7 @@ class LexOperations {
|
|
|
727
727
|
}
|
|
728
728
|
exports.LexOperations = LexOperations;
|
|
729
729
|
_c = JSII_RTTI_SYMBOL_1;
|
|
730
|
-
LexOperations[_c] = { fqn: "@cdk_utils/iam.lex.LexOperations", version: "1.
|
|
730
|
+
LexOperations[_c] = { fqn: "@cdk_utils/iam.lex.LexOperations", version: "1.4.0" };
|
|
731
731
|
/** IAM actions required for the BatchCreateCustomVocabularyItem API call. */
|
|
732
732
|
LexOperations.BatchCreateCustomVocabularyItem = [
|
|
733
733
|
"lex:BatchCreateCustomVocabularyItem",
|
|
@@ -1081,7 +1081,10 @@ LexOperations.PostText = ["lex:PostText"];
|
|
|
1081
1081
|
/** IAM actions required for the PutBot API call. */
|
|
1082
1082
|
LexOperations.PutBot = ["lex:PutBot"];
|
|
1083
1083
|
/** IAM actions required for the PutBotAlias API call. */
|
|
1084
|
-
LexOperations.PutBotAlias = [
|
|
1084
|
+
LexOperations.PutBotAlias = [
|
|
1085
|
+
"lex:PutBotAlias",
|
|
1086
|
+
"lex:TagResource",
|
|
1087
|
+
];
|
|
1085
1088
|
/** IAM actions required for the PutIntent API call. */
|
|
1086
1089
|
LexOperations.PutIntent = ["lex:PutIntent"];
|
|
1087
1090
|
/** IAM actions required for the PutSession API call. */
|
|
@@ -1231,7 +1234,7 @@ class LexConditions {
|
|
|
1231
1234
|
}
|
|
1232
1235
|
exports.LexConditions = LexConditions;
|
|
1233
1236
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1234
|
-
LexConditions[_d] = { fqn: "@cdk_utils/iam.lex.LexConditions", version: "1.
|
|
1237
|
+
LexConditions[_d] = { fqn: "@cdk_utils/iam.lex.LexConditions", version: "1.4.0" };
|
|
1235
1238
|
/** Condition keys applicable to the CreateBot action. */
|
|
1236
1239
|
LexConditions.CreateBotConditionKeys = [
|
|
1237
1240
|
"aws:RequestTag/${TagKey}",
|
|
@@ -1279,4 +1282,4 @@ LexConditions.ASSOCIATED_INTENTS = "lex:associatedIntents";
|
|
|
1279
1282
|
LexConditions.ASSOCIATED_SLOT_TYPES = "lex:associatedSlotTypes";
|
|
1280
1283
|
/** Condition key: lex:channelType (String) */
|
|
1281
1284
|
LexConditions.CHANNEL_TYPE = "lex:channelType";
|
|
1282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9sZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBNmVDOzs7QUE1ZUEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsa0RBQWtEO0FBQ2xDLDBDQUErQixHQUM5QyxxQ0FBcUMsQ0FBQztBQUN2QyxrREFBa0Q7QUFDbEMsMENBQStCLEdBQzlDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtEQUFrRDtBQUNsQywwQ0FBK0IsR0FDOUMscUNBQXFDLENBQUM7QUFDdkMsaUNBQWlDO0FBQ2pCLHlCQUFjLEdBQUcsb0JBQW9CLENBQUM7QUFDdEQsNEJBQTRCO0FBQ1osb0JBQVMsR0FBRyxlQUFlLENBQUM7QUFDNUMsaUNBQWlDO0FBQ2pCLHlCQUFjLEdBQUcsb0JBQW9CLENBQUM7QUFDdEQsbUNBQW1DO0FBQ25CLDJCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELGtDQUFrQztBQUNsQiwwQkFBZSxHQUFHLHFCQUFxQixDQUFDO0FBQ3hELG1DQUFtQztBQUNuQiwyQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMxRCxtQ0FBbUM7QUFDbkIsMkJBQWdCLEdBQUcsc0JBQXNCLENBQUM7QUFDMUQseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLCtCQUErQjtBQUNmLHVCQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDbEQsK0JBQStCO0FBQ2YsdUJBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUNsRCxzQ0FBc0M7QUFDdEIsOEJBQW1CLEdBQUcseUJBQXlCLENBQUM7QUFDaEUsdUNBQXVDO0FBQ3ZCLCtC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O0FBQzdDLG1DQUFxQixHQUFHLHlCQUF5QixDQUFDO0FBQ2xFLDhDQUE4QztBQUM5QiwwQkFBWSxHQUFHLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvbGV4Lmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBsZXggc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIExleEFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJsZXhcIjtcblxuXHQvKiogW1dyaXRlXSBsZXg6QmF0Y2hDcmVhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hDcmVhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSA9XG5cdFx0XCJsZXg6QmF0Y2hDcmVhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6QmF0Y2hEZWxldGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hEZWxldGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSA9XG5cdFx0XCJsZXg6QmF0Y2hEZWxldGVDdXN0b21Wb2NhYnVsYXJ5SXRlbVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6QmF0Y2hVcGRhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hVcGRhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSA9XG5cdFx0XCJsZXg6QmF0Y2hVcGRhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6QnVpbGRCb3RMb2NhbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJ1aWxkQm90TG9jYWxlID0gXCJsZXg6QnVpbGRCb3RMb2NhbGVcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZUJvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90ID0gXCJsZXg6Q3JlYXRlQm90XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVCb3RBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90QWxpYXMgPSBcImxleDpDcmVhdGVCb3RBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlQm90Q2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90Q2hhbm5lbCA9IFwibGV4OkNyZWF0ZUJvdENoYW5uZWxcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZUJvdExvY2FsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90TG9jYWxlID0gXCJsZXg6Q3JlYXRlQm90TG9jYWxlXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVCb3RSZXBsaWNhICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RSZXBsaWNhID0gXCJsZXg6Q3JlYXRlQm90UmVwbGljYVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlQm90VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90VmVyc2lvbiA9IFwibGV4OkNyZWF0ZUJvdFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZUN1c3RvbVZvY2FidWxhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbVZvY2FidWxhcnkgPSBcImxleDpDcmVhdGVDdXN0b21Wb2NhYnVsYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVFeHBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4cG9ydCA9IFwibGV4OkNyZWF0ZUV4cG9ydFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlSW50ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnRlbnQgPSBcImxleDpDcmVhdGVJbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZUludGVudFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVudFZlcnNpb24gPSBcImxleDpDcmVhdGVJbnRlbnRWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VQb2xpY3kgPSBcImxleDpDcmVhdGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlUG9saWN5U3RhdGVtZW50ID1cblx0XHRcImxleDpDcmVhdGVSZXNvdXJjZVBvbGljeVN0YXRlbWVudFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlU2xvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2xvdCA9IFwibGV4OkNyZWF0ZVNsb3RcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZVNsb3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbG90VHlwZSA9IFwibGV4OkNyZWF0ZVNsb3RUeXBlXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVTbG90VHlwZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNsb3RUeXBlVmVyc2lvbiA9IFwibGV4OkNyZWF0ZVNsb3RUeXBlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlVGVzdFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGVzdFNldCA9IFwibGV4OkNyZWF0ZVRlc3RTZXRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZVRlc3RTZXREaXNjcmVwYW5jeVJlcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0ID1cblx0XHRcImxleDpDcmVhdGVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZVVwbG9hZFVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXBsb2FkVXJsID0gXCJsZXg6Q3JlYXRlVXBsb2FkVXJsXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVCb3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdCA9IFwibGV4OkRlbGV0ZUJvdFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlQm90QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdEFsaWFzID0gXCJsZXg6RGVsZXRlQm90QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb24gPVxuXHRcdFwibGV4OkRlbGV0ZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUJvdENoYW5uZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdENoYW5uZWwgPSBcImxleDpEZWxldGVCb3RDaGFubmVsXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVCb3RDaGFubmVsQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdENoYW5uZWxBc3NvY2lhdGlvbiA9XG5cdFx0XCJsZXg6RGVsZXRlQm90Q2hhbm5lbEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVCb3RMb2NhbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdExvY2FsZSA9IFwibGV4OkRlbGV0ZUJvdExvY2FsZVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlQm90UmVwbGljYSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90UmVwbGljYSA9IFwibGV4OkRlbGV0ZUJvdFJlcGxpY2FcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUJvdFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdFZlcnNpb24gPSBcImxleDpEZWxldGVCb3RWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVDdXN0b21Wb2NhYnVsYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21Wb2NhYnVsYXJ5ID0gXCJsZXg6RGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHBvcnQgPSBcImxleDpEZWxldGVFeHBvcnRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUltcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1wb3J0ID0gXCJsZXg6RGVsZXRlSW1wb3J0XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVJbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludGVudCA9IFwibGV4OkRlbGV0ZUludGVudFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlSW50ZW50VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZW50VmVyc2lvbiA9IFwibGV4OkRlbGV0ZUludGVudFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwibGV4OkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVSZXNvdXJjZVBvbGljeVN0YXRlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnQgPVxuXHRcdFwibGV4OkRlbGV0ZVJlc291cmNlUG9saWN5U3RhdGVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVTZXNzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXNzaW9uID0gXCJsZXg6RGVsZXRlU2Vzc2lvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlU2xvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2xvdCA9IFwibGV4OkRlbGV0ZVNsb3RcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZVNsb3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbG90VHlwZSA9IFwibGV4OkRlbGV0ZVNsb3RUeXBlXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVTbG90VHlwZVZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNsb3RUeXBlVmVyc2lvbiA9IFwibGV4OkRlbGV0ZVNsb3RUeXBlVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlVGVzdFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGVzdFNldCA9IFwibGV4OkRlbGV0ZVRlc3RTZXRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZVV0dGVyYW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVV0dGVyYW5jZXMgPSBcImxleDpEZWxldGVVdHRlcmFuY2VzXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlQm90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdCA9IFwibGV4OkRlc2NyaWJlQm90XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlQm90QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90QWxpYXMgPSBcImxleDpEZXNjcmliZUJvdEFsaWFzXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RBbmFseXplclJlY29tbWVuZGF0aW9uID1cblx0XHRcImxleDpEZXNjcmliZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVCb3RDaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdENoYW5uZWwgPSBcImxleDpEZXNjcmliZUJvdENoYW5uZWxcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVCb3RMb2NhbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90TG9jYWxlID0gXCJsZXg6RGVzY3JpYmVCb3RMb2NhbGVcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVCb3RSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RSZWNvbW1lbmRhdGlvbiA9IFwibGV4OkRlc2NyaWJlQm90UmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVCb3RSZXBsaWNhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdFJlcGxpY2EgPSBcImxleDpEZXNjcmliZUJvdFJlcGxpY2FcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVCb3RSZXNvdXJjZUdlbmVyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90UmVzb3VyY2VHZW5lcmF0aW9uID1cblx0XHRcImxleDpEZXNjcmliZUJvdFJlc291cmNlR2VuZXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZUJvdFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90VmVyc2lvbiA9IFwibGV4OkRlc2NyaWJlQm90VmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZUN1c3RvbVZvY2FidWxhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ3VzdG9tVm9jYWJ1bGFyeSA9IFwibGV4OkRlc2NyaWJlQ3VzdG9tVm9jYWJ1bGFyeVwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZUN1c3RvbVZvY2FidWxhcnlNZXRhZGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDdXN0b21Wb2NhYnVsYXJ5TWV0YWRhdGEgPVxuXHRcdFwibGV4OkRlc2NyaWJlQ3VzdG9tVm9jYWJ1bGFyeU1ldGFkYXRhXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUV4cG9ydCA9IFwibGV4OkRlc2NyaWJlRXhwb3J0XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlSW1wb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUltcG9ydCA9IFwibGV4OkRlc2NyaWJlSW1wb3J0XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlSW50ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUludGVudCA9IFwibGV4OkRlc2NyaWJlSW50ZW50XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzb3VyY2VQb2xpY3kgPSBcImxleDpEZXNjcmliZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlU2xvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbG90ID0gXCJsZXg6RGVzY3JpYmVTbG90XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlU2xvdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2xvdFR5cGUgPSBcImxleDpEZXNjcmliZVNsb3RUeXBlXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlVGVzdEV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUZXN0RXhlY3V0aW9uID0gXCJsZXg6RGVzY3JpYmVUZXN0RXhlY3V0aW9uXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlVGVzdFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUZXN0U2V0ID0gXCJsZXg6RGVzY3JpYmVUZXN0U2V0XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRlc3RTZXREaXNjcmVwYW5jeVJlcG9ydCA9XG5cdFx0XCJsZXg6RGVzY3JpYmVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnRcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVUZXN0U2V0R2VuZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUZXN0U2V0R2VuZXJhdGlvbiA9IFwibGV4OkRlc2NyaWJlVGVzdFNldEdlbmVyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBsZXg6R2VuZXJhdGVCb3RFbGVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBHZW5lcmF0ZUJvdEVsZW1lbnQgPSBcImxleDpHZW5lcmF0ZUJvdEVsZW1lbnRcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0Qm90ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCb3QgPSBcImxleDpHZXRCb3RcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0Qm90QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJvdEFsaWFzID0gXCJsZXg6R2V0Qm90QWxpYXNcIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0Qm90QWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qm90QWxpYXNlcyA9IFwibGV4OkdldEJvdEFsaWFzZXNcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCb3RDaGFubmVsQXNzb2NpYXRpb24gPVxuXHRcdFwibGV4OkdldEJvdENoYW5uZWxBc3NvY2lhdGlvblwiO1xuXHQvKiogW0xpc3RdIGxleDpHZXRCb3RDaGFubmVsQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCb3RDaGFubmVsQXNzb2NpYXRpb25zID1cblx0XHRcImxleDpHZXRCb3RDaGFubmVsQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbGV4OkdldEJvdFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCb3RWZXJzaW9ucyA9IFwibGV4OkdldEJvdFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gbGV4OkdldEJvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJvdHMgPSBcImxleDpHZXRCb3RzXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldEJ1aWx0aW5JbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJ1aWx0aW5JbnRlbnQgPSBcImxleDpHZXRCdWlsdGluSW50ZW50XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldEJ1aWx0aW5JbnRlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCdWlsdGluSW50ZW50cyA9IFwibGV4OkdldEJ1aWx0aW5JbnRlbnRzXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldEJ1aWx0aW5TbG90VHlwZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJ1aWx0aW5TbG90VHlwZXMgPSBcImxleDpHZXRCdWlsdGluU2xvdFR5cGVzXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldEV4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXhwb3J0ID0gXCJsZXg6R2V0RXhwb3J0XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldEltcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW1wb3J0ID0gXCJsZXg6R2V0SW1wb3J0XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldEludGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW50ZW50ID0gXCJsZXg6R2V0SW50ZW50XCI7XG5cdC8qKiBbTGlzdF0gbGV4OkdldEludGVudFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnRlbnRWZXJzaW9ucyA9IFwibGV4OkdldEludGVudFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gbGV4OkdldEludGVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludGVudHMgPSBcImxleDpHZXRJbnRlbnRzXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldE1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWlncmF0aW9uID0gXCJsZXg6R2V0TWlncmF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gbGV4OkdldE1pZ3JhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE1pZ3JhdGlvbnMgPSBcImxleDpHZXRNaWdyYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlc3Npb24gPSBcImxleDpHZXRTZXNzaW9uXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldFNsb3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTbG90VHlwZSA9IFwibGV4OkdldFNsb3RUeXBlXCI7XG5cdC8qKiBbTGlzdF0gbGV4OkdldFNsb3RUeXBlVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNsb3RUeXBlVmVyc2lvbnMgPSBcImxleDpHZXRTbG90VHlwZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gbGV4OkdldFNsb3RUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2xvdFR5cGVzID0gXCJsZXg6R2V0U2xvdFR5cGVzXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkdldFRlc3RFeGVjdXRpb25BcnRpZmFjdHNVcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRlc3RFeGVjdXRpb25BcnRpZmFjdHNVcmwgPVxuXHRcdFwibGV4OkdldFRlc3RFeGVjdXRpb25BcnRpZmFjdHNVcmxcIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0VXR0ZXJhbmNlc1ZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFV0dGVyYW5jZXNWaWV3ID0gXCJsZXg6R2V0VXR0ZXJhbmNlc1ZpZXdcIjtcblx0LyoqIFtMaXN0XSBsZXg6TGlzdEFnZ3JlZ2F0ZWRVdHRlcmFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdncmVnYXRlZFV0dGVyYW5jZXMgPSBcImxleDpMaXN0QWdncmVnYXRlZFV0dGVyYW5jZXNcIjtcblx0LyoqIFtMaXN0XSBsZXg6TGlzdEJvdEFsaWFzUmVwbGljYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RBbGlhc1JlcGxpY2FzID0gXCJsZXg6TGlzdEJvdEFsaWFzUmVwbGljYXNcIjtcblx0LyoqIFtMaXN0XSBsZXg6TGlzdEJvdEFsaWFzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RBbGlhc2VzID0gXCJsZXg6TGlzdEJvdEFsaWFzZXNcIjtcblx0LyoqIFtMaXN0XSBsZXg6TGlzdEJvdEFuYWx5emVyUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwibGV4Okxpc3RCb3RBbmFseXplclJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90Q2hhbm5lbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RDaGFubmVscyA9IFwibGV4Okxpc3RCb3RDaGFubmVsc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90TG9jYWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdExvY2FsZXMgPSBcImxleDpMaXN0Qm90TG9jYWxlc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90UmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90UmVjb21tZW5kYXRpb25zID0gXCJsZXg6TGlzdEJvdFJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90UmVwbGljYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RSZXBsaWNhcyA9IFwibGV4Okxpc3RCb3RSZXBsaWNhc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90UmVzb3VyY2VHZW5lcmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdFJlc291cmNlR2VuZXJhdGlvbnMgPSBcImxleDpMaXN0Qm90UmVzb3VyY2VHZW5lcmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90VmVyc2lvblJlcGxpY2FzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90VmVyc2lvblJlcGxpY2FzID0gXCJsZXg6TGlzdEJvdFZlcnNpb25SZXBsaWNhc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RWZXJzaW9ucyA9IFwibGV4Okxpc3RCb3RWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdHMgPSBcImxleDpMaXN0Qm90c1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0QnVpbHRJbkludGVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCdWlsdEluSW50ZW50cyA9IFwibGV4Okxpc3RCdWlsdEluSW50ZW50c1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0QnVpbHRJblNsb3RUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJ1aWx0SW5TbG90VHlwZXMgPSBcImxleDpMaXN0QnVpbHRJblNsb3RUeXBlc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Q3VzdG9tVm9jYWJ1bGFyeUl0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tVm9jYWJ1bGFyeUl0ZW1zID0gXCJsZXg6TGlzdEN1c3RvbVZvY2FidWxhcnlJdGVtc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0RXhwb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cG9ydHMgPSBcImxleDpMaXN0RXhwb3J0c1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0SW1wb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEltcG9ydHMgPSBcImxleDpMaXN0SW1wb3J0c1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0SW50ZW50TWV0cmljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVudE1ldHJpY3MgPSBcImxleDpMaXN0SW50ZW50TWV0cmljc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0SW50ZW50UGF0aHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlbnRQYXRocyA9IFwibGV4Okxpc3RJbnRlbnRQYXRoc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0SW50ZW50U3RhZ2VNZXRyaWNzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZW50U3RhZ2VNZXRyaWNzID0gXCJsZXg6TGlzdEludGVudFN0YWdlTWV0cmljc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0SW50ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVudHMgPSBcImxleDpMaXN0SW50ZW50c1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0UmVjb21tZW5kZWRJbnRlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZWRJbnRlbnRzID0gXCJsZXg6TGlzdFJlY29tbWVuZGVkSW50ZW50c1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0U2Vzc2lvbkFuYWx5dGljc0RhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uQW5hbHl0aWNzRGF0YSA9IFwibGV4Okxpc3RTZXNzaW9uQW5hbHl0aWNzRGF0YVwiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0U2Vzc2lvbk1ldHJpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uTWV0cmljcyA9IFwibGV4Okxpc3RTZXNzaW9uTWV0cmljc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0U2xvdFR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2xvdFR5cGVzID0gXCJsZXg6TGlzdFNsb3RUeXBlc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0U2xvdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTbG90cyA9IFwibGV4Okxpc3RTbG90c1wiO1xuXHQvKiogW1JlYWRdIGxleDpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJsZXg6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGxleDpMaXN0VGVzdEV4ZWN1dGlvblJlc3VsdEl0ZW1zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdEV4ZWN1dGlvblJlc3VsdEl0ZW1zID1cblx0XHRcImxleDpMaXN0VGVzdEV4ZWN1dGlvblJlc3VsdEl0ZW1zXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RUZXN0RXhlY3V0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RFeGVjdXRpb25zID0gXCJsZXg6TGlzdFRlc3RFeGVjdXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gbGV4Okxpc3RUZXN0U2V0UmVjb3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTZXRSZWNvcmRzID0gXCJsZXg6TGlzdFRlc3RTZXRSZWNvcmRzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RUZXN0U2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTZXRzID0gXCJsZXg6TGlzdFRlc3RTZXRzXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpQb3N0Q29udGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUG9zdENvbnRlbnQgPSBcImxleDpQb3N0Q29udGVudFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6UG9zdFRleHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvc3RUZXh0ID0gXCJsZXg6UG9zdFRleHRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlB1dEJvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Qm90ID0gXCJsZXg6UHV0Qm90XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpQdXRCb3RBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Qm90QWxpYXMgPSBcImxleDpQdXRCb3RBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBsZXg6UHV0SW50ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnRlbnQgPSBcImxleDpQdXRJbnRlbnRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlB1dFNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlc3Npb24gPSBcImxleDpQdXRTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpQdXRTbG90VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U2xvdFR5cGUgPSBcImxleDpQdXRTbG90VHlwZVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6UmVjb2duaXplVGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVjb2duaXplVGV4dCA9IFwibGV4OlJlY29nbml6ZVRleHRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlJlY29nbml6ZVV0dGVyYW5jZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVjb2duaXplVXR0ZXJhbmNlID0gXCJsZXg6UmVjb2duaXplVXR0ZXJhbmNlXCI7XG5cdC8qKiBbTGlzdF0gbGV4OlNlYXJjaEFzc29jaWF0ZWRUcmFuc2NyaXB0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoQXNzb2NpYXRlZFRyYW5zY3JpcHRzID1cblx0XHRcImxleDpTZWFyY2hBc3NvY2lhdGVkVHJhbnNjcmlwdHNcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlN0YXJ0Qm90QW5hbHl6ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Qm90QW5hbHl6ZXIgPSBcImxleDpTdGFydEJvdEFuYWx5emVyXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpTdGFydEJvdFJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEJvdFJlY29tbWVuZGF0aW9uID0gXCJsZXg6U3RhcnRCb3RSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6U3RhcnRCb3RSZXNvdXJjZUdlbmVyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Qm90UmVzb3VyY2VHZW5lcmF0aW9uID0gXCJsZXg6U3RhcnRCb3RSZXNvdXJjZUdlbmVyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OlN0YXJ0Q29udmVyc2F0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbnZlcnNhdGlvbiA9IFwibGV4OlN0YXJ0Q29udmVyc2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpTdGFydEltcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbXBvcnQgPSBcImxleDpTdGFydEltcG9ydFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6U3RhcnRNaWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWlncmF0aW9uID0gXCJsZXg6U3RhcnRNaWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OlN0YXJ0VGVzdEV4ZWN1dGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0RXhlY3V0aW9uID0gXCJsZXg6U3RhcnRUZXN0RXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpTdGFydFRlc3RTZXRHZW5lcmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlc3RTZXRHZW5lcmF0aW9uID0gXCJsZXg6U3RhcnRUZXN0U2V0R2VuZXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6U3RvcEJvdEFuYWx5emVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQm90QW5hbHl6ZXIgPSBcImxleDpTdG9wQm90QW5hbHl6ZXJcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlN0b3BCb3RSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEJvdFJlY29tbWVuZGF0aW9uID0gXCJsZXg6U3RvcEJvdFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbVGFnZ2luZ10gbGV4OlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwibGV4OlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gbGV4OlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImxleDpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpVcGRhdGVCb3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJvdCA9IFwibGV4OlVwZGF0ZUJvdFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6VXBkYXRlQm90QWxpYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJvdEFsaWFzID0gXCJsZXg6VXBkYXRlQm90QWxpYXNcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlVwZGF0ZUJvdExvY2FsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQm90TG9jYWxlID0gXCJsZXg6VXBkYXRlQm90TG9jYWxlXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpVcGRhdGVCb3RSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQm90UmVjb21tZW5kYXRpb24gPSBcImxleDpVcGRhdGVCb3RSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6VXBkYXRlQ3VzdG9tVm9jYWJ1bGFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ3VzdG9tVm9jYWJ1bGFyeSA9IFwibGV4OlVwZGF0ZUN1c3RvbVZvY2FidWxhcnlcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlVwZGF0ZUV4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwb3J0ID0gXCJsZXg6VXBkYXRlRXhwb3J0XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpVcGRhdGVJbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVudCA9IFwibGV4OlVwZGF0ZUludGVudFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6VXBkYXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlUG9saWN5ID0gXCJsZXg6VXBkYXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlVwZGF0ZVNsb3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNsb3QgPSBcImxleDpVcGRhdGVTbG90XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpVcGRhdGVTbG90VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2xvdFR5cGUgPSBcImxleDpVcGRhdGVTbG90VHlwZVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6VXBkYXRlVGVzdFNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGVzdFNldCA9IFwibGV4OlVwZGF0ZVRlc3RTZXRcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlQm90LFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3RBbGlhcyxcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbixcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlQm90Q2hhbm5lbCxcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlQm90TG9jYWxlLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3RSZWNvbW1lbmRhdGlvbixcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlQm90UmVwbGljYSxcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlQm90UmVzb3VyY2VHZW5lcmF0aW9uLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3RWZXJzaW9uLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVDdXN0b21Wb2NhYnVsYXJ5LFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVDdXN0b21Wb2NhYnVsYXJ5TWV0YWRhdGEsXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZUV4cG9ydCxcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlSW1wb3J0LFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVJbnRlbnQsXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZVJlc291cmNlUG9saWN5LFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVTbG90LFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVTbG90VHlwZSxcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlVGVzdEV4ZWN1dGlvbixcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlVGVzdFNldCxcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0LFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVUZXN0U2V0R2VuZXJhdGlvbixcblx0XHRMZXhBY3Rpb25zLkdlbmVyYXRlQm90RWxlbWVudCxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEJvdCxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEJvdEFsaWFzLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9uLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0QnVpbHRpbkludGVudCxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEJ1aWx0aW5JbnRlbnRzLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0QnVpbHRpblNsb3RUeXBlcyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEV4cG9ydCxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEltcG9ydCxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEludGVudCxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldE1pZ3JhdGlvbixcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldFNlc3Npb24sXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRTbG90VHlwZSxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldFRlc3RFeGVjdXRpb25BcnRpZmFjdHNVcmwsXG5cdFx0TGV4QWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdExleEFjdGlvbnMuTGlzdFRlc3RFeGVjdXRpb25SZXN1bHRJdGVtcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RUZXN0U2V0UmVjb3Jkcyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRMZXhBY3Rpb25zLkJhdGNoQ3JlYXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW0sXG5cdFx0TGV4QWN0aW9ucy5CYXRjaERlbGV0ZUN1c3RvbVZvY2FidWxhcnlJdGVtLFxuXHRcdExleEFjdGlvbnMuQmF0Y2hVcGRhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSxcblx0XHRMZXhBY3Rpb25zLkJ1aWxkQm90TG9jYWxlLFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlQm90LFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlQm90QWxpYXMsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVCb3RDaGFubmVsLFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlQm90TG9jYWxlLFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlQm90UmVwbGljYSxcblx0XHRMZXhBY3Rpb25zLkNyZWF0ZUJvdFZlcnNpb24sXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVDdXN0b21Wb2NhYnVsYXJ5LFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlRXhwb3J0LFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlSW50ZW50LFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlSW50ZW50VmVyc2lvbixcblx0XHRMZXhBY3Rpb25zLkNyZWF0ZVJlc291cmNlUG9saWN5LFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnQsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVTbG90LFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlU2xvdFR5cGUsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVTbG90VHlwZVZlcnNpb24sXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVUZXN0U2V0LFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0LFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlVXBsb2FkVXJsLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlQm90LFxuXHRcdExleEFjdGlvbnMuRGVsZXRlQm90QWxpYXMsXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVCb3RBbmFseXplclJlY29tbWVuZGF0aW9uLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlQm90Q2hhbm5lbCxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUJvdENoYW5uZWxBc3NvY2lhdGlvbixcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUJvdExvY2FsZSxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUJvdFJlcGxpY2EsXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVCb3RWZXJzaW9uLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeSxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUV4cG9ydCxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUltcG9ydCxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUludGVudCxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUludGVudFZlcnNpb24sXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5U3RhdGVtZW50LFxuXHRcdExleEFjdGlvbnMuRGVsZXRlU2Vzc2lvbixcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZVNsb3QsXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVTbG90VHlwZSxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZVNsb3RUeXBlVmVyc2lvbixcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZVRlc3RTZXQsXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVVdHRlcmFuY2VzLFxuXHRcdExleEFjdGlvbnMuUG9zdENvbnRlbnQsXG5cdFx0TGV4QWN0aW9ucy5Qb3N0VGV4dCxcblx0XHRMZXhBY3Rpb25zLlB1dEJvdCxcblx0XHRMZXhBY3Rpb25zLlB1dEJvdEFsaWFzLFxuXHRcdExleEFjdGlvbnMuUHV0SW50ZW50LFxuXHRcdExleEFjdGlvbnMuUHV0U2Vzc2lvbixcblx0XHRMZXhBY3Rpb25zLlB1dFNsb3RUeXBlLFxuXHRcdExleEFjdGlvbnMuUmVjb2duaXplVGV4dCxcblx0XHRMZXhBY3Rpb25zLlJlY29nbml6ZVV0dGVyYW5jZSxcblx0XHRMZXhBY3Rpb25zLlN0YXJ0Qm90QW5hbHl6ZXIsXG5cdFx0TGV4QWN0aW9ucy5TdGFydEJvdFJlY29tbWVuZGF0aW9uLFxuXHRcdExleEFjdGlvbnMuU3RhcnRCb3RSZXNvdXJjZUdlbmVyYXRpb24sXG5cdFx0TGV4QWN0aW9ucy5TdGFydENvbnZlcnNhdGlvbixcblx0XHRMZXhBY3Rpb25zLlN0YXJ0SW1wb3J0LFxuXHRcdExleEFjdGlvbnMuU3RhcnRNaWdyYXRpb24sXG5cdFx0TGV4QWN0aW9ucy5TdGFydFRlc3RFeGVjdXRpb24sXG5cdFx0TGV4QWN0aW9ucy5TdGFydFRlc3RTZXRHZW5lcmF0aW9uLFxuXHRcdExleEFjdGlvbnMuU3RvcEJvdEFuYWx5emVyLFxuXHRcdExleEFjdGlvbnMuU3RvcEJvdFJlY29tbWVuZGF0aW9uLFxuXHRcdExleEFjdGlvbnMuVXBkYXRlQm90LFxuXHRcdExleEFjdGlvbnMuVXBkYXRlQm90QWxpYXMsXG5cdFx0TGV4QWN0aW9ucy5VcGRhdGVCb3RMb2NhbGUsXG5cdFx0TGV4QWN0aW9ucy5VcGRhdGVCb3RSZWNvbW1lbmRhdGlvbixcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZUN1c3RvbVZvY2FidWxhcnksXG5cdFx0TGV4QWN0aW9ucy5VcGRhdGVFeHBvcnQsXG5cdFx0TGV4QWN0aW9ucy5VcGRhdGVJbnRlbnQsXG5cdFx0TGV4QWN0aW9ucy5VcGRhdGVSZXNvdXJjZVBvbGljeSxcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZVNsb3QsXG5cdFx0TGV4QWN0aW9ucy5VcGRhdGVTbG90VHlwZSxcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZVRlc3RTZXQsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0Qm90QWxpYXNlcyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEJvdENoYW5uZWxBc3NvY2lhdGlvbnMsXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRCb3RWZXJzaW9ucyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEJvdHMsXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRJbnRlbnRWZXJzaW9ucyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEludGVudHMsXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRNaWdyYXRpb25zLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0U2xvdFR5cGVWZXJzaW9ucyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldFNsb3RUeXBlcyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldFV0dGVyYW5jZXNWaWV3LFxuXHRcdExleEFjdGlvbnMuTGlzdEFnZ3JlZ2F0ZWRVdHRlcmFuY2VzLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdEFsaWFzUmVwbGljYXMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0Qm90QWxpYXNlcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RCb3RBbmFseXplclJlY29tbWVuZGF0aW9ucyxcblx0XHRMZXhBY3Rpb25zLkxpc3RCb3RDaGFubmVscyxcblx0XHRMZXhBY3Rpb25zLkxpc3RCb3RMb2NhbGVzLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdFJlY29tbWVuZGF0aW9ucyxcblx0XHRMZXhBY3Rpb25zLkxpc3RCb3RSZXBsaWNhcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RCb3RSZXNvdXJjZUdlbmVyYXRpb25zLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdFZlcnNpb25SZXBsaWNhcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RCb3RWZXJzaW9ucyxcblx0XHRMZXhBY3Rpb25zLkxpc3RCb3RzLFxuXHRcdExleEFjdGlvbnMuTGlzdEJ1aWx0SW5JbnRlbnRzLFxuXHRcdExleEFjdGlvbnMuTGlzdEJ1aWx0SW5TbG90VHlwZXMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0Q3VzdG9tVm9jYWJ1bGFyeUl0ZW1zLFxuXHRcdExleEFjdGlvbnMuTGlzdEV4cG9ydHMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0SW1wb3J0cyxcblx0XHRMZXhBY3Rpb25zLkxpc3RJbnRlbnRNZXRyaWNzLFxuXHRcdExleEFjdGlvbnMuTGlzdEludGVudFBhdGhzLFxuXHRcdExleEFjdGlvbnMuTGlzdEludGVudFN0YWdlTWV0cmljcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RJbnRlbnRzLFxuXHRcdExleEFjdGlvbnMuTGlzdFJlY29tbWVuZGVkSW50ZW50cyxcblx0XHRMZXhBY3Rpb25zLkxpc3RTZXNzaW9uQW5hbHl0aWNzRGF0YSxcblx0XHRMZXhBY3Rpb25zLkxpc3RTZXNzaW9uTWV0cmljcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RTbG90VHlwZXMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0U2xvdHMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0VGVzdEV4ZWN1dGlvbnMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0VGVzdFNldHMsXG5cdFx0TGV4QWN0aW9ucy5TZWFyY2hBc3NvY2lhdGVkVHJhbnNjcmlwdHMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdExleEFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0TGV4QWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYm90VmFyaWFudDEgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleEJvdFZhcmlhbnQxQXJuUHJvcHMge1xuXHQvKiogVGhlIEJvdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBib3RJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJvdFZhcmlhbnQyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhCb3RWYXJpYW50MkFyblByb3BzIHtcblx0LyoqIFRoZSBCb3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBib3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYm90IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhCb3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEJvdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYm90SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJvdCBhbGlhc1ZhcmlhbnQxIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhCb3RBbGlhc1ZhcmlhbnQxQXJuUHJvcHMge1xuXHQvKiogVGhlIEJvdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBib3RJZDogc3RyaW5nO1xuXHQvKiogVGhlIEJvdEFsaWFzSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJvdEFsaWFzSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBib3QgYWxpYXNWYXJpYW50MiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGV4Qm90QWxpYXNWYXJpYW50MkFyblByb3BzIHtcblx0LyoqIFRoZSBCb3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBib3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQm90QWxpYXMgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJvdEFsaWFzOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYm90IGFsaWFzIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhCb3RBbGlhc0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQm90SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBib3RJZDogc3RyaW5nO1xuXHQvKiogVGhlIEJvdEFsaWFzSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBib3RBbGlhc0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBib3QgdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGV4Qm90VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBCb3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBib3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQm90VmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYm90VmVyc2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGJvdCB2ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhCb3RWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCb3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYm90TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEJvdFZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBib3RWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjaGFubmVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhDaGFubmVsQXJuUHJvcHMge1xuXHQvKiogVGhlIEJvdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJvdE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBCb3RBbGlhcyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYm90QWxpYXM6IHN0cmluZztcblx0LyoqIFRoZSBDaGFubmVsTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2hhbm5lbE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjaGFubmVsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhDaGFubmVsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCb3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYm90TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEJvdEFsaWFzIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYm90QWxpYXM6IHN0cmluZztcblx0LyoqIFRoZSBDaGFubmVsTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNoYW5uZWxOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBpbnRlbnQgdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGV4SW50ZW50VmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBJbnRlbnROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbnRlbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgSW50ZW50VmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaW50ZW50VmVyc2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGludGVudCB2ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhJbnRlbnRWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBJbnRlbnROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaW50ZW50TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEludGVudFZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbnRlbnRWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzbG90dHlwZSB2ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhTbG90dHlwZVZlcnNpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2xvdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNsb3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2xvdFZlcnNpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNsb3RWZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2xvdHR5cGUgdmVyc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGV4U2xvdHR5cGVWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTbG90TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNsb3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU2xvdFZlcnNpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzbG90VmVyc2lvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdGVzdCBzZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleFRlc3RTZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGVzdFNldElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0ZXN0U2V0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB0ZXN0IHNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGV4VGVzdFNldEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVGVzdFNldElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGVzdFNldElkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEJvdEFyblJlZ2V4ID1cblx0L14oPzphcm46KD86W146XSspOmxleDooPzpbXjpdKik6KD86W146XSopOmJvdFxcLyg/OlteOi8/XSspfGFybjooPzpbXjpdKyk6bGV4Oig/OlteOl0qKTooPzpbXjpdKik6Ym90Oig/OlteOi8/XSspKSQvO1xuY29uc3QgQm90UGFyc2VSZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGV4Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ym90XFwvKD88Ym90SWQ+W146Lz9dKykkLztcbmNvbnN0IEJvdEFsaWFzQXJuUmVnZXggPVxuXHQvXig/OmFybjooPzpbXjpdKyk6bGV4Oig/OlteOl0qKTooPzpbXjpdKik6Ym90LWFsaWFzXFwvKD86W146Lz9dKylcXC8oPzpbXjovP10rKXxhcm46KD86W146XSspOmxleDooPzpbXjpdKik6KD86W146XSopOmJvdDooPzpbXjovP10rKTooPzpbXjovP10rKSkkLztcbmNvbnN0IEJvdEFsaWFzUGFyc2VSZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGV4Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ym90LWFsaWFzXFwvKD88Ym90SWQ+W146Lz9dKylcXC8oPzxib3RBbGlhc0lkPlteOi8/XSspJC87XG5jb25zdCBCb3RWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxleDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmJvdDooPzxib3ROYW1lPlteOi8/XSspOig/PGJvdFZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IENoYW5uZWxBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGV4Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ym90LWNoYW5uZWw6KD88Ym90TmFtZT5bXjovP10rKTooPzxib3RBbGlhcz5bXjovP10rKTooPzxjaGFubmVsTmFtZT5bXjovP10rKSQvO1xuY29uc3QgSW50ZW50VmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsZXg6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTppbnRlbnQ6KD88aW50ZW50TmFtZT5bXjovP10rKTooPzxpbnRlbnRWZXJzaW9uPlteOi8/XSspJC87XG5jb25zdCBTbG90dHlwZVZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGV4Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2xvdHR5cGU6KD88c2xvdE5hbWU+W146Lz9dKyk6KD88c2xvdFZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IFRlc3RTZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGV4Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGVzdC1zZXRcXC8oPzx0ZXN0U2V0SWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBsZXggcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgTGV4UmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBib3RWYXJpYW50MSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBib3RWYXJpYW50MShwcm9wczogTGV4Qm90VmFyaWFudDFBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGV4OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJvdC8ke3Byb3BzLmJvdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJvdFZhcmlhbnQyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJvdFZhcmlhbnQyKHByb3BzOiBMZXhCb3RWYXJpYW50MkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsZXg6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Ym90OiR7cHJvcHMuYm90TmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYm90IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCb3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQm90QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJvdCBBUk4gaW50byBpdHMgY29tcG9uZW50cyAodXNlcyBmaXJzdCBBUk4gdmFyaWFudCBmb3JtYXQpLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJvdEFybihhcm46IHN0cmluZyk6IExleEJvdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQm90UGFyc2VSZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm90IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJvdElkOiBtYXRjaC5ncm91cHMhLmJvdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJvdCBhbGlhc1ZhcmlhbnQxIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJvdEFsaWFzVmFyaWFudDEocHJvcHM6IExleEJvdEFsaWFzVmFyaWFudDFBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGV4OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJvdC1hbGlhcy8ke3Byb3BzLmJvdElkfS8ke3Byb3BzLmJvdEFsaWFzSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYm90IGFsaWFzVmFyaWFudDIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYm90QWxpYXNWYXJpYW50Mihwcm9wczogTGV4Qm90QWxpYXNWYXJpYW50MkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsZXg6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Ym90OiR7cHJvcHMuYm90TmFtZX06JHtwcm9wcy5ib3RBbGlhc31gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYm90IGFsaWFzIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCb3RBbGlhc0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCb3RBbGlhc0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBib3QgYWxpYXMgQVJOIGludG8gaXRzIGNvbXBvbmVudHMgKHVzZXMgZmlyc3QgQVJOIHZhcmlhbnQgZm9ybWF0KS5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCb3RBbGlhc0Fybihhcm46IHN0cmluZyk6IExleEJvdEFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCb3RBbGlhc1BhcnNlUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGJvdCBhbGlhcyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRib3RJZDogbWF0Y2guZ3JvdXBzIS5ib3RJZCxcblx0XHRcdGJvdEFsaWFzSWQ6IG1hdGNoLmdyb3VwcyEuYm90QWxpYXNJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBib3QgdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBib3RWZXJzaW9uKHByb3BzOiBMZXhCb3RWZXJzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxleDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpib3Q6JHtwcm9wcy5ib3ROYW1lfToke3Byb3BzLmJvdFZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGJvdCB2ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRCb3RWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJvdFZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYm90IHZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQm90VmVyc2lvbkFybihhcm46IHN0cmluZyk6IExleEJvdFZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJvdFZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm90IHZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Ym90TmFtZTogbWF0Y2guZ3JvdXBzIS5ib3ROYW1lLFxuXHRcdFx0Ym90VmVyc2lvbjogbWF0Y2guZ3JvdXBzIS5ib3RWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNoYW5uZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2hhbm5lbChwcm9wczogTGV4Q2hhbm5lbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsZXg6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Ym90LWNoYW5uZWw6JHtwcm9wcy5ib3ROYW1lfToke3Byb3BzLmJvdEFsaWFzfToke3Byb3BzLmNoYW5uZWxOYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjaGFubmVsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDaGFubmVsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENoYW5uZWxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2hhbm5lbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDaGFubmVsQXJuKGFybjogc3RyaW5nKTogTGV4Q2hhbm5lbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2hhbm5lbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjaGFubmVsIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJvdE5hbWU6IG1hdGNoLmdyb3VwcyEuYm90TmFtZSxcblx0XHRcdGJvdEFsaWFzOiBtYXRjaC5ncm91cHMhLmJvdEFsaWFzLFxuXHRcdFx0Y2hhbm5lbE5hbWU6IG1hdGNoLmdyb3VwcyEuY2hhbm5lbE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgaW50ZW50IHZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaW50ZW50VmVyc2lvbihwcm9wczogTGV4SW50ZW50VmVyc2lvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsZXg6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aW50ZW50OiR7cHJvcHMuaW50ZW50TmFtZX06JHtwcm9wcy5pbnRlbnRWZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBpbnRlbnQgdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSW50ZW50VmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBJbnRlbnRWZXJzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGludGVudCB2ZXJzaW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUludGVudFZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBMZXhJbnRlbnRWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBJbnRlbnRWZXJzaW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVudCB2ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGludGVudE5hbWU6IG1hdGNoLmdyb3VwcyEuaW50ZW50TmFtZSxcblx0XHRcdGludGVudFZlcnNpb246IG1hdGNoLmdyb3VwcyEuaW50ZW50VmVyc2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzbG90dHlwZSB2ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHNsb3R0eXBlVmVyc2lvbihwcm9wczogTGV4U2xvdHR5cGVWZXJzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxleDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzbG90dHlwZToke3Byb3BzLnNsb3ROYW1lfToke3Byb3BzLnNsb3RWZXJzaW9ufWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzbG90dHlwZSB2ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTbG90dHlwZVZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2xvdHR5cGVWZXJzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNsb3R0eXBlIHZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2xvdHR5cGVWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogTGV4U2xvdHR5cGVWZXJzaW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTbG90dHlwZVZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2xvdHR5cGUgdmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzbG90TmFtZTogbWF0Y2guZ3JvdXBzIS5zbG90TmFtZSxcblx0XHRcdHNsb3RWZXJzaW9uOiBtYXRjaC5ncm91cHMhLnNsb3RWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRlc3Qgc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRlc3RTZXQocHJvcHM6IExleFRlc3RTZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGV4OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnRlc3Qtc2V0LyR7cHJvcHMudGVzdFNldElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0ZXN0IHNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVGVzdFNldEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUZXN0U2V0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRlc3Qgc2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRlc3RTZXRBcm4oYXJuOiBzdHJpbmcpOiBMZXhUZXN0U2V0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUZXN0U2V0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRlc3Qgc2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRlc3RTZXRJZDogbWF0Y2guZ3JvdXBzIS50ZXN0U2V0SWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3IgbGV4LlxuICovXG5leHBvcnQgY2xhc3MgTGV4T3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoQ3JlYXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaENyZWF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpCYXRjaENyZWF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoRGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUN1c3RvbVZvY2FidWxhcnlJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpCYXRjaERlbGV0ZUN1c3RvbVZvY2FidWxhcnlJdGVtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoVXBkYXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpCYXRjaFVwZGF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJ1aWxkQm90TG9jYWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQnVpbGRCb3RMb2NhbGU6IHN0cmluZ1tdID0gW1wibGV4OkJ1aWxkQm90TG9jYWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCb3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkNyZWF0ZUJvdFwiLFxuXHRcdFwibGV4OkRlc2NyaWJlQm90QWxpYXNcIixcblx0XHRcImxleDpEZXNjcmliZUJvdFZlcnNpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwibGV4OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJvdEFsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90QWxpYXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkNyZWF0ZUJvdEFsaWFzXCIsXG5cdFx0XCJsZXg6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQm90TG9jYWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90TG9jYWxlOiBzdHJpbmdbXSA9IFtcImxleDpDcmVhdGVCb3RMb2NhbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJvdFJlcGxpY2EgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RSZXBsaWNhOiBzdHJpbmdbXSA9IFtcImxleDpDcmVhdGVCb3RSZXBsaWNhXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCb3RWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90VmVyc2lvbjogc3RyaW5nW10gPSBbXCJsZXg6Q3JlYXRlQm90VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXhwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwb3J0OiBzdHJpbmdbXSA9IFtcImxleDpDcmVhdGVFeHBvcnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUludGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVudDogc3RyaW5nW10gPSBbXCJsZXg6Q3JlYXRlSW50ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnRlbnRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZW50VmVyc2lvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJsZXg6Q3JlYXRlUmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc291cmNlUG9saWN5U3RhdGVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkNyZWF0ZVJlc291cmNlUG9saWN5XCIsXG5cdFx0XCJsZXg6VXBkYXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2xvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNsb3Q6IHN0cmluZ1tdID0gW1wibGV4OkNyZWF0ZVNsb3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNsb3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2xvdFR5cGU6IHN0cmluZ1tdID0gW1wibGV4OkNyZWF0ZVNsb3RUeXBlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTbG90VHlwZVZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbG90VHlwZVZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkNyZWF0ZVNsb3RUeXBlVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkNyZWF0ZVRlc3RTZXREaXNjcmVwYW5jeVJlcG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVVcGxvYWRVcmwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVcGxvYWRVcmw6IHN0cmluZ1tdID0gW1wibGV4OkNyZWF0ZVVwbG9hZFVybFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQm90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZWxldGVCb3RcIixcblx0XHRcImxleDpEZWxldGVCb3RBbGlhc1wiLFxuXHRcdFwibGV4OkRlbGV0ZUJvdENoYW5uZWxcIixcblx0XHRcImxleDpEZWxldGVCb3RMb2NhbGVcIixcblx0XHRcImxleDpEZWxldGVCb3RWZXJzaW9uXCIsXG5cdFx0XCJsZXg6RGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeVwiLFxuXHRcdFwibGV4OkRlbGV0ZUludGVudFwiLFxuXHRcdFwibGV4OkRlbGV0ZVJlc291cmNlUG9saWN5XCIsXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFwiLFxuXHRcdFwibGV4OkRlbGV0ZVNsb3RUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJvdEFsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90QWxpYXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlbGV0ZUJvdEFsaWFzXCIsXG5cdFx0XCJsZXg6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlbGV0ZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQm90Q2hhbm5lbEFzc29jaWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90Q2hhbm5lbEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZWxldGVCb3RDaGFubmVsQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQm90TG9jYWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90TG9jYWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZWxldGVCb3RMb2NhbGVcIixcblx0XHRcImxleDpEZWxldGVDdXN0b21Wb2NhYnVsYXJ5XCIsXG5cdFx0XCJsZXg6RGVsZXRlSW50ZW50XCIsXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFwiLFxuXHRcdFwibGV4OkRlbGV0ZVNsb3RUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJvdFJlcGxpY2EgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCb3RSZXBsaWNhOiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVCb3RSZXBsaWNhXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCb3RWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90VmVyc2lvbjogc3RyaW5nW10gPSBbXCJsZXg6RGVsZXRlQm90VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbVZvY2FidWxhcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlbGV0ZUN1c3RvbVZvY2FidWxhcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXhwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXhwb3J0OiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVFeHBvcnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUltcG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUltcG9ydDogc3RyaW5nW10gPSBbXCJsZXg6RGVsZXRlSW1wb3J0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnRlbnQ6IHN0cmluZ1tdID0gW1wibGV4OkRlbGV0ZUludGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW50ZW50VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludGVudFZlcnNpb246IHN0cmluZ1tdID0gW1wibGV4OkRlbGV0ZUludGVudFZlcnNpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1wibGV4OkRlbGV0ZVJlc291cmNlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeVN0YXRlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5U3RhdGVtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRcdFwibGV4OlVwZGF0ZVJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlc3Npb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTbG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2xvdDogc3RyaW5nW10gPSBbXCJsZXg6RGVsZXRlU2xvdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2xvdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbG90VHlwZTogc3RyaW5nW10gPSBbXCJsZXg6RGVsZXRlU2xvdFR5cGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNsb3RUeXBlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNsb3RUeXBlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFR5cGVWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRlc3RTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUZXN0U2V0OiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVUZXN0U2V0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVVdHRlcmFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXR0ZXJhbmNlczogc3RyaW5nW10gPSBbXCJsZXg6RGVsZXRlVXR0ZXJhbmNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVCb3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RcIixcblx0XHRcImxleDpEZXNjcmliZUJvdEFsaWFzXCIsXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQm90QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdEFsaWFzOiBzdHJpbmdbXSA9IFtcImxleDpEZXNjcmliZUJvdEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUJvdExvY2FsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90TG9jYWxlOiBzdHJpbmdbXSA9IFtcImxleDpEZXNjcmliZUJvdExvY2FsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVCb3RSZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90UmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlQm90UmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVCb3RSZXBsaWNhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RSZXBsaWNhOiBzdHJpbmdbXSA9IFtcImxleDpEZXNjcmliZUJvdFJlcGxpY2FcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQm90UmVzb3VyY2VHZW5lcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RSZXNvdXJjZUdlbmVyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlQm90UmVzb3VyY2VHZW5lcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQm90VmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90VmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RBbGlhc1wiLFxuXHRcdFwibGV4OkRlc2NyaWJlQm90VmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUN1c3RvbVZvY2FidWxhcnlNZXRhZGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ3VzdG9tVm9jYWJ1bGFyeU1ldGFkYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZXNjcmliZUN1c3RvbVZvY2FidWxhcnlNZXRhZGF0YVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUV4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXhwb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZXNjcmliZUJvdFwiLFxuXHRcdFwibGV4OkRlc2NyaWJlQm90TG9jYWxlXCIsXG5cdFx0XCJsZXg6RGVzY3JpYmVDdXN0b21Wb2NhYnVsYXJ5XCIsXG5cdFx0XCJsZXg6RGVzY3JpYmVFeHBvcnRcIixcblx0XHRcImxleDpEZXNjcmliZUludGVudFwiLFxuXHRcdFwibGV4OkRlc2NyaWJlU2xvdFwiLFxuXHRcdFwibGV4OkRlc2NyaWJlU2xvdFR5cGVcIixcblx0XHRcImxleDpEZXNjcmliZVRlc3RTZXRcIixcblx0XHRcImxleDpMaXN0Qm90TG9jYWxlc1wiLFxuXHRcdFwibGV4Okxpc3RJbnRlbnRzXCIsXG5cdFx0XCJsZXg6TGlzdFNsb3RUeXBlc1wiLFxuXHRcdFwibGV4Okxpc3RTbG90c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUltcG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1wb3J0OiBzdHJpbmdbXSA9IFtcImxleDpEZXNjcmliZUltcG9ydFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVJbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUludGVudDogc3RyaW5nW10gPSBbXCJsZXg6RGVzY3JpYmVJbnRlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZXNjcmliZVJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2xvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2xvdDogc3RyaW5nW10gPSBbXCJsZXg6RGVzY3JpYmVTbG90XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNsb3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbG90VHlwZTogc3RyaW5nW10gPSBbXCJsZXg6RGVzY3JpYmVTbG90VHlwZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUZXN0RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUZXN0RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZXNjcmliZVRlc3RFeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUZXN0U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUZXN0U2V0OiBzdHJpbmdbXSA9IFtcImxleDpEZXNjcmliZVRlc3RTZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlVGVzdFNldEdlbmVyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRlc3RTZXRHZW5lcmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZXNjcmliZVRlc3RTZXRHZW5lcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdlbmVyYXRlQm90RWxlbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlQm90RWxlbWVudDogc3RyaW5nW10gPSBbXCJsZXg6R2VuZXJhdGVCb3RFbGVtZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCb3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJvdDogc3RyaW5nW10gPSBbXCJsZXg6R2V0Qm90XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCb3RBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qm90QWxpYXM6IHN0cmluZ1tdID0gW1wibGV4OkdldEJvdEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCb3RBbGlhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCb3RBbGlhc2VzOiBzdHJpbmdbXSA9IFtcImxleDpHZXRCb3RBbGlhc2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCb3RDaGFubmVsQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJvdENoYW5uZWxBc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6R2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJvdENoYW5uZWxBc3NvY2lhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJvdENoYW5uZWxBc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkdldEJvdENoYW5uZWxBc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Qm90VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJvdFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImxleDpHZXRCb3RWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Qm90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qm90czogc3RyaW5nW10gPSBbXCJsZXg6R2V0Qm90c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnVpbHRpbkludGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QnVpbHRpbkludGVudDogc3RyaW5nW10gPSBbXCJsZXg6R2V0QnVpbHRpbkludGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnVpbHRpbkludGVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJ1aWx0aW5JbnRlbnRzOiBzdHJpbmdbXSA9IFtcImxleDpHZXRCdWlsdGluSW50ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QnVpbHRpblNsb3RUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QnVpbHRpblNsb3RUeXBlczogc3RyaW5nW10gPSBbXCJsZXg6R2V0QnVpbHRpblNsb3RUeXBlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFeHBvcnQ6IHN0cmluZ1tdID0gW1wibGV4OkdldEV4cG9ydFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW1wb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbXBvcnQ6IHN0cmluZ1tdID0gW1wibGV4OkdldEltcG9ydFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnRlbnQ6IHN0cmluZ1tdID0gW1wibGV4OkdldEludGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZW50VmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVudFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImxleDpHZXRJbnRlbnRWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SW50ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW50ZW50czogc3RyaW5nW10gPSBbXCJsZXg6R2V0SW50ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWlncmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNaWdyYXRpb246IHN0cmluZ1tdID0gW1wibGV4OkdldE1pZ3JhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0TWlncmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0TWlncmF0aW9uczogc3RyaW5nW10gPSBbXCJsZXg6R2V0TWlncmF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2Vzc2lvbjogc3RyaW5nW10gPSBbXCJsZXg6R2V0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2xvdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNsb3RUeXBlOiBzdHJpbmdbXSA9IFtcImxleDpHZXRTbG90VHlwZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2xvdFR5cGVWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2xvdFR5cGVWZXJzaW9uczogc3RyaW5nW10gPSBbXCJsZXg6R2V0U2xvdFR5cGVWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U2xvdFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTbG90VHlwZXM6IHN0cmluZ1tdID0gW1wibGV4OkdldFNsb3RUeXBlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VGVzdEV4ZWN1dGlvbkFydGlmYWN0c1VybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VGVzdEV4ZWN1dGlvbkFydGlmYWN0c1VybDogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6R2V0VGVzdEV4ZWN1dGlvbkFydGlmYWN0c1VybFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRVdHRlcmFuY2VzVmlldyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VXR0ZXJhbmNlc1ZpZXc6IHN0cmluZ1tdID0gW1wibGV4OkdldFV0dGVyYW5jZXNWaWV3XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdncmVnYXRlZFV0dGVyYW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdncmVnYXRlZFV0dGVyYW5jZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4Okxpc3RBZ2dyZWdhdGVkVXR0ZXJhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Qm90QWxpYXNSZXBsaWNhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RBbGlhc1JlcGxpY2FzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0Qm90QWxpYXNSZXBsaWNhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJvdEFsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90QWxpYXNlczogc3RyaW5nW10gPSBbXCJsZXg6TGlzdEJvdEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCb3RBbmFseXplckhpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90QW5hbHl6ZXJIaXN0b3J5OiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Qm90TG9jYWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RMb2NhbGVzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0Qm90TG9jYWxlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJvdFJlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4Okxpc3RCb3RSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJvdFJlcGxpY2FzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdFJlcGxpY2FzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0Qm90UmVwbGljYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCb3RSZXNvdXJjZUdlbmVyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdFJlc291cmNlR2VuZXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4Okxpc3RCb3RSZXNvdXJjZUdlbmVyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCb3RWZXJzaW9uUmVwbGljYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90VmVyc2lvblJlcGxpY2FzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpMaXN0Qm90VmVyc2lvblJlcGxpY2FzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCb3RWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RWZXJzaW9uczogc3RyaW5nW10gPSBbXCJsZXg6TGlzdEJvdFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Qm90cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0Qm90c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJ1aWx0SW5JbnRlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJ1aWx0SW5JbnRlbnRzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0QnVpbHRJbkludGVudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCdWlsdEluU2xvdFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJ1aWx0SW5TbG90VHlwZXM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RCdWlsdEluU2xvdFR5cGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tVm9jYWJ1bGFyeUl0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbVZvY2FidWxhcnlJdGVtczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6TGlzdEN1c3RvbVZvY2FidWxhcnlJdGVtc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhwb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeHBvcnRzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0RXhwb3J0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEltcG9ydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0czogc3RyaW5nW10gPSBbXCJsZXg6TGlzdEltcG9ydHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnRlbnRNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVudE1ldHJpY3M6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RJbnRlbnRNZXRyaWNzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZW50UGF0aHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZW50UGF0aHM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RJbnRlbnRQYXRoc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludGVudFN0YWdlTWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlbnRTdGFnZU1ldHJpY3M6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4Okxpc3RJbnRlbnRTdGFnZU1ldHJpY3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludGVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZW50czogc3RyaW5nW10gPSBbXCJsZXg6TGlzdEludGVudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZWNvbW1lbmRlZEludGVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kZWRJbnRlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpMaXN0UmVjb21tZW5kZWRJbnRlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9uQW5hbHl0aWNzRGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uQW5hbHl0aWNzRGF0YTogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6TGlzdFNlc3Npb25BbmFseXRpY3NEYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXNzaW9uTWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXNzaW9uTWV0cmljczogc3RyaW5nW10gPSBbXCJsZXg6TGlzdFNlc3Npb25NZXRyaWNzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2xvdFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNsb3RUeXBlczogc3RyaW5nW10gPSBbXCJsZXg6TGlzdFNsb3RUeXBlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNsb3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNsb3RzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0U2xvdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0VGFnc0ZvclJlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdEV4ZWN1dGlvblJlc3VsdEl0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RFeGVjdXRpb25SZXN1bHRJdGVtczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6TGlzdFRlc3RFeGVjdXRpb25SZXN1bHRJdGVtc1wiLFxuXHRcdFwibGV4Okxpc3RUZXN0U2V0UmVjb3Jkc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdEV4ZWN1dGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdEV4ZWN1dGlvbnM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RUZXN0RXhlY3V0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RTZXRSZWNvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTZXRSZWNvcmRzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0VGVzdFNldFJlY29yZHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0U2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0U2V0czogc3RyaW5nW10gPSBbXCJsZXg6TGlzdFRlc3RTZXRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXR0ZXJhbmNlQW5hbHl0aWNzRGF0YSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVdHRlcmFuY2VBbmFseXRpY3NEYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpMaXN0QWdncmVnYXRlZFV0dGVyYW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFV0dGVyYW5jZU1ldHJpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXR0ZXJhbmNlTWV0cmljczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6TGlzdEFnZ3JlZ2F0ZWRVdHRlcmFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFBvc3RDb250ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUG9zdENvbnRlbnQ6IHN0cmluZ1tdID0gW1wibGV4OlBvc3RDb250ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQb3N0VGV4dCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBvc3RUZXh0OiBzdHJpbmdbXSA9IFtcImxleDpQb3N0VGV4dFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0Qm90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Qm90OiBzdHJpbmdbXSA9IFtcImxleDpQdXRCb3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEJvdEFsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Qm90QWxpYXM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEludGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEludGVudDogc3RyaW5nW10gPSBbXCJsZXg6UHV0SW50ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U2Vzc2lvbjogc3RyaW5nW10gPSBbXCJsZXg6UHV0U2Vzc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0U2xvdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTbG90VHlwZTogc3RyaW5nW10gPSBbXCJsZXg6UHV0U2xvdFR5cGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlY29nbml6ZVRleHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWNvZ25pemVUZXh0OiBzdHJpbmdbXSA9IFtcImxleDpSZWNvZ25pemVUZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWNvZ25pemVVdHRlcmFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWNvZ25pemVVdHRlcmFuY2U6IHN0cmluZ1tdID0gW1wibGV4OlJlY29nbml6ZVV0dGVyYW5jZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VhcmNoQXNzb2NpYXRlZFRyYW5zY3JpcHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VhcmNoQXNzb2NpYXRlZFRyYW5zY3JpcHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpTZWFyY2hBc3NvY2lhdGVkVHJhbnNjcmlwdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRCb3RBbmFseXplciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Qm90QW5hbHl6ZXI6IHN0cmluZ1tdID0gW1wibGV4OlN0YXJ0Qm90QW5hbHl6ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Qm90UmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEJvdFJlY29tbWVuZGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpDcmVhdGVJbnRlbnRcIixcblx0XHRcImxleDpDcmVhdGVTbG90XCIsXG5cdFx0XCJsZXg6Q3JlYXRlU2xvdFR5cGVcIixcblx0XHRcImxleDpEZWxldGVJbnRlbnRcIixcblx0XHRcImxleDpEZWxldGVTbG90XCIsXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFR5cGVcIixcblx0XHRcImxleDpTdGFydEJvdFJlY29tbWVuZGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Qm90UmVzb3VyY2VHZW5lcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRCb3RSZXNvdXJjZUdlbmVyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OlN0YXJ0Qm90UmVzb3VyY2VHZW5lcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Q29udmVyc2F0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb252ZXJzYXRpb246IHN0cmluZ1tdID0gW1wibGV4OlN0YXJ0Q29udmVyc2F0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEltcG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0SW1wb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpDcmVhdGVCb3RcIixcblx0XHRcImxleDpDcmVhdGVCb3RMb2NhbGVcIixcblx0XHRcImxleDpDcmVhdGVDdXN0b21Wb2NhYnVsYXJ5XCIsXG5cdFx0XCJsZXg6Q3JlYXRlSW50ZW50XCIsXG5cdFx0XCJsZXg6Q3JlYXRlU2xvdFwiLFxuXHRcdFwibGV4OkNyZWF0ZVNsb3RUeXBlXCIsXG5cdFx0XCJsZXg6Q3JlYXRlVGVzdFNldFwiLFxuXHRcdFwibGV4OkRlbGV0ZUJvdExvY2FsZVwiLFxuXHRcdFwibGV4OkRlbGV0ZUN1c3RvbVZvY2FidWxhcnlcIixcblx0XHRcImxleDpEZWxldGVJbnRlbnRcIixcblx0XHRcImxleDpEZWxldGVTbG90XCIsXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFR5cGVcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwibGV4OlN0YXJ0SW1wb3J0XCIsXG5cdFx0XCJsZXg6VGFnUmVzb3VyY2VcIixcblx0XHRcImxleDpVcGRhdGVCb3RcIixcblx0XHRcImxleDpVcGRhdGVCb3RMb2NhbGVcIixcblx0XHRcImxleDpVcGRhdGVDdXN0b21Wb2NhYnVsYXJ5XCIsXG5cdFx0XCJsZXg6VXBkYXRlSW50ZW50XCIsXG5cdFx0XCJsZXg6VXBkYXRlU2xvdFwiLFxuXHRcdFwibGV4OlVwZGF0ZVNsb3RUeXBlXCIsXG5cdFx0XCJsZXg6VXBkYXRlVGVzdFNldFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydE1pZ3JhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWlncmF0aW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRlc3RFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlc3RFeGVjdXRpb246IHN0cmluZ1tdID0gW1wibGV4OlN0YXJ0VGVzdEV4ZWN1dGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRUZXN0U2V0R2VuZXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGVzdFNldEdlbmVyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJsZXg6U3RhcnRUZXN0U2V0R2VuZXJhdGlvblwiLFxuXHRcdFwibGV4OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BCb3RBbmFseXplciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BCb3RBbmFseXplcjogc3RyaW5nW10gPSBbXCJsZXg6U3RvcEJvdEFuYWx5emVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQm90UmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQm90UmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OlN0b3BCb3RSZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImxleDpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wibGV4OlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RBbGlhc1wiLFxuXHRcdFwibGV4OkRlc2NyaWJlQm90VmVyc2lvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJsZXg6VXBkYXRlQm90XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJvdEFsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQm90QWxpYXM6IHN0cmluZ1tdID0gW1wibGV4OlVwZGF0ZUJvdEFsaWFzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCb3RMb2NhbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCb3RMb2NhbGU6IHN0cmluZ1tdID0gW1wibGV4OlVwZGF0ZUJvdExvY2FsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQm90UmVjb21tZW5kYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCb3RSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6VXBkYXRlQm90UmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRXhwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhwb3J0OiBzdHJpbmdbXSA9IFtcImxleDpVcGRhdGVFeHBvcnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUludGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUludGVudDogc3RyaW5nW10gPSBbXCJsZXg6VXBkYXRlSW50ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImxleDpVcGRhdGVSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2xvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNsb3Q6IHN0cmluZ1tdID0gW1wibGV4OlVwZGF0ZVNsb3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNsb3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2xvdFR5cGU6IHN0cmluZ1tdID0gW1wibGV4OlVwZGF0ZVNsb3RUeXBlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUZXN0U2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGVzdFNldDogc3RyaW5nW10gPSBbXCJsZXg6VXBkYXRlVGVzdFNldFwiXTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGxleC5cbiAqL1xuZXhwb3J0IGNsYXNzIExleENvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQm90IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJvdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQm90QWxpYXMgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQm90QWxpYXNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEJvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRCb3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dEJvdEFsaWFzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEJvdEFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydEltcG9ydCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEltcG9ydENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGxleDphc3NvY2lhdGVkSW50ZW50cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFTU09DSUFURURfSU5URU5UUyA9IFwibGV4OmFzc29jaWF0ZWRJbnRlbnRzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBsZXg6YXNzb2NpYXRlZFNsb3RUeXBlcyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFTU09DSUFURURfU0xPVF9UWVBFUyA9IFwibGV4OmFzc29jaWF0ZWRTbG90VHlwZXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGxleDpjaGFubmVsVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ0hBTk5FTF9UWVBFID0gXCJsZXg6Y2hhbm5lbFR5cGVcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgbGV4OmFzc29jaWF0ZWRJbnRlbnRzYC5cblx0ICovXG5cdHN0YXRpYyBhc3NvY2lhdGVkSW50ZW50cyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImxleDphc3NvY2lhdGVkSW50ZW50c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGxleDphc3NvY2lhdGVkU2xvdFR5cGVzYC5cblx0ICovXG5cdHN0YXRpYyBhc3NvY2lhdGVkU2xvdFR5cGVzKFxuXHRcdHZhbHVlczogc3RyaW5nW10sXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7XG5cdFx0XHRcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImxleDphc3NvY2lhdGVkU2xvdFR5cGVzXCI6IHZhbHVlcyB9LFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgbGV4OmNoYW5uZWxUeXBlYC5cblx0ICovXG5cdHN0YXRpYyBjaGFubmVsVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImxleDpjaGFubmVsVHlwZVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
|
|
1285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGV4LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9sZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBNmVDOzs7QUE1ZUEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsa0RBQWtEO0FBQ2xDLDBDQUErQixHQUM5QyxxQ0FBcUMsQ0FBQztBQUN2QyxrREFBa0Q7QUFDbEMsMENBQStCLEdBQzlDLHFDQUFxQyxDQUFDO0FBQ3ZDLGtEQUFrRDtBQUNsQywwQ0FBK0IsR0FDOUMscUNBQXFDLENBQUM7QUFDdkMsaUNBQWlDO0FBQ2pCLHlCQUFjLEdBQUcsb0JBQW9CLENBQUM7QUFDdEQsNEJBQTRCO0FBQ1osb0JBQVMsR0FBRyxlQUFlLENBQUM7QUFDNUMsaUNBQWlDO0FBQ2pCLHlCQUFjLEdBQUcsb0JBQW9CLENBQUM7QUFDdEQsbUNBQW1DO0FBQ25CLDJCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELGtDQUFrQztBQUNsQiwwQkFBZSxHQUFHLHFCQUFxQixDQUFDO0FBQ3hELG1DQUFtQztBQUNuQiwyQkFBZ0IsR0FBRyxzQkFBc0IsQ0FBQztBQUMxRCxtQ0FBbUM7QUFDbkIsMkJBQWdCLEdBQUcsc0JBQXNCLENBQUM7QUFDMUQseUNBQXlDO0FBQ3pCLGlDQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ3RFLCtCQUErQjtBQUNmLHVCQUFZLEdBQUcsa0JBQWtCLENBQUM7QUFDbEQsK0JBQStCO0FBQ2YsdUJBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUNsRCxzQ0FBc0M7QUFDdEIsOEJBQW1CLEdBQUcseUJBQXlCLENBQUM7QUFDaEUsdUNBQXVDO0FBQ3ZCLCtC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Ryx1QkFBdUIsQ0FBQztBQUM3RCw2REFBNkQ7QUFDN0MsbUNBQXFCLEdBQUcseUJBQXlCLENBQUM7QUFDbEUsOENBQThDO0FBQzlCLDBCQUFZLEdBQUcsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9sZXguanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGxleCBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgTGV4QWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImxleFwiO1xuXG5cdC8qKiBbV3JpdGVdIGxleDpCYXRjaENyZWF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaENyZWF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtID1cblx0XHRcImxleDpCYXRjaENyZWF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpCYXRjaERlbGV0ZUN1c3RvbVZvY2FidWxhcnlJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaERlbGV0ZUN1c3RvbVZvY2FidWxhcnlJdGVtID1cblx0XHRcImxleDpCYXRjaERlbGV0ZUN1c3RvbVZvY2FidWxhcnlJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpCYXRjaFVwZGF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtID1cblx0XHRcImxleDpCYXRjaFVwZGF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpCdWlsZEJvdExvY2FsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQnVpbGRCb3RMb2NhbGUgPSBcImxleDpCdWlsZEJvdExvY2FsZVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlQm90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3QgPSBcImxleDpDcmVhdGVCb3RcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZUJvdEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RBbGlhcyA9IFwibGV4OkNyZWF0ZUJvdEFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVCb3RDaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RDaGFubmVsID0gXCJsZXg6Q3JlYXRlQm90Q2hhbm5lbFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlQm90TG9jYWxlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RMb2NhbGUgPSBcImxleDpDcmVhdGVCb3RMb2NhbGVcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZUJvdFJlcGxpY2EgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJvdFJlcGxpY2EgPSBcImxleDpDcmVhdGVCb3RSZXBsaWNhXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVCb3RWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RWZXJzaW9uID0gXCJsZXg6Q3JlYXRlQm90VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlQ3VzdG9tVm9jYWJ1bGFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tVm9jYWJ1bGFyeSA9IFwibGV4OkNyZWF0ZUN1c3RvbVZvY2FidWxhcnlcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZUV4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwb3J0ID0gXCJsZXg6Q3JlYXRlRXhwb3J0XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVJbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUludGVudCA9IFwibGV4OkNyZWF0ZUludGVudFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlSW50ZW50VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZW50VmVyc2lvbiA9IFwibGV4OkNyZWF0ZUludGVudFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVBvbGljeSA9IFwibGV4OkNyZWF0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVSZXNvdXJjZVBvbGljeVN0YXRlbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnQgPVxuXHRcdFwibGV4OkNyZWF0ZVJlc291cmNlUG9saWN5U3RhdGVtZW50XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVTbG90ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbG90ID0gXCJsZXg6Q3JlYXRlU2xvdFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlU2xvdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNsb3RUeXBlID0gXCJsZXg6Q3JlYXRlU2xvdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkNyZWF0ZVNsb3RUeXBlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2xvdFR5cGVWZXJzaW9uID0gXCJsZXg6Q3JlYXRlU2xvdFR5cGVWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpDcmVhdGVUZXN0U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUZXN0U2V0ID0gXCJsZXg6Q3JlYXRlVGVzdFNldFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnQgPVxuXHRcdFwibGV4OkNyZWF0ZVRlc3RTZXREaXNjcmVwYW5jeVJlcG9ydFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6Q3JlYXRlVXBsb2FkVXJsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVcGxvYWRVcmwgPSBcImxleDpDcmVhdGVVcGxvYWRVcmxcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUJvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90ID0gXCJsZXg6RGVsZXRlQm90XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVCb3RBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90QWxpYXMgPSBcImxleDpEZWxldGVCb3RBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbiA9XG5cdFx0XCJsZXg6RGVsZXRlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlQm90Q2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90Q2hhbm5lbCA9IFwibGV4OkRlbGV0ZUJvdENoYW5uZWxcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUJvdENoYW5uZWxBc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90Q2hhbm5lbEFzc29jaWF0aW9uID1cblx0XHRcImxleDpEZWxldGVCb3RDaGFubmVsQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUJvdExvY2FsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90TG9jYWxlID0gXCJsZXg6RGVsZXRlQm90TG9jYWxlXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVCb3RSZXBsaWNhICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCb3RSZXBsaWNhID0gXCJsZXg6RGVsZXRlQm90UmVwbGljYVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlQm90VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90VmVyc2lvbiA9IFwibGV4OkRlbGV0ZUJvdFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUN1c3RvbVZvY2FidWxhcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbVZvY2FidWxhcnkgPSBcImxleDpEZWxldGVDdXN0b21Wb2NhYnVsYXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVFeHBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4cG9ydCA9IFwibGV4OkRlbGV0ZUV4cG9ydFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlSW1wb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbXBvcnQgPSBcImxleDpEZWxldGVJbXBvcnRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZUludGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZW50ID0gXCJsZXg6RGVsZXRlSW50ZW50XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVJbnRlbnRWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnRlbnRWZXJzaW9uID0gXCJsZXg6RGVsZXRlSW50ZW50VmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlUmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5ID0gXCJsZXg6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZVJlc291cmNlUG9saWN5U3RhdGVtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeVN0YXRlbWVudCA9XG5cdFx0XCJsZXg6RGVsZXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZVNlc3Npb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlc3Npb24gPSBcImxleDpEZWxldGVTZXNzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVTbG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbG90ID0gXCJsZXg6RGVsZXRlU2xvdFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlU2xvdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNsb3RUeXBlID0gXCJsZXg6RGVsZXRlU2xvdFR5cGVcIjtcblx0LyoqIFtXcml0ZV0gbGV4OkRlbGV0ZVNsb3RUeXBlVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2xvdFR5cGVWZXJzaW9uID0gXCJsZXg6RGVsZXRlU2xvdFR5cGVWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpEZWxldGVUZXN0U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUZXN0U2V0ID0gXCJsZXg6RGVsZXRlVGVzdFNldFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6RGVsZXRlVXR0ZXJhbmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXR0ZXJhbmNlcyA9IFwibGV4OkRlbGV0ZVV0dGVyYW5jZXNcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVCb3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90ID0gXCJsZXg6RGVzY3JpYmVCb3RcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVCb3RBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RBbGlhcyA9IFwibGV4OkRlc2NyaWJlQm90QWxpYXNcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVCb3RBbmFseXplclJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb24gPVxuXHRcdFwibGV4OkRlc2NyaWJlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZUJvdENoYW5uZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90Q2hhbm5lbCA9IFwibGV4OkRlc2NyaWJlQm90Q2hhbm5lbFwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZUJvdExvY2FsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RMb2NhbGUgPSBcImxleDpEZXNjcmliZUJvdExvY2FsZVwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZUJvdFJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdFJlY29tbWVuZGF0aW9uID0gXCJsZXg6RGVzY3JpYmVCb3RSZWNvbW1lbmRhdGlvblwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZUJvdFJlcGxpY2EgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90UmVwbGljYSA9IFwibGV4OkRlc2NyaWJlQm90UmVwbGljYVwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZUJvdFJlc291cmNlR2VuZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RSZXNvdXJjZUdlbmVyYXRpb24gPVxuXHRcdFwibGV4OkRlc2NyaWJlQm90UmVzb3VyY2VHZW5lcmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlQm90VmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RWZXJzaW9uID0gXCJsZXg6RGVzY3JpYmVCb3RWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlQ3VzdG9tVm9jYWJ1bGFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDdXN0b21Wb2NhYnVsYXJ5ID0gXCJsZXg6RGVzY3JpYmVDdXN0b21Wb2NhYnVsYXJ5XCI7XG5cdC8qKiBbUmVhZF0gbGV4OkRlc2NyaWJlQ3VzdG9tVm9jYWJ1bGFyeU1ldGFkYXRhICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUN1c3RvbVZvY2FidWxhcnlNZXRhZGF0YSA9XG5cdFx0XCJsZXg6RGVzY3JpYmVDdXN0b21Wb2NhYnVsYXJ5TWV0YWRhdGFcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVFeHBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRXhwb3J0ID0gXCJsZXg6RGVzY3JpYmVFeHBvcnRcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVJbXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW1wb3J0ID0gXCJsZXg6RGVzY3JpYmVJbXBvcnRcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVJbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW50ZW50ID0gXCJsZXg6RGVzY3JpYmVJbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNvdXJjZVBvbGljeSA9IFwibGV4OkRlc2NyaWJlUmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVTbG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNsb3QgPSBcImxleDpEZXNjcmliZVNsb3RcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVTbG90VHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbG90VHlwZSA9IFwibGV4OkRlc2NyaWJlU2xvdFR5cGVcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVUZXN0RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRlc3RFeGVjdXRpb24gPSBcImxleDpEZXNjcmliZVRlc3RFeGVjdXRpb25cIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVUZXN0U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRlc3RTZXQgPSBcImxleDpEZXNjcmliZVRlc3RTZXRcIjtcblx0LyoqIFtSZWFkXSBsZXg6RGVzY3JpYmVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0ID1cblx0XHRcImxleDpEZXNjcmliZVRlc3RTZXREaXNjcmVwYW5jeVJlcG9ydFwiO1xuXHQvKiogW1JlYWRdIGxleDpEZXNjcmliZVRlc3RTZXRHZW5lcmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRlc3RTZXRHZW5lcmF0aW9uID0gXCJsZXg6RGVzY3JpYmVUZXN0U2V0R2VuZXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGxleDpHZW5lcmF0ZUJvdEVsZW1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEdlbmVyYXRlQm90RWxlbWVudCA9IFwibGV4OkdlbmVyYXRlQm90RWxlbWVudFwiO1xuXHQvKiogW1JlYWRdIGxleDpHZXRCb3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJvdCA9IFwibGV4OkdldEJvdFwiO1xuXHQvKiogW1JlYWRdIGxleDpHZXRCb3RBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qm90QWxpYXMgPSBcImxleDpHZXRCb3RBbGlhc1wiO1xuXHQvKiogW0xpc3RdIGxleDpHZXRCb3RBbGlhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRCb3RBbGlhc2VzID0gXCJsZXg6R2V0Qm90QWxpYXNlc1wiO1xuXHQvKiogW1JlYWRdIGxleDpHZXRCb3RDaGFubmVsQXNzb2NpYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJvdENoYW5uZWxBc3NvY2lhdGlvbiA9XG5cdFx0XCJsZXg6R2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9uXCI7XG5cdC8qKiBbTGlzdF0gbGV4OkdldEJvdENoYW5uZWxBc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJvdENoYW5uZWxBc3NvY2lhdGlvbnMgPVxuXHRcdFwibGV4OkdldEJvdENoYW5uZWxBc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0Qm90VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJvdFZlcnNpb25zID0gXCJsZXg6R2V0Qm90VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0Qm90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Qm90cyA9IFwibGV4OkdldEJvdHNcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0QnVpbHRpbkludGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnVpbHRpbkludGVudCA9IFwibGV4OkdldEJ1aWx0aW5JbnRlbnRcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0QnVpbHRpbkludGVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJ1aWx0aW5JbnRlbnRzID0gXCJsZXg6R2V0QnVpbHRpbkludGVudHNcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0QnVpbHRpblNsb3RUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QnVpbHRpblNsb3RUeXBlcyA9IFwibGV4OkdldEJ1aWx0aW5TbG90VHlwZXNcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0RXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFeHBvcnQgPSBcImxleDpHZXRFeHBvcnRcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0SW1wb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbXBvcnQgPSBcImxleDpHZXRJbXBvcnRcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0SW50ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbnRlbnQgPSBcImxleDpHZXRJbnRlbnRcIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0SW50ZW50VmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEludGVudFZlcnNpb25zID0gXCJsZXg6R2V0SW50ZW50VmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0SW50ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW50ZW50cyA9IFwibGV4OkdldEludGVudHNcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0TWlncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNaWdyYXRpb24gPSBcImxleDpHZXRNaWdyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0TWlncmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TWlncmF0aW9ucyA9IFwibGV4OkdldE1pZ3JhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2Vzc2lvbiA9IFwibGV4OkdldFNlc3Npb25cIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0U2xvdFR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNsb3RUeXBlID0gXCJsZXg6R2V0U2xvdFR5cGVcIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0U2xvdFR5cGVWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U2xvdFR5cGVWZXJzaW9ucyA9IFwibGV4OkdldFNsb3RUeXBlVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBsZXg6R2V0U2xvdFR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTbG90VHlwZXMgPSBcImxleDpHZXRTbG90VHlwZXNcIjtcblx0LyoqIFtSZWFkXSBsZXg6R2V0VGVzdEV4ZWN1dGlvbkFydGlmYWN0c1VybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGVzdEV4ZWN1dGlvbkFydGlmYWN0c1VybCA9XG5cdFx0XCJsZXg6R2V0VGVzdEV4ZWN1dGlvbkFydGlmYWN0c1VybFwiO1xuXHQvKiogW0xpc3RdIGxleDpHZXRVdHRlcmFuY2VzVmlldyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXR0ZXJhbmNlc1ZpZXcgPSBcImxleDpHZXRVdHRlcmFuY2VzVmlld1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0QWdncmVnYXRlZFV0dGVyYW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2dyZWdhdGVkVXR0ZXJhbmNlcyA9IFwibGV4Okxpc3RBZ2dyZWdhdGVkVXR0ZXJhbmNlc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90QWxpYXNSZXBsaWNhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdEFsaWFzUmVwbGljYXMgPSBcImxleDpMaXN0Qm90QWxpYXNSZXBsaWNhc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90QWxpYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdEFsaWFzZXMgPSBcImxleDpMaXN0Qm90QWxpYXNlc1wiO1xuXHQvKiogW0xpc3RdIGxleDpMaXN0Qm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RBbmFseXplclJlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJsZXg6TGlzdEJvdEFuYWx5emVyUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCb3RDaGFubmVscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdENoYW5uZWxzID0gXCJsZXg6TGlzdEJvdENoYW5uZWxzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCb3RMb2NhbGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90TG9jYWxlcyA9IFwibGV4Okxpc3RCb3RMb2NhbGVzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCb3RSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RSZWNvbW1lbmRhdGlvbnMgPSBcImxleDpMaXN0Qm90UmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCb3RSZXBsaWNhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdFJlcGxpY2FzID0gXCJsZXg6TGlzdEJvdFJlcGxpY2FzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCb3RSZXNvdXJjZUdlbmVyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90UmVzb3VyY2VHZW5lcmF0aW9ucyA9IFwibGV4Okxpc3RCb3RSZXNvdXJjZUdlbmVyYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCb3RWZXJzaW9uUmVwbGljYXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RWZXJzaW9uUmVwbGljYXMgPSBcImxleDpMaXN0Qm90VmVyc2lvblJlcGxpY2FzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCb3RWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdFZlcnNpb25zID0gXCJsZXg6TGlzdEJvdFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCb3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90cyA9IFwibGV4Okxpc3RCb3RzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCdWlsdEluSW50ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJ1aWx0SW5JbnRlbnRzID0gXCJsZXg6TGlzdEJ1aWx0SW5JbnRlbnRzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RCdWlsdEluU2xvdFR5cGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QnVpbHRJblNsb3RUeXBlcyA9IFwibGV4Okxpc3RCdWlsdEluU2xvdFR5cGVzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RDdXN0b21Wb2NhYnVsYXJ5SXRlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21Wb2NhYnVsYXJ5SXRlbXMgPSBcImxleDpMaXN0Q3VzdG9tVm9jYWJ1bGFyeUl0ZW1zXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RFeHBvcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhwb3J0cyA9IFwibGV4Okxpc3RFeHBvcnRzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RJbXBvcnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW1wb3J0cyA9IFwibGV4Okxpc3RJbXBvcnRzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RJbnRlbnRNZXRyaWNzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZW50TWV0cmljcyA9IFwibGV4Okxpc3RJbnRlbnRNZXRyaWNzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RJbnRlbnRQYXRocyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVudFBhdGhzID0gXCJsZXg6TGlzdEludGVudFBhdGhzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RJbnRlbnRTdGFnZU1ldHJpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlbnRTdGFnZU1ldHJpY3MgPSBcImxleDpMaXN0SW50ZW50U3RhZ2VNZXRyaWNzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RJbnRlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZW50cyA9IFwibGV4Okxpc3RJbnRlbnRzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RSZWNvbW1lbmRlZEludGVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlZEludGVudHMgPSBcImxleDpMaXN0UmVjb21tZW5kZWRJbnRlbnRzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RTZXNzaW9uQW5hbHl0aWNzRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25BbmFseXRpY3NEYXRhID0gXCJsZXg6TGlzdFNlc3Npb25BbmFseXRpY3NEYXRhXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RTZXNzaW9uTWV0cmljcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25NZXRyaWNzID0gXCJsZXg6TGlzdFNlc3Npb25NZXRyaWNzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RTbG90VHlwZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTbG90VHlwZXMgPSBcImxleDpMaXN0U2xvdFR5cGVzXCI7XG5cdC8qKiBbTGlzdF0gbGV4Okxpc3RTbG90cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNsb3RzID0gXCJsZXg6TGlzdFNsb3RzXCI7XG5cdC8qKiBbUmVhZF0gbGV4Okxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImxleDpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gbGV4Okxpc3RUZXN0RXhlY3V0aW9uUmVzdWx0SXRlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0RXhlY3V0aW9uUmVzdWx0SXRlbXMgPVxuXHRcdFwibGV4Okxpc3RUZXN0RXhlY3V0aW9uUmVzdWx0SXRlbXNcIjtcblx0LyoqIFtMaXN0XSBsZXg6TGlzdFRlc3RFeGVjdXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdEV4ZWN1dGlvbnMgPSBcImxleDpMaXN0VGVzdEV4ZWN1dGlvbnNcIjtcblx0LyoqIFtSZWFkXSBsZXg6TGlzdFRlc3RTZXRSZWNvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFNldFJlY29yZHMgPSBcImxleDpMaXN0VGVzdFNldFJlY29yZHNcIjtcblx0LyoqIFtMaXN0XSBsZXg6TGlzdFRlc3RTZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFNldHMgPSBcImxleDpMaXN0VGVzdFNldHNcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlBvc3RDb250ZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBQb3N0Q29udGVudCA9IFwibGV4OlBvc3RDb250ZW50XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpQb3N0VGV4dCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUG9zdFRleHQgPSBcImxleDpQb3N0VGV4dFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6UHV0Qm90ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRCb3QgPSBcImxleDpQdXRCb3RcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlB1dEJvdEFsaWFzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRCb3RBbGlhcyA9IFwibGV4OlB1dEJvdEFsaWFzXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpQdXRJbnRlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEludGVudCA9IFwibGV4OlB1dEludGVudFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6UHV0U2Vzc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U2Vzc2lvbiA9IFwibGV4OlB1dFNlc3Npb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OlB1dFNsb3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTbG90VHlwZSA9IFwibGV4OlB1dFNsb3RUeXBlXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpSZWNvZ25pemVUZXh0ICovXG5cdHN0YXRpYyByZWFkb25seSBSZWNvZ25pemVUZXh0ID0gXCJsZXg6UmVjb2duaXplVGV4dFwiO1xuXHQvKiogW1dyaXRlXSBsZXg6UmVjb2duaXplVXR0ZXJhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWNvZ25pemVVdHRlcmFuY2UgPSBcImxleDpSZWNvZ25pemVVdHRlcmFuY2VcIjtcblx0LyoqIFtMaXN0XSBsZXg6U2VhcmNoQXNzb2NpYXRlZFRyYW5zY3JpcHRzICovXG5cdHN0YXRpYyByZWFkb25seSBTZWFyY2hBc3NvY2lhdGVkVHJhbnNjcmlwdHMgPVxuXHRcdFwibGV4OlNlYXJjaEFzc29jaWF0ZWRUcmFuc2NyaXB0c1wiO1xuXHQvKiogW1dyaXRlXSBsZXg6U3RhcnRCb3RBbmFseXplciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRCb3RBbmFseXplciA9IFwibGV4OlN0YXJ0Qm90QW5hbHl6ZXJcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlN0YXJ0Qm90UmVjb21tZW5kYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Qm90UmVjb21tZW5kYXRpb24gPSBcImxleDpTdGFydEJvdFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpTdGFydEJvdFJlc291cmNlR2VuZXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRCb3RSZXNvdXJjZUdlbmVyYXRpb24gPSBcImxleDpTdGFydEJvdFJlc291cmNlR2VuZXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6U3RhcnRDb252ZXJzYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q29udmVyc2F0aW9uID0gXCJsZXg6U3RhcnRDb252ZXJzYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OlN0YXJ0SW1wb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEltcG9ydCA9IFwibGV4OlN0YXJ0SW1wb3J0XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpTdGFydE1pZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNaWdyYXRpb24gPSBcImxleDpTdGFydE1pZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBsZXg6U3RhcnRUZXN0RXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlc3RFeGVjdXRpb24gPSBcImxleDpTdGFydFRlc3RFeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gbGV4OlN0YXJ0VGVzdFNldEdlbmVyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGVzdFNldEdlbmVyYXRpb24gPSBcImxleDpTdGFydFRlc3RTZXRHZW5lcmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpTdG9wQm90QW5hbHl6ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BCb3RBbmFseXplciA9IFwibGV4OlN0b3BCb3RBbmFseXplclwiO1xuXHQvKiogW1dyaXRlXSBsZXg6U3RvcEJvdFJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQm90UmVjb21tZW5kYXRpb24gPSBcImxleDpTdG9wQm90UmVjb21tZW5kYXRpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBsZXg6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJsZXg6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBsZXg6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwibGV4OlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlVwZGF0ZUJvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQm90ID0gXCJsZXg6VXBkYXRlQm90XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpVcGRhdGVCb3RBbGlhcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQm90QWxpYXMgPSBcImxleDpVcGRhdGVCb3RBbGlhc1wiO1xuXHQvKiogW1dyaXRlXSBsZXg6VXBkYXRlQm90TG9jYWxlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCb3RMb2NhbGUgPSBcImxleDpVcGRhdGVCb3RMb2NhbGVcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlVwZGF0ZUJvdFJlY29tbWVuZGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCb3RSZWNvbW1lbmRhdGlvbiA9IFwibGV4OlVwZGF0ZUJvdFJlY29tbWVuZGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpVcGRhdGVDdXN0b21Wb2NhYnVsYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDdXN0b21Wb2NhYnVsYXJ5ID0gXCJsZXg6VXBkYXRlQ3VzdG9tVm9jYWJ1bGFyeVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6VXBkYXRlRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHBvcnQgPSBcImxleDpVcGRhdGVFeHBvcnRcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlVwZGF0ZUludGVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSW50ZW50ID0gXCJsZXg6VXBkYXRlSW50ZW50XCI7XG5cdC8qKiBbV3JpdGVdIGxleDpVcGRhdGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzb3VyY2VQb2xpY3kgPSBcImxleDpVcGRhdGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBsZXg6VXBkYXRlU2xvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2xvdCA9IFwibGV4OlVwZGF0ZVNsb3RcIjtcblx0LyoqIFtXcml0ZV0gbGV4OlVwZGF0ZVNsb3RUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTbG90VHlwZSA9IFwibGV4OlVwZGF0ZVNsb3RUeXBlXCI7XG5cdC8qKiBbV3JpdGVdIGxleDpVcGRhdGVUZXN0U2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUZXN0U2V0ID0gXCJsZXg6VXBkYXRlVGVzdFNldFwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3QsXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZUJvdEFsaWFzLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3RBbmFseXplclJlY29tbWVuZGF0aW9uLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3RDaGFubmVsLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3RMb2NhbGUsXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZUJvdFJlY29tbWVuZGF0aW9uLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3RSZXBsaWNhLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVCb3RSZXNvdXJjZUdlbmVyYXRpb24sXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZUJvdFZlcnNpb24sXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZUN1c3RvbVZvY2FidWxhcnksXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZUN1c3RvbVZvY2FidWxhcnlNZXRhZGF0YSxcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlRXhwb3J0LFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVJbXBvcnQsXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZUludGVudCxcblx0XHRMZXhBY3Rpb25zLkRlc2NyaWJlUmVzb3VyY2VQb2xpY3ksXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZVNsb3QsXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZVNsb3RUeXBlLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVUZXN0RXhlY3V0aW9uLFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVUZXN0U2V0LFxuXHRcdExleEFjdGlvbnMuRGVzY3JpYmVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnQsXG5cdFx0TGV4QWN0aW9ucy5EZXNjcmliZVRlc3RTZXRHZW5lcmF0aW9uLFxuXHRcdExleEFjdGlvbnMuR2VuZXJhdGVCb3RFbGVtZW50LFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0Qm90LFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0Qm90QWxpYXMsXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRCb3RDaGFubmVsQXNzb2NpYXRpb24sXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRCdWlsdGluSW50ZW50LFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0QnVpbHRpbkludGVudHMsXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRCdWlsdGluU2xvdFR5cGVzLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0RXhwb3J0LFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0SW1wb3J0LFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0SW50ZW50LFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0TWlncmF0aW9uLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0U2Vzc2lvbixcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldFNsb3RUeXBlLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0VGVzdEV4ZWN1dGlvbkFydGlmYWN0c1VybCxcblx0XHRMZXhBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0TGV4QWN0aW9ucy5MaXN0VGVzdEV4ZWN1dGlvblJlc3VsdEl0ZW1zLFxuXHRcdExleEFjdGlvbnMuTGlzdFRlc3RTZXRSZWNvcmRzLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdExleEFjdGlvbnMuQmF0Y2hDcmVhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSxcblx0XHRMZXhBY3Rpb25zLkJhdGNoRGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW0sXG5cdFx0TGV4QWN0aW9ucy5CYXRjaFVwZGF0ZUN1c3RvbVZvY2FidWxhcnlJdGVtLFxuXHRcdExleEFjdGlvbnMuQnVpbGRCb3RMb2NhbGUsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVCb3QsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVCb3RBbGlhcyxcblx0XHRMZXhBY3Rpb25zLkNyZWF0ZUJvdENoYW5uZWwsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVCb3RMb2NhbGUsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVCb3RSZXBsaWNhLFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlQm90VmVyc2lvbixcblx0XHRMZXhBY3Rpb25zLkNyZWF0ZUN1c3RvbVZvY2FidWxhcnksXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVFeHBvcnQsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVJbnRlbnQsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVJbnRlbnRWZXJzaW9uLFxuXHRcdExleEFjdGlvbnMuQ3JlYXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVSZXNvdXJjZVBvbGljeVN0YXRlbWVudCxcblx0XHRMZXhBY3Rpb25zLkNyZWF0ZVNsb3QsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVTbG90VHlwZSxcblx0XHRMZXhBY3Rpb25zLkNyZWF0ZVNsb3RUeXBlVmVyc2lvbixcblx0XHRMZXhBY3Rpb25zLkNyZWF0ZVRlc3RTZXQsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnQsXG5cdFx0TGV4QWN0aW9ucy5DcmVhdGVVcGxvYWRVcmwsXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVCb3QsXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVCb3RBbGlhcyxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUJvdEFuYWx5emVyUmVjb21tZW5kYXRpb24sXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVCb3RDaGFubmVsLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlQm90Q2hhbm5lbEFzc29jaWF0aW9uLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlQm90TG9jYWxlLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlQm90UmVwbGljYSxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZUJvdFZlcnNpb24sXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVDdXN0b21Wb2NhYnVsYXJ5LFxuXHRcdExleEFjdGlvbnMuRGVsZXRlRXhwb3J0LFxuXHRcdExleEFjdGlvbnMuRGVsZXRlSW1wb3J0LFxuXHRcdExleEFjdGlvbnMuRGVsZXRlSW50ZW50LFxuXHRcdExleEFjdGlvbnMuRGVsZXRlSW50ZW50VmVyc2lvbixcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZVJlc291cmNlUG9saWN5LFxuXHRcdExleEFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnQsXG5cdFx0TGV4QWN0aW9ucy5EZWxldGVTZXNzaW9uLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlU2xvdCxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZVNsb3RUeXBlLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlU2xvdFR5cGVWZXJzaW9uLFxuXHRcdExleEFjdGlvbnMuRGVsZXRlVGVzdFNldCxcblx0XHRMZXhBY3Rpb25zLkRlbGV0ZVV0dGVyYW5jZXMsXG5cdFx0TGV4QWN0aW9ucy5Qb3N0Q29udGVudCxcblx0XHRMZXhBY3Rpb25zLlBvc3RUZXh0LFxuXHRcdExleEFjdGlvbnMuUHV0Qm90LFxuXHRcdExleEFjdGlvbnMuUHV0Qm90QWxpYXMsXG5cdFx0TGV4QWN0aW9ucy5QdXRJbnRlbnQsXG5cdFx0TGV4QWN0aW9ucy5QdXRTZXNzaW9uLFxuXHRcdExleEFjdGlvbnMuUHV0U2xvdFR5cGUsXG5cdFx0TGV4QWN0aW9ucy5SZWNvZ25pemVUZXh0LFxuXHRcdExleEFjdGlvbnMuUmVjb2duaXplVXR0ZXJhbmNlLFxuXHRcdExleEFjdGlvbnMuU3RhcnRCb3RBbmFseXplcixcblx0XHRMZXhBY3Rpb25zLlN0YXJ0Qm90UmVjb21tZW5kYXRpb24sXG5cdFx0TGV4QWN0aW9ucy5TdGFydEJvdFJlc291cmNlR2VuZXJhdGlvbixcblx0XHRMZXhBY3Rpb25zLlN0YXJ0Q29udmVyc2F0aW9uLFxuXHRcdExleEFjdGlvbnMuU3RhcnRJbXBvcnQsXG5cdFx0TGV4QWN0aW9ucy5TdGFydE1pZ3JhdGlvbixcblx0XHRMZXhBY3Rpb25zLlN0YXJ0VGVzdEV4ZWN1dGlvbixcblx0XHRMZXhBY3Rpb25zLlN0YXJ0VGVzdFNldEdlbmVyYXRpb24sXG5cdFx0TGV4QWN0aW9ucy5TdG9wQm90QW5hbHl6ZXIsXG5cdFx0TGV4QWN0aW9ucy5TdG9wQm90UmVjb21tZW5kYXRpb24sXG5cdFx0TGV4QWN0aW9ucy5VcGRhdGVCb3QsXG5cdFx0TGV4QWN0aW9ucy5VcGRhdGVCb3RBbGlhcyxcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZUJvdExvY2FsZSxcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZUJvdFJlY29tbWVuZGF0aW9uLFxuXHRcdExleEFjdGlvbnMuVXBkYXRlQ3VzdG9tVm9jYWJ1bGFyeSxcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZUV4cG9ydCxcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZUludGVudCxcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZVJlc291cmNlUG9saWN5LFxuXHRcdExleEFjdGlvbnMuVXBkYXRlU2xvdCxcblx0XHRMZXhBY3Rpb25zLlVwZGF0ZVNsb3RUeXBlLFxuXHRcdExleEFjdGlvbnMuVXBkYXRlVGVzdFNldCxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRCb3RBbGlhc2VzLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9ucyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEJvdFZlcnNpb25zLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0Qm90cyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldEludGVudFZlcnNpb25zLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0SW50ZW50cyxcblx0XHRMZXhBY3Rpb25zLmFjdGlvbkdldE1pZ3JhdGlvbnMsXG5cdFx0TGV4QWN0aW9ucy5hY3Rpb25HZXRTbG90VHlwZVZlcnNpb25zLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0U2xvdFR5cGVzLFxuXHRcdExleEFjdGlvbnMuYWN0aW9uR2V0VXR0ZXJhbmNlc1ZpZXcsXG5cdFx0TGV4QWN0aW9ucy5MaXN0QWdncmVnYXRlZFV0dGVyYW5jZXMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0Qm90QWxpYXNSZXBsaWNhcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RCb3RBbGlhc2VzLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdEFuYWx5emVyUmVjb21tZW5kYXRpb25zLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdENoYW5uZWxzLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdExvY2FsZXMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0Qm90UmVjb21tZW5kYXRpb25zLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdFJlcGxpY2FzLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdFJlc291cmNlR2VuZXJhdGlvbnMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0Qm90VmVyc2lvblJlcGxpY2FzLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdFZlcnNpb25zLFxuXHRcdExleEFjdGlvbnMuTGlzdEJvdHMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0QnVpbHRJbkludGVudHMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0QnVpbHRJblNsb3RUeXBlcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RDdXN0b21Wb2NhYnVsYXJ5SXRlbXMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0RXhwb3J0cyxcblx0XHRMZXhBY3Rpb25zLkxpc3RJbXBvcnRzLFxuXHRcdExleEFjdGlvbnMuTGlzdEludGVudE1ldHJpY3MsXG5cdFx0TGV4QWN0aW9ucy5MaXN0SW50ZW50UGF0aHMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0SW50ZW50U3RhZ2VNZXRyaWNzLFxuXHRcdExleEFjdGlvbnMuTGlzdEludGVudHMsXG5cdFx0TGV4QWN0aW9ucy5MaXN0UmVjb21tZW5kZWRJbnRlbnRzLFxuXHRcdExleEFjdGlvbnMuTGlzdFNlc3Npb25BbmFseXRpY3NEYXRhLFxuXHRcdExleEFjdGlvbnMuTGlzdFNlc3Npb25NZXRyaWNzLFxuXHRcdExleEFjdGlvbnMuTGlzdFNsb3RUeXBlcyxcblx0XHRMZXhBY3Rpb25zLkxpc3RTbG90cyxcblx0XHRMZXhBY3Rpb25zLkxpc3RUZXN0RXhlY3V0aW9ucyxcblx0XHRMZXhBY3Rpb25zLkxpc3RUZXN0U2V0cyxcblx0XHRMZXhBY3Rpb25zLlNlYXJjaEFzc29jaWF0ZWRUcmFuc2NyaXB0cyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0TGV4QWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRMZXhBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBib3RWYXJpYW50MSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGV4Qm90VmFyaWFudDFBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQm90SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJvdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYm90VmFyaWFudDIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleEJvdFZhcmlhbnQyQXJuUHJvcHMge1xuXHQvKiogVGhlIEJvdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJvdE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBib3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleEJvdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQm90SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBib3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYm90IGFsaWFzVmFyaWFudDEgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleEJvdEFsaWFzVmFyaWFudDFBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQm90SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJvdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQm90QWxpYXNJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYm90QWxpYXNJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJvdCBhbGlhc1ZhcmlhbnQyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhCb3RBbGlhc1ZhcmlhbnQyQXJuUHJvcHMge1xuXHQvKiogVGhlIEJvdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJvdE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBCb3RBbGlhcyBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYm90QWxpYXM6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBib3QgYWxpYXMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleEJvdEFsaWFzQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBCb3RJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJvdElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQm90QWxpYXNJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJvdEFsaWFzSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJvdCB2ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhCb3RWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEJvdE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJvdE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBCb3RWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBib3RWZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYm90IHZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleEJvdFZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEJvdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBib3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQm90VmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJvdFZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNoYW5uZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleENoYW5uZWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQm90TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYm90TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIEJvdEFsaWFzIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBib3RBbGlhczogc3RyaW5nO1xuXHQvKiogVGhlIENoYW5uZWxOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjaGFubmVsTmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNoYW5uZWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleENoYW5uZWxBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEJvdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBib3ROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQm90QWxpYXMgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBib3RBbGlhczogc3RyaW5nO1xuXHQvKiogVGhlIENoYW5uZWxOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2hhbm5lbE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGludGVudCB2ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhJbnRlbnRWZXJzaW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEludGVudE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGludGVudE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBJbnRlbnRWZXJzaW9uIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpbnRlbnRWZXJzaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgaW50ZW50IHZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleEludGVudFZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEludGVudE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpbnRlbnROYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgSW50ZW50VmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGludGVudFZlcnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHNsb3R0eXBlIHZlcnNpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExleFNsb3R0eXBlVmVyc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBTbG90TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2xvdE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTbG90VmVyc2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2xvdFZlcnNpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzbG90dHlwZSB2ZXJzaW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhTbG90dHlwZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFNsb3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2xvdE5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBTbG90VmVyc2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNsb3RWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0ZXN0IHNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGV4VGVzdFNldEFyblByb3BzIHtcblx0LyoqIFRoZSBUZXN0U2V0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRlc3RTZXRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRlc3Qgc2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMZXhUZXN0U2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBUZXN0U2V0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0ZXN0U2V0SWQ6IHN0cmluZztcbn1cblxuY29uc3QgQm90QXJuUmVnZXggPVxuXHQvXig/OmFybjooPzpbXjpdKyk6bGV4Oig/OlteOl0qKTooPzpbXjpdKik6Ym90XFwvKD86W146Lz9dKyl8YXJuOig/OlteOl0rKTpsZXg6KD86W146XSopOig/OlteOl0qKTpib3Q6KD86W146Lz9dKykpJC87XG5jb25zdCBCb3RQYXJzZVJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsZXg6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpib3RcXC8oPzxib3RJZD5bXjovP10rKSQvO1xuY29uc3QgQm90QWxpYXNBcm5SZWdleCA9XG5cdC9eKD86YXJuOig/OlteOl0rKTpsZXg6KD86W146XSopOig/OlteOl0qKTpib3QtYWxpYXNcXC8oPzpbXjovP10rKVxcLyg/OlteOi8/XSspfGFybjooPzpbXjpdKyk6bGV4Oig/OlteOl0qKTooPzpbXjpdKik6Ym90Oig/OlteOi8/XSspOig/OlteOi8/XSspKSQvO1xuY29uc3QgQm90QWxpYXNQYXJzZVJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsZXg6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpib3QtYWxpYXNcXC8oPzxib3RJZD5bXjovP10rKVxcLyg/PGJvdEFsaWFzSWQ+W146Lz9dKykkLztcbmNvbnN0IEJvdFZlcnNpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6bGV4Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Ym90Oig/PGJvdE5hbWU+W146Lz9dKyk6KD88Ym90VmVyc2lvbj5bXjovP10rKSQvO1xuY29uc3QgQ2hhbm5lbEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsZXg6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpib3QtY2hhbm5lbDooPzxib3ROYW1lPlteOi8/XSspOig/PGJvdEFsaWFzPlteOi8/XSspOig/PGNoYW5uZWxOYW1lPlteOi8/XSspJC87XG5jb25zdCBJbnRlbnRWZXJzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmxleDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmludGVudDooPzxpbnRlbnROYW1lPlteOi8/XSspOig/PGludGVudFZlcnNpb24+W146Lz9dKykkLztcbmNvbnN0IFNsb3R0eXBlVmVyc2lvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsZXg6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzbG90dHlwZTooPzxzbG90TmFtZT5bXjovP10rKTooPzxzbG90VmVyc2lvbj5bXjovP10rKSQvO1xuY29uc3QgVGVzdFNldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpsZXg6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp0ZXN0LXNldFxcLyg/PHRlc3RTZXRJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGxleCByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMZXhSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJvdFZhcmlhbnQxIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJvdFZhcmlhbnQxKHByb3BzOiBMZXhCb3RWYXJpYW50MUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsZXg6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Ym90LyR7cHJvcHMuYm90SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYm90VmFyaWFudDIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYm90VmFyaWFudDIocHJvcHM6IExleEJvdFZhcmlhbnQyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxleDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpib3Q6JHtwcm9wcy5ib3ROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBib3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJvdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBCb3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYm90IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzICh1c2VzIGZpcnN0IEFSTiB2YXJpYW50IGZvcm1hdCkuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQm90QXJuKGFybjogc3RyaW5nKTogTGV4Qm90QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCb3RQYXJzZVJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBib3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Ym90SWQ6IG1hdGNoLmdyb3VwcyEuYm90SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYm90IGFsaWFzVmFyaWFudDEgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYm90QWxpYXNWYXJpYW50MShwcm9wczogTGV4Qm90QWxpYXNWYXJpYW50MUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsZXg6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Ym90LWFsaWFzLyR7cHJvcHMuYm90SWR9LyR7cHJvcHMuYm90QWxpYXNJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBib3QgYWxpYXNWYXJpYW50MiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBib3RBbGlhc1ZhcmlhbnQyKHByb3BzOiBMZXhCb3RBbGlhc1ZhcmlhbnQyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxleDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpib3Q6JHtwcm9wcy5ib3ROYW1lfToke3Byb3BzLmJvdEFsaWFzfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBib3QgYWxpYXMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJvdEFsaWFzQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEJvdEFsaWFzQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGJvdCBhbGlhcyBBUk4gaW50byBpdHMgY29tcG9uZW50cyAodXNlcyBmaXJzdCBBUk4gdmFyaWFudCBmb3JtYXQpLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUJvdEFsaWFzQXJuKGFybjogc3RyaW5nKTogTGV4Qm90QWxpYXNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEJvdEFsaWFzUGFyc2VSZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYm90IGFsaWFzIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGJvdElkOiBtYXRjaC5ncm91cHMhLmJvdElkLFxuXHRcdFx0Ym90QWxpYXNJZDogbWF0Y2guZ3JvdXBzIS5ib3RBbGlhc0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJvdCB2ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJvdFZlcnNpb24ocHJvcHM6IExleEJvdFZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGV4OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmJvdDoke3Byb3BzLmJvdE5hbWV9OiR7cHJvcHMuYm90VmVyc2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYm90IHZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEJvdFZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQm90VmVyc2lvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBib3QgdmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VCb3RWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogTGV4Qm90VmVyc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQm90VmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBib3QgdmVyc2lvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRib3ROYW1lOiBtYXRjaC5ncm91cHMhLmJvdE5hbWUsXG5cdFx0XHRib3RWZXJzaW9uOiBtYXRjaC5ncm91cHMhLmJvdFZlcnNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2hhbm5lbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjaGFubmVsKHByb3BzOiBMZXhDaGFubmVsQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxleDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpib3QtY2hhbm5lbDoke3Byb3BzLmJvdE5hbWV9OiR7cHJvcHMuYm90QWxpYXN9OiR7cHJvcHMuY2hhbm5lbE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNoYW5uZWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENoYW5uZWxBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2hhbm5lbEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjaGFubmVsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNoYW5uZWxBcm4oYXJuOiBzdHJpbmcpOiBMZXhDaGFubmVsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDaGFubmVsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNoYW5uZWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Ym90TmFtZTogbWF0Y2guZ3JvdXBzIS5ib3ROYW1lLFxuXHRcdFx0Ym90QWxpYXM6IG1hdGNoLmdyb3VwcyEuYm90QWxpYXMsXG5cdFx0XHRjaGFubmVsTmFtZTogbWF0Y2guZ3JvdXBzIS5jaGFubmVsTmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBpbnRlbnQgdmVyc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpbnRlbnRWZXJzaW9uKHByb3BzOiBMZXhJbnRlbnRWZXJzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmxleDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTppbnRlbnQ6JHtwcm9wcy5pbnRlbnROYW1lfToke3Byb3BzLmludGVudFZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGludGVudCB2ZXJzaW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRJbnRlbnRWZXJzaW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEludGVudFZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgaW50ZW50IHZlcnNpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSW50ZW50VmVyc2lvbkFybihhcm46IHN0cmluZyk6IExleEludGVudFZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEludGVudFZlcnNpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaW50ZW50IHZlcnNpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aW50ZW50TmFtZTogbWF0Y2guZ3JvdXBzIS5pbnRlbnROYW1lLFxuXHRcdFx0aW50ZW50VmVyc2lvbjogbWF0Y2guZ3JvdXBzIS5pbnRlbnRWZXJzaW9uLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNsb3R0eXBlIHZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2xvdHR5cGVWZXJzaW9uKHByb3BzOiBMZXhTbG90dHlwZVZlcnNpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06bGV4OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNsb3R0eXBlOiR7cHJvcHMuc2xvdE5hbWV9OiR7cHJvcHMuc2xvdFZlcnNpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNsb3R0eXBlIHZlcnNpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNsb3R0eXBlVmVyc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTbG90dHlwZVZlcnNpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2xvdHR5cGUgdmVyc2lvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTbG90dHlwZVZlcnNpb25Bcm4oYXJuOiBzdHJpbmcpOiBMZXhTbG90dHlwZVZlcnNpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNsb3R0eXBlVmVyc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzbG90dHlwZSB2ZXJzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNsb3ROYW1lOiBtYXRjaC5ncm91cHMhLnNsb3ROYW1lLFxuXHRcdFx0c2xvdFZlcnNpb246IG1hdGNoLmdyb3VwcyEuc2xvdFZlcnNpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGVzdCBzZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGVzdFNldChwcm9wczogTGV4VGVzdFNldEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpsZXg6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGVzdC1zZXQvJHtwcm9wcy50ZXN0U2V0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRlc3Qgc2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUZXN0U2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRlc3RTZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGVzdCBzZXQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGVzdFNldEFybihhcm46IHN0cmluZyk6IExleFRlc3RTZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRlc3RTZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGVzdCBzZXQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dGVzdFNldElkOiBtYXRjaC5ncm91cHMhLnRlc3RTZXRJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBsZXguXG4gKi9cbmV4cG9ydCBjbGFzcyBMZXhPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hDcmVhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoQ3JlYXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkJhdGNoQ3JlYXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hEZWxldGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoRGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkJhdGNoRGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVDdXN0b21Wb2NhYnVsYXJ5SXRlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkJhdGNoVXBkYXRlQ3VzdG9tVm9jYWJ1bGFyeUl0ZW1cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQnVpbGRCb3RMb2NhbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCdWlsZEJvdExvY2FsZTogc3RyaW5nW10gPSBbXCJsZXg6QnVpbGRCb3RMb2NhbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJvdDogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6Q3JlYXRlQm90XCIsXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RBbGlhc1wiLFxuXHRcdFwibGV4OkRlc2NyaWJlQm90VmVyc2lvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJsZXg6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQm90QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RBbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6Q3JlYXRlQm90QWxpYXNcIixcblx0XHRcImxleDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVCb3RMb2NhbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RMb2NhbGU6IHN0cmluZ1tdID0gW1wibGV4OkNyZWF0ZUJvdExvY2FsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQm90UmVwbGljYSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJvdFJlcGxpY2E6IHN0cmluZ1tdID0gW1wibGV4OkNyZWF0ZUJvdFJlcGxpY2FcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUJvdFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImxleDpDcmVhdGVCb3RWZXJzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVFeHBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeHBvcnQ6IHN0cmluZ1tdID0gW1wibGV4OkNyZWF0ZUV4cG9ydFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW50ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW50ZW50OiBzdHJpbmdbXSA9IFtcImxleDpDcmVhdGVJbnRlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUludGVudFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnRlbnRWZXJzaW9uOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcImxleDpDcmVhdGVSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNvdXJjZVBvbGljeVN0YXRlbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6Q3JlYXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XHRcImxleDpVcGRhdGVSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTbG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2xvdDogc3RyaW5nW10gPSBbXCJsZXg6Q3JlYXRlU2xvdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2xvdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTbG90VHlwZTogc3RyaW5nW10gPSBbXCJsZXg6Q3JlYXRlU2xvdFR5cGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNsb3RUeXBlVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNsb3RUeXBlVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6Q3JlYXRlU2xvdFR5cGVWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVRlc3RTZXREaXNjcmVwYW5jeVJlcG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRlc3RTZXREaXNjcmVwYW5jeVJlcG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6Q3JlYXRlVGVzdFNldERpc2NyZXBhbmN5UmVwb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVwbG9hZFVybCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwbG9hZFVybDogc3RyaW5nW10gPSBbXCJsZXg6Q3JlYXRlVXBsb2FkVXJsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCb3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCb3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlbGV0ZUJvdFwiLFxuXHRcdFwibGV4OkRlbGV0ZUJvdEFsaWFzXCIsXG5cdFx0XCJsZXg6RGVsZXRlQm90Q2hhbm5lbFwiLFxuXHRcdFwibGV4OkRlbGV0ZUJvdExvY2FsZVwiLFxuXHRcdFwibGV4OkRlbGV0ZUJvdFZlcnNpb25cIixcblx0XHRcImxleDpEZWxldGVDdXN0b21Wb2NhYnVsYXJ5XCIsXG5cdFx0XCJsZXg6RGVsZXRlSW50ZW50XCIsXG5cdFx0XCJsZXg6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XHRcImxleDpEZWxldGVTbG90XCIsXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQm90QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCb3RBbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVsZXRlQm90QWxpYXNcIixcblx0XHRcImxleDpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCb3RBbmFseXplclJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVsZXRlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCb3RDaGFubmVsQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCb3RDaGFubmVsQXNzb2NpYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlbGV0ZUJvdENoYW5uZWxBc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVCb3RMb2NhbGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCb3RMb2NhbGU6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlbGV0ZUJvdExvY2FsZVwiLFxuXHRcdFwibGV4OkRlbGV0ZUN1c3RvbVZvY2FidWxhcnlcIixcblx0XHRcImxleDpEZWxldGVJbnRlbnRcIixcblx0XHRcImxleDpEZWxldGVTbG90XCIsXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQm90UmVwbGljYSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUJvdFJlcGxpY2E6IHN0cmluZ1tdID0gW1wibGV4OkRlbGV0ZUJvdFJlcGxpY2FcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUJvdFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVCb3RWZXJzaW9uOiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVCb3RWZXJzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21Wb2NhYnVsYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVsZXRlQ3VzdG9tVm9jYWJ1bGFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFeHBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeHBvcnQ6IHN0cmluZ1tdID0gW1wibGV4OkRlbGV0ZUV4cG9ydFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW1wb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW1wb3J0OiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVJbXBvcnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUludGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUludGVudDogc3RyaW5nW10gPSBbXCJsZXg6RGVsZXRlSW50ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVJbnRlbnRWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW50ZW50VmVyc2lvbjogc3RyaW5nW10gPSBbXCJsZXg6RGVsZXRlSW50ZW50VmVyc2lvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJsZXg6RGVsZXRlUmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5U3RhdGVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3lTdGF0ZW1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlbGV0ZVJlc291cmNlUG9saWN5XCIsXG5cdFx0XCJsZXg6VXBkYXRlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlc3Npb246IHN0cmluZ1tdID0gW1wibGV4OkRlbGV0ZVNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNsb3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTbG90OiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVTbG90XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTbG90VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNsb3RUeXBlOiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVTbG90VHlwZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2xvdFR5cGVWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2xvdFR5cGVWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZWxldGVTbG90VHlwZVZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGVzdFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3RTZXQ6IHN0cmluZ1tdID0gW1wibGV4OkRlbGV0ZVRlc3RTZXRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVV0dGVyYW5jZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVdHRlcmFuY2VzOiBzdHJpbmdbXSA9IFtcImxleDpEZWxldGVVdHRlcmFuY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUJvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90OiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZXNjcmliZUJvdFwiLFxuXHRcdFwibGV4OkRlc2NyaWJlQm90QWxpYXNcIixcblx0XHRcImxleDpEZXNjcmliZUJvdFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVCb3RBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90QWxpYXM6IHN0cmluZ1tdID0gW1wibGV4OkRlc2NyaWJlQm90QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQm90QW5hbHl6ZXJSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RBbmFseXplclJlY29tbWVuZGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQm90TG9jYWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RMb2NhbGU6IHN0cmluZ1tdID0gW1wibGV4OkRlc2NyaWJlQm90TG9jYWxlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUJvdFJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RSZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUJvdFJlcGxpY2EgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdFJlcGxpY2E6IHN0cmluZ1tdID0gW1wibGV4OkRlc2NyaWJlQm90UmVwbGljYVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVCb3RSZXNvdXJjZUdlbmVyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUJvdFJlc291cmNlR2VuZXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RSZXNvdXJjZUdlbmVyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVCb3RWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVCb3RWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpEZXNjcmliZUJvdEFsaWFzXCIsXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ3VzdG9tVm9jYWJ1bGFyeU1ldGFkYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDdXN0b21Wb2NhYnVsYXJ5TWV0YWRhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlQ3VzdG9tVm9jYWJ1bGFyeU1ldGFkYXRhXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlRXhwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVFeHBvcnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlQm90XCIsXG5cdFx0XCJsZXg6RGVzY3JpYmVCb3RMb2NhbGVcIixcblx0XHRcImxleDpEZXNjcmliZUN1c3RvbVZvY2FidWxhcnlcIixcblx0XHRcImxleDpEZXNjcmliZUV4cG9ydFwiLFxuXHRcdFwibGV4OkRlc2NyaWJlSW50ZW50XCIsXG5cdFx0XCJsZXg6RGVzY3JpYmVTbG90XCIsXG5cdFx0XCJsZXg6RGVzY3JpYmVTbG90VHlwZVwiLFxuXHRcdFwibGV4OkRlc2NyaWJlVGVzdFNldFwiLFxuXHRcdFwibGV4Okxpc3RCb3RMb2NhbGVzXCIsXG5cdFx0XCJsZXg6TGlzdEludGVudHNcIixcblx0XHRcImxleDpMaXN0U2xvdFR5cGVzXCIsXG5cdFx0XCJsZXg6TGlzdFNsb3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlSW1wb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVJbXBvcnQ6IHN0cmluZ1tdID0gW1wibGV4OkRlc2NyaWJlSW1wb3J0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUludGVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlSW50ZW50OiBzdHJpbmdbXSA9IFtcImxleDpEZXNjcmliZUludGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlUmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTbG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTbG90OiBzdHJpbmdbXSA9IFtcImxleDpEZXNjcmliZVNsb3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2xvdFR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNsb3RUeXBlOiBzdHJpbmdbXSA9IFtcImxleDpEZXNjcmliZVNsb3RUeXBlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRlc3RFeGVjdXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRlc3RFeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlVGVzdEV4ZWN1dGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVRlc3RTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRlc3RTZXQ6IHN0cmluZ1tdID0gW1wibGV4OkRlc2NyaWJlVGVzdFNldFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRlc3RTZXREaXNjcmVwYW5jeVJlcG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6RGVzY3JpYmVUZXN0U2V0RGlzY3JlcGFuY3lSZXBvcnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVUZXN0U2V0R2VuZXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVGVzdFNldEdlbmVyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlVGVzdFNldEdlbmVyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2VuZXJhdGVCb3RFbGVtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgR2VuZXJhdGVCb3RFbGVtZW50OiBzdHJpbmdbXSA9IFtcImxleDpHZW5lcmF0ZUJvdEVsZW1lbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJvdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qm90OiBzdHJpbmdbXSA9IFtcImxleDpHZXRCb3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJvdEFsaWFzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCb3RBbGlhczogc3RyaW5nW10gPSBbXCJsZXg6R2V0Qm90QWxpYXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJvdEFsaWFzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEJvdEFsaWFzZXM6IHN0cmluZ1tdID0gW1wibGV4OkdldEJvdEFsaWFzZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEJvdENoYW5uZWxBc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpHZXRCb3RDaGFubmVsQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6R2V0Qm90Q2hhbm5lbEFzc29jaWF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCb3RWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Qm90VmVyc2lvbnM6IHN0cmluZ1tdID0gW1wibGV4OkdldEJvdFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCb3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCb3RzOiBzdHJpbmdbXSA9IFtcImxleDpHZXRCb3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCdWlsdGluSW50ZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCdWlsdGluSW50ZW50OiBzdHJpbmdbXSA9IFtcImxleDpHZXRCdWlsdGluSW50ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCdWlsdGluSW50ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QnVpbHRpbkludGVudHM6IHN0cmluZ1tdID0gW1wibGV4OkdldEJ1aWx0aW5JbnRlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRCdWlsdGluU2xvdFR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRCdWlsdGluU2xvdFR5cGVzOiBzdHJpbmdbXSA9IFtcImxleDpHZXRCdWlsdGluU2xvdFR5cGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRFeHBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV4cG9ydDogc3RyaW5nW10gPSBbXCJsZXg6R2V0RXhwb3J0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEltcG9ydDogc3RyaW5nW10gPSBbXCJsZXg6R2V0SW1wb3J0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEludGVudDogc3RyaW5nW10gPSBbXCJsZXg6R2V0SW50ZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnRlbnRWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SW50ZW50VmVyc2lvbnM6IHN0cmluZ1tdID0gW1wibGV4OkdldEludGVudFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRJbnRlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRJbnRlbnRzOiBzdHJpbmdbXSA9IFtcImxleDpHZXRJbnRlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXCJsZXg6R2V0TWlncmF0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRNaWdyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRNaWdyYXRpb25zOiBzdHJpbmdbXSA9IFtcImxleDpHZXRNaWdyYXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXNzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXNzaW9uOiBzdHJpbmdbXSA9IFtcImxleDpHZXRTZXNzaW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTbG90VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U2xvdFR5cGU6IHN0cmluZ1tdID0gW1wibGV4OkdldFNsb3RUeXBlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTbG90VHlwZVZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTbG90VHlwZVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImxleDpHZXRTbG90VHlwZVZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTbG90VHlwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNsb3RUeXBlczogc3RyaW5nW10gPSBbXCJsZXg6R2V0U2xvdFR5cGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUZXN0RXhlY3V0aW9uQXJ0aWZhY3RzVXJsIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUZXN0RXhlY3V0aW9uQXJ0aWZhY3RzVXJsOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpHZXRUZXN0RXhlY3V0aW9uQXJ0aWZhY3RzVXJsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFV0dGVyYW5jZXNWaWV3IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRVdHRlcmFuY2VzVmlldzogc3RyaW5nW10gPSBbXCJsZXg6R2V0VXR0ZXJhbmNlc1ZpZXdcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBZ2dyZWdhdGVkVXR0ZXJhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2dyZWdhdGVkVXR0ZXJhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6TGlzdEFnZ3JlZ2F0ZWRVdHRlcmFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCb3RBbGlhc1JlcGxpY2FzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdEFsaWFzUmVwbGljYXM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RCb3RBbGlhc1JlcGxpY2FzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Qm90QWxpYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RBbGlhc2VzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0Qm90QWxpYXNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJvdEFuYWx5emVySGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RBbmFseXplckhpc3Rvcnk6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCb3RMb2NhbGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdExvY2FsZXM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RCb3RMb2NhbGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Qm90UmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdFJlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6TGlzdEJvdFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Qm90UmVwbGljYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90UmVwbGljYXM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RCb3RSZXBsaWNhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJvdFJlc291cmNlR2VuZXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Qm90UmVzb3VyY2VHZW5lcmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6TGlzdEJvdFJlc291cmNlR2VuZXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJvdFZlcnNpb25SZXBsaWNhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RCb3RWZXJzaW9uUmVwbGljYXM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4Okxpc3RCb3RWZXJzaW9uUmVwbGljYXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJvdFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0Qm90VmVyc2lvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RCb3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEJvdHM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RCb3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QnVpbHRJbkludGVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QnVpbHRJbkludGVudHM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RCdWlsdEluSW50ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEJ1aWx0SW5TbG90VHlwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QnVpbHRJblNsb3RUeXBlczogc3RyaW5nW10gPSBbXCJsZXg6TGlzdEJ1aWx0SW5TbG90VHlwZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDdXN0b21Wb2NhYnVsYXJ5SXRlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tVm9jYWJ1bGFyeUl0ZW1zOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpMaXN0Q3VzdG9tVm9jYWJ1bGFyeUl0ZW1zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFeHBvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cG9ydHM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RFeHBvcnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW1wb3J0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbXBvcnRzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0SW1wb3J0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEludGVudE1ldHJpY3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW50ZW50TWV0cmljczogc3RyaW5nW10gPSBbXCJsZXg6TGlzdEludGVudE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnRlbnRQYXRocyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlbnRQYXRoczogc3RyaW5nW10gPSBbXCJsZXg6TGlzdEludGVudFBhdGhzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZW50U3RhZ2VNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEludGVudFN0YWdlTWV0cmljczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6TGlzdEludGVudFN0YWdlTWV0cmljc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SW50ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnRlbnRzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0SW50ZW50c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGVkSW50ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRlZEludGVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4Okxpc3RSZWNvbW1lbmRlZEludGVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlc3Npb25BbmFseXRpY3NEYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25BbmFseXRpY3NEYXRhOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpMaXN0U2Vzc2lvbkFuYWx5dGljc0RhdGFcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlc3Npb25NZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlc3Npb25NZXRyaWNzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0U2Vzc2lvbk1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTbG90VHlwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2xvdFR5cGVzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0U2xvdFR5cGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2xvdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2xvdHM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RTbG90c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RUYWdzRm9yUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0RXhlY3V0aW9uUmVzdWx0SXRlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdEV4ZWN1dGlvblJlc3VsdEl0ZW1zOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpMaXN0VGVzdEV4ZWN1dGlvblJlc3VsdEl0ZW1zXCIsXG5cdFx0XCJsZXg6TGlzdFRlc3RTZXRSZWNvcmRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0RXhlY3V0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0RXhlY3V0aW9uczogc3RyaW5nW10gPSBbXCJsZXg6TGlzdFRlc3RFeGVjdXRpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFNldFJlY29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFNldFJlY29yZHM6IHN0cmluZ1tdID0gW1wibGV4Okxpc3RUZXN0U2V0UmVjb3Jkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RTZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTZXRzOiBzdHJpbmdbXSA9IFtcImxleDpMaXN0VGVzdFNldHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RVdHRlcmFuY2VBbmFseXRpY3NEYXRhIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFV0dGVyYW5jZUFuYWx5dGljc0RhdGE6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4Okxpc3RBZ2dyZWdhdGVkVXR0ZXJhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXR0ZXJhbmNlTWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVdHRlcmFuY2VNZXRyaWNzOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpMaXN0QWdncmVnYXRlZFV0dGVyYW5jZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUG9zdENvbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQb3N0Q29udGVudDogc3RyaW5nW10gPSBbXCJsZXg6UG9zdENvbnRlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFBvc3RUZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUG9zdFRleHQ6IHN0cmluZ1tdID0gW1wibGV4OlBvc3RUZXh0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRCb3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRCb3Q6IHN0cmluZ1tdID0gW1wibGV4OlB1dEJvdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0Qm90QWxpYXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRCb3RBbGlhczogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6UHV0Qm90QWxpYXNcIixcblx0XHRcImxleDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRJbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRJbnRlbnQ6IHN0cmluZ1tdID0gW1wibGV4OlB1dEludGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0U2Vzc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlc3Npb246IHN0cmluZ1tdID0gW1wibGV4OlB1dFNlc3Npb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFNsb3RUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U2xvdFR5cGU6IHN0cmluZ1tdID0gW1wibGV4OlB1dFNsb3RUeXBlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWNvZ25pemVUZXh0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVjb2duaXplVGV4dDogc3RyaW5nW10gPSBbXCJsZXg6UmVjb2duaXplVGV4dFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVjb2duaXplVXR0ZXJhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVjb2duaXplVXR0ZXJhbmNlOiBzdHJpbmdbXSA9IFtcImxleDpSZWNvZ25pemVVdHRlcmFuY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlYXJjaEFzc29jaWF0ZWRUcmFuc2NyaXB0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlYXJjaEFzc29jaWF0ZWRUcmFuc2NyaXB0czogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6U2VhcmNoQXNzb2NpYXRlZFRyYW5zY3JpcHRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0Qm90QW5hbHl6ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEJvdEFuYWx5emVyOiBzdHJpbmdbXSA9IFtcImxleDpTdGFydEJvdEFuYWx5emVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEJvdFJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRCb3RSZWNvbW1lbmRhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6Q3JlYXRlSW50ZW50XCIsXG5cdFx0XCJsZXg6Q3JlYXRlU2xvdFwiLFxuXHRcdFwibGV4OkNyZWF0ZVNsb3RUeXBlXCIsXG5cdFx0XCJsZXg6RGVsZXRlSW50ZW50XCIsXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFwiLFxuXHRcdFwibGV4OkRlbGV0ZVNsb3RUeXBlXCIsXG5cdFx0XCJsZXg6U3RhcnRCb3RSZWNvbW1lbmRhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEJvdFJlc291cmNlR2VuZXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Qm90UmVzb3VyY2VHZW5lcmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpTdGFydEJvdFJlc291cmNlR2VuZXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydENvbnZlcnNhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0Q29udmVyc2F0aW9uOiBzdHJpbmdbXSA9IFtcImxleDpTdGFydENvbnZlcnNhdGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRJbXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEltcG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJsZXg6Q3JlYXRlQm90XCIsXG5cdFx0XCJsZXg6Q3JlYXRlQm90TG9jYWxlXCIsXG5cdFx0XCJsZXg6Q3JlYXRlQ3VzdG9tVm9jYWJ1bGFyeVwiLFxuXHRcdFwibGV4OkNyZWF0ZUludGVudFwiLFxuXHRcdFwibGV4OkNyZWF0ZVNsb3RcIixcblx0XHRcImxleDpDcmVhdGVTbG90VHlwZVwiLFxuXHRcdFwibGV4OkNyZWF0ZVRlc3RTZXRcIixcblx0XHRcImxleDpEZWxldGVCb3RMb2NhbGVcIixcblx0XHRcImxleDpEZWxldGVDdXN0b21Wb2NhYnVsYXJ5XCIsXG5cdFx0XCJsZXg6RGVsZXRlSW50ZW50XCIsXG5cdFx0XCJsZXg6RGVsZXRlU2xvdFwiLFxuXHRcdFwibGV4OkRlbGV0ZVNsb3RUeXBlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImxleDpTdGFydEltcG9ydFwiLFxuXHRcdFwibGV4OlRhZ1Jlc291cmNlXCIsXG5cdFx0XCJsZXg6VXBkYXRlQm90XCIsXG5cdFx0XCJsZXg6VXBkYXRlQm90TG9jYWxlXCIsXG5cdFx0XCJsZXg6VXBkYXRlQ3VzdG9tVm9jYWJ1bGFyeVwiLFxuXHRcdFwibGV4OlVwZGF0ZUludGVudFwiLFxuXHRcdFwibGV4OlVwZGF0ZVNsb3RcIixcblx0XHRcImxleDpVcGRhdGVTbG90VHlwZVwiLFxuXHRcdFwibGV4OlVwZGF0ZVRlc3RTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNaWdyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1pZ3JhdGlvbjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRUZXN0RXhlY3V0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0RXhlY3V0aW9uOiBzdHJpbmdbXSA9IFtcImxleDpTdGFydFRlc3RFeGVjdXRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0VGVzdFNldEdlbmVyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlc3RTZXRHZW5lcmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwibGV4OlN0YXJ0VGVzdFNldEdlbmVyYXRpb25cIixcblx0XHRcImxleDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQm90QW5hbHl6ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQm90QW5hbHl6ZXI6IHN0cmluZ1tdID0gW1wibGV4OlN0b3BCb3RBbmFseXplclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcEJvdFJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEJvdFJlY29tbWVuZGF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImxleDpTdG9wQm90UmVjb21tZW5kYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJsZXg6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImxleDpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCb3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVCb3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OkRlc2NyaWJlQm90QWxpYXNcIixcblx0XHRcImxleDpEZXNjcmliZUJvdFZlcnNpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwibGV4OlVwZGF0ZUJvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVCb3RBbGlhcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUJvdEFsaWFzOiBzdHJpbmdbXSA9IFtcImxleDpVcGRhdGVCb3RBbGlhc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQm90TG9jYWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQm90TG9jYWxlOiBzdHJpbmdbXSA9IFtcImxleDpVcGRhdGVCb3RMb2NhbGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUJvdFJlY29tbWVuZGF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQm90UmVjb21tZW5kYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwibGV4OlVwZGF0ZUJvdFJlY29tbWVuZGF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4cG9ydDogc3RyaW5nW10gPSBbXCJsZXg6VXBkYXRlRXhwb3J0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVJbnRlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVJbnRlbnQ6IHN0cmluZ1tdID0gW1wibGV4OlVwZGF0ZUludGVudFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXCJsZXg6VXBkYXRlUmVzb3VyY2VQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVNsb3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTbG90OiBzdHJpbmdbXSA9IFtcImxleDpVcGRhdGVTbG90XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTbG90VHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNsb3RUeXBlOiBzdHJpbmdbXSA9IFtcImxleDpVcGRhdGVTbG90VHlwZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGVzdFNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRlc3RTZXQ6IHN0cmluZ1tdID0gW1wibGV4OlVwZGF0ZVRlc3RTZXRcIl07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBsZXguXG4gKi9cbmV4cG9ydCBjbGFzcyBMZXhDb25kaXRpb25zIHtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUJvdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVCb3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUJvdEFsaWFzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUJvdEFsaWFzQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRCb3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Qm90Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRCb3RBbGlhcyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRCb3RBbGlhc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRJbXBvcnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRJbXBvcnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBsZXg6YXNzb2NpYXRlZEludGVudHMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBU1NPQ0lBVEVEX0lOVEVOVFMgPSBcImxleDphc3NvY2lhdGVkSW50ZW50c1wiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogbGV4OmFzc29jaWF0ZWRTbG90VHlwZXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBU1NPQ0lBVEVEX1NMT1RfVFlQRVMgPSBcImxleDphc3NvY2lhdGVkU2xvdFR5cGVzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBsZXg6Y2hhbm5lbFR5cGUgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IENIQU5ORUxfVFlQRSA9IFwibGV4OmNoYW5uZWxUeXBlXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGxleDphc3NvY2lhdGVkSW50ZW50c2AuXG5cdCAqL1xuXHRzdGF0aWMgYXNzb2NpYXRlZEludGVudHMoXG5cdFx0dmFsdWVzOiBzdHJpbmdbXSxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJsZXg6YXNzb2NpYXRlZEludGVudHNcIjogdmFsdWVzIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBsZXg6YXNzb2NpYXRlZFNsb3RUeXBlc2AuXG5cdCAqL1xuXHRzdGF0aWMgYXNzb2NpYXRlZFNsb3RUeXBlcyhcblx0XHR2YWx1ZXM6IHN0cmluZ1tdLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0XCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJsZXg6YXNzb2NpYXRlZFNsb3RUeXBlc1wiOiB2YWx1ZXMgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGxleDpjaGFubmVsVHlwZWAuXG5cdCAqL1xuXHRzdGF0aWMgY2hhbm5lbFR5cGUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJsZXg6Y2hhbm5lbFR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG59XG4iXX0=
|