truemark-cdk-lib 1.6.7-alpha.4 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -52,12 +52,6 @@ export interface StandardFargateServiceProps extends ExtendedConstructProps {
52
52
  * @default - false
53
53
  */
54
54
  readonly disableXray?: boolean;
55
- /**
56
- * Disables SSM access. Default is false.
57
- *
58
- * @default - false
59
- */
60
- readonly disableSsmAccess?: boolean;
61
55
  /**
62
56
  * Enables the ability to push custom metrics to CloudWatch from the service.
63
57
  *
@@ -31,17 +31,6 @@ class StandardFargateService extends aws_cdk_1.ExtendedConstruct {
31
31
  actions: ['cloudwatch:PutMetricData'],
32
32
  }));
33
33
  }
34
- if (!props.disableSsmAccess) {
35
- taskDefinition.addToExecutionRolePolicy(new aws_iam_1.PolicyStatement({
36
- resources: ["*"],
37
- actions: [
38
- "ssmmessages:CreateControlChannel",
39
- "ssmmessages:CreateDataChannel",
40
- "ssmmessages:OpenControlChannel",
41
- "ssmmessages:OpenDataChannel"
42
- ]
43
- }));
44
- }
45
34
  const logGroup = this.resolveLogGroup(this, props);
46
35
  const logging = this.resolveLogDriver(this, props, logGroup);
47
36
  const port = (_d = props.port) !== null && _d !== void 0 ? _d : 8080;
@@ -203,4 +192,4 @@ class StandardFargateService extends aws_cdk_1.ExtendedConstruct {
203
192
  }
204
193
  }
205
194
  exports.StandardFargateService = StandardFargateService;
206
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQWE2QjtBQUU3QixpREFBK0U7QUFDL0UsbURBQTZEO0FBQzdELDZDQUFvRDtBQUNwRCxpREFBb0Q7QUFJcEQsMkNBQXNGO0FBQ3RGLDZDQUErQztBQXdRL0M7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwyQkFBaUI7SUErRDNELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7O1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUMsWUFBWSxFQUFFLHNCQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsMEJBQWUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUUxRixNQUFNLGNBQWMsR0FBRyxJQUFJLCtCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDakUsR0FBRyxRQUFFLEtBQUssQ0FBQyxHQUFHLG1DQUFJLElBQUk7WUFDdEIsY0FBYyxRQUFFLEtBQUssQ0FBQyxjQUFjLG1DQUFJLElBQUk7WUFDNUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxlQUFlLEVBQUU7Z0JBQ2YscUJBQXFCLEVBQUUsK0JBQXFCLENBQUMsS0FBSztnQkFDbEQsZUFBZSxRQUFFLEtBQUssQ0FBQyxlQUFlLG1DQUFJLHlCQUFlLENBQUMsS0FBSzthQUNoRTtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3RCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDaEMsSUFBSSx5QkFBZSxDQUFDO2dCQUNsQixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2FBQ3RDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7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QUM7SUFDeEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsZUFBZSxDQUFDLEVBQVUsRUFBRSxLQUFzQjtRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNGO0FBOU5ELHdEQThOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5LFxuICBDb250YWluZXJJbWFnZSxcbiAgQ3B1QXJjaGl0ZWN0dXJlLFxuICBEZXBsb3ltZW50Q29udHJvbGxlclR5cGUsXG4gIEZhcmdhdGVQbGF0Zm9ybVZlcnNpb24sXG4gIEZhcmdhdGVTZXJ2aWNlLFxuICBGYXJnYXRlVGFza0RlZmluaXRpb24sXG4gIElDbHVzdGVyLFxuICBMb2dEcml2ZXIsXG4gIE9wZXJhdGluZ1N5c3RlbUZhbWlseSxcbiAgUHJvdG9jb2wsIFNjYWxhYmxlVGFza0NvdW50LFxuICBTZWNyZXRcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7TG9nQ29uZmlndXJhdGlvbn0gZnJvbSBcIi4vbG9nLWNvbmZpZ3VyYXRpb25cIjtcbmltcG9ydCB7U2VjdXJpdHlHcm91cCwgU3VibmV0U2VsZWN0aW9uLCBTdWJuZXRUeXBlfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHtMb2dHcm91cCwgUmV0ZW50aW9uRGF5c30gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sb2dzXCI7XG5pbXBvcnQge0R1cmF0aW9uLCBSZW1vdmFsUG9saWN5fSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7UG9saWN5U3RhdGVtZW50fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHtCYXNpY1N0ZXBTY2FsaW5nUG9saWN5UHJvcHN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXV0b3NjYWxpbmdcIjtcbmltcG9ydCB7SU1ldHJpY30gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5pbXBvcnQge1NjYWxpbmdTY2hlZHVsZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcHBsaWNhdGlvbmF1dG9zY2FsaW5nXCI7XG5pbXBvcnQge0V4dGVuZGVkQ29uc3RydWN0LCBFeHRlbmRlZENvbnN0cnVjdFByb3BzLCBTdGFuZGFyZFRhZ3N9IGZyb20gXCIuLi8uLi9hd3MtY2RrXCI7XG5pbXBvcnQge0xpYlN0YW5kYXJkVGFnc30gZnJvbSBcIi4uLy4uL3RydWVtYXJrXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgU3RhbmRhcmRGYXJnYXRlU2VydmljZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMgZXh0ZW5kcyBFeHRlbmRlZENvbnN0cnVjdFByb3BzIHtcblxuICAvKipcbiAgICogVGhlIENQVSBhbGxvY2F0ZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMjA0OFxuICAgKi9cbiAgcmVhZG9ubHkgY3B1PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVtb3J5IGFsbG9jYXRlZCB0byB0aGUgdGFzay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSA0MDk2XG4gICAqL1xuICByZWFkb25seSBtZW1vcnlMaW1pdE1pQj86IG51bWJlcjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgZXBoZW1lcmFsIHN0b3JhZ2UgYWxsb2NhdGVkIHRvIHRoZSB0YXNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwXG4gICAqL1xuICByZWFkb25seSBlcGhlbWVyYWxTdG9yYWdlR2lCPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDUFUgYXJjaGl0ZWN0dXJlIHRvIHVzZSBmb3IgdGhlIHRhc2tcbiAgICpcbiAgICogQGRlZmF1bHQgLSBDcHVBcmNoaXRlY3R1cmUuQVJNNjRcbiAgICovXG4gIHJlYWRvbmx5IGNwdUFyY2hpdGVjdHVyZT86IENwdUFyY2hpdGVjdHVyZTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHNlcnZpY2UgYXMgaXQgYXBwZWFycyBpbiB0aGUgY29uc29sZSBvciBpbiB0aGUgQVdTIENMSS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBDbG91ZEZvcm1hdGlvbi1nZW5lcmF0ZWQgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMb2cgY29uZmlndXJhdGlvbiBmb3IgdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nQ29uZmlndXJhdGlvbj86IExvZ0NvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIFgtUmF5IGZvciB0aGlzIHNlcnZpY2UuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVYcmF5PzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBTU00gYWNjZXNzLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlU3NtQWNjZXNzPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSBhYmlsaXR5IHRvIHB1c2ggY3VzdG9tIG1ldHJpY3MgdG8gQ2xvdWRXYXRjaCBmcm9tIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVB1Ymxpc2hNZXRyaWNzPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBUaGUgY2x1c3RlciB0byBwbGFjZSBzZXJ2aWNlcyBpbi5cbiAgICovXG4gIHJlYWRvbmx5IGNsdXN0ZXI6IElDbHVzdGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGFpbmVyIHBvcnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDgwODBcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHBvcnQgaXMgVENQIG9yIFVEUC5cbiAgICpcbiAgICogQGRlZmF1bHQgUHJvdG9jb2wuVENQXG4gICAqL1xuICByZWFkb25seSBwcm90b2NvbD86IFByb3RvY29sO1xuXG4gIC8qKlxuICAgKiBDb250YWluZXIgaW1hZ2UgdG8gZGVwbG95IGluIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGltYWdlOiBDb250YWluZXJJbWFnZTtcblxuICAvKipcbiAgICogU3VibmV0cyB0byBwdXQgdGhlIHNlcnZpY2UgaW4uIElmIHRoaXMgaXMgbGVmdCBlbXB0eSwgc3VibmV0IHR5cGUgUFJJVkFURV9XSVRIX0VHUkVTUyBpcyB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjU3VibmV0cz86IFN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHBhc3MgdG8gdGhpcyBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBBIGtleS92YWx1ZSBtYXAgb2YgbGFiZWxzIHRvIGFkZCB0byB0aGUgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyTGFiZWxzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIHNlY3JldCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGFzcyB0byB0aGUgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0cz86IFJlY29yZDxzdHJpbmcsIFNlY3JldD47XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0YXNrcywgc3BlY2lmaWVkIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgQW1hem9uIEVDU1xuICAgKiBzZXJ2aWNlJ3MgRGVzaXJlZENvdW50IHZhbHVlLCB0aGF0IGNhbiBydW4gaW4gYSBzZXJ2aWNlIGR1cmluZyBhXG4gICAqIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMjAwXG4gICAqL1xuICByZWFkb25seSBtYXhIZWFsdGh5UGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIHRhc2tzLCBzcGVjaWZpZWQgYXMgYSBwZXJjZW50YWdlIG9mXG4gICAqIHRoZSBBbWF6b24gRUNTIHNlcnZpY2UncyBEZXNpcmVkQ291bnQgdmFsdWUsIHRoYXQgbXVzdFxuICAgKiBjb250aW51ZSB0byBydW4gYW5kIHJlbWFpbiBoZWFsdGh5IGR1cmluZyBhIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMTAwXG4gICAqL1xuICByZWFkb25seSBtaW5IZWFsdGh5UGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogRW5hYmxlIHJvbGxiYWNrIG9uIGRlcGxveW1lbnQgZmFpbHVyZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZVJvbGxiYWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoaWNoIGRlcGxveW1lbnQgY29udHJvbGxlciB0byB1c2UgZm9yIHRoZSBzZXJ2aWNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLkVDU1xuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudENvbnRyb2xsZXJUeXBlPzogRGVwbG95bWVudENvbnRyb2xsZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVuYWJsZSB0aGUgYWJpbGl0eSB0byBleGVjdXRlIGludG8gYSBjb250YWluZXJcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVFeGVjdXRlQ29tbWFuZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwbGF0Zm9ybSB2ZXJzaW9uIG9uIHdoaWNoIHRvIHJ1biB5b3VyIHNlcnZpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRmFyZ2F0ZVBsYXRmb3JtVmVyc2lvbi5MQVRFU1RcbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtVmVyc2lvbj86IEZhcmdhdGVQbGF0Zm9ybVZlcnNpb247XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYXNzaWduIGEgcHVibGljIElQIGFkZHJlc3MgdG8gdGhlIGNvbnRhaW5lcnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnblB1YmxpY0lwPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gZW5hYmxlIEFtYXpvbiBFQ1MgbWFuYWdlZCB0YWdzIGZvciB0aGUgdGFza3Mgd2l0aGluIHRoZSBzZXJ2aWNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRUNTTWFuYWdlZFRhZ3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyaW9kIG9mIHRpbWUsIGluIHNlY29uZHMsIHRoYXQgdGhlIEFtYXpvbiBFQ1Mgc2VydmljZSBzY2hlZHVsZXIgaWdub3JlcyB1bmhlYWx0aHkgRWxhc3RpYyBMb2FkIEJhbGFuY2luZyB0YXJnZXQgaGVhbHRoIGNoZWNrcyBhZnRlciBhIHRhc2sgaGFzIGZpcnN0IHN0YXJ0ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRHVyYXRpb24uc2Vjb25kcygzMClcbiAgICovXG4gIHJlYWRvbmx5IGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogRGVzaXJlZCBjb3VudCBmb3IgdGhpcyBzZXJ2aWNlLiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byBtaW5DYXBhY2l0eS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBtaW5DYXBhY2l0eVxuICAgKi9cbiAgcmVhZG9ubHkgZGVzaXJlZENvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNaW5pbXVtIGNhcGFjaXR5IHRvIHNjYWxlIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDFcbiAgICovXG4gIHJlYWRvbmx5IG1pbkNhcGFjaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBNYXhpbXVtIGNhcGFjaXR5IHRvIHNjYWxlIHRvLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDJcbiAgICovXG4gIHJlYWRvbmx5IG1heENhcGFjaXR5PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBQZXJpb2QgYWZ0ZXIgYSBzY2FsZSBpbiBhY3Rpdml0eSBjb21wbGV0ZXMgYmVmb3JlIGFub3RoZXIgc2NhbGUgaW4gYWN0aXZpdHkgY2FuIHN0YXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoMTApXG4gICAqL1xuICByZWFkb25seSBzY2FsZUluQ29vbGRvd24/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogUGVyaW9kIGFmdGVyIGEgc2NhbGUgb3V0IGFjdGl2aXR5IGNvbXBsZXRlcyBiZWZvcmUgYW5vdGhlciBzY2FsZSBvdXQgYWN0aXZpdHkgY2FuIHN0YXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoNjApXG4gICAqL1xuICByZWFkb25seSBzY2FsZU91dENvb2xkb3duPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0YXJnZXQgdmFsdWUgZm9yIENQVSB1dGlsaXphdGlvbiBhY3Jvc3MgYWxsIHRhc2tzIGluIHRoZSBzZXJ2aWNlLlxuICAgKiBTZXQgdGhpcyB0byAwIHRvIGRpc2FibGUgQ1BVIHNjYWxpbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNjBcbiAgICovXG4gIHJlYWRvbmx5IHNjYWxlQ3B1VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZhbHVlIGZvciBtZW1vcnkgdXRpbGl6YXRpb24gYWNyb3NzIGFsbCB0YXNrcyBpbiB0aGUgc2VydmljZS5cbiAgICogRGlzYWJsZWQgYnkgZGVmYXVsdC5cbiAgICovXG4gIHJlYWRvbmx5IHNjYWxlTWVtb3J5VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDYXBhY2l0eSB3ZWlnaHQgZm9yIHRoZSBGQVJHQVRFIGNhcGFjaXR5IHByb3ZpZGVyLiBEZWZhdWx0IGlzIHRvIG5vdCB1c2UgY2FwYWNpdHkgcHJvdmlkZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWNpdHlXZWlnaHQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB0YXNrcyB0byBydW4gb24gdGhlIEZBUkdBVEUgY2FwYWNpdHkgcHJvdmlkZXIuIERlZmF1bHQgaXMgdG8gbm90IHVzZSBjYXBhY2l0eSBwcm92aWRlcnMuXG4gICAqL1xuICByZWFkb25seSBjYXBhY2l0eUJhc2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENhcGFjaXR5IHdlaWdodCBmb3IgdGhlIEZBUkdBVEVfU1BPVCBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHNwb3RDYXBhY2l0eVdlaWdodD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1pbmltdW0gbnVtYmVyIG9mIHRhc2tzIHRvIHJ1biBvbiB0aGUgRkFSR0FURV9TUE9UIGNhcGFjaXR5IHByb3ZpZGVyLiBEZWZhdWx0IGlzIHRvIG5vdCB1c2UgY2FwYWNpdHkgcHJvdmlkZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3BvdENhcGFjaXR5QmFzZT86IG51bWJlcjtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBzdXBwcmVzcyB0aGUgY3JlYXRpb24gb2YgZGVmYXVsdCB0YWdzIG9uIHJlc291cmNlc1xuICAgKiBjcmVhdGVkIGJ5IHRoaXMgY29uc3RydWN0LiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBzdXBwcmVzc1RhZ2dpbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIGVuYWJsZSBvdXRib3VuZCBJUHY2IGZvciB0aGUgc2VydmljZS4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxsb3dBbGxJcHY2T3V0Ym91bmQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFN0YW5kYXJkIGNsYXNzIGZvciBjcmVhdGluZyBhIEZhcmdhdGVTZXJ2aWNlLiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgU3RhbmRhcmRBcHBsaWNhdGlvbkZhcmdhdGVTZXJ2aWNlIG9yXG4gKiBTdGFuZGFyZE5ldHdvcmtGYXJnYXRlU2VydmljZSBpbnN0ZWFkIG9mIHRoaXMgY2xhc3MuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3Qge1xuXG4gIHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uOiBGYXJnYXRlVGFza0RlZmluaXRpb247XG4gIHJlYWRvbmx5IGxvZ0dyb3VwPzogTG9nR3JvdXA7XG4gIHJlYWRvbmx5IHNlcnZpY2U6IEZhcmdhdGVTZXJ2aWNlO1xuICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gIHJlYWRvbmx5IHNjYWxpbmc6IFNjYWxhYmxlVGFza0NvdW50O1xuICByZWFkb25seSBzY2FsZUluQ29vbGRvd246IER1cmF0aW9uO1xuICByZWFkb25seSBzY2FsZU91dENvb2xkb3duOiBEdXJhdGlvbjtcbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcblxuICBwcm90ZWN0ZWQgcmVzb2x2ZUxvZ0dyb3VwKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpOiBMb2dHcm91cCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LmVuYWJsZWQgPz8gdHJ1ZSkge1xuICAgICAgcmV0dXJuIG5ldyBMb2dHcm91cChzY29wZSwgXCJMb2dHcm91cFwiLCB7XG4gICAgICAgIHJldGVudGlvbjogcHJvcHMubG9nQ29uZmlndXJhdGlvbj8ucmV0ZW50aW9uID8/IFJldGVudGlvbkRheXMuRklWRV9EQVlTLFxuICAgICAgICBsb2dHcm91cE5hbWU6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LmxvZ0dyb3VwTmFtZSxcbiAgICAgICAgZW5jcnlwdGlvbktleTogcHJvcHMubG9nQ29uZmlndXJhdGlvbj8uZW5jcnlwdGlvbktleSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogcHJvcHMubG9nQ29uZmlndXJhdGlvbj8ucmVtb3ZhbFBvbGljeSA/PyBSZW1vdmFsUG9saWN5LkRFU1RST1lcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVMb2dEcml2ZXIoc2NvcGU6IENvbnN0cnVjdCwgcHJvcHM6IFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2VQcm9wcywgbG9nR3JvdXA6IExvZ0dyb3VwIHwgdW5kZWZpbmVkKTpcbiAgICBMb2dEcml2ZXIgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIHJldHVybiBMb2dEcml2ZXIuYXdzTG9ncyh7XG4gICAgICAgIHN0cmVhbVByZWZpeDogc2NvcGUubm9kZS5pZCxcbiAgICAgICAgbG9nR3JvdXBcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVWcGNTdWJuZXRzKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpOiBTdWJuZXRTZWxlY3Rpb24ge1xuICAgIGlmIChwcm9wcy52cGNTdWJuZXRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcHJvcHMudnBjU3VibmV0c1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVkQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMocHJvcHM6IFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2VQcm9wcyk6XG4gICAgQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5W10gfCB1bmRlZmluZWQge1xuICAgIGxldCBzdHJhdGVnaWVzOiBDYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3lbXSA9IFtdO1xuICAgIGlmIChwcm9wcy5jYXBhY2l0eVdlaWdodCAhPT0gdW5kZWZpbmVkIHx8IHByb3BzLmNhcGFjaXR5QmFzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBzdHJhdGVnaWVzLnB1c2goe1xuICAgICAgICBjYXBhY2l0eVByb3ZpZGVyOiBcIkZBUkdBVEVcIixcbiAgICAgICAgYmFzZTogcHJvcHMuY2FwYWNpdHlCYXNlLFxuICAgICAgICB3ZWlnaHQ6IHByb3BzLmNhcGFjaXR5V2VpZ2h0XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHByb3BzLnNwb3RDYXBhY2l0eVdlaWdodCAhPT0gdW5kZWZpbmVkIHx8IHByb3BzLnNwb3RDYXBhY2l0eUJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgY2FwYWNpdHlQcm92aWRlcjogXCJGQVJHQVRFX1NQT1RcIixcbiAgICAgICAgYmFzZTogcHJvcHMuc3BvdENhcGFjaXR5QmFzZSxcbiAgICAgICAgd2VpZ2h0OiBwcm9wcy5zcG90Q2FwYWNpdHlXZWlnaHRcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3RyYXRlZ2llcy5sZW5ndGggPiAwID8gc3RyYXRlZ2llcyA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtzdGFuZGFyZFRhZ3M6IFN0YW5kYXJkVGFncy5tZXJnZShwcm9wcy5zdGFuZGFyZFRhZ3MsIExpYlN0YW5kYXJkVGFncyl9KTtcblxuICAgIGNvbnN0IHRhc2tEZWZpbml0aW9uID0gbmV3IEZhcmdhdGVUYXNrRGVmaW5pdGlvbih0aGlzLCBcIlJlc291cmNlXCIsIHtcbiAgICAgIGNwdTogcHJvcHMuY3B1ID8/IDIwNDgsXG4gICAgICBtZW1vcnlMaW1pdE1pQjogcHJvcHMubWVtb3J5TGltaXRNaUIgPz8gNDA5NixcbiAgICAgIGVwaGVtZXJhbFN0b3JhZ2VHaUI6IHByb3BzLmVwaGVtZXJhbFN0b3JhZ2VHaUIsXG4gICAgICBydW50aW1lUGxhdGZvcm06IHtcbiAgICAgICAgb3BlcmF0aW5nU3lzdGVtRmFtaWx5OiBPcGVyYXRpbmdTeXN0ZW1GYW1pbHkuTElOVVgsXG4gICAgICAgIGNwdUFyY2hpdGVjdHVyZTogcHJvcHMuY3B1QXJjaGl0ZWN0dXJlID8/IENwdUFyY2hpdGVjdHVyZS5BUk02NFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKCFwcm9wcy5kaXNhYmxlWHJheSkge1xuICAgICAgdGFza0RlZmluaXRpb24uYWRkVG9UYXNrUm9sZVBvbGljeShcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICBhY3Rpb25zOiBbJ2Nsb3Vkd2F0Y2g6UHV0TWV0cmljRGF0YSddLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXByb3BzLmRpc2FibGVTc21BY2Nlc3MpIHtcbiAgICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvRXhlY3V0aW9uUm9sZVBvbGljeShcbiAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgIFwic3NtbWVzc2FnZXM6Q3JlYXRlQ29udHJvbENoYW5uZWxcIixcbiAgICAgICAgICAgIFwic3NtbWVzc2FnZXM6Q3JlYXRlRGF0YUNoYW5uZWxcIixcbiAgICAgICAgICAgIFwic3NtbWVzc2FnZXM6T3BlbkNvbnRyb2xDaGFubmVsXCIsXG4gICAgICAgICAgICBcInNzbW1lc3NhZ2VzOk9wZW5EYXRhQ2hhbm5lbFwiXG4gICAgICAgICAgXVxuICAgICAgICB9KVxuICAgICAgKVxuICAgIH1cblxuICAgIGNvbnN0IGxvZ0dyb3VwID0gdGhpcy5yZXNvbHZlTG9nR3JvdXAodGhpcywgcHJvcHMpO1xuICAgIGNvbnN0IGxvZ2dpbmcgPSB0aGlzLnJlc29sdmVMb2dEcml2ZXIodGhpcywgcHJvcHMsIGxvZ0dyb3VwKTtcbiAgICBjb25zdCBwb3J0ID0gcHJvcHMucG9ydCA/PyA4MDgwO1xuICAgIGNvbnN0IHByb3RvY29sID0gcHJvcHMucHJvdG9jb2wgPz8gUHJvdG9jb2wuVENQO1xuXG4gICAgdGFza0RlZmluaXRpb24uYWRkQ29udGFpbmVyKFwiQ29udGFpbmVyXCIsIHtcbiAgICAgIGltYWdlOiBwcm9wcy5pbWFnZSxcbiAgICAgIHBvcnRNYXBwaW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29udGFpbmVyUG9ydDogcG9ydCxcbiAgICAgICAgICBob3N0UG9ydDogcG9ydCxcbiAgICAgICAgICBwcm90b2NvbFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgbG9nZ2luZyxcbiAgICAgIGVudmlyb25tZW50OiBwcm9wcy5lbnZpcm9ubWVudCxcbiAgICAgIGRvY2tlckxhYmVsczogcHJvcHMuZG9ja2VyTGFiZWxzLFxuICAgICAgc2VjcmV0czogcHJvcHMuc2VjcmV0c1xuICAgIH0pO1xuXG4gICAgLy8gVE9ETyBPdGVsIENvbGxlY3RvclxuXG4gICAgY29uc3QgdnBjU3VibmV0cyA9IHRoaXMucmVzb2x2ZVZwY1N1Ym5ldHModGhpcywgcHJvcHMpO1xuICAgIGNvbnN0IGRlc2lyZWRDb3VudCA9IHByb3BzLmRlc2lyZWRDb3VudCA/PyBwcm9wcy5taW5DYXBhY2l0eSA/PyAxO1xuICAgIGNvbnN0IGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzID0gdGhpcy5yZXNvbHZlZENhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzKHByb3BzKTtcblxuICAgIGNvbnN0IHNlY3VyaXR5R3JvdXAgPSBuZXcgU2VjdXJpdHlHcm91cCh0aGlzLCBcIlNlY3VyaXR5R3JvdXBcIiwge1xuICAgICAgdnBjOiBwcm9wcy5jbHVzdGVyLnZwYyxcbiAgICAgIGFsbG93QWxsSXB2Nk91dGJvdW5kOiBwcm9wcy5hbGxvd0FsbElwdjZPdXRib3VuZCA/PyBmYWxzZSxcbiAgICAgIGFsbG93QWxsT3V0Ym91bmQ6IHRydWVcbiAgICB9KTtcblxuICAgIGNvbnN0IHNlcnZpY2UgPSBuZXcgRmFyZ2F0ZVNlcnZpY2UodGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGNsdXN0ZXI6IHByb3BzLmNsdXN0ZXIsXG4gICAgICB0YXNrRGVmaW5pdGlvbixcbiAgICAgIHNlcnZpY2VOYW1lOiBwcm9wcy5zZXJ2aWNlTmFtZSxcbiAgICAgIG1heEhlYWx0aHlQZXJjZW50OiBwcm9wcy5tYXhIZWFsdGh5UGVyY2VudCA/PyAyMDAsXG4gICAgICBtaW5IZWFsdGh5UGVyY2VudDogcHJvcHMubWluSGVhbHRoeVBlcmNlbnQgPz8gMTAwLFxuICAgICAgZGVzaXJlZENvdW50LFxuICAgICAgY2lyY3VpdEJyZWFrZXI6IHtcbiAgICAgICAgcm9sbGJhY2s6IHByb3BzLmVuYWJsZVJvbGxiYWNrID8/IHRydWVcbiAgICAgIH0sXG4gICAgICBkZXBsb3ltZW50Q29udHJvbGxlcjoge1xuICAgICAgICB0eXBlOiBwcm9wcy5kZXBsb3ltZW50Q29udHJvbGxlclR5cGUgPz8gRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLkVDU1xuICAgICAgfSxcbiAgICAgIHZwY1N1Ym5ldHMsXG4gICAgICBwbGF0Zm9ybVZlcnNpb246IHByb3BzLnBsYXRmb3JtVmVyc2lvbiA/PyBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLkxBVEVTVCxcbiAgICAgIGVuYWJsZUV4ZWN1dGVDb21tYW5kOiBwcm9wcy5lbmFibGVFeGVjdXRlQ29tbWFuZCA/PyB0cnVlLFxuICAgICAgYXNzaWduUHVibGljSXA6IHByb3BzLmFzc2lnblB1YmxpY0lwID8/IGZhbHNlLFxuICAgICAgZW5hYmxlRUNTTWFuYWdlZFRhZ3M6IHByb3BzLmVuYWJsZUVDU01hbmFnZWRUYWdzID8/IHRydWUsXG4gICAgICBoZWFsdGhDaGVja0dyYWNlUGVyaW9kOiBwcm9wcy5oZWFsdGhDaGVja0dyYWNlUGVyaW9kID8/IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgY2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMsXG4gICAgICBzZWN1cml0eUdyb3VwczogW3NlY3VyaXR5R3JvdXBdXG4gICAgfSk7XG5cbiAgICBjb25zdCBzY2FsaW5nID0gc2VydmljZS5hdXRvU2NhbGVUYXNrQ291bnQoe1xuICAgICAgbWluQ2FwYWNpdHk6IHByb3BzLm1pbkNhcGFjaXR5ID8/IDEsXG4gICAgICBtYXhDYXBhY2l0eTogcHJvcHMubWF4Q2FwYWNpdHkgPz8gMlxuICAgIH0pO1xuICAgIGNvbnN0IHNjYWxlSW5Db29sZG93biA9IHByb3BzLnNjYWxlSW5Db29sZG93biA/PyBEdXJhdGlvbi5zZWNvbmRzKDEwKTtcbiAgICBjb25zdCBzY2FsZU91dENvb2xkb3duID0gcHJvcHMuc2NhbGVPdXRDb29sZG93biA/PyBEdXJhdGlvbi5zZWNvbmRzKDYwKTtcblxuICAgIGlmIChwcm9wcy5zY2FsZUNwdVRhcmdldFV0aWxpemF0aW9uUGVyY2VudCAhPT0gMCkge1xuICAgICAgc2NhbGluZy5zY2FsZU9uQ3B1VXRpbGl6YXRpb24oXCJDcHVTY2FsaW5nXCIsIHtcbiAgICAgICAgc2NhbGVJbkNvb2xkb3duLFxuICAgICAgICBzY2FsZU91dENvb2xkb3duLFxuICAgICAgICB0YXJnZXRVdGlsaXphdGlvblBlcmNlbnQ6IHByb3BzLnNjYWxlQ3B1VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50ID8/IDYwLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnNjYWxlTWVtb3J5VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHNjYWxpbmcuc2NhbGVPbk1lbW9yeVV0aWxpemF0aW9uKFwiTWVtb3J5U2NhbGluZ1wiLCB7XG4gICAgICAgIHNjYWxlSW5Db29sZG93bixcbiAgICAgICAgc2NhbGVPdXRDb29sZG93bixcbiAgICAgICAgdGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50OiBwcm9wcy5zY2FsZU1lbW9yeVRhcmdldFV0aWxpemF0aW9uUGVyY2VudFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICB0aGlzLnRhc2tEZWZpbml0aW9uID0gdGFza0RlZmluaXRpb247XG4gICAgdGhpcy5sb2dHcm91cCA9IGxvZ0dyb3VwO1xuICAgIHRoaXMuc2VydmljZSA9IHNlcnZpY2U7XG4gICAgdGhpcy5zY2FsaW5nID0gc2NhbGluZztcbiAgICB0aGlzLnNjYWxlSW5Db29sZG93biA9IHNjYWxlSW5Db29sZG93bjtcbiAgICB0aGlzLnNjYWxlT3V0Q29vbGRvd24gPSBzY2FsZU91dENvb2xkb3duO1xuICAgIHRoaXMuc2VjdXJpdHlHcm91cCA9IHNlY3VyaXR5R3JvdXA7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIG1ldGhvZCB0byBjb25kdWN0IHNjYWxpbmcgYmFzZWQgb24gdHJhY2tpbmcgY3VzdG9tIG1ldHJpY3MuXG4gICAqXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gZ2l2ZSB0aGUgc2NhbGluZ1xuICAgKiBAcGFyYW0gbWV0cmljIHRoZSBtZXRyaWMgdG8gdHJhY2tcbiAgICogQHBhcmFtIHRhcmdldFZhbHVlIHRoZSB0YXJnZXQgdmFsdWVcbiAgICovXG4gIHNjYWxlVG9UcmFja0N1c3RvbU1ldHJpYyhpZDogc3RyaW5nLCBtZXRyaWM6IElNZXRyaWMsICB0YXJnZXRWYWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zY2FsaW5nLnNjYWxlVG9UcmFja0N1c3RvbU1ldHJpYyhpZCwge1xuICAgICAgc2NhbGVJbkNvb2xkb3duOiB0aGlzLnNjYWxlSW5Db29sZG93bixcbiAgICAgIHNjYWxlT3V0Q29vbGRvd246IHRoaXMuc2NhbGVPdXRDb29sZG93bixcbiAgICAgIG1ldHJpYyxcbiAgICAgIHRhcmdldFZhbHVlXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIHRvIHNjYWxlIGJhc2VkIG9uIGEgbWV0cmljLlxuICAgKlxuICAgKiBAcGFyYW0gaWQgdGhlIGlkIHRvIGdpdmUgdGhlIHNjYWxpbmcgcG9saWN5XG4gICAqIEBwYXJhbSBwcm9wcyBzY2FsaW5nIHByb3BlcnRpZXNcbiAgICovXG4gIHNjYWxlT25NZXRyaWMoaWQ6IHN0cmluZywgcHJvcHM6IEJhc2ljU3RlcFNjYWxpbmdQb2xpY3lQcm9wcykge1xuICAgIHRoaXMuc2NhbGluZy5zY2FsZU9uTWV0cmljKGlkLCBwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVuaWVuY2UgbWV0aG9kIHRvIHNjYWxlIGJhc2VkIG9uIGEgc2NoZWR1bGUuXG4gICAqXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gZ2l2ZSB0aGUgc2NhbGluZyBwb2xpY3lcbiAgICogQHBhcmFtIHByb3BzIHNjYWxpbmcgcHJvcGVydGllc1xuICAgKi9cbiAgc2NhbGVPblNjaGVkdWxlKGlkOiBzdHJpbmcsIHByb3BzOiBTY2FsaW5nU2NoZWR1bGUpIHtcbiAgICB0aGlzLnNjYWxpbmcuc2NhbGVPblNjaGVkdWxlKGlkLCBwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhcmQtZmFyZ2F0ZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQWE2QjtBQUU3QixpREFBK0U7QUFDL0UsbURBQTZEO0FBQzdELDZDQUFvRDtBQUNwRCxpREFBb0Q7QUFJcEQsMkNBQXNGO0FBQ3RGLDZDQUErQztBQWlRL0M7OztHQUdHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSwyQkFBaUI7SUErRDNELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBa0M7O1FBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUMsWUFBWSxFQUFFLHNCQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsMEJBQWUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUUxRixNQUFNLGNBQWMsR0FBRyxJQUFJLCtCQUFxQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDakUsR0FBRyxRQUFFLEtBQUssQ0FBQyxHQUFHLG1DQUFJLElBQUk7WUFDdEIsY0FBYyxRQUFFLEtBQUssQ0FBQyxjQUFjLG1DQUFJLElBQUk7WUFDNUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxlQUFlLEVBQUU7Z0JBQ2YscUJBQXFCLEVBQUUsK0JBQXFCLENBQUMsS0FBSztnQkFDbEQsZUFBZSxRQUFFLEtBQUssQ0FBQyxlQUFlLG1DQUFJLHlCQUFlLENBQUMsS0FBSzthQUNoRTtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3RCLGNBQWMsQ0FBQyxtQkFBbUIsQ0FDaEMsSUFBSSx5QkFBZSxDQUFDO2dCQUNsQixTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUM7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2FBQ3RDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7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QUFZO2dCQUN4QixNQUFNLEVBQUUsS0FBSyxDQUFDLGNBQWM7YUFDN0IsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLGdCQUFnQixLQUFLLFNBQVMsRUFBRTtZQUNsRixVQUFVLENBQUMsSUFBSSxDQUFDO2dCQUNkLGdCQUFnQixFQUFFLGNBQWM7Z0JBQ2hDLElBQUksRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2dCQUM1QixNQUFNLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjthQUNqQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFnSEQ7Ozs7OztPQU1HO0lBQ0gsd0JBQXdCLENBQUMsRUFBVSxFQUFFLE1BQWUsRUFBRyxXQUFtQjtRQUN4RSxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLEVBQUUsRUFBRTtZQUN4QyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxNQUFNO1lBQ04sV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGFBQWEsQ0FBQyxFQUFVLEVBQUUsS0FBa0M7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGVBQWUsQ0FBQyxFQUFVLEVBQUUsS0FBc0I7UUFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQWhORCx3REFnTkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneSxcbiAgQ29udGFpbmVySW1hZ2UsXG4gIENwdUFyY2hpdGVjdHVyZSxcbiAgRGVwbG95bWVudENvbnRyb2xsZXJUeXBlLFxuICBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uLFxuICBGYXJnYXRlU2VydmljZSxcbiAgRmFyZ2F0ZVRhc2tEZWZpbml0aW9uLFxuICBJQ2x1c3RlcixcbiAgTG9nRHJpdmVyLFxuICBPcGVyYXRpbmdTeXN0ZW1GYW1pbHksXG4gIFByb3RvY29sLCBTY2FsYWJsZVRhc2tDb3VudCxcbiAgU2VjcmV0XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQge0xvZ0NvbmZpZ3VyYXRpb259IGZyb20gXCIuL2xvZy1jb25maWd1cmF0aW9uXCI7XG5pbXBvcnQge1NlY3VyaXR5R3JvdXAsIFN1Ym5ldFNlbGVjdGlvbiwgU3VibmV0VHlwZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7TG9nR3JvdXAsIFJldGVudGlvbkRheXN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbG9nc1wiO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1BvbGljeVN0YXRlbWVudH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7QmFzaWNTdGVwU2NhbGluZ1BvbGljeVByb3BzfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWF1dG9zY2FsaW5nXCI7XG5pbXBvcnQge0lNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtTY2FsaW5nU2NoZWR1bGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBwbGljYXRpb25hdXRvc2NhbGluZ1wiO1xuaW1wb3J0IHtFeHRlbmRlZENvbnN0cnVjdCwgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcywgU3RhbmRhcmRUYWdzfSBmcm9tIFwiLi4vLi4vYXdzLWNka1wiO1xuaW1wb3J0IHtMaWJTdGFuZGFyZFRhZ3N9IGZyb20gXCIuLi8uLi90cnVlbWFya1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFN0YW5kYXJkRmFyZ2F0ZVNlcnZpY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzIGV4dGVuZHMgRXh0ZW5kZWRDb25zdHJ1Y3RQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBDUFUgYWxsb2NhdGVkIHRvIHRoZSB0YXNrLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwNDhcbiAgICovXG4gIHJlYWRvbmx5IGNwdT86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1lbW9yeSBhbGxvY2F0ZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gNDA5NlxuICAgKi9cbiAgcmVhZG9ubHkgbWVtb3J5TGltaXRNaUI/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGVwaGVtZXJhbCBzdG9yYWdlIGFsbG9jYXRlZCB0byB0aGUgdGFzay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyMFxuICAgKi9cbiAgcmVhZG9ubHkgZXBoZW1lcmFsU3RvcmFnZUdpQj86IG51bWJlcjtcblxuICAvKipcbiAgICogQ1BVIGFyY2hpdGVjdHVyZSB0byB1c2UgZm9yIHRoZSB0YXNrXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ3B1QXJjaGl0ZWN0dXJlLkFSTTY0XG4gICAqL1xuICByZWFkb25seSBjcHVBcmNoaXRlY3R1cmU/OiBDcHVBcmNoaXRlY3R1cmU7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBzZXJ2aWNlIGFzIGl0IGFwcGVhcnMgaW4gdGhlIGNvbnNvbGUgb3IgaW4gdGhlIEFXUyBDTEkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQ2xvdWRGb3JtYXRpb24tZ2VuZXJhdGVkIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBzZXJ2aWNlTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogTG9nIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0NvbmZpZ3VyYXRpb24/OiBMb2dDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBEaXNhYmxlcyBYLVJheSBmb3IgdGhpcyBzZXJ2aWNlLiBEZWZhdWx0IGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBkaXNhYmxlWHJheT86IGJvb2xlYW5cblxuICAvKipcbiAgICogRW5hYmxlcyB0aGUgYWJpbGl0eSB0byBwdXNoIGN1c3RvbSBtZXRyaWNzIHRvIENsb3VkV2F0Y2ggZnJvbSB0aGUgc2VydmljZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVQdWJsaXNoTWV0cmljcz86IGJvb2xlYW5cblxuICAvKipcbiAgICogVGhlIGNsdXN0ZXIgdG8gcGxhY2Ugc2VydmljZXMgaW4uXG4gICAqL1xuICByZWFkb25seSBjbHVzdGVyOiBJQ2x1c3RlcjtcblxuICAvKipcbiAgICogVGhlIGNvbnRhaW5lciBwb3J0LlxuICAgKlxuICAgKiBAZGVmYXVsdCA4MDgwXG4gICAqL1xuICByZWFkb25seSBwb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwb3J0IGlzIFRDUCBvciBVRFAuXG4gICAqXG4gICAqIEBkZWZhdWx0IFByb3RvY29sLlRDUFxuICAgKi9cbiAgcmVhZG9ubHkgcHJvdG9jb2w/OiBQcm90b2NvbDtcblxuICAvKipcbiAgICogQ29udGFpbmVyIGltYWdlIHRvIGRlcGxveSBpbiB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICByZWFkb25seSBpbWFnZTogQ29udGFpbmVySW1hZ2U7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldHMgdG8gcHV0IHRoZSBzZXJ2aWNlIGluLiBJZiB0aGlzIGlzIGxlZnQgZW1wdHksIHN1Ym5ldCB0eXBlIFBSSVZBVEVfV0lUSF9FR1JFU1MgaXMgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlcyB0byBwYXNzIHRvIHRoaXMgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQSBrZXkvdmFsdWUgbWFwIG9mIGxhYmVscyB0byBhZGQgdG8gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckxhYmVscz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBzZWNyZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHBhc3MgdG8gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldHM/OiBSZWNvcmQ8c3RyaW5nLCBTZWNyZXQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGFza3MsIHNwZWNpZmllZCBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIEFtYXpvbiBFQ1NcbiAgICogc2VydmljZSdzIERlc2lyZWRDb3VudCB2YWx1ZSwgdGhhdCBjYW4gcnVuIGluIGEgc2VydmljZSBkdXJpbmcgYVxuICAgKiBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4SGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB0YXNrcywgc3BlY2lmaWVkIGFzIGEgcGVyY2VudGFnZSBvZlxuICAgKiB0aGUgQW1hem9uIEVDUyBzZXJ2aWNlJ3MgRGVzaXJlZENvdW50IHZhbHVlLCB0aGF0IG11c3RcbiAgICogY29udGludWUgdG8gcnVuIGFuZCByZW1haW4gaGVhbHRoeSBkdXJpbmcgYSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgbWluSGVhbHRoeVBlcmNlbnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSByb2xsYmFjayBvbiBkZXBsb3ltZW50IGZhaWx1cmVcbiAgICpcbiAgICogQGRlZmF1bHQgLSB0cnVlXG4gICAqL1xuICByZWFkb25seSBlbmFibGVSb2xsYmFjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGljaCBkZXBsb3ltZW50IGNvbnRyb2xsZXIgdG8gdXNlIGZvciB0aGUgc2VydmljZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERlcGxveW1lbnRDb250cm9sbGVyVHlwZS5FQ1NcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRDb250cm9sbGVyVHlwZT86IERlcGxveW1lbnRDb250cm9sbGVyVHlwZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGhlIGFiaWxpdHkgdG8gZXhlY3V0ZSBpbnRvIGEgY29udGFpbmVyXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlRXhlY3V0ZUNvbW1hbmQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGxhdGZvcm0gdmVyc2lvbiBvbiB3aGljaCB0byBydW4geW91ciBzZXJ2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEZhcmdhdGVQbGF0Zm9ybVZlcnNpb24uTEFURVNUXG4gICAqL1xuICByZWFkb25seSBwbGF0Zm9ybVZlcnNpb24/OiBGYXJnYXRlUGxhdGZvcm1WZXJzaW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGFzc2lnbiBhIHB1YmxpYyBJUCBhZGRyZXNzIHRvIHRoZSBjb250YWluZXJzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlXG4gICAqL1xuICByZWFkb25seSBhc3NpZ25QdWJsaWNJcD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGVuYWJsZSBBbWF6b24gRUNTIG1hbmFnZWQgdGFncyBmb3IgdGhlIHRhc2tzIHdpdGhpbiB0aGUgc2VydmljZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZUVDU01hbmFnZWRUYWdzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHBlcmlvZCBvZiB0aW1lLCBpbiBzZWNvbmRzLCB0aGF0IHRoZSBBbWF6b24gRUNTIHNlcnZpY2Ugc2NoZWR1bGVyIGlnbm9yZXMgdW5oZWFsdGh5IEVsYXN0aWMgTG9hZCBCYWxhbmNpbmcgdGFyZ2V0IGhlYWx0aCBjaGVja3MgYWZ0ZXIgYSB0YXNrIGhhcyBmaXJzdCBzdGFydGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIER1cmF0aW9uLnNlY29uZHMoMzApXG4gICAqL1xuICByZWFkb25seSBoZWFsdGhDaGVja0dyYWNlUGVyaW9kPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIERlc2lyZWQgY291bnQgZm9yIHRoaXMgc2VydmljZS4gSWYgbm90IHNldCwgZGVmYXVsdHMgdG8gbWluQ2FwYWNpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbWluQ2FwYWNpdHlcbiAgICovXG4gIHJlYWRvbmx5IGRlc2lyZWRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogTWluaW11bSBjYXBhY2l0eSB0byBzY2FsZSB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAxXG4gICAqL1xuICByZWFkb25seSBtaW5DYXBhY2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogTWF4aW11bSBjYXBhY2l0eSB0byBzY2FsZSB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgLSAyXG4gICAqL1xuICByZWFkb25seSBtYXhDYXBhY2l0eT86IG51bWJlcjtcblxuICAvKipcbiAgICogUGVyaW9kIGFmdGVyIGEgc2NhbGUgaW4gYWN0aXZpdHkgY29tcGxldGVzIGJlZm9yZSBhbm90aGVyIHNjYWxlIGluIGFjdGl2aXR5IGNhbiBzdGFydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDEwKVxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVJbkNvb2xkb3duPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFBlcmlvZCBhZnRlciBhIHNjYWxlIG91dCBhY3Rpdml0eSBjb21wbGV0ZXMgYmVmb3JlIGFub3RoZXIgc2NhbGUgb3V0IGFjdGl2aXR5IGNhbiBzdGFydC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBEdXJhdGlvbi5zZWNvbmRzKDYwKVxuICAgKi9cbiAgcmVhZG9ubHkgc2NhbGVPdXRDb29sZG93bj86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IHZhbHVlIGZvciBDUFUgdXRpbGl6YXRpb24gYWNyb3NzIGFsbCB0YXNrcyBpbiB0aGUgc2VydmljZS5cbiAgICogU2V0IHRoaXMgdG8gMCB0byBkaXNhYmxlIENQVSBzY2FsaW5nLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDYwXG4gICAqL1xuICByZWFkb25seSBzY2FsZUNwdVRhcmdldFV0aWxpemF0aW9uUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHRhcmdldCB2YWx1ZSBmb3IgbWVtb3J5IHV0aWxpemF0aW9uIGFjcm9zcyBhbGwgdGFza3MgaW4gdGhlIHNlcnZpY2UuXG4gICAqIERpc2FibGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICByZWFkb25seSBzY2FsZU1lbW9yeVRhcmdldFV0aWxpemF0aW9uUGVyY2VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogQ2FwYWNpdHkgd2VpZ2h0IGZvciB0aGUgRkFSR0FURSBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IGNhcGFjaXR5V2VpZ2h0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBudW1iZXIgb2YgdGFza3MgdG8gcnVuIG9uIHRoZSBGQVJHQVRFIGNhcGFjaXR5IHByb3ZpZGVyLiBEZWZhdWx0IGlzIHRvIG5vdCB1c2UgY2FwYWNpdHkgcHJvdmlkZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWNpdHlCYXNlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDYXBhY2l0eSB3ZWlnaHQgZm9yIHRoZSBGQVJHQVRFX1NQT1QgY2FwYWNpdHkgcHJvdmlkZXIuIERlZmF1bHQgaXMgdG8gbm90IHVzZSBjYXBhY2l0eSBwcm92aWRlcnMuXG4gICAqL1xuICByZWFkb25seSBzcG90Q2FwYWNpdHlXZWlnaHQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtaW5pbXVtIG51bWJlciBvZiB0YXNrcyB0byBydW4gb24gdGhlIEZBUkdBVEVfU1BPVCBjYXBhY2l0eSBwcm92aWRlci4gRGVmYXVsdCBpcyB0byBub3QgdXNlIGNhcGFjaXR5IHByb3ZpZGVycy5cbiAgICovXG4gIHJlYWRvbmx5IHNwb3RDYXBhY2l0eUJhc2U/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNldHRpbmcgdGhpcyB0byB0cnVlIHdpbGwgc3VwcHJlc3MgdGhlIGNyZWF0aW9uIG9mIGRlZmF1bHQgdGFncyBvbiByZXNvdXJjZXNcbiAgICogY3JlYXRlZCBieSB0aGlzIGNvbnN0cnVjdC4gRGVmYXVsdCBpcyBmYWxzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc3VwcHJlc3NUYWdnaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2V0dGluZyB0aGlzIHRvIHRydWUgd2lsbCBlbmFibGUgb3V0Ym91bmQgSVB2NiBmb3IgdGhlIHNlcnZpY2UuIERlZmF1bHQgaXMgZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFsbG93QWxsSXB2Nk91dGJvdW5kPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBTdGFuZGFyZCBjbGFzcyBmb3IgY3JlYXRpbmcgYSBGYXJnYXRlU2VydmljZS4gSXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhlIFN0YW5kYXJkQXBwbGljYXRpb25GYXJnYXRlU2VydmljZSBvclxuICogU3RhbmRhcmROZXR3b3JrRmFyZ2F0ZVNlcnZpY2UgaW5zdGVhZCBvZiB0aGlzIGNsYXNzLlxuICovXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRGYXJnYXRlU2VydmljZSBleHRlbmRzIEV4dGVuZGVkQ29uc3RydWN0IHtcblxuICByZWFkb25seSB0YXNrRGVmaW5pdGlvbjogRmFyZ2F0ZVRhc2tEZWZpbml0aW9uO1xuICByZWFkb25seSBsb2dHcm91cD86IExvZ0dyb3VwO1xuICByZWFkb25seSBzZXJ2aWNlOiBGYXJnYXRlU2VydmljZTtcbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICByZWFkb25seSBzY2FsaW5nOiBTY2FsYWJsZVRhc2tDb3VudDtcbiAgcmVhZG9ubHkgc2NhbGVJbkNvb2xkb3duOiBEdXJhdGlvbjtcbiAgcmVhZG9ubHkgc2NhbGVPdXRDb29sZG93bjogRHVyYXRpb247XG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG5cbiAgcHJvdGVjdGVkIHJlc29sdmVMb2dHcm91cChzY29wZTogQ29uc3RydWN0LCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKTogTG9nR3JvdXAgfCB1bmRlZmluZWQge1xuICAgIGlmIChwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIHJldHVybiBuZXcgTG9nR3JvdXAoc2NvcGUsIFwiTG9nR3JvdXBcIiwge1xuICAgICAgICByZXRlbnRpb246IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LnJldGVudGlvbiA/PyBSZXRlbnRpb25EYXlzLkZJVkVfREFZUyxcbiAgICAgICAgbG9nR3JvdXBOYW1lOiBwcm9wcy5sb2dDb25maWd1cmF0aW9uPy5sb2dHcm91cE5hbWUsXG4gICAgICAgIGVuY3J5cHRpb25LZXk6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LmVuY3J5cHRpb25LZXksXG4gICAgICAgIHJlbW92YWxQb2xpY3k6IHByb3BzLmxvZ0NvbmZpZ3VyYXRpb24/LnJlbW92YWxQb2xpY3kgPz8gUmVtb3ZhbFBvbGljeS5ERVNUUk9ZXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlTG9nRHJpdmVyKHNjb3BlOiBDb25zdHJ1Y3QsIHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMsIGxvZ0dyb3VwOiBMb2dHcm91cCB8IHVuZGVmaW5lZCk6XG4gICAgTG9nRHJpdmVyIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAocHJvcHMubG9nQ29uZmlndXJhdGlvbj8uZW5hYmxlZCA/PyB0cnVlKSB7XG4gICAgICByZXR1cm4gTG9nRHJpdmVyLmF3c0xvZ3Moe1xuICAgICAgICBzdHJlYW1QcmVmaXg6IHNjb3BlLm5vZGUuaWQsXG4gICAgICAgIGxvZ0dyb3VwXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlVnBjU3VibmV0cyhzY29wZTogQ29uc3RydWN0LCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKTogU3VibmV0U2VsZWN0aW9uIHtcbiAgICBpZiAocHJvcHMudnBjU3VibmV0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BzLnZwY1N1Ym5ldHNcbiAgfVxuXG4gIHByb3RlY3RlZCByZXNvbHZlZENhcGFjaXR5UHJvdmlkZXJTdHJhdGVnaWVzKHByb3BzOiBTdGFuZGFyZEZhcmdhdGVTZXJ2aWNlUHJvcHMpOlxuICAgIENhcGFjaXR5UHJvdmlkZXJTdHJhdGVneVtdIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgc3RyYXRlZ2llczogQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5W10gPSBbXTtcbiAgICBpZiAocHJvcHMuY2FwYWNpdHlXZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5jYXBhY2l0eUJhc2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyYXRlZ2llcy5wdXNoKHtcbiAgICAgICAgY2FwYWNpdHlQcm92aWRlcjogXCJGQVJHQVRFXCIsXG4gICAgICAgIGJhc2U6IHByb3BzLmNhcGFjaXR5QmFzZSxcbiAgICAgICAgd2VpZ2h0OiBwcm9wcy5jYXBhY2l0eVdlaWdodFxuICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChwcm9wcy5zcG90Q2FwYWNpdHlXZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBwcm9wcy5zcG90Q2FwYWNpdHlCYXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIGNhcGFjaXR5UHJvdmlkZXI6IFwiRkFSR0FURV9TUE9UXCIsXG4gICAgICAgIGJhc2U6IHByb3BzLnNwb3RDYXBhY2l0eUJhc2UsXG4gICAgICAgIHdlaWdodDogcHJvcHMuc3BvdENhcGFjaXR5V2VpZ2h0XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHN0cmF0ZWdpZXMubGVuZ3RoID4gMCA/IHN0cmF0ZWdpZXMgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhbmRhcmRGYXJnYXRlU2VydmljZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7c3RhbmRhcmRUYWdzOiBTdGFuZGFyZFRhZ3MubWVyZ2UocHJvcHMuc3RhbmRhcmRUYWdzLCBMaWJTdGFuZGFyZFRhZ3MpfSk7XG5cbiAgICBjb25zdCB0YXNrRGVmaW5pdGlvbiA9IG5ldyBGYXJnYXRlVGFza0RlZmluaXRpb24odGhpcywgXCJSZXNvdXJjZVwiLCB7XG4gICAgICBjcHU6IHByb3BzLmNwdSA/PyAyMDQ4LFxuICAgICAgbWVtb3J5TGltaXRNaUI6IHByb3BzLm1lbW9yeUxpbWl0TWlCID8/IDQwOTYsXG4gICAgICBlcGhlbWVyYWxTdG9yYWdlR2lCOiBwcm9wcy5lcGhlbWVyYWxTdG9yYWdlR2lCLFxuICAgICAgcnVudGltZVBsYXRmb3JtOiB7XG4gICAgICAgIG9wZXJhdGluZ1N5c3RlbUZhbWlseTogT3BlcmF0aW5nU3lzdGVtRmFtaWx5LkxJTlVYLFxuICAgICAgICBjcHVBcmNoaXRlY3R1cmU6IHByb3BzLmNwdUFyY2hpdGVjdHVyZSA/PyBDcHVBcmNoaXRlY3R1cmUuQVJNNjRcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICghcHJvcHMuZGlzYWJsZVhyYXkpIHtcbiAgICAgIHRhc2tEZWZpbml0aW9uLmFkZFRvVGFza1JvbGVQb2xpY3koXG4gICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgYWN0aW9uczogWydjbG91ZHdhdGNoOlB1dE1ldHJpY0RhdGEnXSxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgbG9nR3JvdXAgPSB0aGlzLnJlc29sdmVMb2dHcm91cCh0aGlzLCBwcm9wcyk7XG4gICAgY29uc3QgbG9nZ2luZyA9IHRoaXMucmVzb2x2ZUxvZ0RyaXZlcih0aGlzLCBwcm9wcywgbG9nR3JvdXApO1xuICAgIGNvbnN0IHBvcnQgPSBwcm9wcy5wb3J0ID8/IDgwODA7XG4gICAgY29uc3QgcHJvdG9jb2wgPSBwcm9wcy5wcm90b2NvbCA/PyBQcm90b2NvbC5UQ1A7XG5cbiAgICB0YXNrRGVmaW5pdGlvbi5hZGRDb250YWluZXIoXCJDb250YWluZXJcIiwge1xuICAgICAgaW1hZ2U6IHByb3BzLmltYWdlLFxuICAgICAgcG9ydE1hcHBpbmdzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb250YWluZXJQb3J0OiBwb3J0LFxuICAgICAgICAgIGhvc3RQb3J0OiBwb3J0LFxuICAgICAgICAgIHByb3RvY29sXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBsb2dnaW5nLFxuICAgICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50LFxuICAgICAgZG9ja2VyTGFiZWxzOiBwcm9wcy5kb2NrZXJMYWJlbHMsXG4gICAgICBzZWNyZXRzOiBwcm9wcy5zZWNyZXRzXG4gICAgfSk7XG5cbiAgICAvLyBUT0RPIE90ZWwgQ29sbGVjdG9yXG5cbiAgICBjb25zdCB2cGNTdWJuZXRzID0gdGhpcy5yZXNvbHZlVnBjU3VibmV0cyh0aGlzLCBwcm9wcyk7XG4gICAgY29uc3QgZGVzaXJlZENvdW50ID0gcHJvcHMuZGVzaXJlZENvdW50ID8/IHByb3BzLm1pbkNhcGFjaXR5ID8/IDE7XG4gICAgY29uc3QgY2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMgPSB0aGlzLnJlc29sdmVkQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWdpZXMocHJvcHMpO1xuXG4gICAgY29uc3Qgc2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIFwiU2VjdXJpdHlHcm91cFwiLCB7XG4gICAgICB2cGM6IHByb3BzLmNsdXN0ZXIudnBjLFxuICAgICAgYWxsb3dBbGxJcHY2T3V0Ym91bmQ6IHByb3BzLmFsbG93QWxsSXB2Nk91dGJvdW5kID8/IGZhbHNlLFxuICAgICAgYWxsb3dBbGxPdXRib3VuZDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgY29uc3Qgc2VydmljZSA9IG5ldyBGYXJnYXRlU2VydmljZSh0aGlzLCBcIkRlZmF1bHRcIiwge1xuICAgICAgY2x1c3RlcjogcHJvcHMuY2x1c3RlcixcbiAgICAgIHRhc2tEZWZpbml0aW9uLFxuICAgICAgc2VydmljZU5hbWU6IHByb3BzLnNlcnZpY2VOYW1lLFxuICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IHByb3BzLm1heEhlYWx0aHlQZXJjZW50ID8/IDIwMCxcbiAgICAgIG1pbkhlYWx0aHlQZXJjZW50OiBwcm9wcy5taW5IZWFsdGh5UGVyY2VudCA/PyAxMDAsXG4gICAgICBkZXNpcmVkQ291bnQsXG4gICAgICBjaXJjdWl0QnJlYWtlcjoge1xuICAgICAgICByb2xsYmFjazogcHJvcHMuZW5hYmxlUm9sbGJhY2sgPz8gdHJ1ZVxuICAgICAgfSxcbiAgICAgIGRlcGxveW1lbnRDb250cm9sbGVyOiB7XG4gICAgICAgIHR5cGU6IHByb3BzLmRlcGxveW1lbnRDb250cm9sbGVyVHlwZSA/PyBEZXBsb3ltZW50Q29udHJvbGxlclR5cGUuRUNTXG4gICAgICB9LFxuICAgICAgdnBjU3VibmV0cyxcbiAgICAgIHBsYXRmb3JtVmVyc2lvbjogcHJvcHMucGxhdGZvcm1WZXJzaW9uID8/IEZhcmdhdGVQbGF0Zm9ybVZlcnNpb24uTEFURVNULFxuICAgICAgZW5hYmxlRXhlY3V0ZUNvbW1hbmQ6IHByb3BzLmVuYWJsZUV4ZWN1dGVDb21tYW5kID8/IHRydWUsXG4gICAgICBhc3NpZ25QdWJsaWNJcDogcHJvcHMuYXNzaWduUHVibGljSXAgPz8gZmFsc2UsXG4gICAgICBlbmFibGVFQ1NNYW5hZ2VkVGFnczogcHJvcHMuZW5hYmxlRUNTTWFuYWdlZFRhZ3MgPz8gdHJ1ZSxcbiAgICAgIGhlYWx0aENoZWNrR3JhY2VQZXJpb2Q6IHByb3BzLmhlYWx0aENoZWNrR3JhY2VQZXJpb2QgPz8gRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ2llcyxcbiAgICAgIHNlY3VyaXR5R3JvdXBzOiBbc2VjdXJpdHlHcm91cF1cbiAgICB9KTtcblxuICAgIGNvbnN0IHNjYWxpbmcgPSBzZXJ2aWNlLmF1dG9TY2FsZVRhc2tDb3VudCh7XG4gICAgICBtaW5DYXBhY2l0eTogcHJvcHMubWluQ2FwYWNpdHkgPz8gMSxcbiAgICAgIG1heENhcGFjaXR5OiBwcm9wcy5tYXhDYXBhY2l0eSA/PyAyXG4gICAgfSk7XG4gICAgY29uc3Qgc2NhbGVJbkNvb2xkb3duID0gcHJvcHMuc2NhbGVJbkNvb2xkb3duID8/IER1cmF0aW9uLnNlY29uZHMoMTApO1xuICAgIGNvbnN0IHNjYWxlT3V0Q29vbGRvd24gPSBwcm9wcy5zY2FsZU91dENvb2xkb3duID8/IER1cmF0aW9uLnNlY29uZHMoNjApO1xuXG4gICAgaWYgKHByb3BzLnNjYWxlQ3B1VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50ICE9PSAwKSB7XG4gICAgICBzY2FsaW5nLnNjYWxlT25DcHVVdGlsaXphdGlvbihcIkNwdVNjYWxpbmdcIiwge1xuICAgICAgICBzY2FsZUluQ29vbGRvd24sXG4gICAgICAgIHNjYWxlT3V0Q29vbGRvd24sXG4gICAgICAgIHRhcmdldFV0aWxpemF0aW9uUGVyY2VudDogcHJvcHMuc2NhbGVDcHVUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQgPz8gNjAsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuc2NhbGVNZW1vcnlUYXJnZXRVdGlsaXphdGlvblBlcmNlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc2NhbGluZy5zY2FsZU9uTWVtb3J5VXRpbGl6YXRpb24oXCJNZW1vcnlTY2FsaW5nXCIsIHtcbiAgICAgICAgc2NhbGVJbkNvb2xkb3duLFxuICAgICAgICBzY2FsZU91dENvb2xkb3duLFxuICAgICAgICB0YXJnZXRVdGlsaXphdGlvblBlcmNlbnQ6IHByb3BzLnNjYWxlTWVtb3J5VGFyZ2V0VXRpbGl6YXRpb25QZXJjZW50XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgIHRoaXMudGFza0RlZmluaXRpb24gPSB0YXNrRGVmaW5pdGlvbjtcbiAgICB0aGlzLmxvZ0dyb3VwID0gbG9nR3JvdXA7XG4gICAgdGhpcy5zZXJ2aWNlID0gc2VydmljZTtcbiAgICB0aGlzLnNjYWxpbmcgPSBzY2FsaW5nO1xuICAgIHRoaXMuc2NhbGVJbkNvb2xkb3duID0gc2NhbGVJbkNvb2xkb3duO1xuICAgIHRoaXMuc2NhbGVPdXRDb29sZG93biA9IHNjYWxlT3V0Q29vbGRvd247XG4gICAgdGhpcy5zZWN1cml0eUdyb3VwID0gc2VjdXJpdHlHcm91cDtcbiAgfVxuXG4gIC8qKlxuICAgKiBIZWxwZXIgbWV0aG9kIHRvIGNvbmR1Y3Qgc2NhbGluZyBiYXNlZCBvbiB0cmFja2luZyBjdXN0b20gbWV0cmljcy5cbiAgICpcbiAgICogQHBhcmFtIGlkIHRoZSBpZCB0byBnaXZlIHRoZSBzY2FsaW5nXG4gICAqIEBwYXJhbSBtZXRyaWMgdGhlIG1ldHJpYyB0byB0cmFja1xuICAgKiBAcGFyYW0gdGFyZ2V0VmFsdWUgdGhlIHRhcmdldCB2YWx1ZVxuICAgKi9cbiAgc2NhbGVUb1RyYWNrQ3VzdG9tTWV0cmljKGlkOiBzdHJpbmcsIG1ldHJpYzogSU1ldHJpYywgIHRhcmdldFZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLnNjYWxpbmcuc2NhbGVUb1RyYWNrQ3VzdG9tTWV0cmljKGlkLCB7XG4gICAgICBzY2FsZUluQ29vbGRvd246IHRoaXMuc2NhbGVJbkNvb2xkb3duLFxuICAgICAgc2NhbGVPdXRDb29sZG93bjogdGhpcy5zY2FsZU91dENvb2xkb3duLFxuICAgICAgbWV0cmljLFxuICAgICAgdGFyZ2V0VmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gc2NhbGUgYmFzZWQgb24gYSBtZXRyaWMuXG4gICAqXG4gICAqIEBwYXJhbSBpZCB0aGUgaWQgdG8gZ2l2ZSB0aGUgc2NhbGluZyBwb2xpY3lcbiAgICogQHBhcmFtIHByb3BzIHNjYWxpbmcgcHJvcGVydGllc1xuICAgKi9cbiAgc2NhbGVPbk1ldHJpYyhpZDogc3RyaW5nLCBwcm9wczogQmFzaWNTdGVwU2NhbGluZ1BvbGljeVByb3BzKSB7XG4gICAgdGhpcy5zY2FsaW5nLnNjYWxlT25NZXRyaWMoaWQsIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZW5pZW5jZSBtZXRob2QgdG8gc2NhbGUgYmFzZWQgb24gYSBzY2hlZHVsZS5cbiAgICpcbiAgICogQHBhcmFtIGlkIHRoZSBpZCB0byBnaXZlIHRoZSBzY2FsaW5nIHBvbGljeVxuICAgKiBAcGFyYW0gcHJvcHMgc2NhbGluZyBwcm9wZXJ0aWVzXG4gICAqL1xuICBzY2FsZU9uU2NoZWR1bGUoaWQ6IHN0cmluZywgcHJvcHM6IFNjYWxpbmdTY2hlZHVsZSkge1xuICAgIHRoaXMuc2NhbGluZy5zY2FsZU9uU2NoZWR1bGUoaWQsIHByb3BzKTtcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truemark-cdk-lib",
3
- "version": "1.6.7-alpha.4+1d5b2ac",
3
+ "version": "1.7.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "scripts": {
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "1d5b2ac1fa55173cd8fa4cca9a0fb644ba81a9af"
75
+ "gitHead": "bf2def829a25a44c9c6d5d0a42f35f56a781d466"
76
76
  }