@horietakehiro/aws-cdk-utul 0.33.0 → 0.33.2
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/buildspec_schedule.yaml +42 -0
- package/lib/types/cfn-resource-types/aws-amazonmq-broker.d.ts +2 -1
- package/lib/types/cfn-resource-types/aws-amazonmq-broker.js +1 -1
- package/lib/types/cfn-resource-types/aws-appconfig-configurationprofile.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-appconfig-configurationprofile.js +1 -1
- package/lib/types/cfn-resource-types/aws-appconfig-deployment.d.ts +40 -4
- package/lib/types/cfn-resource-types/aws-appconfig-deployment.js +1 -1
- package/lib/types/cfn-resource-types/aws-appconfig-environment.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-appconfig-environment.js +1 -1
- package/lib/types/cfn-resource-types/aws-autoscaling-autoscalinggroup.d.ts +17 -0
- package/lib/types/cfn-resource-types/aws-autoscaling-autoscalinggroup.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-agent.d.ts +5 -0
- package/lib/types/cfn-resource-types/aws-bedrock-agent.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-datasource.d.ts +25 -16
- package/lib/types/cfn-resource-types/aws-bedrock-datasource.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-knowledgebase.d.ts +48 -3
- package/lib/types/cfn-resource-types/aws-bedrock-knowledgebase.js +1 -1
- package/lib/types/cfn-resource-types/aws-bedrock-prompt.d.ts +158 -3
- package/lib/types/cfn-resource-types/aws-bedrock-prompt.js +1 -1
- package/lib/types/cfn-resource-types/aws-cassandra-keyspace.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-cassandra-keyspace.js +1 -1
- package/lib/types/cfn-resource-types/aws-cassandra-type.d.ts +41 -0
- package/lib/types/cfn-resource-types/aws-cassandra-type.js +3 -0
- package/lib/types/cfn-resource-types/aws-cleanrooms-collaboration.d.ts +18 -0
- package/lib/types/cfn-resource-types/aws-cleanrooms-collaboration.js +1 -1
- package/lib/types/cfn-resource-types/aws-cleanrooms-membership.d.ts +11 -0
- package/lib/types/cfn-resource-types/aws-cleanrooms-membership.js +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-guardhook.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-guardhook.js +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-lambdahook.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-cloudformation-lambdahook.js +1 -1
- package/lib/types/cfn-resource-types/aws-cloudfront-anycastiplist.d.ts +27 -0
- package/lib/types/cfn-resource-types/aws-cloudfront-anycastiplist.js +3 -0
- package/lib/types/cfn-resource-types/aws-cloudfront-distribution.d.ts +24 -7
- package/lib/types/cfn-resource-types/aws-cloudfront-distribution.js +1 -1
- package/lib/types/cfn-resource-types/aws-connect-queue.d.ts +0 -1
- package/lib/types/cfn-resource-types/aws-connect-queue.js +1 -1
- package/lib/types/cfn-resource-types/aws-customerprofiles-eventtrigger.d.ts +162 -0
- package/lib/types/cfn-resource-types/aws-customerprofiles-eventtrigger.js +3 -0
- package/lib/types/cfn-resource-types/aws-databrew-dataset.d.ts +9 -0
- package/lib/types/cfn-resource-types/aws-databrew-dataset.js +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-datasource.d.ts +23 -1
- package/lib/types/cfn-resource-types/aws-datazone-datasource.js +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-projectmembership.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-projectmembership.js +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-subscriptiontarget.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-datazone-subscriptiontarget.js +1 -1
- package/lib/types/cfn-resource-types/aws-dms-dataprovider.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-dms-dataprovider.js +1 -1
- package/lib/types/cfn-resource-types/aws-docdb-dbcluster.d.ts +3 -0
- package/lib/types/cfn-resource-types/aws-docdb-dbcluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-dynamodb-globaltable.d.ts +5 -3
- package/lib/types/cfn-resource-types/aws-dynamodb-globaltable.js +1 -1
- package/lib/types/cfn-resource-types/aws-dynamodb-table.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-dynamodb-table.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-ec2fleet.d.ts +10 -0
- package/lib/types/cfn-resource-types/aws-ec2-ec2fleet.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-launchtemplate.d.ts +1022 -0
- package/lib/types/cfn-resource-types/aws-ec2-launchtemplate.js +3 -0
- package/lib/types/cfn-resource-types/aws-ec2-networkacl.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-ec2-networkacl.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-spotfleet.d.ts +136 -126
- package/lib/types/cfn-resource-types/aws-ec2-spotfleet.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-volume.d.ts +5 -5
- package/lib/types/cfn-resource-types/aws-ec2-volume.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpccidrblock.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-ec2-vpccidrblock.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.d.ts +27 -14
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpoint.js +1 -1
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpointservice.d.ts +8 -0
- package/lib/types/cfn-resource-types/aws-ec2-vpcendpointservice.js +1 -1
- package/lib/types/cfn-resource-types/aws-ecs-service.d.ts +6 -3
- package/lib/types/cfn-resource-types/aws-ecs-service.js +1 -1
- package/lib/types/cfn-resource-types/aws-ecs-taskdefinition.d.ts +5 -2
- package/lib/types/cfn-resource-types/aws-ecs-taskdefinition.js +1 -1
- package/lib/types/cfn-resource-types/aws-efs-filesystem.d.ts +10 -1
- package/lib/types/cfn-resource-types/aws-efs-filesystem.js +1 -1
- package/lib/types/cfn-resource-types/aws-fis-experimenttemplate.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-fis-experimenttemplate.js +1 -1
- package/lib/types/cfn-resource-types/aws-imagebuilder-image.d.ts +45 -45
- package/lib/types/cfn-resource-types/aws-imagebuilder-image.js +1 -1
- package/lib/types/cfn-resource-types/aws-lex-bot.d.ts +17 -0
- package/lib/types/cfn-resource-types/aws-lex-bot.js +1 -1
- package/lib/types/cfn-resource-types/aws-logs-loggroup.d.ts +11 -0
- package/lib/types/cfn-resource-types/aws-logs-loggroup.js +1 -1
- package/lib/types/cfn-resource-types/aws-logs-metricfilter.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-logs-metricfilter.js +1 -1
- package/lib/types/cfn-resource-types/aws-logs-subscriptionfilter.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-logs-subscriptionfilter.js +1 -1
- package/lib/types/cfn-resource-types/aws-mediaconnect-bridge.d.ts +10 -0
- package/lib/types/cfn-resource-types/aws-mediaconnect-bridge.js +1 -1
- package/lib/types/cfn-resource-types/aws-mediaconnect-bridgesource.d.ts +10 -0
- package/lib/types/cfn-resource-types/aws-mediaconnect-bridgesource.js +1 -1
- package/lib/types/cfn-resource-types/aws-mediaconvert-queue.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-mediaconvert-queue.js +1 -1
- package/lib/types/cfn-resource-types/aws-opensearchservice-domain.d.ts +10 -0
- package/lib/types/cfn-resource-types/aws-opensearchservice-domain.js +1 -1
- package/lib/types/cfn-resource-types/aws-pcs-cluster.d.ts +151 -0
- package/lib/types/cfn-resource-types/aws-pcs-cluster.js +3 -0
- package/lib/types/cfn-resource-types/aws-pcs-computenodegroup.d.ts +142 -0
- package/lib/types/cfn-resource-types/aws-pcs-computenodegroup.js +3 -0
- package/lib/types/cfn-resource-types/aws-pcs-queue.d.ts +65 -0
- package/lib/types/cfn-resource-types/aws-pcs-queue.js +3 -0
- package/lib/types/cfn-resource-types/aws-qbusiness-dataaccessor.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-qbusiness-dataaccessor.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-analysis.d.ts +4218 -0
- package/lib/types/cfn-resource-types/aws-quicksight-analysis.js +3 -0
- package/lib/types/cfn-resource-types/aws-quicksight-custompermissions.d.ts +48 -0
- package/lib/types/cfn-resource-types/aws-quicksight-custompermissions.js +3 -0
- package/lib/types/cfn-resource-types/aws-quicksight-dashboard.d.ts +4338 -0
- package/lib/types/cfn-resource-types/aws-quicksight-dashboard.js +3 -0
- package/lib/types/cfn-resource-types/aws-quicksight-dataset.d.ts +16 -22
- package/lib/types/cfn-resource-types/aws-quicksight-dataset.js +1 -1
- package/lib/types/cfn-resource-types/aws-quicksight-template.d.ts +4018 -0
- package/lib/types/cfn-resource-types/aws-quicksight-template.js +3 -0
- package/lib/types/cfn-resource-types/aws-rds-dbcluster.d.ts +24 -13
- package/lib/types/cfn-resource-types/aws-rds-dbcluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-rds-dbinstance.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-rds-dbinstance.js +1 -1
- package/lib/types/cfn-resource-types/aws-redshift-integration.d.ts +3 -5
- package/lib/types/cfn-resource-types/aws-redshift-integration.js +1 -1
- package/lib/types/cfn-resource-types/aws-resiliencehub-app.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-resiliencehub-app.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-cluster.d.ts +52 -52
- package/lib/types/cfn-resource-types/aws-sagemaker-cluster.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-domain.d.ts +5 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-domain.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-endpointconfig.d.ts +0 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-endpointconfig.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-partnerapp.d.ts +89 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-partnerapp.js +3 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-space.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-space.js +1 -1
- package/lib/types/cfn-resource-types/aws-sagemaker-userprofile.d.ts +5 -0
- package/lib/types/cfn-resource-types/aws-sagemaker-userprofile.js +1 -1
- package/lib/types/cfn-resource-types/aws-securityhub-configurationpolicy.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-securityhub-configurationpolicy.js +1 -1
- package/lib/types/cfn-resource-types/aws-ses-configurationset.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-ses-configurationset.js +1 -1
- package/lib/types/cfn-resource-types/aws-ses-mailmanagerruleset.d.ts +10 -1
- package/lib/types/cfn-resource-types/aws-ses-mailmanagerruleset.js +1 -1
- package/lib/types/cfn-resource-types/aws-ssmquicksetup-configurationmanager.d.ts +1 -1
- package/lib/types/cfn-resource-types/aws-ssmquicksetup-configurationmanager.js +1 -1
- package/lib/types/cfn-resource-types/aws-synthetics-canary.d.ts +4 -0
- package/lib/types/cfn-resource-types/aws-synthetics-canary.js +1 -1
- package/lib/types/cfn-resource-types/aws-wisdom-aiagent.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-wisdom-aiagent.js +1 -1
- package/lib/types/cfn-resource-types/aws-wisdom-aiprompt.d.ts +1 -0
- package/lib/types/cfn-resource-types/aws-wisdom-aiprompt.js +1 -1
- package/lib/types/cfn-resource-types.d.ts +24 -6
- package/lib/types/cfn-resource-types.js +50 -32
- package/package.json +2 -2
- package/lib/types/cfn-resource-types/aws-iot1click-device.d.ts +0 -8
- package/lib/types/cfn-resource-types/aws-iot1click-device.js +0 -3
- package/lib/types/cfn-resource-types/aws-iot1click-placement.d.ts +0 -14
- package/lib/types/cfn-resource-types/aws-iot1click-placement.js +0 -3
- package/lib/types/cfn-resource-types/aws-iot1click-project.d.ts +0 -18
- package/lib/types/cfn-resource-types/aws-iot1click-project.js +0 -3
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjMi1sYXVuY2h0ZW1wbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF3cy1lYzItbGF1bmNodGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGluc3RhbmNlIGZhbWlseSB0byB1c2UgYXMgdGhlIGJhc2VsaW5lIHJlZmVyZW5jZSBmb3IgQ1BVIHBlcmZvcm1hbmNlLiBBbGwgaW5zdGFuY2UgdHlwZXMgdGhhdCBtYXRjaCB5b3VyIHNwZWNpZmllZCBhdHRyaWJ1dGVzIGFyZSBjb21wYXJlZCBhZ2FpbnN0IHRoZSBDUFUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlZmVyZW5jZWQgaW5zdGFuY2UgZmFtaWx5LCByZWdhcmRsZXNzIG9mIENQVSBtYW51ZmFjdHVyZXIgb3IgYXJjaGl0ZWN0dXJlIGRpZmZlcmVuY2VzLlxuICovXG5leHBvcnQgdHlwZSBSZWZlcmVuY2VzID0gUmVmZXJlbmNlW11cblxuLyoqXG4gKiBTcGVjaWZpZXMgdGhlIHByb3BlcnRpZXMgZm9yIGNyZWF0aW5nIGEgbGF1bmNoIHRlbXBsYXRlLlxuICogIFRoZSBtaW5pbXVtIHJlcXVpcmVkIHByb3BlcnRpZXMgZm9yIHNwZWNpZnlpbmcgYSBsYXVuY2ggdGVtcGxhdGUgYXJlIGFzIGZvbGxvd3M6XG4gKiAgICsgIFlvdSBtdXN0IHNwZWNpZnkgYXQgbGVhc3Qgb25lIHByb3BlcnR5IGZvciB0aGUgbGF1bmNoIHRlbXBsYXRlIGRhdGEuXG4gKiAgICsgIFlvdSBjYW4gb3B0aW9uYWxseSBzcGVjaWZ5IGEgbmFtZSBmb3IgdGhlIGxhdW5jaCB0ZW1wbGF0ZS4gSWYgeW91IGRvIG5vdCBzcGVjaWZ5IGEgbmFtZSwgQ0ZOIGNyZWF0ZXMgYSBuYW1lIGZvciB5b3UuXG4gKiAgIFxuICogIEEgbGF1bmNoIHRlbXBsYXRlIGNhbiBjb250YWluIHNvbWUgb3IgYWxsIG9mIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIHRvIGxhdW5jaCBhbiBpbnN0YW5jZS4gV2hlbiB5b3UgbGF1bmNoIGFuIGluc3RhbmNlIHVzaW5nIGEgbGF1bmNoIHRlbXBsYXRlLCBpbnN0YW5jZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5vdCBzcGVjaWZpZWQgaW4gdGhlIGxhdW5jaCB0ZW1wbGF0ZSB1c2UgZGVmYXVsdCB2YWx1ZXMsIGV4Y2VwdCB0aGUgYGBJbWFnZUlkYGAgcHJvcGVydHksIHdoaWNoIGhhcyBubyBkZWZhdWx0IHZhbHVlLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgYW4gQU1JIElEIGZvciB0aGUgbGF1bmNoIHRlbXBsYXRlIGBgSW1hZ2VJZGBgIHByb3BlcnR5LCB5b3UgbXVzdCBzcGVjaWZ5IGFuIEFNSSBJRCBmb3IgdGhlIGluc3RhbmNlIGBgSW1hZ2VJZGBgIHByb3BlcnR5LlxuICogIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0xhdW5jaCBhbiBpbnN0YW5jZSBmcm9tIGEgbGF1bmNoIHRlbXBsYXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvZWMyLWxhdW5jaC10ZW1wbGF0ZXMuaHRtbCkgaW4gdGhlICpBbWF6b24gRUMyIFVzZXIgR3VpZGUqLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIF9BV1NfRUMyX0xBVU5DSFRFTVBMQVRFIHtcbi8qKlxuICogQSBuYW1lIGZvciB0aGUgbGF1bmNoIHRlbXBsYXRlLlxuICovXG5MYXVuY2hUZW1wbGF0ZU5hbWU/OiBzdHJpbmdcbkxhdW5jaFRlbXBsYXRlRGF0YTogTGF1bmNoVGVtcGxhdGVEYXRhXG4vKipcbiAqIEEgZGVzY3JpcHRpb24gZm9yIHRoZSBmaXJzdCB2ZXJzaW9uIG9mIHRoZSBsYXVuY2ggdGVtcGxhdGUuXG4gKi9cblZlcnNpb25EZXNjcmlwdGlvbj86IHN0cmluZ1xuLyoqXG4gKiBUaGUgdGFncyB0byBhcHBseSB0byB0aGUgbGF1bmNoIHRlbXBsYXRlIG9uIGNyZWF0aW9uLiBUbyB0YWcgdGhlIGxhdW5jaCB0ZW1wbGF0ZSwgdGhlIHJlc291cmNlIHR5cGUgbXVzdCBiZSBgYGxhdW5jaC10ZW1wbGF0ZWBgLlxuICogIFRvIHNwZWNpZnkgdGhlIHRhZ3MgZm9yIHJlc291cmNlcyB0aGF0IGFyZSBjcmVhdGVkIGR1cmluZyBpbnN0YW5jZSBsYXVuY2gsIHVzZSBbVGFnU3BlY2lmaWNhdGlvbnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWVjMi1sYXVuY2h0ZW1wbGF0ZS1sYXVuY2h0ZW1wbGF0ZWRhdGEuaHRtbCNjZm4tZWMyLWxhdW5jaHRlbXBsYXRlLWxhdW5jaHRlbXBsYXRlZGF0YS10YWdzcGVjaWZpY2F0aW9ucykuXG4gKi9cblRhZ1NwZWNpZmljYXRpb25zPzogTGF1bmNoVGVtcGxhdGVUYWdTcGVjaWZpY2F0aW9uW11cbkxhdGVzdFZlcnNpb25OdW1iZXI/OiBzdHJpbmdcbkxhdW5jaFRlbXBsYXRlSWQ/OiBzdHJpbmdcbkRlZmF1bHRWZXJzaW9uTnVtYmVyPzogc3RyaW5nXG59XG4vKipcbiAqIFRoZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGxhdW5jaCB0ZW1wbGF0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hUZW1wbGF0ZURhdGEge1xuLyoqXG4gKiBUaGUgbmFtZXMgb2YgdGhlIHNlY3VyaXR5IGdyb3Vwcy4gRm9yIGEgbm9uZGVmYXVsdCBWUEMsIHlvdSBtdXN0IHVzZSBzZWN1cml0eSBncm91cCBJRHMgaW5zdGVhZC5cbiAqICBJZiB5b3Ugc3BlY2lmeSBhIG5ldHdvcmsgaW50ZXJmYWNlLCB5b3UgbXVzdCBzcGVjaWZ5IGFueSBzZWN1cml0eSBncm91cHMgYXMgcGFydCBvZiB0aGUgbmV0d29yayBpbnRlcmZhY2UgaW5zdGVhZCBvZiB1c2luZyB0aGlzIHBhcmFtZXRlci5cbiAqL1xuU2VjdXJpdHlHcm91cHM/OiBzdHJpbmdbXVxuLyoqXG4gKiBUaGUgdGFncyB0byBhcHBseSB0byByZXNvdXJjZXMgdGhhdCBhcmUgY3JlYXRlZCBkdXJpbmcgaW5zdGFuY2UgbGF1bmNoLlxuICogIFRvIHRhZyB0aGUgbGF1bmNoIHRlbXBsYXRlIGl0c2VsZiwgdXNlIFtUYWdTcGVjaWZpY2F0aW9uc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1sYXVuY2h0ZW1wbGF0ZS5odG1sI2Nmbi1lYzItbGF1bmNodGVtcGxhdGUtdGFnc3BlY2lmaWNhdGlvbnMpLlxuICovXG5UYWdTcGVjaWZpY2F0aW9ucz86IFRhZ1NwZWNpZmljYXRpb25bXVxuTmV0d29ya1BlcmZvcm1hbmNlT3B0aW9ucz86IHtcbltrOiBzdHJpbmddOiB1bmtub3duXG59XG4vKipcbiAqIFRoZSB1c2VyIGRhdGEgdG8gbWFrZSBhdmFpbGFibGUgdG8gdGhlIGluc3RhbmNlLiBZb3UgbXVzdCBwcm92aWRlIGJhc2U2NC1lbmNvZGVkIHRleHQuIFVzZXIgZGF0YSBpcyBsaW1pdGVkIHRvIDE2IEtCLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtSdW4gY29tbWFuZHMgb24geW91ciBBbWF6b24gRUMyIGluc3RhbmNlIGF0IGxhdW5jaF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL3VzZXItZGF0YS5odG1sKSBpbiB0aGUgKkFtYXpvbiBFQzIgVXNlciBHdWlkZSouXG4gKiAgSWYgeW91IGFyZSBjcmVhdGluZyB0aGUgbGF1bmNoIHRlbXBsYXRlIGZvciB1c2Ugd2l0aCBCQVRDSCwgdGhlIHVzZXIgZGF0YSBtdXN0IGJlIHByb3ZpZGVkIGluIHRoZSBbTUlNRSBtdWx0aS1wYXJ0IGFyY2hpdmUgZm9ybWF0XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vaHR0cHM6Ly9jbG91ZGluaXQucmVhZHRoZWRvY3MuaW8vZW4vbGF0ZXN0L3RvcGljcy9mb3JtYXQuaHRtbCNtaW1lLW11bHRpLXBhcnQtYXJjaGl2ZSkuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0FtYXpvbiBFQzIgdXNlciBkYXRhIGluIGxhdW5jaCB0ZW1wbGF0ZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iYXRjaC9sYXRlc3QvdXNlcmd1aWRlL2xhdW5jaC10ZW1wbGF0ZXMuaHRtbCkgaW4gdGhlICpVc2VyIEd1aWRlKi5cbiAqL1xuVXNlckRhdGE/OiBzdHJpbmdcbi8qKlxuICogVGhlIGJsb2NrIGRldmljZSBtYXBwaW5nLlxuICovXG5CbG9ja0RldmljZU1hcHBpbmdzPzogQmxvY2tEZXZpY2VNYXBwaW5nW11cbk1haW50ZW5hbmNlT3B0aW9ucz86IE1haW50ZW5hbmNlT3B0aW9uc1xuSWFtSW5zdGFuY2VQcm9maWxlPzogSWFtSW5zdGFuY2VQcm9maWxlXG4vKipcbiAqIFRoZSBJRCBvZiB0aGUga2VybmVsLlxuICogIFdlIHJlY29tbWVuZCB0aGF0IHlvdSB1c2UgUFYtR1JVQiBpbnN0ZWFkIG9mIGtlcm5lbHMgYW5kIFJBTSBkaXNrcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbVXNlciBQcm92aWRlZCBLZXJuZWxzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvVXNlclByb3ZpZGVka2VybmVscy5odG1sKSBpbiB0aGUgKkFtYXpvbiBFQzIgVXNlciBHdWlkZSouXG4gKi9cbktlcm5lbElkPzogc3RyaW5nXG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBpbnN0YW5jZSBpcyBvcHRpbWl6ZWQgZm9yIEFtYXpvbiBFQlMgSS9PLiBUaGlzIG9wdGltaXphdGlvbiBwcm92aWRlcyBkZWRpY2F0ZWQgdGhyb3VnaHB1dCB0byBBbWF6b24gRUJTIGFuZCBhbiBvcHRpbWl6ZWQgY29uZmlndXJhdGlvbiBzdGFjayB0byBwcm92aWRlIG9wdGltYWwgQW1hem9uIEVCUyBJL08gcGVyZm9ybWFuY2UuIFRoaXMgb3B0aW1pemF0aW9uIGlzbid0IGF2YWlsYWJsZSB3aXRoIGFsbCBpbnN0YW5jZSB0eXBlcy4gQWRkaXRpb25hbCB1c2FnZSBjaGFyZ2VzIGFwcGx5IHdoZW4gdXNpbmcgYW4gRUJTLW9wdGltaXplZCBpbnN0YW5jZS5cbiAqL1xuRWJzT3B0aW1pemVkPzogYm9vbGVhblxuLyoqXG4gKiBEZXByZWNhdGVkLlxuICogICBBbWF6b24gRWxhc3RpYyBHcmFwaGljcyByZWFjaGVkIGVuZCBvZiBsaWZlIG9uIEphbnVhcnkgOCwgMjAyNC4gRm9yIHdvcmtsb2FkcyB0aGF0IHJlcXVpcmUgZ3JhcGhpY3MgYWNjZWxlcmF0aW9uLCB3ZSByZWNvbW1lbmQgdGhhdCB5b3UgdXNlIEFtYXpvbiBFQzIgRzRhZCwgRzRkbiwgb3IgRzUgaW5zdGFuY2VzLlxuICovXG5FbGFzdGljR3B1U3BlY2lmaWNhdGlvbnM/OiBFbGFzdGljR3B1U3BlY2lmaWNhdGlvbltdXG4vKipcbiAqIEFtYXpvbiBFbGFzdGljIEluZmVyZW5jZSBpcyBubyBsb25nZXIgYXZhaWxhYmxlLlxuICogICBBbiBlbGFzdGljIGluZmVyZW5jZSBhY2NlbGVyYXRvciB0byBhc3NvY2lhdGUgd2l0aCB0aGUgaW5zdGFuY2UuIEVsYXN0aWMgaW5mZXJlbmNlIGFjY2VsZXJhdG9ycyBhcmUgYSByZXNvdXJjZSB5b3UgY2FuIGF0dGFjaCB0byB5b3VyIEFtYXpvbiBFQzIgaW5zdGFuY2VzIHRvIGFjY2VsZXJhdGUgeW91ciBEZWVwIExlYXJuaW5nIChETCkgaW5mZXJlbmNlIHdvcmtsb2Fkcy5cbiAqICBZb3UgY2Fubm90IHNwZWNpZnkgYWNjZWxlcmF0b3JzIGZyb20gZGlmZmVyZW50IGdlbmVyYXRpb25zIGluIHRoZSBzYW1lIHJlcXVlc3QuXG4gKiAgIFN0YXJ0aW5nIEFwcmlsIDE1LCAyMDIzLCBBV1Mgd2lsbCBub3Qgb25ib2FyZCBuZXcgY3VzdG9tZXJzIHRvIEFtYXpvbiBFbGFzdGljIEluZmVyZW5jZSAoRUkpLCBhbmQgd2lsbCBoZWxwIGN1cnJlbnQgY3VzdG9tZXJzIG1pZ3JhdGUgdGhlaXIgd29ya2xvYWRzIHRvIG9wdGlvbnMgdGhhdCBvZmZlciBiZXR0ZXIgcHJpY2UgYW5kIHBlcmZvcm1hbmNlLiBBZnRlciBBcHJpbCAxNSwgMjAyMywgbmV3IGN1c3RvbWVycyB3aWxsIG5vdCBiZSBhYmxlIHRvIGxhdW5jaCBpbnN0YW5jZXMgd2l0aCBBbWF6b24gRUkgYWNjZWxlcmF0b3JzIGluIEFtYXpvbiBTYWdlTWFrZXIsIEFtYXpvbiBFQ1MsIG9yIEFtYXpvbiBFQzIuIEhvd2V2ZXIsIGN1c3RvbWVycyB3aG8gaGF2ZSB1c2VkIEFtYXpvbiBFSSBhdCBsZWFzdCBvbmNlIGR1cmluZyB0aGUgcGFzdCAzMC1kYXkgcGVyaW9kIGFyZSBjb25zaWRlcmVkIGN1cnJlbnQgY3VzdG9tZXJzIGFuZCB3aWxsIGJlIGFibGUgdG8gY29udGludWUgdXNpbmcgdGhlIHNlcnZpY2UuXG4gKi9cbkVsYXN0aWNJbmZlcmVuY2VBY2NlbGVyYXRvcnM/OiBMYXVuY2hUZW1wbGF0ZUVsYXN0aWNJbmZlcmVuY2VBY2NlbGVyYXRvcltdXG5QbGFjZW1lbnQ/OiBQbGFjZW1lbnRcbi8qKlxuICogVGhlIG5ldHdvcmsgaW50ZXJmYWNlcyBmb3IgdGhlIGluc3RhbmNlLlxuICovXG5OZXR3b3JrSW50ZXJmYWNlcz86IE5ldHdvcmtJbnRlcmZhY2VbXVxuRW5jbGF2ZU9wdGlvbnM/OiBFbmNsYXZlT3B0aW9uc1xuLyoqXG4gKiBUaGUgSUQgb2YgdGhlIEFNSS4gQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBzcGVjaWZ5IGEgU3lzdGVtcyBNYW5hZ2VyIHBhcmFtZXRlciwgd2hpY2ggd2lsbCByZXNvbHZlIHRvIGFuIEFNSSBJRCBvbiBsYXVuY2guXG4gKiAgVmFsaWQgZm9ybWF0czpcbiAqICAgKyAgIGBgYW1pLTBhYzM5NGQ2YTNleGFtcGxlYGAgXG4gKiAgICsgICBgYHJlc29sdmU6c3NtOnBhcmFtZXRlci1uYW1lYGAgXG4gKiAgICsgICBgYHJlc29sdmU6c3NtOnBhcmFtZXRlci1uYW1lOnZlcnNpb24tbnVtYmVyYGAgXG4gKiAgICsgICBgYHJlc29sdmU6c3NtOnBhcmFtZXRlci1uYW1lOmxhYmVsYGAgXG4gKiAgIFxuICogIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1VzZSBhIFN5c3RlbXMgTWFuYWdlciBwYXJhbWV0ZXIgdG8gZmluZCBhbiBBTUldKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9maW5kaW5nLWFuLWFtaS5odG1sI3VzaW5nLXN5c3RlbXMtbWFuYWdlci1wYXJhbWV0ZXItdG8tZmluZC1BTUkpIGluIHRoZSAqQW1hem9uIEVsYXN0aWMgQ29tcHV0ZSBDbG91ZCBVc2VyIEd1aWRlKi5cbiAqL1xuSW1hZ2VJZD86IHN0cmluZ1xuLyoqXG4gKiBUaGUgaW5zdGFuY2UgdHlwZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbQW1hem9uIEVDMiBpbnN0YW5jZSB0eXBlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2luc3RhbmNlLXR5cGVzLmh0bWwpIGluIHRoZSAqQW1hem9uIEVDMiBVc2VyIEd1aWRlKi5cbiAqICBJZiB5b3Ugc3BlY2lmeSBgYEluc3RhbmNlVHlwZWBgLCB5b3UgY2FuJ3Qgc3BlY2lmeSBgYEluc3RhbmNlUmVxdWlyZW1lbnRzYGAuXG4gKi9cbkluc3RhbmNlVHlwZT86IHN0cmluZ1xuTW9uaXRvcmluZz86IE1vbml0b3JpbmdcbkhpYmVybmF0aW9uT3B0aW9ucz86IEhpYmVybmF0aW9uT3B0aW9uc1xuTWV0YWRhdGFPcHRpb25zPzogTWV0YWRhdGFPcHRpb25zXG4vKipcbiAqIFRoZSBsaWNlbnNlIGNvbmZpZ3VyYXRpb25zLlxuICovXG5MaWNlbnNlU3BlY2lmaWNhdGlvbnM/OiBMaWNlbnNlU3BlY2lmaWNhdGlvbltdXG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIGFuIGluc3RhbmNlIHN0b3BzIG9yIHRlcm1pbmF0ZXMgd2hlbiB5b3UgaW5pdGlhdGUgc2h1dGRvd24gZnJvbSB0aGUgaW5zdGFuY2UgKHVzaW5nIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGNvbW1hbmQgZm9yIHN5c3RlbSBzaHV0ZG93bikuXG4gKiAgRGVmYXVsdDogYGBzdG9wYGBcbiAqL1xuSW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yPzogc3RyaW5nXG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGVuYWJsZSB0aGUgaW5zdGFuY2UgZm9yIHN0b3AgcHJvdGVjdGlvbi4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbRW5hYmxlIHN0b3AgcHJvdGVjdGlvbiBmb3IgeW91ciBpbnN0YW5jZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2VjMi1zdG9wLXByb3RlY3Rpb24uaHRtbCkgaW4gdGhlICpBbWF6b24gRUMyIFVzZXIgR3VpZGUqLlxuICovXG5EaXNhYmxlQXBpU3RvcD86IGJvb2xlYW5cbkNwdU9wdGlvbnM/OiBDcHVPcHRpb25zXG5Qcml2YXRlRG5zTmFtZU9wdGlvbnM/OiBQcml2YXRlRG5zTmFtZU9wdGlvbnNcbi8qKlxuICogVGhlIElEcyBvZiB0aGUgc2VjdXJpdHkgZ3JvdXBzLiBZb3UgY2FuIHNwZWNpZnkgdGhlIElEcyBvZiBleGlzdGluZyBzZWN1cml0eSBncm91cHMgYW5kIHJlZmVyZW5jZXMgdG8gcmVzb3VyY2VzIGNyZWF0ZWQgYnkgdGhlIHN0YWNrIHRlbXBsYXRlLlxuICogIElmIHlvdSBzcGVjaWZ5IGEgbmV0d29yayBpbnRlcmZhY2UsIHlvdSBtdXN0IHNwZWNpZnkgYW55IHNlY3VyaXR5IGdyb3VwcyBhcyBwYXJ0IG9mIHRoZSBuZXR3b3JrIGludGVyZmFjZSBpbnN0ZWFkLlxuICovXG5TZWN1cml0eUdyb3VwSWRzPzogc3RyaW5nW11cbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGtleSBwYWlyLiBZb3UgY2FuIGNyZWF0ZSBhIGtleSBwYWlyIHVzaW5nIFtDcmVhdGVLZXlQYWlyXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZUtleVBhaXIuaHRtbCkgb3IgW0ltcG9ydEtleVBhaXJdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfSW1wb3J0S2V5UGFpci5odG1sKS5cbiAqICAgSWYgeW91IGRvIG5vdCBzcGVjaWZ5IGEga2V5IHBhaXIsIHlvdSBjYW4ndCBjb25uZWN0IHRvIHRoZSBpbnN0YW5jZSB1bmxlc3MgeW91IGNob29zZSBhbiBBTUkgdGhhdCBpcyBjb25maWd1cmVkIHRvIGFsbG93IHVzZXJzIGFub3RoZXIgd2F5IHRvIGxvZyBpbi5cbiAqL1xuS2V5TmFtZT86IHN0cmluZ1xuLyoqXG4gKiBJZiB5b3Ugc2V0IHRoaXMgcGFyYW1ldGVyIHRvIGBgdHJ1ZWBgLCB5b3UgY2FuJ3QgdGVybWluYXRlIHRoZSBpbnN0YW5jZSB1c2luZyB0aGUgQW1hem9uIEVDMiBjb25zb2xlLCBDTEksIG9yIEFQSTsgb3RoZXJ3aXNlLCB5b3UgY2FuLiBUbyBjaGFuZ2UgdGhpcyBhdHRyaWJ1dGUgYWZ0ZXIgbGF1bmNoLCB1c2UgW01vZGlmeUluc3RhbmNlQXR0cmlidXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX01vZGlmeUluc3RhbmNlQXR0cmlidXRlLmh0bWwpLiBBbHRlcm5hdGl2ZWx5LCBpZiB5b3Ugc2V0IGBgSW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yYGAgdG8gYGB0ZXJtaW5hdGVgYCwgeW91IGNhbiB0ZXJtaW5hdGUgdGhlIGluc3RhbmNlIGJ5IHJ1bm5pbmcgdGhlIHNodXRkb3duIGNvbW1hbmQgZnJvbSB0aGUgaW5zdGFuY2UuXG4gKi9cbkRpc2FibGVBcGlUZXJtaW5hdGlvbj86IGJvb2xlYW5cbkluc3RhbmNlTWFya2V0T3B0aW9ucz86IEluc3RhbmNlTWFya2V0T3B0aW9uc1xuSW5zdGFuY2VSZXF1aXJlbWVudHM/OiBJbnN0YW5jZVJlcXVpcmVtZW50c1xuLyoqXG4gKiBUaGUgSUQgb2YgdGhlIFJBTSBkaXNrLlxuICogICBXZSByZWNvbW1lbmQgdGhhdCB5b3UgdXNlIFBWLUdSVUIgaW5zdGVhZCBvZiBrZXJuZWxzIGFuZCBSQU0gZGlza3MuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1VzZXIgcHJvdmlkZWQga2VybmVsc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL1VzZXJQcm92aWRlZGtlcm5lbHMuaHRtbCkgaW4gdGhlICpBbWF6b24gRUMyIFVzZXIgR3VpZGUqLlxuICovXG5SYW1EaXNrSWQ/OiBzdHJpbmdcbkNhcGFjaXR5UmVzZXJ2YXRpb25TcGVjaWZpY2F0aW9uPzogQ2FwYWNpdHlSZXNlcnZhdGlvblNwZWNpZmljYXRpb25cbkNyZWRpdFNwZWNpZmljYXRpb24/OiBDcmVkaXRTcGVjaWZpY2F0aW9uXG59XG4vKipcbiAqIFNwZWNpZmllcyB0aGUgdGFncyB0byBhcHBseSB0byByZXNvdXJjZXMgdGhhdCBhcmUgY3JlYXRlZCBkdXJpbmcgaW5zdGFuY2UgbGF1bmNoLlxuICogICBgYFRhZ1NwZWNpZmljYXRpb25gYCBpcyBhIHByb3BlcnR5IHR5cGUgb2YgW1RhZ1NwZWNpZmljYXRpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1lYzItbGF1bmNodGVtcGxhdGUtbGF1bmNodGVtcGxhdGVkYXRhLmh0bWwjY2ZuLWVjMi1sYXVuY2h0ZW1wbGF0ZS1sYXVuY2h0ZW1wbGF0ZWRhdGEtdGFnc3BlY2lmaWNhdGlvbnMpLiBbVGFnU3BlY2lmaWNhdGlvbnNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWVjMi1sYXVuY2h0ZW1wbGF0ZS1sYXVuY2h0ZW1wbGF0ZWRhdGEuaHRtbCNjZm4tZWMyLWxhdW5jaHRlbXBsYXRlLWxhdW5jaHRlbXBsYXRlZGF0YS10YWdzcGVjaWZpY2F0aW9ucykgaXMgYSBwcm9wZXJ0eSBvZiBbQVdTOjpFQzI6OkxhdW5jaFRlbXBsYXRlIExhdW5jaFRlbXBsYXRlRGF0YV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWMyLWxhdW5jaHRlbXBsYXRlLWxhdW5jaHRlbXBsYXRlZGF0YS5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWdTcGVjaWZpY2F0aW9uIHtcbi8qKlxuICogVGhlIHR5cGUgb2YgcmVzb3VyY2UgdG8gdGFnLiBZb3UgY2FuIHNwZWNpZnkgdGFncyBmb3IgdGhlIGZvbGxvd2luZyByZXNvdXJjZSB0eXBlcyBvbmx5OiBgYGluc3RhbmNlYGAgfCBgYHZvbHVtZWBgIHwgYGBuZXR3b3JrLWludGVyZmFjZWBgIHwgYGBzcG90LWluc3RhbmNlcy1yZXF1ZXN0YGAuIElmIHRoZSBpbnN0YW5jZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSByZXNvdXJjZSB0eXBlIHRoYXQgeW91IHNwZWNpZnksIHRoZSBpbnN0YW5jZSBsYXVuY2ggZmFpbHMuIEZvciBleGFtcGxlLCBub3QgYWxsIGluc3RhbmNlIHR5cGVzIGluY2x1ZGUgYSB2b2x1bWUuXG4gKiAgVG8gdGFnIGEgcmVzb3VyY2UgYWZ0ZXIgaXQgaGFzIGJlZW4gY3JlYXRlZCwgc2VlIFtDcmVhdGVUYWdzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0NyZWF0ZVRhZ3MuaHRtbCkuXG4gKi9cblJlc291cmNlVHlwZT86IHN0cmluZ1xuLyoqXG4gKiBUaGUgdGFncyB0byBhcHBseSB0byB0aGUgcmVzb3VyY2UuXG4gKi9cblRhZ3M/OiBUYWdbXVxufVxuLyoqXG4gKiBTcGVjaWZpZXMgYSB0YWcuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW1Jlc291cmNlIHRhZ3NdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLXJlc291cmNlLXRhZ3MuaHRtbCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcbi8qKlxuICogVGhlIHRhZyB2YWx1ZS5cbiAqL1xuVmFsdWU6IHN0cmluZ1xuLyoqXG4gKiBUaGUgdGFnIGtleS5cbiAqL1xuS2V5OiBzdHJpbmdcbn1cbi8qKlxuICogU3BlY2lmaWVzIGEgYmxvY2sgZGV2aWNlIG1hcHBpbmcgZm9yIGEgbGF1bmNoIHRlbXBsYXRlLiBZb3UgbXVzdCBzcGVjaWZ5IGBgRGV2aWNlTmFtZWBgIHBsdXMgZXhhY3RseSBvbmUgb2YgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOiBgYEVic2BgLCBgYE5vRGV2aWNlYGAsIG9yIGBgVmlydHVhbE5hbWVgYC5cbiAqICAgYGBCbG9ja0RldmljZU1hcHBpbmdgYCBpcyBhIHByb3BlcnR5IG9mIFtBV1M6OkVDMjo6TGF1bmNoVGVtcGxhdGUgTGF1bmNoVGVtcGxhdGVEYXRhXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1lYzItbGF1bmNodGVtcGxhdGUtbGF1bmNodGVtcGxhdGVkYXRhLmh0bWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJsb2NrRGV2aWNlTWFwcGluZyB7XG5FYnM/OiBFYnNcbi8qKlxuICogVG8gb21pdCB0aGUgZGV2aWNlIGZyb20gdGhlIGJsb2NrIGRldmljZSBtYXBwaW5nLCBzcGVjaWZ5IGFuIGVtcHR5IHN0cmluZy5cbiAqL1xuTm9EZXZpY2U/OiBzdHJpbmdcbi8qKlxuICogVGhlIHZpcnR1YWwgZGV2aWNlIG5hbWUgKGVwaGVtZXJhbE4pLiBJbnN0YW5jZSBzdG9yZSB2b2x1bWVzIGFyZSBudW1iZXJlZCBzdGFydGluZyBmcm9tIDAuIEFuIGluc3RhbmNlIHR5cGUgd2l0aCAyIGF2YWlsYWJsZSBpbnN0YW5jZSBzdG9yZSB2b2x1bWVzIGNhbiBzcGVjaWZ5IG1hcHBpbmdzIGZvciBlcGhlbWVyYWwwIGFuZCBlcGhlbWVyYWwxLiBUaGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBpbnN0YW5jZSBzdG9yZSB2b2x1bWVzIGRlcGVuZHMgb24gdGhlIGluc3RhbmNlIHR5cGUuIEFmdGVyIHlvdSBjb25uZWN0IHRvIHRoZSBpbnN0YW5jZSwgeW91IG11c3QgbW91bnQgdGhlIHZvbHVtZS5cbiAqL1xuVmlydHVhbE5hbWU/OiBzdHJpbmdcbi8qKlxuICogVGhlIGRldmljZSBuYW1lIChmb3IgZXhhbXBsZSwgL2Rldi9zZGggb3IgeHZkaCkuXG4gKi9cbkRldmljZU5hbWU/OiBzdHJpbmdcbn1cbi8qKlxuICogUGFyYW1ldGVycyB1c2VkIHRvIGF1dG9tYXRpY2FsbHkgc2V0IHVwIEVCUyB2b2x1bWVzIHdoZW4gdGhlIGluc3RhbmNlIGlzIGxhdW5jaGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVicyB7XG4vKipcbiAqIFRoZSBJRCBvZiB0aGUgc25hcHNob3QuXG4gKi9cblNuYXBzaG90SWQ/OiBzdHJpbmdcbi8qKlxuICogVGhlIHZvbHVtZSB0eXBlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtBbWF6b24gRUJTIHZvbHVtZSB0eXBlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Vicy9sYXRlc3QvdXNlcmd1aWRlL2Vicy12b2x1bWUtdHlwZXMuaHRtbCkgaW4gdGhlICpBbWF6b24gRUJTIFVzZXIgR3VpZGUqLlxuICovXG5Wb2x1bWVUeXBlPzogc3RyaW5nXG4vKipcbiAqIElkZW50aWZpZXIgKGtleSBJRCwga2V5IGFsaWFzLCBrZXkgQVJOLCBvciBhbGlhcyBBUk4pIG9mIHRoZSBjdXN0b21lciBtYW5hZ2VkIEtNUyBrZXkgdG8gdXNlIGZvciBFQlMgZW5jcnlwdGlvbi5cbiAqL1xuS21zS2V5SWQ/OiBzdHJpbmdcbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIEVCUyB2b2x1bWUgaXMgZW5jcnlwdGVkLiBFbmNyeXB0ZWQgdm9sdW1lcyBjYW4gb25seSBiZSBhdHRhY2hlZCB0byBpbnN0YW5jZXMgdGhhdCBzdXBwb3J0IEFtYXpvbiBFQlMgZW5jcnlwdGlvbi4gSWYgeW91IGFyZSBjcmVhdGluZyBhIHZvbHVtZSBmcm9tIGEgc25hcHNob3QsIHlvdSBjYW4ndCBzcGVjaWZ5IGFuIGVuY3J5cHRpb24gdmFsdWUuXG4gKi9cbkVuY3J5cHRlZD86IGJvb2xlYW5cbi8qKlxuICogVGhlIHRocm91Z2hwdXQgdG8gcHJvdmlzaW9uIGZvciBhIGBgZ3AzYGAgdm9sdW1lLCB3aXRoIGEgbWF4aW11bSBvZiAxLDAwMCBNaUIvcy5cbiAqICBWYWxpZCBSYW5nZTogTWluaW11bSB2YWx1ZSBvZiAxMjUuIE1heGltdW0gdmFsdWUgb2YgMTAwMC5cbiAqL1xuVGhyb3VnaHB1dD86IG51bWJlclxuLyoqXG4gKiBUaGUgbnVtYmVyIG9mIEkvTyBvcGVyYXRpb25zIHBlciBzZWNvbmQgKElPUFMpLiBGb3IgYGBncDNgYCwgYGBpbzFgYCwgYW5kIGBgaW8yYGAgdm9sdW1lcywgdGhpcyByZXByZXNlbnRzIHRoZSBudW1iZXIgb2YgSU9QUyB0aGF0IGFyZSBwcm92aXNpb25lZCBmb3IgdGhlIHZvbHVtZS4gRm9yIGBgZ3AyYGAgdm9sdW1lcywgdGhpcyByZXByZXNlbnRzIHRoZSBiYXNlbGluZSBwZXJmb3JtYW5jZSBvZiB0aGUgdm9sdW1lIGFuZCB0aGUgcmF0ZSBhdCB3aGljaCB0aGUgdm9sdW1lIGFjY3VtdWxhdGVzIEkvTyBjcmVkaXRzIGZvciBidXJzdGluZy5cbiAqICBUaGUgZm9sbG93aW5nIGFyZSB0aGUgc3VwcG9ydGVkIHZhbHVlcyBmb3IgZWFjaCB2b2x1bWUgdHlwZTpcbiAqICAgKyAgIGBgZ3AzYGA6IDMsMDAwIC0gMTYsMDAwIElPUFNcbiAqICAgKyAgIGBgaW8xYGA6IDEwMCAtIDY0LDAwMCBJT1BTXG4gKiAgICsgICBgYGlvMmBgOiAxMDAgLSAyNTYsMDAwIElPUFNcbiAqICAgXG4gKiAgRm9yIGBgaW8yYGAgdm9sdW1lcywgeW91IGNhbiBhY2hpZXZlIHVwIHRvIDI1NiwwMDAgSU9QUyBvbiBbaW5zdGFuY2VzIGJ1aWx0IG9uIHRoZSBOaXRybyBTeXN0ZW1dKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9pbnN0YW5jZS10eXBlcy5odG1sI2VjMi1uaXRyby1pbnN0YW5jZXMpLiBPbiBvdGhlciBpbnN0YW5jZXMsIHlvdSBjYW4gYWNoaWV2ZSBwZXJmb3JtYW5jZSB1cCB0byAzMiwwMDAgSU9QUy5cbiAqICBUaGlzIHBhcmFtZXRlciBpcyBzdXBwb3J0ZWQgZm9yIGBgaW8xYGAsIGBgaW8yYGAsIGFuZCBgYGdwM2BgIHZvbHVtZXMgb25seS5cbiAqL1xuSW9wcz86IG51bWJlclxuLyoqXG4gKiBUaGUgc2l6ZSBvZiB0aGUgdm9sdW1lLCBpbiBHaUJzLiBZb3UgbXVzdCBzcGVjaWZ5IGVpdGhlciBhIHNuYXBzaG90IElEIG9yIGEgdm9sdW1lIHNpemUuIFRoZSBmb2xsb3dpbmcgYXJlIHRoZSBzdXBwb3J0ZWQgdm9sdW1lcyBzaXplcyBmb3IgZWFjaCB2b2x1bWUgdHlwZTpcbiAqICAgKyAgIGBgZ3AyYGAgYW5kIGBgZ3AzYGA6IDEgLSAxNiwzODQgR2lCXG4gKiAgICsgICBgYGlvMWBgOiA0IC0gMTYsMzg0IEdpQlxuICogICArICAgYGBpbzJgYDogNCAtIDY1LDUzNiBHaUJcbiAqICAgKyAgIGBgc3QxYGAgYW5kIGBgc2MxYGA6IDEyNSAtIDE2LDM4NCBHaUJcbiAqICAgKyAgIGBgc3RhbmRhcmRgYDogMSAtIDEwMjQgR2lCXG4gKi9cblZvbHVtZVNpemU/OiBudW1iZXJcbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIEVCUyB2b2x1bWUgaXMgZGVsZXRlZCBvbiBpbnN0YW5jZSB0ZXJtaW5hdGlvbi5cbiAqL1xuRGVsZXRlT25UZXJtaW5hdGlvbj86IGJvb2xlYW5cbn1cbi8qKlxuICogVGhlIG1haW50ZW5hbmNlIG9wdGlvbnMgb2YgeW91ciBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYWludGVuYW5jZU9wdGlvbnMge1xuLyoqXG4gKiBEaXNhYmxlcyB0aGUgYXV0b21hdGljIHJlY292ZXJ5IGJlaGF2aW9yIG9mIHlvdXIgaW5zdGFuY2Ugb3Igc2V0cyBpdCB0byBkZWZhdWx0LlxuICovXG5BdXRvUmVjb3Zlcnk/OiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIG5hbWUgb3IgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgYW4gSUFNIGluc3RhbmNlIHByb2ZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWFtSW5zdGFuY2VQcm9maWxlIHtcbi8qKlxuICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBpbnN0YW5jZSBwcm9maWxlLlxuICovXG5Bcm4/OiBzdHJpbmdcbi8qKlxuICogVGhlIG5hbWUgb2YgdGhlIGluc3RhbmNlIHByb2ZpbGUuXG4gKi9cbk5hbWU/OiBzdHJpbmdcbn1cbi8qKlxuICogQW1hem9uIEVsYXN0aWMgR3JhcGhpY3MgcmVhY2hlZCBlbmQgb2YgbGlmZSBvbiBKYW51YXJ5IDgsIDIwMjQuIEZvciB3b3JrbG9hZHMgdGhhdCByZXF1aXJlIGdyYXBoaWNzIGFjY2VsZXJhdGlvbiwgd2UgcmVjb21tZW5kIHRoYXQgeW91IHVzZSBBbWF6b24gRUMyIEc0YWQsIEc0ZG4sIG9yIEc1IGluc3RhbmNlcy5cbiAqICAgU3BlY2lmaWVzIGEgc3BlY2lmaWNhdGlvbiBmb3IgYW4gRWxhc3RpYyBHUFUgZm9yIGFuIEFtYXpvbiBFQzIgbGF1bmNoIHRlbXBsYXRlLlxuICogICBgYEVsYXN0aWNHcHVTcGVjaWZpY2F0aW9uYGAgaXMgYSBwcm9wZXJ0eSBvZiBbQVdTOjpFQzI6OkxhdW5jaFRlbXBsYXRlIExhdW5jaFRlbXBsYXRlRGF0YV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWMyLWxhdW5jaHRlbXBsYXRlLWxhdW5jaHRlbXBsYXRlZGF0YS5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbGFzdGljR3B1U3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIFRoZSB0eXBlIG9mIEVsYXN0aWMgR3JhcGhpY3MgYWNjZWxlcmF0b3IuXG4gKi9cblR5cGU/OiBzdHJpbmdcbn1cbi8qKlxuICogU3BlY2lmaWVzIGFuIGVsYXN0aWMgaW5mZXJlbmNlIGFjY2VsZXJhdG9yLlxuICogICBgYExhdW5jaFRlbXBsYXRlRWxhc3RpY0luZmVyZW5jZUFjY2VsZXJhdG9yYGAgaXMgYSBwcm9wZXJ0eSBvZiBbQVdTOjpFQzI6OkxhdW5jaFRlbXBsYXRlIExhdW5jaFRlbXBsYXRlRGF0YV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWMyLWxhdW5jaHRlbXBsYXRlLWxhdW5jaHRlbXBsYXRlZGF0YS5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hUZW1wbGF0ZUVsYXN0aWNJbmZlcmVuY2VBY2NlbGVyYXRvciB7XG4vKipcbiAqIFRoZSB0eXBlIG9mIGVsYXN0aWMgaW5mZXJlbmNlIGFjY2VsZXJhdG9yLiBUaGUgcG9zc2libGUgdmFsdWVzIGFyZSBlaWExLm1lZGl1bSwgZWlhMS5sYXJnZSwgYW5kIGVpYTEueGxhcmdlLlxuICovXG5UeXBlPzogc3RyaW5nXG4vKipcbiAqIFRoZSBudW1iZXIgb2YgZWxhc3RpYyBpbmZlcmVuY2UgYWNjZWxlcmF0b3JzIHRvIGF0dGFjaCB0byB0aGUgaW5zdGFuY2UuIFxuICogIERlZmF1bHQ6IDFcbiAqL1xuQ291bnQ/OiBudW1iZXJcbn1cbi8qKlxuICogVGhlIHBsYWNlbWVudCBmb3IgdGhlIGluc3RhbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsYWNlbWVudCB7XG4vKipcbiAqIFRoZSBuYW1lIG9mIHRoZSBwbGFjZW1lbnQgZ3JvdXAgZm9yIHRoZSBpbnN0YW5jZS5cbiAqL1xuR3JvdXBOYW1lPzogc3RyaW5nXG4vKipcbiAqIFRoZSB0ZW5hbmN5IG9mIHRoZSBpbnN0YW5jZS4gQW4gaW5zdGFuY2Ugd2l0aCBhIHRlbmFuY3kgb2YgZGVkaWNhdGVkIHJ1bnMgb24gc2luZ2xlLXRlbmFudCBoYXJkd2FyZS5cbiAqL1xuVGVuYW5jeT86IHN0cmluZ1xuLyoqXG4gKiBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS5cbiAqL1xuU3ByZWFkRG9tYWluPzogc3RyaW5nXG4vKipcbiAqIFRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiB0aGUgaW5zdGFuY2Ugc2hvdWxkIGxhdW5jaCBpbi4gVmFsaWQgb25seSBpZiB0aGUgcGxhY2VtZW50IGdyb3VwIHN0cmF0ZWd5IGlzIHNldCB0byBgYHBhcnRpdGlvbmBgLlxuICovXG5QYXJ0aXRpb25OdW1iZXI/OiBudW1iZXJcbi8qKlxuICogVGhlIEF2YWlsYWJpbGl0eSBab25lIGZvciB0aGUgaW5zdGFuY2UuXG4gKi9cbkF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmdcbi8qKlxuICogVGhlIGFmZmluaXR5IHNldHRpbmcgZm9yIGFuIGluc3RhbmNlIG9uIGEgRGVkaWNhdGVkIEhvc3QuXG4gKi9cbkFmZmluaXR5Pzogc3RyaW5nXG4vKipcbiAqIFRoZSBJRCBvZiB0aGUgRGVkaWNhdGVkIEhvc3QgZm9yIHRoZSBpbnN0YW5jZS5cbiAqL1xuSG9zdElkPzogc3RyaW5nXG4vKipcbiAqIFRoZSBBUk4gb2YgdGhlIGhvc3QgcmVzb3VyY2UgZ3JvdXAgaW4gd2hpY2ggdG8gbGF1bmNoIHRoZSBpbnN0YW5jZXMuIElmIHlvdSBzcGVjaWZ5IGEgaG9zdCByZXNvdXJjZSBncm91cCBBUk4sIG9taXQgdGhlICpUZW5hbmN5KiBwYXJhbWV0ZXIgb3Igc2V0IGl0IHRvIGBgaG9zdGBgLlxuICovXG5Ib3N0UmVzb3VyY2VHcm91cEFybj86IHN0cmluZ1xuLyoqXG4gKiBUaGUgR3JvdXAgSWQgb2YgYSBwbGFjZW1lbnQgZ3JvdXAuIFlvdSBtdXN0IHNwZWNpZnkgdGhlIFBsYWNlbWVudCBHcm91cCAqR3JvdXAgSWQqIHRvIGxhdW5jaCBhbiBpbnN0YW5jZSBpbiBhIHNoYXJlZCBwbGFjZW1lbnQgZ3JvdXAuXG4gKi9cbkdyb3VwSWQ/OiBzdHJpbmdcbn1cbi8qKlxuICogU3BlY2lmaWVzIHRoZSBwYXJhbWV0ZXJzIGZvciBhIG5ldHdvcmsgaW50ZXJmYWNlLlxuICogICBgYE5ldHdvcmtJbnRlcmZhY2VgYCBpcyBhIHByb3BlcnR5IG9mIFtBV1M6OkVDMjo6TGF1bmNoVGVtcGxhdGUgTGF1bmNoVGVtcGxhdGVEYXRhXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1lYzItbGF1bmNodGVtcGxhdGUtbGF1bmNodGVtcGxhdGVkYXRhLmh0bWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJbnRlcmZhY2Uge1xuLyoqXG4gKiBBIGRlc2NyaXB0aW9uIGZvciB0aGUgbmV0d29yayBpbnRlcmZhY2UuXG4gKi9cbkRlc2NyaXB0aW9uPzogc3RyaW5nXG4vKipcbiAqIFRoZSBwcmltYXJ5IHByaXZhdGUgSVB2NCBhZGRyZXNzIG9mIHRoZSBuZXR3b3JrIGludGVyZmFjZS5cbiAqL1xuUHJpdmF0ZUlwQWRkcmVzcz86IHN0cmluZ1xuLyoqXG4gKiBPbmUgb3IgbW9yZSBwcml2YXRlIElQdjQgYWRkcmVzc2VzLlxuICovXG5Qcml2YXRlSXBBZGRyZXNzZXM/OiBQcml2YXRlSXBBZGRbXVxuLyoqXG4gKiBUaGUgbnVtYmVyIG9mIHNlY29uZGFyeSBwcml2YXRlIElQdjQgYWRkcmVzc2VzIHRvIGFzc2lnbiB0byBhIG5ldHdvcmsgaW50ZXJmYWNlLlxuICovXG5TZWNvbmRhcnlQcml2YXRlSXBBZGRyZXNzQ291bnQ/OiBudW1iZXJcbi8qKlxuICogVGhlIG51bWJlciBvZiBJUHY2IHByZWZpeGVzIHRvIGJlIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgdG8gdGhlIG5ldHdvcmsgaW50ZXJmYWNlLiBZb3UgY2Fubm90IHVzZSB0aGlzIG9wdGlvbiBpZiB5b3UgdXNlIHRoZSBgYElwdjZQcmVmaXhgYCBvcHRpb24uXG4gKi9cbklwdjZQcmVmaXhDb3VudD86IG51bWJlclxuLyoqXG4gKiBPbmUgb3IgbW9yZSBJUHY0IHByZWZpeGVzIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBuZXR3b3JrIGludGVyZmFjZS4gWW91IGNhbm5vdCB1c2UgdGhpcyBvcHRpb24gaWYgeW91IHVzZSB0aGUgYGBJcHY0UHJlZml4Q291bnRgYCBvcHRpb24uXG4gKi9cbklwdjRQcmVmaXhlcz86IElwdjRQcmVmaXhTcGVjaWZpY2F0aW9uW11cbi8qKlxuICogVGhlIGRldmljZSBpbmRleCBmb3IgdGhlIG5ldHdvcmsgaW50ZXJmYWNlIGF0dGFjaG1lbnQuIEVhY2ggbmV0d29yayBpbnRlcmZhY2UgcmVxdWlyZXMgYSBkZXZpY2UgaW5kZXguIElmIHlvdSBjcmVhdGUgYSBsYXVuY2ggdGVtcGxhdGUgdGhhdCBpbmNsdWRlcyBzZWNvbmRhcnkgbmV0d29yayBpbnRlcmZhY2VzIGJ1dCBub3QgYSBwcmltYXJ5IG5ldHdvcmsgaW50ZXJmYWNlLCB0aGVuIHlvdSBtdXN0IGFkZCBhIHByaW1hcnkgbmV0d29yayBpbnRlcmZhY2UgYXMgYSBsYXVuY2ggcGFyYW1ldGVyIHdoZW4geW91IGxhdW5jaCBhbiBpbnN0YW5jZSBmcm9tIHRoZSB0ZW1wbGF0ZS5cbiAqL1xuRGV2aWNlSW5kZXg/OiBudW1iZXJcbi8qKlxuICogVGhlIHByaW1hcnkgSVB2NiBhZGRyZXNzIG9mIHRoZSBuZXR3b3JrIGludGVyZmFjZS4gV2hlbiB5b3UgZW5hYmxlIGFuIElQdjYgR1VBIGFkZHJlc3MgdG8gYmUgYSBwcmltYXJ5IElQdjYsIHRoZSBmaXJzdCBJUHY2IEdVQSB3aWxsIGJlIG1hZGUgdGhlIHByaW1hcnkgSVB2NiBhZGRyZXNzIHVudGlsIHRoZSBpbnN0YW5jZSBpcyB0ZXJtaW5hdGVkIG9yIHRoZSBuZXR3b3JrIGludGVyZmFjZSBpcyBkZXRhY2hlZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgcHJpbWFyeSBJUHY2IGFkZHJlc3Nlcywgc2VlIFtSdW5JbnN0YW5jZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfUnVuSW5zdGFuY2VzLmh0bWwpLlxuICovXG5QcmltYXJ5SXB2Nj86IGJvb2xlYW5cbi8qKlxuICogVGhlIG51bWJlciBvZiBJUHY0IHByZWZpeGVzIHRvIGJlIGF1dG9tYXRpY2FsbHkgYXNzaWduZWQgdG8gdGhlIG5ldHdvcmsgaW50ZXJmYWNlLiBZb3UgY2Fubm90IHVzZSB0aGlzIG9wdGlvbiBpZiB5b3UgdXNlIHRoZSBgYElwdjRQcmVmaXhgYCBvcHRpb24uXG4gKi9cbklwdjRQcmVmaXhDb3VudD86IG51bWJlclxuLyoqXG4gKiBPbmUgb3IgbW9yZSBJUHY2IHByZWZpeGVzIHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBuZXR3b3JrIGludGVyZmFjZS4gWW91IGNhbm5vdCB1c2UgdGhpcyBvcHRpb24gaWYgeW91IHVzZSB0aGUgYGBJcHY2UHJlZml4Q291bnRgYCBvcHRpb24uXG4gKi9cbklwdjZQcmVmaXhlcz86IElwdjZQcmVmaXhTcGVjaWZpY2F0aW9uW11cbi8qKlxuICogVGhlIElEIG9mIHRoZSBzdWJuZXQgZm9yIHRoZSBuZXR3b3JrIGludGVyZmFjZS5cbiAqL1xuU3VibmV0SWQ/OiBzdHJpbmdcbi8qKlxuICogT25lIG9yIG1vcmUgc3BlY2lmaWMgSVB2NiBhZGRyZXNzZXMgZnJvbSB0aGUgSVB2NiBDSURSIGJsb2NrIHJhbmdlIG9mIHlvdXIgc3VibmV0LiBZb3UgY2FuJ3QgdXNlIHRoaXMgb3B0aW9uIGlmIHlvdSdyZSBzcGVjaWZ5aW5nIGEgbnVtYmVyIG9mIElQdjYgYWRkcmVzc2VzLlxuICovXG5JcHY2QWRkcmVzc2VzPzogSXB2NkFkZFtdXG4vKipcbiAqIEFzc29jaWF0ZXMgYSBwdWJsaWMgSVB2NCBhZGRyZXNzIHdpdGggZXRoMCBmb3IgYSBuZXcgbmV0d29yayBpbnRlcmZhY2UuXG4gKiAgIEFXUyBjaGFyZ2VzIGZvciBhbGwgcHVibGljIElQdjQgYWRkcmVzc2VzLCBpbmNsdWRpbmcgcHVibGljIElQdjQgYWRkcmVzc2VzIGFzc29jaWF0ZWQgd2l0aCBydW5uaW5nIGluc3RhbmNlcyBhbmQgRWxhc3RpYyBJUCBhZGRyZXNzZXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlICpQdWJsaWMgSVB2NCBBZGRyZXNzKiB0YWIgb24gdGhlIFtBbWF6b24gVlBDIHByaWNpbmcgcGFnZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3ZwYy9wcmljaW5nLykuXG4gKi9cbkFzc29jaWF0ZVB1YmxpY0lwQWRkcmVzcz86IGJvb2xlYW5cbi8qKlxuICogVGhlIElEIG9mIHRoZSBuZXR3b3JrIGludGVyZmFjZS5cbiAqL1xuTmV0d29ya0ludGVyZmFjZUlkPzogc3RyaW5nXG4vKipcbiAqIFRoZSBpbmRleCBvZiB0aGUgbmV0d29yayBjYXJkLiBTb21lIGluc3RhbmNlIHR5cGVzIHN1cHBvcnQgbXVsdGlwbGUgbmV0d29yayBjYXJkcy4gVGhlIHByaW1hcnkgbmV0d29yayBpbnRlcmZhY2UgbXVzdCBiZSBhc3NpZ25lZCB0byBuZXR3b3JrIGNhcmQgaW5kZXggMC4gVGhlIGRlZmF1bHQgaXMgbmV0d29yayBjYXJkIGluZGV4IDAuXG4gKi9cbk5ldHdvcmtDYXJkSW5kZXg/OiBudW1iZXJcbi8qKlxuICogVGhlIHR5cGUgb2YgbmV0d29yayBpbnRlcmZhY2UuIFRvIGNyZWF0ZSBhbiBFbGFzdGljIEZhYnJpYyBBZGFwdGVyIChFRkEpLCBzcGVjaWZ5IGBgZWZhYGAgb3IgYGBlZmFgYC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbRWxhc3RpYyBGYWJyaWMgQWRhcHRlcl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2VmYS5odG1sKSBpbiB0aGUgKkFtYXpvbiBFQzIgVXNlciBHdWlkZSouXG4gKiAgSWYgeW91IGFyZSBub3QgY3JlYXRpbmcgYW4gRUZBLCBzcGVjaWZ5IGBgaW50ZXJmYWNlYGAgb3Igb21pdCB0aGlzIHBhcmFtZXRlci5cbiAqICBJZiB5b3Ugc3BlY2lmeSBgYGVmYS1vbmx5YGAsIGRvIG5vdCBhc3NpZ24gYW55IElQIGFkZHJlc3NlcyB0byB0aGUgbmV0d29yayBpbnRlcmZhY2UuIEVGQS1vbmx5IG5ldHdvcmsgaW50ZXJmYWNlcyBkbyBub3Qgc3VwcG9ydCBJUCBhZGRyZXNzZXMuXG4gKiAgVmFsaWQgdmFsdWVzOiBgYGludGVyZmFjZWBgIHwgYGBlZmFgYCB8IGBgZWZhLW9ubHlgYFxuICovXG5JbnRlcmZhY2VUeXBlPzogc3RyaW5nXG4vKipcbiAqIEFzc29jaWF0ZXMgYSBDYXJyaWVyIElQIGFkZHJlc3Mgd2l0aCBldGgwIGZvciBhIG5ldyBuZXR3b3JrIGludGVyZmFjZS5cbiAqICBVc2UgdGhpcyBvcHRpb24gd2hlbiB5b3UgbGF1bmNoIGFuIGluc3RhbmNlIGluIGEgV2F2ZWxlbmd0aCBab25lIGFuZCB3YW50IHRvIGFzc29jaWF0ZSBhIENhcnJpZXIgSVAgYWRkcmVzcyB3aXRoIHRoZSBuZXR3b3JrIGludGVyZmFjZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgQ2FycmllciBJUCBhZGRyZXNzZXMsIHNlZSBbQ2FycmllciBJUCBhZGRyZXNzZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS93YXZlbGVuZ3RoL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9ob3ctd2F2ZWxlbmd0aHMtd29yay5odG1sI3Byb3ZpZGVyLW93bmVkLWlwKSBpbiB0aGUgKkRldmVsb3BlciBHdWlkZSouXG4gKi9cbkFzc29jaWF0ZUNhcnJpZXJJcEFkZHJlc3M/OiBib29sZWFuXG5FbmFTcmRTcGVjaWZpY2F0aW9uPzogRW5hU3JkU3BlY2lmaWNhdGlvblxuLyoqXG4gKiBUaGUgbnVtYmVyIG9mIElQdjYgYWRkcmVzc2VzIHRvIGFzc2lnbiB0byBhIG5ldHdvcmsgaW50ZXJmYWNlLiBBbWF6b24gRUMyIGF1dG9tYXRpY2FsbHkgc2VsZWN0cyB0aGUgSVB2NiBhZGRyZXNzZXMgZnJvbSB0aGUgc3VibmV0IHJhbmdlLiBZb3UgY2FuJ3QgdXNlIHRoaXMgb3B0aW9uIGlmIHNwZWNpZnlpbmcgc3BlY2lmaWMgSVB2NiBhZGRyZXNzZXMuXG4gKi9cbklwdjZBZGRyZXNzQ291bnQ/OiBudW1iZXJcbi8qKlxuICogVGhlIElEcyBvZiBvbmUgb3IgbW9yZSBzZWN1cml0eSBncm91cHMuXG4gKi9cbkdyb3Vwcz86IHN0cmluZ1tdXG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBuZXR3b3JrIGludGVyZmFjZSBpcyBkZWxldGVkIHdoZW4gdGhlIGluc3RhbmNlIGlzIHRlcm1pbmF0ZWQuXG4gKi9cbkRlbGV0ZU9uVGVybWluYXRpb24/OiBib29sZWFuXG5Db25uZWN0aW9uVHJhY2tpbmdTcGVjaWZpY2F0aW9uPzogQ29ubmVjdGlvblRyYWNraW5nU3BlY2lmaWNhdGlvblxufVxuLyoqXG4gKiBTcGVjaWZpZXMgYSBzZWNvbmRhcnkgcHJpdmF0ZSBJUHY0IGFkZHJlc3MgZm9yIGEgbmV0d29yayBpbnRlcmZhY2UuXG4gKiAgIGBgUHJpdmF0ZUlwQWRkYGAgaXMgYSBwcm9wZXJ0eSBvZiBbQVdTOjpFQzI6OkxhdW5jaFRlbXBsYXRlIE5ldHdvcmtJbnRlcmZhY2VdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1wcm9wZXJ0aWVzLWVjMi1sYXVuY2h0ZW1wbGF0ZS1uZXR3b3JraW50ZXJmYWNlLmh0bWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaXZhdGVJcEFkZCB7XG4vKipcbiAqIFRoZSBwcml2YXRlIElQdjQgYWRkcmVzcy5cbiAqL1xuUHJpdmF0ZUlwQWRkcmVzcz86IHN0cmluZ1xuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJpdmF0ZSBJUHY0IGFkZHJlc3MgaXMgdGhlIHByaW1hcnkgcHJpdmF0ZSBJUHY0IGFkZHJlc3MuIE9ubHkgb25lIElQdjQgYWRkcmVzcyBjYW4gYmUgZGVzaWduYXRlZCBhcyBwcmltYXJ5LlxuICovXG5QcmltYXJ5PzogYm9vbGVhblxufVxuLyoqXG4gKiBTcGVjaWZpZXMgYW4gSVB2NCBwcmVmaXggZm9yIGEgbmV0d29yayBpbnRlcmZhY2UuXG4gKiAgIGBgSXB2NFByZWZpeFNwZWNpZmljYXRpb25gYCBpcyBhIHByb3BlcnR5IG9mIFtBV1M6OkVDMjo6TGF1bmNoVGVtcGxhdGUgTmV0d29ya0ludGVyZmFjZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWMyLWxhdW5jaHRlbXBsYXRlLW5ldHdvcmtpbnRlcmZhY2UuaHRtbCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXB2NFByZWZpeFNwZWNpZmljYXRpb24ge1xuLyoqXG4gKiBUaGUgSVB2NCBwcmVmaXguIEZvciBpbmZvcm1hdGlvbiwgc2VlIFtBc3NpZ25pbmcgcHJlZml4ZXMgdG8gbmV0d29yayBpbnRlcmZhY2VzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvZWMyLXByZWZpeC1lbmkuaHRtbCkgaW4gdGhlICpBbWF6b24gRUMyIFVzZXIgR3VpZGUqLlxuICovXG5JcHY0UHJlZml4Pzogc3RyaW5nXG59XG4vKipcbiAqIFNwZWNpZmllcyBhbiBJUHY2IHByZWZpeCBmb3IgYSBuZXR3b3JrIGludGVyZmFjZS5cbiAqICAgYGBJcHY2UHJlZml4U3BlY2lmaWNhdGlvbmBgIGlzIGEgcHJvcGVydHkgb2YgW0FXUzo6RUMyOjpMYXVuY2hUZW1wbGF0ZSBOZXR3b3JrSW50ZXJmYWNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1lYzItbGF1bmNodGVtcGxhdGUtbmV0d29ya2ludGVyZmFjZS5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcHY2UHJlZml4U3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIFRoZSBJUHY2IHByZWZpeC5cbiAqL1xuSXB2NlByZWZpeD86IHN0cmluZ1xufVxuLyoqXG4gKiBTcGVjaWZpZXMgYW4gSVB2NiBhZGRyZXNzIGluIGFuIEFtYXpvbiBFQzIgbGF1bmNoIHRlbXBsYXRlLlxuICogICBgYElwdjZBZGRgYCBpcyBhIHByb3BlcnR5IG9mIFtBV1M6OkVDMjo6TGF1bmNoVGVtcGxhdGUgTmV0d29ya0ludGVyZmFjZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWMyLWxhdW5jaHRlbXBsYXRlLW5ldHdvcmtpbnRlcmZhY2UuaHRtbCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXB2NkFkZCB7XG4vKipcbiAqIE9uZSBvciBtb3JlIHNwZWNpZmljIElQdjYgYWRkcmVzc2VzIGZyb20gdGhlIElQdjYgQ0lEUiBibG9jayByYW5nZSBvZiB5b3VyIHN1Ym5ldC4gWW91IGNhbid0IHVzZSB0aGlzIG9wdGlvbiBpZiB5b3UncmUgc3BlY2lmeWluZyBhIG51bWJlciBvZiBJUHY2IGFkZHJlc3Nlcy5cbiAqL1xuSXB2NkFkZHJlc3M/OiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIEVOQSBFeHByZXNzIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBuZXR3b3JrIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmFTcmRTcGVjaWZpY2F0aW9uIHtcbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgRU5BIEV4cHJlc3MgaXMgZW5hYmxlZCBmb3IgdGhlIG5ldHdvcmsgaW50ZXJmYWNlLlxuICovXG5FbmFTcmRFbmFibGVkPzogYm9vbGVhblxuRW5hU3JkVWRwU3BlY2lmaWNhdGlvbj86IEVuYVNyZFVkcFNwZWNpZmljYXRpb25cbn1cbi8qKlxuICogQ29uZmlndXJlcyBFTkEgRXhwcmVzcyBmb3IgVURQIG5ldHdvcmsgdHJhZmZpYy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmFTcmRVZHBTcGVjaWZpY2F0aW9uIHtcbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgVURQIHRyYWZmaWMgdG8gYW5kIGZyb20gdGhlIGluc3RhbmNlIHVzZXMgRU5BIEV4cHJlc3MuIFRvIHNwZWNpZnkgdGhpcyBzZXR0aW5nLCB5b3UgbXVzdCBmaXJzdCBlbmFibGUgRU5BIEV4cHJlc3MuXG4gKi9cbkVuYVNyZFVkcEVuYWJsZWQ/OiBib29sZWFuXG59XG4vKipcbiAqIEEgY29ubmVjdGlvbiB0cmFja2luZyBzcGVjaWZpY2F0aW9uIGZvciB0aGUgbmV0d29yayBpbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGlvblRyYWNraW5nU3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIFRpbWVvdXQgKGluIHNlY29uZHMpIGZvciBpZGxlIFVEUCBmbG93cyB0aGF0IGhhdmUgc2VlbiB0cmFmZmljIG9ubHkgaW4gYSBzaW5nbGUgZGlyZWN0aW9uIG9yIGEgc2luZ2xlIHJlcXVlc3QtcmVzcG9uc2UgdHJhbnNhY3Rpb24uIE1pbjogMzAgc2Vjb25kcy4gTWF4OiA2MCBzZWNvbmRzLiBEZWZhdWx0OiAzMCBzZWNvbmRzLlxuICovXG5VZHBUaW1lb3V0PzogbnVtYmVyXG4vKipcbiAqIFRpbWVvdXQgKGluIHNlY29uZHMpIGZvciBpZGxlIFRDUCBjb25uZWN0aW9ucyBpbiBhbiBlc3RhYmxpc2hlZCBzdGF0ZS4gTWluOiA2MCBzZWNvbmRzLiBNYXg6IDQzMjAwMCBzZWNvbmRzICg1IGRheXMpLiBEZWZhdWx0OiA0MzIwMDAgc2Vjb25kcy4gUmVjb21tZW5kZWQ6IExlc3MgdGhhbiA0MzIwMDAgc2Vjb25kcy5cbiAqL1xuVGNwRXN0YWJsaXNoZWRUaW1lb3V0PzogbnVtYmVyXG4vKipcbiAqIFRpbWVvdXQgKGluIHNlY29uZHMpIGZvciBpZGxlIFVEUCBmbG93cyBjbGFzc2lmaWVkIGFzIHN0cmVhbXMgd2hpY2ggaGF2ZSBzZWVuIG1vcmUgdGhhbiBvbmUgcmVxdWVzdC1yZXNwb25zZSB0cmFuc2FjdGlvbi4gTWluOiA2MCBzZWNvbmRzLiBNYXg6IDE4MCBzZWNvbmRzICgzIG1pbnV0ZXMpLiBEZWZhdWx0OiAxODAgc2Vjb25kcy5cbiAqL1xuVWRwU3RyZWFtVGltZW91dD86IG51bWJlclxufVxuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW5zdGFuY2UgaXMgZW5hYmxlZCBmb3IgQVdTIE5pdHJvIEVuY2xhdmVzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtXaGF0IGlzIE5pdHJvIEVuY2xhdmVzP10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VuY2xhdmVzL2xhdGVzdC91c2VyL25pdHJvLWVuY2xhdmUuaHRtbCkgaW4gdGhlICpOaXRybyBFbmNsYXZlcyBVc2VyIEd1aWRlKi5cbiAqICBZb3UgY2FuJ3QgZW5hYmxlIEFXUyBOaXRybyBFbmNsYXZlcyBhbmQgaGliZXJuYXRpb24gb24gdGhlIHNhbWUgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW5jbGF2ZU9wdGlvbnMge1xuLyoqXG4gKiBJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYGB0cnVlYGAsIHRoZSBpbnN0YW5jZSBpcyBlbmFibGVkIGZvciBBV1MgTml0cm8gRW5jbGF2ZXM7IG90aGVyd2lzZSwgaXQgaXMgbm90IGVuYWJsZWQgZm9yIEFXUyBOaXRybyBFbmNsYXZlcy5cbiAqL1xuRW5hYmxlZD86IGJvb2xlYW5cbn1cbi8qKlxuICogVGhlIG1vbml0b3JpbmcgZm9yIHRoZSBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25pdG9yaW5nIHtcbi8qKlxuICogU3BlY2lmeSBgYHRydWVgYCB0byBlbmFibGUgZGV0YWlsZWQgbW9uaXRvcmluZy4gT3RoZXJ3aXNlLCBiYXNpYyBtb25pdG9yaW5nIGlzIGVuYWJsZWQuXG4gKi9cbkVuYWJsZWQ/OiBib29sZWFuXG59XG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIGFuIGluc3RhbmNlIGlzIGVuYWJsZWQgZm9yIGhpYmVybmF0aW9uLiBUaGlzIHBhcmFtZXRlciBpcyB2YWxpZCBvbmx5IGlmIHRoZSBpbnN0YW5jZSBtZWV0cyB0aGUgW2hpYmVybmF0aW9uIHByZXJlcXVpc2l0ZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9oaWJlcm5hdGluZy1wcmVyZXF1aXNpdGVzLmh0bWwpLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtIaWJlcm5hdGUgeW91ciBBbWF6b24gRUMyIGluc3RhbmNlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvSGliZXJuYXRlLmh0bWwpIGluIHRoZSAqQW1hem9uIEVDMiBVc2VyIEd1aWRlKi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWJlcm5hdGlvbk9wdGlvbnMge1xuLyoqXG4gKiBJZiB5b3Ugc2V0IHRoaXMgcGFyYW1ldGVyIHRvIGBgdHJ1ZWBgLCB0aGUgaW5zdGFuY2UgaXMgZW5hYmxlZCBmb3IgaGliZXJuYXRpb24uXG4gKiAgRGVmYXVsdDogYGBmYWxzZWBgXG4gKi9cbkNvbmZpZ3VyZWQ/OiBib29sZWFuXG59XG4vKipcbiAqIFRoZSBtZXRhZGF0YSBvcHRpb25zIGZvciB0aGUgaW5zdGFuY2UuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0luc3RhbmNlIG1ldGFkYXRhIGFuZCB1c2VyIGRhdGFdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9lYzItaW5zdGFuY2UtbWV0YWRhdGEuaHRtbCkgaW4gdGhlICpBbWF6b24gRUMyIFVzZXIgR3VpZGUqLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhT3B0aW9ucyB7XG4vKipcbiAqIFRoZSBkZXNpcmVkIEhUVFAgUFVUIHJlc3BvbnNlIGhvcCBsaW1pdCBmb3IgaW5zdGFuY2UgbWV0YWRhdGEgcmVxdWVzdHMuIFRoZSBsYXJnZXIgdGhlIG51bWJlciwgdGhlIGZ1cnRoZXIgaW5zdGFuY2UgbWV0YWRhdGEgcmVxdWVzdHMgY2FuIHRyYXZlbC5cbiAqICBEZWZhdWx0OiBgYDFgYCBcbiAqICBQb3NzaWJsZSB2YWx1ZXM6IEludGVnZXJzIGZyb20gMSB0byA2NFxuICovXG5IdHRwUHV0UmVzcG9uc2VIb3BMaW1pdD86IG51bWJlclxuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBJTURTdjIgaXMgcmVxdWlyZWQuXG4gKiAgICsgICBgYG9wdGlvbmFsYGAgLSBJTURTdjIgaXMgb3B0aW9uYWwuIFlvdSBjYW4gY2hvb3NlIHdoZXRoZXIgdG8gc2VuZCBhIHNlc3Npb24gdG9rZW4gaW4geW91ciBpbnN0YW5jZSBtZXRhZGF0YSByZXRyaWV2YWwgcmVxdWVzdHMuIElmIHlvdSByZXRyaWV2ZSBJQU0gcm9sZSBjcmVkZW50aWFscyB3aXRob3V0IGEgc2Vzc2lvbiB0b2tlbiwgeW91IHJlY2VpdmUgdGhlIElNRFN2MSByb2xlIGNyZWRlbnRpYWxzLiBJZiB5b3UgcmV0cmlldmUgSUFNIHJvbGUgY3JlZGVudGlhbHMgdXNpbmcgYSB2YWxpZCBzZXNzaW9uIHRva2VuLCB5b3UgcmVjZWl2ZSB0aGUgSU1EU3YyIHJvbGUgY3JlZGVudGlhbHMuXG4gKiAgICsgICBgYHJlcXVpcmVkYGAgLSBJTURTdjIgaXMgcmVxdWlyZWQuIFlvdSBtdXN0IHNlbmQgYSBzZXNzaW9uIHRva2VuIGluIHlvdXIgaW5zdGFuY2UgbWV0YWRhdGEgcmV0cmlldmFsIHJlcXVlc3RzLiBXaXRoIHRoaXMgb3B0aW9uLCByZXRyaWV2aW5nIHRoZSBJQU0gcm9sZSBjcmVkZW50aWFscyBhbHdheXMgcmV0dXJucyBJTURTdjIgY3JlZGVudGlhbHM7IElNRFN2MSBjcmVkZW50aWFscyBhcmUgbm90IGF2YWlsYWJsZS5cbiAqICAgXG4gKiAgRGVmYXVsdDogSWYgdGhlIHZhbHVlIG9mIGBgSW1kc1N1cHBvcnRgYCBmb3IgdGhlIEFtYXpvbiBNYWNoaW5lIEltYWdlIChBTUkpIGZvciB5b3VyIGluc3RhbmNlIGlzIGBgdjIuMGBgLCB0aGUgZGVmYXVsdCBpcyBgYHJlcXVpcmVkYGAuXG4gKi9cbkh0dHBUb2tlbnM/OiBzdHJpbmdcbi8qKlxuICogRW5hYmxlcyBvciBkaXNhYmxlcyB0aGUgSVB2NiBlbmRwb2ludCBmb3IgdGhlIGluc3RhbmNlIG1ldGFkYXRhIHNlcnZpY2UuXG4gKiAgRGVmYXVsdDogYGBkaXNhYmxlZGBgXG4gKi9cbkh0dHBQcm90b2NvbElwdjY/OiBzdHJpbmdcbi8qKlxuICogU2V0IHRvIGBgZW5hYmxlZGBgIHRvIGFsbG93IGFjY2VzcyB0byBpbnN0YW5jZSB0YWdzIGZyb20gdGhlIGluc3RhbmNlIG1ldGFkYXRhLiBTZXQgdG8gYGBkaXNhYmxlZGBgIHRvIHR1cm4gb2ZmIGFjY2VzcyB0byBpbnN0YW5jZSB0YWdzIGZyb20gdGhlIGluc3RhbmNlIG1ldGFkYXRhLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtXb3JrIHdpdGggaW5zdGFuY2UgdGFncyB1c2luZyB0aGUgaW5zdGFuY2UgbWV0YWRhdGFdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9Vc2luZ19UYWdzLmh0bWwjd29yay13aXRoLXRhZ3MtaW4tSU1EUykuXG4gKiAgRGVmYXVsdDogYGBkaXNhYmxlZGBgXG4gKi9cbkluc3RhbmNlTWV0YWRhdGFUYWdzPzogc3RyaW5nXG4vKipcbiAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIEhUVFAgbWV0YWRhdGEgZW5kcG9pbnQgb24geW91ciBpbnN0YW5jZXMuIElmIHRoZSBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgc3RhdGUgaXMgYGBlbmFibGVkYGAuXG4gKiAgIElmIHlvdSBzcGVjaWZ5IGEgdmFsdWUgb2YgYGBkaXNhYmxlZGBgLCB5b3Ugd2lsbCBub3QgYmUgYWJsZSB0byBhY2Nlc3MgeW91ciBpbnN0YW5jZSBtZXRhZGF0YS5cbiAqL1xuSHR0cEVuZHBvaW50Pzogc3RyaW5nXG59XG4vKipcbiAqIFNwZWNpZmllcyBhIGxpY2Vuc2UgY29uZmlndXJhdGlvbiBmb3IgYW4gaW5zdGFuY2UuXG4gKiAgIGBgTGljZW5zZVNwZWNpZmljYXRpb25gYCBpcyBhIHByb3BlcnR5IG9mIFtBV1M6OkVDMjo6TGF1bmNoVGVtcGxhdGUgTGF1bmNoVGVtcGxhdGVEYXRhXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1lYzItbGF1bmNodGVtcGxhdGUtbGF1bmNodGVtcGxhdGVkYXRhLmh0bWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExpY2Vuc2VTcGVjaWZpY2F0aW9uIHtcbi8qKlxuICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBsaWNlbnNlIGNvbmZpZ3VyYXRpb24uXG4gKi9cbkxpY2Vuc2VDb25maWd1cmF0aW9uQXJuPzogc3RyaW5nXG59XG4vKipcbiAqIFRoZSBDUFUgb3B0aW9ucyBmb3IgdGhlIGluc3RhbmNlLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtPcHRpbWl6ZSBDUFUgb3B0aW9uc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2luc3RhbmNlLW9wdGltaXplLWNwdS5odG1sKSBpbiB0aGUgKkFtYXpvbiBFQzIgVXNlciBHdWlkZSouXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3B1T3B0aW9ucyB7XG4vKipcbiAqIFRoZSBudW1iZXIgb2YgdGhyZWFkcyBwZXIgQ1BVIGNvcmUuIFRvIGRpc2FibGUgbXVsdGl0aHJlYWRpbmcgZm9yIHRoZSBpbnN0YW5jZSwgc3BlY2lmeSBhIHZhbHVlIG9mIGBgMWBgLiBPdGhlcndpc2UsIHNwZWNpZnkgdGhlIGRlZmF1bHQgdmFsdWUgb2YgYGAyYGAuXG4gKi9cblRocmVhZHNQZXJDb3JlPzogbnVtYmVyXG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGVuYWJsZSB0aGUgaW5zdGFuY2UgZm9yIEFNRCBTRVYtU05QLiBBTUQgU0VWLVNOUCBpcyBzdXBwb3J0ZWQgd2l0aCBNNmEsIFI2YSwgYW5kIEM2YSBpbnN0YW5jZSB0eXBlcyBvbmx5LiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtBTUQgU0VWLVNOUF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL3Nldi1zbnAuaHRtbCkuXG4gKi9cbkFtZFNldlNucD86IChcImVuYWJsZWRcIiB8IFwiZGlzYWJsZWRcIilcbi8qKlxuICogVGhlIG51bWJlciBvZiBDUFUgY29yZXMgZm9yIHRoZSBpbnN0YW5jZS5cbiAqL1xuQ29yZUNvdW50PzogbnVtYmVyXG59XG4vKipcbiAqIFRoZSBob3N0bmFtZSB0eXBlIGZvciBFQzIgaW5zdGFuY2VzIGxhdW5jaGVkIGludG8gdGhpcyBzdWJuZXQgYW5kIGhvdyBETlMgQSBhbmQgQUFBQSByZWNvcmQgcXVlcmllcyBzaG91bGQgYmUgaGFuZGxlZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbQW1hem9uIEVDMiBpbnN0YW5jZSBob3N0bmFtZSB0eXBlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2VjMi1pbnN0YW5jZS1uYW1pbmcuaHRtbCkgaW4gdGhlICpVc2VyIEd1aWRlKi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcml2YXRlRG5zTmFtZU9wdGlvbnMge1xuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciB0byByZXNwb25kIHRvIEROUyBxdWVyaWVzIGZvciBpbnN0YW5jZSBob3N0bmFtZXMgd2l0aCBETlMgQSByZWNvcmRzLlxuICovXG5FbmFibGVSZXNvdXJjZU5hbWVEbnNBUmVjb3JkPzogYm9vbGVhblxuLyoqXG4gKiBUaGUgdHlwZSBvZiBob3N0bmFtZSBmb3IgRUMyIGluc3RhbmNlcy4gRm9yIElQdjQgb25seSBzdWJuZXRzLCBhbiBpbnN0YW5jZSBETlMgbmFtZSBtdXN0IGJlIGJhc2VkIG9uIHRoZSBpbnN0YW5jZSBJUHY0IGFkZHJlc3MuIEZvciBJUHY2IG9ubHkgc3VibmV0cywgYW4gaW5zdGFuY2UgRE5TIG5hbWUgbXVzdCBiZSBiYXNlZCBvbiB0aGUgaW5zdGFuY2UgSUQuIEZvciBkdWFsLXN0YWNrIHN1Ym5ldHMsIHlvdSBjYW4gc3BlY2lmeSB3aGV0aGVyIEROUyBuYW1lcyB1c2UgdGhlIGluc3RhbmNlIElQdjQgYWRkcmVzcyBvciB0aGUgaW5zdGFuY2UgSUQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0FtYXpvbiBFQzIgaW5zdGFuY2UgaG9zdG5hbWUgdHlwZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS9lYzItaW5zdGFuY2UtbmFtaW5nLmh0bWwpIGluIHRoZSAqVXNlciBHdWlkZSouXG4gKi9cbkhvc3RuYW1lVHlwZT86IHN0cmluZ1xuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciB0byByZXNwb25kIHRvIEROUyBxdWVyaWVzIGZvciBpbnN0YW5jZSBob3N0bmFtZXMgd2l0aCBETlMgQUFBQSByZWNvcmRzLlxuICovXG5FbmFibGVSZXNvdXJjZU5hbWVEbnNBQUFBUmVjb3JkPzogYm9vbGVhblxufVxuLyoqXG4gKiBUaGUgbWFya2V0IChwdXJjaGFzaW5nKSBvcHRpb24gZm9yIHRoZSBpbnN0YW5jZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VNYXJrZXRPcHRpb25zIHtcblNwb3RPcHRpb25zPzogU3BvdE9wdGlvbnNcbi8qKlxuICogVGhlIG1hcmtldCB0eXBlLlxuICovXG5NYXJrZXRUeXBlPzogc3RyaW5nXG59XG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciBTcG90IEluc3RhbmNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTcG90T3B0aW9ucyB7XG4vKipcbiAqIFRoZSBTcG90IEluc3RhbmNlIHJlcXVlc3QgdHlwZS5cbiAqICBJZiB5b3UgYXJlIHVzaW5nIFNwb3QgSW5zdGFuY2VzIHdpdGggYW4gQXV0byBTY2FsaW5nIGdyb3VwLCB1c2UgYGBvbmUtdGltZWBgIHJlcXVlc3RzLCBhcyB0aGUgQVNsb25nIHNlcnZpY2UgaGFuZGxlcyByZXF1ZXN0aW5nIG5ldyBTcG90IEluc3RhbmNlcyB3aGVuZXZlciB0aGUgZ3JvdXAgaXMgYmVsb3cgaXRzIGRlc2lyZWQgY2FwYWNpdHkuXG4gKi9cblNwb3RJbnN0YW5jZVR5cGU/OiBzdHJpbmdcbi8qKlxuICogVGhlIGJlaGF2aW9yIHdoZW4gYSBTcG90IEluc3RhbmNlIGlzIGludGVycnVwdGVkLiBUaGUgZGVmYXVsdCBpcyBgYHRlcm1pbmF0ZWBgLlxuICovXG5JbnN0YW5jZUludGVycnVwdGlvbkJlaGF2aW9yPzogc3RyaW5nXG4vKipcbiAqIFRoZSBtYXhpbXVtIGhvdXJseSBwcmljZSB5b3UncmUgd2lsbGluZyB0byBwYXkgZm9yIHRoZSBTcG90IEluc3RhbmNlcy4gV2UgZG8gbm90IHJlY29tbWVuZCB1c2luZyB0aGlzIHBhcmFtZXRlciBiZWNhdXNlIGl0IGNhbiBsZWFkIHRvIGluY3JlYXNlZCBpbnRlcnJ1cHRpb25zLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwYXJhbWV0ZXIsIHlvdSB3aWxsIHBheSB0aGUgY3VycmVudCBTcG90IHByaWNlLlxuICogICBJZiB5b3Ugc3BlY2lmeSBhIG1heGltdW0gcHJpY2UsIHlvdXIgU3BvdCBJbnN0YW5jZXMgd2lsbCBiZSBpbnRlcnJ1cHRlZCBtb3JlIGZyZXF1ZW50bHkgdGhhbiBpZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwYXJhbWV0ZXIuXG4gKi9cbk1heFByaWNlPzogc3RyaW5nXG4vKipcbiAqIERlcHJlY2F0ZWQuXG4gKi9cbkJsb2NrRHVyYXRpb25NaW51dGVzPzogbnVtYmVyXG4vKipcbiAqIFRoZSBlbmQgZGF0ZSBvZiB0aGUgcmVxdWVzdCwgaW4gVVRDIGZvcm1hdCAoKllZWVktTU0tREQqVCpISDpNTTpTUypaKS4gU3VwcG9ydGVkIG9ubHkgZm9yIHBlcnNpc3RlbnQgcmVxdWVzdHMuXG4gKiAgICsgIEZvciBhIHBlcnNpc3RlbnQgcmVxdWVzdCwgdGhlIHJlcXVlc3QgcmVtYWlucyBhY3RpdmUgdW50aWwgdGhlIGBgVmFsaWRVbnRpbGBgIGRhdGUgYW5kIHRpbWUgaXMgcmVhY2hlZC4gT3RoZXJ3aXNlLCB0aGUgcmVxdWVzdCByZW1haW5zIGFjdGl2ZSB1bnRpbCB5b3UgY2FuY2VsIGl0LlxuICogICArICBGb3IgYSBvbmUtdGltZSByZXF1ZXN0LCBgYFZhbGlkVW50aWxgYCBpcyBub3Qgc3VwcG9ydGVkLiBUaGUgcmVxdWVzdCByZW1haW5zIGFjdGl2ZSB1bnRpbCBhbGwgaW5zdGFuY2VzIGxhdW5jaCBvciB5b3UgY2FuY2VsIHRoZSByZXF1ZXN0LlxuICogICBcbiAqICBEZWZhdWx0OiA3IGRheXMgZnJvbSB0aGUgY3VycmVudCBkYXRlXG4gKi9cblZhbGlkVW50aWw/OiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIGF0dHJpYnV0ZXMgZm9yIHRoZSBpbnN0YW5jZSB0eXBlcy4gV2hlbiB5b3Ugc3BlY2lmeSBpbnN0YW5jZSBhdHRyaWJ1dGVzLCBBbWF6b24gRUMyIHdpbGwgaWRlbnRpZnkgaW5zdGFuY2UgdHlwZXMgd2l0aCB0aGVzZSBhdHRyaWJ1dGVzLlxuICogIFlvdSBtdXN0IHNwZWNpZnkgYGBWQ3B1Q291bnRgYCBhbmQgYGBNZW1vcnlNaUJgYC4gQWxsIG90aGVyIGF0dHJpYnV0ZXMgYXJlIG9wdGlvbmFsLiBBbnkgdW5zcGVjaWZpZWQgb3B0aW9uYWwgYXR0cmlidXRlIGlzIHNldCB0byBpdHMgZGVmYXVsdC5cbiAqICBXaGVuIHlvdSBzcGVjaWZ5IG11bHRpcGxlIGF0dHJpYnV0ZXMsIHlvdSBnZXQgaW5zdGFuY2UgdHlwZXMgdGhhdCBzYXRpc2Z5IGFsbCBvZiB0aGUgc3BlY2lmaWVkIGF0dHJpYnV0ZXMuIElmIHlvdSBzcGVjaWZ5IG11bHRpcGxlIHZhbHVlcyBmb3IgYW4gYXR0cmlidXRlLCB5b3UgZ2V0IGluc3RhbmNlIHR5cGVzIHRoYXQgc2F0aXNmeSBhbnkgb2YgdGhlIHNwZWNpZmllZCB2YWx1ZXMuXG4gKiAgVG8gbGltaXQgdGhlIGxpc3Qgb2YgaW5zdGFuY2UgdHlwZXMgZnJvbSB3aGljaCBBbWF6b24gRUMyIGNhbiBpZGVudGlmeSBtYXRjaGluZyBpbnN0YW5jZSB0eXBlcywgeW91IGNhbiB1c2Ugb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycywgYnV0IG5vdCBib3RoIGluIHRoZSBzYW1lIHJlcXVlc3Q6XG4gKiAgICsgICBgYEFsbG93ZWRJbnN0YW5jZVR5cGVzYGAgLSBUaGUgaW5zdGFuY2UgdHlwZXMgdG8gaW5jbHVkZSBpbiB0aGUgbGlzdC4gQWxsIG90aGVyIGluc3RhbmNlIHR5cGVzIGFyZSBpZ25vcmVkLCBldmVuIGlmIHRoZXkgbWF0Y2ggeW91ciBzcGVjaWZpZWQgYXR0cmlidXRlcy5cbiAqICAgKyAgIGBgRXhjbHVkZWRJbnN0YW5jZVR5cGVzYGAgLSBUaGUgaW5zdGFuY2UgdHlwZXMgdG8gZXhjbHVkZSBmcm9tIHRoZSBsaXN0LCBldmVuIGlmIHRoZXkgbWF0Y2ggeW91ciBzcGVjaWZpZWQgYXR0cmlidXRlcy5cbiAqICAgXG4gKiAgIElmIHlvdSBzcGVjaWZ5IGBgSW5zdGFuY2VSZXF1aXJlbWVudHNgYCwgeW91IGNhbid0IHNwZWNpZnkgYGBJbnN0YW5jZVR5cGVgYC5cbiAqICBBdHRyaWJ1dGUtYmFzZWQgaW5zdGFuY2UgdHlwZSBzZWxlY3Rpb24gaXMgb25seSBzdXBwb3J0ZWQgd2hlbiB1c2luZyBBdXRvIFNjYWxpbmcgZ3JvdXBzLCBFQzIgRmxlZXQsIGFuZCBTcG90IEZsZWV0IHRvIGxhdW5jaCBpbnN0YW5jZXMuIElmIHlvdSBwbGFuIHRvIHVzZSB0aGUgbGF1bmNoIHRlbXBsYXRlIGluIHRoZSBbbGF1bmNoIGluc3RhbmNlIHdpemFyZF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2VjMi1sYXVuY2gtaW5zdGFuY2Utd2l6YXJkLmh0bWwpLCBvciB3aXRoIHRoZSBbUnVuSW5zdGFuY2VzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1J1bkluc3RhbmNlcy5odG1sKSBBUEkgb3IgW0FXUzo6RUMyOjpJbnN0YW5jZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWMyLWluc3RhbmNlLmh0bWwpIEFXUyBDbG91ZEZvcm1hdGlvbiByZXNvdXJjZSwgeW91IGNhbid0IHNwZWNpZnkgYGBJbnN0YW5jZVJlcXVpcmVtZW50c2BgLlxuICogICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtTcGVjaWZ5IGF0dHJpYnV0ZXMgZm9yIGluc3RhbmNlIHR5cGUgc2VsZWN0aW9uIGZvciBFQzIgRmxlZXQgb3IgU3BvdCBGbGVldF0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2VjMi1mbGVldC1hdHRyaWJ1dGUtYmFzZWQtaW5zdGFuY2UtdHlwZS1zZWxlY3Rpb24uaHRtbCkgYW5kIFtTcG90IHBsYWNlbWVudCBzY29yZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL3Nwb3QtcGxhY2VtZW50LXNjb3JlLmh0bWwpIGluIHRoZSAqQW1hem9uIEVDMiBVc2VyIEd1aWRlKi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnN0YW5jZVJlcXVpcmVtZW50cyB7XG4vKipcbiAqIEluZGljYXRlcyB3aGV0aGVyIGN1cnJlbnQgb3IgcHJldmlvdXMgZ2VuZXJhdGlvbiBpbnN0YW5jZSB0eXBlcyBhcmUgaW5jbHVkZWQuIFRoZSBjdXJyZW50IGdlbmVyYXRpb24gaW5zdGFuY2UgdHlwZXMgYXJlIHJlY29tbWVuZGVkIGZvciB1c2UuIEN1cnJlbnQgZ2VuZXJhdGlvbiBpbnN0YW5jZSB0eXBlcyBhcmUgdHlwaWNhbGx5IHRoZSBsYXRlc3QgdHdvIHRvIHRocmVlIGdlbmVyYXRpb25zIGluIGVhY2ggaW5zdGFuY2UgZmFtaWx5LiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtJbnN0YW5jZSB0eXBlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2luc3RhbmNlLXR5cGVzLmh0bWwpIGluIHRoZSAqQW1hem9uIEVDMiBVc2VyIEd1aWRlKi5cbiAqICBGb3IgY3VycmVudCBnZW5lcmF0aW9uIGluc3RhbmNlIHR5cGVzLCBzcGVjaWZ5IGBgY3VycmVudGBgLlxuICogIEZvciBwcmV2aW91cyBnZW5lcmF0aW9uIGluc3RhbmNlIHR5cGVzLCBzcGVjaWZ5IGBgcHJldmlvdXNgYC5cbiAqICBEZWZhdWx0OiBDdXJyZW50IGFuZCBwcmV2aW91cyBnZW5lcmF0aW9uIGluc3RhbmNlIHR5cGVzXG4gKi9cbkluc3RhbmNlR2VuZXJhdGlvbnM/OiBzdHJpbmdbXVxuTWVtb3J5R2lCUGVyVkNwdT86IE1lbW9yeUdpQlBlclZDcHVcbi8qKlxuICogVGhlIGFjY2VsZXJhdG9yIHR5cGVzIHRoYXQgbXVzdCBiZSBvbiB0aGUgaW5zdGFuY2UgdHlwZS5cbiAqICAgKyAgRm9yIGluc3RhbmNlIHR5cGVzIHdpdGggR1BVIGFjY2VsZXJhdG9ycywgc3BlY2lmeSBgYGdwdWBgLlxuICogICArICBGb3IgaW5zdGFuY2UgdHlwZXMgd2l0aCBGUEdBIGFjY2VsZXJhdG9ycywgc3BlY2lmeSBgYGZwZ2FgYC5cbiAqICAgXG4gKiAgRGVmYXVsdDogQW55IGFjY2VsZXJhdG9yIHR5cGVcbiAqL1xuQWNjZWxlcmF0b3JUeXBlcz86IHN0cmluZ1tdXG5WQ3B1Q291bnQ/OiBWQ3B1Q291bnRcbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgaW5zdGFuY2UgdHlwZXMgbXVzdCBoYXZlIGFjY2VsZXJhdG9ycyBieSBzcGVjaWZpYyBtYW51ZmFjdHVyZXJzLlxuICogICArICBGb3IgaW5zdGFuY2UgdHlwZXMgd2l0aCBBV1MgZGV2aWNlcywgc3BlY2lmeSBgYGFtYXpvbi13ZWItc2VydmljZXNgYC5cbiAqICAgKyAgRm9yIGluc3RhbmNlIHR5cGVzIHdpdGggQU1EIGRldmljZXMsIHNwZWNpZnkgYGBhbWRgYC5cbiAqICAgKyAgRm9yIGluc3RhbmNlIHR5cGVzIHdpdGggSGFiYW5hIGRldmljZXMsIHNwZWNpZnkgYGBoYWJhbmFgYC5cbiAqICAgKyAgRm9yIGluc3RhbmNlIHR5cGVzIHdpdGggTlZJRElBIGRldmljZXMsIHNwZWNpZnkgYGBudmlkaWFgYC5cbiAqICAgKyAgRm9yIGluc3RhbmNlIHR5cGVzIHdpdGggWGlsaW54IGRldmljZXMsIHNwZWNpZnkgYGB4aWxpbnhgYC5cbiAqICAgXG4gKiAgRGVmYXVsdDogQW55IG1hbnVmYWN0dXJlclxuICovXG5BY2NlbGVyYXRvck1hbnVmYWN0dXJlcnM/OiBzdHJpbmdbXVxuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBpbnN0YW5jZSB0eXBlcyB3aXRoIGluc3RhbmNlIHN0b3JlIHZvbHVtZXMgYXJlIGluY2x1ZGVkLCBleGNsdWRlZCwgb3IgcmVxdWlyZWQuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBbQW1hem9uIEVDMiBpbnN0YW5jZSBzdG9yZV0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL0luc3RhbmNlU3RvcmFnZS5odG1sKSBpbiB0aGUgKkFtYXpvbiBFQzIgVXNlciBHdWlkZSouXG4gKiAgICsgIFRvIGluY2x1ZGUgaW5zdGFuY2UgdHlwZXMgd2l0aCBpbnN0YW5jZSBzdG9yZSB2b2x1bWVzLCBzcGVjaWZ5IGBgaW5jbHVkZWRgYC5cbiAqICAgKyAgVG8gcmVxdWlyZSBvbmx5IGluc3RhbmNlIHR5cGVzIHdpdGggaW5zdGFuY2Ugc3RvcmUgdm9sdW1lcywgc3BlY2lmeSBgYHJlcXVpcmVkYGAuXG4gKiAgICsgIFRvIGV4Y2x1ZGUgaW5zdGFuY2UgdHlwZXMgd2l0aCBpbnN0YW5jZSBzdG9yZSB2b2x1bWVzLCBzcGVjaWZ5IGBgZXhjbHVkZWRgYC5cbiAqICAgXG4gKiAgRGVmYXVsdDogYGBpbmNsdWRlZGBgXG4gKi9cbkxvY2FsU3RvcmFnZT86IHN0cmluZ1xuLyoqXG4gKiBUaGUgQ1BVIG1hbnVmYWN0dXJlcnMgdG8gaW5jbHVkZS5cbiAqICAgKyAgRm9yIGluc3RhbmNlIHR5cGVzIHdpdGggSW50ZWwgQ1BVcywgc3BlY2lmeSBgYGludGVsYGAuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIEFNRCBDUFVzLCBzcGVjaWZ5IGBgYW1kYGAuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIEFXUyBDUFVzLCBzcGVjaWZ5IGBgYW1hem9uLXdlYi1zZXJ2aWNlc2BgLlxuICogICArICBGb3IgaW5zdGFuY2UgdHlwZXMgd2l0aCBBcHBsZSBDUFVzLCBzcGVjaWZ5IGBgYXBwbGVgYC5cbiAqICAgXG4gKiAgIERvbid0IGNvbmZ1c2UgdGhlIENQVSBtYW51ZmFjdHVyZXIgd2l0aCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS4gSW5zdGFuY2VzIHdpbGwgYmUgbGF1bmNoZWQgd2l0aCBhIGNvbXBhdGlibGUgQ1BVIGFyY2hpdGVjdHVyZSBiYXNlZCBvbiB0aGUgQW1hem9uIE1hY2hpbmUgSW1hZ2UgKEFNSSkgdGhhdCB5b3Ugc3BlY2lmeSBpbiB5b3VyIGxhdW5jaCB0ZW1wbGF0ZS5cbiAqICAgRGVmYXVsdDogQW55IG1hbnVmYWN0dXJlclxuICovXG5DcHVNYW51ZmFjdHVyZXJzPzogc3RyaW5nW11cbi8qKlxuICogSW5kaWNhdGVzIHdoZXRoZXIgYmFyZSBtZXRhbCBpbnN0YW5jZSB0eXBlcyBtdXN0IGJlIGluY2x1ZGVkLCBleGNsdWRlZCwgb3IgcmVxdWlyZWQuXG4gKiAgICsgIFRvIGluY2x1ZGUgYmFyZSBtZXRhbCBpbnN0YW5jZSB0eXBlcywgc3BlY2lmeSBgYGluY2x1ZGVkYGAuXG4gKiAgICsgIFRvIHJlcXVpcmUgb25seSBiYXJlIG1ldGFsIGluc3RhbmNlIHR5cGVzLCBzcGVjaWZ5IGBgcmVxdWlyZWRgYC5cbiAqICAgKyAgVG8gZXhjbHVkZSBiYXJlIG1ldGFsIGluc3RhbmNlIHR5cGVzLCBzcGVjaWZ5IGBgZXhjbHVkZWRgYC5cbiAqICAgXG4gKiAgRGVmYXVsdDogYGBleGNsdWRlZGBgXG4gKi9cbkJhcmVNZXRhbD86IHN0cmluZ1xuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBpbnN0YW5jZSB0eXBlcyBtdXN0IHN1cHBvcnQgaGliZXJuYXRpb24gZm9yIE9uLURlbWFuZCBJbnN0YW5jZXMuXG4gKiAgVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHN1cHBvcnRlZCBmb3IgW0dldFNwb3RQbGFjZW1lbnRTY29yZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0U3BvdFBsYWNlbWVudFNjb3Jlcy5odG1sKS5cbiAqICBEZWZhdWx0OiBgYGZhbHNlYGBcbiAqL1xuUmVxdWlyZUhpYmVybmF0ZVN1cHBvcnQ/OiBib29sZWFuXG4vKipcbiAqIFtQcmljZSBwcm90ZWN0aW9uXSBUaGUgcHJpY2UgcHJvdGVjdGlvbiB0aHJlc2hvbGQgZm9yIFNwb3QgSW5zdGFuY2VzLCBhcyBhIHBlcmNlbnRhZ2Ugb2YgYW4gaWRlbnRpZmllZCBPbi1EZW1hbmQgcHJpY2UuIFRoZSBpZGVudGlmaWVkIE9uLURlbWFuZCBwcmljZSBpcyB0aGUgcHJpY2Ugb2YgdGhlIGxvd2VzdCBwcmljZWQgY3VycmVudCBnZW5lcmF0aW9uIEMsIE0sIG9yIFIgaW5zdGFuY2UgdHlwZSB3aXRoIHlvdXIgc3BlY2lmaWVkIGF0dHJpYnV0ZXMuIElmIG5vIGN1cnJlbnQgZ2VuZXJhdGlvbiBDLCBNLCBvciBSIGluc3RhbmNlIHR5cGUgbWF0Y2hlcyB5b3VyIGF0dHJpYnV0ZXMsIHRoZW4gdGhlIGlkZW50aWZpZWQgcHJpY2UgaXMgZnJvbSB0aGUgbG93ZXN0IHByaWNlZCBjdXJyZW50IGdlbmVyYXRpb24gaW5zdGFuY2UgdHlwZXMsIGFuZCBmYWlsaW5nIHRoYXQsIGZyb20gdGhlIGxvd2VzdCBwcmljZWQgcHJldmlvdXMgZ2VuZXJhdGlvbiBpbnN0YW5jZSB0eXBlcyB0aGF0IG1hdGNoIHlvdXIgYXR0cmlidXRlcy4gV2hlbiBBbWF6b24gRUMyIHNlbGVjdHMgaW5zdGFuY2UgdHlwZXMgd2l0aCB5b3VyIGF0dHJpYnV0ZXMsIGl0IHdpbGwgZXhjbHVkZSBpbnN0YW5jZSB0eXBlcyB3aG9zZSBwcmljZSBleGNlZWRzIHlvdXIgc3BlY2lmaWVkIHRocmVzaG9sZC5cbiAqICBUaGUgcGFyYW1ldGVyIGFjY2VwdHMgYW4gaW50ZWdlciwgd2hpY2ggQW1hem9uIEVDMiBpbnRlcnByZXRzIGFzIGEgcGVyY2VudGFnZS5cbiAqICBJZiB5b3Ugc2V0IGBgVGFyZ2V0Q2FwYWNpdHlVbml0VHlwZWBgIHRvIGBgdmNwdWBgIG9yIGBgbWVtb3J5LW1pYmBgLCB0aGUgcHJpY2UgcHJvdGVjdGlvbiB0aHJlc2hvbGQgaXMgYmFzZWQgb24gdGhlIHBlciB2Q1BVIG9yIHBlciBtZW1vcnkgcHJpY2UgaW5zdGVhZCBvZiB0aGUgcGVyIGluc3RhbmNlIHByaWNlLlxuICogICBPbmx5IG9uZSBvZiBgYFNwb3RNYXhQcmljZVBlcmNlbnRhZ2VPdmVyTG93ZXN0UHJpY2VgYCBvciBgYE1heFNwb3RQcmljZUFzUGVyY2VudGFnZU9mT3B0aW1hbE9uRGVtYW5kUHJpY2VgYCBjYW4gYmUgc3BlY2lmaWVkLiBJZiB5b3UgZG9uJ3Qgc3BlY2lmeSBlaXRoZXIsIEFtYXpvbiBFQzIgd2lsbCBhdXRvbWF0aWNhbGx5IGFwcGx5IG9wdGltYWwgcHJpY2UgcHJvdGVjdGlvbiB0byBjb25zaXN0ZW50bHkgc2VsZWN0IGZyb20gYSB3aWRlIHJhbmdlIG9mIGluc3RhbmNlIHR5cGVzLiBUbyBpbmRpY2F0ZSBubyBwcmljZSBwcm90ZWN0aW9uIHRocmVzaG9sZCBmb3IgU3BvdCBJbnN0YW5jZXMsIG1lYW5pbmcgeW91IHdhbnQgdG8gY29uc2lkZXIgYWxsIGluc3RhbmNlIHR5cGVzIHRoYXQgbWF0Y2ggeW91ciBhdHRyaWJ1dGVzLCBpbmNsdWRlIG9uZSBvZiB0aGVzZSBwYXJhbWV0ZXJzIGFuZCBzcGVjaWZ5IGEgaGlnaCB2YWx1ZSwgc3VjaCBhcyBgYDk5OTk5OWBgLlxuICovXG5NYXhTcG90UHJpY2VBc1BlcmNlbnRhZ2VPZk9wdGltYWxPbkRlbWFuZFByaWNlPzogbnVtYmVyXG4vKipcbiAqIFtQcmljZSBwcm90ZWN0aW9uXSBUaGUgcHJpY2UgcHJvdGVjdGlvbiB0aHJlc2hvbGQgZm9yIE9uLURlbWFuZCBJbnN0YW5jZXMsIGFzIGEgcGVyY2VudGFnZSBoaWdoZXIgdGhhbiBhbiBpZGVudGlmaWVkIE9uLURlbWFuZCBwcmljZS4gVGhlIGlkZW50aWZpZWQgT24tRGVtYW5kIHByaWNlIGlzIHRoZSBwcmljZSBvZiB0aGUgbG93ZXN0IHByaWNlZCBjdXJyZW50IGdlbmVyYXRpb24gQywgTSwgb3IgUiBpbnN0YW5jZSB0eXBlIHdpdGggeW91ciBzcGVjaWZpZWQgYXR0cmlidXRlcy4gV2hlbiBBbWF6b24gRUMyIHNlbGVjdHMgaW5zdGFuY2UgdHlwZXMgd2l0aCB5b3VyIGF0dHJpYnV0ZXMsIGl0IHdpbGwgZXhjbHVkZSBpbnN0YW5jZSB0eXBlcyB3aG9zZSBwcmljZSBleGNlZWRzIHlvdXIgc3BlY2lmaWVkIHRocmVzaG9sZC5cbiAqICBUaGUgcGFyYW1ldGVyIGFjY2VwdHMgYW4gaW50ZWdlciwgd2hpY2ggQW1hem9uIEVDMiBpbnRlcnByZXRzIGFzIGEgcGVyY2VudGFnZS5cbiAqICBUbyB0dXJuIG9mZiBwcmljZSBwcm90ZWN0aW9uLCBzcGVjaWZ5IGEgaGlnaCB2YWx1ZSwgc3VjaCBhcyBgYDk5OTk5OWBgLlxuICogIFRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIFtHZXRTcG90UGxhY2VtZW50U2NvcmVzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldFNwb3RQbGFjZW1lbnRTY29yZXMuaHRtbCkgYW5kIFtHZXRJbnN0YW5jZVR5cGVzRnJvbUluc3RhbmNlUmVxdWlyZW1lbnRzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0dldEluc3RhbmNlVHlwZXNGcm9tSW5zdGFuY2VSZXF1aXJlbWVudHMuaHRtbCkuXG4gKiAgIElmIHlvdSBzZXQgYGBUYXJnZXRDYXBhY2l0eVVuaXRUeXBlYGAgdG8gYGB2Y3B1YGAgb3IgYGBtZW1vcnktbWliYGAsIHRoZSBwcmljZSBwcm90ZWN0aW9uIHRocmVzaG9sZCBpcyBhcHBsaWVkIGJhc2VkIG9uIHRoZSBwZXItdkNQVSBvciBwZXItbWVtb3J5IHByaWNlIGluc3RlYWQgb2YgdGhlIHBlci1pbnN0YW5jZSBwcmljZS5cbiAqICAgRGVmYXVsdDogYGAyMGBgXG4gKi9cbk9uRGVtYW5kTWF4UHJpY2VQZXJjZW50YWdlT3Zlckxvd2VzdFByaWNlPzogbnVtYmVyXG5NZW1vcnlNaUI/OiBNZW1vcnlNaUJcbi8qKlxuICogVGhlIHR5cGUgb2YgbG9jYWwgc3RvcmFnZSB0aGF0IGlzIHJlcXVpcmVkLlxuICogICArICBGb3IgaW5zdGFuY2UgdHlwZXMgd2l0aCBoYXJkIGRpc2sgZHJpdmUgKEhERCkgc3RvcmFnZSwgc3BlY2lmeSBgYGhkZGBgLlxuICogICArICBGb3IgaW5zdGFuY2UgdHlwZXMgd2l0aCBzb2xpZCBzdGF0ZSBkcml2ZSAoU1NEKSBzdG9yYWdlLCBzcGVjaWZ5IGBgc3NkYGAuXG4gKiAgIFxuICogIERlZmF1bHQ6IGBgaGRkYGAgYW5kIGBgc3NkYGBcbiAqL1xuTG9jYWxTdG9yYWdlVHlwZXM/OiBzdHJpbmdbXVxuTmV0d29ya0ludGVyZmFjZUNvdW50PzogTmV0d29ya0ludGVyZmFjZUNvdW50XG4vKipcbiAqIFRoZSBpbnN0YW5jZSB0eXBlcyB0byBleGNsdWRlLlxuICogIFlvdSBjYW4gdXNlIHN0cmluZ3Mgd2l0aCBvbmUgb3IgbW9yZSB3aWxkIGNhcmRzLCByZXByZXNlbnRlZCBieSBhbiBhc3RlcmlzayAoYGAqYGApLCB0byBleGNsdWRlIGFuIGluc3RhbmNlIHR5cGUsIHNpemUsIG9yIGdlbmVyYXRpb24uIFRoZSBmb2xsb3dpbmcgYXJlIGV4YW1wbGVzOiBgYG01Ljh4bGFyZ2VgYCwgYGBjNSouKmBgLCBgYG01YS4qYGAsIGBgcipgYCwgYGAqMypgYC5cbiAqICBGb3IgZXhhbXBsZSwgaWYgeW91IHNwZWNpZnkgYGBjNSpgYCxBbWF6b24gRUMyIHdpbGwgZXhjbHVkZSB0aGUgZW50aXJlIEM1IGluc3RhbmNlIGZhbWlseSwgd2hpY2ggaW5jbHVkZXMgYWxsIEM1YSBhbmQgQzVuIGluc3RhbmNlIHR5cGVzLiBJZiB5b3Ugc3BlY2lmeSBgYG01YS4qYGAsIEFtYXpvbiBFQzIgd2lsbCBleGNsdWRlIGFsbCB0aGUgTTVhIGluc3RhbmNlIHR5cGVzLCBidXQgbm90IHRoZSBNNW4gaW5zdGFuY2UgdHlwZXMuXG4gKiAgIElmIHlvdSBzcGVjaWZ5IGBgRXhjbHVkZWRJbnN0YW5jZVR5cGVzYGAsIHlvdSBjYW4ndCBzcGVjaWZ5IGBgQWxsb3dlZEluc3RhbmNlVHlwZXNgYC5cbiAqICAgRGVmYXVsdDogTm8gZXhjbHVkZWQgaW5zdGFuY2UgdHlwZXNcbiAqL1xuRXhjbHVkZWRJbnN0YW5jZVR5cGVzPzogc3RyaW5nW11cbi8qKlxuICogVGhlIGluc3RhbmNlIHR5cGVzIHRvIGFwcGx5IHlvdXIgc3BlY2lmaWVkIGF0dHJpYnV0ZXMgYWdhaW5zdC4gQWxsIG90aGVyIGluc3RhbmNlIHR5cGVzIGFyZSBpZ25vcmVkLCBldmVuIGlmIHRoZXkgbWF0Y2ggeW91ciBzcGVjaWZpZWQgYXR0cmlidXRlcy5cbiAqICBZb3UgY2FuIHVzZSBzdHJpbmdzIHdpdGggb25lIG9yIG1vcmUgd2lsZCBjYXJkcywgcmVwcmVzZW50ZWQgYnkgYW4gYXN0ZXJpc2sgKGBgKmBgKSwgdG8gYWxsb3cgYW4gaW5zdGFuY2UgdHlwZSwgc2l6ZSwgb3IgZ2VuZXJhdGlvbi4gVGhlIGZvbGxvd2luZyBhcmUgZXhhbXBsZXM6IGBgbTUuOHhsYXJnZWBgLCBgYGM1Ki4qYGAsIGBgbTVhLipgYCwgYGByKmBgLCBgYCozKmBgLlxuICogIEZvciBleGFtcGxlLCBpZiB5b3Ugc3BlY2lmeSBgYGM1KmBgLEFtYXpvbiBFQzIgd2lsbCBhbGxvdyB0aGUgZW50aXJlIEM1IGluc3RhbmNlIGZhbWlseSwgd2hpY2ggaW5jbHVkZXMgYWxsIEM1YSBhbmQgQzVuIGluc3RhbmNlIHR5cGVzLiBJZiB5b3Ugc3BlY2lmeSBgYG01YS4qYGAsIEFtYXpvbiBFQzIgd2lsbCBhbGxvdyBhbGwgdGhlIE01YSBpbnN0YW5jZSB0eXBlcywgYnV0IG5vdCB0aGUgTTVuIGluc3RhbmNlIHR5cGVzLlxuICogICBJZiB5b3Ugc3BlY2lmeSBgYEFsbG93ZWRJbnN0YW5jZVR5cGVzYGAsIHlvdSBjYW4ndCBzcGVjaWZ5IGBgRXhjbHVkZWRJbnN0YW5jZVR5cGVzYGAuXG4gKiAgIERlZmF1bHQ6IEFsbCBpbnN0YW5jZSB0eXBlc1xuICovXG5BbGxvd2VkSW5zdGFuY2VUeXBlcz86IHN0cmluZ1tdXG5BY2NlbGVyYXRvckNvdW50PzogQWNjZWxlcmF0b3JDb3VudFxuTmV0d29ya0JhbmR3aWR0aEdicHM/OiBOZXR3b3JrQmFuZHdpZHRoR2Jwc1xuQmFzZWxpbmVQZXJmb3JtYW5jZUZhY3RvcnM/OiBCYXNlbGluZVBlcmZvcm1hbmNlRmFjdG9yc1xuLyoqXG4gKiBbUHJpY2UgcHJvdGVjdGlvbl0gVGhlIHByaWNlIHByb3RlY3Rpb24gdGhyZXNob2xkIGZvciBTcG90IEluc3RhbmNlcywgYXMgYSBwZXJjZW50YWdlIGhpZ2hlciB0aGFuIGFuIGlkZW50aWZpZWQgU3BvdCBwcmljZS4gVGhlIGlkZW50aWZpZWQgU3BvdCBwcmljZSBpcyB0aGUgU3BvdCBwcmljZSBvZiB0aGUgbG93ZXN0IHByaWNlZCBjdXJyZW50IGdlbmVyYXRpb24gQywgTSwgb3IgUiBpbnN0YW5jZSB0eXBlIHdpdGggeW91ciBzcGVjaWZpZWQgYXR0cmlidXRlcy4gSWYgbm8gY3VycmVudCBnZW5lcmF0aW9uIEMsIE0sIG9yIFIgaW5zdGFuY2UgdHlwZSBtYXRjaGVzIHlvdXIgYXR0cmlidXRlcywgdGhlbiB0aGUgaWRlbnRpZmllZCBTcG90IHByaWNlIGlzIGZyb20gdGhlIGxvd2VzdCBwcmljZWQgY3VycmVudCBnZW5lcmF0aW9uIGluc3RhbmNlIHR5cGVzLCBhbmQgZmFpbGluZyB0aGF0LCBmcm9tIHRoZSBsb3dlc3QgcHJpY2VkIHByZXZpb3VzIGdlbmVyYXRpb24gaW5zdGFuY2UgdHlwZXMgdGhhdCBtYXRjaCB5b3VyIGF0dHJpYnV0ZXMuIFdoZW4gQW1hem9uIEVDMiBzZWxlY3RzIGluc3RhbmNlIHR5cGVzIHdpdGggeW91ciBhdHRyaWJ1dGVzLCBpdCB3aWxsIGV4Y2x1ZGUgaW5zdGFuY2UgdHlwZXMgd2hvc2UgU3BvdCBwcmljZSBleGNlZWRzIHlvdXIgc3BlY2lmaWVkIHRocmVzaG9sZC5cbiAqICBUaGUgcGFyYW1ldGVyIGFjY2VwdHMgYW4gaW50ZWdlciwgd2hpY2ggQW1hem9uIEVDMiBpbnRlcnByZXRzIGFzIGEgcGVyY2VudGFnZS5cbiAqICBJZiB5b3Ugc2V0IGBgVGFyZ2V0Q2FwYWNpdHlVbml0VHlwZWBgIHRvIGBgdmNwdWBgIG9yIGBgbWVtb3J5LW1pYmBgLCB0aGUgcHJpY2UgcHJvdGVjdGlvbiB0aHJlc2hvbGQgaXMgYXBwbGllZCBiYXNlZCBvbiB0aGUgcGVyLXZDUFUgb3IgcGVyLW1lbW9yeSBwcmljZSBpbnN0ZWFkIG9mIHRoZSBwZXItaW5zdGFuY2UgcHJpY2UuXG4gKiAgVGhpcyBwYXJhbWV0ZXIgaXMgbm90IHN1cHBvcnRlZCBmb3IgW0dldFNwb3RQbGFjZW1lbnRTY29yZXNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0U3BvdFBsYWNlbWVudFNjb3Jlcy5odG1sKSBhbmQgW0dldEluc3RhbmNlVHlwZXNGcm9tSW5zdGFuY2VSZXF1aXJlbWVudHNdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L0FQSVJlZmVyZW5jZS9BUElfR2V0SW5zdGFuY2VUeXBlc0Zyb21JbnN0YW5jZVJlcXVpcmVtZW50cy5odG1sKS5cbiAqICAgT25seSBvbmUgb2YgYGBTcG90TWF4UHJpY2VQZXJjZW50YWdlT3Zlckxvd2VzdFByaWNlYGAgb3IgYGBNYXhTcG90UHJpY2VBc1BlcmNlbnRhZ2VPZk9wdGltYWxPbkRlbWFuZFByaWNlYGAgY2FuIGJlIHNwZWNpZmllZC4gSWYgeW91IGRvbid0IHNwZWNpZnkgZWl0aGVyLCBBbWF6b24gRUMyIHdpbGwgYXV0b21hdGljYWxseSBhcHBseSBvcHRpbWFsIHByaWNlIHByb3RlY3Rpb24gdG8gY29uc2lzdGVudGx5IHNlbGVjdCBmcm9tIGEgd2lkZSByYW5nZSBvZiBpbnN0YW5jZSB0eXBlcy4gVG8gaW5kaWNhdGUgbm8gcHJpY2UgcHJvdGVjdGlvbiB0aHJlc2hvbGQgZm9yIFNwb3QgSW5zdGFuY2VzLCBtZWFuaW5nIHlvdSB3YW50IHRvIGNvbnNpZGVyIGFsbCBpbnN0YW5jZSB0eXBlcyB0aGF0IG1hdGNoIHlvdXIgYXR0cmlidXRlcywgaW5jbHVkZSBvbmUgb2YgdGhlc2UgcGFyYW1ldGVycyBhbmQgc3BlY2lmeSBhIGhpZ2ggdmFsdWUsIHN1Y2ggYXMgYGA5OTk5OTlgYC5cbiAqICAgRGVmYXVsdDogYGAxMDBgYFxuICovXG5TcG90TWF4UHJpY2VQZXJjZW50YWdlT3Zlckxvd2VzdFByaWNlPzogbnVtYmVyXG5CYXNlbGluZUVic0JhbmR3aWR0aE1icHM/OiBCYXNlbGluZUVic0JhbmR3aWR0aE1icHNcbi8qKlxuICogVGhlIGFjY2VsZXJhdG9ycyB0aGF0IG11c3QgYmUgb24gdGhlIGluc3RhbmNlIHR5cGUuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIE5WSURJQSBBMTBHIEdQVXMsIHNwZWNpZnkgYGBhMTBnYGAuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIE5WSURJQSBBMTAwIEdQVXMsIHNwZWNpZnkgYGBhMTAwYGAuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIE5WSURJQSBIMTAwIEdQVXMsIHNwZWNpZnkgYGBoMTAwYGAuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIEFXUyBJbmZlcmVudGlhIGNoaXBzLCBzcGVjaWZ5IGBgaW5mZXJlbnRpYWBgLlxuICogICArICBGb3IgaW5zdGFuY2UgdHlwZXMgd2l0aCBOVklESUEgR1JJRCBLNTIwIEdQVXMsIHNwZWNpZnkgYGBrNTIwYGAuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIE5WSURJQSBLODAgR1BVcywgc3BlY2lmeSBgYGs4MGBgLlxuICogICArICBGb3IgaW5zdGFuY2UgdHlwZXMgd2l0aCBOVklESUEgTTYwIEdQVXMsIHNwZWNpZnkgYGBtNjBgYC5cbiAqICAgKyAgRm9yIGluc3RhbmNlIHR5cGVzIHdpdGggQU1EIFJhZGVvbiBQcm8gVjUyMCBHUFVzLCBzcGVjaWZ5IGBgcmFkZW9uLXByby12NTIwYGAuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIE5WSURJQSBUNCBHUFVzLCBzcGVjaWZ5IGBgdDRgYC5cbiAqICAgKyAgRm9yIGluc3RhbmNlIHR5cGVzIHdpdGggTlZJRElBIFQ0RyBHUFVzLCBzcGVjaWZ5IGBgdDRnYGAuXG4gKiAgICsgIEZvciBpbnN0YW5jZSB0eXBlcyB3aXRoIFhpbGlueCBWVTlQIEZQR0FzLCBzcGVjaWZ5IGBgdnU5cGBgLlxuICogICArICBGb3IgaW5zdGFuY2UgdHlwZXMgd2l0aCBOVklESUEgVjEwMCBHUFVzLCBzcGVjaWZ5IGBgdjEwMGBgLlxuICogICBcbiAqICBEZWZhdWx0OiBBbnkgYWNjZWxlcmF0b3JcbiAqL1xuQWNjZWxlcmF0b3JOYW1lcz86IHN0cmluZ1tdXG5BY2NlbGVyYXRvclRvdGFsTWVtb3J5TWlCPzogQWNjZWxlcmF0b3JUb3RhbE1lbW9yeU1pQlxuLyoqXG4gKiBJbmRpY2F0ZXMgd2hldGhlciBidXJzdGFibGUgcGVyZm9ybWFuY2UgVCBpbnN0YW5jZSB0eXBlcyBhcmUgaW5jbHVkZWQsIGV4Y2x1ZGVkLCBvciByZXF1aXJlZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbQnVyc3RhYmxlIHBlcmZvcm1hbmNlIGluc3RhbmNlc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0VDMi9sYXRlc3QvVXNlckd1aWRlL2J1cnN0YWJsZS1wZXJmb3JtYW5jZS1pbnN0YW5jZXMuaHRtbCkuXG4gKiAgICsgIFRvIGluY2x1ZGUgYnVyc3RhYmxlIHBlcmZvcm1hbmNlIGluc3RhbmNlIHR5cGVzLCBzcGVjaWZ5IGBgaW5jbHVkZWRgYC5cbiAqICAgKyAgVG8gcmVxdWlyZSBvbmx5IGJ1cnN0YWJsZSBwZXJmb3JtYW5jZSBpbnN0YW5jZSB0eXBlcywgc3BlY2lmeSBgYHJlcXVpcmVkYGAuXG4gKiAgICsgIFRvIGV4Y2x1ZGUgYnVyc3RhYmxlIHBlcmZvcm1hbmNlIGluc3RhbmNlIHR5cGVzLCBzcGVjaWZ5IGBgZXhjbHVkZWRgYC5cbiAqICAgXG4gKiAgRGVmYXVsdDogYGBleGNsdWRlZGBgXG4gKi9cbkJ1cnN0YWJsZVBlcmZvcm1hbmNlPzogc3RyaW5nXG5Ub3RhbExvY2FsU3RvcmFnZUdCPzogVG90YWxMb2NhbFN0b3JhZ2VHQlxufVxuLyoqXG4gKiBUaGUgbWluaW11bSBhbmQgbWF4aW11bSBhbW91bnQgb2YgbWVtb3J5IHBlciB2Q1BVLCBpbiBHaUIuXG4gKiAgRGVmYXVsdDogTm8gbWluaW11bSBvciBtYXhpbXVtIGxpbWl0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lbW9yeUdpQlBlclZDcHUge1xuLyoqXG4gKiBUaGUgbWluaW11bSBhbW91bnQgb2YgbWVtb3J5IHBlciB2Q1BVLCBpbiBHaUIuIFRvIHNwZWNpZnkgbm8gbWluaW11bSBsaW1pdCwgb21pdCB0aGlzIHBhcmFtZXRlci5cbiAqL1xuTWluPzogbnVtYmVyXG4vKipcbiAqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBtZW1vcnkgcGVyIHZDUFUsIGluIEdpQi4gVG8gc3BlY2lmeSBubyBtYXhpbXVtIGxpbWl0LCBvbWl0IHRoaXMgcGFyYW1ldGVyLlxuICovXG5NYXg/OiBudW1iZXJcbn1cbi8qKlxuICogVGhlIG1pbmltdW0gYW5kIG1heGltdW0gbnVtYmVyIG9mIHZDUFVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZDcHVDb3VudCB7XG4vKipcbiAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB2Q1BVcy4gVG8gc3BlY2lmeSBubyBtaW5pbXVtIGxpbWl0LCBzcGVjaWZ5IGBgMGBgLlxuICovXG5NaW4/OiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHZDUFVzLiBUbyBzcGVjaWZ5IG5vIG1heGltdW0gbGltaXQsIG9taXQgdGhpcyBwYXJhbWV0ZXIuXG4gKi9cbk1heD86IG51bWJlclxufVxuLyoqXG4gKiBUaGUgbWluaW11bSBhbmQgbWF4aW11bSBhbW91bnQgb2YgbWVtb3J5LCBpbiBNaUIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVtb3J5TWlCIHtcbi8qKlxuICogVGhlIG1pbmltdW0gYW1vdW50IG9mIG1lbW9yeSwgaW4gTWlCLiBUbyBzcGVjaWZ5IG5vIG1pbmltdW0gbGltaXQsIHNwZWNpZnkgYGAwYGAuXG4gKi9cbk1pbj86IG51bWJlclxuLyoqXG4gKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgbWVtb3J5LCBpbiBNaUIuIFRvIHNwZWNpZnkgbm8gbWF4aW11bSBsaW1pdCwgb21pdCB0aGlzIHBhcmFtZXRlci5cbiAqL1xuTWF4PzogbnVtYmVyXG59XG4vKipcbiAqIFRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIG51bWJlciBvZiBuZXR3b3JrIGludGVyZmFjZXMuXG4gKiAgRGVmYXVsdDogTm8gbWluaW11bSBvciBtYXhpbXVtIGxpbWl0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtJbnRlcmZhY2VDb3VudCB7XG4vKipcbiAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBuZXR3b3JrIGludGVyZmFjZXMuIFRvIHNwZWNpZnkgbm8gbWluaW11bSBsaW1pdCwgb21pdCB0aGlzIHBhcmFtZXRlci5cbiAqL1xuTWluPzogbnVtYmVyXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuZXR3b3JrIGludGVyZmFjZXMuIFRvIHNwZWNpZnkgbm8gbWF4aW11bSBsaW1pdCwgb21pdCB0aGlzIHBhcmFtZXRlci5cbiAqL1xuTWF4PzogbnVtYmVyXG59XG4vKipcbiAqIFRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIG51bWJlciBvZiBhY2NlbGVyYXRvcnMgKEdQVXMsIEZQR0FzLCBvciBBV1MgSW5mZXJlbnRpYSBjaGlwcykgb24gYW4gaW5zdGFuY2UuXG4gKiAgVG8gZXhjbHVkZSBhY2NlbGVyYXRvci1lbmFibGVkIGluc3RhbmNlIHR5cGVzLCBzZXQgYGBNYXhgYCB0byBgYDBgYC5cbiAqICBEZWZhdWx0OiBObyBtaW5pbXVtIG9yIG1heGltdW0gbGltaXRzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZWxlcmF0b3JDb3VudCB7XG4vKipcbiAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiBhY2NlbGVyYXRvcnMuIFRvIHNwZWNpZnkgbm8gbWluaW11bSBsaW1pdCwgb21pdCB0aGlzIHBhcmFtZXRlci5cbiAqL1xuTWluPzogbnVtYmVyXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBhY2NlbGVyYXRvcnMuIFRvIHNwZWNpZnkgbm8gbWF4aW11bSBsaW1pdCwgb21pdCB0aGlzIHBhcmFtZXRlci4gVG8gZXhjbHVkZSBhY2NlbGVyYXRvci1lbmFibGVkIGluc3RhbmNlIHR5cGVzLCBzZXQgYGBNYXhgYCB0byBgYDBgYC5cbiAqL1xuTWF4PzogbnVtYmVyXG59XG4vKipcbiAqIFRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGFtb3VudCBvZiBuZXR3b3JrIGJhbmR3aWR0aCwgaW4gZ2lnYWJpdHMgcGVyIHNlY29uZCAoR2JwcykuXG4gKiAgRGVmYXVsdDogTm8gbWluaW11bSBvciBtYXhpbXVtIGxpbWl0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtCYW5kd2lkdGhHYnBzIHtcbi8qKlxuICogVGhlIG1pbmltdW0gYW1vdW50IG9mIG5ldHdvcmsgYmFuZHdpZHRoLCBpbiBHYnBzLiBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCB0aGVyZSBpcyBubyBtaW5pbXVtIGxpbWl0LlxuICovXG5NaW4/OiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gYW1vdW50IG9mIG5ldHdvcmsgYmFuZHdpZHRoLCBpbiBHYnBzLiBUbyBzcGVjaWZ5IG5vIG1heGltdW0gbGltaXQsIG9taXQgdGhpcyBwYXJhbWV0ZXIuXG4gKi9cbk1heD86IG51bWJlclxufVxuLyoqXG4gKiBUaGUgYmFzZWxpbmUgcGVyZm9ybWFuY2UgdG8gY29uc2lkZXIsIHVzaW5nIGFuIGluc3RhbmNlIGZhbWlseSBhcyBhIGJhc2VsaW5lIHJlZmVyZW5jZS4gVGhlIGluc3RhbmNlIGZhbWlseSBlc3RhYmxpc2hlcyB0aGUgbG93ZXN0IGFjY2VwdGFibGUgbGV2ZWwgb2YgcGVyZm9ybWFuY2UuIEFtYXpvbiBFQzIgdXNlcyB0aGlzIGJhc2VsaW5lIHRvIGd1aWRlIGluc3RhbmNlIHR5cGUgc2VsZWN0aW9uLCBidXQgdGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgdGhlIHNlbGVjdGVkIGluc3RhbmNlIHR5cGVzIHdpbGwgYWx3YXlzIGV4Y2VlZCB0aGUgYmFzZWxpbmUgZm9yIGV2ZXJ5IGFwcGxpY2F0aW9uLiBDdXJyZW50bHksIHRoaXMgcGFyYW1ldGVyIG9ubHkgc3VwcG9ydHMgQ1BVIHBlcmZvcm1hbmNlIGFzIGEgYmFzZWxpbmUgcGVyZm9ybWFuY2UgZmFjdG9yLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFtQZXJmb3JtYW5jZSBwcm90ZWN0aW9uXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvZWMyLWZsZWV0LWF0dHJpYnV0ZS1iYXNlZC1pbnN0YW5jZS10eXBlLXNlbGVjdGlvbi5odG1sI2VjMmZsZWV0LWFiaXMtcGVyZm9ybWFuY2UtcHJvdGVjdGlvbikgaW4gdGhlICpBbWF6b24gRUMyIFVzZXIgR3VpZGUqLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VsaW5lUGVyZm9ybWFuY2VGYWN0b3JzIHtcbkNwdT86IENwdVxufVxuLyoqXG4gKiBUaGUgQ1BVIHBlcmZvcm1hbmNlIHRvIGNvbnNpZGVyLCB1c2luZyBhbiBpbnN0YW5jZSBmYW1pbHkgYXMgdGhlIGJhc2VsaW5lIHJlZmVyZW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcHUge1xuUmVmZXJlbmNlcz86IFJlZmVyZW5jZXNcbn1cbi8qKlxuICogU3BlY2lmaWVzIGFuIGluc3RhbmNlIGZhbWlseSB0byB1c2UgYXMgdGhlIGJhc2VsaW5lIHJlZmVyZW5jZSBmb3IgQ1BVIHBlcmZvcm1hbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZmVyZW5jZSB7XG4vKipcbiAqIFRoZSBpbnN0YW5jZSBmYW1pbHkgdG8gdXNlIGFzIGEgYmFzZWxpbmUgcmVmZXJlbmNlLlxuICogICBFbnN1cmUgdGhhdCB5b3Ugc3BlY2lmeSB0aGUgY29ycmVjdCB2YWx1ZSBmb3IgdGhlIGluc3RhbmNlIGZhbWlseS4gVGhlIGluc3RhbmNlIGZhbWlseSBpcyBldmVyeXRoaW5nIGJlZm9yZSB0aGUgcGVyaW9kIChgYC5gYCkgaW4gdGhlIGluc3RhbmNlIHR5cGUgbmFtZS4gRm9yIGV4YW1wbGUsIGluIHRoZSBpbnN0YW5jZSB0eXBlIGBgYzZpLmxhcmdlYGAsIHRoZSBpbnN0YW5jZSBmYW1pbHkgaXMgYGBjNmlgYCwgbm90IGBgYzZgYC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbQW1hem9uIEVDMiBpbnN0YW5jZSB0eXBlIG5hbWluZyBjb252ZW50aW9uc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VjMi9sYXRlc3QvaW5zdGFuY2V0eXBlcy9pbnN0YW5jZS10eXBlLW5hbWVzLmh0bWwpIGluICpBbWF6b24gRUMyIEluc3RhbmNlIFR5cGVzKi5cbiAqICAgVGhlIGZvbGxvd2luZyBpbnN0YW5jZSBmYW1pbGllcyBhcmUgKm5vdCBzdXBwb3J0ZWQqIGZvciBwZXJmb3JtYW5jZSBwcm90ZWN0aW9uOlxuICogICArICAgYGBjMWBgIFxuICogICArICAgYGBnM2BgIHwgYGBnM3NgYCBcbiAqICAgKyAgIGBgaHBjN2dgYCBcbiAqICAgKyAgIGBgbTFgYCB8IGBgbTJgYCBcbiAqICAgKyAgIGBgbWFjMWBgIHwgYGBtYWMyYGAgfCBgYG1hYzItbTF1bHRyYWBgIHwgYGBtYWMyLW0yYGAgfCBgYG1hYzItbTJwcm9gYCBcbiAqICAgKyAgIGBgcDNkbmBgIHwgYGBwNGRgYCB8IGBgcDVgYCBcbiAqICAgKyAgIGBgdDFgYCBcbiAqICAgKyAgIGBgdS0xMnRiMWBgIHwgYGB1LTE4dGIxYGAgfCBgYHUtMjR0YjFgYCB8IGBgdS0zdGIxYGAgfCBgYHUtNnRiMWBgIHwgYGB1LTl0YjFgYCB8IGBgdTdpLTEydGJgYCB8IGBgdTdpbi0xNnRiYGAgfCBgYHU3aW4tMjR0YmBgIHwgYGB1N2luLTMydGJgYCBcbiAqICAgXG4gKiAgSWYgeW91IGVuYWJsZSBwZXJmb3JtYW5jZSBwcm90ZWN0aW9uIGJ5IHNwZWNpZnlpbmcgYSBzdXBwb3J0ZWQgaW5zdGFuY2UgZmFtaWx5LCB0aGUgcmV0dXJuZWQgaW5zdGFuY2UgdHlwZXMgd2lsbCBleGNsdWRlIHRoZSBhYm92ZSB1bnN1cHBvcnRlZCBpbnN0YW5jZSBmYW1pbGllcy5cbiAqL1xuSW5zdGFuY2VGYW1pbHk/OiBzdHJpbmdcbn1cbi8qKlxuICogVGhlIG1pbmltdW0gYW5kIG1heGltdW0gYmFzZWxpbmUgYmFuZHdpZHRoIHRvIEFtYXpvbiBFQlMsIGluIE1icHMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgW0FtYXpvbiBFQlPigJNvcHRpbWl6ZWQgaW5zdGFuY2VzXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvZWJzLW9wdGltaXplZC5odG1sKSBpbiB0aGUgKkFtYXpvbiBFQzIgVXNlciBHdWlkZSouXG4gKiAgRGVmYXVsdDogTm8gbWluaW11bSBvciBtYXhpbXVtIGxpbWl0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VsaW5lRWJzQmFuZHdpZHRoTWJwcyB7XG4vKipcbiAqIFRoZSBtaW5pbXVtIGJhc2VsaW5lIGJhbmR3aWR0aCwgaW4gTWJwcy4gVG8gc3BlY2lmeSBubyBtaW5pbXVtIGxpbWl0LCBvbWl0IHRoaXMgcGFyYW1ldGVyLlxuICovXG5NaW4/OiBudW1iZXJcbi8qKlxuICogVGhlIG1heGltdW0gYmFzZWxpbmUgYmFuZHdpZHRoLCBpbiBNYnBzLiBUbyBzcGVjaWZ5IG5vIG1heGltdW0gbGltaXQsIG9taXQgdGhpcyBwYXJhbWV0ZXIuXG4gKi9cbk1heD86IG51bWJlclxufVxuLyoqXG4gKiBUaGUgbWluaW11bSBhbmQgbWF4aW11bSBhbW91bnQgb2YgdG90YWwgYWNjZWxlcmF0b3IgbWVtb3J5LCBpbiBNaUIuXG4gKiAgRGVmYXVsdDogTm8gbWluaW11bSBvciBtYXhpbXVtIGxpbWl0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjY2VsZXJhdG9yVG90YWxNZW1vcnlNaUIge1xuLyoqXG4gKiBUaGUgbWluaW11bSBhbW91bnQgb2YgYWNjZWxlcmF0b3IgbWVtb3J5LCBpbiBNaUIuIFRvIHNwZWNpZnkgbm8gbWluaW11bSBsaW1pdCwgb21pdCB0aGlzIHBhcmFtZXRlci5cbiAqL1xuTWluPzogbnVtYmVyXG4vKipcbiAqIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBhY2NlbGVyYXRvciBtZW1vcnksIGluIE1pQi4gVG8gc3BlY2lmeSBubyBtYXhpbXVtIGxpbWl0LCBvbWl0IHRoaXMgcGFyYW1ldGVyLlxuICovXG5NYXg/OiBudW1iZXJcbn1cbi8qKlxuICogVGhlIG1pbmltdW0gYW5kIG1heGltdW0gYW1vdW50IG9mIHRvdGFsIGxvY2FsIHN0b3JhZ2UsIGluIEdCLlxuICogIERlZmF1bHQ6IE5vIG1pbmltdW0gb3IgbWF4aW11bSBsaW1pdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb3RhbExvY2FsU3RvcmFnZUdCIHtcbi8qKlxuICogVGhlIG1pbmltdW0gYW1vdW50IG9mIHRvdGFsIGxvY2FsIHN0b3JhZ2UsIGluIEdCLiBUbyBzcGVjaWZ5IG5vIG1pbmltdW0gbGltaXQsIG9taXQgdGhpcyBwYXJhbWV0ZXIuXG4gKi9cbk1pbj86IG51bWJlclxuLyoqXG4gKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgdG90YWwgbG9jYWwgc3RvcmFnZSwgaW4gR0IuIFRvIHNwZWNpZnkgbm8gbWF4aW11bSBsaW1pdCwgb21pdCB0aGlzIHBhcmFtZXRlci5cbiAqL1xuTWF4PzogbnVtYmVyXG59XG4vKipcbiAqIFRoZSBDYXBhY2l0eSBSZXNlcnZhdGlvbiB0YXJnZXRpbmcgb3B0aW9uLiBJZiB5b3UgZG8gbm90IHNwZWNpZnkgdGhpcyBwYXJhbWV0ZXIsIHRoZSBpbnN0YW5jZSdzIENhcGFjaXR5IFJlc2VydmF0aW9uIHByZWZlcmVuY2UgZGVmYXVsdHMgdG8gYGBvcGVuYGAsIHdoaWNoIGVuYWJsZXMgaXQgdG8gcnVuIGluIGFueSBvcGVuIENhcGFjaXR5IFJlc2VydmF0aW9uIHRoYXQgaGFzIG1hdGNoaW5nIGF0dHJpYnV0ZXMgKGluc3RhbmNlIHR5cGUsIHBsYXRmb3JtLCBBdmFpbGFiaWxpdHkgWm9uZSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwYWNpdHlSZXNlcnZhdGlvblNwZWNpZmljYXRpb24ge1xuLyoqXG4gKiBJbmRpY2F0ZXMgdGhlIGluc3RhbmNlJ3MgQ2FwYWNpdHkgUmVzZXJ2YXRpb24gcHJlZmVyZW5jZXMuIFBvc3NpYmxlIHByZWZlcmVuY2VzIGluY2x1ZGU6XG4gKiAgICsgICBgYGNhcGFjaXR5LXJlc2VydmF0aW9ucy1vbmx5YGAgLSBUaGUgaW5zdGFuY2Ugd2lsbCBvbmx5IHJ1biBpbiBhIENhcGFjaXR5IFJlc2VydmF0aW9uIG9yIENhcGFjaXR5IFJlc2VydmF0aW9uIGdyb3VwLiBJZiBjYXBhY2l0eSBpc24ndCBhdmFpbGFibGUsIHRoZSBpbnN0YW5jZSB3aWxsIGZhaWwgdG8gbGF1bmNoLlxuICogICArICAgYGBvcGVuYGAgLSBUaGUgaW5zdGFuY2UgY2FuIHJ1biBpbiBhbnkgYGBvcGVuYGAgQ2FwYWNpdHkgUmVzZXJ2YXRpb24gdGhhdCBoYXMgbWF0Y2hpbmcgYXR0cmlidXRlcyAoaW5zdGFuY2UgdHlwZSwgcGxhdGZvcm0sIEF2YWlsYWJpbGl0eSBab25lLCB0ZW5hbmN5KS5cbiAqICAgKyAgIGBgbm9uZWBgIC0gVGhlIGluc3RhbmNlIGF2b2lkcyBydW5uaW5nIGluIGEgQ2FwYWNpdHkgUmVzZXJ2YXRpb24gZXZlbiBpZiBvbmUgaXMgYXZhaWxhYmxlLiBUaGUgaW5zdGFuY2UgcnVucyBpbiBPbi1EZW1hbmQgY2FwYWNpdHkuXG4gKi9cbkNhcGFjaXR5UmVzZXJ2YXRpb25QcmVmZXJlbmNlPzogc3RyaW5nXG5DYXBhY2l0eVJlc2VydmF0aW9uVGFyZ2V0PzogQ2FwYWNpdHlSZXNlcnZhdGlvblRhcmdldFxufVxuLyoqXG4gKiBJbmZvcm1hdGlvbiBhYm91dCB0aGUgdGFyZ2V0IENhcGFjaXR5IFJlc2VydmF0aW9uIG9yIENhcGFjaXR5IFJlc2VydmF0aW9uIGdyb3VwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhcGFjaXR5UmVzZXJ2YXRpb25UYXJnZXQge1xuLyoqXG4gKiBUaGUgQVJOIG9mIHRoZSBDYXBhY2l0eSBSZXNlcnZhdGlvbiByZXNvdXJjZSBncm91cCBpbiB3aGljaCB0byBydW4gdGhlIGluc3RhbmNlLlxuICovXG5DYXBhY2l0eVJlc2VydmF0aW9uUmVzb3VyY2VHcm91cEFybj86IHN0cmluZ1xuLyoqXG4gKiBUaGUgSUQgb2YgdGhlIENhcGFjaXR5IFJlc2VydmF0aW9uIGluIHdoaWNoIHRvIHJ1biB0aGUgaW5zdGFuY2UuXG4gKi9cbkNhcGFjaXR5UmVzZXJ2YXRpb25JZD86IHN0cmluZ1xufVxuLyoqXG4gKiBUaGUgY3JlZGl0IG9wdGlvbiBmb3IgQ1BVIHVzYWdlIG9mIHRoZSBpbnN0YW5jZS4gVmFsaWQgb25seSBmb3IgVCBpbnN0YW5jZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlZGl0U3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIFRoZSBjcmVkaXQgb3B0aW9uIGZvciBDUFUgdXNhZ2Ugb2YgYSBUIGluc3RhbmNlLlxuICogIFZhbGlkIHZhbHVlczogYGBzdGFuZGFyZGBgIHwgYGB1bmxpbWl0ZWRgYFxuICovXG5DcHVDcmVkaXRzPzogc3RyaW5nXG59XG4vKipcbiAqIFNwZWNpZmllcyB0aGUgdGFncyB0byBhcHBseSB0byB0aGUgbGF1bmNoIHRlbXBsYXRlIGR1cmluZyBjcmVhdGlvbi5cbiAqICBUbyBzcGVjaWZ5IHRoZSB0YWdzIGZvciB0aGUgcmVzb3VyY2VzIHRoYXQgYXJlIGNyZWF0ZWQgZHVyaW5nIGluc3RhbmNlIGxhdW5jaCwgdXNlIFtBV1M6OkVDMjo6TGF1bmNoVGVtcGxhdGUgVGFnU3BlY2lmaWNhdGlvbl0oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtZWMyLWxhdW5jaHRlbXBsYXRlLXRhZ3NwZWNpZmljYXRpb24uaHRtbCkuXG4gKiAgIGBgTGF1bmNoVGVtcGxhdGVUYWdTcGVjaWZpY2F0aW9uYGAgaXMgYSBwcm9wZXJ0eSBvZiBbQVdTOjpFQzI6OkxhdW5jaFRlbXBsYXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLWxhdW5jaHRlbXBsYXRlLmh0bWwpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExhdW5jaFRlbXBsYXRlVGFnU3BlY2lmaWNhdGlvbiB7XG4vKipcbiAqIFRoZSB0eXBlIG9mIHJlc291cmNlLiBUbyB0YWcgYSBsYXVuY2ggdGVtcGxhdGUsIGBgUmVzb3VyY2VUeXBlYGAgbXVzdCBiZSBgYGxhdW5jaC10ZW1wbGF0ZWBgLlxuICovXG5SZXNvdXJjZVR5cGU/OiBzdHJpbmdcbi8qKlxuICogVGhlIHRhZ3MgZm9yIHRoZSByZXNvdXJjZS5cbiAqL1xuVGFncz86IFRhZ1tdXG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjMi1uZXR3b3JrYWNsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXdzLWVjMi1uZXR3b3JrYWNsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNwZWNpZmllcyBhIG5ldHdvcmsgQUNMIGZvciB5b3VyIFZQQy5cbiAqICBUbyBhZGQgYSBuZXR3b3JrIEFDTCBlbnRyeSwgc2VlIFtBV1M6OkVDMjo6TmV0d29ya0FjbEVudHJ5XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcmVzb3VyY2UtZWMyLW5ldHdvcmthY2xlbnRyeS5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0VDMl9ORVRXT1JLQUNMIHtcbi8qKlxuICogVGhlIElEIG9mIHRoZSBWUEMgZm9yIHRoZSBuZXR3b3JrIEFDTC5cbiAqL1xuVnBjSWQ6IHN0cmluZ1xuSWQ/OiBzdHJpbmdcbi8qKlxuICogVGhlIHRhZ3MgZm9yIHRoZSBuZXR3b3JrIEFDTC5cbiAqL1xuVGFncz86IFRhZ1tdXG59XG4vKipcbiAqIFNwZWNpZmllcyBhIHRhZy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBbUmVzb3VyY2UgdGFnc10oaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXByb3BlcnRpZXMtcmVzb3VyY2UtdGFncy5odG1sKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYWcge1xuLyoqXG4gKiBUaGUgdGFnIHZhbHVlLlxuICovXG5WYWx1ZTogc3RyaW5nXG4vKipcbiAqIFRoZSB0YWcga2V5LlxuICovXG5LZXk6IHN0cmluZ1xufVxuIl19
|
|
@@ -2,89 +2,136 @@
|
|
|
2
2
|
* Resource Type definition for AWS::EC2::SpotFleet
|
|
3
3
|
*/
|
|
4
4
|
export interface _AWS_EC2_SPOTFLEET {
|
|
5
|
-
SpotFleetRequestConfigData: SpotFleetRequestConfigData;
|
|
6
5
|
Id?: string;
|
|
6
|
+
SpotFleetRequestConfigData: SpotFleetRequestConfigData;
|
|
7
7
|
}
|
|
8
8
|
export interface SpotFleetRequestConfigData {
|
|
9
|
+
AllocationStrategy?: ("capacityOptimized" | "capacityOptimizedPrioritized" | "diversified" | "lowestPrice" | "priceCapacityOptimized");
|
|
9
10
|
Context?: string;
|
|
10
|
-
SpotMaxTotalPrice?: string;
|
|
11
11
|
ExcessCapacityTerminationPolicy?: ("Default" | "NoTermination" | "default" | "noTermination");
|
|
12
|
-
|
|
12
|
+
IamFleetRole: string;
|
|
13
|
+
InstanceInterruptionBehavior?: ("hibernate" | "stop" | "terminate");
|
|
13
14
|
InstancePoolsToUseCount?: number;
|
|
15
|
+
LaunchSpecifications?: SpotFleetLaunchSpecification[];
|
|
14
16
|
LaunchTemplateConfigs?: LaunchTemplateConfig[];
|
|
15
|
-
|
|
16
|
-
IamFleetRole: string;
|
|
17
|
-
SpotMaintenanceStrategies?: SpotMaintenanceStrategies;
|
|
18
|
-
TerminateInstancesWithExpiration?: boolean;
|
|
19
|
-
ValidUntil?: string;
|
|
20
|
-
OnDemandMaxTotalPrice?: string;
|
|
17
|
+
LoadBalancersConfig?: LoadBalancersConfig;
|
|
21
18
|
OnDemandAllocationStrategy?: string;
|
|
22
|
-
|
|
23
|
-
AllocationStrategy?: ("capacityOptimized" | "capacityOptimizedPrioritized" | "diversified" | "lowestPrice" | "priceCapacityOptimized");
|
|
19
|
+
OnDemandMaxTotalPrice?: string;
|
|
24
20
|
OnDemandTargetCapacity?: number;
|
|
25
|
-
Type?: ("maintain" | "request");
|
|
26
|
-
LaunchSpecifications?: SpotFleetLaunchSpecification[];
|
|
27
|
-
InstanceInterruptionBehavior?: ("hibernate" | "stop" | "terminate");
|
|
28
|
-
LoadBalancersConfig?: LoadBalancersConfig;
|
|
29
|
-
ValidFrom?: string;
|
|
30
21
|
ReplaceUnhealthyInstances?: boolean;
|
|
22
|
+
SpotMaintenanceStrategies?: SpotMaintenanceStrategies;
|
|
23
|
+
SpotMaxTotalPrice?: string;
|
|
24
|
+
SpotPrice?: string;
|
|
31
25
|
TargetCapacity: number;
|
|
26
|
+
TerminateInstancesWithExpiration?: boolean;
|
|
27
|
+
Type?: ("maintain" | "request");
|
|
28
|
+
ValidFrom?: string;
|
|
29
|
+
ValidUntil?: string;
|
|
30
|
+
TagSpecifications?: SpotFleetTagSpecification[];
|
|
31
|
+
TargetCapacityUnitType?: ("vcpu" | "memory-mib" | "units");
|
|
32
|
+
}
|
|
33
|
+
export interface SpotFleetLaunchSpecification {
|
|
34
|
+
BlockDeviceMappings?: BlockDeviceMapping[];
|
|
35
|
+
EbsOptimized?: boolean;
|
|
36
|
+
IamInstanceProfile?: IamInstanceProfileSpecification;
|
|
37
|
+
ImageId: string;
|
|
38
|
+
InstanceType?: string;
|
|
39
|
+
KernelId?: string;
|
|
40
|
+
KeyName?: string;
|
|
41
|
+
Monitoring?: SpotFleetMonitoring;
|
|
42
|
+
NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
|
|
43
|
+
Placement?: SpotPlacement;
|
|
44
|
+
RamdiskId?: string;
|
|
45
|
+
SecurityGroups?: GroupIdentifier[];
|
|
46
|
+
SpotPrice?: string;
|
|
47
|
+
SubnetId?: string;
|
|
48
|
+
TagSpecifications?: SpotFleetTagSpecification[];
|
|
49
|
+
UserData?: string;
|
|
50
|
+
WeightedCapacity?: number;
|
|
51
|
+
InstanceRequirements?: InstanceRequirementsRequest;
|
|
52
|
+
}
|
|
53
|
+
export interface BlockDeviceMapping {
|
|
54
|
+
DeviceName: string;
|
|
55
|
+
Ebs?: EbsBlockDevice;
|
|
56
|
+
NoDevice?: string;
|
|
57
|
+
VirtualName?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface EbsBlockDevice {
|
|
60
|
+
DeleteOnTermination?: boolean;
|
|
61
|
+
Encrypted?: boolean;
|
|
62
|
+
Iops?: number;
|
|
63
|
+
SnapshotId?: string;
|
|
64
|
+
VolumeSize?: number;
|
|
65
|
+
VolumeType?: ("gp2" | "gp3" | "io1" | "io2" | "sc1" | "st1" | "standard");
|
|
66
|
+
}
|
|
67
|
+
export interface IamInstanceProfileSpecification {
|
|
68
|
+
Arn?: string;
|
|
69
|
+
}
|
|
70
|
+
export interface SpotFleetMonitoring {
|
|
71
|
+
Enabled?: boolean;
|
|
72
|
+
}
|
|
73
|
+
export interface InstanceNetworkInterfaceSpecification {
|
|
74
|
+
AssociatePublicIpAddress?: boolean;
|
|
75
|
+
DeleteOnTermination?: boolean;
|
|
76
|
+
Description?: string;
|
|
77
|
+
DeviceIndex?: number;
|
|
78
|
+
Groups?: string[];
|
|
79
|
+
Ipv6AddressCount?: number;
|
|
80
|
+
Ipv6Addresses?: InstanceIpv6Address[];
|
|
81
|
+
NetworkInterfaceId?: string;
|
|
82
|
+
PrivateIpAddresses?: PrivateIpAddressSpecification[];
|
|
83
|
+
SecondaryPrivateIpAddressCount?: number;
|
|
84
|
+
SubnetId?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface InstanceIpv6Address {
|
|
87
|
+
Ipv6Address: string;
|
|
88
|
+
}
|
|
89
|
+
export interface PrivateIpAddressSpecification {
|
|
90
|
+
Primary?: boolean;
|
|
91
|
+
PrivateIpAddress: string;
|
|
92
|
+
}
|
|
93
|
+
export interface SpotPlacement {
|
|
94
|
+
AvailabilityZone?: string;
|
|
95
|
+
GroupName?: string;
|
|
96
|
+
Tenancy?: ("dedicated" | "default" | "host");
|
|
97
|
+
}
|
|
98
|
+
export interface GroupIdentifier {
|
|
99
|
+
GroupId: string;
|
|
32
100
|
}
|
|
33
101
|
export interface SpotFleetTagSpecification {
|
|
34
102
|
ResourceType?: ("client-vpn-endpoint" | "customer-gateway" | "dedicated-host" | "dhcp-options" | "egress-only-internet-gateway" | "elastic-gpu" | "elastic-ip" | "export-image-task" | "export-instance-task" | "fleet" | "fpga-image" | "host-reservation" | "image" | "import-image-task" | "import-snapshot-task" | "instance" | "internet-gateway" | "key-pair" | "launch-template" | "local-gateway-route-table-vpc-association" | "natgateway" | "network-acl" | "network-insights-analysis" | "network-insights-path" | "network-interface" | "placement-group" | "reserved-instances" | "route-table" | "security-group" | "snapshot" | "spot-fleet-request" | "spot-instances-request" | "subnet" | "traffic-mirror-filter" | "traffic-mirror-session" | "traffic-mirror-target" | "transit-gateway" | "transit-gateway-attachment" | "transit-gateway-connect-peer" | "transit-gateway-multicast-domain" | "transit-gateway-route-table" | "volume" | "vpc" | "vpc-flow-log" | "vpc-peering-connection" | "vpn-connection" | "vpn-gateway");
|
|
35
103
|
Tags?: Tag[];
|
|
36
104
|
}
|
|
37
105
|
export interface Tag {
|
|
38
|
-
Value: string;
|
|
39
106
|
Key: string;
|
|
40
|
-
|
|
41
|
-
export interface LaunchTemplateConfig {
|
|
42
|
-
LaunchTemplateSpecification?: FleetLaunchTemplateSpecification;
|
|
43
|
-
Overrides?: LaunchTemplateOverrides[];
|
|
44
|
-
}
|
|
45
|
-
export interface FleetLaunchTemplateSpecification {
|
|
46
|
-
LaunchTemplateName?: string;
|
|
47
|
-
Version: string;
|
|
48
|
-
LaunchTemplateId?: string;
|
|
49
|
-
}
|
|
50
|
-
export interface LaunchTemplateOverrides {
|
|
51
|
-
SpotPrice?: string;
|
|
52
|
-
WeightedCapacity?: number;
|
|
53
|
-
Priority?: number;
|
|
54
|
-
AvailabilityZone?: string;
|
|
55
|
-
SubnetId?: string;
|
|
56
|
-
InstanceRequirements?: InstanceRequirementsRequest;
|
|
57
|
-
InstanceType?: string;
|
|
107
|
+
Value: string;
|
|
58
108
|
}
|
|
59
109
|
export interface InstanceRequirementsRequest {
|
|
60
|
-
InstanceGenerations?: ("current" | "previous")[];
|
|
61
|
-
MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest;
|
|
62
|
-
AcceleratorTypes?: ("gpu" | "fpga" | "inference")[];
|
|
63
110
|
VCpuCount?: VCpuCountRangeRequest;
|
|
64
|
-
|
|
65
|
-
LocalStorage?: ("included" | "required" | "excluded");
|
|
111
|
+
MemoryMiB?: MemoryMiBRequest;
|
|
66
112
|
CpuManufacturers?: ("intel" | "amd" | "amazon-web-services" | "apple")[];
|
|
113
|
+
MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest;
|
|
114
|
+
AllowedInstanceTypes?: string[];
|
|
115
|
+
ExcludedInstanceTypes?: string[];
|
|
116
|
+
InstanceGenerations?: ("current" | "previous")[];
|
|
117
|
+
SpotMaxPricePercentageOverLowestPrice?: number;
|
|
118
|
+
OnDemandMaxPricePercentageOverLowestPrice?: number;
|
|
119
|
+
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number;
|
|
67
120
|
BareMetal?: ("included" | "required" | "excluded");
|
|
121
|
+
BurstablePerformance?: ("included" | "required" | "excluded");
|
|
68
122
|
RequireHibernateSupport?: boolean;
|
|
69
|
-
MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number;
|
|
70
|
-
OnDemandMaxPricePercentageOverLowestPrice?: number;
|
|
71
|
-
MemoryMiB?: MemoryMiBRequest;
|
|
72
|
-
LocalStorageTypes?: ("hdd" | "ssd")[];
|
|
73
|
-
NetworkInterfaceCount?: NetworkInterfaceCountRequest;
|
|
74
|
-
ExcludedInstanceTypes?: string[];
|
|
75
|
-
AllowedInstanceTypes?: string[];
|
|
76
123
|
NetworkBandwidthGbps?: NetworkBandwidthGbpsRequest;
|
|
77
|
-
|
|
78
|
-
|
|
124
|
+
NetworkInterfaceCount?: NetworkInterfaceCountRequest;
|
|
125
|
+
LocalStorage?: ("included" | "required" | "excluded");
|
|
126
|
+
LocalStorageTypes?: ("hdd" | "ssd")[];
|
|
127
|
+
TotalLocalStorageGB?: TotalLocalStorageGBRequest;
|
|
79
128
|
BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest;
|
|
129
|
+
AcceleratorTypes?: ("gpu" | "fpga" | "inference")[];
|
|
130
|
+
AcceleratorCount?: AcceleratorCountRequest;
|
|
131
|
+
AcceleratorManufacturers?: ("amazon-web-services" | "amd" | "habana" | "nvidia" | "xilinx")[];
|
|
80
132
|
AcceleratorNames?: ("a10g" | "a100" | "h100" | "inferentia" | "k520" | "k80" | "m60" | "radeon-pro-v520" | "t4" | "t4g" | "vu9p" | "v100")[];
|
|
81
133
|
AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest;
|
|
82
|
-
|
|
83
|
-
TotalLocalStorageGB?: TotalLocalStorageGBRequest;
|
|
84
|
-
}
|
|
85
|
-
export interface MemoryGiBPerVCpuRequest {
|
|
86
|
-
Min?: number;
|
|
87
|
-
Max?: number;
|
|
134
|
+
BaselinePerformanceFactors?: BaselinePerformanceFactorsRequest;
|
|
88
135
|
}
|
|
89
136
|
export interface VCpuCountRangeRequest {
|
|
90
137
|
Min?: number;
|
|
@@ -94,7 +141,7 @@ export interface MemoryMiBRequest {
|
|
|
94
141
|
Min?: number;
|
|
95
142
|
Max?: number;
|
|
96
143
|
}
|
|
97
|
-
export interface
|
|
144
|
+
export interface MemoryGiBPerVCpuRequest {
|
|
98
145
|
Min?: number;
|
|
99
146
|
Max?: number;
|
|
100
147
|
}
|
|
@@ -102,7 +149,11 @@ export interface NetworkBandwidthGbpsRequest {
|
|
|
102
149
|
Min?: number;
|
|
103
150
|
Max?: number;
|
|
104
151
|
}
|
|
105
|
-
export interface
|
|
152
|
+
export interface NetworkInterfaceCountRequest {
|
|
153
|
+
Min?: number;
|
|
154
|
+
Max?: number;
|
|
155
|
+
}
|
|
156
|
+
export interface TotalLocalStorageGBRequest {
|
|
106
157
|
Min?: number;
|
|
107
158
|
Max?: number;
|
|
108
159
|
}
|
|
@@ -110,88 +161,40 @@ export interface BaselineEbsBandwidthMbpsRequest {
|
|
|
110
161
|
Min?: number;
|
|
111
162
|
Max?: number;
|
|
112
163
|
}
|
|
113
|
-
export interface
|
|
164
|
+
export interface AcceleratorCountRequest {
|
|
114
165
|
Min?: number;
|
|
115
166
|
Max?: number;
|
|
116
167
|
}
|
|
117
|
-
export interface
|
|
168
|
+
export interface AcceleratorTotalMemoryMiBRequest {
|
|
118
169
|
Min?: number;
|
|
119
170
|
Max?: number;
|
|
120
171
|
}
|
|
121
|
-
export interface
|
|
122
|
-
|
|
172
|
+
export interface BaselinePerformanceFactorsRequest {
|
|
173
|
+
Cpu?: CpuPerformanceFactorRequest;
|
|
123
174
|
}
|
|
124
|
-
export interface
|
|
125
|
-
|
|
126
|
-
ReplacementStrategy?: ("launch" | "launch-before-terminate");
|
|
175
|
+
export interface CpuPerformanceFactorRequest {
|
|
176
|
+
References?: PerformanceFactorReferenceRequest[];
|
|
127
177
|
}
|
|
128
|
-
export interface
|
|
129
|
-
|
|
130
|
-
TagSpecifications?: SpotFleetTagSpecification[];
|
|
131
|
-
UserData?: string;
|
|
132
|
-
BlockDeviceMappings?: BlockDeviceMapping[];
|
|
133
|
-
IamInstanceProfile?: IamInstanceProfileSpecification;
|
|
134
|
-
KernelId?: string;
|
|
135
|
-
SubnetId?: string;
|
|
136
|
-
EbsOptimized?: boolean;
|
|
137
|
-
KeyName?: string;
|
|
138
|
-
RamdiskId?: string;
|
|
139
|
-
SpotPrice?: string;
|
|
140
|
-
WeightedCapacity?: number;
|
|
141
|
-
Placement?: SpotPlacement;
|
|
142
|
-
NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
|
|
143
|
-
ImageId: string;
|
|
144
|
-
InstanceRequirements?: InstanceRequirementsRequest;
|
|
145
|
-
InstanceType?: string;
|
|
146
|
-
Monitoring?: SpotFleetMonitoring;
|
|
178
|
+
export interface PerformanceFactorReferenceRequest {
|
|
179
|
+
InstanceFamily?: string;
|
|
147
180
|
}
|
|
148
|
-
export interface
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
export interface BlockDeviceMapping {
|
|
152
|
-
Ebs?: EbsBlockDevice;
|
|
153
|
-
NoDevice?: string;
|
|
154
|
-
VirtualName?: string;
|
|
155
|
-
DeviceName: string;
|
|
156
|
-
}
|
|
157
|
-
export interface EbsBlockDevice {
|
|
158
|
-
SnapshotId?: string;
|
|
159
|
-
VolumeType?: ("gp2" | "gp3" | "io1" | "io2" | "sc1" | "st1" | "standard");
|
|
160
|
-
Encrypted?: boolean;
|
|
161
|
-
Iops?: number;
|
|
162
|
-
VolumeSize?: number;
|
|
163
|
-
DeleteOnTermination?: boolean;
|
|
181
|
+
export interface LaunchTemplateConfig {
|
|
182
|
+
LaunchTemplateSpecification?: FleetLaunchTemplateSpecification;
|
|
183
|
+
Overrides?: LaunchTemplateOverrides[];
|
|
164
184
|
}
|
|
165
|
-
export interface
|
|
166
|
-
|
|
185
|
+
export interface FleetLaunchTemplateSpecification {
|
|
186
|
+
LaunchTemplateId?: string;
|
|
187
|
+
LaunchTemplateName?: string;
|
|
188
|
+
Version: string;
|
|
167
189
|
}
|
|
168
|
-
export interface
|
|
169
|
-
GroupName?: string;
|
|
170
|
-
Tenancy?: ("dedicated" | "default" | "host");
|
|
190
|
+
export interface LaunchTemplateOverrides {
|
|
171
191
|
AvailabilityZone?: string;
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
Description?: string;
|
|
175
|
-
PrivateIpAddresses?: PrivateIpAddressSpecification[];
|
|
176
|
-
SecondaryPrivateIpAddressCount?: number;
|
|
177
|
-
DeviceIndex?: number;
|
|
178
|
-
Groups?: string[];
|
|
179
|
-
Ipv6AddressCount?: number;
|
|
180
|
-
Ipv6Addresses?: InstanceIpv6Address[];
|
|
192
|
+
InstanceType?: string;
|
|
193
|
+
SpotPrice?: string;
|
|
181
194
|
SubnetId?: string;
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}
|
|
186
|
-
export interface PrivateIpAddressSpecification {
|
|
187
|
-
PrivateIpAddress: string;
|
|
188
|
-
Primary?: boolean;
|
|
189
|
-
}
|
|
190
|
-
export interface InstanceIpv6Address {
|
|
191
|
-
Ipv6Address: string;
|
|
192
|
-
}
|
|
193
|
-
export interface SpotFleetMonitoring {
|
|
194
|
-
Enabled?: boolean;
|
|
195
|
+
WeightedCapacity?: number;
|
|
196
|
+
InstanceRequirements?: InstanceRequirementsRequest;
|
|
197
|
+
Priority?: number;
|
|
195
198
|
}
|
|
196
199
|
export interface LoadBalancersConfig {
|
|
197
200
|
ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig;
|
|
@@ -209,3 +212,10 @@ export interface TargetGroupsConfig {
|
|
|
209
212
|
export interface TargetGroup {
|
|
210
213
|
Arn: string;
|
|
211
214
|
}
|
|
215
|
+
export interface SpotMaintenanceStrategies {
|
|
216
|
+
CapacityRebalance?: SpotCapacityRebalance;
|
|
217
|
+
}
|
|
218
|
+
export interface SpotCapacityRebalance {
|
|
219
|
+
ReplacementStrategy?: ("launch" | "launch-before-terminate");
|
|
220
|
+
TerminationDelay?: number;
|
|
221
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjMi1zcG90ZmxlZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtZWMyLXNwb3RmbGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvdXJjZSBUeXBlIGRlZmluaXRpb24gZm9yIEFXUzo6RUMyOjpTcG90RmxlZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0VDMl9TUE9URkxFRVQge1xuU3BvdEZsZWV0UmVxdWVzdENvbmZpZ0RhdGE6IFNwb3RGbGVldFJlcXVlc3RDb25maWdEYXRhXG5JZD86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTcG90RmxlZXRSZXF1ZXN0Q29uZmlnRGF0YSB7XG5Db250ZXh0Pzogc3RyaW5nXG5TcG90TWF4VG90YWxQcmljZT86IHN0cmluZ1xuRXhjZXNzQ2FwYWNpdHlUZXJtaW5hdGlvblBvbGljeT86IChcIkRlZmF1bHRcIiB8IFwiTm9UZXJtaW5hdGlvblwiIHwgXCJkZWZhdWx0XCIgfCBcIm5vVGVybWluYXRpb25cIilcblRhZ1NwZWNpZmljYXRpb25zPzogU3BvdEZsZWV0VGFnU3BlY2lmaWNhdGlvbltdXG5JbnN0YW5jZVBvb2xzVG9Vc2VDb3VudD86IG51bWJlclxuTGF1bmNoVGVtcGxhdGVDb25maWdzPzogTGF1bmNoVGVtcGxhdGVDb25maWdbXVxuVGFyZ2V0Q2FwYWNpdHlVbml0VHlwZT86IChcInZjcHVcIiB8IFwibWVtb3J5LW1pYlwiIHwgXCJ1bml0c1wiKVxuSWFtRmxlZXRSb2xlOiBzdHJpbmdcblNwb3RNYWludGVuYW5jZVN0cmF0ZWdpZXM/OiBTcG90TWFpbnRlbmFuY2VTdHJhdGVnaWVzXG5UZXJtaW5hdGVJbnN0YW5jZXNXaXRoRXhwaXJhdGlvbj86IGJvb2xlYW5cblZhbGlkVW50aWw/OiBzdHJpbmdcbk9uRGVtYW5kTWF4VG90YWxQcmljZT86IHN0cmluZ1xuT25EZW1hbmRBbGxvY2F0aW9uU3RyYXRlZ3k/OiBzdHJpbmdcblNwb3RQcmljZT86IHN0cmluZ1xuQWxsb2NhdGlvblN0cmF0ZWd5PzogKFwiY2FwYWNpdHlPcHRpbWl6ZWRcIiB8IFwiY2FwYWNpdHlPcHRpbWl6ZWRQcmlvcml0aXplZFwiIHwgXCJkaXZlcnNpZmllZFwiIHwgXCJsb3dlc3RQcmljZVwiIHwgXCJwcmljZUNhcGFjaXR5T3B0aW1pemVkXCIpXG5PbkRlbWFuZFRhcmdldENhcGFjaXR5PzogbnVtYmVyXG5UeXBlPzogKFwibWFpbnRhaW5cIiB8IFwicmVxdWVzdFwiKVxuTGF1bmNoU3BlY2lmaWNhdGlvbnM/OiBTcG90RmxlZXRMYXVuY2hTcGVjaWZpY2F0aW9uW11cbkluc3RhbmNlSW50ZXJydXB0aW9uQmVoYXZpb3I/OiAoXCJoaWJlcm5hdGVcIiB8IFwic3RvcFwiIHwgXCJ0ZXJtaW5hdGVcIilcbkxvYWRCYWxhbmNlcnNDb25maWc/OiBMb2FkQmFsYW5jZXJzQ29uZmlnXG5WYWxpZEZyb20/OiBzdHJpbmdcblJlcGxhY2VVbmhlYWx0aHlJbnN0YW5jZXM/OiBib29sZWFuXG5UYXJnZXRDYXBhY2l0eTogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIFNwb3RGbGVldFRhZ1NwZWNpZmljYXRpb24ge1xuUmVzb3VyY2VUeXBlPzogKFwiY2xpZW50LXZwbi1lbmRwb2ludFwiIHwgXCJjdXN0b21lci1nYXRld2F5XCIgfCBcImRlZGljYXRlZC1ob3N0XCIgfCBcImRoY3Atb3B0aW9uc1wiIHwgXCJlZ3Jlc3Mtb25seS1pbnRlcm5ldC1nYXRld2F5XCIgfCBcImVsYXN0aWMtZ3B1XCIgfCBcImVsYXN0aWMtaXBcIiB8IFwiZXhwb3J0LWltYWdlLXRhc2tcIiB8IFwiZXhwb3J0LWluc3RhbmNlLXRhc2tcIiB8IFwiZmxlZXRcIiB8IFwiZnBnYS1pbWFnZVwiIHwgXCJob3N0LXJlc2VydmF0aW9uXCIgfCBcImltYWdlXCIgfCBcImltcG9ydC1pbWFnZS10YXNrXCIgfCBcImltcG9ydC1zbmFwc2hvdC10YXNrXCIgfCBcImluc3RhbmNlXCIgfCBcImludGVybmV0LWdhdGV3YXlcIiB8IFwia2V5LXBhaXJcIiB8IFwibGF1bmNoLXRlbXBsYXRlXCIgfCBcImxvY2FsLWdhdGV3YXktcm91dGUtdGFibGUtdnBjLWFzc29jaWF0aW9uXCIgfCBcIm5hdGdhdGV3YXlcIiB8IFwibmV0d29yay1hY2xcIiB8IFwibmV0d29yay1pbnNpZ2h0cy1hbmFseXNpc1wiIHwgXCJuZXR3b3JrLWluc2lnaHRzLXBhdGhcIiB8IFwibmV0d29yay1pbnRlcmZhY2VcIiB8IFwicGxhY2VtZW50LWdyb3VwXCIgfCBcInJlc2VydmVkLWluc3RhbmNlc1wiIHwgXCJyb3V0ZS10YWJsZVwiIHwgXCJzZWN1cml0eS1ncm91cFwiIHwgXCJzbmFwc2hvdFwiIHwgXCJzcG90LWZsZWV0LXJlcXVlc3RcIiB8IFwic3BvdC1pbnN0YW5jZXMtcmVxdWVzdFwiIHwgXCJzdWJuZXRcIiB8IFwidHJhZmZpYy1taXJyb3ItZmlsdGVyXCIgfCBcInRyYWZmaWMtbWlycm9yLXNlc3Npb25cIiB8IFwidHJhZmZpYy1taXJyb3ItdGFyZ2V0XCIgfCBcInRyYW5zaXQtZ2F0ZXdheVwiIHwgXCJ0cmFuc2l0LWdhdGV3YXktYXR0YWNobWVudFwiIHwgXCJ0cmFuc2l0LWdhdGV3YXktY29ubmVjdC1wZWVyXCIgfCBcInRyYW5zaXQtZ2F0ZXdheS1tdWx0aWNhc3QtZG9tYWluXCIgfCBcInRyYW5zaXQtZ2F0ZXdheS1yb3V0ZS10YWJsZVwiIHwgXCJ2b2x1bWVcIiB8IFwidnBjXCIgfCBcInZwYy1mbG93LWxvZ1wiIHwgXCJ2cGMtcGVlcmluZy1jb25uZWN0aW9uXCIgfCBcInZwbi1jb25uZWN0aW9uXCIgfCBcInZwbi1nYXRld2F5XCIpXG5UYWdzPzogVGFnW11cbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGFnIHtcblZhbHVlOiBzdHJpbmdcbktleTogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIExhdW5jaFRlbXBsYXRlQ29uZmlnIHtcbkxhdW5jaFRlbXBsYXRlU3BlY2lmaWNhdGlvbj86IEZsZWV0TGF1bmNoVGVtcGxhdGVTcGVjaWZpY2F0aW9uXG5PdmVycmlkZXM/OiBMYXVuY2hUZW1wbGF0ZU92ZXJyaWRlc1tdXG59XG5leHBvcnQgaW50ZXJmYWNlIEZsZWV0TGF1bmNoVGVtcGxhdGVTcGVjaWZpY2F0aW9uIHtcbkxhdW5jaFRlbXBsYXRlTmFtZT86IHN0cmluZ1xuVmVyc2lvbjogc3RyaW5nXG5MYXVuY2hUZW1wbGF0ZUlkPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIExhdW5jaFRlbXBsYXRlT3ZlcnJpZGVzIHtcblNwb3RQcmljZT86IHN0cmluZ1xuV2VpZ2h0ZWRDYXBhY2l0eT86IG51bWJlclxuUHJpb3JpdHk/OiBudW1iZXJcbkF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmdcblN1Ym5ldElkPzogc3RyaW5nXG5JbnN0YW5jZVJlcXVpcmVtZW50cz86IEluc3RhbmNlUmVxdWlyZW1lbnRzUmVxdWVzdFxuSW5zdGFuY2VUeXBlPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbmNlUmVxdWlyZW1lbnRzUmVxdWVzdCB7XG5JbnN0YW5jZUdlbmVyYXRpb25zPzogKFwiY3VycmVudFwiIHwgXCJwcmV2aW91c1wiKVtdXG5NZW1vcnlHaUJQZXJWQ3B1PzogTWVtb3J5R2lCUGVyVkNwdVJlcXVlc3RcbkFjY2VsZXJhdG9yVHlwZXM/OiAoXCJncHVcIiB8IFwiZnBnYVwiIHwgXCJpbmZlcmVuY2VcIilbXVxuVkNwdUNvdW50PzogVkNwdUNvdW50UmFuZ2VSZXF1ZXN0XG5BY2NlbGVyYXRvck1hbnVmYWN0dXJlcnM/OiAoXCJhbWF6b24td2ViLXNlcnZpY2VzXCIgfCBcImFtZFwiIHwgXCJoYWJhbmFcIiB8IFwibnZpZGlhXCIgfCBcInhpbGlueFwiKVtdXG5Mb2NhbFN0b3JhZ2U/OiAoXCJpbmNsdWRlZFwiIHwgXCJyZXF1aXJlZFwiIHwgXCJleGNsdWRlZFwiKVxuQ3B1TWFudWZhY3R1cmVycz86IChcImludGVsXCIgfCBcImFtZFwiIHwgXCJhbWF6b24td2ViLXNlcnZpY2VzXCIgfCBcImFwcGxlXCIpW11cbkJhcmVNZXRhbD86IChcImluY2x1ZGVkXCIgfCBcInJlcXVpcmVkXCIgfCBcImV4Y2x1ZGVkXCIpXG5SZXF1aXJlSGliZXJuYXRlU3VwcG9ydD86IGJvb2xlYW5cbk1heFNwb3RQcmljZUFzUGVyY2VudGFnZU9mT3B0aW1hbE9uRGVtYW5kUHJpY2U/OiBudW1iZXJcbk9uRGVtYW5kTWF4UHJpY2VQZXJjZW50YWdlT3Zlckxvd2VzdFByaWNlPzogbnVtYmVyXG5NZW1vcnlNaUI/OiBNZW1vcnlNaUJSZXF1ZXN0XG5Mb2NhbFN0b3JhZ2VUeXBlcz86IChcImhkZFwiIHwgXCJzc2RcIilbXVxuTmV0d29ya0ludGVyZmFjZUNvdW50PzogTmV0d29ya0ludGVyZmFjZUNvdW50UmVxdWVzdFxuRXhjbHVkZWRJbnN0YW5jZVR5cGVzPzogc3RyaW5nW11cbkFsbG93ZWRJbnN0YW5jZVR5cGVzPzogc3RyaW5nW11cbk5ldHdvcmtCYW5kd2lkdGhHYnBzPzogTmV0d29ya0JhbmR3aWR0aEdicHNSZXF1ZXN0XG5BY2NlbGVyYXRvckNvdW50PzogQWNjZWxlcmF0b3JDb3VudFJlcXVlc3RcblNwb3RNYXhQcmljZVBlcmNlbnRhZ2VPdmVyTG93ZXN0UHJpY2U/OiBudW1iZXJcbkJhc2VsaW5lRWJzQmFuZHdpZHRoTWJwcz86IEJhc2VsaW5lRWJzQmFuZHdpZHRoTWJwc1JlcXVlc3RcbkFjY2VsZXJhdG9yTmFtZXM/OiAoXCJhMTBnXCIgfCBcImExMDBcIiB8IFwiaDEwMFwiIHwgXCJpbmZlcmVudGlhXCIgfCBcIms1MjBcIiB8IFwiazgwXCIgfCBcIm02MFwiIHwgXCJyYWRlb24tcHJvLXY1MjBcIiB8IFwidDRcIiB8IFwidDRnXCIgfCBcInZ1OXBcIiB8IFwidjEwMFwiKVtdXG5BY2NlbGVyYXRvclRvdGFsTWVtb3J5TWlCPzogQWNjZWxlcmF0b3JUb3RhbE1lbW9yeU1pQlJlcXVlc3RcbkJ1cnN0YWJsZVBlcmZvcm1hbmNlPzogKFwiaW5jbHVkZWRcIiB8IFwicmVxdWlyZWRcIiB8IFwiZXhjbHVkZWRcIilcblRvdGFsTG9jYWxTdG9yYWdlR0I/OiBUb3RhbExvY2FsU3RvcmFnZUdCUmVxdWVzdFxufVxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlHaUJQZXJWQ3B1UmVxdWVzdCB7XG5NaW4/OiBudW1iZXJcbk1heD86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBWQ3B1Q291bnRSYW5nZVJlcXVlc3Qge1xuTWluPzogbnVtYmVyXG5NYXg/OiBudW1iZXJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgTWVtb3J5TWlCUmVxdWVzdCB7XG5NaW4/OiBudW1iZXJcbk1heD86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrSW50ZXJmYWNlQ291bnRSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtCYW5kd2lkdGhHYnBzUmVxdWVzdCB7XG5NaW4/OiBudW1iZXJcbk1heD86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBBY2NlbGVyYXRvckNvdW50UmVxdWVzdCB7XG5NaW4/OiBudW1iZXJcbk1heD86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBCYXNlbGluZUVic0JhbmR3aWR0aE1icHNSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIEFjY2VsZXJhdG9yVG90YWxNZW1vcnlNaUJSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsTG9jYWxTdG9yYWdlR0JSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIFNwb3RNYWludGVuYW5jZVN0cmF0ZWdpZXMge1xuQ2FwYWNpdHlSZWJhbGFuY2U/OiBTcG90Q2FwYWNpdHlSZWJhbGFuY2Vcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdENhcGFjaXR5UmViYWxhbmNlIHtcblRlcm1pbmF0aW9uRGVsYXk/OiBudW1iZXJcblJlcGxhY2VtZW50U3RyYXRlZ3k/OiAoXCJsYXVuY2hcIiB8IFwibGF1bmNoLWJlZm9yZS10ZXJtaW5hdGVcIilcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdEZsZWV0TGF1bmNoU3BlY2lmaWNhdGlvbiB7XG5TZWN1cml0eUdyb3Vwcz86IEdyb3VwSWRlbnRpZmllcltdXG5UYWdTcGVjaWZpY2F0aW9ucz86IFNwb3RGbGVldFRhZ1NwZWNpZmljYXRpb25bXVxuVXNlckRhdGE/OiBzdHJpbmdcbkJsb2NrRGV2aWNlTWFwcGluZ3M/OiBCbG9ja0RldmljZU1hcHBpbmdbXVxuSWFtSW5zdGFuY2VQcm9maWxlPzogSWFtSW5zdGFuY2VQcm9maWxlU3BlY2lmaWNhdGlvblxuS2VybmVsSWQ/OiBzdHJpbmdcblN1Ym5ldElkPzogc3RyaW5nXG5FYnNPcHRpbWl6ZWQ/OiBib29sZWFuXG5LZXlOYW1lPzogc3RyaW5nXG5SYW1kaXNrSWQ/OiBzdHJpbmdcblNwb3RQcmljZT86IHN0cmluZ1xuV2VpZ2h0ZWRDYXBhY2l0eT86IG51bWJlclxuUGxhY2VtZW50PzogU3BvdFBsYWNlbWVudFxuTmV0d29ya0ludGVyZmFjZXM/OiBJbnN0YW5jZU5ldHdvcmtJbnRlcmZhY2VTcGVjaWZpY2F0aW9uW11cbkltYWdlSWQ6IHN0cmluZ1xuSW5zdGFuY2VSZXF1aXJlbWVudHM/OiBJbnN0YW5jZVJlcXVpcmVtZW50c1JlcXVlc3Rcbkluc3RhbmNlVHlwZT86IHN0cmluZ1xuTW9uaXRvcmluZz86IFNwb3RGbGVldE1vbml0b3Jpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBJZGVudGlmaWVyIHtcbkdyb3VwSWQ6IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBCbG9ja0RldmljZU1hcHBpbmcge1xuRWJzPzogRWJzQmxvY2tEZXZpY2Vcbk5vRGV2aWNlPzogc3RyaW5nXG5WaXJ0dWFsTmFtZT86IHN0cmluZ1xuRGV2aWNlTmFtZTogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEVic0Jsb2NrRGV2aWNlIHtcblNuYXBzaG90SWQ/OiBzdHJpbmdcblZvbHVtZVR5cGU/OiAoXCJncDJcIiB8IFwiZ3AzXCIgfCBcImlvMVwiIHwgXCJpbzJcIiB8IFwic2MxXCIgfCBcInN0MVwiIHwgXCJzdGFuZGFyZFwiKVxuRW5jcnlwdGVkPzogYm9vbGVhblxuSW9wcz86IG51bWJlclxuVm9sdW1lU2l6ZT86IG51bWJlclxuRGVsZXRlT25UZXJtaW5hdGlvbj86IGJvb2xlYW5cbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWFtSW5zdGFuY2VQcm9maWxlU3BlY2lmaWNhdGlvbiB7XG5Bcm4/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdFBsYWNlbWVudCB7XG5Hcm91cE5hbWU/OiBzdHJpbmdcblRlbmFuY3k/OiAoXCJkZWRpY2F0ZWRcIiB8IFwiZGVmYXVsdFwiIHwgXCJob3N0XCIpXG5BdmFpbGFiaWxpdHlab25lPzogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbmNlTmV0d29ya0ludGVyZmFjZVNwZWNpZmljYXRpb24ge1xuRGVzY3JpcHRpb24/OiBzdHJpbmdcblByaXZhdGVJcEFkZHJlc3Nlcz86IFByaXZhdGVJcEFkZHJlc3NTcGVjaWZpY2F0aW9uW11cblNlY29uZGFyeVByaXZhdGVJcEFkZHJlc3NDb3VudD86IG51bWJlclxuRGV2aWNlSW5kZXg/OiBudW1iZXJcbkdyb3Vwcz86IHN0cmluZ1tdXG5JcHY2QWRkcmVzc0NvdW50PzogbnVtYmVyXG5JcHY2QWRkcmVzc2VzPzogSW5zdGFuY2VJcHY2QWRkcmVzc1tdXG5TdWJuZXRJZD86IHN0cmluZ1xuQXNzb2NpYXRlUHVibGljSXBBZGRyZXNzPzogYm9vbGVhblxuTmV0d29ya0ludGVyZmFjZUlkPzogc3RyaW5nXG5EZWxldGVPblRlcm1pbmF0aW9uPzogYm9vbGVhblxufVxuZXhwb3J0IGludGVyZmFjZSBQcml2YXRlSXBBZGRyZXNzU3BlY2lmaWNhdGlvbiB7XG5Qcml2YXRlSXBBZGRyZXNzOiBzdHJpbmdcblByaW1hcnk/OiBib29sZWFuXG59XG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbmNlSXB2NkFkZHJlc3Mge1xuSXB2NkFkZHJlc3M6IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTcG90RmxlZXRNb25pdG9yaW5nIHtcbkVuYWJsZWQ/OiBib29sZWFuXG59XG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlcnNDb25maWcge1xuQ2xhc3NpY0xvYWRCYWxhbmNlcnNDb25maWc/OiBDbGFzc2ljTG9hZEJhbGFuY2Vyc0NvbmZpZ1xuVGFyZ2V0R3JvdXBzQ29uZmlnPzogVGFyZ2V0R3JvdXBzQ29uZmlnXG59XG5leHBvcnQgaW50ZXJmYWNlIENsYXNzaWNMb2FkQmFsYW5jZXJzQ29uZmlnIHtcbkNsYXNzaWNMb2FkQmFsYW5jZXJzOiBDbGFzc2ljTG9hZEJhbGFuY2VyW11cbn1cbmV4cG9ydCBpbnRlcmZhY2UgQ2xhc3NpY0xvYWRCYWxhbmNlciB7XG5OYW1lOiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGFyZ2V0R3JvdXBzQ29uZmlnIHtcblRhcmdldEdyb3VwczogVGFyZ2V0R3JvdXBbXVxufVxuZXhwb3J0IGludGVyZmFjZSBUYXJnZXRHcm91cCB7XG5Bcm46IHN0cmluZ1xufVxuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWVjMi1zcG90ZmxlZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhd3MtZWMyLXNwb3RmbGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXNvdXJjZSBUeXBlIGRlZmluaXRpb24gZm9yIEFXUzo6RUMyOjpTcG90RmxlZXRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBfQVdTX0VDMl9TUE9URkxFRVQge1xuSWQ/OiBzdHJpbmdcblNwb3RGbGVldFJlcXVlc3RDb25maWdEYXRhOiBTcG90RmxlZXRSZXF1ZXN0Q29uZmlnRGF0YVxufVxuZXhwb3J0IGludGVyZmFjZSBTcG90RmxlZXRSZXF1ZXN0Q29uZmlnRGF0YSB7XG5BbGxvY2F0aW9uU3RyYXRlZ3k/OiAoXCJjYXBhY2l0eU9wdGltaXplZFwiIHwgXCJjYXBhY2l0eU9wdGltaXplZFByaW9yaXRpemVkXCIgfCBcImRpdmVyc2lmaWVkXCIgfCBcImxvd2VzdFByaWNlXCIgfCBcInByaWNlQ2FwYWNpdHlPcHRpbWl6ZWRcIilcbkNvbnRleHQ/OiBzdHJpbmdcbkV4Y2Vzc0NhcGFjaXR5VGVybWluYXRpb25Qb2xpY3k/OiAoXCJEZWZhdWx0XCIgfCBcIk5vVGVybWluYXRpb25cIiB8IFwiZGVmYXVsdFwiIHwgXCJub1Rlcm1pbmF0aW9uXCIpXG5JYW1GbGVldFJvbGU6IHN0cmluZ1xuSW5zdGFuY2VJbnRlcnJ1cHRpb25CZWhhdmlvcj86IChcImhpYmVybmF0ZVwiIHwgXCJzdG9wXCIgfCBcInRlcm1pbmF0ZVwiKVxuSW5zdGFuY2VQb29sc1RvVXNlQ291bnQ/OiBudW1iZXJcbkxhdW5jaFNwZWNpZmljYXRpb25zPzogU3BvdEZsZWV0TGF1bmNoU3BlY2lmaWNhdGlvbltdXG5MYXVuY2hUZW1wbGF0ZUNvbmZpZ3M/OiBMYXVuY2hUZW1wbGF0ZUNvbmZpZ1tdXG5Mb2FkQmFsYW5jZXJzQ29uZmlnPzogTG9hZEJhbGFuY2Vyc0NvbmZpZ1xuT25EZW1hbmRBbGxvY2F0aW9uU3RyYXRlZ3k/OiBzdHJpbmdcbk9uRGVtYW5kTWF4VG90YWxQcmljZT86IHN0cmluZ1xuT25EZW1hbmRUYXJnZXRDYXBhY2l0eT86IG51bWJlclxuUmVwbGFjZVVuaGVhbHRoeUluc3RhbmNlcz86IGJvb2xlYW5cblNwb3RNYWludGVuYW5jZVN0cmF0ZWdpZXM/OiBTcG90TWFpbnRlbmFuY2VTdHJhdGVnaWVzXG5TcG90TWF4VG90YWxQcmljZT86IHN0cmluZ1xuU3BvdFByaWNlPzogc3RyaW5nXG5UYXJnZXRDYXBhY2l0eTogbnVtYmVyXG5UZXJtaW5hdGVJbnN0YW5jZXNXaXRoRXhwaXJhdGlvbj86IGJvb2xlYW5cblR5cGU/OiAoXCJtYWludGFpblwiIHwgXCJyZXF1ZXN0XCIpXG5WYWxpZEZyb20/OiBzdHJpbmdcblZhbGlkVW50aWw/OiBzdHJpbmdcblRhZ1NwZWNpZmljYXRpb25zPzogU3BvdEZsZWV0VGFnU3BlY2lmaWNhdGlvbltdXG5UYXJnZXRDYXBhY2l0eVVuaXRUeXBlPzogKFwidmNwdVwiIHwgXCJtZW1vcnktbWliXCIgfCBcInVuaXRzXCIpXG59XG5leHBvcnQgaW50ZXJmYWNlIFNwb3RGbGVldExhdW5jaFNwZWNpZmljYXRpb24ge1xuQmxvY2tEZXZpY2VNYXBwaW5ncz86IEJsb2NrRGV2aWNlTWFwcGluZ1tdXG5FYnNPcHRpbWl6ZWQ/OiBib29sZWFuXG5JYW1JbnN0YW5jZVByb2ZpbGU/OiBJYW1JbnN0YW5jZVByb2ZpbGVTcGVjaWZpY2F0aW9uXG5JbWFnZUlkOiBzdHJpbmdcbkluc3RhbmNlVHlwZT86IHN0cmluZ1xuS2VybmVsSWQ/OiBzdHJpbmdcbktleU5hbWU/OiBzdHJpbmdcbk1vbml0b3Jpbmc/OiBTcG90RmxlZXRNb25pdG9yaW5nXG5OZXR3b3JrSW50ZXJmYWNlcz86IEluc3RhbmNlTmV0d29ya0ludGVyZmFjZVNwZWNpZmljYXRpb25bXVxuUGxhY2VtZW50PzogU3BvdFBsYWNlbWVudFxuUmFtZGlza0lkPzogc3RyaW5nXG5TZWN1cml0eUdyb3Vwcz86IEdyb3VwSWRlbnRpZmllcltdXG5TcG90UHJpY2U/OiBzdHJpbmdcblN1Ym5ldElkPzogc3RyaW5nXG5UYWdTcGVjaWZpY2F0aW9ucz86IFNwb3RGbGVldFRhZ1NwZWNpZmljYXRpb25bXVxuVXNlckRhdGE/OiBzdHJpbmdcbldlaWdodGVkQ2FwYWNpdHk/OiBudW1iZXJcbkluc3RhbmNlUmVxdWlyZW1lbnRzPzogSW5zdGFuY2VSZXF1aXJlbWVudHNSZXF1ZXN0XG59XG5leHBvcnQgaW50ZXJmYWNlIEJsb2NrRGV2aWNlTWFwcGluZyB7XG5EZXZpY2VOYW1lOiBzdHJpbmdcbkVicz86IEVic0Jsb2NrRGV2aWNlXG5Ob0RldmljZT86IHN0cmluZ1xuVmlydHVhbE5hbWU/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRWJzQmxvY2tEZXZpY2Uge1xuRGVsZXRlT25UZXJtaW5hdGlvbj86IGJvb2xlYW5cbkVuY3J5cHRlZD86IGJvb2xlYW5cbklvcHM/OiBudW1iZXJcblNuYXBzaG90SWQ/OiBzdHJpbmdcblZvbHVtZVNpemU/OiBudW1iZXJcblZvbHVtZVR5cGU/OiAoXCJncDJcIiB8IFwiZ3AzXCIgfCBcImlvMVwiIHwgXCJpbzJcIiB8IFwic2MxXCIgfCBcInN0MVwiIHwgXCJzdGFuZGFyZFwiKVxufVxuZXhwb3J0IGludGVyZmFjZSBJYW1JbnN0YW5jZVByb2ZpbGVTcGVjaWZpY2F0aW9uIHtcbkFybj86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTcG90RmxlZXRNb25pdG9yaW5nIHtcbkVuYWJsZWQ/OiBib29sZWFuXG59XG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbmNlTmV0d29ya0ludGVyZmFjZVNwZWNpZmljYXRpb24ge1xuQXNzb2NpYXRlUHVibGljSXBBZGRyZXNzPzogYm9vbGVhblxuRGVsZXRlT25UZXJtaW5hdGlvbj86IGJvb2xlYW5cbkRlc2NyaXB0aW9uPzogc3RyaW5nXG5EZXZpY2VJbmRleD86IG51bWJlclxuR3JvdXBzPzogc3RyaW5nW11cbklwdjZBZGRyZXNzQ291bnQ/OiBudW1iZXJcbklwdjZBZGRyZXNzZXM/OiBJbnN0YW5jZUlwdjZBZGRyZXNzW11cbk5ldHdvcmtJbnRlcmZhY2VJZD86IHN0cmluZ1xuUHJpdmF0ZUlwQWRkcmVzc2VzPzogUHJpdmF0ZUlwQWRkcmVzc1NwZWNpZmljYXRpb25bXVxuU2Vjb25kYXJ5UHJpdmF0ZUlwQWRkcmVzc0NvdW50PzogbnVtYmVyXG5TdWJuZXRJZD86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBJbnN0YW5jZUlwdjZBZGRyZXNzIHtcbklwdjZBZGRyZXNzOiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgUHJpdmF0ZUlwQWRkcmVzc1NwZWNpZmljYXRpb24ge1xuUHJpbWFyeT86IGJvb2xlYW5cblByaXZhdGVJcEFkZHJlc3M6IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTcG90UGxhY2VtZW50IHtcbkF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmdcbkdyb3VwTmFtZT86IHN0cmluZ1xuVGVuYW5jeT86IChcImRlZGljYXRlZFwiIHwgXCJkZWZhdWx0XCIgfCBcImhvc3RcIilcbn1cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBJZGVudGlmaWVyIHtcbkdyb3VwSWQ6IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBTcG90RmxlZXRUYWdTcGVjaWZpY2F0aW9uIHtcblJlc291cmNlVHlwZT86IChcImNsaWVudC12cG4tZW5kcG9pbnRcIiB8IFwiY3VzdG9tZXItZ2F0ZXdheVwiIHwgXCJkZWRpY2F0ZWQtaG9zdFwiIHwgXCJkaGNwLW9wdGlvbnNcIiB8IFwiZWdyZXNzLW9ubHktaW50ZXJuZXQtZ2F0ZXdheVwiIHwgXCJlbGFzdGljLWdwdVwiIHwgXCJlbGFzdGljLWlwXCIgfCBcImV4cG9ydC1pbWFnZS10YXNrXCIgfCBcImV4cG9ydC1pbnN0YW5jZS10YXNrXCIgfCBcImZsZWV0XCIgfCBcImZwZ2EtaW1hZ2VcIiB8IFwiaG9zdC1yZXNlcnZhdGlvblwiIHwgXCJpbWFnZVwiIHwgXCJpbXBvcnQtaW1hZ2UtdGFza1wiIHwgXCJpbXBvcnQtc25hcHNob3QtdGFza1wiIHwgXCJpbnN0YW5jZVwiIHwgXCJpbnRlcm5ldC1nYXRld2F5XCIgfCBcImtleS1wYWlyXCIgfCBcImxhdW5jaC10ZW1wbGF0ZVwiIHwgXCJsb2NhbC1nYXRld2F5LXJvdXRlLXRhYmxlLXZwYy1hc3NvY2lhdGlvblwiIHwgXCJuYXRnYXRld2F5XCIgfCBcIm5ldHdvcmstYWNsXCIgfCBcIm5ldHdvcmstaW5zaWdodHMtYW5hbHlzaXNcIiB8IFwibmV0d29yay1pbnNpZ2h0cy1wYXRoXCIgfCBcIm5ldHdvcmstaW50ZXJmYWNlXCIgfCBcInBsYWNlbWVudC1ncm91cFwiIHwgXCJyZXNlcnZlZC1pbnN0YW5jZXNcIiB8IFwicm91dGUtdGFibGVcIiB8IFwic2VjdXJpdHktZ3JvdXBcIiB8IFwic25hcHNob3RcIiB8IFwic3BvdC1mbGVldC1yZXF1ZXN0XCIgfCBcInNwb3QtaW5zdGFuY2VzLXJlcXVlc3RcIiB8IFwic3VibmV0XCIgfCBcInRyYWZmaWMtbWlycm9yLWZpbHRlclwiIHwgXCJ0cmFmZmljLW1pcnJvci1zZXNzaW9uXCIgfCBcInRyYWZmaWMtbWlycm9yLXRhcmdldFwiIHwgXCJ0cmFuc2l0LWdhdGV3YXlcIiB8IFwidHJhbnNpdC1nYXRld2F5LWF0dGFjaG1lbnRcIiB8IFwidHJhbnNpdC1nYXRld2F5LWNvbm5lY3QtcGVlclwiIHwgXCJ0cmFuc2l0LWdhdGV3YXktbXVsdGljYXN0LWRvbWFpblwiIHwgXCJ0cmFuc2l0LWdhdGV3YXktcm91dGUtdGFibGVcIiB8IFwidm9sdW1lXCIgfCBcInZwY1wiIHwgXCJ2cGMtZmxvdy1sb2dcIiB8IFwidnBjLXBlZXJpbmctY29ubmVjdGlvblwiIHwgXCJ2cG4tY29ubmVjdGlvblwiIHwgXCJ2cG4tZ2F0ZXdheVwiKVxuVGFncz86IFRhZ1tdXG59XG5leHBvcnQgaW50ZXJmYWNlIFRhZyB7XG5LZXk6IHN0cmluZ1xuVmFsdWU6IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBJbnN0YW5jZVJlcXVpcmVtZW50c1JlcXVlc3Qge1xuVkNwdUNvdW50PzogVkNwdUNvdW50UmFuZ2VSZXF1ZXN0XG5NZW1vcnlNaUI/OiBNZW1vcnlNaUJSZXF1ZXN0XG5DcHVNYW51ZmFjdHVyZXJzPzogKFwiaW50ZWxcIiB8IFwiYW1kXCIgfCBcImFtYXpvbi13ZWItc2VydmljZXNcIiB8IFwiYXBwbGVcIilbXVxuTWVtb3J5R2lCUGVyVkNwdT86IE1lbW9yeUdpQlBlclZDcHVSZXF1ZXN0XG5BbGxvd2VkSW5zdGFuY2VUeXBlcz86IHN0cmluZ1tdXG5FeGNsdWRlZEluc3RhbmNlVHlwZXM/OiBzdHJpbmdbXVxuSW5zdGFuY2VHZW5lcmF0aW9ucz86IChcImN1cnJlbnRcIiB8IFwicHJldmlvdXNcIilbXVxuU3BvdE1heFByaWNlUGVyY2VudGFnZU92ZXJMb3dlc3RQcmljZT86IG51bWJlclxuT25EZW1hbmRNYXhQcmljZVBlcmNlbnRhZ2VPdmVyTG93ZXN0UHJpY2U/OiBudW1iZXJcbk1heFNwb3RQcmljZUFzUGVyY2VudGFnZU9mT3B0aW1hbE9uRGVtYW5kUHJpY2U/OiBudW1iZXJcbkJhcmVNZXRhbD86IChcImluY2x1ZGVkXCIgfCBcInJlcXVpcmVkXCIgfCBcImV4Y2x1ZGVkXCIpXG5CdXJzdGFibGVQZXJmb3JtYW5jZT86IChcImluY2x1ZGVkXCIgfCBcInJlcXVpcmVkXCIgfCBcImV4Y2x1ZGVkXCIpXG5SZXF1aXJlSGliZXJuYXRlU3VwcG9ydD86IGJvb2xlYW5cbk5ldHdvcmtCYW5kd2lkdGhHYnBzPzogTmV0d29ya0JhbmR3aWR0aEdicHNSZXF1ZXN0XG5OZXR3b3JrSW50ZXJmYWNlQ291bnQ/OiBOZXR3b3JrSW50ZXJmYWNlQ291bnRSZXF1ZXN0XG5Mb2NhbFN0b3JhZ2U/OiAoXCJpbmNsdWRlZFwiIHwgXCJyZXF1aXJlZFwiIHwgXCJleGNsdWRlZFwiKVxuTG9jYWxTdG9yYWdlVHlwZXM/OiAoXCJoZGRcIiB8IFwic3NkXCIpW11cblRvdGFsTG9jYWxTdG9yYWdlR0I/OiBUb3RhbExvY2FsU3RvcmFnZUdCUmVxdWVzdFxuQmFzZWxpbmVFYnNCYW5kd2lkdGhNYnBzPzogQmFzZWxpbmVFYnNCYW5kd2lkdGhNYnBzUmVxdWVzdFxuQWNjZWxlcmF0b3JUeXBlcz86IChcImdwdVwiIHwgXCJmcGdhXCIgfCBcImluZmVyZW5jZVwiKVtdXG5BY2NlbGVyYXRvckNvdW50PzogQWNjZWxlcmF0b3JDb3VudFJlcXVlc3RcbkFjY2VsZXJhdG9yTWFudWZhY3R1cmVycz86IChcImFtYXpvbi13ZWItc2VydmljZXNcIiB8IFwiYW1kXCIgfCBcImhhYmFuYVwiIHwgXCJudmlkaWFcIiB8IFwieGlsaW54XCIpW11cbkFjY2VsZXJhdG9yTmFtZXM/OiAoXCJhMTBnXCIgfCBcImExMDBcIiB8IFwiaDEwMFwiIHwgXCJpbmZlcmVudGlhXCIgfCBcIms1MjBcIiB8IFwiazgwXCIgfCBcIm02MFwiIHwgXCJyYWRlb24tcHJvLXY1MjBcIiB8IFwidDRcIiB8IFwidDRnXCIgfCBcInZ1OXBcIiB8IFwidjEwMFwiKVtdXG5BY2NlbGVyYXRvclRvdGFsTWVtb3J5TWlCPzogQWNjZWxlcmF0b3JUb3RhbE1lbW9yeU1pQlJlcXVlc3RcbkJhc2VsaW5lUGVyZm9ybWFuY2VGYWN0b3JzPzogQmFzZWxpbmVQZXJmb3JtYW5jZUZhY3RvcnNSZXF1ZXN0XG59XG5leHBvcnQgaW50ZXJmYWNlIFZDcHVDb3VudFJhbmdlUmVxdWVzdCB7XG5NaW4/OiBudW1iZXJcbk1heD86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlNaUJSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIE1lbW9yeUdpQlBlclZDcHVSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIE5ldHdvcmtCYW5kd2lkdGhHYnBzUmVxdWVzdCB7XG5NaW4/OiBudW1iZXJcbk1heD86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBOZXR3b3JrSW50ZXJmYWNlQ291bnRSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIFRvdGFsTG9jYWxTdG9yYWdlR0JSZXF1ZXN0IHtcbk1pbj86IG51bWJlclxuTWF4PzogbnVtYmVyXG59XG5leHBvcnQgaW50ZXJmYWNlIEJhc2VsaW5lRWJzQmFuZHdpZHRoTWJwc1JlcXVlc3Qge1xuTWluPzogbnVtYmVyXG5NYXg/OiBudW1iZXJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZWxlcmF0b3JDb3VudFJlcXVlc3Qge1xuTWluPzogbnVtYmVyXG5NYXg/OiBudW1iZXJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQWNjZWxlcmF0b3JUb3RhbE1lbW9yeU1pQlJlcXVlc3Qge1xuTWluPzogbnVtYmVyXG5NYXg/OiBudW1iZXJcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZWxpbmVQZXJmb3JtYW5jZUZhY3RvcnNSZXF1ZXN0IHtcbkNwdT86IENwdVBlcmZvcm1hbmNlRmFjdG9yUmVxdWVzdFxufVxuZXhwb3J0IGludGVyZmFjZSBDcHVQZXJmb3JtYW5jZUZhY3RvclJlcXVlc3Qge1xuUmVmZXJlbmNlcz86IFBlcmZvcm1hbmNlRmFjdG9yUmVmZXJlbmNlUmVxdWVzdFtdXG59XG5leHBvcnQgaW50ZXJmYWNlIFBlcmZvcm1hbmNlRmFjdG9yUmVmZXJlbmNlUmVxdWVzdCB7XG5JbnN0YW5jZUZhbWlseT86IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hUZW1wbGF0ZUNvbmZpZyB7XG5MYXVuY2hUZW1wbGF0ZVNwZWNpZmljYXRpb24/OiBGbGVldExhdW5jaFRlbXBsYXRlU3BlY2lmaWNhdGlvblxuT3ZlcnJpZGVzPzogTGF1bmNoVGVtcGxhdGVPdmVycmlkZXNbXVxufVxuZXhwb3J0IGludGVyZmFjZSBGbGVldExhdW5jaFRlbXBsYXRlU3BlY2lmaWNhdGlvbiB7XG5MYXVuY2hUZW1wbGF0ZUlkPzogc3RyaW5nXG5MYXVuY2hUZW1wbGF0ZU5hbWU/OiBzdHJpbmdcblZlcnNpb246IHN0cmluZ1xufVxuZXhwb3J0IGludGVyZmFjZSBMYXVuY2hUZW1wbGF0ZU92ZXJyaWRlcyB7XG5BdmFpbGFiaWxpdHlab25lPzogc3RyaW5nXG5JbnN0YW5jZVR5cGU/OiBzdHJpbmdcblNwb3RQcmljZT86IHN0cmluZ1xuU3VibmV0SWQ/OiBzdHJpbmdcbldlaWdodGVkQ2FwYWNpdHk/OiBudW1iZXJcbkluc3RhbmNlUmVxdWlyZW1lbnRzPzogSW5zdGFuY2VSZXF1aXJlbWVudHNSZXF1ZXN0XG5Qcmlvcml0eT86IG51bWJlclxufVxuZXhwb3J0IGludGVyZmFjZSBMb2FkQmFsYW5jZXJzQ29uZmlnIHtcbkNsYXNzaWNMb2FkQmFsYW5jZXJzQ29uZmlnPzogQ2xhc3NpY0xvYWRCYWxhbmNlcnNDb25maWdcblRhcmdldEdyb3Vwc0NvbmZpZz86IFRhcmdldEdyb3Vwc0NvbmZpZ1xufVxuZXhwb3J0IGludGVyZmFjZSBDbGFzc2ljTG9hZEJhbGFuY2Vyc0NvbmZpZyB7XG5DbGFzc2ljTG9hZEJhbGFuY2VyczogQ2xhc3NpY0xvYWRCYWxhbmNlcltdXG59XG5leHBvcnQgaW50ZXJmYWNlIENsYXNzaWNMb2FkQmFsYW5jZXIge1xuTmFtZTogc3RyaW5nXG59XG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldEdyb3Vwc0NvbmZpZyB7XG5UYXJnZXRHcm91cHM6IFRhcmdldEdyb3VwW11cbn1cbmV4cG9ydCBpbnRlcmZhY2UgVGFyZ2V0R3JvdXAge1xuQXJuOiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU3BvdE1haW50ZW5hbmNlU3RyYXRlZ2llcyB7XG5DYXBhY2l0eVJlYmFsYW5jZT86IFNwb3RDYXBhY2l0eVJlYmFsYW5jZVxufVxuZXhwb3J0IGludGVyZmFjZSBTcG90Q2FwYWNpdHlSZWJhbGFuY2Uge1xuUmVwbGFjZW1lbnRTdHJhdGVneT86IChcImxhdW5jaFwiIHwgXCJsYXVuY2gtYmVmb3JlLXRlcm1pbmF0ZVwiKVxuVGVybWluYXRpb25EZWxheT86IG51bWJlclxufVxuIl19
|
|
@@ -75,6 +75,7 @@ export interface _AWS_EC2_VOLUME {
|
|
|
75
75
|
* The snapshot from which to create the volume. You must specify either a snapshot ID or a volume size.
|
|
76
76
|
*/
|
|
77
77
|
SnapshotId?: string;
|
|
78
|
+
VolumeId?: string;
|
|
78
79
|
/**
|
|
79
80
|
* The volume type. This parameter can be one of the following values:
|
|
80
81
|
* + General Purpose SSD: ``gp2`` | ``gp3``
|
|
@@ -87,7 +88,6 @@ export interface _AWS_EC2_VOLUME {
|
|
|
87
88
|
* Default: ``gp2``
|
|
88
89
|
*/
|
|
89
90
|
VolumeType?: string;
|
|
90
|
-
VolumeId?: string;
|
|
91
91
|
/**
|
|
92
92
|
* The tags to apply to the volume during creation.
|
|
93
93
|
*/
|
|
@@ -97,12 +97,12 @@ export interface _AWS_EC2_VOLUME {
|
|
|
97
97
|
* Specifies a tag. For more information, see [Resource tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html).
|
|
98
98
|
*/
|
|
99
99
|
export interface Tag {
|
|
100
|
-
/**
|
|
101
|
-
* The tag key.
|
|
102
|
-
*/
|
|
103
|
-
Key: string;
|
|
104
100
|
/**
|
|
105
101
|
* The tag value.
|
|
106
102
|
*/
|
|
107
103
|
Value: string;
|
|
104
|
+
/**
|
|
105
|
+
* The tag key.
|
|
106
|
+
*/
|
|
107
|
+
Key: string;
|
|
108
108
|
}
|