@cdk_utils/iam 1.16.0 → 1.17.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 +1932 -1502
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +4 -4
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +4 -4
- package/lib/generated/services/billing.js +4 -4
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +4 -4
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.js +4 -4
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +4 -4
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.js +4 -4
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.js +4 -4
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.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 +8 -6
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.js +4 -4
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.js +4 -4
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- package/lib/generated/services/odb.d.ts +2 -0
- package/lib/generated/services/odb.js +7 -5
- package/lib/generated/services/omics.js +4 -4
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.d.ts +55 -0
- package/lib/generated/services/quicksight.js +58 -5
- 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.d.ts +2 -0
- package/lib/generated/services/sagemaker.js +7 -5
- package/lib/generated/services/savingsplans.js +4 -4
- package/lib/generated/services/scheduler.js +4 -4
- package/lib/generated/services/schemas.js +4 -4
- package/lib/generated/services/scn.js +4 -4
- package/lib/generated/services/sdb.js +3 -3
- package/lib/generated/services/secretsmanager.js +4 -4
- package/lib/generated/services/security-ir.js +4 -4
- package/lib/generated/services/securityagent.js +4 -4
- package/lib/generated/services/securityhub.js +4 -4
- package/lib/generated/services/securitylake.js +4 -4
- package/lib/generated/services/serverlessrepo.js +4 -4
- package/lib/generated/services/servicecatalog.js +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.js +4 -4
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.js +4 -4
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ class OdbActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.OdbActions = OdbActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
OdbActions[_a] = { fqn: "@cdk_utils/iam.odb.OdbActions", version: "1.
|
|
19
|
+
OdbActions[_a] = { fqn: "@cdk_utils/iam.odb.OdbActions", version: "1.17.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
OdbActions.SERVICE_PREFIX = "odb";
|
|
22
22
|
/** [Write] odb:AcceptMarketplaceRegistration */
|
|
@@ -600,7 +600,7 @@ class OdbResources {
|
|
|
600
600
|
}
|
|
601
601
|
exports.OdbResources = OdbResources;
|
|
602
602
|
_b = JSII_RTTI_SYMBOL_1;
|
|
603
|
-
OdbResources[_b] = { fqn: "@cdk_utils/iam.odb.OdbResources", version: "1.
|
|
603
|
+
OdbResources[_b] = { fqn: "@cdk_utils/iam.odb.OdbResources", version: "1.17.0" };
|
|
604
604
|
/**
|
|
605
605
|
* API operation to required IAM actions mapping for odb.
|
|
606
606
|
*/
|
|
@@ -608,7 +608,7 @@ class OdbOperations {
|
|
|
608
608
|
}
|
|
609
609
|
exports.OdbOperations = OdbOperations;
|
|
610
610
|
_c = JSII_RTTI_SYMBOL_1;
|
|
611
|
-
OdbOperations[_c] = { fqn: "@cdk_utils/iam.odb.OdbOperations", version: "1.
|
|
611
|
+
OdbOperations[_c] = { fqn: "@cdk_utils/iam.odb.OdbOperations", version: "1.17.0" };
|
|
612
612
|
/** IAM actions required for the AcceptMarketplaceRegistration API call. */
|
|
613
613
|
OdbOperations.AcceptMarketplaceRegistration = [
|
|
614
614
|
"odb:AcceptMarketplaceRegistration",
|
|
@@ -806,6 +806,8 @@ OdbOperations.ListExadbVmClusters = ["odb:ListExadbVmClusters"];
|
|
|
806
806
|
OdbOperations.ListExascaleDbStorageVaults = [
|
|
807
807
|
"odb:ListExascaleDbStorageVaults",
|
|
808
808
|
];
|
|
809
|
+
/** IAM actions required for the ListFlexComponents API call. */
|
|
810
|
+
OdbOperations.ListFlexComponents = ["odb:ListFlexComponents"];
|
|
809
811
|
/** IAM actions required for the ListGiMinorVersions API call. */
|
|
810
812
|
OdbOperations.ListGiMinorVersions = ["odb:ListGiMinorVersions"];
|
|
811
813
|
/** IAM actions required for the ListGiVersions API call. */
|
|
@@ -904,7 +906,7 @@ class OdbConditions {
|
|
|
904
906
|
}
|
|
905
907
|
exports.OdbConditions = OdbConditions;
|
|
906
908
|
_d = JSII_RTTI_SYMBOL_1;
|
|
907
|
-
OdbConditions[_d] = { fqn: "@cdk_utils/iam.odb.OdbConditions", version: "1.
|
|
909
|
+
OdbConditions[_d] = { fqn: "@cdk_utils/iam.odb.OdbConditions", version: "1.17.0" };
|
|
908
910
|
/** Condition keys applicable to the CreateAutonomousDatabase action. */
|
|
909
911
|
OdbConditions.CreateAutonomousDatabaseConditionKeys = [
|
|
910
912
|
"aws:RequestTag/${TagKey}",
|
|
@@ -971,4 +973,4 @@ OdbConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
|
|
|
971
973
|
OdbConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
|
|
972
974
|
/** Condition key: aws:TagKeys (ArrayOfString) */
|
|
973
975
|
OdbConditions.AWS_TAG_KEYS = "aws:TagKeys";
|
|
974
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9vZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBaVVDOzs7QUFoVUEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsZ0RBQWdEO0FBQ2hDLHdDQUE2QixHQUM1QyxtQ0FBbUMsQ0FBQztBQUNyQyw2Q0FBNkM7QUFDN0IscUNBQTBCLEdBQUcsZ0NBQWdDLENBQUM7QUFDOUUsMkRBQTJEO0FBQzNDLG1EQUF3QyxHQUN2RCw4Q0FBOEMsQ0FBQztBQUNoRCwyQ0FBMkM7QUFDM0IsbUNBQXdCLEdBQUcsOEJBQThCLENBQUM7QUFDMUUsaURBQWlEO0FBQ2pDLHlDQUE4QixHQUM3QyxvQ0FBb0MsQ0FBQztBQUN0QyxpREFBaUQ7QUFDakMseUNBQThCLEdBQzdDLG9DQUFvQyxDQUFDO0FBQ3RDLGlEQUFpRDtBQUNqQyx5Q0FBOEIsR0FDN0Msb0NBQW9DLENBQUM7QUFDdEMsbURBQW1EO0FBQ25DLDJDQUFnQyxHQUMvQyxzQ0FBc0MsQ0FBQztBQUN4Qyx1Q0FBdUM7QUFDdkIsK0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsK0JBQStCO0FBQ2YsdUJBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUNsRCx1Q0FBdUM7QUFDdkIsK0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsK0NBQStDO0FBQy9CLHVDQUE0QixHQUMzQyxrQ0FBa0MsQ0FBQztBQUNwQyxtQ0FBbUM7QUFDbkIsMkJBQWdCLEdBQUcsc0JBQXNCLENBQUM7QUFDMUQsbUNBQW1DO0FBQ25CLDJCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELDZD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Q0YsNEVBQTRFO0FBQzVELHVEQUF5QyxHQUFhO0lBQ3JFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGdFQUFnRTtBQUNoRCwyQ0FBNkIsR0FBYTtJQUN6RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwwRUFBMEU7QUFDMUQscURBQXVDLEdBQWE7SUFDbkUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsbUVBQW1FO0FBQ25ELDhDQUFnQyxHQUFhO0lBQzVELDJCQUEyQjtDQUMzQixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLHNDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQiwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0Msd0NBQTBCLEdBQWE7SUFDdEQsMkJBQTJCO0lBQzNCLGFBQWE7Q0FDYixDQUFDO0FBRUYsdURBQXVEO0FBQ3ZDLDZCQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLDhCQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQywwQkFBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL29kYi5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgb2RiIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBPZGJBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwib2RiXCI7XG5cblx0LyoqIFtXcml0ZV0gb2RiOkFjY2VwdE1hcmtldHBsYWNlUmVnaXN0cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRNYXJrZXRwbGFjZVJlZ2lzdHJhdGlvbiA9XG5cdFx0XCJvZGI6QWNjZXB0TWFya2V0cGxhY2VSZWdpc3RyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gb2RiOkFzc29jaWF0ZUlhbVJvbGVUb1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVJYW1Sb2xlVG9SZXNvdXJjZSA9IFwib2RiOkFzc29jaWF0ZUlhbVJvbGVUb1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpBc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNUb0V4YWRiVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNUb0V4YWRiVm1DbHVzdGVyID1cblx0XHRcIm9kYjpBc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNUb0V4YWRiVm1DbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZSA9IFwib2RiOkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgPVxuXHRcdFwib2RiOkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cFwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlQXV0b25vbW91c0RhdGFiYXNlV2FsbGV0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXQgPVxuXHRcdFwib2RiOkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZVdhbGxldFwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXIgPVxuXHRcdFwib2RiOkNyZWF0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlID1cblx0XHRcIm9kYjpDcmVhdGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlQ2xvdWRWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkVm1DbHVzdGVyID0gXCJvZGI6Q3JlYXRlQ2xvdWRWbUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkNyZWF0ZURiTm9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRGJOb2RlID0gXCJvZGI6Q3JlYXRlRGJOb2RlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVFeGFkYlZtQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhhZGJWbUNsdXN0ZXIgPSBcIm9kYjpDcmVhdGVFeGFkYlZtQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCA9XG5cdFx0XCJvZGI6Q3JlYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdFwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlR3JhbnRTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlR3JhbnRTaGFyZSA9IFwib2RiOkNyZWF0ZUdyYW50U2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkNyZWF0ZU9kYk5ldHdvcmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9kYk5ldHdvcmsgPSBcIm9kYjpDcmVhdGVPZGJOZXR3b3JrXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVPZGJQZWVyaW5nQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24gPSBcIm9kYjpDcmVhdGVPZGJQZWVyaW5nQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlT3V0Ym91bmRJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3V0Ym91bmRJbnRlZ3JhdGlvbiA9IFwib2RiOkNyZWF0ZU91dGJvdW5kSW50ZWdyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b25vbW91c0RhdGFiYXNlID0gXCJvZGI6RGVsZXRlQXV0b25vbW91c0RhdGFiYXNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCA9XG5cdFx0XCJvZGI6RGVsZXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlciA9XG5cdFx0XCJvZGI6RGVsZXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgPVxuXHRcdFwib2RiOkRlbGV0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVDbG91ZFZtQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2xvdWRWbUNsdXN0ZXIgPSBcIm9kYjpEZWxldGVDbG91ZFZtQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBvZGI6RGVsZXRlRGJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEYk5vZGUgPSBcIm9kYjpEZWxldGVEYk5vZGVcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZUV4YWRiVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeGFkYlZtQ2x1c3RlciA9IFwib2RiOkRlbGV0ZUV4YWRiVm1DbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0ID1cblx0XHRcIm9kYjpEZWxldGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0XCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVHcmFudFNoYXJlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVHcmFudFNoYXJlID0gXCJvZGI6RGVsZXRlR3JhbnRTaGFyZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6RGVsZXRlT2RiTmV0d29yayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT2RiTmV0d29yayA9IFwib2RiOkRlbGV0ZU9kYk5ldHdvcmtcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZU9kYlBlZXJpbmdDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPZGJQZWVyaW5nQ29ubmVjdGlvbiA9IFwib2RiOkRlbGV0ZU9kYlBlZXJpbmdDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcIm9kYjpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6RGlzYXNzb2NpYXRlSWFtUm9sZUZyb21SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlSWFtUm9sZUZyb21SZXNvdXJjZSA9XG5cdFx0XCJvZGI6RGlzYXNzb2NpYXRlSWFtUm9sZUZyb21SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6RGlzYXNzb2NpYXRlVmlydHVhbE1hY2hpbmVzRnJvbUV4YWRiVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNGcm9tRXhhZGJWbUNsdXN0ZXIgPVxuXHRcdFwib2RiOkRpc2Fzc29jaWF0ZVZpcnR1YWxNYWNoaW5lc0Zyb21FeGFkYlZtQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBvZGI6RmFpbG92ZXJBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEZhaWxvdmVyQXV0b25vbW91c0RhdGFiYXNlID0gXCJvZGI6RmFpbG92ZXJBdXRvbm9tb3VzRGF0YWJhc2VcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0QXV0b25vbW91c0RhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbm9tb3VzRGF0YWJhc2UgPSBcIm9kYjpHZXRBdXRvbm9tb3VzRGF0YWJhc2VcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0QXV0b25vbW91c0RhdGFiYXNlQmFja3VwICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgPVxuXHRcdFwib2RiOkdldEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cFwiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXREZXRhaWxzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXREZXRhaWxzID1cblx0XHRcIm9kYjpHZXRBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXREZXRhaWxzXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkdldENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyID1cblx0XHRcIm9kYjpHZXRDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlID1cblx0XHRcIm9kYjpHZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVwiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVVuYWxsb2NhdGVkUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVVuYWxsb2NhdGVkUmVzb3VyY2VzID1cblx0XHRcIm9kYjpHZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVVuYWxsb2NhdGVkUmVzb3VyY2VzXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkdldENsb3VkVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDbG91ZFZtQ2x1c3RlciA9IFwib2RiOkdldENsb3VkVm1DbHVzdGVyXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkdldERiTm9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGJOb2RlID0gXCJvZGI6R2V0RGJOb2RlXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkdldERiU2VydmVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYlNlcnZlciA9IFwib2RiOkdldERiU2VydmVyXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkdldEV4YWRiVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRFeGFkYlZtQ2x1c3RlciA9IFwib2RiOkdldEV4YWRiVm1DbHVzdGVyXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkdldEV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgPVxuXHRcdFwib2RiOkdldEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0T2NpT25ib2FyZGluZ1N0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T2NpT25ib2FyZGluZ1N0YXR1cyA9IFwib2RiOkdldE9jaU9uYm9hcmRpbmdTdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0T2RiTmV0d29yayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T2RiTmV0d29yayA9IFwib2RiOkdldE9kYk5ldHdvcmtcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0T2RiUGVlcmluZ0Nvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9kYlBlZXJpbmdDb25uZWN0aW9uID0gXCJvZGI6R2V0T2RiUGVlcmluZ0Nvbm5lY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJvZGI6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkluaXRpYWxpemVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBJbml0aWFsaXplU2VydmljZSA9IFwib2RiOkluaXRpYWxpemVTZXJ2aWNlXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c0RhdGFiYXNlQmFja3VwcyA9XG5cdFx0XCJvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cHNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZUNoYXJhY3RlclNldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VDaGFyYWN0ZXJTZXRzID1cblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2hhcmFjdGVyU2V0c1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2xvbmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2xvbmVzID1cblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2xvbmVzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VQZWVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNEYXRhYmFzZVBlZXJzID1cblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlUGVlcnNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c0RhdGFiYXNlVmVyc2lvbnMgPVxuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNEYXRhYmFzZXMgPSBcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0QXV0b25vbW91c1ZpcnR1YWxNYWNoaW5lcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNWaXJ0dWFsTWFjaGluZXMgPVxuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzVmlydHVhbE1hY2hpbmVzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVycyA9XG5cdFx0XCJvZGI6TGlzdENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcnNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlcyA9XG5cdFx0XCJvZGI6TGlzdENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0Q2xvdWRWbUNsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2xvdWRWbUNsdXN0ZXJzID0gXCJvZGI6TGlzdENsb3VkVm1DbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0RGJOb2RlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERiTm9kZXMgPSBcIm9kYjpMaXN0RGJOb2Rlc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0RGJTZXJ2ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGJTZXJ2ZXJzID0gXCJvZGI6TGlzdERiU2VydmVyc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0RGJTeXN0ZW1TaGFwZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYlN5c3RlbVNoYXBlcyA9IFwib2RiOkxpc3REYlN5c3RlbVNoYXBlc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0RXhhZGJWbUNsdXN0ZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RXhhZGJWbUNsdXN0ZXJzID0gXCJvZGI6TGlzdEV4YWRiVm1DbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeGFzY2FsZURiU3RvcmFnZVZhdWx0cyA9XG5cdFx0XCJvZGI6TGlzdEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RGbGV4Q29tcG9uZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsZXhDb21wb25lbnRzID0gXCJvZGI6TGlzdEZsZXhDb21wb25lbnRzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RHaU1pbm9yVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHaU1pbm9yVmVyc2lvbnMgPSBcIm9kYjpMaXN0R2lNaW5vclZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RHaVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2lWZXJzaW9ucyA9IFwib2RiOkxpc3RHaVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RPZGJOZXR3b3JrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9kYk5ldHdvcmtzID0gXCJvZGI6TGlzdE9kYk5ldHdvcmtzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RPZGJQZWVyaW5nQ29ubmVjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RPZGJQZWVyaW5nQ29ubmVjdGlvbnMgPSBcIm9kYjpMaXN0T2RiUGVlcmluZ0Nvbm5lY3Rpb25zXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RTeXN0ZW1WZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbVZlcnNpb25zID0gXCJvZGI6TGlzdFN5c3RlbVZlcnNpb25zXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcIm9kYjpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcIm9kYjpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6UmVib290QXV0b25vbW91c0RhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3RBdXRvbm9tb3VzRGF0YWJhc2UgPSBcIm9kYjpSZWJvb3RBdXRvbm9tb3VzRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlJlYm9vdERiTm9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290RGJOb2RlID0gXCJvZGI6UmVib290RGJOb2RlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpSZXN0b3JlQXV0b25vbW91c0RhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN0b3JlQXV0b25vbW91c0RhdGFiYXNlID0gXCJvZGI6UmVzdG9yZUF1dG9ub21vdXNEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6U2hyaW5rQXV0b25vbW91c0RhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBTaHJpbmtBdXRvbm9tb3VzRGF0YWJhc2UgPSBcIm9kYjpTaHJpbmtBdXRvbm9tb3VzRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlN0YXJ0QXV0b25vbW91c0RhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEF1dG9ub21vdXNEYXRhYmFzZSA9IFwib2RiOlN0YXJ0QXV0b25vbW91c0RhdGFiYXNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpTdGFydERiTm9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREYk5vZGUgPSBcIm9kYjpTdGFydERiTm9kZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6U3RvcEF1dG9ub21vdXNEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9ub21vdXNEYXRhYmFzZSA9IFwib2RiOlN0b3BBdXRvbm9tb3VzRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlN0b3BEYk5vZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BEYk5vZGUgPSBcIm9kYjpTdG9wRGJOb2RlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpTd2l0Y2hvdmVyQXV0b25vbW91c0RhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBTd2l0Y2hvdmVyQXV0b25vbW91c0RhdGFiYXNlID1cblx0XHRcIm9kYjpTd2l0Y2hvdmVyQXV0b25vbW91c0RhdGFiYXNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gb2RiOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwib2RiOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gb2RiOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcIm9kYjpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpVcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZSA9IFwib2RiOlVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6VXBkYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgPVxuXHRcdFwib2RiOlVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cFwiO1xuXHQvKiogW1dyaXRlXSBvZGI6VXBkYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlID1cblx0XHRcIm9kYjpVcGRhdGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6VXBkYXRlRXhhZGJWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4YWRiVm1DbHVzdGVyID0gXCJvZGI6VXBkYXRlRXhhZGJWbUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlVwZGF0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgPVxuXHRcdFwib2RiOlVwZGF0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHRcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlVwZGF0ZUdyYW50U2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUdyYW50U2hhcmUgPSBcIm9kYjpVcGRhdGVHcmFudFNoYXJlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpVcGRhdGVPZGJOZXR3b3JrICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPZGJOZXR3b3JrID0gXCJvZGI6VXBkYXRlT2RiTmV0d29ya1wiO1xuXHQvKiogW1dyaXRlXSBvZGI6VXBkYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uID0gXCJvZGI6VXBkYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gb2RiOlVwZGF0ZU91dGJvdW5kSW50ZWdyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU91dGJvdW5kSW50ZWdyYXRpb24gPSBcIm9kYjpVcGRhdGVPdXRib3VuZEludGVncmF0aW9uXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRBdXRvbm9tb3VzRGF0YWJhc2UsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXREZXRhaWxzLFxuXHRcdE9kYkFjdGlvbnMuYWN0aW9uR2V0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuYWN0aW9uR2V0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVVuYWxsb2NhdGVkUmVzb3VyY2VzLFxuXHRcdE9kYkFjdGlvbnMuYWN0aW9uR2V0Q2xvdWRWbUNsdXN0ZXIsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXREYk5vZGUsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXREYlNlcnZlcixcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldEV4YWRiVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuYWN0aW9uR2V0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCxcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldE9jaU9uYm9hcmRpbmdTdGF0dXMsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRPZGJOZXR3b3JrLFxuXHRcdE9kYkFjdGlvbnMuYWN0aW9uR2V0T2RiUGVlcmluZ0Nvbm5lY3Rpb24sXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRPZGJBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0T2RiQWN0aW9ucy5BY2NlcHRNYXJrZXRwbGFjZVJlZ2lzdHJhdGlvbixcblx0XHRPZGJBY3Rpb25zLkFzc29jaWF0ZUlhbVJvbGVUb1Jlc291cmNlLFxuXHRcdE9kYkFjdGlvbnMuQXNzb2NpYXRlVmlydHVhbE1hY2hpbmVzVG9FeGFkYlZtQ2x1c3Rlcixcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZSxcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCxcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZVdhbGxldCxcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3Rlcixcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlQ2xvdWRWbUNsdXN0ZXIsXG5cdFx0T2RiQWN0aW9ucy5DcmVhdGVEYk5vZGUsXG5cdFx0T2RiQWN0aW9ucy5DcmVhdGVFeGFkYlZtQ2x1c3Rlcixcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQsXG5cdFx0T2RiQWN0aW9ucy5DcmVhdGVHcmFudFNoYXJlLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlT2RiTmV0d29yayxcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlT3V0Ym91bmRJbnRlZ3JhdGlvbixcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZSxcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCxcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3Rlcixcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlQ2xvdWRWbUNsdXN0ZXIsXG5cdFx0T2RiQWN0aW9ucy5EZWxldGVEYk5vZGUsXG5cdFx0T2RiQWN0aW9ucy5EZWxldGVFeGFkYlZtQ2x1c3Rlcixcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQsXG5cdFx0T2RiQWN0aW9ucy5EZWxldGVHcmFudFNoYXJlLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlT2RiTmV0d29yayxcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZU9kYlBlZXJpbmdDb25uZWN0aW9uLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0T2RiQWN0aW9ucy5EaXNhc3NvY2lhdGVJYW1Sb2xlRnJvbVJlc291cmNlLFxuXHRcdE9kYkFjdGlvbnMuRGlzYXNzb2NpYXRlVmlydHVhbE1hY2hpbmVzRnJvbUV4YWRiVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuRmFpbG92ZXJBdXRvbm9tb3VzRGF0YWJhc2UsXG5cdFx0T2RiQWN0aW9ucy5Jbml0aWFsaXplU2VydmljZSxcblx0XHRPZGJBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRcdE9kYkFjdGlvbnMuUmVib290QXV0b25vbW91c0RhdGFiYXNlLFxuXHRcdE9kYkFjdGlvbnMuUmVib290RGJOb2RlLFxuXHRcdE9kYkFjdGlvbnMuUmVzdG9yZUF1dG9ub21vdXNEYXRhYmFzZSxcblx0XHRPZGJBY3Rpb25zLlNocmlua0F1dG9ub21vdXNEYXRhYmFzZSxcblx0XHRPZGJBY3Rpb25zLlN0YXJ0QXV0b25vbW91c0RhdGFiYXNlLFxuXHRcdE9kYkFjdGlvbnMuU3RhcnREYk5vZGUsXG5cdFx0T2RiQWN0aW9ucy5TdG9wQXV0b25vbW91c0RhdGFiYXNlLFxuXHRcdE9kYkFjdGlvbnMuU3RvcERiTm9kZSxcblx0XHRPZGJBY3Rpb25zLlN3aXRjaG92ZXJBdXRvbm9tb3VzRGF0YWJhc2UsXG5cdFx0T2RiQWN0aW9ucy5VcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2UsXG5cdFx0T2RiQWN0aW9ucy5VcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAsXG5cdFx0T2RiQWN0aW9ucy5VcGRhdGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSxcblx0XHRPZGJBY3Rpb25zLlVwZGF0ZUV4YWRiVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuVXBkYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCxcblx0XHRPZGJBY3Rpb25zLlVwZGF0ZUdyYW50U2hhcmUsXG5cdFx0T2RiQWN0aW9ucy5VcGRhdGVPZGJOZXR3b3JrLFxuXHRcdE9kYkFjdGlvbnMuVXBkYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24sXG5cdFx0T2RiQWN0aW9ucy5VcGRhdGVPdXRib3VuZEludGVncmF0aW9uLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRPZGJBY3Rpb25zLkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdEF1dG9ub21vdXNEYXRhYmFzZUNoYXJhY3RlclNldHMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0QXV0b25vbW91c0RhdGFiYXNlQ2xvbmVzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdEF1dG9ub21vdXNEYXRhYmFzZVBlZXJzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdEF1dG9ub21vdXNEYXRhYmFzZVZlcnNpb25zLFxuXHRcdE9kYkFjdGlvbnMuTGlzdEF1dG9ub21vdXNEYXRhYmFzZXMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0QXV0b25vbW91c1ZpcnR1YWxNYWNoaW5lcyxcblx0XHRPZGJBY3Rpb25zLkxpc3RDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlcyxcblx0XHRPZGJBY3Rpb25zLkxpc3RDbG91ZFZtQ2x1c3RlcnMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0RGJOb2Rlcyxcblx0XHRPZGJBY3Rpb25zLkxpc3REYlNlcnZlcnMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0RGJTeXN0ZW1TaGFwZXMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0RXhhZGJWbUNsdXN0ZXJzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdEZsZXhDb21wb25lbnRzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdEdpTWlub3JWZXJzaW9ucyxcblx0XHRPZGJBY3Rpb25zLkxpc3RHaVZlcnNpb25zLFxuXHRcdE9kYkFjdGlvbnMuTGlzdE9kYk5ldHdvcmtzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdE9kYlBlZXJpbmdDb25uZWN0aW9ucyxcblx0XHRPZGJBY3Rpb25zLkxpc3RTeXN0ZW1WZXJzaW9ucyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0T2RiQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRPZGJBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbm9tb3VzLWRhdGFiYXNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJBdXRvbm9tb3VzRGF0YWJhc2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b25vbW91c0RhdGFiYXNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9ub21vdXNEYXRhYmFzZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b25vbW91cy1kYXRhYmFzZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiQXV0b25vbW91c0RhdGFiYXNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdXRvbm9tb3VzRGF0YWJhc2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGF1dG9ub21vdXNEYXRhYmFzZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhdXRvbm9tb3VzLWRhdGFiYXNlLWJhY2t1cCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiQXV0b25vbW91c0RhdGFiYXNlQmFja3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGF1dG9ub21vdXMtZGF0YWJhc2UtYmFja3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b25vbW91c0RhdGFiYXNlQmFja3VwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsb3VkLWF1dG9ub21vdXMtdm0tY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNsb3VkLWF1dG9ub21vdXMtdm0tY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbG91ZC1leGFkYXRhLWluZnJhc3RydWN0dXJlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUFyblByb3BzIHtcblx0LyoqIFRoZSBDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2xvdWQtZXhhZGF0YS1pbmZyYXN0cnVjdHVyZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjbG91ZC12bS1jbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJDbG91ZFZtQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBDbG91ZFZtQ2x1c3RlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbG91ZFZtQ2x1c3RlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2xvdWQtdm0tY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiQ2xvdWRWbUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsb3VkVm1DbHVzdGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbG91ZFZtQ2x1c3RlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBkYi1ub2RlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJEQk5vZGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRGJOb2RlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGRiTm9kZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZGItbm9kZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiREJOb2RlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBEYk5vZGVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGRiTm9kZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleGFkYi12bS1jbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJFeGFkYlZtQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBFeGFkYlZtQ2x1c3RlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleGFkYlZtQ2x1c3RlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXhhZGItdm0tY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiRXhhZGJWbUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEV4YWRiVm1DbHVzdGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBleGFkYlZtQ2x1c3RlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleGFzY2FsZS1kYi1zdG9yYWdlLXZhdWx0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJFeGFzY2FsZURCU3RvcmFnZVZhdWx0QXJuUHJvcHMge1xuXHQvKiogVGhlIEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZXhhc2NhbGVEQlN0b3JhZ2VWYXVsdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZXhhc2NhbGUtZGItc3RvcmFnZS12YXVsdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiRXhhc2NhbGVEQlN0b3JhZ2VWYXVsdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXhhc2NhbGVEQlN0b3JhZ2VWYXVsdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBvZGItbmV0d29yayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiT2RiTmV0d29ya0FyblByb3BzIHtcblx0LyoqIFRoZSBPZGJOZXR3b3JrSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG9kYk5ldHdvcmtJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9kYi1uZXR3b3JrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJPZGJOZXR3b3JrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBPZGJOZXR3b3JrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvZGJOZXR3b3JrSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9kYi1wZWVyaW5nLWNvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYk9kYlBlZXJpbmdDb25uZWN0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE9kYlBlZXJpbmdDb25uZWN0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG9kYlBlZXJpbmdDb25uZWN0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBvZGItcGVlcmluZy1jb25uZWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJPZGJQZWVyaW5nQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgT2RiUGVlcmluZ0Nvbm5lY3Rpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9kYlBlZXJpbmdDb25uZWN0aW9uSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQXV0b25vbW91c0RhdGFiYXNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9kYjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9ub21vdXMtZGF0YWJhc2VcXC8oPzxhdXRvbm9tb3VzRGF0YWJhc2VJZD5bXjovP10rKSQvO1xuY29uc3QgQXV0b25vbW91c0RhdGFiYXNlQmFja3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9kYjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmF1dG9ub21vdXMtZGF0YWJhc2UtYmFja3VwXFwvKD88YXV0b25vbW91c0RhdGFiYXNlQmFja3VwSWQ+W146Lz9dKykkLztcbmNvbnN0IENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvZGI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbG91ZC1hdXRvbm9tb3VzLXZtLWNsdXN0ZXJcXC8oPzxjbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJJZD5bXjovP10rKSQvO1xuY29uc3QgQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6b2RiOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2xvdWQtZXhhZGF0YS1pbmZyYXN0cnVjdHVyZVxcLyg/PGNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlSWQ+W146Lz9dKykkLztcbmNvbnN0IENsb3VkVm1DbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9kYjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsb3VkLXZtLWNsdXN0ZXJcXC8oPzxjbG91ZFZtQ2x1c3RlcklkPlteOi8/XSspJC87XG5jb25zdCBEQk5vZGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6b2RiOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6ZGItbm9kZVxcLyg/PGRiTm9kZUlkPlteOi8/XSspJC87XG5jb25zdCBFeGFkYlZtQ2x1c3RlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvZGI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleGFkYi12bS1jbHVzdGVyXFwvKD88ZXhhZGJWbUNsdXN0ZXJJZD5bXjovP10rKSQvO1xuY29uc3QgRXhhc2NhbGVEQlN0b3JhZ2VWYXVsdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvZGI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpleGFzY2FsZS1kYi1zdG9yYWdlLXZhdWx0XFwvKD88ZXhhc2NhbGVEQlN0b3JhZ2VWYXVsdElkPlteOi8/XSspJC87XG5jb25zdCBPZGJOZXR3b3JrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9kYjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9kYi1uZXR3b3JrXFwvKD88b2RiTmV0d29ya0lkPlteOi8/XSspJC87XG5jb25zdCBPZGJQZWVyaW5nQ29ubmVjdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvZGI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpvZGItcGVlcmluZy1jb25uZWN0aW9uXFwvKD88b2RiUGVlcmluZ0Nvbm5lY3Rpb25JZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIG9kYiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBPZGJSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9ub21vdXMtZGF0YWJhc2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXV0b25vbW91c0RhdGFiYXNlKHByb3BzOiBPZGJBdXRvbm9tb3VzRGF0YWJhc2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b2RiOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9ub21vdXMtZGF0YWJhc2UvJHtwcm9wcy5hdXRvbm9tb3VzRGF0YWJhc2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXV0b25vbW91cy1kYXRhYmFzZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b25vbW91c0RhdGFiYXNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9ub21vdXNEYXRhYmFzZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdXRvbm9tb3VzLWRhdGFiYXNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9ub21vdXNEYXRhYmFzZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT2RiQXV0b25vbW91c0RhdGFiYXNlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbm9tb3VzRGF0YWJhc2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b25vbW91cy1kYXRhYmFzZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdXRvbm9tb3VzRGF0YWJhc2VJZDogbWF0Y2guZ3JvdXBzIS5hdXRvbm9tb3VzRGF0YWJhc2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdXRvbm9tb3VzLWRhdGFiYXNlLWJhY2t1cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAoXG5cdFx0cHJvcHM6IE9kYkF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphdXRvbm9tb3VzLWRhdGFiYXNlLWJhY2t1cC8ke3Byb3BzLmF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbm9tb3VzLWRhdGFiYXNlLWJhY2t1cCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXV0b25vbW91c0RhdGFiYXNlQmFja3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdXRvbm9tb3VzLWRhdGFiYXNlLWJhY2t1cCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE9kYkF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXV0b25vbW91c0RhdGFiYXNlQmFja3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGF1dG9ub21vdXMtZGF0YWJhc2UtYmFja3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cElkOiBtYXRjaC5ncm91cHMhLmF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsb3VkLWF1dG9ub21vdXMtdm0tY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXIoXG5cdFx0cHJvcHM6IE9kYkNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbG91ZC1hdXRvbm9tb3VzLXZtLWNsdXN0ZXIvJHtwcm9wcy5jbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2xvdWQtYXV0b25vbW91cy12bS1jbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsb3VkLWF1dG9ub21vdXMtdm0tY2x1c3RlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE9kYkNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsb3VkLWF1dG9ub21vdXMtdm0tY2x1c3RlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJJZDogbWF0Y2guZ3JvdXBzIS5jbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjbG91ZC1leGFkYXRhLWluZnJhc3RydWN0dXJlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlKFxuXHRcdHByb3BzOiBPZGJDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbG91ZC1leGFkYXRhLWluZnJhc3RydWN0dXJlLyR7cHJvcHMuY2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2xvdWQtZXhhZGF0YS1pbmZyYXN0cnVjdHVyZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2xvdWQtZXhhZGF0YS1pbmZyYXN0cnVjdHVyZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT2RiQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsb3VkLWV4YWRhdGEtaW5mcmFzdHJ1Y3R1cmUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVJZDogbWF0Y2guZ3JvdXBzIS5jbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsb3VkLXZtLWNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2xvdWRWbUNsdXN0ZXIocHJvcHM6IE9kYkNsb3VkVm1DbHVzdGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjbG91ZC12bS1jbHVzdGVyLyR7cHJvcHMuY2xvdWRWbUNsdXN0ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2xvdWQtdm0tY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2xvdWRWbUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ2xvdWRWbUNsdXN0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2xvdWQtdm0tY2x1c3RlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDbG91ZFZtQ2x1c3RlckFybihhcm46IHN0cmluZyk6IE9kYkNsb3VkVm1DbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbG91ZFZtQ2x1c3RlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjbG91ZC12bS1jbHVzdGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsb3VkVm1DbHVzdGVySWQ6IG1hdGNoLmdyb3VwcyEuY2xvdWRWbUNsdXN0ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBkYi1ub2RlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGRiTm9kZShwcm9wczogT2RiREJOb2RlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpkYi1ub2RlLyR7cHJvcHMuZGJOb2RlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGRiLW5vZGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZERCTm9kZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBEQk5vZGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZGItbm9kZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VEQk5vZGVBcm4oYXJuOiBzdHJpbmcpOiBPZGJEQk5vZGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IERCTm9kZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBkYi1ub2RlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGRiTm9kZUlkOiBtYXRjaC5ncm91cHMhLmRiTm9kZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4YWRiLXZtLWNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhhZGJWbUNsdXN0ZXIocHJvcHM6IE9kYkV4YWRiVm1DbHVzdGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleGFkYi12bS1jbHVzdGVyLyR7cHJvcHMuZXhhZGJWbUNsdXN0ZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhhZGItdm0tY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhhZGJWbUNsdXN0ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhhZGJWbUNsdXN0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXhhZGItdm0tY2x1c3RlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeGFkYlZtQ2x1c3RlckFybihhcm46IHN0cmluZyk6IE9kYkV4YWRiVm1DbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeGFkYlZtQ2x1c3RlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBleGFkYi12bS1jbHVzdGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGV4YWRiVm1DbHVzdGVySWQ6IG1hdGNoLmdyb3VwcyEuZXhhZGJWbUNsdXN0ZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBleGFzY2FsZS1kYi1zdG9yYWdlLXZhdWx0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4YXNjYWxlREJTdG9yYWdlVmF1bHQoXG5cdFx0cHJvcHM6IE9kYkV4YXNjYWxlREJTdG9yYWdlVmF1bHRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvZGI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06ZXhhc2NhbGUtZGItc3RvcmFnZS12YXVsdC8ke3Byb3BzLmV4YXNjYWxlREJTdG9yYWdlVmF1bHRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhhc2NhbGUtZGItc3RvcmFnZS12YXVsdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkRXhhc2NhbGVEQlN0b3JhZ2VWYXVsdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeGFzY2FsZURCU3RvcmFnZVZhdWx0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV4YXNjYWxlLWRiLXN0b3JhZ2UtdmF1bHQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlRXhhc2NhbGVEQlN0b3JhZ2VWYXVsdEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT2RiRXhhc2NhbGVEQlN0b3JhZ2VWYXVsdEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhhc2NhbGVEQlN0b3JhZ2VWYXVsdEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBleGFzY2FsZS1kYi1zdG9yYWdlLXZhdWx0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGV4YXNjYWxlREJTdG9yYWdlVmF1bHRJZDogbWF0Y2guZ3JvdXBzIS5leGFzY2FsZURCU3RvcmFnZVZhdWx0SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgb2RiLW5ldHdvcmsgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb2RiTmV0d29yayhwcm9wczogT2RiT2RiTmV0d29ya0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvZGI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b2RiLW5ldHdvcmsvJHtwcm9wcy5vZGJOZXR3b3JrSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9kYi1uZXR3b3JrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPZGJOZXR3b3JrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9kYk5ldHdvcmtBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgb2RiLW5ldHdvcmsgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT2RiTmV0d29ya0Fybihhcm46IHN0cmluZyk6IE9kYk9kYk5ldHdvcmtBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9kYk5ldHdvcmtBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgb2RiLW5ldHdvcmsgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b2RiTmV0d29ya0lkOiBtYXRjaC5ncm91cHMhLm9kYk5ldHdvcmtJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvZGItcGVlcmluZy1jb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9kYlBlZXJpbmdDb25uZWN0aW9uKHByb3BzOiBPZGJPZGJQZWVyaW5nQ29ubmVjdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvZGI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b2RiLXBlZXJpbmctY29ubmVjdGlvbi8ke3Byb3BzLm9kYlBlZXJpbmdDb25uZWN0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIG9kYi1wZWVyaW5nLWNvbm5lY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9kYlBlZXJpbmdDb25uZWN0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9kYlBlZXJpbmdDb25uZWN0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIG9kYi1wZWVyaW5nLWNvbm5lY3Rpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT2RiUGVlcmluZ0Nvbm5lY3Rpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IE9kYk9kYlBlZXJpbmdDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPZGJQZWVyaW5nQ29ubmVjdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvZGItcGVlcmluZy1jb25uZWN0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG9kYlBlZXJpbmdDb25uZWN0aW9uSWQ6IG1hdGNoLmdyb3VwcyEub2RiUGVlcmluZ0Nvbm5lY3Rpb25JZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBvZGIuXG4gKi9cbmV4cG9ydCBjbGFzcyBPZGJPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWNjZXB0TWFya2V0cGxhY2VSZWdpc3RyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRNYXJrZXRwbGFjZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6QWNjZXB0TWFya2V0cGxhY2VSZWdpc3RyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlSWFtUm9sZVRvUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVJYW1Sb2xlVG9SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6QXNzb2NpYXRlSWFtUm9sZVRvUmVzb3VyY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNUb0V4YWRiVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlVmlydHVhbE1hY2hpbmVzVG9FeGFkYlZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VcIixcblx0XHRcIm9kYjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZVdhbGxldFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6Q3JlYXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyXCIsXG5cdFx0XCJvZGI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6Q3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVcIixcblx0XHRcIm9kYjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDbG91ZFZtQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkVm1DbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpDcmVhdGVDbG91ZFZtQ2x1c3RlclwiLFxuXHRcdFwib2RiOkNyZWF0ZURiTm9kZVwiLFxuXHRcdFwib2RiOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4YWRiVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhhZGJWbUNsdXN0ZXI6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpDcmVhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0XCIsXG5cdFx0XCJvZGI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlT2RiTmV0d29yayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9kYk5ldHdvcms6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkNyZWF0ZU9kYk5ldHdvcmtcIixcblx0XHRcIm9kYjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPZGJQZWVyaW5nQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpDcmVhdGVPZGJQZWVyaW5nQ29ubmVjdGlvblwiLFxuXHRcdFwib2RiOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6RGVsZXRlQXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6RGVsZXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6RGVsZXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmU6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkRlbGV0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNsb3VkVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2xvdWRWbUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkRlbGV0ZUNsb3VkVm1DbHVzdGVyXCIsXG5cdFx0XCJvZGI6RGVsZXRlRGJOb2RlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV4YWRiVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXhhZGJWbUNsdXN0ZXI6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0OiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpEZWxldGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9kYk5ldHdvcmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPZGJOZXR3b3JrOiBzdHJpbmdbXSA9IFtcIm9kYjpEZWxldGVPZGJOZXR3b3JrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPZGJQZWVyaW5nQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9kYlBlZXJpbmdDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpEZWxldGVPZGJQZWVyaW5nQ29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVJYW1Sb2xlRnJvbVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlSWFtUm9sZUZyb21SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6RGlzYXNzb2NpYXRlSWFtUm9sZUZyb21SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNGcm9tRXhhZGJWbUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNGcm9tRXhhZGJWbUNsdXN0ZXI6IHN0cmluZ1tdID0gW107XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEZhaWxvdmVyQXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRmFpbG92ZXJBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkZhaWxvdmVyQXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9ub21vdXNEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QXV0b25vbW91c0RhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpHZXRBdXRvbm9tb3VzRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0b25vbW91c0RhdGFiYXNlQmFja3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXA6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkdldEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXREZXRhaWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXREZXRhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpHZXRBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXREZXRhaWxzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpHZXRDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpHZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVVuYWxsb2NhdGVkUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVVuYWxsb2NhdGVkUmVzb3VyY2VzOiBzdHJpbmdbXSA9XG5cdFx0W1wib2RiOkdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlVW5hbGxvY2F0ZWRSZXNvdXJjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENsb3VkVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDbG91ZFZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJvZGI6R2V0Q2xvdWRWbUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERiTm9kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RGJOb2RlOiBzdHJpbmdbXSA9IFtcIm9kYjpHZXREYk5vZGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldERiU2VydmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYlNlcnZlcjogc3RyaW5nW10gPSBbXCJvZGI6R2V0RGJTZXJ2ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV4YWRiVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRFeGFkYlZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXCJvZGI6R2V0RXhhZGJWbUNsdXN0ZXJcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV4YXNjYWxlRGJTdG9yYWdlVmF1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkdldEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0T2NpT25ib2FyZGluZ1N0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T2NpT25ib2FyZGluZ1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6R2V0T2NpT25ib2FyZGluZ1N0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPZGJOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPZGJOZXR3b3JrOiBzdHJpbmdbXSA9IFtcIm9kYjpHZXRPZGJOZXR3b3JrXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPZGJQZWVyaW5nQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T2RiUGVlcmluZ0Nvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkdldE9kYlBlZXJpbmdDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEluaXRpYWxpemVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW5pdGlhbGl6ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1wib2RiOkluaXRpYWxpemVTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b25vbW91c0RhdGFiYXNlQmFja3VwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlQmFja3Vwc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2hhcmFjdGVyU2V0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VDaGFyYWN0ZXJTZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2hhcmFjdGVyU2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2xvbmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNEYXRhYmFzZUNsb25lczogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZUNsb25lc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b25vbW91c0RhdGFiYXNlUGVlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c0RhdGFiYXNlUGVlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VQZWVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b25vbW91c0RhdGFiYXNlVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c0RhdGFiYXNlVmVyc2lvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VWZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b25vbW91c0RhdGFiYXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXV0b25vbW91c1ZpcnR1YWxNYWNoaW5lcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzVmlydHVhbE1hY2hpbmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c1ZpcnR1YWxNYWNoaW5lc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlczogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6TGlzdENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q2xvdWRWbUNsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsb3VkVm1DbHVzdGVyczogc3RyaW5nW10gPSBbXCJvZGI6TGlzdENsb3VkVm1DbHVzdGVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERiTm9kZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGJOb2Rlczogc3RyaW5nW10gPSBbXCJvZGI6TGlzdERiTm9kZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYlNlcnZlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGJTZXJ2ZXJzOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0RGJTZXJ2ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGJTeXN0ZW1TaGFwZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGJTeXN0ZW1TaGFwZXM6IHN0cmluZ1tdID0gW1wib2RiOkxpc3REYlN5c3RlbVNoYXBlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4YWRiVm1DbHVzdGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeGFkYlZtQ2x1c3RlcnM6IHN0cmluZ1tdID0gW1wib2RiOkxpc3RFeGFkYlZtQ2x1c3RlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RFeGFzY2FsZURiU3RvcmFnZVZhdWx0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeGFzY2FsZURiU3RvcmFnZVZhdWx0czogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6TGlzdEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RHaU1pbm9yVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2lNaW5vclZlcnNpb25zOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0R2lNaW5vclZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R2lWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHaVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0R2lWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9kYk5ldHdvcmtzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9kYk5ldHdvcmtzOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0T2RiTmV0d29ya3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPZGJQZWVyaW5nQ29ubmVjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2RiUGVlcmluZ0Nvbm5lY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0T2RiUGVlcmluZ0Nvbm5lY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTeXN0ZW1WZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTeXN0ZW1WZXJzaW9uczogc3RyaW5nW10gPSBbXCJvZGI6TGlzdFN5c3RlbVZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJvZGI6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVib290QXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290QXV0b25vbW91c0RhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpSZWJvb3RBdXRvbm9tb3VzRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVib290RGJOb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290RGJOb2RlOiBzdHJpbmdbXSA9IFtcIm9kYjpSZWJvb3REYk5vZGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc3RvcmVBdXRvbm9tb3VzRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN0b3JlQXV0b25vbW91c0RhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpSZXN0b3JlQXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNocmlua0F1dG9ub21vdXNEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNocmlua0F1dG9ub21vdXNEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6U2hyaW5rQXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOlN0YXJ0QXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RGJOb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREYk5vZGU6IHN0cmluZ1tdID0gW1wib2RiOlN0YXJ0RGJOb2RlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9ub21vdXNEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6U3RvcEF1dG9ub21vdXNEYXRhYmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRGJOb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcERiTm9kZTogc3RyaW5nW10gPSBbXCJvZGI6U3RvcERiTm9kZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3dpdGNob3ZlckF1dG9ub21vdXNEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN3aXRjaG92ZXJBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOlN3aXRjaG92ZXJBdXRvbm9tb3VzRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJvZGI6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcIm9kYjpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvZGI6VXBkYXRlQXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6VXBkYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmU6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOlVwZGF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV4YWRiVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhhZGJWbUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wib2RiOlVwZGF0ZUV4YWRiVm1DbHVzdGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6VXBkYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVPZGJOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT2RiTmV0d29yazogc3RyaW5nW10gPSBbXCJvZGI6VXBkYXRlT2RiTmV0d29ya1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPZGJQZWVyaW5nQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6VXBkYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIG9kYi5cbiAqL1xuZXhwb3J0IGNsYXNzIE9kYkNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsb3VkVm1DbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkVm1DbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFeGFkYlZtQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeGFkYlZtQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPZGJOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9kYk5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
|
|
976
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9vZGIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCwwQ0FBMEM7QUFDMUMsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsVUFBVTs7QUFBdkIsZ0NBaVVDOzs7QUFoVUEsOEJBQThCO0FBQ2QseUJBQWMsR0FBRyxLQUFLLENBQUM7QUFFdkMsZ0RBQWdEO0FBQ2hDLHdDQUE2QixHQUM1QyxtQ0FBbUMsQ0FBQztBQUNyQyw2Q0FBNkM7QUFDN0IscUNBQTBCLEdBQUcsZ0NBQWdDLENBQUM7QUFDOUUsMkRBQTJEO0FBQzNDLG1EQUF3QyxHQUN2RCw4Q0FBOEMsQ0FBQztBQUNoRCwyQ0FBMkM7QUFDM0IsbUNBQXdCLEdBQUcsOEJBQThCLENBQUM7QUFDMUUsaURBQWlEO0FBQ2pDLHlDQUE4QixHQUM3QyxvQ0FBb0MsQ0FBQztBQUN0QyxpREFBaUQ7QUFDakMseUNBQThCLEdBQzdDLG9DQUFvQyxDQUFDO0FBQ3RDLGlEQUFpRDtBQUNqQyx5Q0FBOEIsR0FDN0Msb0NBQW9DLENBQUM7QUFDdEMsbURBQW1EO0FBQ25DLDJDQUFnQyxHQUMvQyxzQ0FBc0MsQ0FBQztBQUN4Qyx1Q0FBdUM7QUFDdkIsK0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsK0JBQStCO0FBQ2YsdUJBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUNsRCx1Q0FBdUM7QUFDdkIsK0JBQW9CLEdBQUcsMEJBQTBCLENBQUM7QUFDbEUsK0NBQStDO0FBQy9CLHVDQUE0QixHQUMzQyxrQ0FBa0MsQ0FBQztBQUNwQyxtQ0FBbUM7QUFDbkIsMkJBQWdCLEdBQUcsc0JBQXNCLENBQUM7QUFDMUQsbUNBQW1DO0FBQ25CLDJCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQzFELDZD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QUNwRCwrQ0FBaUMsR0FBYTtJQUM3RCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw0RUFBNEU7QUFDNUQsdURBQXlDLEdBQWE7SUFDckUsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsZ0VBQWdFO0FBQ2hELDJDQUE2QixHQUFhO0lBQ3pELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDBFQUEwRTtBQUMxRCxxREFBdUMsR0FBYTtJQUNuRSwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixtRUFBbUU7QUFDbkQsOENBQWdDLEdBQWE7SUFDNUQsMkJBQTJCO0NBQzNCLENBQUM7QUFDRiwyREFBMkQ7QUFDM0Msc0NBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyx3Q0FBMEIsR0FBYTtJQUN0RCwyQkFBMkI7SUFDM0IsYUFBYTtDQUNiLENBQUM7QUFFRix1REFBdUQ7QUFDdkMsNkJBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsOEJBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLDBCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvb2RiLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBvZGIgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE9kYkFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJvZGJcIjtcblxuXHQvKiogW1dyaXRlXSBvZGI6QWNjZXB0TWFya2V0cGxhY2VSZWdpc3RyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdE1hcmtldHBsYWNlUmVnaXN0cmF0aW9uID1cblx0XHRcIm9kYjpBY2NlcHRNYXJrZXRwbGFjZVJlZ2lzdHJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBvZGI6QXNzb2NpYXRlSWFtUm9sZVRvUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUlhbVJvbGVUb1Jlc291cmNlID0gXCJvZGI6QXNzb2NpYXRlSWFtUm9sZVRvUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkFzc29jaWF0ZVZpcnR1YWxNYWNoaW5lc1RvRXhhZGJWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVZpcnR1YWxNYWNoaW5lc1RvRXhhZGJWbUNsdXN0ZXIgPVxuXHRcdFwib2RiOkFzc29jaWF0ZVZpcnR1YWxNYWNoaW5lc1RvRXhhZGJWbUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlID0gXCJvZGI6Q3JlYXRlQXV0b25vbW91c0RhdGFiYXNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCA9XG5cdFx0XCJvZGI6Q3JlYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2VXYWxsZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZVdhbGxldCA9XG5cdFx0XCJvZGI6Q3JlYXRlQXV0b25vbW91c0RhdGFiYXNlV2FsbGV0XCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlciA9XG5cdFx0XCJvZGI6Q3JlYXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgPVxuXHRcdFwib2RiOkNyZWF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVDbG91ZFZtQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRWbUNsdXN0ZXIgPSBcIm9kYjpDcmVhdGVDbG91ZFZtQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlRGJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVEYk5vZGUgPSBcIm9kYjpDcmVhdGVEYk5vZGVcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkNyZWF0ZUV4YWRiVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeGFkYlZtQ2x1c3RlciA9IFwib2RiOkNyZWF0ZUV4YWRiVm1DbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0ID1cblx0XHRcIm9kYjpDcmVhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0XCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVHcmFudFNoYXJlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVHcmFudFNoYXJlID0gXCJvZGI6Q3JlYXRlR3JhbnRTaGFyZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6Q3JlYXRlT2RiTmV0d29yayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT2RiTmV0d29yayA9IFwib2RiOkNyZWF0ZU9kYk5ldHdvcmtcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkNyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPZGJQZWVyaW5nQ29ubmVjdGlvbiA9IFwib2RiOkNyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpDcmVhdGVPdXRib3VuZEludGVncmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPdXRib3VuZEludGVncmF0aW9uID0gXCJvZGI6Q3JlYXRlT3V0Ym91bmRJbnRlZ3JhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBvZGI6RGVsZXRlQXV0b25vbW91c0RhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBdXRvbm9tb3VzRGF0YWJhc2UgPSBcIm9kYjpEZWxldGVBdXRvbm9tb3VzRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwID1cblx0XHRcIm9kYjpEZWxldGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyID1cblx0XHRcIm9kYjpEZWxldGVDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSA9XG5cdFx0XCJvZGI6RGVsZXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZUNsb3VkVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbG91ZFZtQ2x1c3RlciA9IFwib2RiOkRlbGV0ZUNsb3VkVm1DbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVEYk5vZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURiTm9kZSA9IFwib2RiOkRlbGV0ZURiTm9kZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6RGVsZXRlRXhhZGJWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4YWRiVm1DbHVzdGVyID0gXCJvZGI6RGVsZXRlRXhhZGJWbUNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQgPVxuXHRcdFwib2RiOkRlbGV0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHRcIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZUdyYW50U2hhcmUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdyYW50U2hhcmUgPSBcIm9kYjpEZWxldGVHcmFudFNoYXJlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEZWxldGVPZGJOZXR3b3JrICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPZGJOZXR3b3JrID0gXCJvZGI6RGVsZXRlT2RiTmV0d29ya1wiO1xuXHQvKiogW1dyaXRlXSBvZGI6RGVsZXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9kYlBlZXJpbmdDb25uZWN0aW9uID0gXCJvZGI6RGVsZXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gb2RiOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwib2RiOkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEaXNhc3NvY2lhdGVJYW1Sb2xlRnJvbVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVJYW1Sb2xlRnJvbVJlc291cmNlID1cblx0XHRcIm9kYjpEaXNhc3NvY2lhdGVJYW1Sb2xlRnJvbVJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpEaXNhc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNGcm9tRXhhZGJWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVZpcnR1YWxNYWNoaW5lc0Zyb21FeGFkYlZtQ2x1c3RlciA9XG5cdFx0XCJvZGI6RGlzYXNzb2NpYXRlVmlydHVhbE1hY2hpbmVzRnJvbUV4YWRiVm1DbHVzdGVyXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpGYWlsb3ZlckF1dG9ub21vdXNEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRmFpbG92ZXJBdXRvbm9tb3VzRGF0YWJhc2UgPSBcIm9kYjpGYWlsb3ZlckF1dG9ub21vdXNEYXRhYmFzZVwiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9ub21vdXNEYXRhYmFzZSA9IFwib2RiOkdldEF1dG9ub21vdXNEYXRhYmFzZVwiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCA9XG5cdFx0XCJvZGI6R2V0QXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkdldEF1dG9ub21vdXNEYXRhYmFzZVdhbGxldERldGFpbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEF1dG9ub21vdXNEYXRhYmFzZVdhbGxldERldGFpbHMgPVxuXHRcdFwib2RiOkdldEF1dG9ub21vdXNEYXRhYmFzZVdhbGxldERldGFpbHNcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXIgPVxuXHRcdFwib2RiOkdldENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlclwiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgPVxuXHRcdFwib2RiOkdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlXCI7XG5cdC8qKiBbUmVhZF0gb2RiOkdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlVW5hbGxvY2F0ZWRSZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlVW5hbGxvY2F0ZWRSZXNvdXJjZXMgPVxuXHRcdFwib2RiOkdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlVW5hbGxvY2F0ZWRSZXNvdXJjZXNcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0Q2xvdWRWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENsb3VkVm1DbHVzdGVyID0gXCJvZGI6R2V0Q2xvdWRWbUNsdXN0ZXJcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0RGJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREYk5vZGUgPSBcIm9kYjpHZXREYk5vZGVcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0RGJTZXJ2ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldERiU2VydmVyID0gXCJvZGI6R2V0RGJTZXJ2ZXJcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0RXhhZGJWbUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV4YWRiVm1DbHVzdGVyID0gXCJvZGI6R2V0RXhhZGJWbUNsdXN0ZXJcIjtcblx0LyoqIFtSZWFkXSBvZGI6R2V0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCA9XG5cdFx0XCJvZGI6R2V0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdFwiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRPY2lPbmJvYXJkaW5nU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPY2lPbmJvYXJkaW5nU3RhdHVzID0gXCJvZGI6R2V0T2NpT25ib2FyZGluZ1N0YXR1c1wiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRPZGJOZXR3b3JrICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPZGJOZXR3b3JrID0gXCJvZGI6R2V0T2RiTmV0d29ya1wiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRPZGJQZWVyaW5nQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T2RiUGVlcmluZ0Nvbm5lY3Rpb24gPSBcIm9kYjpHZXRPZGJQZWVyaW5nQ29ubmVjdGlvblwiO1xuXHQvKiogW1JlYWRdIG9kYjpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPSBcIm9kYjpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6SW5pdGlhbGl6ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IEluaXRpYWxpemVTZXJ2aWNlID0gXCJvZGI6SW5pdGlhbGl6ZVNlcnZpY2VcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBzID1cblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlQmFja3Vwc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2hhcmFjdGVyU2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNEYXRhYmFzZUNoYXJhY3RlclNldHMgPVxuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VDaGFyYWN0ZXJTZXRzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VDbG9uZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VDbG9uZXMgPVxuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VDbG9uZXNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZVBlZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c0RhdGFiYXNlUGVlcnMgPVxuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VQZWVyc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VWZXJzaW9ucyA9XG5cdFx0XCJvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZVZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c0RhdGFiYXNlcyA9IFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RBdXRvbm9tb3VzVmlydHVhbE1hY2hpbmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c1ZpcnR1YWxNYWNoaW5lcyA9XG5cdFx0XCJvZGI6TGlzdEF1dG9ub21vdXNWaXJ0dWFsTWFjaGluZXNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJzID1cblx0XHRcIm9kYjpMaXN0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyc1wiO1xuXHQvKiogW0xpc3RdIG9kYjpMaXN0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVzID1cblx0XHRcIm9kYjpMaXN0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RDbG91ZFZtQ2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDbG91ZFZtQ2x1c3RlcnMgPSBcIm9kYjpMaXN0Q2xvdWRWbUNsdXN0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3REYk5vZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGJOb2RlcyA9IFwib2RiOkxpc3REYk5vZGVzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3REYlNlcnZlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYlNlcnZlcnMgPSBcIm9kYjpMaXN0RGJTZXJ2ZXJzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3REYlN5c3RlbVNoYXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERiU3lzdGVtU2hhcGVzID0gXCJvZGI6TGlzdERiU3lzdGVtU2hhcGVzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RFeGFkYlZtQ2x1c3RlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RFeGFkYlZtQ2x1c3RlcnMgPSBcIm9kYjpMaXN0RXhhZGJWbUNsdXN0ZXJzXCI7XG5cdC8qKiBbTGlzdF0gb2RiOkxpc3RFeGFzY2FsZURiU3RvcmFnZVZhdWx0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRzID1cblx0XHRcIm9kYjpMaXN0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdHNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdEZsZXhDb21wb25lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmxleENvbXBvbmVudHMgPSBcIm9kYjpMaXN0RmxleENvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdEdpTWlub3JWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEdpTWlub3JWZXJzaW9ucyA9IFwib2RiOkxpc3RHaU1pbm9yVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdEdpVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHaVZlcnNpb25zID0gXCJvZGI6TGlzdEdpVmVyc2lvbnNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdE9kYk5ldHdvcmtzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2RiTmV0d29ya3MgPSBcIm9kYjpMaXN0T2RiTmV0d29ya3NcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdE9kYlBlZXJpbmdDb25uZWN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9kYlBlZXJpbmdDb25uZWN0aW9ucyA9IFwib2RiOkxpc3RPZGJQZWVyaW5nQ29ubmVjdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBvZGI6TGlzdFN5c3RlbVZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3lzdGVtVmVyc2lvbnMgPSBcIm9kYjpMaXN0U3lzdGVtVmVyc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBvZGI6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwib2RiOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwib2RiOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpSZWJvb3RBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlYm9vdEF1dG9ub21vdXNEYXRhYmFzZSA9IFwib2RiOlJlYm9vdEF1dG9ub21vdXNEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6UmVib290RGJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWJvb3REYk5vZGUgPSBcIm9kYjpSZWJvb3REYk5vZGVcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlJlc3RvcmVBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc3RvcmVBdXRvbm9tb3VzRGF0YWJhc2UgPSBcIm9kYjpSZXN0b3JlQXV0b25vbW91c0RhdGFiYXNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpTaHJpbmtBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNocmlua0F1dG9ub21vdXNEYXRhYmFzZSA9IFwib2RiOlNocmlua0F1dG9ub21vdXNEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6U3RhcnRBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXV0b25vbW91c0RhdGFiYXNlID0gXCJvZGI6U3RhcnRBdXRvbm9tb3VzRGF0YWJhc2VcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlN0YXJ0RGJOb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydERiTm9kZSA9IFwib2RiOlN0YXJ0RGJOb2RlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpTdG9wQXV0b25vbW91c0RhdGFiYXNlICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQXV0b25vbW91c0RhdGFiYXNlID0gXCJvZGI6U3RvcEF1dG9ub21vdXNEYXRhYmFzZVwiO1xuXHQvKiogW1dyaXRlXSBvZGI6U3RvcERiTm9kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcERiTm9kZSA9IFwib2RiOlN0b3BEYk5vZGVcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlN3aXRjaG92ZXJBdXRvbm9tb3VzRGF0YWJhc2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN3aXRjaG92ZXJBdXRvbm9tb3VzRGF0YWJhc2UgPVxuXHRcdFwib2RiOlN3aXRjaG92ZXJBdXRvbm9tb3VzRGF0YWJhc2VcIjtcblx0LyoqIFtUYWdnaW5nXSBvZGI6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJvZGI6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBvZGI6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwib2RiOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXV0b25vbW91c0RhdGFiYXNlID0gXCJvZGI6VXBkYXRlQXV0b25vbW91c0RhdGFiYXNlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpVcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCA9XG5cdFx0XCJvZGI6VXBkYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpVcGRhdGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgPVxuXHRcdFwib2RiOlVwZGF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpVcGRhdGVFeGFkYlZtQ2x1c3RlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhhZGJWbUNsdXN0ZXIgPSBcIm9kYjpVcGRhdGVFeGFkYlZtQ2x1c3RlclwiO1xuXHQvKiogW1dyaXRlXSBvZGI6VXBkYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCA9XG5cdFx0XCJvZGI6VXBkYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdFwiO1xuXHQvKiogW1dyaXRlXSBvZGI6VXBkYXRlR3JhbnRTaGFyZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlR3JhbnRTaGFyZSA9IFwib2RiOlVwZGF0ZUdyYW50U2hhcmVcIjtcblx0LyoqIFtXcml0ZV0gb2RiOlVwZGF0ZU9kYk5ldHdvcmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU9kYk5ldHdvcmsgPSBcIm9kYjpVcGRhdGVPZGJOZXR3b3JrXCI7XG5cdC8qKiBbV3JpdGVdIG9kYjpVcGRhdGVPZGJQZWVyaW5nQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24gPSBcIm9kYjpVcGRhdGVPZGJQZWVyaW5nQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBvZGI6VXBkYXRlT3V0Ym91bmRJbnRlZ3JhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT3V0Ym91bmRJbnRlZ3JhdGlvbiA9IFwib2RiOlVwZGF0ZU91dGJvdW5kSW50ZWdyYXRpb25cIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldEF1dG9ub21vdXNEYXRhYmFzZSxcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCxcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldEF1dG9ub21vdXNEYXRhYmFzZVdhbGxldERldGFpbHMsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXIsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSxcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlVW5hbGxvY2F0ZWRSZXNvdXJjZXMsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRDbG91ZFZtQ2x1c3Rlcixcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldERiTm9kZSxcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldERiU2VydmVyLFxuXHRcdE9kYkFjdGlvbnMuYWN0aW9uR2V0RXhhZGJWbUNsdXN0ZXIsXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRFeGFzY2FsZURiU3RvcmFnZVZhdWx0LFxuXHRcdE9kYkFjdGlvbnMuYWN0aW9uR2V0T2NpT25ib2FyZGluZ1N0YXR1cyxcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldE9kYk5ldHdvcmssXG5cdFx0T2RiQWN0aW9ucy5hY3Rpb25HZXRPZGJQZWVyaW5nQ29ubmVjdGlvbixcblx0XHRPZGJBY3Rpb25zLmFjdGlvbkdldFJlc291cmNlUG9saWN5LFxuXHRcdE9kYkFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRPZGJBY3Rpb25zLkFjY2VwdE1hcmtldHBsYWNlUmVnaXN0cmF0aW9uLFxuXHRcdE9kYkFjdGlvbnMuQXNzb2NpYXRlSWFtUm9sZVRvUmVzb3VyY2UsXG5cdFx0T2RiQWN0aW9ucy5Bc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNUb0V4YWRiVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlV2FsbGV0LFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUsXG5cdFx0T2RiQWN0aW9ucy5DcmVhdGVDbG91ZFZtQ2x1c3Rlcixcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZURiTm9kZSxcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZUV4YWRiVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCxcblx0XHRPZGJBY3Rpb25zLkNyZWF0ZUdyYW50U2hhcmUsXG5cdFx0T2RiQWN0aW9ucy5DcmVhdGVPZGJOZXR3b3JrLFxuXHRcdE9kYkFjdGlvbnMuQ3JlYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24sXG5cdFx0T2RiQWN0aW9ucy5DcmVhdGVPdXRib3VuZEludGVncmF0aW9uLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlQXV0b25vbW91c0RhdGFiYXNlLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUsXG5cdFx0T2RiQWN0aW9ucy5EZWxldGVDbG91ZFZtQ2x1c3Rlcixcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZURiTm9kZSxcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZUV4YWRiVm1DbHVzdGVyLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCxcblx0XHRPZGJBY3Rpb25zLkRlbGV0ZUdyYW50U2hhcmUsXG5cdFx0T2RiQWN0aW9ucy5EZWxldGVPZGJOZXR3b3JrLFxuXHRcdE9kYkFjdGlvbnMuRGVsZXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24sXG5cdFx0T2RiQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRPZGJBY3Rpb25zLkRpc2Fzc29jaWF0ZUlhbVJvbGVGcm9tUmVzb3VyY2UsXG5cdFx0T2RiQWN0aW9ucy5EaXNhc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNGcm9tRXhhZGJWbUNsdXN0ZXIsXG5cdFx0T2RiQWN0aW9ucy5GYWlsb3ZlckF1dG9ub21vdXNEYXRhYmFzZSxcblx0XHRPZGJBY3Rpb25zLkluaXRpYWxpemVTZXJ2aWNlLFxuXHRcdE9kYkFjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdFx0T2RiQWN0aW9ucy5SZWJvb3RBdXRvbm9tb3VzRGF0YWJhc2UsXG5cdFx0T2RiQWN0aW9ucy5SZWJvb3REYk5vZGUsXG5cdFx0T2RiQWN0aW9ucy5SZXN0b3JlQXV0b25vbW91c0RhdGFiYXNlLFxuXHRcdE9kYkFjdGlvbnMuU2hyaW5rQXV0b25vbW91c0RhdGFiYXNlLFxuXHRcdE9kYkFjdGlvbnMuU3RhcnRBdXRvbm9tb3VzRGF0YWJhc2UsXG5cdFx0T2RiQWN0aW9ucy5TdGFydERiTm9kZSxcblx0XHRPZGJBY3Rpb25zLlN0b3BBdXRvbm9tb3VzRGF0YWJhc2UsXG5cdFx0T2RiQWN0aW9ucy5TdG9wRGJOb2RlLFxuXHRcdE9kYkFjdGlvbnMuU3dpdGNob3ZlckF1dG9ub21vdXNEYXRhYmFzZSxcblx0XHRPZGJBY3Rpb25zLlVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZSxcblx0XHRPZGJBY3Rpb25zLlVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCxcblx0XHRPZGJBY3Rpb25zLlVwZGF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlLFxuXHRcdE9kYkFjdGlvbnMuVXBkYXRlRXhhZGJWbUNsdXN0ZXIsXG5cdFx0T2RiQWN0aW9ucy5VcGRhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0LFxuXHRcdE9kYkFjdGlvbnMuVXBkYXRlR3JhbnRTaGFyZSxcblx0XHRPZGJBY3Rpb25zLlVwZGF0ZU9kYk5ldHdvcmssXG5cdFx0T2RiQWN0aW9ucy5VcGRhdGVPZGJQZWVyaW5nQ29ubmVjdGlvbixcblx0XHRPZGJBY3Rpb25zLlVwZGF0ZU91dGJvdW5kSW50ZWdyYXRpb24sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdE9kYkFjdGlvbnMuTGlzdEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cHMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0QXV0b25vbW91c0RhdGFiYXNlQ2hhcmFjdGVyU2V0cyxcblx0XHRPZGJBY3Rpb25zLkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VDbG9uZXMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0QXV0b25vbW91c0RhdGFiYXNlUGVlcnMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0QXV0b25vbW91c0RhdGFiYXNlVmVyc2lvbnMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0QXV0b25vbW91c0RhdGFiYXNlcyxcblx0XHRPZGJBY3Rpb25zLkxpc3RBdXRvbm9tb3VzVmlydHVhbE1hY2hpbmVzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcnMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdENsb3VkVm1DbHVzdGVycyxcblx0XHRPZGJBY3Rpb25zLkxpc3REYk5vZGVzLFxuXHRcdE9kYkFjdGlvbnMuTGlzdERiU2VydmVycyxcblx0XHRPZGJBY3Rpb25zLkxpc3REYlN5c3RlbVNoYXBlcyxcblx0XHRPZGJBY3Rpb25zLkxpc3RFeGFkYlZtQ2x1c3RlcnMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdHMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0RmxleENvbXBvbmVudHMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0R2lNaW5vclZlcnNpb25zLFxuXHRcdE9kYkFjdGlvbnMuTGlzdEdpVmVyc2lvbnMsXG5cdFx0T2RiQWN0aW9ucy5MaXN0T2RiTmV0d29ya3MsXG5cdFx0T2RiQWN0aW9ucy5MaXN0T2RiUGVlcmluZ0Nvbm5lY3Rpb25zLFxuXHRcdE9kYkFjdGlvbnMuTGlzdFN5c3RlbVZlcnNpb25zLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRPZGJBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdE9kYkFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9ub21vdXMtZGF0YWJhc2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYkF1dG9ub21vdXNEYXRhYmFzZUFyblByb3BzIHtcblx0LyoqIFRoZSBBdXRvbm9tb3VzRGF0YWJhc2VJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXV0b25vbW91c0RhdGFiYXNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBhdXRvbm9tb3VzLWRhdGFiYXNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJBdXRvbm9tb3VzRGF0YWJhc2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEF1dG9ub21vdXNEYXRhYmFzZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXV0b25vbW91c0RhdGFiYXNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGF1dG9ub21vdXMtZGF0YWJhc2UtYmFja3VwIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXV0b25vbW91c0RhdGFiYXNlQmFja3VwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXV0b25vbW91cy1kYXRhYmFzZS1iYWNrdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYkF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXV0b25vbW91c0RhdGFiYXNlQmFja3VwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2xvdWQtYXV0b25vbW91cy12bS1jbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY2xvdWQtYXV0b25vbW91cy12bS1jbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsb3VkLWV4YWRhdGEtaW5mcmFzdHJ1Y3R1cmUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYkNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlQXJuUHJvcHMge1xuXHQvKiogVGhlIENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbG91ZC1leGFkYXRhLWluZnJhc3RydWN0dXJlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNsb3VkLXZtLWNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYkNsb3VkVm1DbHVzdGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIENsb3VkVm1DbHVzdGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNsb3VkVm1DbHVzdGVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbG91ZC12bS1jbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJDbG91ZFZtQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2xvdWRWbUNsdXN0ZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsb3VkVm1DbHVzdGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGRiLW5vZGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYkRCTm9kZUFyblByb3BzIHtcblx0LyoqIFRoZSBEYk5vZGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZGJOb2RlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBkYi1ub2RlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJEQk5vZGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIERiTm9kZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZGJOb2RlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV4YWRiLXZtLWNsdXN0ZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYkV4YWRiVm1DbHVzdGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIEV4YWRiVm1DbHVzdGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGV4YWRiVm1DbHVzdGVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleGFkYi12bS1jbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJFeGFkYlZtQ2x1c3RlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgRXhhZGJWbUNsdXN0ZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGV4YWRiVm1DbHVzdGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGV4YXNjYWxlLWRiLXN0b3JhZ2UtdmF1bHQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYkV4YXNjYWxlREJTdG9yYWdlVmF1bHRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleGFzY2FsZURCU3RvcmFnZVZhdWx0SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBleGFzY2FsZS1kYi1zdG9yYWdlLXZhdWx0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJFeGFzY2FsZURCU3RvcmFnZVZhdWx0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBFeGFzY2FsZURiU3RvcmFnZVZhdWx0SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBleGFzY2FsZURCU3RvcmFnZVZhdWx0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIG9kYi1uZXR3b3JrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPZGJPZGJOZXR3b3JrQXJuUHJvcHMge1xuXHQvKiogVGhlIE9kYk5ldHdvcmtJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb2RiTmV0d29ya0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgb2RiLW5ldHdvcmsgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYk9kYk5ldHdvcmtBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE9kYk5ldHdvcmtJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9kYk5ldHdvcmtJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgb2RiLXBlZXJpbmctY29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2RiT2RiUGVlcmluZ0Nvbm5lY3Rpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgT2RiUGVlcmluZ0Nvbm5lY3Rpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb2RiUGVlcmluZ0Nvbm5lY3Rpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIG9kYi1wZWVyaW5nLWNvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9kYk9kYlBlZXJpbmdDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBPZGJQZWVyaW5nQ29ubmVjdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgb2RiUGVlcmluZ0Nvbm5lY3Rpb25JZDogc3RyaW5nO1xufVxuXG5jb25zdCBBdXRvbm9tb3VzRGF0YWJhc2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6b2RiOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b25vbW91cy1kYXRhYmFzZVxcLyg/PGF1dG9ub21vdXNEYXRhYmFzZUlkPlteOi8/XSspJC87XG5jb25zdCBBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6b2RiOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXV0b25vbW91cy1kYXRhYmFzZS1iYWNrdXBcXC8oPzxhdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBJZD5bXjovP10rKSQvO1xuY29uc3QgQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9kYjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNsb3VkLWF1dG9ub21vdXMtdm0tY2x1c3RlclxcLyg/PGNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcklkPlteOi8/XSspJC87XG5jb25zdCBDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvZGI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjbG91ZC1leGFkYXRhLWluZnJhc3RydWN0dXJlXFwvKD88Y2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVJZD5bXjovP10rKSQvO1xuY29uc3QgQ2xvdWRWbUNsdXN0ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6b2RiOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2xvdWQtdm0tY2x1c3RlclxcLyg/PGNsb3VkVm1DbHVzdGVySWQ+W146Lz9dKykkLztcbmNvbnN0IERCTm9kZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpvZGI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpkYi1ub2RlXFwvKD88ZGJOb2RlSWQ+W146Lz9dKykkLztcbmNvbnN0IEV4YWRiVm1DbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9kYjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4YWRiLXZtLWNsdXN0ZXJcXC8oPzxleGFkYlZtQ2x1c3RlcklkPlteOi8/XSspJC87XG5jb25zdCBFeGFzY2FsZURCU3RvcmFnZVZhdWx0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9kYjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmV4YXNjYWxlLWRiLXN0b3JhZ2UtdmF1bHRcXC8oPzxleGFzY2FsZURCU3RvcmFnZVZhdWx0SWQ+W146Lz9dKykkLztcbmNvbnN0IE9kYk5ldHdvcmtBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6b2RiOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b2RiLW5ldHdvcmtcXC8oPzxvZGJOZXR3b3JrSWQ+W146Lz9dKykkLztcbmNvbnN0IE9kYlBlZXJpbmdDb25uZWN0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOm9kYjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9kYi1wZWVyaW5nLWNvbm5lY3Rpb25cXC8oPzxvZGJQZWVyaW5nQ29ubmVjdGlvbklkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3Igb2RiIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIE9kYlJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXV0b25vbW91cy1kYXRhYmFzZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhdXRvbm9tb3VzRGF0YWJhc2UocHJvcHM6IE9kYkF1dG9ub21vdXNEYXRhYmFzZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpvZGI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YXV0b25vbW91cy1kYXRhYmFzZS8ke3Byb3BzLmF1dG9ub21vdXNEYXRhYmFzZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhdXRvbm9tb3VzLWRhdGFiYXNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbm9tb3VzRGF0YWJhc2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b25vbW91c0RhdGFiYXNlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9ub21vdXMtZGF0YWJhc2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXV0b25vbW91c0RhdGFiYXNlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBPZGJBdXRvbm9tb3VzRGF0YWJhc2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF1dG9ub21vdXNEYXRhYmFzZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhdXRvbm9tb3VzLWRhdGFiYXNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGF1dG9ub21vdXNEYXRhYmFzZUlkOiBtYXRjaC5ncm91cHMhLmF1dG9ub21vdXNEYXRhYmFzZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGF1dG9ub21vdXMtZGF0YWJhc2UtYmFja3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cChcblx0XHRwcm9wczogT2RiQXV0b25vbW91c0RhdGFiYXNlQmFja3VwQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b2RiOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmF1dG9ub21vdXMtZGF0YWJhc2UtYmFja3VwLyR7cHJvcHMuYXV0b25vbW91c0RhdGFiYXNlQmFja3VwSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF1dG9ub21vdXMtZGF0YWJhc2UtYmFja3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXV0b25vbW91c0RhdGFiYXNlQmFja3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGF1dG9ub21vdXMtZGF0YWJhc2UtYmFja3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT2RiQXV0b25vbW91c0RhdGFiYXNlQmFja3VwQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXV0b25vbW91cy1kYXRhYmFzZS1iYWNrdXAgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXV0b25vbW91c0RhdGFiYXNlQmFja3VwSWQ6IG1hdGNoLmdyb3VwcyEuYXV0b25vbW91c0RhdGFiYXNlQmFja3VwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2xvdWQtYXV0b25vbW91cy12bS1jbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNsb3VkQXV0b25vbW91c1ZtQ2x1c3Rlcihcblx0XHRwcm9wczogT2RiQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b2RiOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsb3VkLWF1dG9ub21vdXMtdm0tY2x1c3Rlci8ke3Byb3BzLmNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbG91ZC1hdXRvbm9tb3VzLXZtLWNsdXN0ZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2xvdWQtYXV0b25vbW91cy12bS1jbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT2RiQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2xvdWQtYXV0b25vbW91cy12bS1jbHVzdGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcklkOiBtYXRjaC5ncm91cHMhLmNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNsb3VkLWV4YWRhdGEtaW5mcmFzdHJ1Y3R1cmUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUoXG5cdFx0cHJvcHM6IE9kYkNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b2RiOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsb3VkLWV4YWRhdGEtaW5mcmFzdHJ1Y3R1cmUvJHtwcm9wcy5jbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbG91ZC1leGFkYXRhLWluZnJhc3RydWN0dXJlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbG91ZC1leGFkYXRhLWluZnJhc3RydWN0dXJlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBPZGJDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2xvdWQtZXhhZGF0YS1pbmZyYXN0cnVjdHVyZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZUlkOiBtYXRjaC5ncm91cHMhLmNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2xvdWQtdm0tY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbG91ZFZtQ2x1c3Rlcihwcm9wczogT2RiQ2xvdWRWbUNsdXN0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b2RiOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsb3VkLXZtLWNsdXN0ZXIvJHtwcm9wcy5jbG91ZFZtQ2x1c3RlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjbG91ZC12bS1jbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDbG91ZFZtQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbG91ZFZtQ2x1c3RlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjbG91ZC12bS1jbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNsb3VkVm1DbHVzdGVyQXJuKGFybjogc3RyaW5nKTogT2RiQ2xvdWRWbUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsb3VkVm1DbHVzdGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNsb3VkLXZtLWNsdXN0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2xvdWRWbUNsdXN0ZXJJZDogbWF0Y2guZ3JvdXBzIS5jbG91ZFZtQ2x1c3RlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGRiLW5vZGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZGJOb2RlKHByb3BzOiBPZGJEQk5vZGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b2RiOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmRiLW5vZGUvJHtwcm9wcy5kYk5vZGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZGItbm9kZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkREJOb2RlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIERCTm9kZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBkYi1ub2RlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZURCTm9kZUFybihhcm46IHN0cmluZyk6IE9kYkRCTm9kZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gREJOb2RlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGRiLW5vZGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZGJOb2RlSWQ6IG1hdGNoLmdyb3VwcyEuZGJOb2RlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhhZGItdm0tY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBleGFkYlZtQ2x1c3Rlcihwcm9wczogT2RiRXhhZGJWbUNsdXN0ZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06b2RiOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmV4YWRiLXZtLWNsdXN0ZXIvJHtwcm9wcy5leGFkYlZtQ2x1c3RlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleGFkYi12bS1jbHVzdGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeGFkYlZtQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBFeGFkYlZtQ2x1c3RlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBleGFkYi12bS1jbHVzdGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUV4YWRiVm1DbHVzdGVyQXJuKGFybjogc3RyaW5nKTogT2RiRXhhZGJWbUNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEV4YWRiVm1DbHVzdGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4YWRiLXZtLWNsdXN0ZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZXhhZGJWbUNsdXN0ZXJJZDogbWF0Y2guZ3JvdXBzIS5leGFkYlZtQ2x1c3RlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGV4YXNjYWxlLWRiLXN0b3JhZ2UtdmF1bHQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgZXhhc2NhbGVEQlN0b3JhZ2VWYXVsdChcblx0XHRwcm9wczogT2RiRXhhc2NhbGVEQlN0b3JhZ2VWYXVsdEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpleGFzY2FsZS1kYi1zdG9yYWdlLXZhdWx0LyR7cHJvcHMuZXhhc2NhbGVEQlN0b3JhZ2VWYXVsdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBleGFzY2FsZS1kYi1zdG9yYWdlLXZhdWx0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeGFzY2FsZURCU3RvcmFnZVZhdWx0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEV4YXNjYWxlREJTdG9yYWdlVmF1bHRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgZXhhc2NhbGUtZGItc3RvcmFnZS12YXVsdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeGFzY2FsZURCU3RvcmFnZVZhdWx0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBPZGJFeGFzY2FsZURCU3RvcmFnZVZhdWx0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBFeGFzY2FsZURCU3RvcmFnZVZhdWx0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4YXNjYWxlLWRiLXN0b3JhZ2UtdmF1bHQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0ZXhhc2NhbGVEQlN0b3JhZ2VWYXVsdElkOiBtYXRjaC5ncm91cHMhLmV4YXNjYWxlREJTdG9yYWdlVmF1bHRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBvZGItbmV0d29yayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvZGJOZXR3b3JrKHByb3BzOiBPZGJPZGJOZXR3b3JrQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpvZGItbmV0d29yay8ke3Byb3BzLm9kYk5ldHdvcmtJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgb2RiLW5ldHdvcmsgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9kYk5ldHdvcmtBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT2RiTmV0d29ya0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBvZGItbmV0d29yayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPZGJOZXR3b3JrQXJuKGFybjogc3RyaW5nKTogT2RiT2RiTmV0d29ya0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT2RiTmV0d29ya0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvZGItbmV0d29yayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRvZGJOZXR3b3JrSWQ6IG1hdGNoLmdyb3VwcyEub2RiTmV0d29ya0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIG9kYi1wZWVyaW5nLWNvbm5lY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb2RiUGVlcmluZ0Nvbm5lY3Rpb24ocHJvcHM6IE9kYk9kYlBlZXJpbmdDb25uZWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9Om9kYjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpvZGItcGVlcmluZy1jb25uZWN0aW9uLyR7cHJvcHMub2RiUGVlcmluZ0Nvbm5lY3Rpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgb2RiLXBlZXJpbmctY29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT2RiUGVlcmluZ0Nvbm5lY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT2RiUGVlcmluZ0Nvbm5lY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgb2RiLXBlZXJpbmctY29ubmVjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPZGJQZWVyaW5nQ29ubmVjdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogT2RiT2RiUGVlcmluZ0Nvbm5lY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9kYlBlZXJpbmdDb25uZWN0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG9kYi1wZWVyaW5nLWNvbm5lY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b2RiUGVlcmluZ0Nvbm5lY3Rpb25JZDogbWF0Y2guZ3JvdXBzIS5vZGJQZWVyaW5nQ29ubmVjdGlvbklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIG9kYi5cbiAqL1xuZXhwb3J0IGNsYXNzIE9kYk9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRNYXJrZXRwbGFjZVJlZ2lzdHJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdE1hcmtldHBsYWNlUmVnaXN0cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpBY2NlcHRNYXJrZXRwbGFjZVJlZ2lzdHJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVJYW1Sb2xlVG9SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZUlhbVJvbGVUb1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpBc3NvY2lhdGVJYW1Sb2xlVG9SZXNvdXJjZVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVZpcnR1YWxNYWNoaW5lc1RvRXhhZGJWbUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVWaXJ0dWFsTWFjaGluZXNUb0V4YWRiVm1DbHVzdGVyOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkNyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZVwiLFxuXHRcdFwib2RiOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6Q3JlYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZVdhbGxldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZVdhbGxldDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6Q3JlYXRlQXV0b25vbW91c0RhdGFiYXNlV2FsbGV0XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpDcmVhdGVDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJcIixcblx0XHRcIm9kYjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpDcmVhdGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZVwiLFxuXHRcdFwib2RiOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNsb3VkVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRWbUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkNyZWF0ZUNsb3VkVm1DbHVzdGVyXCIsXG5cdFx0XCJvZGI6Q3JlYXRlRGJOb2RlXCIsXG5cdFx0XCJvZGI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXhhZGJWbUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeGFkYlZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkNyZWF0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHRcIixcblx0XHRcIm9kYjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPZGJOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT2RiTmV0d29yazogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6Q3JlYXRlT2RiTmV0d29ya1wiLFxuXHRcdFwib2RiOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkNyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uXCIsXG5cdFx0XCJvZGI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b25vbW91c0RhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpEZWxldGVBdXRvbm9tb3VzRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpEZWxldGVBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpEZWxldGVDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6RGVsZXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ2xvdWRWbUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDbG91ZFZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6RGVsZXRlQ2xvdWRWbUNsdXN0ZXJcIixcblx0XHRcIm9kYjpEZWxldGVEYk5vZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXhhZGJWbUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFeGFkYlZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHQ6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkRlbGV0ZUV4YXNjYWxlRGJTdG9yYWdlVmF1bHRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlT2RiTmV0d29yayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9kYk5ldHdvcms6IHN0cmluZ1tdID0gW1wib2RiOkRlbGV0ZU9kYk5ldHdvcmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9kYlBlZXJpbmdDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkRlbGV0ZU9kYlBlZXJpbmdDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZUlhbVJvbGVGcm9tUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVJYW1Sb2xlRnJvbVJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpEaXNhc3NvY2lhdGVJYW1Sb2xlRnJvbVJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERpc2Fzc29jaWF0ZVZpcnR1YWxNYWNoaW5lc0Zyb21FeGFkYlZtQ2x1c3RlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVZpcnR1YWxNYWNoaW5lc0Zyb21FeGFkYlZtQ2x1c3Rlcjogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRmFpbG92ZXJBdXRvbm9tb3VzRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBGYWlsb3ZlckF1dG9ub21vdXNEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6RmFpbG92ZXJBdXRvbm9tb3VzRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkdldEF1dG9ub21vdXNEYXRhYmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6R2V0QXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEF1dG9ub21vdXNEYXRhYmFzZVdhbGxldERldGFpbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEF1dG9ub21vdXNEYXRhYmFzZVdhbGxldERldGFpbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkdldEF1dG9ub21vdXNEYXRhYmFzZVdhbGxldERldGFpbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkdldENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmU6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlVW5hbGxvY2F0ZWRSZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlVW5hbGxvY2F0ZWRSZXNvdXJjZXM6IHN0cmluZ1tdID1cblx0XHRbXCJvZGI6R2V0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVVbmFsbG9jYXRlZFJlc291cmNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q2xvdWRWbUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENsb3VkVm1DbHVzdGVyOiBzdHJpbmdbXSA9IFtcIm9kYjpHZXRDbG91ZFZtQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGJOb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREYk5vZGU6IHN0cmluZ1tdID0gW1wib2RiOkdldERiTm9kZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGJTZXJ2ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERiU2VydmVyOiBzdHJpbmdbXSA9IFtcIm9kYjpHZXREYlNlcnZlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhhZGJWbUNsdXN0ZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEV4YWRiVm1DbHVzdGVyOiBzdHJpbmdbXSA9IFtcIm9kYjpHZXRFeGFkYlZtQ2x1c3RlclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6R2V0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPY2lPbmJvYXJkaW5nU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPY2lPbmJvYXJkaW5nU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpHZXRPY2lPbmJvYXJkaW5nU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9kYk5ldHdvcmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9kYk5ldHdvcms6IHN0cmluZ1tdID0gW1wib2RiOkdldE9kYk5ldHdvcmtcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9kYlBlZXJpbmdDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPZGJQZWVyaW5nQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6R2V0T2RiUGVlcmluZ0Nvbm5lY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW5pdGlhbGl6ZVNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbml0aWFsaXplU2VydmljZTogc3RyaW5nW10gPSBbXCJvZGI6SW5pdGlhbGl6ZVNlcnZpY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cHM6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VCYWNrdXBzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbm9tb3VzRGF0YWJhc2VDaGFyYWN0ZXJTZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNEYXRhYmFzZUNoYXJhY3RlclNldHM6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VDaGFyYWN0ZXJTZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbm9tb3VzRGF0YWJhc2VDbG9uZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2xvbmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0QXV0b25vbW91c0RhdGFiYXNlQ2xvbmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbm9tb3VzRGF0YWJhc2VQZWVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VQZWVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZVBlZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbm9tb3VzRGF0YWJhc2VWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdXRvbm9tb3VzRGF0YWJhc2VWZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6TGlzdEF1dG9ub21vdXNEYXRhYmFzZVZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbm9tb3VzRGF0YWJhc2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNEYXRhYmFzZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzRGF0YWJhc2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBdXRvbm9tb3VzVmlydHVhbE1hY2hpbmVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF1dG9ub21vdXNWaXJ0dWFsTWFjaGluZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkxpc3RBdXRvbm9tb3VzVmlydHVhbE1hY2hpbmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENsb3VkQXV0b25vbW91c1ZtQ2x1c3RlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOkxpc3RDbG91ZEF1dG9ub21vdXNWbUNsdXN0ZXJzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbG91ZEV4YWRhdGFJbmZyYXN0cnVjdHVyZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0Q2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDbG91ZFZtQ2x1c3RlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q2xvdWRWbUNsdXN0ZXJzOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0Q2xvdWRWbUNsdXN0ZXJzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RGJOb2RlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYk5vZGVzOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0RGJOb2Rlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERiU2VydmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYlNlcnZlcnM6IHN0cmluZ1tdID0gW1wib2RiOkxpc3REYlNlcnZlcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REYlN5c3RlbVNoYXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REYlN5c3RlbVNoYXBlczogc3RyaW5nW10gPSBbXCJvZGI6TGlzdERiU3lzdGVtU2hhcGVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RXhhZGJWbUNsdXN0ZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4YWRiVm1DbHVzdGVyczogc3RyaW5nW10gPSBbXCJvZGI6TGlzdEV4YWRiVm1DbHVzdGVyc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4YXNjYWxlRGJTdG9yYWdlVmF1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0RXhhc2NhbGVEYlN0b3JhZ2VWYXVsdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZsZXhDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZsZXhDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0RmxleENvbXBvbmVudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RHaU1pbm9yVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0R2lNaW5vclZlcnNpb25zOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0R2lNaW5vclZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0R2lWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RHaVZlcnNpb25zOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0R2lWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE9kYk5ldHdvcmtzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE9kYk5ldHdvcmtzOiBzdHJpbmdbXSA9IFtcIm9kYjpMaXN0T2RiTmV0d29ya3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RPZGJQZWVyaW5nQ29ubmVjdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0T2RiUGVlcmluZ0Nvbm5lY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpMaXN0T2RiUGVlcmluZ0Nvbm5lY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTeXN0ZW1WZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTeXN0ZW1WZXJzaW9uczogc3RyaW5nW10gPSBbXCJvZGI6TGlzdFN5c3RlbVZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJvZGI6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVib290QXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290QXV0b25vbW91c0RhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpSZWJvb3RBdXRvbm9tb3VzRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVib290RGJOb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVib290RGJOb2RlOiBzdHJpbmdbXSA9IFtcIm9kYjpSZWJvb3REYk5vZGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc3RvcmVBdXRvbm9tb3VzRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN0b3JlQXV0b25vbW91c0RhdGFiYXNlOiBzdHJpbmdbXSA9IFtcblx0XHRcIm9kYjpSZXN0b3JlQXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNocmlua0F1dG9ub21vdXNEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNocmlua0F1dG9ub21vdXNEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6U2hyaW5rQXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOlN0YXJ0QXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0RGJOb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnREYk5vZGU6IHN0cmluZ1tdID0gW1wib2RiOlN0YXJ0RGJOb2RlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wQXV0b25vbW91c0RhdGFiYXNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcEF1dG9ub21vdXNEYXRhYmFzZTogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6U3RvcEF1dG9ub21vdXNEYXRhYmFzZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wRGJOb2RlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcERiTm9kZTogc3RyaW5nW10gPSBbXCJvZGI6U3RvcERiTm9kZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3dpdGNob3ZlckF1dG9ub21vdXNEYXRhYmFzZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN3aXRjaG92ZXJBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOlN3aXRjaG92ZXJBdXRvbm9tb3VzRGF0YWJhc2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJvZGI6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcIm9kYjpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBdXRvbm9tb3VzRGF0YWJhc2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJvZGI6VXBkYXRlQXV0b25vbW91c0RhdGFiYXNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6VXBkYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmU6IHN0cmluZ1tdID0gW1xuXHRcdFwib2RiOlVwZGF0ZUNsb3VkRXhhZGF0YUluZnJhc3RydWN0dXJlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV4YWRiVm1DbHVzdGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhhZGJWbUNsdXN0ZXI6IHN0cmluZ1tdID0gW1wib2RiOlVwZGF0ZUV4YWRiVm1DbHVzdGVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdDogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6VXBkYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVPZGJOZXR3b3JrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlT2RiTmV0d29yazogc3RyaW5nW10gPSBbXCJvZGI6VXBkYXRlT2RiTmV0d29ya1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVPZGJQZWVyaW5nQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJvZGI6VXBkYXRlT2RiUGVlcmluZ0Nvbm5lY3Rpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIG9kYi5cbiAqL1xuZXhwb3J0IGNsYXNzIE9kYkNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQXV0b25vbW91c0RhdGFiYXNlQmFja3VwIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUF1dG9ub21vdXNEYXRhYmFzZUJhY2t1cENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2xvdWRBdXRvbm9tb3VzVm1DbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkQXV0b25vbW91c1ZtQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ2xvdWRFeGFkYXRhSW5mcmFzdHJ1Y3R1cmVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZUNsb3VkVm1DbHVzdGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNsb3VkVm1DbHVzdGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVFeGFkYlZtQ2x1c3RlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeGFkYlZtQ2x1c3RlckNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlRXhhc2NhbGVEYlN0b3JhZ2VWYXVsdCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFeGFzY2FsZURiU3RvcmFnZVZhdWx0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVPZGJOZXR3b3JrIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9kYk5ldHdvcmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9kYlBlZXJpbmdDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
|
|
@@ -16,7 +16,7 @@ class OmicsActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.OmicsActions = OmicsActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
OmicsActions[_a] = { fqn: "@cdk_utils/iam.omics.OmicsActions", version: "1.
|
|
19
|
+
OmicsActions[_a] = { fqn: "@cdk_utils/iam.omics.OmicsActions", version: "1.17.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
OmicsActions.SERVICE_PREFIX = "omics";
|
|
22
22
|
/** [Write] omics:AbortMultipartReadSetUpload */
|
|
@@ -800,7 +800,7 @@ class OmicsResources {
|
|
|
800
800
|
}
|
|
801
801
|
exports.OmicsResources = OmicsResources;
|
|
802
802
|
_b = JSII_RTTI_SYMBOL_1;
|
|
803
|
-
OmicsResources[_b] = { fqn: "@cdk_utils/iam.omics.OmicsResources", version: "1.
|
|
803
|
+
OmicsResources[_b] = { fqn: "@cdk_utils/iam.omics.OmicsResources", version: "1.17.0" };
|
|
804
804
|
/**
|
|
805
805
|
* API operation to required IAM actions mapping for omics.
|
|
806
806
|
*/
|
|
@@ -808,7 +808,7 @@ class OmicsOperations {
|
|
|
808
808
|
}
|
|
809
809
|
exports.OmicsOperations = OmicsOperations;
|
|
810
810
|
_c = JSII_RTTI_SYMBOL_1;
|
|
811
|
-
OmicsOperations[_c] = { fqn: "@cdk_utils/iam.omics.OmicsOperations", version: "1.
|
|
811
|
+
OmicsOperations[_c] = { fqn: "@cdk_utils/iam.omics.OmicsOperations", version: "1.17.0" };
|
|
812
812
|
/** IAM actions required for the AbortMultipartReadSetUpload API call. */
|
|
813
813
|
OmicsOperations.AbortMultipartReadSetUpload = [
|
|
814
814
|
"omics:AbortMultipartReadSetUpload",
|
|
@@ -1180,7 +1180,7 @@ class OmicsConditions {
|
|
|
1180
1180
|
}
|
|
1181
1181
|
exports.OmicsConditions = OmicsConditions;
|
|
1182
1182
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1183
|
-
OmicsConditions[_d] = { fqn: "@cdk_utils/iam.omics.OmicsConditions", version: "1.
|
|
1183
|
+
OmicsConditions[_d] = { fqn: "@cdk_utils/iam.omics.OmicsConditions", version: "1.17.0" };
|
|
1184
1184
|
/** Condition keys applicable to the CreateAnnotationStore action. */
|
|
1185
1185
|
OmicsConditions.CreateAnnotationStoreConditionKeys = [
|
|
1186
1186
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class OneActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.OneActions = OneActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
OneActions[_a] = { fqn: "@cdk_utils/iam.one.OneActions", version: "1.
|
|
19
|
+
OneActions[_a] = { fqn: "@cdk_utils/iam.one.OneActions", version: "1.17.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
OneActions.SERVICE_PREFIX = "one";
|
|
22
22
|
/** [Write] one:CreateDeviceActivationQrCode */
|
|
@@ -270,7 +270,7 @@ class OneResources {
|
|
|
270
270
|
}
|
|
271
271
|
exports.OneResources = OneResources;
|
|
272
272
|
_b = JSII_RTTI_SYMBOL_1;
|
|
273
|
-
OneResources[_b] = { fqn: "@cdk_utils/iam.one.OneResources", version: "1.
|
|
273
|
+
OneResources[_b] = { fqn: "@cdk_utils/iam.one.OneResources", version: "1.17.0" };
|
|
274
274
|
/**
|
|
275
275
|
* Condition key constants and builders for one.
|
|
276
276
|
*/
|
|
@@ -296,7 +296,7 @@ class OneConditions {
|
|
|
296
296
|
}
|
|
297
297
|
exports.OneConditions = OneConditions;
|
|
298
298
|
_c = JSII_RTTI_SYMBOL_1;
|
|
299
|
-
OneConditions[_c] = { fqn: "@cdk_utils/iam.one.OneConditions", version: "1.
|
|
299
|
+
OneConditions[_c] = { fqn: "@cdk_utils/iam.one.OneConditions", version: "1.17.0" };
|
|
300
300
|
/** Condition keys applicable to the CreateDeviceActivationQrCode action. */
|
|
301
301
|
OneConditions.CreateDeviceActivationQrCodeConditionKeys = [
|
|
302
302
|
"aws:ResourceTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class OpenSearchActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.OpenSearchActions = OpenSearchActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
OpenSearchActions[_a] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchActions", version: "1.
|
|
19
|
+
OpenSearchActions[_a] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchActions", version: "1.17.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
OpenSearchActions.SERVICE_PREFIX = "opensearch";
|
|
22
22
|
/** [PermissionManagement] opensearch:ApplicationAccessAll */
|
|
@@ -131,7 +131,7 @@ class OpenSearchResources {
|
|
|
131
131
|
}
|
|
132
132
|
exports.OpenSearchResources = OpenSearchResources;
|
|
133
133
|
_b = JSII_RTTI_SYMBOL_1;
|
|
134
|
-
OpenSearchResources[_b] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchResources", version: "1.
|
|
134
|
+
OpenSearchResources[_b] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchResources", version: "1.17.0" };
|
|
135
135
|
/**
|
|
136
136
|
* API operation to required IAM actions mapping for opensearch.
|
|
137
137
|
*/
|
|
@@ -139,7 +139,7 @@ class OpenSearchOperations {
|
|
|
139
139
|
}
|
|
140
140
|
exports.OpenSearchOperations = OpenSearchOperations;
|
|
141
141
|
_c = JSII_RTTI_SYMBOL_1;
|
|
142
|
-
OpenSearchOperations[_c] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchOperations", version: "1.
|
|
142
|
+
OpenSearchOperations[_c] = { fqn: "@cdk_utils/iam.opensearch.OpenSearchOperations", version: "1.17.0" };
|
|
143
143
|
/** IAM actions required for the AcceptInboundConnection API call. */
|
|
144
144
|
OpenSearchOperations.AcceptInboundConnection = [
|
|
145
145
|
"es:AcceptInboundConnection",
|