terraconstructs 0.0.18 → 0.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +665 -22
- package/lib/aws/arn.js +1 -1
- package/lib/aws/aws-construct.js +1 -1
- package/lib/aws/aws-stack.js +2 -2
- package/lib/aws/aws-tags.js +2 -2
- package/lib/aws/cloudwatch/actions/ec2.js +1 -1
- package/lib/aws/cloudwatch/actions/lambda.js +1 -1
- package/lib/aws/cloudwatch/alarm-base.js +1 -1
- package/lib/aws/cloudwatch/alarm-rule.js +1 -1
- package/lib/aws/cloudwatch/alarm-status-widget.js +1 -1
- package/lib/aws/cloudwatch/alarm.js +1 -1
- package/lib/aws/cloudwatch/composite-alarm.js +1 -1
- package/lib/aws/cloudwatch/dashboard.js +1 -1
- package/lib/aws/cloudwatch/data-protection-policy.js +3 -3
- package/lib/aws/cloudwatch/graph.js +8 -8
- package/lib/aws/cloudwatch/layout.js +3 -3
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +1 -1
- package/lib/aws/cloudwatch/log-destinations/lambda.js +1 -1
- package/lib/aws/cloudwatch/log-group.js +1 -1
- package/lib/aws/cloudwatch/log-query.js +1 -1
- package/lib/aws/cloudwatch/log-stream.js +1 -1
- package/lib/aws/cloudwatch/metric-filter.js +1 -1
- package/lib/aws/cloudwatch/metric.js +2 -2
- package/lib/aws/cloudwatch/pattern.js +3 -3
- package/lib/aws/cloudwatch/policy.js +1 -1
- package/lib/aws/cloudwatch/query-definition.js +2 -2
- package/lib/aws/cloudwatch/stats.js +1 -1
- package/lib/aws/cloudwatch/subscription-filter.js +1 -1
- package/lib/aws/cloudwatch/text.js +1 -1
- package/lib/aws/cloudwatch/variable.js +3 -3
- package/lib/aws/cloudwatch/widget.js +1 -1
- package/lib/aws/compute/activity.js +1 -1
- package/lib/aws/compute/alb/application-listener-action.js +1 -1
- package/lib/aws/compute/alb/application-listener-certificate.js +1 -1
- package/lib/aws/compute/alb/application-listener-rule.js +1 -1
- package/lib/aws/compute/alb/application-listener.js +1 -1
- package/lib/aws/compute/alb/application-load-balancer.js +1 -1
- package/lib/aws/compute/alb/application-target-group.js +1 -1
- package/lib/aws/compute/alb/conditions.js +1 -1
- package/lib/aws/compute/alb/trust-store-revocation.js +1 -1
- package/lib/aws/compute/alb/trust-store.js +1 -1
- package/lib/aws/compute/architecture.js +1 -1
- package/lib/aws/compute/aspects/require-imdsv2-aspect.js +2 -2
- package/lib/aws/compute/bastion-host.js +1 -1
- package/lib/aws/compute/chain.js +1 -1
- package/lib/aws/compute/client-vpn-authorization-rule.js +1 -1
- package/lib/aws/compute/client-vpn-endpoint.js +2 -2
- package/lib/aws/compute/client-vpn-route.js +2 -2
- package/lib/aws/compute/condition.js +1 -1
- package/lib/aws/compute/connections.js +1 -1
- package/lib/aws/compute/event-invoke-config.js +1 -1
- package/lib/aws/compute/event-source-filter.js +2 -2
- package/lib/aws/compute/event-source-mapping.js +1 -1
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +1 -1
- package/lib/aws/compute/event-sources/s3.js +1 -1
- package/lib/aws/compute/event-sources/sqs-dlq.js +1 -1
- package/lib/aws/compute/event-sources/sqs.js +1 -1
- package/lib/aws/compute/fields.js +4 -4
- package/lib/aws/compute/function-alias.js +1 -1
- package/lib/aws/compute/function-base.js +2 -2
- package/lib/aws/compute/function-destinations/event-bridge.js +1 -1
- package/lib/aws/compute/function-destinations/function.js +1 -1
- package/lib/aws/compute/function-destinations/sqs.js +1 -1
- package/lib/aws/compute/function-nodejs.js +1 -1
- package/lib/aws/compute/function-url.js +1 -1
- package/lib/aws/compute/function.js +1 -1
- package/lib/aws/compute/instance-types.js +1 -1
- package/lib/aws/compute/instance.js +1 -1
- package/lib/aws/compute/ip-addresses.js +2 -2
- package/lib/aws/compute/ipam.js +1 -1
- package/lib/aws/compute/key-pair.js +1 -1
- package/lib/aws/compute/launch-template.js +3 -7
- package/lib/aws/compute/lb-shared/base-listener.js +1 -1
- package/lib/aws/compute/lb-shared/base-load-balancer.js +2 -2
- package/lib/aws/compute/lb-shared/base-target-group.js +1 -1
- package/lib/aws/compute/lb-shared/listener-certificate.js +1 -1
- package/lib/aws/compute/lb-shared/load-balancer-targets.js +2 -2
- package/lib/aws/compute/lb-targets/alb-target.js +3 -3
- package/lib/aws/compute/lb-targets/instance-target.js +2 -2
- package/lib/aws/compute/lb-targets/ip-target.js +1 -1
- package/lib/aws/compute/lb-targets/lambda-target.js +1 -1
- package/lib/aws/compute/load-balancer.js +3 -3
- package/lib/aws/compute/machine-image/amazon-linux-2022.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux-2023.js +2 -2
- package/lib/aws/compute/machine-image/amazon-linux2.js +2 -2
- package/lib/aws/compute/machine-image/common.js +1 -1
- package/lib/aws/compute/machine-image/machine-image.js +8 -8
- package/lib/aws/compute/nat.js +5 -5
- package/lib/aws/compute/network-acl-types.js +2 -2
- package/lib/aws/compute/network-acl.js +3 -3
- package/lib/aws/compute/nlb/network-listener-action.js +1 -1
- package/lib/aws/compute/nlb/network-listener.js +1 -1
- package/lib/aws/compute/nlb/network-load-balancer.js +1 -1
- package/lib/aws/compute/nlb/network-target-group.js +1 -1
- package/lib/aws/compute/peer.js +1 -1
- package/lib/aws/compute/placement-group.js +1 -1
- package/lib/aws/compute/port.js +1 -1
- package/lib/aws/compute/prefix-list.js +1 -1
- package/lib/aws/compute/route.js +8 -8
- package/lib/aws/compute/security-group.js +1 -1
- package/lib/aws/compute/state-graph.js +1 -1
- package/lib/aws/compute/state-machine-fragment.js +1 -1
- package/lib/aws/compute/state-machine.js +4 -4
- package/lib/aws/compute/states/choice.js +1 -1
- package/lib/aws/compute/states/custom-state.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-batcher.js +1 -1
- package/lib/aws/compute/states/distributed-map/item-reader.js +5 -5
- package/lib/aws/compute/states/distributed-map/result-writer.js +1 -1
- package/lib/aws/compute/states/distributed-map.js +1 -1
- package/lib/aws/compute/states/fail.js +1 -1
- package/lib/aws/compute/states/map-base.js +1 -1
- package/lib/aws/compute/states/map.js +1 -1
- package/lib/aws/compute/states/parallel.js +1 -1
- package/lib/aws/compute/states/pass.js +2 -2
- package/lib/aws/compute/states/state.js +1 -1
- package/lib/aws/compute/states/succeed.js +1 -1
- package/lib/aws/compute/states/task-base.js +2 -2
- package/lib/aws/compute/states/task.js +1 -1
- package/lib/aws/compute/states/wait.js +2 -2
- package/lib/aws/compute/subnet-v2.js +2 -2
- package/lib/aws/compute/subnet.js +1 -1
- package/lib/aws/compute/task-credentials.js +1 -1
- package/lib/aws/compute/task-input.js +1 -1
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +1 -1
- package/lib/aws/compute/tasks/eventbridge/put-events.js +1 -1
- package/lib/aws/compute/tasks/http/invoke.js +1 -1
- package/lib/aws/compute/tasks/lambda/invoke.js +1 -1
- package/lib/aws/compute/tasks/sqs/send-message.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +1 -1
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +1 -1
- package/lib/aws/compute/types.js +1 -1
- package/lib/aws/compute/user-data.js +3 -3
- package/lib/aws/compute/volume.js +2 -2
- package/lib/aws/compute/vpc-endpoint-service.js +1 -1
- package/lib/aws/compute/vpc-endpoint.js +6 -6
- package/lib/aws/compute/vpc-flow-logs.js +4 -4
- package/lib/aws/compute/vpc-v2-base.js +1 -1
- package/lib/aws/compute/vpc-v2.js +2 -2
- package/lib/aws/compute/vpc.js +4 -4
- package/lib/aws/compute/vpn.js +3 -3
- package/lib/aws/edge/certificate.js +1 -1
- package/lib/aws/edge/distribution.js +3 -3
- package/lib/aws/edge/dns-alias-record-targets.js +3 -3
- package/lib/aws/edge/dns-record.js +13 -13
- package/lib/aws/edge/dns-zone.js +1 -1
- package/lib/aws/edge/function.js +2 -2
- package/lib/aws/edge/key-value-store.js +4 -4
- package/lib/aws/edge/origin.js +3 -3
- package/lib/aws/edge/response-headers-policy.js +1 -1
- package/lib/aws/encryption/alias.js +1 -1
- package/lib/aws/encryption/key.js +1 -1
- package/lib/aws/encryption/via-service-principal.js +1 -1
- package/lib/aws/iam/grant.js +2 -2
- package/lib/aws/iam/group.js +1 -1
- package/lib/aws/iam/instance-profile.js +1 -1
- package/lib/aws/iam/managed-policy.js +1 -1
- package/lib/aws/iam/oidc-provider.js +1 -1
- package/lib/aws/iam/policy-document.js +1 -1
- package/lib/aws/iam/policy-statement.js +1 -1
- package/lib/aws/iam/policy.js +1 -1
- package/lib/aws/iam/principals.js +20 -20
- package/lib/aws/iam/role.js +1 -1
- package/lib/aws/iam/saml-provider.js +2 -2
- package/lib/aws/iam/unknown-principal.js +1 -1
- package/lib/aws/iam/user.js +1 -1
- package/lib/aws/network/simple-ipv4-vpc.js +1 -1
- package/lib/aws/network/subnet-group.js +3 -3
- package/lib/aws/network/subnet.js +4 -4
- package/lib/aws/notify/archive.js +1 -1
- package/lib/aws/notify/connection.js +3 -3
- package/lib/aws/notify/event-bus.js +3 -3
- package/lib/aws/notify/event-pattern.js +1 -1
- package/lib/aws/notify/index.d.ts +1 -0
- package/lib/aws/notify/index.js +5 -2
- package/lib/aws/notify/input.js +2 -2
- package/lib/aws/notify/kinesis-stream.js +1 -1
- package/lib/aws/notify/notification-rule.js +1 -1
- package/lib/aws/notify/policy.js +1 -1
- package/lib/aws/notify/queue-policy.js +1 -1
- package/lib/aws/notify/queue.js +1 -1
- package/lib/aws/notify/resource-policy.js +1 -1
- package/lib/aws/notify/rule.js +1 -1
- package/lib/aws/notify/schedule.js +1 -1
- package/lib/aws/notify/subscription-filter.js +1 -1
- package/lib/aws/notify/subscription.js +7 -5
- package/lib/aws/notify/subscriptions/email.d.ts +28 -0
- package/lib/aws/notify/subscriptions/email.js +37 -0
- package/lib/aws/notify/subscriptions/index.d.ts +6 -0
- package/lib/aws/notify/subscriptions/index.js +23 -0
- package/lib/aws/notify/subscriptions/lambda.d.ts +21 -0
- package/lib/aws/notify/subscriptions/lambda.js +69 -0
- package/lib/aws/notify/subscriptions/sms.d.ts +16 -0
- package/lib/aws/notify/subscriptions/sms.js +29 -0
- package/lib/aws/notify/subscriptions/sqs.d.ts +28 -0
- package/lib/aws/notify/subscriptions/sqs.js +107 -0
- package/lib/aws/notify/subscriptions/subscription.d.ts +31 -0
- package/lib/aws/notify/subscriptions/subscription.js +4 -0
- package/lib/aws/notify/subscriptions/url.d.ts +45 -0
- package/lib/aws/notify/subscriptions/url.js +57 -0
- package/lib/aws/notify/targets/event-bus.js +1 -1
- package/lib/aws/notify/targets/function.js +1 -1
- package/lib/aws/notify/targets/log-group.js +2 -2
- package/lib/aws/notify/targets/sqs.js +1 -1
- package/lib/aws/notify/targets/state-machine.js +1 -1
- package/lib/aws/notify/topic-base.js +1 -1
- package/lib/aws/notify/topic.js +1 -1
- package/lib/aws/storage/bucket-notifications.js +1 -1
- package/lib/aws/storage/bucket-policy.js +1 -1
- package/lib/aws/storage/bucket-source.js +1 -1
- package/lib/aws/storage/bucket.js +2 -2
- package/lib/aws/storage/notification-targets/function.js +1 -1
- package/lib/aws/storage/notification-targets/queue.js +1 -1
- package/lib/aws/storage/origin-access-identity.js +1 -1
- package/lib/aws/storage/parameter.js +2 -2
- package/lib/construct-base.js +2 -2
- package/lib/duration.js +1 -1
- package/lib/expiration.js +1 -1
- package/lib/size.js +1 -1
- package/lib/stack-base.js +1 -1
- package/lib/terra-func.js +1 -1
- package/package.json +1 -1
|
@@ -66,5 +66,5 @@ class NodejsFunction extends function_1.LambdaFunction {
|
|
|
66
66
|
}
|
|
67
67
|
exports.NodejsFunction = NodejsFunction;
|
|
68
68
|
_a = JSII_RTTI_SYMBOL_1;
|
|
69
|
-
NodejsFunction[_a] = { fqn: "terraconstructs.aws.compute.NodejsFunction", version: "0.0.
|
|
69
|
+
NodejsFunction[_a] = { fqn: "terraconstructs.aws.compute.NodejsFunction", version: "0.0.20" };
|
|
70
70
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tbm9kZWpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2Z1bmN0aW9uLW5vZGVqcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlKQUF5SjtBQUN6Siw2QkFBNkI7QUFDN0IsaUNBQWtEO0FBRWxELHFHQUFxRztBQUNyRywrQ0FBeUM7QUFDekMseUNBQTJEO0FBZ0MzRCxNQUFNLE1BQU0sR0FBRyxDQUNiLGdCQUF3QixFQUN4QixVQUFrQixFQUNsQixRQUFtQixFQUNuQixFQUFFO0lBQ0YsSUFBQSx3QkFBUyxFQUFDO1FBQ1IsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDO1FBQ3pCLFFBQVEsRUFBRSxNQUFNO1FBQ2hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE1BQU0sRUFBRSxJQUFJO1FBQ1osTUFBTSxFQUFFLEtBQUs7UUFDYixTQUFTLEVBQUUsVUFBVTtRQUNyQixRQUFRO1FBQ1IsTUFBTSxFQUFFLE1BQU07UUFDZCxhQUFhLEVBQUUsZ0JBQWdCO0tBQ2hDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxNQUFhLGNBQWUsU0FBUSx5QkFBYztJQUloRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQTJCO1FBQ25FLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQzNDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXZCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FDckIsZ0JBQWdCLEVBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUMxQixNQUFNLENBQUMsUUFBUSxDQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUMxQixRQUFRLEVBQ1IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FDMUMsQ0FBQztRQUVGLGtDQUFrQztRQUNsQywyRkFBMkY7UUFDM0YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHNCQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUNuRCxJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxpQkFBUyxDQUFDLE9BQU87U0FDeEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLEdBQUcsUUFBUSxVQUFVLENBQUM7UUFDOUMseUdBQXlHO1FBQ3pHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ3BELHVGQUF1RjtRQUN2Riw4R0FBOEc7UUFDOUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sSUFBSSxZQUFZLENBQUM7SUFDekQsQ0FBQzs7QUFuQ0gsd0NBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gc291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vY2RrdGYtcGx1cy9jZGt0Zi1wbHVzL2Jsb2IvNTg2YWFiYWQzYWIyZmIyYTJlOTNlMDVlZDMzZjk0NDc0ZWJlOTM5Ny9wYWNrYWdlcy8lNDBjZGt0Zi1wbHVzL2F3cy9saWIvbm9kZWpzLWZ1bmN0aW9uL2luZGV4LnRzXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBUZXJyYWZvcm1Bc3NldCwgQXNzZXRUeXBlIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuLy8gVGhpcyBtaWdodCBiZSAxMHggc2xvd2VyIHRoYW4gYSBuYXRpdmUgYnVpbGQgLSBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9nZXR0aW5nLXN0YXJ0ZWQvI3dhc21cbmltcG9ydCB7IGJ1aWxkU3luYyB9IGZyb20gXCJlc2J1aWxkLXdhc21cIjtcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uLCBGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4vZnVuY3Rpb25cIjtcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gXCIuL2Z1bmN0aW9uLWJhc2VcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOb2RlanNGdW5jdGlvblByb3BzIGV4dGVuZHMgRnVuY3Rpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgSGFuZGxlciBlbnRyeSBwb2ludCBzY3JpcHQsIHJlbGF0aXZlIHRvIHRoZSBTcGVjIGZpbGUuXG4gICAqXG4gICAqIFRoaXMgc2NyaXB0IHdpbGwgYmUgYnVuZGxlZCB1c2luZ1xuICAgKiBbZXNidWlsZC13YXNtXShodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2dldHRpbmctc3RhcnRlZC8jd2FzbSkuXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBZb3UgY2FuIG1hcmsgYSBmaWxlIG9yIGEgcGFja2FnZSBhcyBleHRlcm5hbCB0byBleGNsdWRlIGl0IGZyb20geW91clxuICAgKiBidWlsZC4gSW5zdGVhZCBvZiBiZWluZyBidW5kbGVkLCB0aGUgaW1wb3J0IHdpbGwgYmUgcHJlc2VydmVkICh1c2luZ1xuICAgKiByZXF1aXJlIGZvciB0aGUgaWlmZSBhbmQgY2pzIGZvcm1hdHMgYW5kIHVzaW5nIGltcG9ydCBmb3IgdGhlIGVzbVxuICAgKiBmb3JtYXQpIGFuZCB3aWxsIGJlIGV2YWx1YXRlZCBhdCBydW4gdGltZSBpbnN0ZWFkLlxuICAgKlxuICAgKiBAbGluayBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZXh0ZXJuYWxcbiAgICpcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IGV4dGVybmFsPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBUaGUgTm9kZUpTIHJ1bnRpbWUgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24uXG4gICAqXG4gICAqIEBsaW5rIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2xhbWJkYS1ydW50aW1lcy5odG1sI3J1bnRpbWVzLXN1cHBvcnRlZFxuICAgKlxuICAgKiBAZGVmYXVsdCBcIm5vZGVqczIwLnhcIlxuICAgKi9cbiAgcmVhZG9ubHkgcnVudGltZT86IFwibm9kZWpzMTgueFwiIHwgXCJub2RlanMyMC54XCI7XG59XG5cbmNvbnN0IGJ1bmRsZSA9IChcbiAgd29ya2luZ0RpcmVjdG9yeTogc3RyaW5nLFxuICBlbnRyeVBvaW50OiBzdHJpbmcsXG4gIGV4dGVybmFsPzogc3RyaW5nW10sXG4pID0+IHtcbiAgYnVpbGRTeW5jKHtcbiAgICBlbnRyeVBvaW50czogW2VudHJ5UG9pbnRdLFxuICAgIHBsYXRmb3JtOiBcIm5vZGVcIixcbiAgICB0YXJnZXQ6IFwiZXMyMDE4XCIsXG4gICAgYnVuZGxlOiB0cnVlLFxuICAgIGZvcm1hdDogXCJjanNcIixcbiAgICBzb3VyY2VtYXA6IFwiZXh0ZXJuYWxcIixcbiAgICBleHRlcm5hbCxcbiAgICBvdXRkaXI6IFwiZGlzdFwiLFxuICAgIGFic1dvcmtpbmdEaXI6IHdvcmtpbmdEaXJlY3RvcnksXG4gIH0pO1xuXG4gIHJldHVybiBwYXRoLmpvaW4od29ya2luZ0RpcmVjdG9yeSwgXCJkaXN0XCIpO1xufTtcblxuLyoqXG4gKiBQcm92aWRlcyBhIE5vZGVKUyBMYW1iZGEgRnVuY3Rpb24uIExhbWJkYSBhbGxvd3MgeW91IHRvIHRyaWdnZXIgZXhlY3V0aW9uXG4gKiBvZiBjb2RlIGluIHJlc3BvbnNlIHRvIGV2ZW50cyBpbiBBV1MsIGVuYWJsaW5nIHNlcnZlcmxlc3MgYmFja2VuZCBzb2x1dGlvbnMuXG4gKlxuICogVGhlIExhbWJkYSBGdW5jdGlvbiBpdHNlbGYgd2lsbCBiZSBidW5kbGVkIHVzaW5nXG4gKiBbZXNidWlsZC13YXNtXShodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2dldHRpbmctc3RhcnRlZC8jd2FzbSkuXG4gKlxuICogRm9yIGV4YW1wbGU6XG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IGZuID0gbmV3IGNvbXB1dGUuTm9kZWpzRnVuY3Rpb24oc3BlYywgXCJIZWxsb1dvcmxkXCIsIHtcbiAqICAgcGF0aDogcGF0aC5qb2luKF9fZGlybmFtZSwgXCJoYW5kbGVyc1wiLCBcImhlbGxvLXdvcmxkLnRzXCIpLFxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAcmVzb3VyY2UgYXdzX2xhbWJkYV9mdW5jdGlvblxuICogQGJlYWNvbi1jbGFzcyBjb21wdXRlLklGdW5jdGlvblxuICovXG5leHBvcnQgY2xhc3MgTm9kZWpzRnVuY3Rpb24gZXh0ZW5kcyBMYW1iZGFGdW5jdGlvbiBpbXBsZW1lbnRzIElGdW5jdGlvbiB7XG4gIHB1YmxpYyByZWFkb25seSBhc3NldDogVGVycmFmb3JtQXNzZXQ7XG4gIHB1YmxpYyByZWFkb25seSBidW5kbGVkUGF0aDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGNvbmZpZzogTm9kZWpzRnVuY3Rpb25Qcm9wcykge1xuICAgIGNvbnN0IHsgcGF0aDogZmlsZVBhdGgsIC4uLnJlc3QgfSA9IGNvbmZpZztcbiAgICBzdXBlcihzY29wZSwgaWQsIHJlc3QpO1xuXG4gICAgY29uc3Qgd29ya2luZ0RpcmVjdG9yeSA9IHBhdGgucmVzb2x2ZShwYXRoLmRpcm5hbWUoY29uZmlnLnBhdGgpKTtcbiAgICBjb25zdCBkaXN0UGF0aCA9IGJ1bmRsZShcbiAgICAgIHdvcmtpbmdEaXJlY3RvcnksXG4gICAgICBwYXRoLmJhc2VuYW1lKGNvbmZpZy5wYXRoKSxcbiAgICAgIGNvbmZpZy5leHRlcm5hbCxcbiAgICApO1xuICAgIHRoaXMuYnVuZGxlZFBhdGggPSBwYXRoLmpvaW4oXG4gICAgICBkaXN0UGF0aCxcbiAgICAgIGAke3BhdGguYmFzZW5hbWUoY29uZmlnLnBhdGgsIFwiLnRzXCIpfS5qc2AsXG4gICAgKTtcblxuICAgIC8vIFRPRE86IEltcGxlbWVudCBDb2RlICYmIFJ1bnRpbWVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvYmxvYi92Mi4xNTYuMC9wYWNrYWdlcy9hd3MtY2RrLWxpYi9hd3MtbGFtYmRhL2xpYi9jb2RlLnRzXG4gICAgdGhpcy5hc3NldCA9IG5ldyBUZXJyYWZvcm1Bc3NldCh0aGlzLCBcIk5vZGVqc0Fzc2V0XCIsIHtcbiAgICAgIHBhdGg6IGRpc3RQYXRoLFxuICAgICAgdHlwZTogQXNzZXRUeXBlLkFSQ0hJVkUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBmaWxlTmFtZSA9IHBhdGguYmFzZW5hbWUoY29uZmlnLnBhdGgsIFwiLnRzXCIpO1xuXG4gICAgdGhpcy5yZXNvdXJjZS5oYW5kbGVyID0gYCR7ZmlsZU5hbWV9LmhhbmRsZXJgO1xuICAgIC8vIE5PVEU6IGZvciB0aGUgdW5kZXJsYXlpbmcgcmVzb3VyY2UsIEV4YWN0bHkgb25lIG9mIGZpbGVuYW1lLCBpbWFnZV91cmksIG9yIHMzX2J1Y2tldCBtdXN0IGJlIHNwZWNpZmllZFxuICAgIHRoaXMucmVzb3VyY2UuZmlsZW5hbWUgPSB0aGlzLmFzc2V0LnBhdGg7XG4gICAgdGhpcy5yZXNvdXJjZS5zb3VyY2VDb2RlSGFzaCA9IHRoaXMuYXNzZXQuYXNzZXRIYXNoO1xuICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2RnL2xhbWJkYS1ydW50aW1lcy5odG1sI3J1bnRpbWVzLXN1cHBvcnRlZFxuICAgIC8vIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2FwaS9BUElfQ3JlYXRlRnVuY3Rpb24uaHRtbCNsYW1iZGEtQ3JlYXRlRnVuY3Rpb24tcmVxdWVzdC1SdW50aW1lXG4gICAgdGhpcy5yZXNvdXJjZS5ydW50aW1lID0gY29uZmlnLnJ1bnRpbWUgPz8gXCJub2RlanMyMC54XCI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -144,5 +144,5 @@ class FunctionUrl extends __1.AwsConstructBase {
|
|
|
144
144
|
}
|
|
145
145
|
exports.FunctionUrl = FunctionUrl;
|
|
146
146
|
_a = JSII_RTTI_SYMBOL_1;
|
|
147
|
-
FunctionUrl[_a] = { fqn: "terraconstructs.aws.compute.FunctionUrl", version: "0.0.
|
|
147
|
+
FunctionUrl[_a] = { fqn: "terraconstructs.aws.compute.FunctionUrl", version: "0.0.20" };
|
|
148
148
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tdXJsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9jb21wdXRlL2Z1bmN0aW9uLXVybC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNEQUF3RDtBQUV4RCwwQkFBcUQ7QUFJckQsOEJBQThCO0FBRTlCOztHQUVHO0FBQ0gsSUFBWSxtQkFVWDtBQVZELFdBQVksbUJBQW1CO0lBQzdCOztPQUVHO0lBQ0gsMENBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCxvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQVZXLG1CQUFtQixtQ0FBbkIsbUJBQW1CLFFBVTlCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFVBY1g7QUFkRCxXQUFZLFVBQVU7SUFDcEI7Ozs7T0FJRztJQUNILG1DQUFxQixDQUFBO0lBRXJCOzs7O09BSUc7SUFDSCxpREFBbUMsQ0FBQTtBQUNyQyxDQUFDLEVBZFcsVUFBVSwwQkFBVixVQUFVLFFBY3JCO0FBRUQ7O0dBRUc7QUFDSCxJQUFZLFVBaUNYO0FBakNELFdBQVksVUFBVTtJQUNwQjs7T0FFRztJQUNILHlCQUFXLENBQUE7SUFDWDs7T0FFRztJQUNILHlCQUFXLENBQUE7SUFDWDs7T0FFRztJQUNILDJCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILDJCQUFhLENBQUE7SUFDYjs7T0FFRztJQUNILCtCQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsNkJBQWUsQ0FBQTtJQUNmOztPQUVHO0lBQ0gsaUNBQW1CLENBQUE7SUFDbkI7O09BRUc7SUFDSCx1QkFBUyxDQUFBO0FBQ1gsQ0FBQyxFQWpDVyxVQUFVLDBCQUFWLFVBQVUsUUFpQ3JCO0FBZ0lEOzs7O0dBSUc7QUFDSCxNQUFhLFdBQVksU0FBUSxvQkFBZ0I7SUFFL0MsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pDLENBQUM7SUFtQkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1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LElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ2pDLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztZQUNyRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDakMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ2xDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtTQUNqQyxDQUFDO0lBQ0osQ0FBQzs7QUE3Rkgsa0NBOEZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbGFtYmRhRnVuY3Rpb25VcmwgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElBd3NDb25zdHJ1Y3QsIEF3c0NvbnN0cnVjdEJhc2UgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCB7IElBbGlhcyB9IGZyb20gXCIuL2Z1bmN0aW9uLWFsaWFzXCI7XG5pbXBvcnQgeyBJRnVuY3Rpb24gfSBmcm9tIFwiLi9mdW5jdGlvbi1iYXNlXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCIuLi8uLlwiO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gXCIuLi9pYW1cIjtcblxuLyoqXG4gKiBUaGUgYXV0aCB0eXBlcyBmb3IgYSBmdW5jdGlvbiB1cmxcbiAqL1xuZXhwb3J0IGVudW0gRnVuY3Rpb25VcmxBdXRoVHlwZSB7XG4gIC8qKlxuICAgKiBSZXN0cmljdCBhY2Nlc3MgdG8gYXV0aGVudGljYXRlZCBJQU0gdXNlcnMgb25seVxuICAgKi9cbiAgQVdTX0lBTSA9IFwiQVdTX0lBTVwiLFxuXG4gIC8qKlxuICAgKiBCeXBhc3MgSUFNIGF1dGhlbnRpY2F0aW9uIHRvIGNyZWF0ZSBhIHB1YmxpYyBlbmRwb2ludFxuICAgKi9cbiAgTk9ORSA9IFwiTk9ORVwiLFxufVxuXG4vKipcbiAqIFRoZSBpbnZva2UgbW9kZXMgZm9yIGEgTGFtYmRhIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBlbnVtIEludm9rZU1vZGUge1xuICAvKipcbiAgICogRGVmYXVsdCBvcHRpb24uIExhbWJkYSBpbnZva2VzIHlvdXIgZnVuY3Rpb24gdXNpbmcgdGhlIEludm9rZSBBUEkgb3BlcmF0aW9uLlxuICAgKiBJbnZvY2F0aW9uIHJlc3VsdHMgYXJlIGF2YWlsYWJsZSB3aGVuIHRoZSBwYXlsb2FkIGlzIGNvbXBsZXRlLlxuICAgKiBUaGUgbWF4aW11bSBwYXlsb2FkIHNpemUgaXMgNiBNQi5cbiAgICovXG4gIEJVRkZFUkVEID0gXCJCVUZGRVJFRFwiLFxuXG4gIC8qKlxuICAgKiBZb3VyIGZ1bmN0aW9uIHN0cmVhbXMgcGF5bG9hZCByZXN1bHRzIGFzIHRoZXkgYmVjb21lIGF2YWlsYWJsZS5cbiAgICogTGFtYmRhIGludm9rZXMgeW91ciBmdW5jdGlvbiB1c2luZyB0aGUgSW52b2tlV2l0aFJlc3BvbnNlU3RyZWFtIEFQSSBvcGVyYXRpb24uXG4gICAqIFRoZSBtYXhpbXVtIHJlc3BvbnNlIHBheWxvYWQgc2l6ZSBpcyAyMCBNQiwgaG93ZXZlciwgeW91IGNhbiByZXF1ZXN0IGEgcXVvdGEgaW5jcmVhc2UuXG4gICAqL1xuICBSRVNQT05TRV9TVFJFQU0gPSBcIlJFU1BPTlNFX1NUUkVBTVwiLFxufVxuXG4vKipcbiAqIEFsbCBodHRwIHJlcXVlc3QgbWV0aG9kc1xuICovXG5leHBvcnQgZW51bSBIdHRwTWV0aG9kIHtcbiAgLyoqXG4gICAqIFRoZSBHRVQgbWV0aG9kIHJlcXVlc3RzIGEgcmVwcmVzZW50YXRpb24gb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZS5cbiAgICovXG4gIEdFVCA9IFwiR0VUXCIsXG4gIC8qKlxuICAgKiBUaGUgUFVUIG1ldGhvZCByZXBsYWNlcyBhbGwgY3VycmVudCByZXByZXNlbnRhdGlvbnMgb2YgdGhlIHRhcmdldCByZXNvdXJjZSB3aXRoIHRoZSByZXF1ZXN0IHBheWxvYWQuXG4gICAqL1xuICBQVVQgPSBcIlBVVFwiLFxuICAvKipcbiAgICogVGhlIEhFQUQgbWV0aG9kIGFza3MgZm9yIGEgcmVzcG9uc2UgaWRlbnRpY2FsIHRvIHRoYXQgb2YgYSBHRVQgcmVxdWVzdCwgYnV0IHdpdGhvdXQgdGhlIHJlc3BvbnNlIGJvZHkuXG4gICAqL1xuICBIRUFEID0gXCJIRUFEXCIsXG4gIC8qKlxuICAgKiBUaGUgUE9TVCBtZXRob2QgaXMgdXNlZCB0byBzdWJtaXQgYW4gZW50aXR5IHRvIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UsIG9mdGVuIGNhdXNpbmcgYSBjaGFuZ2UgaW4gc3RhdGUgb3Igc2lkZSBlZmZlY3RzIG9uIHRoZSBzZXJ2ZXIuXG4gICAqL1xuICBQT1NUID0gXCJQT1NUXCIsXG4gIC8qKlxuICAgKiBUaGUgREVMRVRFIG1ldGhvZCBkZWxldGVzIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UuXG4gICAqL1xuICBERUxFVEUgPSBcIkRFTEVURVwiLFxuICAvKipcbiAgICogVGhlIFBBVENIIG1ldGhvZCBhcHBsaWVzIHBhcnRpYWwgbW9kaWZpY2F0aW9ucyB0byBhIHJlc291cmNlLlxuICAgKi9cbiAgUEFUQ0ggPSBcIlBBVENIXCIsXG4gIC8qKlxuICAgKiBUaGUgT1BUSU9OUyBtZXRob2QgZGVzY3JpYmVzIHRoZSBjb21tdW5pY2F0aW9uIG9wdGlvbnMgZm9yIHRoZSB0YXJnZXQgcmVzb3VyY2UuXG4gICAqL1xuICBPUFRJT05TID0gXCJPUFRJT05TXCIsXG4gIC8qKlxuICAgKiBUaGUgd2lsZGNhcmQgZW50cnkgdG8gYWxsb3cgYWxsIG1ldGhvZHMuXG4gICAqL1xuICBBTEwgPSBcIipcIixcbn1cblxuLyoqXG4gKiBTcGVjaWZpZXMgYSBjcm9zcy1vcmlnaW4gYWNjZXNzIHByb3BlcnR5IGZvciBhIGZ1bmN0aW9uIFVSTFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uVXJsQ29yc09wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byBhbGxvdyBjb29raWVzIG9yIG90aGVyIGNyZWRlbnRpYWxzIGluIHJlcXVlc3RzIHRvIHlvdXIgZnVuY3Rpb24gVVJMLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dDcmVkZW50aWFscz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEhlYWRlcnMgdGhhdCBhcmUgc3BlY2lmaWVkIGluIHRoZSBBY2Nlc3MtQ29udHJvbC1SZXF1ZXN0LUhlYWRlcnMgaGVhZGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGhlYWRlcnMgYWxsb3dlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRIZWFkZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEFuIEhUVFAgbWV0aG9kIHRoYXQgeW91IGFsbG93IHRoZSBvcmlnaW4gdG8gZXhlY3V0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBbSHR0cE1ldGhvZC5BTExdXG4gICAqL1xuICByZWFkb25seSBhbGxvd2VkTWV0aG9kcz86IEh0dHBNZXRob2RbXTtcblxuICAvKipcbiAgICogT25lIG9yIG1vcmUgb3JpZ2lucyB5b3Ugd2FudCBjdXN0b21lcnMgdG8gYmUgYWJsZSB0byBhY2Nlc3MgdGhlIGJ1Y2tldCBmcm9tLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIG9yaWdpbnMgYWxsb3dlZC5cbiAgICovXG4gIHJlYWRvbmx5IGFsbG93ZWRPcmlnaW5zPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIE9uZSBvciBtb3JlIGhlYWRlcnMgaW4gdGhlIHJlc3BvbnNlIHRoYXQgeW91IHdhbnQgY3VzdG9tZXJzIHRvIGJlIGFibGUgdG8gYWNjZXNzIGZyb20gdGhlaXIgYXBwbGljYXRpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGhlYWRlcnMgZXhwb3NlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4cG9zZWRIZWFkZXJzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIGluIHNlY29uZHMgdGhhdCB5b3VyIGJyb3dzZXIgaXMgdG8gY2FjaGUgdGhlIHByZWZsaWdodCByZXNwb25zZSBmb3IgdGhlIHNwZWNpZmllZCByZXNvdXJjZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBCcm93c2VyIGRlZmF1bHQgb2YgNSBzZWNvbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWF4QWdlPzogRHVyYXRpb247XG59XG5cbi8qKlxuICogT3V0cHV0cyB0aGF0IGNhbiBiZSBleHBvc2VkIHRocm91Z2ggdGhlIGdyaWRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblVybE91dHB1dHMge1xuICAvKipcbiAgICogVGhlIHVybCBvZiB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGZ1bmN0aW9uIHRoaXMgVVJMIHJlZmVycyB0b1xuICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25Bcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIExhbWJkYSBmdW5jdGlvbiBVcmxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRnVuY3Rpb25VcmwgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLyoqIHN0cm9uZ2x5IHR5cGVkIEZ1bmN0aW9uVXJsT3V0cHV0cyAqL1xuICByZWFkb25seSBmdW5jdGlvblVybE91dHB1dHM6IEZ1bmN0aW9uVXJsT3V0cHV0cztcblxuICAvKipcbiAgICogVGhlIHVybCBvZiB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAYXR0cmlidXRlIEZ1bmN0aW9uVXJsXG4gICAqL1xuICByZWFkb25seSB1cmw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgZnVuY3Rpb24gdGhpcyBVUkwgcmVmZXJzIHRvXG4gICAqXG4gICAqIEBhdHRyaWJ1dGUgRnVuY3Rpb25Bcm5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBnaXZlbiBpZGVudGl0eSBwZXJtaXNzaW9ucyB0byBpbnZva2UgdGhpcyBMYW1iZGEgRnVuY3Rpb24gVVJMXG4gICAqL1xuICBncmFudEludm9rZVVybChpZGVudGl0eTogaWFtLklHcmFudGFibGUpOiBpYW0uR3JhbnQ7XG59XG5cbi8qKlxuICogT3B0aW9ucyB0byBhZGQgYSB1cmwgdG8gYSBMYW1iZGEgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblVybE9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHR5cGUgb2YgYXV0aGVudGljYXRpb24gdGhhdCB5b3VyIGZ1bmN0aW9uIFVSTCB1c2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBGdW5jdGlvblVybEF1dGhUeXBlLkFXU19JQU1cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhUeXBlPzogRnVuY3Rpb25VcmxBdXRoVHlwZTtcblxuICAvKipcbiAgICogVGhlIGNyb3NzLW9yaWdpbiByZXNvdXJjZSBzaGFyaW5nIChDT1JTKSBzZXR0aW5ncyBmb3IgeW91ciBmdW5jdGlvbiBVUkwuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gQ09SUyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgY29ycz86IEZ1bmN0aW9uVXJsQ29yc09wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGludm9jYXRpb24gbW9kZSB0aGF0IHlvdXIgTGFtYmRhIGZ1bmN0aW9uIHVzZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IEludm9rZU1vZGUuQlVGRkVSRURcbiAgICovXG4gIHJlYWRvbmx5IGludm9rZU1vZGU/OiBJbnZva2VNb2RlO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgRnVuY3Rpb25VcmxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvblVybFByb3BzIGV4dGVuZHMgRnVuY3Rpb25VcmxPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0byB3aGljaCB0aGlzIHVybCByZWZlcnMuXG4gICAqIEl0IGNhbiBhbHNvIGJlIGFuIGBBbGlhc2AgYnV0IG5vdCBhIGBWZXJzaW9uYC5cbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uOiBJRnVuY3Rpb247XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIExhbWJkYSBmdW5jdGlvbiB1cmxcbiAqXG4gKiBAcmVzb3VyY2UgYXdzX2xhbWJkYV9mdW5jdGlvbl91cmxcbiAqL1xuZXhwb3J0IGNsYXNzIEZ1bmN0aW9uVXJsIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElGdW5jdGlvblVybCB7XG4gIHB1YmxpYyByZWFkb25seSBmdW5jdGlvblVybE91dHB1dHM6IEZ1bmN0aW9uVXJsT3V0cHV0cztcbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLmZ1bmN0aW9uVXJsT3V0cHV0cztcbiAgfVxuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IGxhbWJkYUZ1bmN0aW9uVXJsLkxhbWJkYUZ1bmN0aW9uVXJsO1xuICAvKipcbiAgICogVGhlIHVybCBvZiB0aGUgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBmdW5jdGlvbiB0aGlzIFVSTCByZWZlcnMgdG9cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmdW5jdGlvbkFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYXV0aGVudGljYXRpb24gdHlwZSB1c2VkIGZvciB0aGlzIEZ1bmN0aW9uIFVSTFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF1dGhUeXBlOiBGdW5jdGlvblVybEF1dGhUeXBlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRnVuY3Rpb25VcmxQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBJZiB0aGUgdGFyZ2V0IGZ1bmN0aW9uIGlzIGFuIGFsaWFzLCB0aGVuIGl0IG11c3QgYmUgY29uZmlndXJlZCB1c2luZyB0aGUgdW5kZXJseWluZyBmdW5jdGlvblxuICAgIC8vIEFSTiwgYW5kIHRoZSBhbGlhcyBuYW1lIGFzIGEgcXVhbGlmaWVyLlxuICAgIGNvbnN0IHsgdGFyZ2V0RnVuY3Rpb24sIGFsaWFzIH0gPSB0aGlzLmluc3RhbmNlT2ZBbGlhcyhwcm9wcy5mdW5jdGlvbilcbiAgICAgID8geyB0YXJnZXRGdW5jdGlvbjogcHJvcHMuZnVuY3Rpb24ubGFtYmRhLCBhbGlhczogcHJvcHMuZnVuY3Rpb24gfVxuICAgICAgOiB7IHRhcmdldEZ1bmN0aW9uOiBwcm9wcy5mdW5jdGlvbiwgYWxpYXM6IHVuZGVmaW5lZCB9O1xuXG4gICAgdGhpcy5hdXRoVHlwZSA9IHByb3BzLmF1dGhUeXBlID8/IEZ1bmN0aW9uVXJsQXV0aFR5cGUuQVdTX0lBTTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgbGFtYmRhRnVuY3Rpb25VcmwuTGFtYmRhRnVuY3Rpb25VcmwodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBhdXRob3JpemF0aW9uVHlwZTogdGhpcy5hdXRoVHlwZSxcbiAgICAgIGNvcnM6IHByb3BzLmNvcnMgPyB0aGlzLnJlbmRlckNvcnMocHJvcHMuY29ycykgOiB1bmRlZmluZWQsXG4gICAgICBpbnZva2VNb2RlOiBwcm9wcy5pbnZva2VNb2RlLFxuICAgICAgZnVuY3Rpb25OYW1lOiB0YXJnZXRGdW5jdGlvbi5mdW5jdGlvbkFybiwgLy8gVGhlIG5hbWUgKG9yIEFSTikgb2YgdGhlIExhbWJkYSBmdW5jdGlvbi5cbiAgICAgIHF1YWxpZmllcjogYWxpYXM/LmFsaWFzTmFtZSxcbiAgICB9KTtcbiAgICAvLyBUaGUgYWxpYXNOYW1lIGlzIGEgcmVxdWlyZWQgcGh5c2ljYWwgbmFtZSwgc28gdXNpbmcgaXQgZG9lcyBub3QgaW1wbHkgYSBkZXBlbmRlbmN5LCBzbyB3ZVxuICAgIC8vIG11c3QgXCJtYW51YWxseVwiIHJlZ2lzdGVyIHRoZSBkZXBlbmRlbmN5LCBvciBlbHNlIFRGIG1heSBhdHRlbXB0IHRvIHVzZSBiZWZvcmUgaXQgZXhpc3RzLlxuICAgIGlmIChhbGlhcz8ubm9kZS5kZWZhdWx0Q2hpbGQgIT0gbnVsbCkge1xuICAgICAgdGhpcy5yZXNvdXJjZS5ub2RlLmFkZERlcGVuZGVuY3koYWxpYXMubm9kZS5kZWZhdWx0Q2hpbGQpO1xuICAgIH1cblxuICAgIHRoaXMudXJsID0gdGhpcy5yZXNvdXJjZS5mdW5jdGlvblVybDtcbiAgICB0aGlzLmZ1bmN0aW9uQXJuID0gdGhpcy5yZXNvdXJjZS5mdW5jdGlvbkFybjtcbiAgICB0aGlzLmZ1bmN0aW9uID0gcHJvcHMuZnVuY3Rpb247XG5cbiAgICBpZiAocHJvcHMuYXV0aFR5cGUgPT09IEZ1bmN0aW9uVXJsQXV0aFR5cGUuTk9ORSkge1xuICAgICAgcHJvcHMuZnVuY3Rpb24uYWRkUGVybWlzc2lvbihcImludm9rZS1mdW5jdGlvbi11cmxcIiwge1xuICAgICAgICBwcmluY2lwYWw6IG5ldyBpYW0uQW55UHJpbmNpcGFsKCksXG4gICAgICAgIGFjdGlvbjogXCJsYW1iZGE6SW52b2tlRnVuY3Rpb25VcmxcIixcbiAgICAgICAgZnVuY3Rpb25VcmxBdXRoVHlwZTogcHJvcHMuYXV0aFR5cGUsXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5mdW5jdGlvblVybE91dHB1dHMgPSB7XG4gICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgZnVuY3Rpb25Bcm46IHRoaXMuZnVuY3Rpb25Bcm4sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBncmFudEludm9rZVVybChncmFudGVlOiBpYW0uSUdyYW50YWJsZSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIHRoaXMuZnVuY3Rpb24uZ3JhbnRJbnZva2VVcmwoZ3JhbnRlZSk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbmNlT2ZBbGlhcyhmbjogSUZ1bmN0aW9uKTogZm4gaXMgSUFsaWFzIHtcbiAgICByZXR1cm4gXCJhbGlhc05hbWVcIiBpbiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgcmVuZGVyQ29ycyhcbiAgICBjb3JzOiBGdW5jdGlvblVybENvcnNPcHRpb25zLFxuICApOiBsYW1iZGFGdW5jdGlvblVybC5MYW1iZGFGdW5jdGlvblVybENvcnMge1xuICAgIGlmIChcbiAgICAgIGNvcnMubWF4QWdlICYmXG4gICAgICAhY29ycy5tYXhBZ2UuaXNVbnJlc29sdmVkKCkgJiZcbiAgICAgIGNvcnMubWF4QWdlLnRvU2Vjb25kcygpID4gODY0MDBcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEZ1bmN0aW9uVXJsIENPUlMgbWF4QWdlIHNob3VsZCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gODY0MDAgc2VjcyAoZ290ICR7Y29ycy5tYXhBZ2UudG9TZWNvbmRzKCl9KWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBhbGxvd0NyZWRlbnRpYWxzOiBjb3JzLmFsbG93Q3JlZGVudGlhbHMsXG4gICAgICBhbGxvd0hlYWRlcnM6IGNvcnMuYWxsb3dlZEhlYWRlcnMsXG4gICAgICBhbGxvd01ldGhvZHM6IGNvcnMuYWxsb3dlZE1ldGhvZHMgPz8gW0h0dHBNZXRob2QuQUxMXSxcbiAgICAgIGFsbG93T3JpZ2luczogY29ycy5hbGxvd2VkT3JpZ2lucyxcbiAgICAgIGV4cG9zZUhlYWRlcnM6IGNvcnMuZXhwb3NlZEhlYWRlcnMsXG4gICAgICBtYXhBZ2U6IGNvcnMubWF4QWdlPy50b1NlY29uZHMoKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -582,7 +582,7 @@ class LambdaFunction extends function_base_1.LambdaFunctionBase {
|
|
|
582
582
|
}
|
|
583
583
|
exports.LambdaFunction = LambdaFunction;
|
|
584
584
|
_a = JSII_RTTI_SYMBOL_1;
|
|
585
|
-
LambdaFunction[_a] = { fqn: "terraconstructs.aws.compute.LambdaFunction", version: "0.0.
|
|
585
|
+
LambdaFunction[_a] = { fqn: "terraconstructs.aws.compute.LambdaFunction", version: "0.0.20" };
|
|
586
586
|
/**
|
|
587
587
|
* Given an opaque (token) ARN, returns a TF expression that extracts the function
|
|
588
588
|
* name from the ARN.
|
|
@@ -1679,5 +1679,5 @@ class InstanceType {
|
|
|
1679
1679
|
}
|
|
1680
1680
|
exports.InstanceType = InstanceType;
|
|
1681
1681
|
_a = JSII_RTTI_SYMBOL_1;
|
|
1682
|
-
InstanceType[_a] = { fqn: "terraconstructs.aws.compute.InstanceType", version: "0.0.
|
|
1682
|
+
InstanceType[_a] = { fqn: "terraconstructs.aws.compute.InstanceType", version: "0.0.20" };
|
|
1683
1683
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvaW5zdGFuY2UtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxrR0FBa0c7QUFFbEc7Ozs7Ozs7O0dBUUc7QUFDSCxJQUFZLGFBbTdDWDtBQW43Q0QsV0FBWSxhQUFhO0lBQ3ZCOztPQUVHO0lBQ0gsd0NBQXVCLENBQUE7SUFFdkI7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCx3Q0FBdUIsQ0FBQTtJQUV2Qjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILHdDQUF1QixDQUFBO0lBRXZCOztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsOERBQTZDLENBQUE7SUFFN0M7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCxnREFBK0IsQ0FBQTtJQUUvQjs7T0FFRztJQUNILDRCQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILHNFQUFxRCxDQUFBO0lBRXJEOztPQUVHO0lBQ0gsOEJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsMEVBQXlELENBQUE7SUFFekQ7O09BRUc7SUFDSCw0QkFBVyxDQUFBO0lBRVg7O09BRUc7SUFDSCxnR0FBK0UsQ0FBQTtJQUUvRTs7T0FFRztJQUNILDhCQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILGtFQUFpRCxDQUFBO0lBRWpEOztPQUVHO0lBQ0gsOEJBQWEsQ0FBQTtJQUViOztPQUVHO0lBQ0gsb0NBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwwQkFBUyxDQUFBO0lBRVQ7O09BRUc7SUFDSCxvQ0FBbUIsQ0FBQTtJQUVuQjs7T0FFRztJQUNILDBCQUFTLENBQUE7SUFFVDs7T0FFRztJQUNILG9DQUFtQixDQUFBO0lBRW5COztPQUVHO0lBQ0gsMEJBQVMsQ0FBQTtJQUVUOztPQUVHO0lBQ0gsNENBQTJC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Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIvaW5zdGFuY2UtdHlwZXMudHNcblxuLyoqXG4gKiBXaGF0IGNsYXNzIGFuZCBnZW5lcmF0aW9uIG9mIGluc3RhbmNlIHRvIHVzZVxuICpcbiAqIFdlIGhhdmUgYm90aCBzeW1ib2xpYyBhbmQgY29uY3JldGUgZW51bXMgZm9yIGV2ZXJ5IHR5cGUuXG4gKlxuICogVGhlIGZpcnN0IGFyZSBmb3IgcGVvcGxlIHRoYXQgd2FudCB0byBzcGVjaWZ5IGJ5IHB1cnBvc2UsXG4gKiB0aGUgc2Vjb25kIG9uZSBhcmUgZm9yIHBlb3BsZSB3aG8gYWxyZWFkeSBrbm93IGV4YWN0bHkgd2hhdFxuICogJ1I0JyBtZWFucy5cbiAqL1xuZXhwb3J0IGVudW0gSW5zdGFuY2VDbGFzcyB7XG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMsIDNyZCBnZW5lcmF0aW9uXG4gICAqL1xuICBTVEFOREFSRDMgPSBcInN0YW5kYXJkM1wiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMsIDNyZCBnZW5lcmF0aW9uXG4gICAqL1xuICBNMyA9IFwibTNcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzLCA0dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgU1RBTkRBUkQ0ID0gXCJzdGFuZGFyZDRcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzLCA0dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgTTQgPSBcIm00XCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIFNUQU5EQVJENSA9IFwic3RhbmRhcmQ1XCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIE01ID0gXCJtNVwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgU1RBTkRBUkQ1X05WTUVfRFJJVkUgPSBcInN0YW5kYXJkNS1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyB3aXRoIGxvY2FsIE5WTUUgZHJpdmUsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBNNUQgPSBcIm01ZFwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgYmFzZWQgb24gQU1EIEVQWUMsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBTVEFOREFSRDVfQU1EID0gXCJzdGFuZGFyZDUtYW1kXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIE01QSA9IFwibTVhXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQyB3aXRoIGxvY2FsIE5WTUUgZHJpdmUsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBTVEFOREFSRDVfQU1EX05WTUVfRFJJVkUgPSBcInN0YW5kYXJkNS1hbWQtbnZtZS1kcml2ZVwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgYmFzZWQgb24gQU1EIEVQWUMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgTTVBRCA9IFwibTVhZFwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgU1RBTkRBUkQ1X0hJR0hfUEVSRk9STUFOQ0UgPSBcInN0YW5kYXJkNS1oaWdoLXBlcmZvcm1hbmNlXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBNNU4gPSBcIm01blwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIFNUQU5EQVJENV9OVk1FX0RSSVZFX0hJR0hfUEVSRk9STUFOQ0UgPSBcInN0YW5kYXJkNS1udm1lLWRyaXZlLWhpZ2gtcGVyZm9ybWFuY2VcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBNNUROID0gXCJtNWRuXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyB3aXRoIGhpZ2ggbWVtb3J5IGFuZCBjb21wdXRlIGNhcGFjaXR5IGJhc2VkIG9uIEludGVsIFhlb24gU2NhbGFibGUgKENhc2NhZGUgTGFrZSkgcHJvY2Vzc29ycywgNW5kIGdlbmVyYXRpb25cbiAgICovXG4gIFNUQU5EQVJENV9ISUdIX0NPTVBVVEUgPSBcInN0YW5kYXJkNS1oaWdoLWNvbXB1dGVcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzIHdpdGggaGlnaCBtZW1vcnkgYW5kIGNvbXB1dGUgY2FwYWNpdHkgYmFzZWQgb24gSW50ZWwgWGVvbiBTY2FsYWJsZSAoQ2FzY2FkZSBMYWtlKSBwcm9jZXNzb3JzLCA1bmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgTTVaTiA9IFwibTV6blwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcywgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIE1FTU9SWTMgPSBcIm1lbW9yeTNcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMsIDNyZCBnZW5lcmF0aW9uXG4gICAqL1xuICBSMyA9IFwicjNcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMsIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBNRU1PUlk0ID0gXCJtZW1vcnk0XCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA0dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgUjQgPSBcInI0XCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgTUVNT1JZNSA9IFwibWVtb3J5NVwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIFI1ID0gXCJyNVwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQywgNnRoIGdlbmVyYXRpb25cbiAgICovXG4gIE1FTU9SWTZfQU1EID0gXCJtZW1vcnk2LWFtZFwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQywgNnRoIGdlbmVyYXRpb25cbiAgICovXG4gIFI2QSA9IFwicjZhXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA2dGggZ2VuZXJhdGlvbiB3aXRoIEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoM3JkIGdlbmVyYXRpb24gcHJvY2Vzc29ycyBjb2RlIG5hbWVkIEljZSBMYWtlKVxuICAgKi9cbiAgTUVNT1JZNl9JTlRFTCA9IFwibWVtb3J5Ni1pbnRlbFwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcywgNnRoIGdlbmVyYXRpb24gd2l0aCBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKDNyZCBnZW5lcmF0aW9uIHByb2Nlc3NvcnMgY29kZSBuYW1lZCBJY2UgTGFrZSlcbiAgICovXG4gIFI2SSA9IFwicjZpXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgNnRoIGdlbmVyYXRpb24gd2l0aCBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKDNyZCBnZW5lcmF0aW9uIHByb2Nlc3NvcnMgY29kZSBuYW1lZCBJY2UgTGFrZSlcbiAgICovXG4gIE1FTU9SWTZfSU5URUxfTlZNRV9EUklWRSA9IFwibWVtb3J5Ni1pbnRlbC1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgNnRoIGdlbmVyYXRpb24gd2l0aCBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKDNyZCBnZW5lcmF0aW9uIHByb2Nlc3NvcnMgY29kZSBuYW1lZCBJY2UgTGFrZSlcbiAgICovXG4gIFI2SUQgPSBcInI2aWRcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nIHBvd2VyZWQgYnkgSW50ZWwgWGVvbiBTY2FsYWJsZSBwcm9jZXNzb3JzIChjb2RlIG5hbWVkIEljZSBMYWtlKSwgNnRoIGdlbmVyYXRpb25cbiAgICovXG4gIE1FTU9SWTZfSU5URUxfSElHSF9QRVJGT1JNQU5DRSA9IFwibWVtb3J5Ni1pbnRlbC1oaWdoLXBlcmZvcm1hbmNlXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBwb3dlcmVkIGJ5IEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoY29kZSBuYW1lZCBJY2UgTGFrZSksIDZ0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBSNklOID0gXCJyNmluXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcgcG93ZXJlZCBieSBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKGNvZGUgbmFtZWQgSWNlIExha2UpLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgTUVNT1JZNl9JTlRFTF9OVk1FX0RSSVZFX0hJR0hfUEVSRk9STUFOQ0UgPSBcIm1lbW9yeTYtaW50ZWwtbnZtZS1kcml2ZS1oaWdoLXBlcmZvcm1hbmNlXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcgcG93ZXJlZCBieSBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKGNvZGUgbmFtZWQgSWNlIExha2UpLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgUjZJRE4gPSBcInI2aWRuXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIE1FTU9SWTVfSElHSF9QRVJGT1JNQU5DRSA9IFwibWVtb3J5NS1oaWdoLXBlcmZvcm1hbmNlXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIFI1TiA9IFwicjVuXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIE1FTU9SWTVfTlZNRV9EUklWRSA9IFwibWVtb3J5NS1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIFI1RCA9IFwicjVkXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBNRU1PUlk1X05WTUVfRFJJVkVfSElHSF9QRVJGT1JNQU5DRSA9IFwibWVtb3J5NS1udm1lLWRyaXZlLWhpZ2gtcGVyZm9ybWFuY2VcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIFI1RE4gPSBcInI1ZG5cIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gQU1EIEVQWUMsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBNRU1PUlk1X0FNRCA9IFwibWVtb3J5NS1hbWRcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gQU1EIEVQWUMsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBSNUEgPSBcInI1YVwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQyB3aXRoIGxvY2FsIE5WTUUgZHJpdmUsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBNRU1PUlk1X0FNRF9OVk1FX0RSSVZFID0gXCJtZW1vcnk1LWFtZC1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGJhc2VkIG9uIEFNRCBFUFlDIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIFI1QUQgPSBcInI1YWRcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnkgaW5zdGFuY2VzICgzVEIpIGJhc2VkIG9uIEludGVsIFhlb24gUGxhdGludW0gODE3Nk0gKFNreWxha2UpIHByb2Nlc3NvcnMsIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBISUdIX01FTU9SWV8zVEJfMSA9IFwiaGlnaC1tZW1vcnktM3RiLTFcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnkgaW5zdGFuY2VzICgzVEIpIGJhc2VkIG9uIEludGVsIFhlb24gUGxhdGludW0gODE3Nk0gKFNreWxha2UpIHByb2Nlc3NvcnMsIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBVXzNUQjEgPSBcInUtM3RiMVwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSBpbnN0YW5jZXMgKDZUQikgYmFzZWQgb24gSW50ZWwgWGVvbiBQbGF0aW51bSA4MTc2TSAoU2t5bGFrZSkgcHJvY2Vzc29ycywgMXN0IGdlbmVyYXRpb25cbiAgICovXG4gIEhJR0hfTUVNT1JZXzZUQl8xID0gXCJoaWdoLW1lbW9yeS02dGItMVwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSBpbnN0YW5jZXMgKDZUQikgYmFzZWQgb24gSW50ZWwgWGVvbiBQbGF0aW51bSA4MTc2TSAoU2t5bGFrZSkgcHJvY2Vzc29ycywgMXN0IGdlbmVyYXRpb25cbiAgICovXG4gIFVfNlRCMSA9IFwidS02dGIxXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5IGluc3RhbmNlcyAoOVRCKSBiYXNlZCBvbiBJbnRlbCBYZW9uIFBsYXRpbnVtIDgxNzZNIChTa3lsYWtlKSBwcm9jZXNzb3JzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgSElHSF9NRU1PUllfOVRCXzEgPSBcImhpZ2gtbWVtb3J5LTl0Yi0xXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5IGluc3RhbmNlcyAoOVRCKSBiYXNlZCBvbiBJbnRlbCBYZW9uIFBsYXRpbnVtIDgxNzZNIChTa3lsYWtlKSBwcm9jZXNzb3JzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgVV85VEIxID0gXCJ1LTl0YjFcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnkgaW5zdGFuY2VzICgxMlRCKSBiYXNlZCBvbiBJbnRlbCBYZW9uIFBsYXRpbnVtIDgxNzZNIChTa3lsYWtlKSBwcm9jZXNzb3JzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgSElHSF9NRU1PUllfMTJUQl8xID0gXCJoaWdoLW1lbW9yeS0xMnRiLTFcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnkgaW5zdGFuY2VzICgxMlRCKSBiYXNlZCBvbiBJbnRlbCBYZW9uIFBsYXRpbnVtIDgxNzZNIChTa3lsYWtlKSBwcm9jZXNzb3JzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgVV8xMlRCMSA9IFwidS0xMnRiMVwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSBpbnN0YW5jZXMgKDE4VEIpIGJhc2VkIG9uIEludGVsIFhlb24gU2NhbGFibGUgKENhc2NhZGUgTGFrZSkgcHJvY2Vzc29ycywgMXN0IGdlbmVyYXRpb25cbiAgICovXG4gIEhJR0hfTUVNT1JZXzE4VEJfMSA9IFwiaGlnaC1tZW1vcnktMTh0Yi0xXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5IGluc3RhbmNlcyAoMThUQikgYmFzZWQgb24gSW50ZWwgWGVvbiBTY2FsYWJsZSAoQ2FzY2FkZSBMYWtlKSBwcm9jZXNzb3JzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgVV8xOFRCMSA9IFwidS0xOHRiMVwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSBpbnN0YW5jZXMgKDI0VEIpIGJhc2VkIG9uIEludGVsIFhlb24gU2NhbGFibGUgKENhc2NhZGUgTGFrZSkgcHJvY2Vzc29ycywgMXN0IGdlbmVyYXRpb25cbiAgICovXG4gIEhJR0hfTUVNT1JZXzI0VEJfMSA9IFwiaGlnaC1tZW1vcnktMjR0Yi0xXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5IGluc3RhbmNlcyAoMjRUQikgYmFzZWQgb24gSW50ZWwgWGVvbiBTY2FsYWJsZSAoQ2FzY2FkZSBMYWtlKSBwcm9jZXNzb3JzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgVV8yNFRCMSA9IFwidS0yNHRiMVwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSBpbnN0YW5jZXMgKDZUQikgYmFzZWQgb24gNHRoIEdlbmVyYXRpb24gSW50ZWwgWGVvbiBTY2FsYWJsZSBwcm9jZXNzb3JzIChTYXBwaGlyZSBSYXBpZHMpLCA3dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgSElHSF9NRU1PUllfNlRCXzcgPSBcImhpZ2gtbWVtb3J5LTZ0Yi03XCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5IGluc3RhbmNlcyAoNlRCKSBiYXNlZCBvbiA0dGggR2VuZXJhdGlvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKFNhcHBoaXJlIFJhcGlkcyksIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBVN0lfNlRCID0gXCJ1N2ktNnRiXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5IGluc3RhbmNlcyAoOFRCKSBiYXNlZCBvbiA0dGggR2VuZXJhdGlvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKFNhcHBoaXJlIFJhcGlkcyksIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBISUdIX01FTU9SWV84VEJfNyA9IFwiaGlnaC1tZW1vcnktOHRiLTdcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnkgaW5zdGFuY2VzICg4VEIpIGJhc2VkIG9uIDR0aCBHZW5lcmF0aW9uIEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoU2FwcGhpcmUgUmFwaWRzKSwgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIFU3SV84VEIgPSBcInU3aS04dGJcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnkgaW5zdGFuY2VzICgxMlRCKSBiYXNlZCBvbiA0dGggR2VuZXJhdGlvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKFNhcHBoaXJlIFJhcGlkcyksIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBISUdIX01FTU9SWV8xMlRCXzcgPSBcImhpZ2gtbWVtb3J5LTEydGItN1wiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSBpbnN0YW5jZXMgKDEyVEIpIGJhc2VkIG9uIDR0aCBHZW5lcmF0aW9uIEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoU2FwcGhpcmUgUmFwaWRzKSwgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIFU3SV8xMlRCID0gXCJ1N2ktMTJ0YlwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSwgbmV0d29yay1pbnRlbnNpdmUgaW5zdGFuY2VzICgxNlRCKSBiYXNlZCBvbiA0dGggR2VuZXJhdGlvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKFNhcHBoaXJlIFJhcGlkcyksIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBISUdIX01FTU9SWV9ISUdIX05FVFdPUktfMTZUQl83ID0gXCJoaWdoLW1lbW9yeS1oaWdoLW5ldHdvcmstMTZ0Yi03XCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5LCBuZXR3b3JrLWludGVuc2l2ZSBpbnN0YW5jZXMgKDE2VEIpIGJhc2VkIG9uIDR0aCBHZW5lcmF0aW9uIEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoU2FwcGhpcmUgUmFwaWRzKSwgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIFU3SU5fMTZUQiA9IFwidTdpbi0xNnRiXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5LCBuZXR3b3JrLWludGVuc2l2ZSBpbnN0YW5jZXMgKDI0VEIpIGJhc2VkIG9uIDR0aCBHZW5lcmF0aW9uIEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoU2FwcGhpcmUgUmFwaWRzKSwgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIEhJR0hfTUVNT1JZX0hJR0hfTkVUV09SS18yNFRCXzcgPSBcImhpZ2gtbWVtb3J5LWhpZ2gtbmV0d29yay0yNHRiLTdcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnksIG5ldHdvcmstaW50ZW5zaXZlIGluc3RhbmNlcyAoMjRUQikgYmFzZWQgb24gNHRoIEdlbmVyYXRpb24gSW50ZWwgWGVvbiBTY2FsYWJsZSBwcm9jZXNzb3JzIChTYXBwaGlyZSBSYXBpZHMpLCA3dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgVTdJTl8yNFRCID0gXCJ1N2luLTI0dGJcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnksIG5ldHdvcmstaW50ZW5zaXZlIGluc3RhbmNlcyAoMzJUQikgYmFzZWQgb24gNHRoIEdlbmVyYXRpb24gSW50ZWwgWGVvbiBTY2FsYWJsZSBwcm9jZXNzb3JzIChTYXBwaGlyZSBSYXBpZHMpLCA3dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgSElHSF9NRU1PUllfSElHSF9ORVRXT1JLXzMyVEJfNyA9IFwiaGlnaC1tZW1vcnktaGlnaC1uZXR3b3JrLTMydGItN1wiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSwgbmV0d29yay1pbnRlbnNpdmUgaW5zdGFuY2VzICgzMlRCKSBiYXNlZCBvbiA0dGggR2VuZXJhdGlvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKFNhcHBoaXJlIFJhcGlkcyksIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBVN0lOXzMyVEIgPSBcInU3aW4tMzJ0YlwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSwgbmV0d29yay1pbnRlbnNpdmUgaW5zdGFuY2VzICgzMlRCKSBiYXNlZCBvbiA0dGggR2VuZXJhdGlvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKFNhcHBoaXJlIFJhcGlkcyksIDd0aCBnZW5lcmF0aW9uXG4gICAqIFU3aW5oIGluc3RhbmNlcyB1c2UgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgKEhQRSkgQ29tcHV0ZSBTY2FsZSBVcCBTZXJ2ZXIgMzIwMC5cbiAgICovXG4gIEhJR0hfTUVNT1JZX0hJR0hfTkVUV09SS19IUEVfMzJUQl83ID0gXCJoaWdoLW1lbW9yeS1oaWdoLW5ldHdvcmstaHBlLTMydGItN1wiLFxuXG4gIC8qKlxuICAgKiBIaWdoIG1lbW9yeSwgbmV0d29yay1pbnRlbnNpdmUgaW5zdGFuY2VzICgzMlRCKSBiYXNlZCBvbiA0dGggR2VuZXJhdGlvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMgKFNhcHBoaXJlIFJhcGlkcyksIDd0aCBnZW5lcmF0aW9uXG4gICAqIFU3aW5oIGluc3RhbmNlcyB1c2UgSGV3bGV0dCBQYWNrYXJkIEVudGVycHJpc2UgKEhQRSkgQ29tcHV0ZSBTY2FsZSBVcCBTZXJ2ZXIgMzIwMC5cbiAgICovXG4gIFU3SU5IXzMyVEIgPSBcInU3aW5oLTMydGJcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgdGhhdCBhcmUgYWxzbyBFQlMtb3B0aW1pemVkLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgTUVNT1JZNV9FQlNfT1BUSU1JWkVEID0gXCJtZW1vcnk1LWVicy1vcHRpbWl6ZWRcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgdGhhdCBhcmUgYWxzbyBFQlMtb3B0aW1pemVkLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgUjVCID0gXCJyNWJcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMsIDZ0aCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24yIHByb2Nlc3NvcnNcbiAgICovXG4gIE1FTU9SWTZfR1JBVklUT04gPSBcIm1lbW9yeTYtZ3Jhdml0b25cIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMsIDZ0aCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24yIHByb2Nlc3NvcnNcbiAgICovXG4gIFI2RyA9IFwicjZnXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA2dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMiBwcm9jZXNzb3JzIGFuZCBsb2NhbCBOVk1FIGRyaXZlXG4gICAqL1xuICBNRU1PUlk2X0dSQVZJVE9OMl9OVk1FX0RSSVZFID0gXCJtZW1vcnk2LWdyYXZpdG9uMi1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA2dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMiBwcm9jZXNzb3JzIGFuZCBsb2NhbCBOVk1FIGRyaXZlXG4gICAqL1xuICBSNkdEID0gXCJyNmdkXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA3dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMyBwcm9jZXNzb3JzXG4gICAqXG4gICAqIFRoaXMgaW5zdGFuY2UgY2xhc3MgaXMgY3VycmVudGx5IG9ubHkgYXZhaWxhYmxlIGluIFVTIEVhc3QgKE9oaW8pLCBVUyBFYXN0IChOLiBWaXJnaW5pYSksIFVTIFdlc3QgKE9yZWdvbiksIGFuZCBFdXJvcGUgKElyZWxhbmQpLlxuICAgKi9cbiAgTUVNT1JZN19HUkFWSVRPTiA9IFwibWVtb3J5Ny1ncmF2aXRvblwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcywgN3RoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjMgcHJvY2Vzc29yc1xuICAgKlxuICAgKiBUaGlzIGluc3RhbmNlIGNsYXNzIGlzIGN1cnJlbnRseSBvbmx5IGF2YWlsYWJsZSBpbiBVUyBFYXN0IChPaGlvKSwgVVMgRWFzdCAoTi4gVmlyZ2luaWEpLCBVUyBXZXN0IChPcmVnb24pLCBhbmQgRXVyb3BlIChJcmVsYW5kKS5cbiAgICovXG4gIFI3RyA9IFwicjdnXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA3dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMyBwcm9jZXNzb3JzIGFuZCBsb2NhbCBOVk1FIGRyaXZlXG4gICAqXG4gICAqIFRoaXMgaW5zdGFuY2UgY2xhc3MgaXMgY3VycmVudGx5IG9ubHkgYXZhaWxhYmxlIGluIFVTIEVhc3QgKE9oaW8pLCBVUyBFYXN0IChOLiBWaXJnaW5pYSksIFVTIFdlc3QgKE9yZWdvbiksIGFuZCBFdXJvcGUgKElyZWxhbmQpLlxuICAgKi9cbiAgTUVNT1JZN19HUkFWSVRPTjNfTlZNRV9EUklWRSA9IFwibWVtb3J5Ny1ncmF2aXRvbjMtbnZtZS1kcml2ZVwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcywgN3RoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjMgcHJvY2Vzc29ycyBhbmQgbG9jYWwgTlZNRSBkcml2ZVxuICAgKlxuICAgKiBUaGlzIGluc3RhbmNlIGNsYXNzIGlzIGN1cnJlbnRseSBvbmx5IGF2YWlsYWJsZSBpbiBVUyBFYXN0IChPaGlvKSwgVVMgRWFzdCAoTi4gVmlyZ2luaWEpLCBVUyBXZXN0IChPcmVnb24pLCBhbmQgRXVyb3BlIChJcmVsYW5kKS5cbiAgICovXG4gIFI3R0QgPSBcInI3Z2RcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gSW50ZWwgWGVvbiBTY2FsYWJsZSAoU2FwcGhpcmUgUmFwaWRzKSBwcm9jZXNzb3JzLCA3dGggZ2VuZXJhdGlvbiB3LyAgMy4yR0h6IHR1cmJvIGZyZXF1ZW5jeVxuICAgKi9cbiAgTUVNT1JZN19JTlRFTF9CQVNFID0gXCJtZW1vcnk3LWludGVsLWJhc2VcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gSW50ZWwgWGVvbiBTY2FsYWJsZSAoU2FwcGhpcmUgUmFwaWRzKSBwcm9jZXNzb3JzLCA3dGggZ2VuZXJhdGlvbiB3LyAgMy4yR0h6IHR1cmJvIGZyZXF1ZW5jeVxuICAgKi9cbiAgUjdJID0gXCJyN2lcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gSW50ZWwgWGVvbiBTY2FsYWJsZSAoU2FwcGhpcmUgUmFwaWRzKSBwcm9jZXNzb3JzLCA3dGggZ2VuZXJhdGlvbiwgd2l0aCBzdXN0YWluZWQgMy45R0h6IHR1cmJvIGZyZXF1ZW5jeVxuICAgKi9cbiAgTUVNT1JZN19JTlRFTCA9IFwibWVtb3J5Ny1pbnRlbFwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnkgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIChTYXBwaGlyZSBSYXBpZHMpIHByb2Nlc3NvcnMsIDd0aCBnZW5lcmF0aW9uLCB3aXRoIHN1c3RhaW5lZCAzLjlHSHogdHVyYm8gZnJlcXVlbmN5XG4gICAqL1xuICBSN0laID0gXCJyN2l6XCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGJhc2VkIG9uIDR0aCBnZW5lcmF0aW9uIEFNRCBFUFlDIChjb2RlbmFtZSBHZW5vYSksIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBNRU1PUlk3X0FNRCA9IFwibWVtb3J5Ny1hbWRcIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gNHRoIGdlbmVyYXRpb24gQU1EIEVQWUMgKGNvZGVuYW1lIEdlbm9hKSwgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIFI3QSA9IFwicjdhXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggR3Jhdml0b240IHByb2Nlc3NvcnNcbiAgICovXG4gIE1FTU9SWThfR1JBVklUT04gPSBcIm1lbW9yeTgtZ3Jhdml0b25cIixcblxuICAvKipcbiAgICogTWVtb3J5IG9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBHcmF2aXRvbjQgcHJvY2Vzc29yc1xuICAgKi9cbiAgUjhHID0gXCJyOGdcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgQ09NUFVURTMgPSBcImNvbXB1dGUzXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcywgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIEMzID0gXCJjM1wiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMsIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBDT01QVVRFNCA9IFwiY29tcHV0ZTRcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA0dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgQzQgPSBcImM0XCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIENPTVBVVEU1ID0gXCJjb21wdXRlNVwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBDNSA9IFwiYzVcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIENPTVBVVEU1X05WTUVfRFJJVkUgPSBcImNvbXB1dGU1LW52bWUtZHJpdmVcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIEM1RCA9IFwiYzVkXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIENPTVBVVEU1X0FNRCA9IFwiY29tcHV0ZTUtYW1kXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIEM1QSA9IFwiYzVhXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyB3aXRoIGxvY2FsIE5WTUUgZHJpdmUgYmFzZWQgb24gQU1EIEVQWUMsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBDT01QVVRFNV9BTURfTlZNRV9EUklWRSA9IFwiY29tcHV0ZTUtYW1kLW52bWUtZHJpdmVcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSBiYXNlZCBvbiBBTUQgRVBZQywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIEM1QUQgPSBcImM1YWRcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIENPTVBVVEU1X0hJR0hfUEVSRk9STUFOQ0UgPSBcImNvbXB1dGU1LWhpZ2gtcGVyZm9ybWFuY2VcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIEM1TiA9IFwiYzVuXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcywgNnRoIGdlbmVyYXRpb25cbiAgICovXG4gIENPTVBVVEU2X0lOVEVMID0gXCJjb21wdXRlNi1pbnRlbFwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMsIDZ0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBDNkkgPSBcImM2aVwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgQ09NUFVURTZfSU5URUxfTlZNRV9EUklWRSA9IFwiY29tcHV0ZTYtaW50ZWwtbnZtZS1kcml2ZVwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgQzZJRCA9IFwiYzZpZFwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgQ09NUFVURTZfSU5URUxfSElHSF9QRVJGT1JNQU5DRSA9IFwiY29tcHV0ZTYtaW50ZWwtaGlnaC1wZXJmb3JtYW5jZVwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgQzZJTiA9IFwiYzZpblwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gQU1EIEVQWUMgKGNvZGVuYW1lIE1pbGFuKSwgNnRoIGdlbmVyYXRpb25cbiAgICovXG4gIENPTVBVVEU2X0FNRCA9IFwiY29tcHV0ZTYtYW1kXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQyAoY29kZW5hbWUgTWlsYW4pLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgQzZBID0gXCJjNmFcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNnRoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjIgcHJvY2Vzc29yc1xuICAgKi9cbiAgQ09NUFVURTZfR1JBVklUT04yID0gXCJjb21wdXRlNi1ncmF2aXRvbjJcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNnRoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjIgcHJvY2Vzc29yc1xuICAgKi9cbiAgQzZHID0gXCJjNmdcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgN3RoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjMgcHJvY2Vzc29yc1xuICAgKi9cbiAgQ09NUFVURTdfR1JBVklUT04zID0gXCJjb21wdXRlNy1ncmF2aXRvbjNcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgN3RoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjMgcHJvY2Vzc29yc1xuICAgKi9cbiAgQzdHID0gXCJjN2dcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgOHRoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjQgcHJvY2Vzc29yc1xuICAgKlxuICAgKiBUaGlzIGluc3RhbmNlIGNsYXNzIGlzIGN1cnJlbnRseSBvbmx5IGF2YWlsYWJsZSBpbiBVUyBFYXN0IChPaGlvKSwgVVMgRWFzdCAoTi4gVmlyZ2luaWEpLCBVUyBXZXN0IChPcmVnb24pLCBhbmQgRXVyb3BlIChGcmFua2Z1cnQpLlxuICAgKi9cbiAgQ09NUFVURThfR1JBVklUT040ID0gXCJjb21wdXRlOC1ncmF2aXRvbjRcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgOHRoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjQgcHJvY2Vzc29yc1xuICAgKlxuICAgKiBUaGlzIGluc3RhbmNlIGNsYXNzIGlzIGN1cnJlbnRseSBvbmx5IGF2YWlsYWJsZSBpbiBVUyBFYXN0IChPaGlvKSwgVVMgRWFzdCAoTi4gVmlyZ2luaWEpLCBVUyBXZXN0IChPcmVnb24pLCBhbmQgRXVyb3BlIChGcmFua2Z1cnQpLlxuICAgKi9cbiAgQzhHID0gXCJjOGdcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNnRoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjIgcHJvY2Vzc29yc1xuICAgKiBhbmQgbG9jYWwgTlZNRSBkcml2ZVxuICAgKi9cbiAgQ09NUFVURTZfR1JBVklUT04yX05WTUVfRFJJVkUgPSBcImNvbXB1dGU2LWdyYXZpdG9uMi1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcsIDZ0aCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24yIHByb2Nlc3NvcnNcbiAgICogYW5kIGxvY2FsIE5WTUUgZHJpdmVcbiAgICovXG4gIEM2R0QgPSBcImM2Z2RcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgN3RoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjMgcHJvY2Vzc29ycyBhbmQgbG9jYWwgTlZNRSBkcml2ZVxuICAgKlxuICAgKiBUaGlzIGluc3RhbmNlIGNsYXNzIGlzIGN1cnJlbnRseSBvbmx5IGF2YWlsYWJsZSBpbiBVUyBFYXN0IChPaGlvKSwgVVMgRWFzdCAoTi4gVmlyZ2luaWEpLCBVUyBXZXN0IChPcmVnb24pLCBhbmQgRXVyb3BlIChJcmVsYW5kKS5cbiAgICovXG4gIENPTVBVVEU3X0dSQVZJVE9OM19OVk1FX0RSSVZFID0gXCJjb21wdXRlNy1ncmF2aXRvbjMtbnZtZS1kcml2ZVwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nLCA3dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMyBwcm9jZXNzb3JzIGFuZCBsb2NhbCBOVk1FIGRyaXZlXG4gICAqXG4gICAqIFRoaXMgaW5zdGFuY2UgY2xhc3MgaXMgY3VycmVudGx5IG9ubHkgYXZhaWxhYmxlIGluIFVTIEVhc3QgKE9oaW8pLCBVUyBFYXN0IChOLiBWaXJnaW5pYSksIFVTIFdlc3QgKE9yZWdvbiksIGFuZCBFdXJvcGUgKElyZWxhbmQpLlxuICAgKi9cbiAgQzdHRCA9IFwiYzdnZFwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nLCA2dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMiBwcm9jZXNzb3JzXG4gICAqIGFuZCBoaWdoIG5ldHdvcmsgYmFuZHdpZHRoIGNhcGFiaWxpdGllc1xuICAgKi9cbiAgQ09NUFVURTZfR1JBVklUT04yX0hJR0hfTkVUV09SS19CQU5EV0lEVEggPSBcImNvbXB1dGU2LWdyYXZpdG9uMi1oaWdoLW5ldHdvcmstYmFuZHdpZHRoXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcsIDZ0aCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24yIHByb2Nlc3NvcnNcbiAgICogYW5kIGhpZ2ggbmV0d29yayBiYW5kd2lkdGggY2FwYWJpbGl0aWVzXG4gICAqL1xuICBDNkdOID0gXCJjNmduXCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcsIDd0aCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24zIHByb2Nlc3NvcnNcbiAgICogYW5kIGhpZ2ggbmV0d29yayBiYW5kd2lkdGggY2FwYWJpbGl0aWVzXG4gICAqL1xuICBDT01QVVRFN19HUkFWSVRPTjNfSElHSF9ORVRXT1JLX0JBTkRXSURUSCA9IFwiY29tcHV0ZTctZ3Jhdml0b24zLWhpZ2gtbmV0d29yay1iYW5kd2lkdGhcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgN3RoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjMgcHJvY2Vzc29yc1xuICAgKiBhbmQgaGlnaCBuZXR3b3JrIGJhbmR3aWR0aCBjYXBhYmlsaXRpZXNcbiAgICovXG4gIEM3R04gPSBcImM3Z25cIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGJhc2VkIG9uIEludGVsIFhlb24gU2NhbGFibGUgKFNhcHBoaXJlIFJhcGlkcykgcHJvY2Vzc29ycywgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIENPTVBVVEU3X0lOVEVMID0gXCJjb21wdXRlNy1pbnRlbFwiLFxuXG4gIC8qKlxuICAgKiBDb21wdXRlIG9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gSW50ZWwgWGVvbiBTY2FsYWJsZSAoU2FwcGhpcmUgUmFwaWRzKSBwcm9jZXNzb3JzLCA3dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgQzdJID0gXCJjN2lcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGJhc2VkIG9uIEludGVsIFhlb24gU2NhbGFibGUgKFNhcHBoaXJlIFJhcGlkcykgcHJvY2Vzc29ycywgN3RoIGdlbmVyYXRpb25cbiAgICogQzdpLWZsZXggaW5zdGFuY2VzIGVmZmljaWVudGx5IHVzZSBjb21wdXRlIHJlc291cmNlcyB0byBkZWxpdmVyIGEgYmFzZWxpbmUgbGV2ZWwgb2YgcGVyZm9ybWFuY2Ugd2l0aCB0aGUgYWJpbGl0eSB0byBzY2FsZSB1cCB0byB0aGUgZnVsbCBjb21wdXRlIHBlcmZvcm1hbmNlIGEgbWFqb3JpdHkgb2YgdGhlIHRpbWUuXG4gICAqL1xuICBDT01QVVRFN19JTlRFTF9GTEVYID0gXCJjb21wdXRlNy1pbnRlbC1mbGV4XCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIChTYXBwaGlyZSBSYXBpZHMpIHByb2Nlc3NvcnMsIDd0aCBnZW5lcmF0aW9uXG4gICAqIEM3aS1mbGV4IGluc3RhbmNlcyBlZmZpY2llbnRseSB1c2UgY29tcHV0ZSByZXNvdXJjZXMgdG8gZGVsaXZlciBhIGJhc2VsaW5lIGxldmVsIG9mIHBlcmZvcm1hbmNlIHdpdGggdGhlIGFiaWxpdHkgdG8gc2NhbGUgdXAgdG8gdGhlIGZ1bGwgY29tcHV0ZSBwZXJmb3JtYW5jZSBhIG1ham9yaXR5IG9mIHRoZSB0aW1lLlxuICAgKi9cbiAgQzdJX0ZMRVggPSBcImM3aS1mbGV4XCIsXG5cbiAgLyoqXG4gICAqIENvbXB1dGUgb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiA0dGggZ2VuZXJhdGlvbiBBTUQgRVBZQyAoY29kZW5hbWUgR2Vub2EpLCA3dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgQ09NUFVURTdfQU1EID0gXCJjb21wdXRlNy1hbWRcIixcblxuICAvKipcbiAgICogQ29tcHV0ZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIGJhc2VkIG9uIDR0aCBnZW5lcmF0aW9uIEFNRCBFUFlDIChjb2RlbmFtZSBHZW5vYSksIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBDN0EgPSBcImM3YVwiLFxuXG4gIC8qKlxuICAgKiBTdG9yYWdlLW9wdGltaXplZCBpbnN0YW5jZXMsIDJuZCBnZW5lcmF0aW9uXG4gICAqL1xuICBTVE9SQUdFMiA9IFwic3RvcmFnZTJcIixcblxuICAvKipcbiAgICogU3RvcmFnZS1vcHRpbWl6ZWQgaW5zdGFuY2VzLCAybmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgRDIgPSBcImQyXCIsXG5cbiAgLyoqXG4gICAqIFN0b3JhZ2Utb3B0aW1pemVkIGluc3RhbmNlcywgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIFNUT1JBR0UzID0gXCJzdG9yYWdlM1wiLFxuXG4gIC8qKlxuICAgKiBTdG9yYWdlLW9wdGltaXplZCBpbnN0YW5jZXMsIDNyZCBnZW5lcmF0aW9uXG4gICAqL1xuICBEMyA9IFwiZDNcIixcblxuICAvKipcbiAgICogU3RvcmFnZS1vcHRpbWl6ZWQgaW5zdGFuY2VzLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgU1RPUkFHRTNfRU5IQU5DRURfTkVUV09SSyA9IFwic3RvcmFnZTMtZW5oYW5jZWQtbmV0d29ya1wiLFxuXG4gIC8qKlxuICAgKiBTdG9yYWdlLW9wdGltaXplZCBpbnN0YW5jZXMsIDNyZCBnZW5lcmF0aW9uXG4gICAqL1xuICBEM0VOID0gXCJkM2VuXCIsXG5cbiAgLyoqXG4gICAqIFN0b3JhZ2UvY29tcHV0ZSBiYWxhbmNlZCBpbnN0YW5jZXMsIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBTVE9SQUdFX0NPTVBVVEVfMSA9IFwic3RvcmFnZS1jb21wdXRlLTFcIixcblxuICAvKipcbiAgICogU3RvcmFnZS9jb21wdXRlIGJhbGFuY2VkIGluc3RhbmNlcywgMXN0IGdlbmVyYXRpb25cbiAgICovXG4gIEgxID0gXCJoMVwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBwb3dlcmVkIGJ5IEFXUyBUcmFpbml1bVxuICAgKi9cbiAgVFJBSU5JTkdfQUNDRUxFUkFUT1IxID0gXCJ0cmFpbmluZy1hY2NlbGVyYXRvcjFcIixcblxuICAvKipcbiAgICogSGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcgcG93ZXJlZCBieSBBV1MgVHJhaW5pdW1cbiAgICovXG4gIFRSTjEgPSBcInRybjFcIixcblxuICAvKipcbiAgICogTmV0d29yay1vcHRpbWl6ZWQgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcgcG93ZXJlZCBieSBBV1MgVHJhaW5pdW1cbiAgICovXG4gIFRSQUlOSU5HX0FDQ0VMRVJBVE9SMV9FTkhBTkNFRF9ORVRXT1JLID0gXCJ0cmFpbmluZy1hY2NlbGVyYXRvcjEtZW5oYW5jZWQtbmV0d29ya1wiLFxuXG4gIC8qKlxuICAgKiBOZXR3b3JrLW9wdGltaXplZCBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBwb3dlcmVkIGJ5IEFXUyBUcmFpbml1bVxuICAgKi9cbiAgVFJOMU4gPSBcInRybjFuXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nIHBvd2VyZWQgYnkgQVdTIFRyYWluaXVtMiwgMm5kIGdlbmVyYXRpb25cbiAgICovXG4gIFRSQUlOSU5HX0FDQ0VMRVJBVE9SMiA9IFwidHJhaW5pbmctYWNjZWxlcmF0b3IyXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nIHBvd2VyZWQgYnkgQVdTIFRyYWluaXVtMiwgMm5kIGdlbmVyYXRpb25cbiAgICovXG4gIFRSTjIgPSBcInRybjJcIixcblxuICAvKipcbiAgICogSGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcgcG93ZXJlZCBieSBBV1MgVHJhaW5pdW0yIGFuZCBFQzIgVWx0cmEgU2VydmVycywgMm5kIGdlbmVyYXRpb25cbiAgICogVWx0cmFTZXJ2ZXJzIGNvbm5lY3QgbXVsdGlwbGUgRUMyIGluc3RhbmNlcyB1c2luZyBhIGRlZGljYXRlZCwgaGlnaC1iYW5kd2lkdGgsIGxvdy1sYXRlbmN5IGFjY2VsZXJhdG9yIGludGVyY29ubmVjdFxuICAgKi9cbiAgVFJBSU5JTkdfQUNDRUxFUkFUT1IyX1VMVFJBU0VSVkVSID0gXCJ0cmFpbmluZy1hY2NlbGVyYXRvcjItdWx0cmFzZXJ2ZXJcIixcblxuICAvKipcbiAgICogSGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcgcG93ZXJlZCBieSBBV1MgVHJhaW5pdW0yIGFuZCBFQzIgVWx0cmEgU2VydmVycywgMm5kIGdlbmVyYXRpb25cbiAgICogVWx0cmFTZXJ2ZXJzIGNvbm5lY3QgbXVsdGlwbGUgRUMyIGluc3RhbmNlcyB1c2luZyBhIGRlZGljYXRlZCwgaGlnaC1iYW5kd2lkdGgsIGxvdy1sYXRlbmN5IGFjY2VsZXJhdG9yIGludGVyY29ubmVjdFxuICAgKi9cbiAgVFJOMlUgPSBcInRybjJ1XCIsXG5cbiAgLyoqXG4gICAqIEkvTy1vcHRpbWl6ZWQgaW5zdGFuY2VzLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgSU8zID0gXCJpbzNcIixcblxuICAvKipcbiAgICogSS9PLW9wdGltaXplZCBpbnN0YW5jZXMsIDNyZCBnZW5lcmF0aW9uXG4gICAqL1xuICBJMyA9IFwiaTNcIixcblxuICAvKipcbiAgICogSS9PLW9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgSU8zX0RFTlNFX05WTUVfRFJJVkUgPSBcImlvMy1kZW5zZS1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIEkvTy1vcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIEkzRU4gPSBcImkzZW5cIixcblxuICAvKipcbiAgICogSS9PLW9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlIHBvd2VyZWQgYnkgSW50ZWwgWGVvbiBTY2FsYWJsZSBwcm9jZXNzb3JzIChjb2RlIG5hbWVkIEljZSBMYWtlKSwgNHRoIGdlbmVyYXRpb25cbiAgICovXG4gIElPNF9JTlRFTCA9IFwiaW80X2ludGVsXCIsXG5cbiAgLyoqXG4gICAqIEkvTy1vcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSBwb3dlcmVkIGJ5IEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoY29kZSBuYW1lZCBJY2UgTGFrZSksIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBJNEkgPSBcImk0aVwiLFxuXG4gIC8qKlxuICAgKiBTdG9yYWdlIG9wdGltaXplZCBpbnN0YW5jZXMgcG93ZXJlZCBieSBHcmF2aXRvbjIgcHJvY2Vzc29yLCA0dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgU1RPUkFHRTRfR1JBVklUT04gPSBcInN0b3JhZ2U0X2dyYXZpdG9uXCIsXG5cbiAgLyoqXG4gICAqIFN0b3JhZ2Ugb3B0aW1pemVkIGluc3RhbmNlcyBwb3dlcmVkIGJ5IEdyYXZpdG9uMiBwcm9jZXNzb3IsIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBJNEcgPSBcImk0Z1wiLFxuXG4gIC8qKlxuICAgKiBTdG9yYWdlIG9wdGltaXplZCBpbnN0YW5jZXMgcG93ZXJlZCBieSBHcmF2aXRvbjIgcHJvY2Vzc29yLCA0dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgU1RPUkFHRTRfR1JBVklUT05fTkVUV09SS19PUFRJTUlaRUQgPSBcInN0b3JhZ2U0LWdyYXZpdG9uLW5ldHdvcmstb3B0aW1pemVkXCIsXG5cbiAgLyoqXG4gICAqIFN0b3JhZ2Ugb3B0aW1pemVkIGluc3RhbmNlcyBwb3dlcmVkIGJ5IEdyYXZpdG9uMiBwcm9jZXNzb3IsIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBJTTRHTiA9IFwiaW00Z25cIixcblxuICAvKipcbiAgICogU3RvcmFnZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHBvd2VyZWQgYnkgR3Jhdml0b24yIHByb2Nlc3NvciwgNHRoIGdlbmVyYXRpb25cbiAgICovXG4gIFNUT1JBR0U0X0dSQVZJVE9OX05FVFdPUktfU1RPUkFHRV9PUFRJTUlaRUQgPSBcInN0b3JhZ2U0LWdyYXZpdG9uLW5ldHdvcmstc3RvcmFnZS1vcHRpbWl6ZWRcIixcblxuICAvKipcbiAgICogU3RvcmFnZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHBvd2VyZWQgYnkgR3Jhdml0b24yIHByb2Nlc3NvciwgNHRoIGdlbmVyYXRpb25cbiAgICovXG4gIElTNEdFTiA9IFwiaXM0Z2VuXCIsXG5cbiAgLyoqXG4gICAqIFN0b3JhZ2Ugb3B0aW1pemVkIGluc3RhbmNlcyBwb3dlcmVkIGJ5IDV0aCBnZW5lcmF0aW9uIEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycywgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIFNUT1JBR0U3X0lOVEVMX1NUT1JBR0VfT1BUSU1JWkVEID0gXCJzdG9yYWdlNy1pbnRlbC1zdG9yYWdlLW9wdGltaXplZFwiLFxuXG4gIC8qKlxuICAgKiBTdG9yYWdlIG9wdGltaXplZCBpbnN0YW5jZXMgcG93ZXJlZCBieSA1dGggZ2VuZXJhdGlvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIHByb2Nlc3NvcnMsIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBJN0lFID0gXCJpN2llXCIsXG5cbiAgLyoqXG4gICAqIFN0b3JhZ2Ugb3B0aW1pemVkIGluc3RhbmNlcyBwb3dlcmVkIGJ5IEdyYXZpdG9uNCBwcm9jZXNzb3IsIDh0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBTVE9SQUdFOF9HUkFWSVRPTiA9IFwic3RvcmFnZTgtZ3Jhdml0b25cIixcblxuICAvKipcbiAgICogU3RvcmFnZSBvcHRpbWl6ZWQgaW5zdGFuY2VzIHBvd2VyZWQgYnkgR3Jhdml0b240IHByb2Nlc3NvciwgOHRoIGdlbmVyYXRpb25cbiAgICovXG4gIEk4RyA9IFwiaThnXCIsXG5cbiAgLyoqXG4gICAqIEJ1cnN0YWJsZSBpbnN0YW5jZXMsIDJuZCBnZW5lcmF0aW9uXG4gICAqL1xuICBCVVJTVEFCTEUyID0gXCJidXJzdGFibGUyXCIsXG5cbiAgLyoqXG4gICAqIEJ1cnN0YWJsZSBpbnN0YW5jZXMsIDJuZCBnZW5lcmF0aW9uXG4gICAqL1xuICBUMiA9IFwidDJcIixcblxuICAvKipcbiAgICogQnVyc3RhYmxlIGluc3RhbmNlcywgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIEJVUlNUQUJMRTMgPSBcImJ1cnN0YWJsZTNcIixcblxuICAvKipcbiAgICogQnVyc3RhYmxlIGluc3RhbmNlcywgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIFQzID0gXCJ0M1wiLFxuXG4gIC8qKlxuICAgKiBCdXJzdGFibGUgaW5zdGFuY2VzIGJhc2VkIG9uIEFNRCBFUFlDLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgQlVSU1RBQkxFM19BTUQgPSBcImJ1cnN0YWJsZTMtYW1kXCIsXG5cbiAgLyoqXG4gICAqIEJ1cnN0YWJsZSBpbnN0YW5jZXMgYmFzZWQgb24gQU1EIEVQWUMsIDNyZCBnZW5lcmF0aW9uXG4gICAqL1xuICBUM0EgPSBcInQzYVwiLFxuXG4gIC8qKlxuICAgKiBCdXJzdGFibGUgaW5zdGFuY2VzLCA0dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMiBwcm9jZXNzb3JzXG4gICAqL1xuICBCVVJTVEFCTEU0X0dSQVZJVE9OID0gXCJidXJzdGFibGU0LWdyYXZpdG9uXCIsXG5cbiAgLyoqXG4gICAqIEJ1cnN0YWJsZSBpbnN0YW5jZXMsIDR0aCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24yIHByb2Nlc3NvcnNcbiAgICovXG4gIFQ0RyA9IFwidDRnXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeS1pbnRlbnNpdmUgaW5zdGFuY2VzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgTUVNT1JZX0lOVEVOU0lWRV8xID0gXCJtZW1vcnktaW50ZW5zaXZlLTFcIixcblxuICAvKipcbiAgICogTWVtb3J5LWludGVuc2l2ZSBpbnN0YW5jZXMsIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBYMSA9IFwieDFcIixcblxuICAvKipcbiAgICogTWVtb3J5LWludGVuc2l2ZSBpbnN0YW5jZXMsIGV4dGVuZGVkLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgTUVNT1JZX0lOVEVOU0lWRV8xX0VYVEVOREVEID0gXCJtZW1vcnktaW50ZW5zaXZlLTEtZXh0ZW5kZWRcIixcblxuICAvKipcbiAgICogTWVtb3J5LWludGVuc2l2ZSBpbnN0YW5jZXMsIGV4dGVuZGVkLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgWDFFID0gXCJ4MWVcIixcblxuICAvKipcbiAgICogTWVtb3J5LWludGVuc2l2ZSBpbnN0YW5jZXMsIDJuZCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24yIHByb2Nlc3NvcnNcbiAgICpcbiAgICogVGhpcyBpbnN0YW5jZSB0eXBlIGNhbiBiZSB1c2VkIG9ubHkgaW4gUkRTLiBJdCBpcyBub3Qgc3VwcG9ydGVkIGluIEVDMi5cbiAgICovXG4gIE1FTU9SWV9JTlRFTlNJVkVfMl9HUkFWSVRPTjIgPSBcIm1lbW9yeS1pbnRlbnNpdmUtMi1ncmF2aXRvbjJcIixcblxuICAvKipcbiAgICogTWVtb3J5LWludGVuc2l2ZSBpbnN0YW5jZXMsIDJuZCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24yIHByb2Nlc3NvcnNcbiAgICpcbiAgICogVGhpcyBpbnN0YW5jZSB0eXBlIGNhbiBiZSB1c2VkIG9ubHkgaW4gUkRTLiBJdCBpcyBub3Qgc3VwcG9ydGVkIGluIEVDMi5cbiAgICovXG4gIFgyRyA9IFwieDJnXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeS1pbnRlbnNpdmUgaW5zdGFuY2VzLCAybmQgZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMiBwcm9jZXNzb3JzIGFuZCBsb2NhbCBOVk1FIGRyaXZlXG4gICAqL1xuICBNRU1PUllfSU5URU5TSVZFXzJfR1JBVklUT04yX05WTUVfRFJJVkUgPSBcIm1lbW9yeS1pbnRlbnNpdmUtMi1ncmF2aXRvbjItbnZtZS1kcml2ZVwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnktaW50ZW5zaXZlIGluc3RhbmNlcywgMm5kIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjIgcHJvY2Vzc29ycyBhbmQgbG9jYWwgTlZNRSBkcml2ZVxuICAgKi9cbiAgWDJHRCA9IFwieDJnZFwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnktaW50ZW5zaXZlIGluc3RhbmNlcyB3aXRoIGhpZ2hlciBuZXR3b3JrIGJhbmR3aXRoLCBsb2NhbCBOVk1FIGRyaXZlLCBhbmQgZXh0ZW5kZWQgbWVtb3J5LiBJbnRlbCBYZW9uIFNjYWxhYmxlIChJY2UgTGFrZSkgcHJvY2Vzc29yc1xuICAgKi9cbiAgTUVNT1JZX0lOVEVOU0lWRV8yX1hUX0lOVEVMID0gXCJtZW1vcnlfaW50ZW5zaXZlXzJfeHRfaW50ZWxcIixcblxuICAvKipcbiAgICogTWVtb3J5LWludGVuc2l2ZSBpbnN0YW5jZXMgd2l0aCBoaWdoZXIgbmV0d29yayBiYW5kd2l0aCwgbG9jYWwgTlZNRSBkcml2ZSwgYW5kIGV4dGVuZGVkIG1lbW9yeS4gSW50ZWwgWGVvbiBTY2FsYWJsZSAoSWNlIExha2UpIHByb2Nlc3NvcnNcbiAgICovXG4gIFgySUVETiA9IFwieDJpZWRuXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeS1pbnRlbnNpdmUgaW5zdGFuY2VzIHdpdGggaGlnaGVyIG5ldHdvcmsgYmFuZHdpdGggYW5kIGxvY2FsIE5WTUUgZHJpdmUsIEludGVsIFhlb24gU2NhbGFibGUgKEljZSBMYWtlKSBwcm9jZXNzb3JzXG4gICAqL1xuICBNRU1PUllfSU5URU5TSVZFXzJfSU5URUwgPSBcIm1lbW9yeV9pbnRlbnNpdmVfMl9pbnRlbFwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnktaW50ZW5zaXZlIGluc3RhbmNlcyB3aXRoIGhpZ2hlciBuZXR3b3JrIGJhbmR3aXRoIGFuZCBsb2NhbCBOVk1FIGRyaXZlLCBJbnRlbCBYZW9uIFNjYWxhYmxlIChJY2UgTGFrZSkgcHJvY2Vzc29yc1xuICAgKi9cbiAgWDJJRE4gPSBcIngyaWRuXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeS1pbnRlbnNpdmUgaW5zdGFuY2VzIHdpdGggaGlnaGVyIG5ldHdvcmsgYmFuZHdpdGggYW5kIHNpbmdsZS10aHJlYWRlZCBwZXJmb3JtYW5jZSwgSW50ZWwgWGVvbiBTY2FsYWJsZSAoQ2FzY2FkZSBMYWtlKSBwcm9jZXNzb3JzXG4gICAqL1xuICBNRU1PUllfSU5URU5TSVZFXzJfWFRaX0lOVEVMID0gXCJtZW1vcnlfaW50ZW5zaXZlXzJfeHR6X2ludGVsXCIsXG5cbiAgLyoqXG4gICAqIE1lbW9yeS1pbnRlbnNpdmUgaW5zdGFuY2VzIHdpdGggaGlnaGVyIG5ldHdvcmsgYmFuZHdpdGggYW5kIHNpbmdsZS10aHJlYWRlZCBwZXJmb3JtYW5jZSwgSW50ZWwgWGVvbiBTY2FsYWJsZSAoQ2FzY2FkZSBMYWtlKSBwcm9jZXNzb3JzXG4gICAqL1xuICBYMklFWk4gPSBcIngyaWV6blwiLFxuXG4gIC8qKlxuICAgKiBNZW1vcnktaW50ZW5zaXZlIGluc3RhbmNlcyBwb3dlcmVkIGJ5IEdyYXZpdG9uNCBwcm9jZXNzb3JzLCA4dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgTUVNT1JZX0lOVEVOU0lWRV84X0dSQVZJVE9OID0gXCJtZW1vcnktaW50ZW5zaXZlLTgtZ3Jhdml0b25cIixcblxuICAvKipcbiAgICogTWVtb3J5LWludGVuc2l2ZSBpbnN0YW5jZXMgcG93ZXJlZCBieSBHcmF2aXRvbjQgcHJvY2Vzc29ycywgOHRoIGdlbmVyYXRpb25cbiAgICovXG4gIFg4RyA9IFwieDhnXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlcyB3aXRoIGN1c3RvbWl6YWJsZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24sIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBGUEdBMSA9IFwiZnBnYTFcIixcblxuICAvKipcbiAgICogSW5zdGFuY2VzIHdpdGggY3VzdG9taXphYmxlIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiwgMXN0IGdlbmVyYXRpb25cbiAgICovXG4gIEYxID0gXCJmMVwiLFxuXG4gIC8qKlxuICAgKiBJbnN0YW5jZXMgd2l0aCBjdXN0b21pemFibGUgaGFyZHdhcmUgYWNjZWxlcmF0aW9uLCAybmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgRlBHQTIgPSBcImZwZ2EyXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlcyB3aXRoIGN1c3RvbWl6YWJsZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24sIDJuZCBnZW5lcmF0aW9uXG4gICAqL1xuICBGMiA9IFwiZjJcIixcblxuICAvKipcbiAgICogR3JhcGhpY3Mtb3B0aW1pemVkIGluc3RhbmNlcywgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIEdSQVBISUNTM19TTUFMTCA9IFwiZ3JhcGhpY3MzLXNtYWxsXCIsXG5cbiAgLyoqXG4gICAqIEdyYXBoaWNzLW9wdGltaXplZCBpbnN0YW5jZXMsIDNyZCBnZW5lcmF0aW9uXG4gICAqL1xuICBHM1MgPSBcImczc1wiLFxuXG4gIC8qKlxuICAgKiBHcmFwaGljcy1vcHRpbWl6ZWQgaW5zdGFuY2VzLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgR1JBUEhJQ1MzID0gXCJncmFwaGljczNcIixcblxuICAvKipcbiAgICogR3JhcGhpY3Mtb3B0aW1pemVkIGluc3RhbmNlcywgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIEczID0gXCJnM1wiLFxuXG4gIC8qKlxuICAgKiBHcmFwaGljcy1vcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggTlZNRSBkcml2ZSBmb3IgaGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcsIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBHUkFQSElDUzRfTlZNRV9EUklWRV9ISUdIX1BFUkZPUk1BTkNFID0gXCJncmFwaGljczQtbnZtZS1kcml2ZS1oaWdoLXBlcmZvcm1hbmNlXCIsXG5cbiAgLyoqXG4gICAqIEdyYXBoaWNzLW9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBOVk1FIGRyaXZlIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgNHRoIGdlbmVyYXRpb25cbiAgICovXG4gIEc0RE4gPSBcImc0ZG5cIixcblxuICAvKipcbiAgICogR3JhcGhpY3Mtb3B0aW1pemVkIGluc3RhbmNlcyBiYXNlZCBvbiBBTUQgRVBZQyBBbmQgUmFkZW9uIFBybyBHUFUgKE5BVkkpIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgNHRoIGdlbmVyYXRpb25cbiAgICovXG4gIEdSQVBISUNTNF9BTURfTlZNRV9EUklWRSA9IFwiZ3JhcGhpY3M0LWFtZC1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIEdyYXBoaWNzLW9wdGltaXplZCBpbnN0YW5jZXMgYmFzZWQgb24gQU1EIEVQWUMgQW5kIFJhZGVvbiBQcm8gR1BVIChOQVZJKSB3aXRoIGxvY2FsIE5WTUUgZHJpdmUsIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBHNEFEID0gXCJnNGFkXCIsXG5cbiAgLyoqXG4gICAqIEdyYXBoaWNzLW9wdGltaXplZCBpbnN0YW5jZXMsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBHUkFQSElDUzUgPSBcImdyYXBoaWNzNVwiLFxuXG4gIC8qKlxuICAgKiBHcmFwaGljcy1vcHRpbWl6ZWQgaW5zdGFuY2VzLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgRzUgPSBcImc1XCIsXG5cbiAgLyoqXG4gICAqIEdyYXBoaWNzLW9wdGltaXplZCBpbnN0YW5jZXMgcG93ZXJlZCBieSBBV1MgR3Jhdml0b24yIFByb2Nlc3NvcnMgYW5kIE5WSURJQSBUNEcgVGVuc29yIENvcmUgR1BVcywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIEdSQVBISUNTNV9HUkFWSVRPTjIgPSBcImdyYXBoaWNzNS1ncmF2aXRvbjJcIixcblxuICAvKipcbiAgICogR3JhcGhpY3Mtb3B0aW1pemVkIGluc3RhbmNlcyBwb3dlcmVkIGJ5IEFXUyBHcmF2aXRvbjIgUHJvY2Vzc29ycyBhbmQgTlZJRElBIFQ0RyBUZW5zb3IgQ29yZSBHUFVzLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgRzVHID0gXCJnNWdcIixcblxuICAvKipcbiAgICogR3JhcGhpY3Mtb3B0aW1pemVkIGluc3RhbmNlcywgNnRoIGdlbmVyYXRpb25cbiAgICovXG4gIEdSQVBISUNTNiA9IFwiZ3JhcGhpY3M2XCIsXG5cbiAgLyoqXG4gICAqIEdyYXBoaWNzLW9wdGltaXplZCBpbnN0YW5jZXMsIDZ0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBHNiA9IFwiZzZcIixcblxuICAvKipcbiAgICogQ29zdC1lZmZpY2llbnQgR1BVLWJhc2VkIGluc3RhbmNlcyBmb3IgQUkgaW5mZXJlbmNlIGFuZCBzcGF0aWFsIGNvbXB1dGluZyB3b3JrbG9hZHMsIDZ0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBHUkFQSElDUzZfRUZGSUNJRU5UID0gXCJncmFwaGljczYtZWZmaWNpZW50XCIsXG5cbiAgLyoqXG4gICAqIENvc3QtZWZmaWNpZW50IEdQVS1iYXNlZCBpbnN0YW5jZXMgZm9yIEFJIGluZmVyZW5jZSBhbmQgc3BhdGlhbCBjb21wdXRpbmcgd29ya2xvYWRzLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgRzZFID0gXCJnNmVcIixcblxuICAvKipcbiAgICogR3JhcGhpY3Mtb3B0aW1pemVkIGluc3RhbmNlcywgNnRoIGdlbmVyYXRpb25cbiAgICogR3I2IGluc3RhbmNlcyBvZmZlciBhIDE6OCB2Q1BVIHRvIFJBTSByYXRpbywgbWFraW5nIHRoZW0gYmV0dGVyIHN1aXRlZCBmb3IgZ3JhcGhpY3Mgd29ya2xvYWRzIHdpdGggaGlnaGVyIG1lbW9yeSByZXF1aXJlbWVudHMuXG4gICAqL1xuICBHUkFQSElDU19SQU1fNiA9IFwiZ3JhcGhpY3MtcmFtLTZcIixcblxuICAvKipcbiAgICogR3JhcGhpY3Mtb3B0aW1pemVkIGluc3RhbmNlcywgNnRoIGdlbmVyYXRpb25cbiAgICogR3I2IGluc3RhbmNlcyBvZmZlciBhIDE6OCB2Q1BVIHRvIFJBTSByYXRpbywgbWFraW5nIHRoZW0gYmV0dGVyIHN1aXRlZCBmb3IgZ3JhcGhpY3Mgd29ya2xvYWRzIHdpdGggaGlnaGVyIG1lbW9yeSByZXF1aXJlbWVudHMuXG4gICAqL1xuICBHUjYgPSBcImdyNlwiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMsIDJuZCBnZW5lcmF0aW9uXG4gICAqL1xuICBQQVJBTExFTDIgPSBcInBhcmFsbGVsMlwiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMsIDJuZCBnZW5lcmF0aW9uXG4gICAqL1xuICBQMiA9IFwicDJcIixcblxuICAvKipcbiAgICogUGFyYWxsZWwtcHJvY2Vzc2luZyBvcHRpbWl6ZWQgaW5zdGFuY2VzLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgUEFSQUxMRUwzID0gXCJwYXJhbGxlbDNcIixcblxuICAvKipcbiAgICogUGFyYWxsZWwtcHJvY2Vzc2luZyBvcHRpbWl6ZWQgaW5zdGFuY2VzLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgUDMgPSBcInAzXCIsXG5cbiAgLyoqXG4gICAqIFBhcmFsbGVsLXByb2Nlc3Npbmcgb3B0aW1pemVkIGluc3RhbmNlcyB3aXRoIGxvY2FsIE5WTUUgZHJpdmUgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nLCAzcmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgUEFSQUxMRUwzX05WTUVfRFJJVkVfSElHSF9QRVJGT1JNQU5DRSA9IFwicGFyYWxsZWwzLW52bWUtZHJpdmUtaGlnaC1wZXJmb3JtYW5jZVwiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZywgM3JkIGdlbmVyYXRpb25cbiAgICovXG4gIFAzRE4gPSBcInAzZG5cIixcblxuICAvKipcbiAgICogUGFyYWxsZWwtcHJvY2Vzc2luZyBvcHRpbWl6ZWQgaW5zdGFuY2VzIHdpdGggbG9jYWwgTlZNRSBkcml2ZSwgZXh0ZW5kZWQsIDR0aCBnZW5lcmF0aW9uIChpbiBkZXZlbG9wZXIgcHJldmlldylcbiAgICovXG4gIFBBUkFMTEVMNF9OVk1FX0RSSVZFX0VYVEVOREVEID0gXCJwYXJhbGxlbDQtbnZtZS1kcml2ZS1leHRlbmRlZFwiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlLCBleHRlbmRlZCwgNHRoIGdlbmVyYXRpb24gKGluIGRldmVsb3BlciBwcmV2aWV3KVxuICAgKi9cbiAgUDRERSA9IFwicDRkZVwiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMsIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBQQVJBTExFTDQgPSBcInBhcmFsbGVsNFwiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMsIDR0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBQNEQgPSBcInA0ZFwiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMgcG93ZXJlZCBieSBOVklESUEgSDEwMCBUZW5zb3IgQ29yZSBHUFVzLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgUEFSQUxMRUw1ID0gXCJwYXJhbGxlbDVcIixcblxuICAvKipcbiAgICogUGFyYWxsZWwtcHJvY2Vzc2luZyBvcHRpbWl6ZWQgaW5zdGFuY2VzIHBvd2VyZWQgYnkgTlZJRElBIEgxMDAgVGVuc29yIENvcmUgR1BVcywgNXRoIGdlbmVyYXRpb25cbiAgICovXG4gIFA1ID0gXCJwNVwiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMgcG93ZXJlZCBieSBOVklESUEgSDIwMCBUZW5zb3IgQ29yZSBHUFVzLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgUEFSQUxMRUw1X0VYVEVOREVEID0gXCJwYXJhbGxlbDUtZXh0ZW5kZWRcIixcblxuICAvKipcbiAgICogUGFyYWxsZWwtcHJvY2Vzc2luZyBvcHRpbWl6ZWQgaW5zdGFuY2VzLCA1dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgUDVFID0gXCJwNWVcIixcblxuICAvKipcbiAgICogUGFyYWxsZWwtcHJvY2Vzc2luZywgbmV0d29yay1vcHRpbWl6ZWQgaW5zdGFuY2VzIHBvd2VyZWQgYnkgTlZJRElBIEgyMDAgVGVuc29yIENvcmUgR1BVcywgNXRoIGdlbmVyYXRpb25cbiAgICogUDVlbiBpbnN0YW5jZXMgcGFpciBOVklESUEgSDIwMCBUZW5zb3IgQ29yZSBHUFVzIHdpdGggSW50ZWwgU2FwcGhpcmUgUmFwaWRzIENQVSwgZW5hYmxpbmcgR2VuNSBQQ0llIGJldHdlZW4gQ1BVIGFuZCBHUFVcbiAgICovXG4gIFBBUkFMTEVMNV9FWFRFTkRFRF9ORVRXT1JLID0gXCJwYXJhbGxlbDUtZXh0ZW5kZWQtbmV0d29ya1wiLFxuXG4gIC8qKlxuICAgKiBQYXJhbGxlbC1wcm9jZXNzaW5nIG9wdGltaXplZCBpbnN0YW5jZXMsIDV0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBQNUVOID0gXCJwNWVuXCIsXG5cbiAgLyoqXG4gICAqIEFybSBwcm9jZXNzb3IgYmFzZWQgaW5zdGFuY2VzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgQVJNMSA9IFwiYXJtMVwiLFxuXG4gIC8qKlxuICAgKiBBcm0gcHJvY2Vzc29yIGJhc2VkIGluc3RhbmNlcywgMXN0IGdlbmVyYXRpb25cbiAgICovXG4gIEExID0gXCJhMVwiLFxuXG4gIC8qKlxuICAgKiBBcm0gcHJvY2Vzc29yIGJhc2VkIGluc3RhbmNlcywgMm5kIGdlbmVyYXRpb25cbiAgICovXG4gIFNUQU5EQVJENl9HUkFWSVRPTiA9IFwic3RhbmRhcmQ2LWdyYXZpdG9uXCIsXG5cbiAgLyoqXG4gICAqIEFybSBwcm9jZXNzb3IgYmFzZWQgaW5zdGFuY2VzLCAybmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgTTZHID0gXCJtNmdcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzIGJhc2VkIG9uIEludGVsIChJY2UgTGFrZSksIDZ0aCBnZW5lcmF0aW9uLlxuICAgKi9cbiAgU1RBTkRBUkQ2X0lOVEVMID0gXCJzdGFuZGFyZDYtaW50ZWxcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzIGJhc2VkIG9uIEludGVsIChJY2UgTGFrZSksIDZ0aCBnZW5lcmF0aW9uLlxuICAgKi9cbiAgTTZJID0gXCJtNmlcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzIGJhc2VkIG9uIEludGVsIChJY2UgTGFrZSkgd2l0aCBsb2NhbCBOVk1FIGRyaXZlLCA2dGggZ2VuZXJhdGlvbi5cbiAgICovXG4gIFNUQU5EQVJENl9JTlRFTF9OVk1FX0RSSVZFID0gXCJzdGFuZGFyZDYtaW50ZWwtbnZtZS1kcml2ZVwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgYmFzZWQgb24gSW50ZWwgKEljZSBMYWtlKSB3aXRoIGxvY2FsIE5WTUUgZHJpdmUsIDZ0aCBnZW5lcmF0aW9uLlxuICAgKi9cbiAgTTZJRCA9IFwibTZpZFwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgZm9yIGhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nIHBvd2VyZWQgYnkgSW50ZWwgWGVvbiBTY2FsYWJsZSBwcm9jZXNzb3JzIChjb2RlIG5hbWVkIEljZSBMYWtlKSwgNnRoIGdlbmVyYXRpb24uXG4gICAqL1xuICBTVEFOREFSRDZfSU5URUxfSElHSF9QRVJGT1JNQU5DRSA9IFwic3RhbmRhcmQ2LWludGVsLWhpZ2gtcGVyZm9ybWFuY2VcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBwb3dlcmVkIGJ5IEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoY29kZSBuYW1lZCBJY2UgTGFrZSksIDZ0aCBnZW5lcmF0aW9uLlxuICAgKi9cbiAgTTZJTiA9IFwibTZpblwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBwb3dlcmVkIGJ5IEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoY29kZSBuYW1lZCBJY2UgTGFrZSksIDZ0aCBnZW5lcmF0aW9uLlxuICAgKi9cbiAgU1RBTkRBUkQ2X0lOVEVMX05WTUVfRFJJVkVfSElHSF9QRVJGT1JNQU5DRSA9IFwic3RhbmRhcmQ2LWludGVsLW52bWUtZHJpdmUtaGlnaC1wZXJmb3JtYW5jZVwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgd2l0aCBsb2NhbCBOVk1FIGRyaXZlIGZvciBoaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBwb3dlcmVkIGJ5IEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoY29kZSBuYW1lZCBJY2UgTGFrZSksIDZ0aCBnZW5lcmF0aW9uLlxuICAgKi9cbiAgTTZJRE4gPSBcIm02aWRuXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyBiYXNlZCBvbiAzcmQgR2VuIEFNRCBFUFlDIHByb2Nlc3NvcnMsIDZ0aCBnZW5lcmF0aW9uLlxuICAgKi9cbiAgU1RBTkRBUkQ2X0FNRCA9IFwic3RhbmRhcmQ2LWFtZFwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMgYmFzZWQgb24gM3JkIEdlbiBBTUQgRVBZQyBwcm9jZXNzb3JzLCA2dGggZ2VuZXJhdGlvbi5cbiAgICovXG4gIE02QSA9IFwibTZhXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcywgNnRoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjIgcHJvY2Vzc29ycyBhbmQgbG9jYWwgTlZNRSBkcml2ZVxuICAgKi9cbiAgU1RBTkRBUkQ2X0dSQVZJVE9OMl9OVk1FX0RSSVZFID0gXCJzdGFuZGFyZDYtZ3Jhdml0b24yLW52bWUtZHJpdmVcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzLCA2dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uMiBwcm9jZXNzb3JzIGFuZCBsb2NhbCBOVk1FIGRyaXZlXG4gICAqL1xuICBNNkdEID0gXCJtNmdkXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcywgN3RoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjMgcHJvY2Vzc29yc1xuICAgKlxuICAgKiBUaGlzIGluc3RhbmNlIGNsYXNzIGlzIGN1cnJlbnRseSBvbmx5IGF2YWlsYWJsZSBpbiBVUyBFYXN0IChPaGlvKSwgVVMgRWFzdCAoTi4gVmlyZ2luaWEpLCBVUyBXZXN0IChPcmVnb24pLCBhbmQgRXVyb3BlIChJcmVsYW5kKS5cbiAgICovXG4gIFNUQU5EQVJEN19HUkFWSVRPTiA9IFwic3RhbmRhcmQ3LWdyYXZpdG9uXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcywgN3RoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjMgcHJvY2Vzc29yc1xuICAgKlxuICAgKiBUaGlzIGluc3RhbmNlIGNsYXNzIGlzIGN1cnJlbnRseSBvbmx5IGF2YWlsYWJsZSBpbiBVUyBFYXN0IChPaGlvKSwgVVMgRWFzdCAoTi4gVmlyZ2luaWEpLCBVUyBXZXN0IChPcmVnb24pLCBhbmQgRXVyb3BlIChJcmVsYW5kKS5cbiAgICovXG4gIE03RyA9IFwibTdnXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcywgOHRoIGdlbmVyYXRpb24gd2l0aCBHcmF2aXRvbjQgcHJvY2Vzc29yc1xuICAgKlxuICAgKiBUaGlzIGluc3RhbmNlIGNsYXNzIGlzIGN1cnJlbnRseSBvbmx5IGF2YWlsYWJsZSBpbiBVUyBFYXN0IChPaGlvKSwgVVMgRWFzdCAoTi4gVmlyZ2luaWEpLCBVUyBXZXN0IChPcmVnb24pLCBhbmQgRXVyb3BlIChGcmFua2Z1cnQpLlxuICAgKi9cbiAgU1RBTkRBUkQ4X0dSQVZJVE9OID0gXCJzdGFuZGFyZDgtZ3Jhdml0b25cIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzLCA4dGggZ2VuZXJhdGlvbiB3aXRoIEdyYXZpdG9uNCBwcm9jZXNzb3JzXG4gICAqXG4gICAqIFRoaXMgaW5zdGFuY2UgY2xhc3MgaXMgY3VycmVudGx5IG9ubHkgYXZhaWxhYmxlIGluIFVTIEVhc3QgKE9oaW8pLCBVUyBFYXN0IChOLiBWaXJnaW5pYSksIFVTIFdlc3QgKE9yZWdvbiksIGFuZCBFdXJvcGUgKEZyYW5rZnVydCkuXG4gICAqL1xuICBNOEcgPSBcIm04Z1wiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMsIDd0aCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24zIHByb2Nlc3NvcnMgYW5kIGxvY2FsIE5WTUUgZHJpdmVcbiAgICpcbiAgICogVGhpcyBpbnN0YW5jZSBjbGFzcyBpcyBjdXJyZW50bHkgb25seSBhdmFpbGFibGUgaW4gVVMgRWFzdCAoT2hpbyksIFVTIEVhc3QgKE4uIFZpcmdpbmlhKSwgVVMgV2VzdCAoT3JlZ29uKSwgYW5kIEV1cm9wZSAoSXJlbGFuZCkuXG4gICAqL1xuICBTVEFOREFSRDdfR1JBVklUT04zX05WTUVfRFJJVkUgPSBcInN0YW5kYXJkNy1ncmF2aXRvbjMtbnZtZS1kcml2ZVwiLFxuXG4gIC8qKlxuICAgKiBTdGFuZGFyZCBpbnN0YW5jZXMsIDd0aCBnZW5lcmF0aW9uIHdpdGggR3Jhdml0b24zIHByb2Nlc3NvcnMgYW5kIGxvY2FsIE5WTUUgZHJpdmVcbiAgICpcbiAgICogVGhpcyBpbnN0YW5jZSBjbGFzcyBpcyBjdXJyZW50bHkgb25seSBhdmFpbGFibGUgaW4gVVMgRWFzdCAoT2hpbyksIFVTIEVhc3QgKE4uIFZpcmdpbmlhKSwgVVMgV2VzdCAoT3JlZ29uKSwgYW5kIEV1cm9wZSAoSXJlbGFuZCkuXG4gICAqL1xuICBNN0dEID0gXCJtN2dkXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyB3aXRoIGhpZ2ggbWVtb3J5IGFuZCBjb21wdXRlIGNhcGFjaXR5IGJhc2VkIG9uIEludGVsIFhlb24gU2NhbGFibGUgKFNhcHBoaXJlIFJhcGlkcykgcHJvY2Vzc29ycywgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIFNUQU5EQVJEN19JTlRFTCA9IFwic3RhbmRhcmQ3LWludGVsXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyB3aXRoIGhpZ2ggbWVtb3J5IGFuZCBjb21wdXRlIGNhcGFjaXR5IGJhc2VkIG9uIEludGVsIFhlb24gU2NhbGFibGUgKFNhcHBoaXJlIFJhcGlkcykgcHJvY2Vzc29ycywgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIE03SSA9IFwibTdpXCIsXG5cbiAgLyoqXG4gICAqIEZsZXhpYmxlIGluc3RhbmNlcyB3aXRoIGhpZ2ggbWVtb3J5IGFuZCBjb21wdXRlIGNhcGFjaXR5IGJhc2VkIG9uIEludGVsIFhlb24gU2NhbGFibGUgKFNhcHBoaXJlIFJhcGlkcykgcHJvY2Vzc29ycywgN3RoIGdlbmVyYXRpb25cbiAgICogVGhlIE03aS1GbGV4IGluc3RhbmNlcyBkZWxpdmVyIGEgYmFzZWxpbmUgb2YgNDAlIENQVSBwZXJmb3JtYW5jZSwgYW5kIGNhbiBzY2FsZSB1cCB0byBmdWxsIENQVSBwZXJmb3JtYW5jZSA5NSUgb2YgdGhlIHRpbWVcbiAgICovXG4gIFNUQU5EQVJEN19JTlRFTF9GTEVYID0gXCJzdGFuZGFyZDctaW50ZWwtZmxleFwiLFxuXG4gIC8qKlxuICAgKiBGbGV4aWJsZSBpbnN0YW5jZXMgd2l0aCBoaWdoIG1lbW9yeSBhbmQgY29tcHV0ZSBjYXBhY2l0eSBiYXNlZCBvbiBJbnRlbCBYZW9uIFNjYWxhYmxlIChTYXBwaGlyZSBSYXBpZHMpIHByb2Nlc3NvcnMsIDd0aCBnZW5lcmF0aW9uXG4gICAqIFRoZSBNN2ktRmxleCBpbnN0YW5jZXMgZGVsaXZlciBhIGJhc2VsaW5lIG9mIDQwJSBDUFUgcGVyZm9ybWFuY2UsIGFuZCBjYW4gc2NhbGUgdXAgdG8gZnVsbCBDUFUgcGVyZm9ybWFuY2UgOTUlIG9mIHRoZSB0aW1lXG4gICAqL1xuICBNN0lfRkxFWCA9IFwibTdpLWZsZXhcIixcblxuICAvKipcbiAgICogU3RhbmRhcmQgaW5zdGFuY2VzIGJhc2VkIG9uIDR0aCBnZW5lcmF0aW9uIEFNRCBFUFlDIChjb2RlbmFtZSBHZW5vYSksIDd0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBTVEFOREFSRDdfQU1EID0gXCJzdGFuZGFyZDctYW1kXCIsXG5cbiAgLyoqXG4gICAqIFN0YW5kYXJkIGluc3RhbmNlcyBiYXNlZCBvbiA0dGggZ2VuZXJhdGlvbiBBTUQgRVBZQyAoY29kZW5hbWUgR2Vub2EpLCA3dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgTTdBID0gXCJtN2FcIixcblxuICAvKipcbiAgICogSGlnaCBtZW1vcnkgYW5kIGNvbXB1dGUgY2FwYWNpdHkgaW5zdGFuY2VzLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgSElHSF9DT01QVVRFX01FTU9SWTEgPSBcImhpZ2gtY29tcHV0ZS1tZW1vcnkxXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggbWVtb3J5IGFuZCBjb21wdXRlIGNhcGFjaXR5IGluc3RhbmNlcywgMXN0IGdlbmVyYXRpb25cbiAgICovXG4gIFoxRCA9IFwiejFkXCIsXG5cbiAgLyoqXG4gICAqIEluZmVyZW50aWEgQ2hpcHMgYmFzZWQgaW5zdGFuY2VzIGZvciBtYWNoaW5lIGxlYXJuaW5nIGluZmVyZW5jZSBhcHBsaWNhdGlvbnMsIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBJTkZFUkVOQ0UxID0gXCJpbmZlcmVuY2UxXCIsXG5cbiAgLyoqXG4gICAqIEluZmVyZW50aWEgQ2hpcHMgYmFzZWQgaW5zdGFuY2VzIGZvciBtYWNoaW5lIGxlYXJuaW5nIGluZmVyZW5jZSBhcHBsaWNhdGlvbnMsIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBJTkYxID0gXCJpbmYxXCIsXG5cbiAgLyoqXG4gICAqIEluZmVyZW50aWEgQ2hpcHMgYmFzZWQgaW5zdGFuY2VzIGZvciBtYWNoaW5lIGxlYXJuaW5nIGluZmVyZW5jZSBhcHBsaWNhdGlvbnMsIDJuZCBnZW5lcmF0aW9uXG4gICAqL1xuICBJTkZFUkVOQ0UyID0gXCJpbmZlcmVuY2UyXCIsXG5cbiAgLyoqXG4gICAqIEluZmVyZW50aWEgQ2hpcHMgYmFzZWQgaW5zdGFuY2VzIGZvciBtYWNoaW5lIGxlYXJuaW5nIGluZmVyZW5jZSBhcHBsaWNhdGlvbnMsIDJuZCBnZW5lcmF0aW9uXG4gICAqL1xuICBJTkYyID0gXCJpbmYyXCIsXG5cbiAgLyoqXG4gICAqIE1hY2ludG9zaCBpbnN0YW5jZXMgYnVpbHQgb24gQXBwbGUgTWFjIG1pbmkgY29tcHV0ZXJzLCAxc3QgZ2VuZXJhdGlvbiB3aXRoIEludGVsIHByb2Nlc29yc1xuICAgKi9cbiAgTUFDSU5UT1NIMV9JTlRFTCA9IFwibWFjaW50b3NoMS1pbnRlbFwiLFxuXG4gIC8qKlxuICAgKiBNYWNpbnRvc2ggaW5zdGFuY2VzIGJ1aWx0IG9uIEFwcGxlIE1hYyBtaW5pIGNvbXB1dGVycywgMXN0IGdlbmVyYXRpb24gd2l0aCBJbnRlbCBwcm9jZXNvcnNcbiAgICovXG4gIE1BQzEgPSBcIm1hYzFcIixcblxuICAvKipcbiAgICogTWFjaW50b3NoIGluc3RhbmNlcyBidWlsdCBvbiBBcHBsZSBNYWMgbWluaSAyMDIwIGNvbXB1dGVycywgMm5kIGdlbmVyYXRpb24gd2l0aCBBcHBsZSBzaWxpY29uIE0xIHByb2Nlc3NvcnNcbiAgICovXG4gIE1BQ0lOVE9TSDJfTTEgPSBcIm1hY2ludG9zaDItbTFcIixcblxuICAvKipcbiAgICogTWFjaW50b3NoIGluc3RhbmNlcyBidWlsdCBvbiBBcHBsZSBNYWMgbWluaSAyMDIwIGNvbXB1dGVycywgMm5kIGdlbmVyYXRpb24gd2l0aCBBcHBsZSBzaWxpY29uIE0xIHByb2Nlc3NvcnNcbiAgICovXG4gIE1BQzIgPSBcIm1hYzJcIixcblxuICAvKipcbiAgICogTWFjaW50b3NoIGluc3RhbmNlcyBidWlsdCBvbiBBcHBsZSBNYWMgbWluaSAyMDIzIGNvbXB1dGVycywgMm5kIGdlbmVyYXRpb24gd2l0aCBBcHBsZSBzaWxpY29uIE0yIHByb2Nlc3NvcnNcbiAgICovXG4gIE1BQ0lOVE9TSDJfTTIgPSBcIm1hY2ludG9zaDItbTJcIixcblxuICAvKipcbiAgICogTWFjaW50b3NoIGluc3RhbmNlcyBidWlsdCBvbiBBcHBsZSBNYWMgbWluaSAyMDIzIGNvbXB1dGVycywgMm5kIGdlbmVyYXRpb24gd2l0aCBBcHBsZSBzaWxpY29uIE0yIHByb2Nlc3NvcnNcbiAgICovXG4gIE1BQzJfTTIgPSBcIm1hYzItbTJcIixcblxuICAvKipcbiAgICogTWFjaW50b3NoIGluc3RhbmNlcyBidWlsdCBvbiBBcHBsZSBNYWMgbWluaSAyMDIzIGNvbXB1dGVycywgMm5kIGdlbmVyYXRpb24gd2l0aCBBcHBsZSBzaWxpY29uIE0yIFBybyBwcm9jZXNzb3JzXG4gICAqL1xuICBNQUNJTlRPU0gyX00yX1BSTyA9IFwibWFjaW50b3NoMi1tMi1wcm9cIixcblxuICAvKipcbiAgICogTWFjaW50b3NoIGluc3RhbmNlcyBidWlsdCBvbiBBcHBsZSBNYWMgbWluaSAyMDIzIGNvbXB1dGVycywgMm5kIGdlbmVyYXRpb24gd2l0aCBBcHBsZSBzaWxpY29uIE0yIFBybyBwcm9jZXNzb3JzXG4gICAqL1xuICBNQUMyX00yUFJPID0gXCJtYWMyLW0ycHJvXCIsXG5cbiAgLyoqXG4gICAqIE1hY2ludG9zaCBpbnN0YW5jZXMgYnVpbHQgb24gMjAyMiBNYWMgU3R1ZGlvIGhhcmR3YXJlIHBvd2VyZWQgYnkgQXBwbGUgc2lsaWNvbiBNMSBVbHRyYSBwcm9jZXNzb3JzXG4gICAqL1xuICBNQUNJTlRPU0gyX00xX1VMVFJBID0gXCJtYWNpbnRvc2gyLW0xLXVsdHJhXCIsXG5cbiAgLyoqXG4gICAqIE1hY2ludG9zaCBpbnN0YW5jZXMgYnVpbHQgb24gMjAyMiBNYWMgU3R1ZGlvIGhhcmR3YXJlIHBvd2VyZWQgYnkgQXBwbGUgc2lsaWNvbiBNMSBVbHRyYSBwcm9jZXNzb3JzXG4gICAqL1xuICBNQUMyX00xVUxUUkEgPSBcIm1hYzItbTF1bHRyYVwiLFxuXG4gIC8qKlxuICAgKiBNdWx0aS1zdHJlYW0gdmlkZW8gdHJhbnNjb2RpbmcgaW5zdGFuY2VzIGZvciByZXNvbHV0aW9ucyB1cCB0byA0SyBVSEQsIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBWSURFT19UUkFOU0NPRElORzEgPSBcInZpZGVvLXRyYW5zY29kaW5nMVwiLFxuXG4gIC8qKlxuICAgKiBNdWx0aS1zdHJlYW0gdmlkZW8gdHJhbnNjb2RpbmcgaW5zdGFuY2VzIGZvciByZXNvbHV0aW9ucyB1cCB0byA0SyBVSEQsIDFzdCBnZW5lcmF0aW9uXG4gICAqL1xuICBWVDEgPSBcInZ0MVwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBiYXNlZCBvbiBBTUQgRVBZQywgNnRoIGdlbmVyYXRpb25cbiAgICovXG4gIEhJR0hfUEVSRk9STUFOQ0VfQ09NUFVUSU5HNl9BTUQgPSBcImhpZ2gtcGVyZm9ybWFuY2UtY29tcHV0aW5nNi1hbWRcIixcblxuICAvKipcbiAgICogSGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcgYmFzZWQgb24gQU1EIEVQWUMsIDZ0aCBnZW5lcmF0aW9uXG4gICAqL1xuICBIUEM2QSA9IFwiaHBjNmFcIixcblxuICAvKipcbiAgICogSGlnaCBwZXJmb3JtYW5jZSBjb21wdXRpbmcgd2l0aCBsb2NhbCBOVk1FIGRyaXZlIGJhc2VkIG9uIDZ0aCBnZW5lcmF0aW9uIHdpdGggSW50ZWwgWGVvbiBTY2FsYWJsZSBwcm9jZXNzb3JzICgzcmQgZ2VuZXJhdGlvbiBwcm9jZXNzb3JzIGNvZGUgbmFtZWQgSWNlIExha2UpLCA2dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgSElHSF9QRVJGT1JNQU5DRV9DT01QVVRJTkc2X0lOVEVMX05WTUVfRFJJVkUgPSBcImhpZ2gtcGVyZm9ybWFuY2UtY29tcHV0aW5nNi1pbnRlbC1udm1lLWRyaXZlXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nIHdpdGggbG9jYWwgTlZNRSBkcml2ZSBiYXNlZCBvbiA2dGggZ2VuZXJhdGlvbiB3aXRoIEludGVsIFhlb24gU2NhbGFibGUgcHJvY2Vzc29ycyAoM3JkIGdlbmVyYXRpb24gcHJvY2Vzc29ycyBjb2RlIG5hbWVkIEljZSBMYWtlKSwgNnRoIGdlbmVyYXRpb25cbiAgICovXG4gIEhQQzZJRCA9IFwiaHBjNmlkXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nIGJhc2VkIG9uIEFNRCBFUFlDLCA3dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgSElHSF9QRVJGT1JNQU5DRV9DT01QVVRJTkc3X0FNRCA9IFwiaGlnaC1wZXJmb3JtYW5jZS1jb21wdXRpbmc3LWFtZFwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBiYXNlZCBvbiBBTUQgRVBZQywgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIEhQQzdBID0gXCJocGM3YVwiLFxuXG4gIC8qKlxuICAgKiBIaWdoIHBlcmZvcm1hbmNlIGNvbXB1dGluZyBiYXNlZCBvbiBHcmF2aXRvbiwgN3RoIGdlbmVyYXRpb25cbiAgICovXG4gIEhJR0hfUEVSRk9STUFOQ0VfQ09NUFVUSU5HN19HUkFWSVRPTiA9IFwiaGlnaC1wZXJmb3JtYW5jZS1jb21wdXRpbmc3LWdyYXZpdG9uXCIsXG5cbiAgLyoqXG4gICAqIEhpZ2ggcGVyZm9ybWFuY2UgY29tcHV0aW5nIGJhc2VkIG9uIEdyYXZpdG9uLCA3dGggZ2VuZXJhdGlvblxuICAgKi9cbiAgSFBDN0cgPSBcImhwYzdnXCIsXG5cbiAgLyoqXG4gICAqIERlZXAgbGVhcm5pbmcgaW5zdGFuY2VzIHBvd2VyZWQgYnkgR2F1ZGkgYWNjZWxlcmF0b3JzIGZyb20gSGFiYW5hIExhYnMgKGFuIEludGVsIGNvbXBhbnkpLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgREVFUF9MRUFSTklORzEgPSBcImRlZXAtbGVhcm5pbmcxXCIsXG5cbiAgLyoqXG4gICAqIERlZXAgbGVhcm5pbmcgaW5zdGFuY2VzIHBvd2VyZWQgYnkgR2F1ZGkgYWNjZWxlcmF0b3JzIGZyb20gSGFiYW5hIExhYnMgKGFuIEludGVsIGNvbXBhbnkpLCAxc3QgZ2VuZXJhdGlvblxuICAgKi9cbiAgREwxID0gXCJkbDFcIixcblxuICAvKipcbiAgICogRGVlcCBsZWFybmluZyBpbnN0YW5jZXMgcG93ZXJlZCBieSBRdWFsY29tbSBBSSAxMDAgU3RhbmRhcmQgYWNjZWxlcmF0b3JzLCAybmQgZ2VuZXJhdGlvblxuICAgKi9cbiAgREVFUF9MRUFSTklORzJfUVVBTENPTU0gPSBcImRlZXAtbGVhcm5pbmcyLXF1YWxjb21tXCIsXG5cbiAgLyoqXG4gICAqIERlZXAgbGVhcm5pbmcgaW5zdGFuY2VzIHBvd2VyZWQgYnkgUXVhbGNvbW0gQUkgMTAwIFN0YW5kYXJkIGFjY2VsZXJhdG9ycywgMm5kIGdlbmVyYXRpb25cbiAgICovXG4gIERMMlEgPSBcImRsMnFcIixcbn1cblxuLyoqXG4gKiBJZGVudGlmaWVzIGFuIGluc3RhbmNlJ3MgQ1BVIGFyY2hpdGVjdHVyZVxuICovXG5leHBvcnQgZW51bSBJbnN0YW5jZUFyY2hpdGVjdHVyZSB7XG4gIC8qKlxuICAgKiBBUk02NCBhcmNoaXRlY3R1cmVcbiAgICovXG4gIEFSTV82NCA9IFwiYXJtNjRcIixcblxuICAvKipcbiAgICogeDg2LTY0IGFyY2hpdGVjdHVyZVxuICAgKi9cbiAgWDg2XzY0ID0gXCJ4ODZfNjRcIixcbn1cblxuLyoqXG4gKiBXaGF0IHNpemUgb2YgaW5zdGFuY2UgdG8gdXNlXG4gKi9cbmV4cG9ydCBlbnVtIEluc3RhbmNlU2l6ZSB7XG4gIC8qKlxuICAgKiBJbnN0YW5jZSBzaXplIE5BTk8gKG5hbm8pXG4gICAqL1xuICBOQU5PID0gXCJuYW5vXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHNpemUgTUlDUk8gKG1pY3JvKVxuICAgKi9cbiAgTUlDUk8gPSBcIm1pY3JvXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHNpemUgU01BTEwgKHNtYWxsKVxuICAgKi9cbiAgU01BTEwgPSBcInNtYWxsXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHNpemUgTUVESVVNIChtZWRpdW0pXG4gICAqL1xuICBNRURJVU0gPSBcIm1lZGl1bVwiLFxuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBzaXplIExBUkdFIChsYXJnZSlcbiAgICovXG4gIExBUkdFID0gXCJsYXJnZVwiLFxuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBzaXplIFhMQVJHRSAoeGxhcmdlKVxuICAgKi9cbiAgWExBUkdFID0gXCJ4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UyICgyeGxhcmdlKVxuICAgKi9cbiAgWExBUkdFMiA9IFwiMnhsYXJnZVwiLFxuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBzaXplIFhMQVJHRTMgKDN4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0UzID0gXCIzeGxhcmdlXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHNpemUgWExBUkdFNCAoNHhsYXJnZSlcbiAgICovXG4gIFhMQVJHRTQgPSBcIjR4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0U2ICg2eGxhcmdlKVxuICAgKi9cbiAgWExBUkdFNiA9IFwiNnhsYXJnZVwiLFxuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBzaXplIFhMQVJHRTggKDh4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0U4ID0gXCI4eGxhcmdlXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHNpemUgWExBUkdFOSAoOXhsYXJnZSlcbiAgICovXG4gIFhMQVJHRTkgPSBcIjl4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UxMCAoMTB4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0UxMCA9IFwiMTB4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UxMiAoMTJ4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0UxMiA9IFwiMTJ4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UxNiAoMTZ4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0UxNiA9IFwiMTZ4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UxOCAoMTh4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0UxOCA9IFwiMTh4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UyNCAoMjR4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0UyNCA9IFwiMjR4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UzMiAoMzJ4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0UzMiA9IFwiMzJ4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0U0OCAoNDh4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0U0OCA9IFwiNDh4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0U1NiAoNTZ4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0U1NiA9IFwiNTZ4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0U5NiAoOTZ4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0U5NiA9IFwiOTZ4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UxMTIgKDExMnhsYXJnZSlcbiAgICovXG4gIFhMQVJHRTExMiA9IFwiMTEyeGxhcmdlXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHNpemUgWExBUkdFMjI0ICgyMjR4bGFyZ2UpXG4gICAqL1xuICBYTEFSR0UyMjQgPSBcIjIyNHhsYXJnZVwiLFxuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBzaXplIFhMQVJHRTQ4MCAoNDgweGxhcmdlKVxuICAgKi9cbiAgWExBUkdFNDgwID0gXCI0ODB4bGFyZ2VcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBNRVRBTCAobWV0YWwpXG4gICAqL1xuICBNRVRBTCA9IFwibWV0YWxcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0UxNk1FVEFMIChtZXRhbC0xNnhsKVxuICAgKi9cbiAgWExBUkdFMTZNRVRBTCA9IFwibWV0YWwtMTZ4bFwiLFxuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBzaXplIFhMQVJHRTI0TUVUQUwgKG1ldGFsLTI0eGwpXG4gICAqL1xuICBYTEFSR0UyNE1FVEFMID0gXCJtZXRhbC0yNHhsXCIsXG5cbiAgLyoqXG4gICAqIEluc3RhbmNlIHNpemUgWExBUkdFMzJNRVRBTCAobWV0YWwtMzJ4bClcbiAgICovXG4gIFhMQVJHRTMyTUVUQUwgPSBcIm1ldGFsLTMyeGxcIixcblxuICAvKipcbiAgICogSW5zdGFuY2Ugc2l6ZSBYTEFSR0U0OE1FVEFMIChtZXRhbC00OHhsKVxuICAgKi9cbiAgWExBUkdFNDhNRVRBTCA9IFwibWV0YWwtNDh4bFwiLFxufVxuXG4vKipcbiAqIEluc3RhbmNlIHR5cGUgZm9yIEVDMiBpbnN0YW5jZXNcbiAqXG4gKiBUaGlzIGNsYXNzIHRha2VzIGEgbGl0ZXJhbCBzdHJpbmcsIGdvb2QgaWYgeW91IGFscmVhZHlcbiAqIGtub3cgdGhlIGlkZW50aWZpZXIgb2YgdGhlIHR5cGUgeW91IHdhbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnN0YW5jZVR5cGUge1xuICAvKipcbiAgICogSW5zdGFuY2UgdHlwZSBmb3IgRUMyIGluc3RhbmNlc1xuICAgKlxuICAgKiBUaGlzIGNsYXNzIHRha2VzIGEgY29tYmluYXRpb24gb2YgYSBjbGFzcyBhbmQgc2l6ZS5cbiAgICpcbiAgICogQmUgYXdhcmUgdGhhdCBub3QgYWxsIGNvbWJpbmF0aW9ucyBvZiBjbGFzcyBhbmQgc2l6ZSBhcmUgYXZhaWxhYmxlLCBhbmQgbm90IGFsbFxuICAgKiBjbGFzc2VzIGFyZSBhdmFpbGFibGUgaW4gYWxsIHJlZ2lvbnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG9mKGluc3RhbmNlQ2xhc3M6IEluc3RhbmNlQ2xhc3MsIGluc3RhbmNlU2l6ZTogSW5zdGFuY2VTaXplKSB7XG4gICAgLy8gSlNJSSBkb2VzIG5vdCBhbGxvdyBlbnVtIHR5cGVzIHRvIGhhdmUgc2FtZSB2YWx1ZS4gU28gdG8gc3VwcG9ydCB0aGUgZW51bSwgdGhlIGVudW0gd2l0aCBzYW1lIHZhbHVlIGhhcyB0byBiZSBtYXBwZWQgbGF0ZXIuXG4gICAgY29uc3QgaW5zdGFuY2VDbGFzc01hcDogUmVjb3JkPEluc3RhbmNlQ2xhc3MsIHN0cmluZz4gPSB7XG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVEFOREFSRDNdOiBcIm0zXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NM106IFwibTNcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlNUQU5EQVJENF06IFwibTRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk00XTogXCJtNFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ1XTogXCJtNVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTTVdOiBcIm01XCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVEFOREFSRDVfTlZNRV9EUklWRV06IFwibTVkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NNURdOiBcIm01ZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ1X0FNRF06IFwibTVhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NNUFdOiBcIm01YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ1X0FNRF9OVk1FX0RSSVZFXTogXCJtNWFkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NNUFEXTogXCJtNWFkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVEFOREFSRDVfSElHSF9QRVJGT1JNQU5DRV06IFwibTVuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NNU5dOiBcIm01blwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ1X05WTUVfRFJJVkVfSElHSF9QRVJGT1JNQU5DRV06IFwibTVkblwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTTVETl06IFwibTVkblwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ1X0hJR0hfQ09NUFVURV06IFwibTV6blwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTTVaTl06IFwibTV6blwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZM106IFwicjNcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlIzXTogXCJyM1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZNF06IFwicjRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlI0XTogXCJyNFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZNV06IFwicjVcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlI1XTogXCJyNVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZNl9BTURdOiBcInI2YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjZBXTogXCJyNmFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWTZfSU5URUxdOiBcInI2aVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjZJXTogXCJyNmlcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWTZfSU5URUxfTlZNRV9EUklWRV06IFwicjZpZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjZJRF06IFwicjZpZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZNl9JTlRFTF9ISUdIX1BFUkZPUk1BTkNFXTogXCJyNmluXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5SNklOXTogXCJyNmluXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NRU1PUlk2X0lOVEVMX05WTUVfRFJJVkVfSElHSF9QRVJGT1JNQU5DRV06IFwicjZpZG5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlI2SUROXTogXCJyNmlkblwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZNV9ISUdIX1BFUkZPUk1BTkNFXTogXCJyNW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlI1Tl06IFwicjVuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NRU1PUlk1X05WTUVfRFJJVkVdOiBcInI1ZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjVEXTogXCJyNWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWTVfTlZNRV9EUklWRV9ISUdIX1BFUkZPUk1BTkNFXTogXCJyNWRuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5SNUROXTogXCJyNWRuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NRU1PUlk1X0FNRF06IFwicjVhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5SNUFdOiBcInI1YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZNV9BTURfTlZNRV9EUklWRV06IFwicjVhZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjVBRF06IFwicjVhZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSElHSF9NRU1PUllfM1RCXzFdOiBcInUtM3RiMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVV8zVEIxXTogXCJ1LTN0YjFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfTUVNT1JZXzZUQl8xXTogXCJ1LTZ0YjFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlVfNlRCMV06IFwidS02dGIxXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5ISUdIX01FTU9SWV85VEJfMV06IFwidS05dGIxXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5VXzlUQjFdOiBcInUtOXRiMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSElHSF9NRU1PUllfMTJUQl8xXTogXCJ1LTEydGIxXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5VXzEyVEIxXTogXCJ1LTEydGIxXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5ISUdIX01FTU9SWV8xOFRCXzFdOiBcInUtMTh0YjFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlVfMThUQjFdOiBcInUtMTh0YjFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfTUVNT1JZXzI0VEJfMV06IFwidS0yNHRiMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVV8yNFRCMV06IFwidS0yNHRiMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSElHSF9NRU1PUllfNlRCXzddOiBcInU3aS02dGJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlU3SV82VEJdOiBcInU3aS02dGJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfTUVNT1JZXzhUQl83XTogXCJ1N2ktOHRiXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5VN0lfOFRCXTogXCJ1N2ktOHRiXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5ISUdIX01FTU9SWV8xMlRCXzddOiBcInU3aS0xMnRiXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5VN0lfMTJUQl06IFwidTdpLTEydGJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfTUVNT1JZX0hJR0hfTkVUV09SS18xNlRCXzddOiBcInU3aW4tMTZ0YlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVTdJTl8xNlRCXTogXCJ1N2luLTE2dGJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfTUVNT1JZX0hJR0hfTkVUV09SS18yNFRCXzddOiBcInU3aW4tMjR0YlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVTdJTl8yNFRCXTogXCJ1N2luLTI0dGJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfTUVNT1JZX0hJR0hfTkVUV09SS18zMlRCXzddOiBcInU3aW4tMzJ0YlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVTdJTl8zMlRCXTogXCJ1N2luLTMydGJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfTUVNT1JZX0hJR0hfTkVUV09SS19IUEVfMzJUQl83XTogXCJ1N2luaC0zMnRiXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5VN0lOSF8zMlRCXTogXCJ1N2luaC0zMnRiXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NRU1PUlk1X0VCU19PUFRJTUlaRURdOiBcInI1YlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjVCXTogXCJyNWJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWTZfR1JBVklUT05dOiBcInI2Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjZHXTogXCJyNmdcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWTZfR1JBVklUT04yX05WTUVfRFJJVkVdOiBcInI2Z2RcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlI2R0RdOiBcInI2Z2RcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWTdfR1JBVklUT05dOiBcInI3Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjdHXTogXCJyN2dcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWTdfR1JBVklUT04zX05WTUVfRFJJVkVdOiBcInI3Z2RcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlI3R0RdOiBcInI3Z2RcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWTdfSU5URUxfQkFTRV06IFwicjdpXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5SN0ldOiBcInI3aVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZN19JTlRFTF06IFwicjdpelwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjdJWl06IFwicjdpelwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZN19BTURdOiBcInI3YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjdBXTogXCJyN2FcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWThfR1JBVklUT05dOiBcInI4Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUjhHXTogXCJyOGdcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEUzXTogXCJjM1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQzNdOiBcImMzXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DT01QVVRFNF06IFwiYzRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkM0XTogXCJjNFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQ09NUFVURTVdOiBcImM1XCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DNV06IFwiYzVcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU1X05WTUVfRFJJVkVdOiBcImM1ZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQzVEXTogXCJjNWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU1X0FNRF06IFwiYzVhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DNUFdOiBcImM1YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQ09NUFVURTVfQU1EX05WTUVfRFJJVkVdOiBcImM1YWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkM1QURdOiBcImM1YWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU1X0hJR0hfUEVSRk9STUFOQ0VdOiBcImM1blwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQzVOXTogXCJjNW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU2X0lOVEVMXTogXCJjNmlcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkM2SV06IFwiYzZpXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DT01QVVRFNl9JTlRFTF9ISUdIX1BFUkZPUk1BTkNFXTogXCJjNmluXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DNklOXTogXCJjNmluXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DT01QVVRFNl9JTlRFTF9OVk1FX0RSSVZFXTogXCJjNmlkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DNklEXTogXCJjNmlkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DT01QVVRFNl9BTURdOiBcImM2YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQzZBXTogXCJjNmFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU2X0dSQVZJVE9OMl06IFwiYzZnXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DNkddOiBcImM2Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQ09NUFVURTZfR1JBVklUT04yX05WTUVfRFJJVkVdOiBcImM2Z2RcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkM2R0RdOiBcImM2Z2RcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU2X0dSQVZJVE9OMl9ISUdIX05FVFdPUktfQkFORFdJRFRIXTogXCJjNmduXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DNkdOXTogXCJjNmduXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DT01QVVRFN19HUkFWSVRPTjNdOiBcImM3Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQzdHXTogXCJjN2dcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU3X0dSQVZJVE9OM19OVk1FX0RSSVZFXTogXCJjN2dkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DN0dEXTogXCJjN2dkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DT01QVVRFN19HUkFWSVRPTjNfSElHSF9ORVRXT1JLX0JBTkRXSURUSF06IFwiYzdnblwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQzdHTl06IFwiYzdnblwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQ09NUFVURTdfSU5URUxdOiBcImM3aVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQzdJXTogXCJjN2lcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU3X0lOVEVMX0ZMRVhdOiBcImM3aS1mbGV4XCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DN0lfRkxFWF06IFwiYzdpLWZsZXhcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkNPTVBVVEU3X0FNRF06IFwiYzdhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5DN0FdOiBcImM3YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuQ09NUFVURThfR1JBVklUT040XTogXCJjOGdcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkM4R106IFwiYzhnXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVE9SQUdFMl06IFwiZDJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkQyXTogXCJkMlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RPUkFHRTNdOiBcImQzXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5EM106IFwiZDNcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlNUT1JBR0UzX0VOSEFOQ0VEX05FVFdPUktdOiBcImQzZW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkQzRU5dOiBcImQzZW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlRSQUlOSU5HX0FDQ0VMRVJBVE9SMV06IFwidHJuMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVFJOMV06IFwidHJuMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVFJBSU5JTkdfQUNDRUxFUkFUT1IxX0VOSEFOQ0VEX05FVFdPUktdOiBcInRybjFuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5UUk4xTl06IFwidHJuMW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlRSQUlOSU5HX0FDQ0VMRVJBVE9SMl06IFwidHJuMlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVFJOMl06IFwidHJuMlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVFJBSU5JTkdfQUNDRUxFUkFUT1IyX1VMVFJBU0VSVkVSXTogXCJ0cm4ydVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVFJOMlVdOiBcInRybjJ1XCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVE9SQUdFX0NPTVBVVEVfMV06IFwiaDFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkgxXTogXCJoMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSU8zXTogXCJpM1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSTNdOiBcImkzXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5JTzNfREVOU0VfTlZNRV9EUklWRV06IFwiaTNlblwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSTNFTl06IFwiaTNlblwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RPUkFHRTRfR1JBVklUT05dOiBcImk0Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSTRHXTogXCJpNGdcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlNUT1JBR0U0X0dSQVZJVE9OX05FVFdPUktfT1BUSU1JWkVEXTogXCJpbTRnblwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSU00R05dOiBcImltNGduXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVE9SQUdFNF9HUkFWSVRPTl9ORVRXT1JLX1NUT1JBR0VfT1BUSU1JWkVEXTogXCJpczRnZW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLklTNEdFTl06IFwiaXM0Z2VuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVE9SQUdFN19JTlRFTF9TVE9SQUdFX09QVElNSVpFRF06IFwiaTdpZVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSTdJRV06IFwiaTdpZVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RPUkFHRThfR1JBVklUT05dOiBcImk4Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSThHXTogXCJpOGdcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkJVUlNUQUJMRTJdOiBcInQyXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5UMl06IFwidDJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkJVUlNUQUJMRTNdOiBcInQzXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5UM106IFwidDNcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkJVUlNUQUJMRTNfQU1EXTogXCJ0M2FcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlQzQV06IFwidDNhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5CVVJTVEFCTEU0X0dSQVZJVE9OXTogXCJ0NGdcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlQ0R106IFwidDRnXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NRU1PUllfSU5URU5TSVZFXzFdOiBcIngxXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5YMV06IFwieDFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWV9JTlRFTlNJVkVfMV9FWFRFTkRFRF06IFwieDFlXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5YMUVdOiBcIngxZVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZX0lOVEVOU0lWRV8yX0dSQVZJVE9OMl06IFwieDJnXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5YMkddOiBcIngyZ1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTUVNT1JZX0lOVEVOU0lWRV8yX0dSQVZJVE9OMl9OVk1FX0RSSVZFXTogXCJ4MmdkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5YMkdEXTogXCJ4MmdkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5GUEdBMV06IFwiZjFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkYxXTogXCJmMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuRlBHQTJdOiBcImYyXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5GMl06IFwiZjJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkdSQVBISUNTM19TTUFMTF06IFwiZzNzXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5HM1NdOiBcImczc1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuR1JBUEhJQ1MzXTogXCJnM1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuRzNdOiBcImczXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5HUkFQSElDUzRfTlZNRV9EUklWRV9ISUdIX1BFUkZPUk1BTkNFXTogXCJnNGRuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5HNEROXTogXCJnNGRuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5HUkFQSElDUzRfQU1EX05WTUVfRFJJVkVdOiBcImc0YWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkc0QURdOiBcImc0YWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkdSQVBISUNTNV06IFwiZzVcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkc1XTogXCJnNVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuR1JBUEhJQ1M1X0dSQVZJVE9OMl06IFwiZzVnXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5HNUddOiBcImc1Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuR1JBUEhJQ1M2XTogXCJnNlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuRzZdOiBcImc2XCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5HUkFQSElDUzZfRUZGSUNJRU5UXTogXCJnNmVcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkc2RV06IFwiZzZlXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5HUkFQSElDU19SQU1fNl06IFwiZ3I2XCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5HUjZdOiBcImdyNlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUEFSQUxMRUwyXTogXCJwMlwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUDJdOiBcInAyXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5QQVJBTExFTDNdOiBcInAzXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5QM106IFwicDNcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlBBUkFMTEVMM19OVk1FX0RSSVZFX0hJR0hfUEVSRk9STUFOQ0VdOiBcInAzZG5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlAzRE5dOiBcInAzZG5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlBBUkFMTEVMNF9OVk1FX0RSSVZFX0VYVEVOREVEXTogXCJwNGRlXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5QNERFXTogXCJwNGRlXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5QQVJBTExFTDRdOiBcInA0ZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUDREXTogXCJwNGRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlBBUkFMTEVMNV06IFwicDVcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlA1XTogXCJwNVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuUEFSQUxMRUw1X0VYVEVOREVEXTogXCJwYXJhbGxlbDUtZXh0ZW5kZWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlA1RV06IFwicDVlXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5QQVJBTExFTDVfRVhURU5ERURfTkVUV09SS106IFwicGFyYWxsZWw1LWV4dGVuZGVkLW5ldHdvcmtcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlA1RU5dOiBcInA1ZW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkFSTTFdOiBcImExXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5BMV06IFwiYTFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlNUQU5EQVJENl9HUkFWSVRPTl06IFwibTZnXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NNkddOiBcIm02Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ2X0lOVEVMXTogXCJtNmlcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk02SV06IFwibTZpXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVEFOREFSRDZfSU5URUxfTlZNRV9EUklWRV06IFwibTZpZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTTZJRF06IFwibTZpZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ2X0lOVEVMX0hJR0hfUEVSRk9STUFOQ0VdOiBcIm02aW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk02SU5dOiBcIm02aW5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlNUQU5EQVJENl9JTlRFTF9OVk1FX0RSSVZFX0hJR0hfUEVSRk9STUFOQ0VdOiBcIm02aWRuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NNklETl06IFwibTZpZG5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlNUQU5EQVJENl9BTURdOiBcIm02YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTTZBXTogXCJtNmFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlNUQU5EQVJENl9HUkFWSVRPTjJfTlZNRV9EUklWRV06IFwibTZnZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTTZHRF06IFwibTZnZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ3X0dSQVZJVE9OXTogXCJtN2dcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk03R106IFwibTdnXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVEFOREFSRDhfR1JBVklUT05dOiBcIm04Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTThHXTogXCJtOGdcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlNUQU5EQVJEN19HUkFWSVRPTjNfTlZNRV9EUklWRV06IFwibTdnZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuTTdHRF06IFwibTdnZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ3X0lOVEVMXTogXCJtN2lcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk03SV06IFwibTdpXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5TVEFOREFSRDdfSU5URUxfRkxFWF06IFwibTdpLWZsZXhcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk03SV9GTEVYXTogXCJtN2ktZmxleFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuU1RBTkRBUkQ3X0FNRF06IFwibTdhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NN0FdOiBcIm03YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSElHSF9DT01QVVRFX01FTU9SWTFdOiBcInoxZFwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuWjFEXTogXCJ6MWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLklORkVSRU5DRTFdOiBcImluZjFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLklORjFdOiBcImluZjFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLklORkVSRU5DRTJdOiBcImluZjJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLklORjJdOiBcImluZjJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1BQ0lOVE9TSDFfSU5URUxdOiBcIm1hYzFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1BQzFdOiBcIm1hYzFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1BQ0lOVE9TSDJfTTFdOiBcIm1hYzJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1BQzJdOiBcIm1hYzJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1BQ0lOVE9TSDJfTTJdOiBcIm1hYzItbTJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1BQzJfTTJdOiBcIm1hYzItbTJcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1BQ0lOVE9TSDJfTTJfUFJPXTogXCJtYWMyLW0ycHJvXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NQUMyX00yUFJPXTogXCJtYWMyLW0ycHJvXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NQUNJTlRPU0gyX00xX1VMVFJBXTogXCJtYWMyLW0xdWx0cmFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1BQzJfTTFVTFRSQV06IFwibWFjMi1tMXVsdHJhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5WSURFT19UUkFOU0NPRElORzFdOiBcInZ0MVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuVlQxXTogXCJ2dDFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfUEVSRk9STUFOQ0VfQ09NUFVUSU5HNl9BTURdOiBcImhwYzZhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5IUEM2QV06IFwiaHBjNmFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhJR0hfUEVSRk9STUFOQ0VfQ09NUFVUSU5HNl9JTlRFTF9OVk1FX0RSSVZFXTogXCJocGM2aWRcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkhQQzZJRF06IFwiaHBjNmlkXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5ISUdIX1BFUkZPUk1BTkNFX0NPTVBVVElORzdfQU1EXTogXCJocGM3YVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuSFBDN0FdOiBcImhwYzdhXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5ISUdIX1BFUkZPUk1BTkNFX0NPTVBVVElORzdfR1JBVklUT05dOiBcImhwYzdnXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5IUEM3R106IFwiaHBjN2dcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkk0SV06IFwiaTRpXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5JTzRfSU5URUxdOiBcImk0aVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuWDJJRUROXTogXCJ4MmllZG5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWV9JTlRFTlNJVkVfMl9YVF9JTlRFTF06IFwieDJpZWRuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5YMklETl06IFwieDJpZG5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWV9JTlRFTlNJVkVfMl9JTlRFTF06IFwieDJpZG5cIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLlgySUVaTl06IFwieDJpZXpuXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5NRU1PUllfSU5URU5TSVZFXzhfR1JBVklUT05dOiBcIng4Z1wiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuWDhHXTogXCJ4OGdcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLk1FTU9SWV9JTlRFTlNJVkVfMl9YVFpfSU5URUxdOiBcIngyaWV6blwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuREVFUF9MRUFSTklORzFdOiBcImRsMVwiLFxuICAgICAgW0luc3RhbmNlQ2xhc3MuREwxXTogXCJkbDFcIixcbiAgICAgIFtJbnN0YW5jZUNsYXNzLkRFRVBfTEVBUk5JTkcyX1FVQUxDT01NXTogXCJkbDJxXCIsXG4gICAgICBbSW5zdGFuY2VDbGFzcy5ETDJRXTogXCJkbDJxXCIsXG4gICAgfTtcbiAgICByZXR1cm4gbmV3IEluc3RhbmNlVHlwZShcbiAgICAgIGAke2luc3RhbmNlQ2xhc3NNYXBbaW5zdGFuY2VDbGFzc10gPz8gaW5zdGFuY2VDbGFzc30uJHtpbnN0YW5jZVNpemV9YCxcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZVR5cGVJZGVudGlmaWVyOiBzdHJpbmcpIHt9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgaW5zdGFuY2UgdHlwZSBhcyBhIGRvdHRlZCBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmluc3RhbmNlVHlwZUlkZW50aWZpZXI7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGluc3RhbmNlJ3MgQ1BVIGFyY2hpdGVjdHVyZVxuICAgKi9cbiAgcHVibGljIGdldCBhcmNoaXRlY3R1cmUoKTogSW5zdGFuY2VBcmNoaXRlY3R1cmUge1xuICAgIC8vIGNhcHR1cmUgdGhlIGZhbWlseSwgZ2VuZXJhdGlvbiwgY2FwYWJpbGl0aWVzLCBhbmQgc2l6ZSBwb3J0aW9ucyBvZiB0aGUgaW5zdGFuY2UgdHlwZSBpZFxuICAgIGNvbnN0IGluc3RhbmNlVHlwZUNvbXBvbmVudHMgPSB0aGlzLmluc3RhbmNlVHlwZUlkZW50aWZpZXIubWF0Y2goXG4gICAgICAvXihbYS16XSspKFxcZHsxLDJ9KShbYS16XFwtXSopXFwuKFthLXowLTlcXC1dKykkLyxcbiAgICApO1xuICAgIGlmIChpbnN0YW5jZVR5cGVDb21wb25lbnRzID09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk1hbGZvcm1lZCBpbnN0YW5jZSB0eXBlIGlkZW50aWZpZXJcIik7XG4gICAgfVxuXG4gICAgY29uc3QgZmFtaWx5ID0gaW5zdGFuY2VUeXBlQ29tcG9uZW50c1sxXTtcbiAgICBjb25zdCBjYXBhYmlsaXRpZXMgPSBpbnN0YW5jZVR5cGVDb21wb25lbnRzWzNdO1xuXG4gICAgLy8gSW5zdGFuY2UgZmFtaWx5IGBhYCBhcmUgZmlyc3QtZ2VuIEdyYXZpdG9uIGluc3RhbmNlc1xuICAgIC8vIENhcGFiaWxpdHkgYGdgIGluZGljYXRlcyB0aGUgaW5zdGFuY2UgaXMgR3Jhdml0b24yIHBvd2VyZWRcbiAgICBpZiAoZmFtaWx5ID09PSBcImFcIiB8fCBjYXBhYmlsaXRpZXMuaW5jbHVkZXMoXCJnXCIpKSB7XG4gICAgICByZXR1cm4gSW5zdGFuY2VBcmNoaXRlY3R1cmUuQVJNXzY0O1xuICAgIH1cblxuICAgIHJldHVybiBJbnN0YW5jZUFyY2hpdGVjdHVyZS5YODZfNjQ7XG4gIH1cblxuICBwdWJsaWMgc2FtZUluc3RhbmNlQ2xhc3NBcyhvdGhlcjogSW5zdGFuY2VUeXBlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaW5zdGFuY2VDbGFzczogUmVnRXhwID0gL14oW2Etel0rXFxkezEsMn1bYS16XFwtXSopXFwuKFthLXowLTlcXC1dKykkLztcbiAgICBjb25zdCBpbnN0YW5jZUNsYXNzSWQgPSB0aGlzLmluc3RhbmNlVHlwZUlkZW50aWZpZXIubWF0Y2goaW5zdGFuY2VDbGFzcyk7XG4gICAgY29uc3Qgb3RoZXJJbnN0YW5jZUNsYXNzSWQgPVxuICAgICAgb3RoZXIuaW5zdGFuY2VUeXBlSWRlbnRpZmllci5tYXRjaChpbnN0YW5jZUNsYXNzKTtcbiAgICBpZiAoaW5zdGFuY2VDbGFzc0lkID09IG51bGwgfHwgb3RoZXJJbnN0YW5jZUNsYXNzSWQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWFsZm9ybWVkIGluc3RhbmNlIHR5cGUgaWRlbnRpZmllclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGluc3RhbmNlQ2xhc3NJZFsxXSA9PT0gb3RoZXJJbnN0YW5jZUNsYXNzSWRbMV07XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBpbnN0YW5jZSB0eXBlIGlzIGEgYnVyc3RhYmxlIGluc3RhbmNlIHR5cGVcbiAgICovXG4gIHB1YmxpYyBpc0J1cnN0YWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pbnN0YW5jZVR5cGVJZGVudGlmaWVyLnN0YXJ0c1dpdGgoXCJ0M1wiKSB8fFxuICAgICAgdGhpcy5pbnN0YW5jZVR5cGVJZGVudGlmaWVyLnN0YXJ0c1dpdGgoXCJ0NGdcIikgfHxcbiAgICAgIHRoaXMuaW5zdGFuY2VUeXBlSWRlbnRpZmllci5zdGFydHNXaXRoKFwidDJcIilcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -258,5 +258,5 @@ class Instance extends aws_construct_1.AwsConstructBase {
|
|
|
258
258
|
}
|
|
259
259
|
exports.Instance = Instance;
|
|
260
260
|
_a = JSII_RTTI_SYMBOL_1;
|
|
261
|
-
Instance[_a] = { fqn: "terraconstructs.aws.compute.Instance", version: "0.0.
|
|
261
|
+
Instance[_a] = { fqn: "terraconstructs.aws.compute.Instance", version: "0.0.20" };
|
|
262
262
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUvaW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0RkFBNEY7QUFFNUYsc0RBSTZCO0FBQzdCLGlDQU1lO0FBR2Ysb0RBQW1FO0FBQ25FLDhDQUE4QztBQUM5QywwQ0FBbUM7QUFDbkMsd0NBQXdDO0FBQ3hDLDJFQUE4RTtBQUM5RSxtREFBbUQ7QUFDbkQsK0NBQTBEO0FBUzFELGlEQUk0QjtBQUM1QixxREFBaUU7QUFHakUsK0JBQXNEO0FBQ3RELG9EQUFvRDtBQUNwRCw4QkFBOEI7QUFFOUI7O0dBRUc7QUFDSCxNQUFNLFFBQVEsR0FBVyxNQUFNLENBQUM7QUFnWmhDOztHQUVHO0FBQ0gsTUFBYSxRQUFTLFNBQVEsZ0NBQWdCO0lBQzVDLElBQVcsZUFBZTtRQUN4QixPQUFPO1lBQ0wsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzVCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBc0VELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUhGLG1CQUFjLEdBQXFCLEVBQUUsQ0FBQztRQUtyRCwwQ0FBMEM7UUFDMUMsK0VBQStFO1FBQy9FLElBQUk7UUFFSixJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0VBQWtFLENBQ25FLENBQUM7UUFDSixDQUFDO1FBRUQsMkVBQTJFO1FBQzNFLElBQUksS0FBSyxDQUFDLG1CQUFtQixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ25FLE1BQU0sSUFBSSxLQUFL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RDs7T0FFRztJQUNJLGVBQWUsQ0FBQyxTQUE4QjtRQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7O0FBaFhILDRCQXNiQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YyLjE3NS4xL3BhY2thZ2VzL2F3cy1jZGstbGliL2F3cy1lYzIvbGliL2luc3RhbmNlLnRzXG5cbmltcG9ydCB7XG4gIGluc3RhbmNlLFxuICBpYW1JbnN0YW5jZVByb2ZpbGUgYXMgdGZJbnN0YW5jZVByb2ZpbGUsXG4gIG5ldHdvcmtJbnRlcmZhY2UgYXMgdGZOZXR3b3JrSW50ZXJmYWNlLFxufSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHtcbiAgQW5ub3RhdGlvbnMsXG4gIEFzcGVjdHMsXG4gIC8vIEFzcGVjdFByaW9yaXR5LFxuICBMYXp5LFxuICBUb2tlbixcbn0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiLi4vLi4vZHVyYXRpb25cIjtcbmltcG9ydCB7IElBd3NDb25zdHJ1Y3QsIEF3c0NvbnN0cnVjdEJhc2UgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuLy8gVE9ETzogVXNlIFRhZ01hbmFnZXIgYW5kIHRhZy1hc3BlY3QgaW5zdGVhZFxuaW1wb3J0IHsgVGFncyB9IGZyb20gXCIuLi9hd3MtdGFnc1wiO1xuLy8gaW1wb3J0IHsgVGFncyB9IGZyb20gXCIuLi90YWctYXNwZWN0XCI7XG5pbXBvcnQgeyBJbnN0YW5jZVJlcXVpcmVJbWRzdjJBc3BlY3QgfSBmcm9tIFwiLi9hc3BlY3RzL3JlcXVpcmUtaW1kc3YyLWFzcGVjdFwiO1xuLy8gaW1wb3J0IHsgQ2xvdWRGb3JtYXRpb25Jbml0IH0gZnJvbSBcIi4vY2ZuLWluaXRcIjtcbmltcG9ydCB7IENvbm5lY3Rpb25zLCBJQ29ubmVjdGFibGUgfSBmcm9tIFwiLi9jb25uZWN0aW9uc1wiO1xuaW1wb3J0IHsgSW5zdGFuY2VUeXBlIH0gZnJvbSBcIi4vaW5zdGFuY2UtdHlwZXNcIjtcbmltcG9ydCB7IElLZXlQYWlyIH0gZnJvbSBcIi4va2V5LXBhaXJcIjtcbmltcG9ydCB7XG4gIENwdUNyZWRpdHMsXG4gIEluc3RhbmNlSW5pdGlhdGVkU2h1dGRvd25CZWhhdmlvcixcbn0gZnJvbSBcIi4vbGF1bmNoLXRlbXBsYXRlXCI7XG5pbXBvcnQgeyBJTWFjaGluZUltYWdlLCBPcGVyYXRpbmdTeXN0ZW1UeXBlIH0gZnJvbSBcIi4vbWFjaGluZS1pbWFnZVwiO1xuaW1wb3J0IHsgSVBsYWNlbWVudEdyb3VwIH0gZnJvbSBcIi4vcGxhY2VtZW50LWdyb3VwXCI7XG5pbXBvcnQge1xuICBpbnN0YW5jZUVic0Jsb2NrRGV2aWNlTWFwcGluZ3MsXG4gIGluc3RhbmNlRXBoZW1lcmFsQmxvY2tEZXZpY2VNYXBwaW5ncyxcbiAgaW5zdGFuY2VSb290QmxvY2tEZXZpY2VNYXBwaW5nLFxufSBmcm9tIFwiLi9wcml2YXRlL2Vicy11dGlsXCI7XG5pbXBvcnQgeyBJU2VjdXJpdHlHcm91cCwgU2VjdXJpdHlHcm91cCB9IGZyb20gXCIuL3NlY3VyaXR5LWdyb3VwXCI7XG5pbXBvcnQgeyBVc2VyRGF0YSB9IGZyb20gXCIuL3VzZXItZGF0YVwiO1xuaW1wb3J0IHsgQmxvY2tEZXZpY2UgfSBmcm9tIFwiLi92b2x1bWVcIjtcbmltcG9ydCB7IElWcGMsIFN1Ym5ldCwgU3VibmV0U2VsZWN0aW9uIH0gZnJvbSBcIi4vdnBjXCI7XG4vLyBpbXBvcnQgeyBtZDVoYXNoIH0gZnJvbSBcIi4uLy4uL2hlbHBlcnMtaW50ZXJuYWxcIjtcbmltcG9ydCAqIGFzIGlhbSBmcm9tIFwiLi4vaWFtXCI7XG5cbi8qKlxuICogTmFtZSB0YWcgY29uc3RhbnRcbiAqL1xuY29uc3QgTkFNRV9UQUc6IHN0cmluZyA9IFwiTmFtZVwiO1xuXG4vKipcbiAqIE91dHB1dHMgd2hpY2ggbWF5IGJlIHJlZ2lzdGVyZWQgZm9yIG91dHB1dCB2aWEgdGhlIEdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFuY2VPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSdzIElEXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSW5zdGFuY2UgZXh0ZW5kcyBJQXdzQ29uc3RydWN0LCBJQ29ubmVjdGFibGUsIGlhbS5JR3JhbnRhYmxlIHtcbiAgLyoqIFN0cm9uZ2x5IHR5cGVkIG91dHB1dHMgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VPdXRwdXRzOiBJbnN0YW5jZU91dHB1dHM7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnN0YW5jZSdzIElEXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGF2YWlsYWJpbGl0eSB6b25lIHRoZSBpbnN0YW5jZSB3YXMgbGF1bmNoZWQgaW5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VBdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByaXZhdGUgRE5TIG5hbWUgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VQcml2YXRlRG5zTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcml2YXRlIElQIGZvciB0aGlzIGluc3RhbmNlXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlUHJpdmF0ZUlwOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFB1YmxpY2x5LXJvdXRhYmxlIEROUyBuYW1lIGZvciB0aGlzIGluc3RhbmNlLlxuICAgKlxuICAgKiAoTWF5IGJlIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgaW5zdGFuY2UgZG9lcyBub3QgaGF2ZSBhIHB1YmxpYyBuYW1lKS5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VQdWJsaWNEbnNOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFB1YmxpY2x5LXJvdXRhYmxlIElQICBhZGRyZXNzIGZvciB0aGlzIGluc3RhbmNlLlxuICAgKlxuICAgKiAoTWF5IGJlIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgaW5zdGFuY2UgZG9lcyBub3QgaGF2ZSBhIHB1YmxpYyBJUCkuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlUHVibGljSXA6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIG9mIGFuIEVDMiBJbnN0YW5jZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEluc3RhbmNlUHJvcHMge1xuICAvKipcbiAgICogTmFtZSBvZiBTU0gga2V5cGFpciB0byBncmFudCBhY2Nlc3MgdG8gaW5zdGFuY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBTU0ggYWNjZXNzIHdpbGwgYmUgcG9zc2libGUuXG4gICAqIEBkZXByZWNhdGVkIC0gVXNlIGBrZXlQYWlyYCBpbnN0ZWFkIC0gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfZWMyLXJlYWRtZS5odG1sI3VzaW5nLWFuLWV4aXN0aW5nLWVjMi1rZXktcGFpclxuICAgKi9cbiAgcmVhZG9ubHkga2V5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFNTSCBrZXlwYWlyIHRvIGdyYW50IGFjY2VzcyB0byB0aGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gU1NIIGFjY2VzcyB3aWxsIGJlIHBvc3NpYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5UGFpcj86IElLZXlQYWlyO1xuXG4gIC8qKlxuICAgKiBXaGVyZSB0byBwbGFjZSB0aGUgaW5zdGFuY2Ugd2l0aGluIHRoZSBWUENcbiAgICpcbiAgICogQGRlZmF1bHQgLSBQcml2YXRlIHN1Ym5ldHMuXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzPzogU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBJbiB3aGljaCBBWiB0byBwbGFjZSB0aGUgaW5zdGFuY2Ugd2l0aGluIHRoZSBWUENcbiAgICpcbiAgICogQGRlZmF1bHQgLSBSYW5kb20gem9uZS5cbiAgICovXG4gIHJlYWRvbmx5IGF2YWlsYWJpbGl0eVpvbmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGluc3RhbmNlIGNvdWxkIGluaXRpYXRlIGNvbm5lY3Rpb25zIHRvIGFueXdoZXJlIGJ5IGRlZmF1bHQuXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgb25seSB1c2VkIHdoZW4geW91IGRvIG5vdCBwcm92aWRlIGEgc2VjdXJpdHkgZ3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsT3V0Ym91bmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnN0YW5jZSBjb3VsZCBpbml0aWF0ZSBJUHY2IGNvbm5lY3Rpb25zIHRvIGFueXdoZXJlIGJ5IGRlZmF1bHQuXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgb25seSB1c2VkIHdoZW4geW91IGRvIG5vdCBwcm92aWRlIGEgc2VjdXJpdHkgZ3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhbGxvd0FsbElwdjZPdXRib3VuZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBsZW5ndGggb2YgdGltZSB0byB3YWl0IGZvciB0aGUgcmVzb3VyY2VTaWduYWxDb3VudFxuICAgKlxuICAgKiBUaGUgbWF4aW11bSB2YWx1ZSBpcyA0MzIwMCAoMTIgaG91cnMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5taW51dGVzKDUpXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZVNpZ25hbFRpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVlBDIHRvIGxhdW5jaCB0aGUgaW5zdGFuY2UgaW4uXG4gICAqL1xuICByZWFkb25seSB2cGM6IElWcGM7XG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IEdyb3VwIHRvIGFzc2lnbiB0byB0aGlzIGluc3RhbmNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gY3JlYXRlIG5ldyBzZWN1cml0eSBncm91cFxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cD86IElTZWN1cml0eUdyb3VwO1xuXG4gIC8qKlxuICAgKiBUeXBlIG9mIGluc3RhbmNlIHRvIGxhdW5jaFxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBJbnN0YW5jZVR5cGU7XG5cbiAgLyoqXG4gICAqIEFNSSB0byBsYXVuY2hcbiAgICovXG4gIHJlYWRvbmx5IG1hY2hpbmVJbWFnZTogSU1hY2hpbmVJbWFnZTtcblxuICAvKipcbiAgICogU3BlY2lmaWMgVXNlckRhdGEgdG8gdXNlXG4gICAqXG4gICAqIFRoZSBVc2VyRGF0YSBtYXkgc3RpbGwgYmUgbXV0YXRlZCBhZnRlciBjcmVhdGlvbi5cbiAgICpcbiAgICogVXBkYXRlcyB0byB0aGlzIGZpZWxkIHdpbGwgdHJpZ2dlciBhIHN0b3Avc3RhcnQgb2YgdGhlIEVDMiBpbnN0YW5jZSBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBJZiB1c2VyRGF0YUNhdXNlc1JlcGxhY2VtZW50IGlzIHNldCB0aGVuIHVwZGF0ZXMgdG8gdGhpcyBmaWVsZCB3aWxsIHRyaWdnZXJcbiAgICogYSBkZXN0cm95IGFuZCByZWNyZWF0ZSBvZiB0aGUgRUMyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEEgVXNlckRhdGEgb2JqZWN0IGFwcHJvcHJpYXRlIGZvciB0aGUgTWFjaGluZUltYWdlJ3NcbiAgICogT3BlcmF0aW5nIFN5c3RlbSBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNlckRhdGE/OiBVc2VyRGF0YTtcblxuICAvKipcbiAgICogQ2hhbmdlcyB0byB0aGUgVXNlckRhdGEgZm9yY2UgcmVwbGFjZW1lbnRcbiAgICpcbiAgICogRGVwZW5kaW5nIHRoZSBFQzIgaW5zdGFuY2UgdHlwZSwgY2hhbmdpbmcgVXNlckRhdGEgZWl0aGVyXG4gICAqIHJlc3RhcnRzIHRoZSBpbnN0YW5jZSBvciByZXBsYWNlcyB0aGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIC0gSW5zdGFuY2Ugc3RvcmUtYmFja2VkIGluc3RhbmNlcyBhcmUgcmVwbGFjZWQuXG4gICAqIC0gRUJTLWJhY2tlZCBpbnN0YW5jZXMgYXJlIHJlc3RhcnRlZC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgcmVzdGFydGluZyBkb2VzIG5vdCBleGVjdXRlIHRoZSBuZXcgVXNlckRhdGEgc28geW91XG4gICAqIHdpbGwgbmVlZCBhIGRpZmZlcmVudCBtZWNoYW5pc20gdG8gZW5zdXJlIHRoZSBpbnN0YW5jZSBpcyByZXN0YXJ0ZWQuXG4gICAqXG4gICAqIGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSB1c2VyRGF0YUNhdXNlc1JlcGxhY2VtZW50PzogYm9vbGVhbjtcbiAgLy8gQGRlZmF1bHQgLSB0cnVlIGlmIGBpbml0T3B0aW9uc2AgaXMgc3BlY2lmaWVkLCBmYWxzZSBvdGhlcndpc2UuXG5cbiAgLyoqXG4gICAqIEFuIElBTSByb2xlIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSBpbnN0YW5jZSBwcm9maWxlIGFzc2lnbmVkIHRvIHRoaXMgQXV0byBTY2FsaW5nIEdyb3VwLlxuICAgKlxuICAgKiBUaGUgcm9sZSBtdXN0IGJlIGFzc3VtYWJsZSBieSB0aGUgc2VydmljZSBwcmluY2lwYWwgYGVjMi5hbWF6b25hd3MuY29tYDpcbiAgICogTm90ZTogWW91IGNhbiBwcm92aWRlIGFuIGluc3RhbmNlUHJvZmlsZSBvciBhIHJvbGUsIGJ1dCBub3QgYm90aC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3Qgcm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnTXlSb2xlJywge1xuICAgKiAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdlYzIuYW1hem9uYXdzLmNvbScpXG4gICAqIH0pO1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIEEgcm9sZSB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY3JlYXRlZCwgaXQgY2FuIGJlIGFjY2Vzc2VkIHZpYSB0aGUgYHJvbGVgIHByb3BlcnR5XG4gICAqL1xuICByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgcHJvZmlsZSB1c2VkIHRvIHBhc3Mgcm9sZSBpbmZvcm1hdGlvbiB0byBFQzIgaW5zdGFuY2VzLlxuICAgKlxuICAgKiBOb3RlOiBZb3UgY2FuIHByb3ZpZGUgYW4gaW5zdGFuY2VQcm9maWxlIG9yIGEgcm9sZSwgYnV0IG5vdCBib3RoLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGluc3RhbmNlIHByb2ZpbGVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlUHJvZmlsZT86IGlhbS5JSW5zdGFuY2VQcm9maWxlO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgaW5zdGFuY2VcbiAgICpcbiAgICogQGRlZmF1bHQgLSBDREsgZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gZW5hYmxlIGFuIGluc3RhbmNlIGxhdW5jaGVkIGluIGEgVlBDIHRvIHBlcmZvcm0gTkFULlxuICAgKiBUaGlzIGNvbnRyb2xzIHdoZXRoZXIgc291cmNlL2Rlc3RpbmF0aW9uIGNoZWNraW5nIGlzIGVuYWJsZWQgb24gdGhlIGluc3RhbmNlLlxuICAgKiBBIHZhbHVlIG9mIHRydWUgbWVhbnMgdGhhdCBjaGVja2luZyBpcyBlbmFibGVkLCBhbmQgZmFsc2UgbWVhbnMgdGhhdCBjaGVja2luZyBpcyBkaXNhYmxlZC5cbiAgICogVGhlIHZhbHVlIG11c3QgYmUgZmFsc2UgZm9yIHRoZSBpbnN0YW5jZSB0byBwZXJmb3JtIE5BVC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlRGVzdENoZWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIGhvdyBibG9jayBkZXZpY2VzIGFyZSBleHBvc2VkIHRvIHRoZSBpbnN0YW5jZS4gWW91IGNhbiBzcGVjaWZ5IHZpcnR1YWwgZGV2aWNlcyBhbmQgRUJTIHZvbHVtZXMuXG4gICAqXG4gICAqIEVhY2ggaW5zdGFuY2UgdGhhdCBpcyBsYXVuY2hlZCBoYXMgYW4gYXNzb2NpYXRlZCByb290IGRldmljZSB2b2x1bWUsXG4gICAqIGVpdGhlciBhbiBBbWF6b24gRUJTIHZvbHVtZSBvciBhbiBpbnN0YW5jZSBzdG9yZSB2b2x1bWUuXG4gICAqIFlvdSBjYW4gdXNlIGJsb2NrIGRldmljZSBtYXBwaW5ncyB0byBzcGVjaWZ5IGFkZGl0aW9uYWwgRUJTIHZvbHVtZXMgb3JcbiAgICogaW5zdGFuY2Ugc3RvcmUgdm9sdW1lcyB0byBhdHRhY2ggdG8gYW4gaW5zdGFuY2Ugd2hlbiBpdCBpcyBsYXVuY2hlZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9Vc2VyR3VpZGUvYmxvY2stZGV2aWNlLW1hcHBpbmctY29uY2VwdHMuaHRtbFxuICAgKiBAc2VlIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL3Jlc291cmNlcy9pbnN0YW5jZSNlYnMtZXBoZW1lcmFsLWFuZC1yb290LWJsb2NrLWRldmljZXNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBVc2VzIHRoZSBibG9jayBkZXZpY2UgbWFwcGluZyBvZiB0aGUgQU1JXG4gICAqL1xuICByZWFkb25seSBibG9ja0RldmljZXM/OiBCbG9ja0RldmljZVtdO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGEgcHJpdmF0ZSBJUCBhZGRyZXNzIHRvIGFzc29jaWF0ZSB3aXRoIGFuIGluc3RhbmNlLlxuICAgKlxuICAgKiBQcml2YXRlIElQIHNob3VsZCBiZSBhdmFpbGFibGUgd2l0aGluIHRoZSBWUEMgdGhhdCB0aGUgaW5zdGFuY2UgaXMgYnVpbGQgd2l0aGluLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFzc29jaWF0aW9uXG4gICAqL1xuICByZWFkb25seSBwcml2YXRlSXBBZGRyZXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcm9wYWdhdGUgdGhlIEVDMiBpbnN0YW5jZSB0YWdzIHRvIHRoZSBFQlMgdm9sdW1lcy5cbiAgICpcbiAgICogRG8gbm90IHByb3BhZ2F0ZSB0YWdzIGlmIHlvdSBwbGFuIHRvIG1hbmFnZSBibG9jayBkZXZpY2UgdGFncyBvdXRzaWRlXG4gICAqIHRoZSBgYXdzX2luc3RhbmNlYCBjb25maWd1cmF0aW9uLCBzdWNoIGFzIHVzaW5nIGB0YWdzYCBpbiBhbiBgYXdzX2Vic192b2x1bWVgXG4gICAqIHJlc291cmNlIGF0dGFjaGVkIHZpYSBgYXdzX3ZvbHVtZV9hdHRhY2htZW50YC5cbiAgICpcbiAgICogRG9pbmcgc28gd2lsbCByZXN1bHQgaW4gcmVzb3VyY2UgY3ljbGluZyBhbmQgaW5jb25zaXN0ZW50IGJlaGF2aW9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBwcm9wYWdhdGVUYWdzVG9Wb2x1bWVPbkNyZWF0aW9uPzogYm9vbGVhbjtcblxuICAvLyBUT0RPOiBJbXBsZW1lbnQgR3JpZCBJbml0XG4gIC8vIC8qKlxuICAvLyAgKiBBcHBseSB0aGUgZ2l2ZW4gQ2xvdWRGb3JtYXRpb24gSW5pdCBjb25maWd1cmF0aW9uIHRvIHRoZSBpbnN0YW5jZSBhdCBzdGFydHVwXG4gIC8vICAqXG4gIC8vICAqIEBkZWZhdWx0IC0gbm8gQ2xvdWRGb3JtYXRpb24gaW5pdFxuICAvLyAgKi9cbiAgLy8gcmVhZG9ubHkgaW5pdD86IENsb3VkRm9ybWF0aW9uSW5pdDtcbiAgLy9cbiAgLy8gLyoqXG4gIC8vICAqIFVzZSB0aGUgZ2l2ZW4gb3B0aW9ucyBmb3IgYXBwbHlpbmcgQ2xvdWRGb3JtYXRpb24gSW5pdFxuICAvLyAgKlxuICAvLyAgKiBEZXNjcmliZXMgdGhlIGNvbmZpZ3NldHMgdG8gdXNlIGFuZCB0aGUgdGltZW91dCB0byB3YWl0XG4gIC8vICAqXG4gIC8vICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBvcHRpb25zXG4gIC8vICAqL1xuICAvLyByZWFkb25seSBpbml0T3B0aW9ucz86IEFwcGx5Q2xvdWRGb3JtYXRpb25Jbml0T3B0aW9ucztcblxuICAvKipcbiAgICogV2hldGhlciBJTURTdjIgc2hvdWxkIGJlIHJlcXVpcmVkIG9uIHRoaXMgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVJbWRzdjI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIFwiRGV0YWlsZWQgTW9uaXRvcmluZ1wiIGlzIGVuYWJsZWQgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogS2VlcCBpbiBtaW5kIHRoYXQgRGV0YWlsZWQgTW9uaXRvcmluZyByZXN1bHRzIGluIGV4dHJhIGNoYXJnZXNcbiAgICpcbiAgICogQHNlZSBodHRwOi8vYXdzLmFtYXpvbi5jb20vY2xvdWR3YXRjaC9wcmljaW5nL1xuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkZXRhaWxlZE1vbml0b3Jpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgU1NNIHNlc3Npb24gcGVybWlzc2lvbnMgdG8gdGhlIGluc3RhbmNlIHJvbGVcbiAgICpcbiAgICogU2V0dGluZyB0aGlzIHRvIGB0cnVlYCBhZGRzIHRoZSBuZWNlc3NhcnkgcGVybWlzc2lvbnMgdG8gY29ubmVjdFxuICAgKiB0byB0aGUgaW5zdGFuY2UgdXNpbmcgU1NNIFNlc3Npb24gTWFuYWdlci4gWW91IGNhbiBkbyB0aGlzXG4gICAqIGZyb20gdGhlIEFXUyBDb25zb2xlLlxuICAgKlxuICAgKiBOT1RFOiBTZXR0aW5nIHRoaXMgZmxhZyB0byBgdHJ1ZWAgbWF5IG5vdCBiZSBlbm91Z2ggYnkgaXRzZWxmLlxuICAgKiBZb3UgbXVzdCBhbHNvIHVzZSBhbiBBTUkgdGhhdCBjb21lcyB3aXRoIHRoZSBTU00gQWdlbnQsIG9yIGluc3RhbGxcbiAgICogdGhlIFNTTSBBZ2VudCB5b3Vyc2VsZi4gU2VlXG4gICAqIFtXb3JraW5nIHdpdGggU1NNIEFnZW50XShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3lzdGVtcy1tYW5hZ2VyL2xhdGVzdC91c2VyZ3VpZGUvc3NtLWFnZW50Lmh0bWwpXG4gICAqIGluIHRoZSBTU00gRGV2ZWxvcGVyIEd1aWRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3NtU2Vzc2lvblBlcm1pc3Npb25zPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBhc3NvY2lhdGUgYSBwdWJsaWMgSVAgYWRkcmVzcyB0byB0aGUgcHJpbWFyeSBuZXR3b3JrIGludGVyZmFjZSBhdHRhY2hlZCB0byB0aGlzIGluc3RhbmNlLlxuICAgKlxuICAgKiBZb3UgY2Fubm90IHNwZWNpZnkgdGhpcyBwcm9wZXJ0eSBhbmQgYGlwdjZBZGRyZXNzQ291bnRgIGF0IHRoZSBzYW1lIHRpbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gcHVibGljIElQIGFkZHJlc3MgaXMgYXV0b21hdGljYWxseSBhc3NpZ25lZCBiYXNlZCBvbiBkZWZhdWx0IGJlaGF2aW9yXG4gICAqL1xuICByZWFkb25seSBhc3NvY2lhdGVQdWJsaWNJcEFkZHJlc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZ5aW5nIHRoZSBDUFUgY3JlZGl0IHR5cGUgZm9yIGJ1cnN0YWJsZSBFQzIgaW5zdGFuY2UgdHlwZXMgKFQyLCBUMywgVDNhLCBldGMpLlxuICAgKiBUaGUgdW5saW1pdGVkIENQVSBjcmVkaXQgb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIFQzIGluc3RhbmNlcyB3aXRoIGEgZGVkaWNhdGVkIGhvc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVDIgaW5zdGFuY2VzIGFyZSBzdGFuZGFyZCwgd2hpbGUgVDMsIFQ0ZywgYW5kIFQzYSBpbnN0YW5jZXMgYXJlIHVubGltaXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNyZWRpdFNwZWNpZmljYXRpb24/OiBDcHVDcmVkaXRzO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgaW5zdGFuY2UgaXMgb3B0aW1pemVkIGZvciBBbWF6b24gRUJTIEkvTy5cbiAgICpcbiAgICogVGhpcyBvcHRpbWl6YXRpb24gcHJvdmlkZXMgZGVkaWNhdGVkIHRocm91Z2hwdXQgdG8gQW1hem9uIEVCUyBhbmQgYW4gb3B0aW1pemVkIGNvbmZpZ3VyYXRpb24gc3RhY2sgdG8gcHJvdmlkZSBvcHRpbWFsIEFtYXpvbiBFQlMgSS9PIHBlcmZvcm1hbmNlLlxuICAgKiBUaGlzIG9wdGltaXphdGlvbiBpc24ndCBhdmFpbGFibGUgd2l0aCBhbGwgaW5zdGFuY2UgdHlwZXMuXG4gICAqIEFkZGl0aW9uYWwgdXNhZ2UgY2hhcmdlcyBhcHBseSB3aGVuIHVzaW5nIGFuIEVCUy1vcHRpbWl6ZWQgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlYnNPcHRpbWl6ZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgaW5zdGFuY2Ugd2lsbCBub3QgYmUgYWJsZSB0byBiZSB0ZXJtaW5hdGVkIHVzaW5nIHRoZSBBbWF6b24gRUMyIGNvbnNvbGUsIENMSSwgb3IgQVBJLlxuICAgKlxuICAgKiBUbyBjaGFuZ2UgdGhpcyBhdHRyaWJ1dGUgYWZ0ZXIgbGF1bmNoLCB1c2UgW01vZGlmeUluc3RhbmNlQXR0cmlidXRlXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX01vZGlmeUluc3RhbmNlQXR0cmlidXRlLmh0bWwpLlxuICAgKiBBbHRlcm5hdGl2ZWx5LCBpZiB5b3Ugc2V0IEluc3RhbmNlSW5pdGlhdGVkU2h1dGRvd25CZWhhdmlvciB0byB0ZXJtaW5hdGUsIHlvdSBjYW4gdGVybWluYXRlIHRoZSBpbnN0YW5jZVxuICAgKiBieSBydW5uaW5nIHRoZSBzaHV0ZG93biBjb21tYW5kIGZyb20gdGhlIGluc3RhbmNlLlxuICAgKlxuICAgKiBAc2VlIGh0dHA6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FXU0Nsb3VkRm9ybWF0aW9uL2xhdGVzdC9Vc2VyR3VpZGUvYXdzLXJlc291cmNlLWVjMi1pbnN0YW5jZS5odG1sI2Nmbi1lYzItaW5zdGFuY2UtZGlzYWJsZWFwaXRlcm1pbmF0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlQXBpVGVybWluYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciBhbiBpbnN0YW5jZSBzdG9wcyBvciB0ZXJtaW5hdGVzIHdoZW4geW91IGluaXRpYXRlIHNodXRkb3duIGZyb20gdGhlIGluc3RhbmNlXG4gICAqICh1c2luZyB0aGUgb3BlcmF0aW5nIHN5c3RlbSBjb21tYW5kIGZvciBzeXN0ZW0gc2h1dGRvd24pLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NFQzIvbGF0ZXN0L1VzZXJHdWlkZS90ZXJtaW5hdGluZy1pbnN0YW5jZXMuaHRtbCNVc2luZ19DaGFuZ2luZ0luc3RhbmNlSW5pdGlhdGVkU2h1dGRvd25CZWhhdmlvclxuICAgKlxuICAgKiBAZGVmYXVsdCBJbnN0YW5jZUluaXRpYXRlZFNodXRkb3duQmVoYXZpb3IuU1RPUFxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yPzogSW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yO1xuXG4gIC8qKlxuICAgKiBUaGUgcGxhY2VtZW50IGdyb3VwIHRoYXQgeW91IHdhbnQgdG8gbGF1bmNoIHRoZSBpbnN0YW5jZSBpbnRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIHBsYWNlbWVudCBncm91cCB3aWxsIGJlIHVzZWQgZm9yIHRoaXMgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBwbGFjZW1lbnRHcm91cD86IElQbGFjZW1lbnRHcm91cDtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5zdGFuY2UgaXMgZW5hYmxlZCBmb3IgQVdTIE5pdHJvIEVuY2xhdmVzLlxuICAgKlxuICAgKiBOaXRybyBFbmNsYXZlcyByZXF1aXJlcyBhIE5pdHJvLWJhc2VkIHZpcnR1YWxpemVkIHBhcmVudCBpbnN0YW5jZSB3aXRoIHNwZWNpZmljIEludGVsL0FNRCB3aXRoIGF0IGxlYXN0IDQgdkNQVXNcbiAgICogb3IgR3Jhdml0b24gd2l0aCBhdCBsZWFzdCAyIHZDUFVzIGluc3RhbmNlIHR5cGVzIGFuZCBMaW51eC9XaW5kb3dzIGhvc3QgT1MsXG4gICAqIHdoaWxlIHRoZSBlbmNsYXZlIGl0c2VsZiBzdXBwb3J0cyBvbmx5IExpbnV4IE9TLlxuICAgKlxuICAgKiBZb3UgY2FuJ3Qgc2V0IGJvdGggYGVuY2xhdmVFbmFibGVkYCBhbmQgYGhpYmVybmF0aW9uRW5hYmxlZGAgdG8gdHJ1ZSBvbiB0aGUgc2FtZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZW5jbGF2ZXMvbGF0ZXN0L3VzZXIvbml0cm8tZW5jbGF2ZS5odG1sI25pdHJvLWVuY2xhdmUtcmVxc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBlbmNsYXZlRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGluc3RhbmNlIGlzIGVuYWJsZWQgZm9yIGhpYmVybmF0aW9uLlxuICAgKlxuICAgKiBZb3UgY2FuJ3Qgc2V0IGJvdGggYGVuY2xhdmVFbmFibGVkYCBhbmQgYGhpYmVybmF0aW9uRW5hYmxlZGAgdG8gdHJ1ZSBvbiB0aGUgc2FtZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTQ2xvdWRGb3JtYXRpb24vbGF0ZXN0L1VzZXJHdWlkZS9hd3MtcHJvcGVydGllcy1lYzItaW5zdGFuY2UtaGliZXJuYXRpb25vcHRpb25zLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaGliZXJuYXRpb25FbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBJUHY2IGFkZHJlc3NlcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgcHJpbWFyeSBuZXR3b3JrIGludGVyZmFjZS5cbiAgICpcbiAgICogQW1hem9uIEVDMiBjaG9vc2VzIHRoZSBJUHY2IGFkZHJlc3NlcyBmcm9tIHRoZSByYW5nZSBvZiB5b3VyIHN1Ym5ldC5cbiAgICpcbiAgICogWW91IGNhbm5vdCBzcGVjaWZ5IHRoaXMgcHJvcGVydHkgYW5kIGBhc3NvY2lhdGVQdWJsaWNJcEFkZHJlc3NgIGF0IHRoZSBzYW1lIHRpbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRm9yIGluc3RhbmNlcyBhc3NvY2lhdGVkIHdpdGggYW4gSVB2NiBzdWJuZXQsIHVzZSAxOyBvdGhlcndpc2UsIHVzZSAwLlxuICAgKi9cbiAgcmVhZG9ubHkgaXB2NkFkZHJlc3NDb3VudD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUaGlzIHJlcHJlc2VudHMgYSBzaW5nbGUgRUMyIGluc3RhbmNlXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnN0YW5jZSBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJSW5zdGFuY2Uge1xuICBwdWJsaWMgZ2V0IGluc3RhbmNlT3V0cHV0cygpOiBJbnN0YW5jZU91dHB1dHMge1xuICAgIHJldHVybiB7XG4gICAgICBpbnN0YW5jZUlkOiB0aGlzLmluc3RhbmNlSWQsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaW5zdGFuY2VPdXRwdXRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIE9TIHRoZSBpbnN0YW5jZSBpcyBydW5uaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9zVHlwZTogT3BlcmF0aW5nU3lzdGVtVHlwZTtcblxuICAvKipcbiAgICogQWxsb3dzIHNwZWNpZnkgc2VjdXJpdHkgZ3JvdXAgY29ubmVjdGlvbnMgZm9yIHRoZSBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBhc3N1bWVkIGJ5IHRoZSBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSByb2xlOiBpYW0uSVJvbGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmluY2lwYWwgdG8gZ3JhbnQgcGVybWlzc2lvbnMgdG9cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG5cbiAgLyoqXG4gICAqIFVzZXJEYXRhIGZvciB0aGUgaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1c2VyRGF0YTogVXNlckRhdGE7XG5cbiAgLyoqXG4gICAqIHRoZSB1bmRlcmx5aW5nIGluc3RhbmNlIHJlc291cmNlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2U6IGluc3RhbmNlLkluc3RhbmNlO1xuXG4gIC8qKlxuICAgKiB0aGUgcHJpbWFyeSBuZXR3b3JrIGludGVmYWNlIChpZiBhcHBsaWNhYmxlKVxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBwcmltYXJ5TmV0d29ya0ludGVyZmFjZT86IHRmTmV0d29ya0ludGVyZmFjZS5OZXR3b3JrSW50ZXJmYWNlO1xuXG4gIC8qKlxuICAgKiB0aGUgcHJpbWFyeSBuZXR3b3JrIGludGVyZmFjZSBpZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcmltYXJ5TmV0d29ya0ludGVyZmFjZUlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBpbnN0YW5jZUlkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VBdmFpbGFiaWxpdHlab25lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VQcml2YXRlRG5zTmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGluc3RhbmNlUHJpdmF0ZUlwOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VQdWJsaWNEbnNOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VQdWJsaWNJcDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogSVNlY3VyaXR5R3JvdXA7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM6IElTZWN1cml0eUdyb3VwW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogSW5zdGFuY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICAvLyBpZiAocHJvcHMuaW5pdE9wdGlvbnMgJiYgIXByb3BzLmluaXQpIHtcbiAgICAvLyAgIHRocm93IG5ldyBFcnJvcihcIlNldHRpbmcgJ2luaXRPcHRpb25zJyByZXF1aXJlcyB0aGF0ICdpbml0JyBpcyBhbHNvIHNldFwiKTtcbiAgICAvLyB9XG5cbiAgICBpZiAocHJvcHMua2V5TmFtZSAmJiBwcm9wcy5rZXlQYWlyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiQ2Fubm90IHNwZWNpZnkgYm90aCBvZiAna2V5TmFtZScgYW5kICdrZXlQYWlyJzsgcHJlZmVyICdrZXlQYWlyJ1wiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBpZiBjcmVkaXQgc3BlY2lmaWNhdGlvbiBpcyBzZXQsIHRoZW4gdGhlIGluc3RhbmNlIHR5cGUgbXVzdCBiZSBidXJzdGFibGVcbiAgICBpZiAocHJvcHMuY3JlZGl0U3BlY2lmaWNhdGlvbiAmJiAhcHJvcHMuaW5zdGFuY2VUeXBlLmlzQnVyc3RhYmxlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYGNyZWRpdFNwZWNpZmljYXRpb24gaXMgc3VwcG9ydGVkIG9ubHkgZm9yIFQ0ZywgVDNhLCBUMywgVDIgaW5zdGFuY2UgdHlwZSwgZ290OiAke3Byb3BzLmluc3RhbmNlVHlwZS50b1N0cmluZygpfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5zZWN1cml0eUdyb3VwKSB7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBwcm9wcy5zZWN1cml0eUdyb3VwO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlY3VyaXR5R3JvdXAgPSBuZXcgU2VjdXJpdHlHcm91cCh0aGlzLCBcIkluc3RhbmNlU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICBhbGxvd0FsbE91dGJvdW5kOiBwcm9wcy5hbGxvd0FsbE91dGJvdW5kICE9PSBmYWxzZSxcbiAgICAgICAgYWxsb3dBbGxJcHY2T3V0Ym91bmQ6IHByb3BzLmFsbG93QWxsSXB2Nk91dGJvdW5kLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSBuZXcgQ29ubmVjdGlvbnMoe1xuICAgICAgc2VjdXJpdHlHcm91cHM6IFt0aGlzLnNlY3VyaXR5R3JvdXBdLFxuICAgIH0pO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cHMucHVzaCh0aGlzLnNlY3VyaXR5R3JvdXApO1xuICAgIFRhZ3Mub2YodGhpcykuYWRkKE5BTUVfVEFHLCBwcm9wcy5pbnN0YW5jZU5hbWUgfHwgdGhpcy5ub2RlLnBhdGgpO1xuXG4gICAgaWYgKHByb3BzLmluc3RhbmNlUHJvZmlsZSAmJiBwcm9wcy5yb2xlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJZb3UgY2Fubm90IHByb3ZpZGUgYm90aCBpbnN0YW5jZVByb2ZpbGUgYW5kIHJvbGVcIik7XG4gICAgfVxuXG4gICAgbGV0IGlhbUluc3RhbmNlUHJvZmlsZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9wcy5pbnN0YW5jZVByb2ZpbGU/LnJvbGUpIHtcbiAgICAgIHRoaXMucm9sZSA9IHByb3BzLmluc3RhbmNlUHJvZmlsZS5yb2xlO1xuICAgICAgaWFtSW5zdGFuY2VQcm9maWxlID0gcHJvcHMuaW5zdGFuY2VQcm9maWxlLmluc3RhbmNlUHJvZmlsZU5hbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm9sZSA9XG4gICAgICAgIHByb3BzLnJvbGUgfHxcbiAgICAgICAgbmV3IGlhbS5Sb2xlKHRoaXMsIFwiSW5zdGFuY2VSb2xlXCIsIHtcbiAgICAgICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImVjMi5hbWF6b25hd3MuY29tXCIpLFxuICAgICAgICB9KTtcblxuICAgICAgY29uc3QgaWFtUHJvZmlsZSA9IG5ldyB0Zkluc3RhbmNlUHJvZmlsZS5JYW1JbnN0YW5jZVByb2ZpbGUoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiSW5zdGFuY2VQcm9maWxlXCIsXG4gICAgICAgIHtcbiAgICAgICAgICByb2xlOiB0aGlzLnJvbGUucm9sZU5hbWUsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgaWFtSW5zdGFuY2VQcm9maWxlID0gaWFtUHJvZmlsZS5pZDtcbiAgICB9XG5cbiAgICB0aGlzLmdyYW50UHJpbmNpcGFsID0gdGhpcy5yb2xlO1xuXG4gICAgaWYgKHByb3BzLnNzbVNlc3Npb25QZXJtaXNzaW9ucykge1xuICAgICAgdGhpcy5yb2xlLmFkZE1hbmFnZWRQb2xpY3koXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIFwiQW1hem9uU1NNTWFuYWdlZEluc3RhbmNlQ29yZVwiLFxuICAgICAgICAgIFwiQW1hem9uU1NNTWFuYWdlZEluc3RhbmNlQ29yZVwiLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyB1c2UgZGVsYXllZCBldmFsdWF0aW9uXG4gICAgY29uc3QgaW1hZ2VDb25maWcgPSBwcm9wcy5tYWNoaW5lSW1hZ2UuZ2V0SW1hZ2UodGhpcyk7XG4gICAgdGhpcy51c2VyRGF0YSA9IHByb3BzLnVzZXJEYXRhID8/IGltYWdlQ29uZmlnLnVzZXJEYXRhO1xuICAgIGNvbnN0IHNlY3VyaXR5R3JvdXBzVG9rZW4gPSBMYXp5Lmxpc3RWYWx1ZSh7XG4gICAgICBwcm9kdWNlOiAoKSA9PiB0aGlzLnNlY3VyaXR5R3JvdXBzLm1hcCgoc2cpID0+IHNnLnNlY3VyaXR5R3JvdXBJZCksXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IHN1Ym5ldHMsIGhhc1B1YmxpYyB9ID0gcHJvcHMudnBjLnNlbGVjdFN1Ym5ldHMocHJvcHMudnBjU3VibmV0cyk7XG4gICAgbGV0IHN1Ym5ldDtcbiAgICBpZiAocHJvcHMuYXZhaWxhYmlsaXR5Wm9uZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBzdWJuZXRzLmZpbHRlcihcbiAgICAgICAgKHNuKSA9PiBzbi5hdmFpbGFiaWxpdHlab25lID09PSBwcm9wcy5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgKTtcbiAgICAgIGlmIChzZWxlY3RlZC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgc3VibmV0ID0gc2VsZWN0ZWRbMF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRFcnJvcihcbiAgICAgICAgICBgTmVlZCBleGFjdGx5IDEgc3VibmV0IHRvIG1hdGNoIEFaICcke3Byb3BzLmF2YWlsYWJpbGl0eVpvbmV9JywgZm91bmQgJHtzZWxlY3RlZC5sZW5ndGh9LiBVc2UgYSBkaWZmZXJlbnQgYXZhaWxhYmlsaXR5Wm9uZS5gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc3VibmV0cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHN1Ym5ldCA9IHN1Ym5ldHNbMF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBBbm5vdGF0aW9ucy5vZih0aGlzKS5hZGRFcnJvcihcbiAgICAgICAgICBgRGlkIG5vdCBmaW5kIGFueSBzdWJuZXRzIG1hdGNoaW5nICcke0pTT04uc3RyaW5naWZ5KHByb3BzLnZwY1N1Ym5ldHMpfScsIHBsZWFzZSB1c2UgYSBkaWZmZXJlbnQgc2VsZWN0aW9uLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghc3VibmV0KSB7XG4gICAgICAvLyBXZSBnb3QgaGVyZSBhbmQgd2UgZG9uJ3QgaGF2ZSBhIHN1Ym5ldCBiZWNhdXNlIG9mIHZhbGlkYXRpb24gZXJyb3JzLlxuICAgICAgLy8gSW52ZW50IG9uZSBvbiB0aGUgc3BvdCBzbyB0aGUgY29kZSBiZWxvdyBkb2Vzbid0IGZhaWwuXG4gICAgICBzdWJuZXQgPSBTdWJuZXQuZnJvbVN1Ym5ldEF0dHJpYnV0ZXModGhpcywgXCJEdW1teVN1Ym5ldFwiLCB7XG4gICAgICAgIHN1Ym5ldElkOiBcInMtbm90Zm91bmRcIixcbiAgICAgICAgYXZhaWxhYmlsaXR5Wm9uZTogXCJhei1ub3Rmb3VuZFwiLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gbmV0d29yayBpbnRlcmZhY2VzIGFycmF5IGlzIHNldCB0byBjb25maWd1cmUgdGhlIHByaW1hcnkgbmV0d29yayBpbnRlcmZhY2UgaWYgYXNzb2NpYXRlUHVibGljSXBBZGRyZXNzIGlzIHRydWUgb3IgZmFsc2VcbiAgICBsZXQgbmV0d29ya0ludGVyZmFjZXM6IGluc3RhbmNlLkluc3RhbmNlTmV0d29ya0ludGVyZmFjZVtdIHwgdW5kZWZpbmVkID1cbiAgICAgIHVuZGVmaW5lZDtcbiAgICBpZiAocHJvcHMuYXNzb2NpYXRlUHVibGljSXBBZGRyZXNzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucHJpbWFyeU5ldHdvcmtJbnRlcmZhY2UgPSBuZXcgdGZOZXR3b3JrSW50ZXJmYWNlLk5ldHdvcmtJbnRlcmZhY2UoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIFwiTmV0d29ya0ludGVyZmFjZVwiLFxuICAgICAgICB7XG4gICAgICAgICAgc3VibmV0SWQ6IHN1Ym5ldC5zdWJuZXRJZCxcbiAgICAgICAgICBzZWN1cml0eUdyb3Vwczogc2VjdXJpdHlHcm91cHNUb2tlbixcbiAgICAgICAgICBwcml2YXRlSXBzOiBwcm9wcy5wcml2YXRlSXBBZGRyZXNzXG4gICAgICAgICAgICA/IFtwcm9wcy5wcml2YXRlSXBBZGRyZXNzXVxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgLy8gVE9ETzogVXNlIG5ldHdvcmtJbnRlcmZhY2VBdHRhY2htZW50IGluc3RlYWQ/XG4gICAgICAvLyByZWY6IGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzL2xhdGVzdC9kb2NzL3Jlc291cmNlcy9pbnN0YW5jZSNuZXR3b3JrLWludGVyZmFjZXNcbiAgICAgIG5ldHdvcmtJbnRlcmZhY2VzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgZGV2aWNlSW5kZXg6IDAsXG4gICAgICAgICAgbmV0d29ya0ludGVyZmFjZUlkOiB0aGlzLnByaW1hcnlOZXR3b3JrSW50ZXJmYWNlLmlkLFxuICAgICAgICB9LFxuICAgICAgXTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMua2V5UGFpciAmJiAhcHJvcHMua2V5UGFpci5faXNPc0NvbXBhdGlibGUoaW1hZ2VDb25maWcub3NUeXBlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgJHtwcm9wcy5rZXlQYWlyLnR5cGV9IGtleXMgYXJlIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIGNob3NlbiBBTUlgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZW5jbGF2ZUVuYWJsZWQgJiYgcHJvcHMuaGliZXJuYXRpb25FbmFibGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiWW91IGNhbid0IHNldCBib3RoIGBlbmNsYXZlRW5hYmxlZGAgYW5kIGBoaWJlcm5hdGlvbkVuYWJsZWRgIHRvIHRydWUgb24gdGhlIHNhbWUgaW5zdGFuY2VcIixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcHMuaXB2NkFkZHJlc3NDb3VudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAhVG9rZW4uaXNVbnJlc29sdmVkKHByb3BzLmlwdjZBZGRyZXNzQ291bnQpICYmXG4gICAgICAocHJvcHMuaXB2NkFkZHJlc3NDb3VudCA8IDAgfHwgIU51bWJlci5pc0ludGVnZXIocHJvcHMuaXB2NkFkZHJlc3NDb3VudCkpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBcXCdpcHY2QWRkcmVzc0NvdW50XFwnIG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlciwgZ290OiAke3Byb3BzLmlwdjZBZGRyZXNzQ291bnR9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgcHJvcHMuaXB2NkFkZHJlc3NDb3VudCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBwcm9wcy5hc3NvY2lhdGVQdWJsaWNJcEFkZHJlc3MgIT09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIllvdSBjYW4ndCBzZXQgYm90aCAnaXB2NkFkZHJlc3NDb3VudCcgYW5kICdhc3NvY2lhdGVQdWJsaWNJcEFkZHJlc3MnXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzL2xhdGVzdC9kb2NzL3Jlc291cmNlcy9pbnN0YW5jZSN0YWctZ3VpZGVcbiAgICBjb25zdCB2b2x1bWVUYWdzID0gcHJvcHMucHJvcGFnYXRlVGFnc1RvVm9sdW1lT25DcmVhdGlvblxuICAgICAgPyB7IFtOQU1FX1RBR106IHByb3BzLmluc3RhbmNlTmFtZSB8fCB0aGlzLm5vZGUucGF0aCB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vIGlmIG5ldHdvcmsgaW50ZXJmYWNlcyBhcnJheSBpcyBjb25maWd1cmVkIHRoZW4gc3VibmV0SWQsIHNlY3VyaXR5R3JvdXBJZHMsXG4gICAgLy8gYW5kIHByaXZhdGVJcEFkZHJlc3MgYXJlIGNvbmZpZ3VyZWQgb24gdGhlIG5ldHdvcmsgaW50ZXJmYWNlIGxldmVsIGFuZFxuICAgIC8vIHRoZXJlIGlzIG5vIG5lZWQgdG8gY29uZmlndXJlIHRoZW0gb24gdGhlIGluc3RhbmNlIGxldmVsXG4gICAgdGhpcy5pbnN0YW5jZSA9IG5ldyBpbnN0YW5jZS5JbnN0YW5jZSh0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGFtaTogaW1hZ2VDb25maWcuaW1hZ2VJZCxcbiAgICAgIGtleU5hbWU6IHByb3BzLmtleVBhaXI/LmtleVBhaXJOYW1lID8/IHByb3BzPy5rZXlOYW1lLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUudG9TdHJpbmcoKSxcbiAgICAgIHN1Ym5ldElkOiBuZXR3b3JrSW50ZXJmYWNlcyA/IHVuZGVmaW5lZCA6IHN1Ym5ldC5zdWJuZXRJZCxcbiAgICAgIHZwY1NlY3VyaXR5R3JvdXBJZHM6IG5ldHdvcmtJbnRlcmZhY2VzID8gdW5kZWZpbmVkIDogc2VjdXJpdHlHcm91cHNUb2tlbixcbiAgICAgIGFzc29jaWF0ZVB1YmxpY0lwQWRkcmVzczogcHJvcHMuYXNzb2NpYXRlUHVibGljSXBBZGRyZXNzLFxuICAgICAgbmV0d29ya0ludGVyZmFjZTogbmV0d29ya0ludGVyZmFjZXMsXG4gICAgICBpYW1JbnN0YW5jZVByb2ZpbGUsXG4gICAgICB1c2VyRGF0YUJhc2U2NDogdGhpcy51c2VyRGF0YS5yZW5kZXIodGhpcyksXG4gICAgICAvLyB1bmxpa2UgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIvaW5zdGFuY2UudHMjTDY1MlxuICAgICAgdXNlckRhdGFSZXBsYWNlT25DaGFuZ2U6IHByb3BzLnVzZXJEYXRhQ2F1c2VzUmVwbGFjZW1lbnQgPz8gdHJ1ZSxcbiAgICAgIGF2YWlsYWJpbGl0eVpvbmU6IHN1Ym5ldC5hdmFpbGFiaWxpdHlab25lLFxuICAgICAgc291cmNlRGVzdENoZWNrOiBwcm9wcy5zb3VyY2VEZXN0Q2hlY2ssXG4gICAgICBlYnNCbG9ja0RldmljZTpcbiAgICAgICAgcHJvcHMuYmxvY2tEZXZpY2VzICE9PSB1bmRlZmluZWRcbiAgICAgICAgICA/IGluc3RhbmNlRWJzQmxvY2tEZXZpY2VNYXBwaW5ncyh0aGlzLCBwcm9wcy5ibG9ja0RldmljZXMpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICByb290QmxvY2tEZXZpY2U6XG4gICAgICAgIHByb3BzLmJsb2NrRGV2aWNlcyAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBpbnN0YW5jZVJvb3RCbG9ja0RldmljZU1hcHBpbmcodGhpcywgcHJvcHMuYmxvY2tEZXZpY2VzKVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZXBoZW1lcmFsQmxvY2tEZXZpY2U6XG4gICAgICAgIHByb3BzLmJsb2NrRGV2aWNlcyAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyBpbnN0YW5jZUVwaGVtZXJhbEJsb2NrRGV2aWNlTWFwcGluZ3MocHJvcHMuYmxvY2tEZXZpY2VzKVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgcHJpdmF0ZUlwOiBuZXR3b3JrSW50ZXJmYWNlcyA/IHVuZGVmaW5lZCA6IHByb3BzLnByaXZhdGVJcEFkZHJlc3MsXG4gICAgICB2b2x1bWVUYWdzLFxuICAgICAgbW9uaXRvcmluZzogcHJvcHMuZGV0YWlsZWRNb25pdG9yaW5nLFxuICAgICAgY3JlZGl0U3BlY2lmaWNhdGlvbjogcHJvcHMuY3JlZGl0U3BlY2lmaWNhdGlvblxuICAgICAgICA/IHsgY3B1Q3JlZGl0czogcHJvcHMuY3JlZGl0U3BlY2lmaWNhdGlvbiB9XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgZWJzT3B0aW1pemVkOiBwcm9wcy5lYnNPcHRpbWl6ZWQsXG4gICAgICBkaXNhYmxlQXBpVGVybWluYXRpb246IHByb3BzLmRpc2FibGVBcGlUZXJtaW5hdGlvbixcbiAgICAgIGluc3RhbmNlSW5pdGlhdGVkU2h1dGRvd25CZWhhdmlvcjpcbiAgICAgICAgcHJvcHMuaW5zdGFuY2VJbml0aWF0ZWRTaHV0ZG93bkJlaGF2aW9yLFxuICAgICAgcGxhY2VtZW50R3JvdXA6IHByb3BzLnBsYWNlbWVudEdyb3VwPy5wbGFjZW1lbnRHcm91cE5hbWUsXG4gICAgICBlbmNsYXZlT3B0aW9uczpcbiAgICAgICAgcHJvcHMuZW5jbGF2ZUVuYWJsZWQgIT09IHVuZGVmaW5lZFxuICAgICAgICAgID8geyBlbmFibGVkOiBwcm9wcy5lbmNsYXZlRW5hYmxlZCB9XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBoaWJlcm5hdGlvbjogcHJvcHMuaGliZXJuYXRpb25FbmFibGVkLFxuICAgICAgaXB2NkFkZHJlc3NDb3VudDogcHJvcHMuaXB2NkFkZHJlc3NDb3VudCxcbiAgICB9KTtcbiAgICB0aGlzLmluc3RhbmNlLm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLnJvbGUpO1xuXG4gICAgLy8gaWYgYXNzb2NpYXRlUHVibGljSXBBZGRyZXNzIGlzIHRydWUsIHRoZW4gdGhlcmUgbXVzdCBiZSBhIGRlcGVuZGVuY3kgb24gaW50ZXJuZXQgY29ubmVjdGl2aXR5XG4gICAgaWYgKFxuICAgICAgcHJvcHMuYXNzb2NpYXRlUHVibGljSXBBZGRyZXNzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHByb3BzLmFzc29jaWF0ZVB1YmxpY0lwQWRkcmVzc1xuICAgICkge1xuICAgICAgY29uc3QgaW50ZXJuZXRDb25uZWN0ZWQgPSBwcm9wcy52cGMuc2VsZWN0U3VibmV0cyhcbiAgICAgICAgcHJvcHMudnBjU3VibmV0cyxcbiAgICAgICkuaW50ZXJuZXRDb25uZWN0aXZpdHlFc3RhYmxpc2hlZDtcbiAgICAgIHRoaXMuaW5zdGFuY2Uubm9kZS5hZGREZXBlbmRlbmN5KGludGVybmV0Q29ubmVjdGVkKTtcbiAgICB9XG5cbiAgICBpZiAoIWhhc1B1YmxpYyAmJiBwcm9wcy5hc3NvY2lhdGVQdWJsaWNJcEFkZHJlc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJUbyBzZXQgJ2Fzc29jaWF0ZVB1YmxpY0lwQWRkcmVzczogdHJ1ZScgeW91IG11c3Qgc2VsZWN0IFB1YmxpYyBzdWJuZXRzICh2cGNTdWJuZXRzOiB7IHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDIH0pXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMub3NUeXBlID0gaW1hZ2VDb25maWcub3NUeXBlO1xuICAgIHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgPSB0aGlzLmluc3RhbmNlO1xuXG4gICAgdGhpcy5pbnN0YW5jZUlkID0gdGhpcy5pbnN0YW5jZS5pZDtcbiAgICB0aGlzLmluc3RhbmNlQXZhaWxhYmlsaXR5Wm9uZSA9IHRoaXMuaW5zdGFuY2UuYXZhaWxhYmlsaXR5Wm9uZTtcbiAgICB0aGlzLmluc3RhbmNlUHJpdmF0ZURuc05hbWUgPSB0aGlzLmluc3RhbmNlLnByaXZhdGVEbnM7XG4gICAgdGhpcy5pbnN0YW5jZVByaXZhdGVJcCA9IHRoaXMuaW5zdGFuY2UucHJpdmF0ZUlwO1xuICAgIHRoaXMuaW5zdGFuY2VQdWJsaWNEbnNOYW1lID0gdGhpcy5pbnN0YW5jZS5wdWJsaWNEbnM7XG4gICAgdGhpcy5pbnN0YW5jZVB1YmxpY0lwID0gdGhpcy5pbnN0YW5jZS5wdWJsaWNJcDtcbiAgICB0aGlzLnByaW1hcnlOZXR3b3JrSW50ZXJmYWNlSWQgPSB0aGlzLnByaW1hcnlOZXR3b3JrSW50ZXJmYWNlXG4gICAgICA/IHRoaXMucHJpbWFyeU5ldHdvcmtJbnRlcmZhY2UuaWRcbiAgICAgIDogdGhpcy5pbnN0YW5jZS5wcmltYXJ5TmV0d29ya0ludGVyZmFjZUlkO1xuXG4gICAgLy8gVE9ETzogQWRkIHN1cHBvcnQgZm9yIENmbiBTaWduYWxzXG4gICAgLy8gLy8gaWYgYm90aCB0aGUgcmVzb3VyY2VTaWduYWxUaW1lb3V0IGFuZCBpbml0T3B0aW9ucy50aW1lb3V0IGFyZSBzZXQsXG4gICAgLy8gLy8gdGhlIHRpbWVvdXQgaXMgc3VtbWVkIHRvZ2V0aGVyLiBUaGlzIGxvZ2ljIGlzIGRvbmUgaW4gYXBwbHlDbG91ZEZvcm1hdGlvbkluaXQuXG4gICAgLy8gLy8gVGhpcyBpcyBiZWNhdXNlIGFwcGx5VXBkYXRlUG9saWNpZXMgb3ZlcndyaXRlcyB0aGUgdGltZW91dCB3aGVuIGJvdGggdGltZW91dCBmaWVsZHMgYXJlIHNwZWNpZmllZC5cbiAgICAvLyB0aGlzLmFwcGx5VXBkYXRlUG9saWNpZXMocHJvcHMpO1xuXG4gICAgLy8gaWYgKHByb3BzLmluaXQpIHtcbiAgICAvLyAgIHRoaXMuYXBwbHlDbG91ZEZvcm1hdGlvbkluaXQocHJvcHMuaW5pdCwgcHJvcHMuaW5pdE9wdGlvbnMpO1xuICAgIC8vIH1cblxuICAgIGlmIChwcm9wcy5yZXF1aXJlSW1kc3YyKSB7XG4gICAgICBBc3BlY3RzLm9mKHRoaXMpLmFkZChuZXcgSW5zdGFuY2VSZXF1aXJlSW1kc3YyQXNwZWN0KCkpO1xuICAgICAgLy8gLCB7XG4gICAgICAvLyAgIHByaW9yaXR5OiBBc3BlY3RQcmlvcml0eS5NVVRBVElORyxcbiAgICAgIC8vIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgdGhlIHNlY3VyaXR5IGdyb3VwIHRvIHRoZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHNlY3VyaXR5R3JvdXA6IFRoZSBzZWN1cml0eSBncm91cCB0byBhZGRcbiAgICovXG4gIHB1YmxpYyBhZGRTZWN1cml0eUdyb3VwKHNlY3VyaXR5R3JvdXA6IElTZWN1cml0eUdyb3VwKTogdm9pZCB7XG4gICAgdGhpcy5zZWN1cml0eUdyb3Vwcy5wdXNoKHNlY3VyaXR5R3JvdXApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBjb21tYW5kIHRvIHRoZSBzdGFydHVwIHNjcmlwdCBvZiB0aGUgaW5zdGFuY2UuXG4gICAqIFRoZSBjb21tYW5kIG11c3QgYmUgaW4gdGhlIHNjcmlwdGluZyBsYW5ndWFnZSBzdXBwb3J0ZWQgYnkgdGhlIGluc3RhbmNlJ3MgT1MgKGkuZS4gTGludXgvV2luZG93cykuXG4gICAqL1xuICBwdWJsaWMgYWRkVXNlckRhdGEoLi4uY29tbWFuZHM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy51c2VyRGF0YS5hZGRDb21tYW5kcyguLi5jb21tYW5kcyk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHN0YXRlbWVudCB0byB0aGUgSUFNIHJvbGUgYXNzdW1lZCBieSB0aGUgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVG9Sb2xlUG9saWN5KHN0YXRlbWVudDogaWFtLlBvbGljeVN0YXRlbWVudCkge1xuICAgIHRoaXMucm9sZS5hZGRUb1ByaW5jaXBhbFBvbGljeShzdGF0ZW1lbnQpO1xuICB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIFVzZSBhIENsb3VkRm9ybWF0aW9uIEluaXQgY29uZmlndXJhdGlvbiBhdCBpbnN0YW5jZSBzdGFydHVwXG4gIC8vICAqXG4gIC8vICAqIFRoaXMgZG9lcyB0aGUgZm9sbG93aW5nOlxuICAvLyAgKlxuICAvLyAgKiAtIEF0dGFjaGVzIHRoZSBDbG91ZEZvcm1hdGlvbiBJbml0IG1ldGFkYXRhIHRvIHRoZSBJbnN0YW5jZSByZXNvdXJjZS5cbiAgLy8gICogLSBBZGQgY29tbWFuZHMgdG8gdGhlIGluc3RhbmNlIFVzZXJEYXRhIHRvIHJ1biBgY2ZuLWluaXRgIGFuZCBgY2ZuLXNpZ25hbGAuXG4gIC8vICAqIC0gVXBkYXRlIHRoZSBpbnN0YW5jZSdzIENyZWF0aW9uUG9saWN5IHRvIHdhaXQgZm9yIHRoZSBgY2ZuLXNpZ25hbGAgY29tbWFuZHMuXG4gIC8vICAqL1xuICAvLyBwdWJsaWMgYXBwbHlDbG91ZEZvcm1hdGlvbkluaXQoXG4gIC8vICAgaW5pdDogQ2xvdWRGb3JtYXRpb25Jbml0LFxuICAvLyAgIG9wdGlvbnM6IEFwcGx5Q2xvdWRGb3JtYXRpb25Jbml0T3B0aW9ucyA9IHt9LFxuICAvLyApIHtcbiAgLy8gICBpbml0LmF0dGFjaCh0aGlzLmluc3RhbmNlLCB7XG4gIC8vICAgICBwbGF0Zm9ybTogdGhpcy5vc1R5cGUsXG4gIC8vICAgICBpbnN0YW5jZVJvbGU6IHRoaXMucm9sZSxcbiAgLy8gICAgIHVzZXJEYXRhOiB0aGlzLnVzZXJEYXRhLFxuICAvLyAgICAgY29uZmlnU2V0czogb3B0aW9ucy5jb25maWdTZXRzLFxuICAvLyAgICAgZW1iZWRGaW5nZXJwcmludDogb3B0aW9ucy5lbWJlZEZpbmdlcnByaW50LFxuICAvLyAgICAgcHJpbnRMb2c6IG9wdGlvbnMucHJpbnRMb2csXG4gIC8vICAgICBpZ25vcmVGYWlsdXJlczogb3B0aW9ucy5pZ25vcmVGYWlsdXJlcyxcbiAgLy8gICAgIGluY2x1ZGVSb2xlOiBvcHRpb25zLmluY2x1ZGVSb2xlLFxuICAvLyAgICAgaW5jbHVkZVVybDogb3B0aW9ucy5pbmNsdWRlVXJsLFxuICAvLyAgIH0pO1xuICAvLyAgIHRoaXMud2FpdEZvclJlc291cmNlU2lnbmFsKG9wdGlvbnMudGltZW91dCA/PyBEdXJhdGlvbi5taW51dGVzKDUpKTtcbiAgLy8gfVxuXG4gIC8vIC8qKlxuICAvLyAgKiBXYWl0IGZvciBhIHNpbmdsZSBhZGRpdGlvbmFsIHJlc291cmNlIHNpZ25hbFxuICAvLyAgKlxuICAvLyAgKiBBZGQgMSB0byB0aGUgY3VycmVudCBSZXNvdXJjZVNpZ25hbCBDb3VudCBhbmQgYWRkIHRoZSBnaXZlbiB0aW1lb3V0IHRvIHRoZSBjdXJyZW50IHRpbWVvdXQuXG4gIC8vICAqXG4gIC8vICAqIFVzZSB0aGlzIHRvIHBhdXNlIHRoZSBDbG91ZEZvcm1hdGlvbiBkZXBsb3ltZW50IHRvIHdhaXQgZm9yIHRoZSBpbnN0YW5jZXNcbiAgLy8gICogaW4gdGhlIEF1dG9TY2FsaW5nR3JvdXAgdG8gcmVwb3J0IHN1Y2Nlc3NmdWwgc3RhcnR1cCBkdXJpbmdcbiAgLy8gICogY3JlYXRpb24gYW5kIHVwZGF0ZXMuIFRoZSBVc2VyRGF0YSBzY3JpcHQgbmVlZHMgdG8gaW52b2tlIGBjZm4tc2lnbmFsYFxuICAvLyAgKiB3aXRoIGEgc3VjY2VzcyBvciBmYWlsdXJlIGNvZGUgYWZ0ZXIgaXQgaXMgZG9uZSBzZXR0aW5nIHVwIHRoZSBpbnN0YW5jZS5cbiAgLy8gICovXG4gIC8vIHByaXZhdGUgd2FpdEZvclJlc291cmNlU2lnbmFsKHRpbWVvdXQ6IER1cmF0aW9uKSB7XG4gIC8vICAgY29uc3Qgb2xkUmVzb3VyY2VTaWduYWwgPVxuICAvLyAgICAgdGhpcy5pbnN0YW5jZS5jZm5PcHRpb25zLmNyZWF0aW9uUG9saWN5Py5yZXNvdXJjZVNpZ25hbDtcbiAgLy8gICB0aGlzLmluc3RhbmNlLmNmbk9wdGlvbnMuY3JlYXRpb25Qb2xpY3kgPSB7XG4gIC8vICAgICAuLi50aGlzLmluc3RhbmNlLmNmbk9wdGlvbnMuY3JlYXRpb25Qb2xpY3ksXG4gIC8vICAgICByZXNvdXJjZVNpZ25hbDoge1xuICAvLyAgICAgICBjb3VudDogKG9sZFJlc291cmNlU2lnbmFsPy5jb3VudCA/PyAwKSArIDEsXG4gIC8vICAgICAgIHRpbWVvdXQ6IChvbGRSZXNvdXJjZVNpZ25hbD8udGltZW91dFxuICAvLyAgICAgICAgID8gRHVyYXRpb24ucGFyc2Uob2xkUmVzb3VyY2VTaWduYWw/LnRpbWVvdXQpLnBsdXModGltZW91dClcbiAgLy8gICAgICAgICA6IHRpbWVvdXRcbiAgLy8gICAgICAgKS50b0lzb1N0cmluZygpLFxuICAvLyAgICAgfSxcbiAgLy8gICB9O1xuICAvLyB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIEFwcGx5IENsb3VkRm9ybWF0aW9uIHVwZGF0ZSBwb2xpY2llcyBmb3IgdGhlIGluc3RhbmNlXG4gIC8vICAqL1xuICAvLyBwcml2YXRlIGFwcGx5VXBkYXRlUG9saWNpZXMocHJvcHM6IEluc3RhbmNlUHJvcHMpIHtcbiAgLy8gICBpZiAocHJvcHMucmVzb3VyY2VTaWduYWxUaW1lb3V0ICE9PSB1bmRlZmluZWQpIHtcbiAgLy8gICAgIHRoaXMuaW5zdGFuY2UuY2ZuT3B0aW9ucy5jcmVhdGlvblBvbGljeSA9IHtcbiAgLy8gICAgICAgLi4udGhpcy5pbnN0YW5jZS5jZm5PcHRpb25zLmNyZWF0aW9uUG9saWN5LFxuICAvLyAgICAgICByZXNvdXJjZVNpZ25hbDoge1xuICAvLyAgICAgICAgIC4uLnRoaXMuaW5zdGFuY2UuY2ZuT3B0aW9ucy5jcmVhdGlvblBvbGljeT8ucmVzb3VyY2VTaWduYWwsXG4gIC8vICAgICAgICAgdGltZW91dDpcbiAgLy8gICAgICAgICAgIHByb3BzLnJlc291cmNlU2lnbmFsVGltZW91dCAmJlxuICAvLyAgICAgICAgICAgcHJvcHMucmVzb3VyY2VTaWduYWxUaW1lb3V0LnRvSXNvU3RyaW5nKCksXG4gIC8vICAgICAgIH0sXG4gIC8vICAgICB9O1xuICAvLyAgIH1cbiAgLy8gfVxufVxuXG4vLyAvKipcbi8vICAqIE9wdGlvbnMgZm9yIGFwcGx5aW5nIENsb3VkRm9ybWF0aW9uIGluaXQgdG8gYW4gaW5zdGFuY2Ugb3IgaW5zdGFuY2UgZ3JvdXBcbi8vICAqL1xuLy8gZXhwb3J0IGludGVyZmFjZSBBcHBseUNsb3VkRm9ybWF0aW9uSW5pdE9wdGlvbnMge1xuLy8gICAvKipcbi8vICAgICogQ29uZmlnU2V0IHRvIGFjdGl2YXRlXG4vLyAgICAqXG4vLyAgICAqIEBkZWZhdWx0IFsnZGVmYXVsdCddXG4vLyAgICAqL1xuLy8gICByZWFkb25seSBjb25maWdTZXRzPzogc3RyaW5nW107XG5cbi8vICAgLyoqXG4vLyAgICAqIFRpbWVvdXQgd2FpdGluZyBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gdG8gYmUgYXBwbGllZFxuLy8gICAgKlxuLy8gICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5taW51dGVzKDUpXG4vLyAgICAqL1xuLy8gICByZWFkb25seSB0aW1lb3V0PzogRHVyYXRpb247XG5cbi8vICAgLyoqXG4vLyAgICAqIEZvcmNlIGluc3RhbmNlIHJlcGxhY2VtZW50IGJ5IGVtYmVkZGluZyBhIGNvbmZpZyBmaW5nZXJwcmludFxuLy8gICAgKlxuLy8gICAgKiBJZiBgdHJ1ZWAgKHRoZSBkZWZhdWx0KSwgYSBoYXNoIG9mIHRoZSBjb25maWcgd2lsbCBiZSBlbWJlZGRlZCBpbnRvIHRoZVxuLy8gICAgKiBVc2VyRGF0YSwgc28gdGhhdCBpZiB0aGUgY29uZmlnIGNoYW5nZXMsIHRoZSBVc2VyRGF0YSBjaGFuZ2VzLlxuLy8gICAgKlxuLy8gICAgKiAtIElmIHRoZSBFQzIgaW5zdGFuY2UgaXMgaW5zdGFuY2Utc3RvcmUgYmFja2VkIG9yXG4vLyAgICAqICAgYHVzZXJEYXRhQ2F1c2VzUmVwbGFjZW1lbnRgIGlzIHNldCwgdGhpcyB3aWxsIGNhdXNlIHRoZSBpbnN0YW5jZSB0byBiZVxuLy8gICAgKiAgIHJlcGxhY2VkIGFuZCB0aGUgbmV3IGNvbmZpZ3VyYXRpb24gdG8gYmUgYXBwbGllZC5cbi8vICAgICogLSBJZiB0aGUgaW5zdGFuY2UgaXMgRUJTLWJhY2tlZCBhbmQgYHVzZXJEYXRhQ2F1c2VzUmVwbGFjZW1lbnRgIGlzIG5vdFxuLy8gICAgKiAgIHNldCwgdGhlIGNoYW5nZSBvZiBVc2VyRGF0YSB3aWxsIG1ha2UgdGhlIGluc3RhbmNlIHJlc3RhcnQgYnV0IG5vdCBiZVxuLy8gICAgKiAgIHJlcGxhY2VkLCBhbmQgdGhlIGNvbmZpZ3VyYXRpb24gd2lsbCBub3QgYmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5LlxuLy8gICAgKlxuLy8gICAgKiBJZiBgZmFsc2VgLCBubyBoYXNoIHdpbGwgYmUgZW1iZWRkZWQsIGFuZCBpZiB0aGUgQ2xvdWRGb3JtYXRpb24gSW5pdFxuLy8gICAgKiBjb25maWcgY2hhbmdlcyBub3RoaW5nIHdpbGwgaGFwcGVuIHRvIHRoZSBydW5uaW5nIGluc3RhbmNlLiBJZiBhXG4vLyAgICAqIGNvbmZpZyB1cGRhdGUgaW50cm9kdWNlcyBlcnJvcnMsIHlvdSB3aWxsIG5vdCBub3RpY2UgdW50aWwgYWZ0ZXIgdGhlXG4vLyAgICAqIENsb3VkRm9ybWF0aW9uIGRlcGxveW1lbnQgc3VjY2Vzc2Z1bGx5IGZpbmlzaGVzIGFuZCB0aGUgbmV4dCBpbnN0YW5jZVxuLy8gICAgKiBmYWlscyB0byBsYXVuY2guXG4vLyAgICAqXG4vLyAgICAqIEBkZWZhdWx0IHRydWVcbi8vICAgICovXG4vLyAgIHJlYWRvbmx5IGVtYmVkRmluZ2VycHJpbnQ/OiBib29sZWFuO1xuXG4vLyAgIC8qKlxuLy8gICAgKiBQcmludCB0aGUgcmVzdWx0cyBvZiBydW5uaW5nIGNmbi1pbml0IHRvIHRoZSBJbnN0YW5jZSBTeXN0ZW0gTG9nXG4vLyAgICAqXG4vLyAgICAqIEJ5IGRlZmF1bHQsIHRoZSBvdXRwdXQgb2YgcnVubmluZyBjZm4taW5pdCBpcyB3cml0dGVuIHRvIGEgbG9nIGZpbGVcbi8vICAgICogb24gdGhlIGluc3RhbmNlLiBTZXQgdGhpcyB0byBgdHJ1ZWAgdG8gcHJpbnQgaXQgdG8gdGhlIFN5c3RlbSBMb2dcbi8vICAgICogKHZpc2libGUgZnJvbSB0aGUgRUMyIENvbnNvbGUpLCBgZmFsc2VgIHRvIG5vdCBwcmludCBpdC5cbi8vICAgICpcbi8vICAgICogKEJlIGF3YXJlIHRoYXQgdGhlIHN5c3RlbSBsb2cgaXMgcmVmcmVzaGVkIGF0IGNlcnRhaW4gcG9pbnRzIGluXG4vLyAgICAqIHRpbWUgb2YgdGhlIGluc3RhbmNlIGxpZmUgY3ljbGUsIGFuZCBzdWNjZXNzZnVsIGV4ZWN1dGlvbiBtYXlcbi8vICAgICogbm90IGFsd2F5cyBzaG93IHVwKS5cbi8vICAgICpcbi8vICAgICogQGRlZmF1bHQgdHJ1ZVxuLy8gICAgKi9cbi8vICAgcmVhZG9ubHkgcHJpbnRMb2c/OiBib29sZWFuO1xuXG4vLyAgIC8qKlxuLy8gICAgKiBEb24ndCBmYWlsIHRoZSBpbnN0YW5jZSBjcmVhdGlvbiB3aGVuIGNmbi1pbml0IGZhaWxzXG4vLyAgICAqXG4vLyAgICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gcHJldmVudCBDbG91ZEZvcm1hdGlvbiBmcm9tIHJvbGxpbmcgYmFjayB3aGVuXG4vLyAgICAqIGluc3RhbmNlcyBmYWlsIHRvIHN0YXJ0IHVwLCB0byBoZWxwIGluIGRlYnVnZ2luZy5cbi8vICAgICpcbi8vICAgICogQGRlZmF1bHQgZmFsc2Vcbi8vICAgICovXG4vLyAgIHJlYWRvbmx5IGlnbm9yZUZhaWx1cmVzPzogYm9vbGVhbjtcblxuLy8gICAvKipcbi8vICAgICogSW5jbHVkZSAtLXVybCBhcmd1bWVudCB3aGVuIHJ1bm5pbmcgY2ZuLWluaXQgYW5kIGNmbi1zaWduYWwgY29tbWFuZHNcbi8vICAgICpcbi8vICAgICogVGhpcyB3aWxsIGJlIHRoZSBjbG91ZGZvcm1hdGlvbiBlbmRwb2ludCBpbiB0aGUgZGVwbG95ZWQgcmVnaW9uXG4vLyAgICAqIGUuZy4gaHR0cHM6Ly9jbG91ZGZvcm1hdGlvbi51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVxuLy8gICAgKlxuLy8gICAgKiBAZGVmYXVsdCBmYWxzZVxuLy8gICAgKi9cbi8vICAgcmVhZG9ubHkgaW5jbHVkZVVybD86IGJvb2xlYW47XG5cbi8vICAgLyoqXG4vLyAgICAqIEluY2x1ZGUgLS1yb2xlIGFyZ3VtZW50IHdoZW4gcnVubmluZyBjZm4taW5pdCBhbmQgY2ZuLXNpZ25hbCBjb21tYW5kc1xuLy8gICAgKlxuLy8gICAgKiBUaGlzIHdpbGwgYmUgdGhlIElBTSBpbnN0YW5jZSBwcm9maWxlIGF0dGFjaGVkIHRvIHRoZSBFQzIgaW5zdGFuY2Vcbi8vICAgICpcbi8vICAgICogQGRlZmF1bHQgZmFsc2Vcbi8vICAgICovXG4vLyAgIHJlYWRvbmx5IGluY2x1ZGVSb2xlPzogYm9vbGVhbjtcbi8vIH1cbiJdfQ==
|
|
@@ -41,7 +41,7 @@ class IpAddresses {
|
|
|
41
41
|
}
|
|
42
42
|
exports.IpAddresses = IpAddresses;
|
|
43
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
IpAddresses[_a] = { fqn: "terraconstructs.aws.compute.IpAddresses", version: "0.0.
|
|
44
|
+
IpAddresses[_a] = { fqn: "terraconstructs.aws.compute.IpAddresses", version: "0.0.20" };
|
|
45
45
|
/**
|
|
46
46
|
* Implements integration with Amazon VPC IP Address Manager (IPAM).
|
|
47
47
|
*
|
|
@@ -180,7 +180,7 @@ class Ipv6Addresses {
|
|
|
180
180
|
}
|
|
181
181
|
exports.Ipv6Addresses = Ipv6Addresses;
|
|
182
182
|
_b = JSII_RTTI_SYMBOL_1;
|
|
183
|
-
Ipv6Addresses[_b] = { fqn: "terraconstructs.aws.compute.Ipv6Addresses", version: "0.0.
|
|
183
|
+
Ipv6Addresses[_b] = { fqn: "terraconstructs.aws.compute.Ipv6Addresses", version: "0.0.20" };
|
|
184
184
|
/**
|
|
185
185
|
* Implements integration with Amazon provided IPv6 CIDRs.
|
|
186
186
|
*
|
package/lib/aws/compute/ipam.js
CHANGED
|
@@ -279,7 +279,7 @@ class Ipam extends aws_construct_1.AwsConstructBase {
|
|
|
279
279
|
}
|
|
280
280
|
exports.Ipam = Ipam;
|
|
281
281
|
_a = JSII_RTTI_SYMBOL_1;
|
|
282
|
-
Ipam[_a] = { fqn: "terraconstructs.aws.compute.alpha.Ipam", version: "0.0.
|
|
282
|
+
Ipam[_a] = { fqn: "terraconstructs.aws.compute.alpha.Ipam", version: "0.0.20" };
|
|
283
283
|
/**
|
|
284
284
|
* Function to create IpamPool under scope
|
|
285
285
|
* @internal
|
|
@@ -190,5 +190,5 @@ class KeyPair extends aws_construct_1.AwsConstructBase {
|
|
|
190
190
|
}
|
|
191
191
|
exports.KeyPair = KeyPair;
|
|
192
192
|
_a = JSII_RTTI_SYMBOL_1;
|
|
193
|
-
KeyPair[_a] = { fqn: "terraconstructs.aws.compute.KeyPair", version: "0.0.
|
|
193
|
+
KeyPair[_a] = { fqn: "terraconstructs.aws.compute.KeyPair", version: "0.0.20" };
|
|
194
194
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXBhaXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2NvbXB1dGUva2V5LXBhaXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0RkFBNEY7QUFFNUYsc0RBQTJEO0FBQzNELHNEQUFpRDtBQUNqRCxpQ0FBMkI7QUFFM0IsbURBQXNEO0FBQ3RELG9EQUkwQjtBQUMxQixvREFJOEI7QUFFOUIsTUFBTTtBQUNOLGdDQUFnQztBQUNoQyxNQUFNO0FBQ04sOEJBQThCO0FBQzlCLFFBQVE7QUFDUiw4Q0FBOEM7QUFDOUMsUUFBUTtBQUNSLGlCQUFpQjtBQUVqQixRQUFRO0FBQ1IsbUJBQW1CO0FBQ25CLFFBQVE7QUFDUixpQkFBaUI7QUFDakIsSUFBSTtBQUVKOztHQUVHO0FBQ0gsSUFBWSxXQVlYO0FBWkQsV0FBWSxXQUFXO0lBQ3JCOztPQUVHO0lBQ0gsMEJBQVcsQ0FBQTtJQUVYOzs7O09BSUc7SUFDSCxrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBWlcsV0FBVywyQkFBWCxXQUFXLFFBWXRCO0FBc0hEOzs7O0dBSUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxnQ0FBZ0I7SUFDM0M7O09BRUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUMzQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsV0FBbUI7UUFFbkIsT0FBTyxPQUFPLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUNqQyxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBd0I7UUFFeEIsTUFBTSxNQUFPLFNBQVEsZ0NBQWdCO1lBR25DLElBQVcsY0FBYztnQkFDdkIsT0FBTztvQkFDTCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQzdCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtpQkFDaEIsQ0FBQztZ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Q0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxNQUEyQjtRQUNoRCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQixLQUFLLFdBQVcsQ0FBQyxPQUFPO2dCQUN0QixPQUFPLE1BQU0sS0FBSyxtQ0FBbUIsQ0FBQyxPQUFPLENBQUM7WUFDaEQsS0FBSyxXQUFXLENBQUMsR0FBRztnQkFDbEIsT0FBTyxJQUFJLENBQUM7WUFDZDtnQkFDRSxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQzs7QUFwTkgsMEJBcU5DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2Jsb2IvdjIuMTc1LjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWVjMi9saWIva2V5LXBhaXIudHNcblxuaW1wb3J0IHsga2V5UGFpciBhcyB0ZktleVBhaXIgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF3c1wiO1xuaW1wb3J0IHsgcHJpdmF0ZUtleSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItdGxzXCI7XG5pbXBvcnQgeyBGbiB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE9wZXJhdGluZ1N5c3RlbVR5cGUgfSBmcm9tIFwiLi9tYWNoaW5lLWltYWdlXCI7XG5pbXBvcnQge1xuICBBd3NDb25zdHJ1Y3RCYXNlLFxuICBBd3NDb25zdHJ1Y3RQcm9wcyxcbiAgSUF3c0NvbnN0cnVjdCxcbn0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcbmltcG9ydCB7XG4gIFN0cmluZ1BhcmFtZXRlcixcbiAgSVN0cmluZ1BhcmFtZXRlcixcbiAgUGFyYW1ldGVyVHlwZSxcbn0gZnJvbSBcIi4uL3N0b3JhZ2UvcGFyYW1ldGVyXCI7XG5cbi8vIC8qKlxuLy8gICogVGhlIGZvcm1hdCBvZiB0aGUgS2V5IFBhaXJcbi8vICAqL1xuLy8gZXhwb3J0IGVudW0gS2V5UGFpckZvcm1hdCB7XG4vLyAgIC8qKlxuLy8gICAgKiBBIFBQSyBmaWxlLCB0eXBpY2FsbHkgdXNlZCB3aXRoIFB1VFRZLlxuLy8gICAgKi9cbi8vICAgUFBLID0gXCJwcGtcIixcblxuLy8gICAvKipcbi8vICAgICogQSBQRU0gZmlsZS5cbi8vICAgICovXG4vLyAgIFBFTSA9IFwicGVtXCIsXG4vLyB9XG5cbi8qKlxuICogVGhlIHR5cGUgb2YgdGhlIGtleSBwYWlyLlxuICovXG5leHBvcnQgZW51bSBLZXlQYWlyVHlwZSB7XG4gIC8qKlxuICAgKiBBbiBSU0Ega2V5LlxuICAgKi9cbiAgUlNBID0gXCJyc2FcIixcblxuICAvKipcbiAgICogQW4gRUQyNTUxOSBrZXkuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBFRDI1NTE5IGtleXMgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIFdpbmRvd3MgaW5zdGFuY2VzLlxuICAgKi9cbiAgRUQyNTUxOSA9IFwiZWQyNTUxOVwiLFxufVxuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIG9mIGEgS2V5IFBhaXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLZXlQYWlyUHJvcHMgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RQcm9wcyB7XG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBuYW1lIGZvciB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IEEgZ2VuZXJhdGVkIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGtleVBhaXJOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgdW5pcXVlIG5hbWUgYmVnaW5uaW5nIHdpdGggdGhlIHNwZWNpZmllZCBwcmVmaXguXG4gICAqXG4gICAqIENvbmZsaWN0cyB3aXRoIGBrZXlQYWlyTmFtZWAuIElmIG5laXRoZXIgYGtleVBhaXJOYW1lYCBub3IgYGtleVBhaXJOYW1lUHJlZml4YCBpcyBwcm92aWRlZCxcbiAgICogVGVycmFDb25zdHJ1Y3RzIHdpbGwgY3JlYXRlIGEgdW5pcXVlIGtleSBuYW1lIHVzaW5nIHRoZSBgZ3JpZFVVSURgIGFzIHByZWZpeC5cbiAgICpcbiAgICogQGRlZmF1bHQgQSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkga2V5UGFpck5hbWVQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLy8gLyoqXG4gIC8vICAqIFRoZSBmb3JtYXQgb2YgdGhlIGtleSBwYWlyLlxuICAvLyAgKlxuICAvLyAgKiBAZGVmYXVsdCBQRU1cbiAgLy8gICovXG4gIC8vIHJlYWRvbmx5IGZvcm1hdD86IEtleVBhaXJGb3JtYXQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGtleSBwYWlyLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSU0EgKGlnbm9yZWQgaWYga2V5TWF0ZXJpYWwgaXMgcHJvdmlkZWQpXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBwdWJsaWMga2V5IG1hdGVyaWFsLlxuICAgKlxuICAgKiBJZiB0aGlzIGlzIHByb3ZpZGVkIHRoZSBrZXkgaXMgY29uc2lkZXJlZCBcImltcG9ydGVkXCIuIEZvciBpbXBvcnRlZFxuICAgKiBrZXlzLCBpdCBpcyBhc3N1bWVkIHRoYXQgeW91IGFscmVhZHkgaGF2ZSB0aGUgcHJpdmF0ZSBrZXkgbWF0ZXJpYWxcbiAgICogc28gdGhlIHByaXZhdGUga2V5IG1hdGVyaWFsIHdpbGwgbm90IGJlIHJldHVybmVkIG9yIHN0b3JlZCBpblxuICAgKiBBV1MgU3lzdGVtcyBNYW5hZ2VyIFBhcmFtZXRlciBTdG9yZS5cbiAgICpcbiAgICogVGhlIHByaXZhdGUga2V5IGdlbmVyYXRlZCBieSB0aGlzIHJlc291cmNlIHdpbGwgYmUgc3RvcmVkIHVuZW5jcnlwdGVkXG4gICAqIGluIHlvdXIgVGVycmFmb3JtIHN0YXRlIGZpbGUuXG4gICAqXG4gICAqIE9taXR0aW5nIHRoZSBwdWJsaWNLZXlNYXRlcmlhbCBmb3IgcHJvZHVjdGlvbiBkZXBsb3ltZW50cyBpcyBub3QgcmVjb21tZW5kZWQuXG4gICAqIEluc3RlYWQsIGdlbmVyYXRlIGEgcHJpdmF0ZSBrZXkgZmlsZSBvdXRzaWRlIG9mIFRlcnJhZm9ybSBhbmQgZGlzdHJpYnV0ZSBpdFxuICAgKiBzZWN1cmVseSB0byB0aGUgc3lzdGVtIHdoZXJlIFRlcnJhZm9ybSB3aWxsIGJlIHJ1bi5cbiAgICpcbiAgICogQGRlZmF1bHQgYSBwdWJsaWMgYW5kIHByaXZhdGUga2V5IHdpbGwgYmUgZ2VuZXJhdGVkXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNLZXlNYXRlcmlhbD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBPdXRwdXRzIHdoaWNoIG1heSBiZSByZWdpc3RlcmVkIGZvciBvdXRwdXQgdmlhIHRoZSBHcmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXJPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIHR5cGUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBvZiBhIEtleSBQYWlyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleVBhaXJBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgbmFtZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIHR5cGUgc3BlY2lmaWVkXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG59XG5cbi8qKlxuICogQW4gRUMyIEtleSBQYWlyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElLZXlQYWlyIGV4dGVuZHMgSUF3c0NvbnN0cnVjdCB7XG4gIC8qKiBTdHJvbmdseSB0eXBlZCBvdXRwdXRzICovXG4gIHJlYWRvbmx5IGtleVBhaXJPdXRwdXRzOiBLZXlQYWlyT3V0cHV0cztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGtleSBwYWlyLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBrZXlQYWlyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUga2V5IHBhaXIuXG4gICAqL1xuICByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG5cbiAgLyoqXG4gICAqIFVzZWQgaW50ZXJuYWxseSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUga2V5IHBhaXIgaXMgY29tcGF0aWJsZSB3aXRoIGFuIE9TIHR5cGUuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX2lzT3NDb21wYXRpYmxlKG9zVHlwZTogT3BlcmF0aW5nU3lzdGVtVHlwZSk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gRUMyIEtleSBQYWlyLlxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkVDMjo6S2V5UGFpclxuICovXG5leHBvcnQgY2xhc3MgS2V5UGFpciBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5UGFpciB7XG4gIC8qKlxuICAgKiBJbXBvcnRzIGEga2V5IHBhaXIgYmFzZWQgb24gdGhlIG5hbWUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21LZXlQYWlyTmFtZShcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAga2V5UGFpck5hbWU6IHN0cmluZyxcbiAgKTogSUtleVBhaXIge1xuICAgIHJldHVybiBLZXlQYWlyLmZyb21LZXlQYWlyQXR0cmlidXRlcyhzY29wZSwgaWQsIHsga2V5UGFpck5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyBhIGtleSBwYWlyIHdpdGggYSBuYW1lIGFuZCBvcHRpb25hbCB0eXBlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tS2V5UGFpckF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBLZXlQYWlyQXR0cmlidXRlcyxcbiAgKTogSUtleVBhaXIge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIEF3c0NvbnN0cnVjdEJhc2UgaW1wbGVtZW50cyBJS2V5UGFpciB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkga2V5UGFpck5hbWU6IHN0cmluZztcbiAgICAgIHB1YmxpYyByZWFkb25seSB0eXBlPzogS2V5UGFpclR5cGU7XG4gICAgICBwdWJsaWMgZ2V0IGtleVBhaXJPdXRwdXRzKCk6IEtleVBhaXJPdXRwdXRzIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBrZXlQYWlyTmFtZTogdGhpcy5rZXlQYWlyTmFtZSxcbiAgICAgICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmtleVBhaXJPdXRwdXRzO1xuICAgICAgfVxuXG4gICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5rZXlQYWlyTmFtZSA9IGF0dHJzLmtleVBhaXJOYW1lO1xuICAgICAgICB0aGlzLnR5cGUgPSBhdHRycy50eXBlO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgaW50ZXJuYWxseSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUga2V5IHBhaXIgaXMgY29tcGF0aWJsZSB3aXRoIGFuIE9TIHR5cGUuXG4gICAgICAgKlxuICAgICAgICogQGludGVybmFsXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyBfaXNPc0NvbXBhdGlibGUob3NUeXBlOiBPcGVyYXRpbmdTeXN0ZW1UeXBlKTogYm9vbGVhbiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgY2FzZSBLZXlQYWlyVHlwZS5FRDI1NTE5OlxuICAgICAgICAgICAgcmV0dXJuIG9zVHlwZSAhPT0gT3BlcmF0aW5nU3lzdGVtVHlwZS5XSU5ET1dTO1xuICAgICAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGtleVBhaXJPdXRwdXRzKCk6IEtleVBhaXJPdXRwdXRzIHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5UGFpck5hbWU6IHRoaXMua2V5UGFpck5hbWUsXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgZ2V0IG91dHB1dHMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHRoaXMua2V5UGFpck91dHB1dHM7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBuYW1lIG9mIHRoZSBrZXkgcGFpci5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGtleVBhaXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmaW5nZXJwcmludCBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrZXlQYWlyRmluZ2VycHJpbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBJRCBvZiB0aGUga2V5IHBhaXIuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBrZXlQYWlySWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGtleSBwYWlyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU/OiBLZXlQYWlyVHlwZTtcblxuICAvLyBub3Qgc3VwcG9ydGVkIGluIFRlcnJhZm9ybVxuICAvLyAvKipcbiAgLy8gICogVGhlIGZvcm1hdCBvZiB0aGUga2V5IHBhaXIuXG4gIC8vICAqL1xuICAvLyBwdWJsaWMgcmVhZG9ubHkgZm9ybWF0OiBLZXlQYWlyRm9ybWF0O1xuXG4gIHByaXZhdGUgX3ByaXZhdGVLZXk/OiBwcml2YXRlS2V5LlByaXZhdGVLZXk7XG4gIHByaXZhdGUgX3ByaXZhdGVLZXlTc20/OiBJU3RyaW5nUGFyYW1ldGVyO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pc0ltcG9ydDogYm9vbGVhbjtcblxuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IHRmS2V5UGFpci5LZXlQYWlyO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogS2V5UGFpclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHM/LmtleVBhaXJOYW1lICYmIHByb3BzPy5rZXlQYWlyTmFtZVByZWZpeCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNhbm5vdCBzcGVjaWZ5IGJvdGggJ2tleVBhaXJOYW1lJyBhbmQgJ2tleVBhaXJOYW1lUHJlZml4J1wiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXlQYWlyTmFtZVByZWZpeCA9XG4gICAgICBwcm9wcz8ua2V5UGFpck5hbWVQcmVmaXggfHxcbiAgICAgIHRoaXMuc3RhY2sudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHtcbiAgICAgICAgcHJlZml4OiB0aGlzLmdyaWRVVUlELFxuICAgICAgICBtYXhMZW5ndGg6IDI1NSxcbiAgICAgIH0pO1xuXG4gICAgLy8gTGF6eS5zdHJpbmdWYWx1ZSh7XG4gICAgLy8gICBwcm9kdWNlOiAoKSA9PiBBd3NTdGFjay51bmlxdWVSZXNvdXJjZU5hbWUodGhpcywgeyBtYXhMZW5ndGg6IDI1NSB9KSxcbiAgICAvLyB9KTtcblxuICAgIGlmIChwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWwgJiYgcHJvcHM/LnR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBzcGVjaWZ5ICd0eXBlJyBmb3Iga2V5cyB3aXRoIGltcG9ydGVkIG1hdGVyaWFsXCIpO1xuICAgIH1cblxuICAgIHRoaXMuX2lzSW1wb3J0ID0gISFwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWw7XG5cbiAgICBjb25zdCBrZXlUeXBlID0gcHJvcHM/LnR5cGUgPz8gS2V5UGFpclR5cGUuUlNBO1xuICAgIGxldCBwdWJsaWNLZXkgPSBwcm9wcz8ucHVibGljS2V5TWF0ZXJpYWw7XG4gICAgaWYgKCFwdWJsaWNLZXkpIHtcbiAgICAgIGxldCBhbGdvcml0aG06IFwiUlNBXCIgfCBcIkVDRFNBXCIgfCBcIkVEMjU1MTlcIjtcbiAgICAgIHN3aXRjaCAoa2V5VHlwZSkge1xuICAgICAgICBjYXNlIEtleVBhaXJUeXBlLkVEMjU1MTk6XG4gICAgICAgICAgYWxnb3JpdGhtID0gXCJFRDI1NTE5XCI7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGFsZ29yaXRobSA9IFwiUlNBXCI7XG4gICAgICB9XG4gICAgICB0aGlzLl9wcml2YXRlS2V5ID0gbmV3IHByaXZhdGVLZXkuUHJpdmF0ZUtleSh0aGlzLCBcIlByaXZhdGVLZXlcIiwge1xuICAgICAgICBhbGdvcml0aG0sXG4gICAgICB9KTtcbiAgICAgIHB1YmxpY0tleSA9IEZuLnRyaW1zcGFjZSh0aGlzLl9wcml2YXRlS2V5LnB1YmxpY0tleU9wZW5zc2gpO1xuICAgIH1cblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgdGZLZXlQYWlyLktleVBhaXIodGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBrZXlOYW1lOiBwcm9wcz8ua2V5UGFpck5hbWUsXG4gICAgICBrZXlOYW1lUHJlZml4OiBrZXlQYWlyTmFtZVByZWZpeCxcbiAgICAgIC8vIGtleUZvcm1hdDogcHJvcHM/LmZvcm1hdCA/PyBLZXlQYWlyRm9ybWF0LlBFTSxcbiAgICAgIHB1YmxpY0tleSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLl9wcml2YXRlS2V5KSB7XG4gICAgICAvLyBpZiBwcml2YXRlS2V5IHdhcyBnZW5lcmF0ZWQsIG1pbWljIENGTiBiZWhhdmlvciB3aXRoIFNTTVxuICAgICAgdGhpcy5fcHJpdmF0ZUtleVNzbSA9IG5ldyBTdHJpbmdQYXJhbWV0ZXIodGhpcywgXCJQcml2YXRlS2V5UGFyYW1ldGVyXCIsIHtcbiAgICAgICAgcGFyYW1ldGVyTmFtZTogYC9lYzIva2V5cGFpci8ke3RoaXMucmVzb3VyY2UuaWR9YCxcbiAgICAgICAgZGVzY3JpcHRpb246IGBQcml2YXRlIGtleSBmb3IgJHt0aGlzLnJlc291cmNlLmtleU5hbWV9YCxcbiAgICAgICAgdHlwZTogUGFyYW1ldGVyVHlwZS5TRUNVUkVfU1RSSU5HLFxuICAgICAgICBzZW5zaXRpdmVTdHJpbmdWYWx1ZTogdGhpcy5fcHJpdmF0ZUtleS5wcml2YXRlS2V5UGVtLFxuICAgICAgICBzaW1wbGVOYW1lOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMua2V5UGFpck5hbWUgPSB0aGlzLnJlc291cmNlLmtleU5hbWU7XG4gICAgdGhpcy5rZXlQYWlyRmluZ2VycHJpbnQgPSB0aGlzLnJlc291cmNlLmZpbmdlcnByaW50O1xuICAgIHRoaXMua2V5UGFpcklkID0gdGhpcy5yZXNvdXJjZS5pZDtcbiAgICB0aGlzLnR5cGUgPSBrZXlUeXBlO1xuICAgIC8vIHRoaXMuZm9ybWF0ID0ga2V5Rm9ybWF0O1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGtleSBtYXRlcmlhbCB3YXMgaW1wb3J0ZWQuXG4gICAqXG4gICAqIEtleXMgd2l0aCBpbXBvcnRlZCBtYXRlcmlhbCBkbyBub3QgaGF2ZSB0aGVpciBwcml2YXRlIGtleSBtYXRlcmlhbCBzdG9yZWRcbiAgICogb3IgcmV0dXJuZWQgYXV0b21hdGljYWxseS5cbiAgICovXG4gIHB1YmxpYyBnZXQgaGFzSW1wb3J0ZWRNYXRlcmlhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNJbXBvcnQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIFN5c3RlbXMgTWFuYWdlciBQYXJhbWV0ZXIgU3RvcmUgcGFyYW1ldGVyIHdpdGggdGhlIHBhaXIncyBwcml2YXRlIGtleSBtYXRlcmlhbC5cbiAgICovXG4gIHB1YmxpYyBnZXQgcHJpdmF0ZUtleSgpOiBJU3RyaW5nUGFyYW1ldGVyIHtcbiAgICBpZiAodGhpcy5faXNJbXBvcnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJBbiBTU00gcGFyYW1ldGVyIHdpdGggcHJpdmF0ZSBrZXkgbWF0ZXJpYWwgaXMgbm90IGNyZWF0ZWQgZm9yIGltcG9ydGVkIGtleXNcIixcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIGVsc2UsIHRoaXMgaXMgZ3VhcmFudGVlZCB0byBiZSBzZXRcbiAgICByZXR1cm4gdGhpcy5fcHJpdmF0ZUtleVNzbSE7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBpbnRlcm5hbGx5IHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBrZXkgcGFpciBpcyBjb21wYXRpYmxlIHdpdGggYW4gT1MgdHlwZS5cbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2lzT3NDb21wYXRpYmxlKG9zVHlwZTogT3BlcmF0aW5nU3lzdGVtVHlwZSk6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICBjYXNlIEtleVBhaXJUeXBlLkVEMjU1MTk6XG4gICAgICAgIHJldHVybiBvc1R5cGUgIT09IE9wZXJhdGluZ1N5c3RlbVR5cGUuV0lORE9XUztcbiAgICAgIGNhc2UgS2V5UGFpclR5cGUuUlNBOlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxufVxuIl19
|