truemark-cdk-lib 1.4.3 → 1.4.4-alpha.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.
@@ -118,6 +118,7 @@ export declare class DomainName {
118
118
  * @param id an optional ID if a lookup is required; one is generated if not provided
119
119
  */
120
120
  getHostedZone(scope: Construct, id?: string): IHostedZone;
121
+ private scrubIdentifier;
121
122
  /**
122
123
  * Creates a Route53 ARecord for this domain name.
123
124
  *
@@ -97,6 +97,9 @@ class DomainName {
97
97
  }
98
98
  return this.hostedZone;
99
99
  }
100
+ scrubIdentifier(identifier) {
101
+ return /^\d/.test(identifier) ? "x" + identifier : identifier;
102
+ }
100
103
  /**
101
104
  * Creates a Route53 ARecord for this domain name.
102
105
  *
@@ -106,7 +109,7 @@ class DomainName {
106
109
  */
107
110
  createARecord(scope, target, options) {
108
111
  var _a;
109
- return new aws_route53_1.ARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}ARecord`, {
112
+ return new aws_route53_1.ARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.scrubIdentifier(this.toIdentifier())}ARecord`, {
110
113
  zone: this.getHostedZone(scope),
111
114
  recordName: this.toString(),
112
115
  target,
@@ -125,7 +128,7 @@ class DomainName {
125
128
  */
126
129
  createWeightedARecord(scope, target, weight, options) {
127
130
  var _a;
128
- return new weighted_a_record_1.WeightedARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}ARecord`, {
131
+ return new weighted_a_record_1.WeightedARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.scrubIdentifier(this.toIdentifier())}ARecord`, {
129
132
  zone: this.getHostedZone(scope),
130
133
  recordName: this.toString(),
131
134
  target,
@@ -144,7 +147,7 @@ class DomainName {
144
147
  */
145
148
  createLatencyARecord(scope, target, options) {
146
149
  var _a;
147
- return new latency_a_record_1.LatencyARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.toIdentifier()}ARecord`, {
150
+ return new latency_a_record_1.LatencyARecord(scope, (_a = options === null || options === void 0 ? void 0 : options.id) !== null && _a !== void 0 ? _a : `${this.scrubIdentifier(this.toIdentifier())}ARecord`, {
148
151
  zone: this.getHostedZone(scope),
149
152
  recordName: this.toString(),
150
153
  target,
@@ -266,4 +269,4 @@ class DomainName {
266
269
  }
267
270
  }
268
271
  exports.DomainName = DomainName;
269
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwrRUFBc0Y7QUFFdEYsMkNBQTJDO0FBMkUzQzs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxL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QUMsUUFBUSxFQUFFO1lBQ3JDLHVCQUF1QixFQUFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzFFLFVBQVUsRUFBRSw4Q0FBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztTQUM3RixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFsUkQsZ0NBa1JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBUmVjb3JkLCBIb3N0ZWRab25lLCBJSG9zdGVkWm9uZSwgUmVjb3JkVGFyZ2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtXZWlnaHRlZEFSZWNvcmR9IGZyb20gXCIuL3dlaWdodGVkLWEtcmVjb3JkXCI7XG5pbXBvcnQge0xhdGVuY3lBUmVjb3JkfSBmcm9tIFwiLi9sYXRlbmN5LWEtcmVjb3JkXCI7XG5pbXBvcnQge0NlcnRpZmljYXRlLCBDZXJ0aWZpY2F0ZVZhbGlkYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7U3RyaW5nSGVscGVyfSBmcm9tIFwiLi4vLi4vaGVscGVyc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIERvbWFpbk5hbWVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb21haW5OYW1lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBEb21haW4gbmFtZSBwcmVmaXguXG4gICAqXG4gICAqIEBkZWZhdWx0IGVtcHR5IHN0cmluZ1xuICAgKi9cbiAgcmVhZG9ubHkgcHJlZml4Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBab25lIGZvciB0aGUgZG9tYWluIG5hbmUuXG4gICAqL1xuICByZWFkb25seSB6b25lOiBzdHJpbmcgfCBJSG9zdGVkWm9uZTtcblxuICAvKipcbiAgICogRmxhZyB0byBtYXJrIHpvbmUgYXMgcHJpdmF0ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVab25lPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVlBDIHRoZSB6b25lIGJlbG9uZ3MgdG8uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQUNNIGNlcnRpZmljYXRlIG9wdGlvbnNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZXJ0aWZpY2F0ZU9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciB0byB1c2UuXG4gICAqXG4gICAqIEBkZWZhdWx0ICR7dGhpcy50b0lkZW50aWZpZXIoKX1DZXJ0aWZpY2F0ZVxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsdGVybmF0aXZlIGRvbWFpbiBuYW1lcyBvbiB0aGUgY2VydGlmaWNhdGUuXG4gICAqL1xuICByZWFkb25seSBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFSZWNvcmRPcHRpb25zIHtcblxuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgdG8gdXNlLiBPbmUgaXMgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UgcmVjb3JkIGNhY2hlIHRpbWUgdG8gbGl2ZSAoVFRMKS5cbiAgICovXG4gIHJlYWRvbmx5IHR0bD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBIGNvbW1lbnQgdG8gYWRkIG9uIHRoZSByZWNvcmQuXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRlbGV0ZSB0aGUgc2FtZSByZWNvcmQgc2V0IGluIHRoZSBob3N0ZWQgem9uZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZUV4aXN0aW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIGZvciBob2xkaW5nIGRvbWFpbiBuYW1lIGluZm9ybWF0aW9uIGFuZFxuICogZG9pbmcgdXNlZnVsIHRoaW5ncyB3aXRoIGl0LlxuICovXG5leHBvcnQgY2xhc3MgRG9tYWluTmFtZSB7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgem9uZTogc3RyaW5nO1xuICBwcm90ZWN0ZWQgaG9zdGVkWm9uZT86IElIb3N0ZWRab25lO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJpdmF0ZVpvbmU6IGJvb2xlYW47XG4gIHByb3RlY3RlZCByZWFkb25seSB2cGNJZD86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBEb21haW5OYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGRvbWFpbiBuYW1lXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRG9tYWluTmFtZVByb3BzKSB7XG4gICAgdGhpcy5wcmVmaXggPSBwcm9wcy5wcmVmaXggPz8gXCJcIjtcbiAgICBpZiAodHlwZW9mIHByb3BzLnpvbmUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRoaXMuem9uZSA9IHByb3BzLnpvbmU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZSA9IHByb3BzLnpvbmU7XG4gICAgICB0aGlzLnpvbmUgPSB0aGlzLmhvc3RlZFpvbmUuem9uZU5hbWU7XG4gICAgfVxuICAgIHRoaXMucHJpdmF0ZVpvbmUgPSBwcm9wcy5wcml2YXRlWm9uZSA/PyBmYWxzZTtcbiAgICB0aGlzLnZwY0lkID0gcHJvcHMudnBjSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcHJlZml4IGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgZ2V0UHJlZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucHJlZml4O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgem9uZSBpcyBwcml2YXRlLiBGYWxzZSBpZiBvdGhlcndpc2UuXG4gICAqL1xuICBpblByaXZhdGVab25lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnByaXZhdGVab25lO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHZwYyBJRCBmb3IgdGhpcyB6b25lIG9yIHVuZGVmaW5lZCBpZiBvbmUgZG9lcyBub3QgZXhpc3RcbiAgICovXG4gIGdldFZwY0lkKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudnBjSWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBwcm9wcyBtYXRjaCB0aGUgZG9tYWluIG5hbWUuIEZhbHNlIGlmIG90aGVyd2lzZS5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wcyB0byBjb21wYXJlXG4gICAqL1xuICBwcm9wc01hdGNoKHByb3BzOiBEb21haW5OYW1lUHJvcHMpOiBib29sZWFuIHtcbiAgICBsZXQgcHJvcFpvbmVTdHIgPSB0eXBlb2YgcHJvcHMuem9uZSA9PT0gXCJzdHJpbmdcIiA/IHByb3BzLnpvbmUgOiBwcm9wcy56b25lLnpvbmVOYW1lO1xuICAgIHJldHVybiB0aGlzLnByZWZpeCA9PT0gKHByb3BzLnByZWZpeCA/PyBcIlwiKVxuICAgICAgJiYgdGhpcy56b25lID09PSBwcm9wWm9uZVN0clxuICAgICAgJiYgdGhpcy5wcml2YXRlWm9uZSA9PT0gKHByb3BzLnByaXZhdGVab25lID8/IGZhbHNlKVxuICAgICAgJiYgdGhpcy52cGNJZCA9PT0gcHJvcHMudnBjSWRcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBzdHJpbmcgdmVyc2lvbiBvZiB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMucHJlZml4ID09IFwiXCIgPyBcIlwiIDogdGhpcy5wcmVmaXggKyBcIi5cIikgKyB0aGlzLnpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGZyaWVuZGx5IGlkZW50aWZpZXIgZm9yIHRoaXMgZG9tYWluIG5hbWUuIFRoaXMgZnVuY3Rpb24gcmVwbGFjZXMgd2lsZGNhcmRzIHdpdGggXyBhbmQgcGVyaW9kcyB3aXRoIC1cbiAgICovXG4gIHRvSWRlbnRpZmllcigpOiBzdHJpbmcge1xuICAgIHJldHVybiBTdHJpbmdIZWxwZXIudG9QYXNjYWxDYXNlKHRoaXMudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpXG4gICAgICAucmVwbGFjZSgvXFwqL2csIFwid2lsZGNhcmRcIilcbiAgICAgIC5yZXBsYWNlKC9cXC4vZywgXCItXCIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKi9cbiAgZ2V0Wm9uZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcm91dGU1MyBob3N0ZWQgem9uZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBkb21haW4gbmFtZS5cbiAgICogVGhpcyBtZXRob2QgaXMgc2FmZSB0byBjYWxsIHJlcGVhdGVkbHksIHRoZSBsb29rdXAgd2lsbCBvbmx5IGJlIGRvbmUgb25jZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byB1c2UgaWYgYSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGlkIGFuIG9wdGlvbmFsIElEIGlmIGEgbG9va3VwIGlzIHJlcXVpcmVkOyBvbmUgaXMgZ2VuZXJhdGVkIGlmIG5vdCBwcm92aWRlZFxuICAgKi9cbiAgZ2V0SG9zdGVkWm9uZShzY29wZTogQ29uc3RydWN0LCBpZD86IHN0cmluZykgOiBJSG9zdGVkWm9uZSB7XG4gICAgaWYgKHRoaXMuaG9zdGVkWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmhvc3RlZFpvbmUgPSBIb3N0ZWRab25lLmZyb21Mb29rdXAoc2NvcGUsIGlkID8/IGAke3RoaXMudG9JZGVudGlmaWVyKCl9LXpvbmVgLCB7XG4gICAgICAgIGRvbWFpbk5hbWU6IHRoaXMuem9uZSxcbiAgICAgICAgcHJpdmF0ZVpvbmU6IHRoaXMucHJpdmF0ZVpvbmUsXG4gICAgICAgIHZwY0lkOiB0aGlzLnZwY0lkXG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaG9zdGVkWm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgUm91dGU1MyBBUmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlQVJlY29yZChzY29wZTogQ29uc3RydWN0LCB0YXJnZXQ6IFJlY29yZFRhcmdldCwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogQVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBBUmVjb3JkKHNjb3BlLCBvcHRpb25zPy5pZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfUFSZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdHRsOiBvcHRpb25zPy50dGwsXG4gICAgICBjb21tZW50OiBvcHRpb25zPy5jb21tZW50LFxuICAgICAgZGVsZXRlRXhpc3Rpbmc6IG9wdGlvbnM/LmRlbGV0ZUV4aXN0aW5nXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHdlaWdodGVkIFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0XG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCB3ZWlnaHQ6IG51bWJlciwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogV2VpZ2h0ZWRBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IFdlaWdodGVkQVJlY29yZChzY29wZSwgb3B0aW9ucz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX1BUmVjb3JkYCwge1xuICAgICAgem9uZTogdGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSxcbiAgICAgIHJlY29yZE5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHRhcmdldCxcbiAgICAgIHdlaWdodCxcbiAgICAgIHR0bDogb3B0aW9ucz8udHRsLFxuICAgICAgY29tbWVudDogb3B0aW9ucz8uY29tbWVudCxcbiAgICAgIGRlbGV0ZUV4aXN0aW5nOiBvcHRpb25zPy5kZWxldGVFeGlzdGluZ1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBsYXRlbmN5IFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlTGF0ZW5jeUFSZWNvcmQoc2NvcGU6IENvbnN0cnVjdCwgdGFyZ2V0OiBSZWNvcmRUYXJnZXQsIG9wdGlvbnM/OiBBUmVjb3JkT3B0aW9ucyk6IExhdGVuY3lBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IExhdGVuY3lBUmVjb3JkKHNjb3BlLCBvcHRpb25zPy5pZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfUFSZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdHRsOiBvcHRpb25zPy50dGwsXG4gICAgICBjb21tZW50OiBvcHRpb25zPy5jb21tZW50LFxuICAgICAgZGVsZXRlRXhpc3Rpbmc6IG9wdGlvbnM/LmRlbGV0ZUV4aXN0aW5nXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBBQ00gY2VydGlmaWNhdGUgZm9yIHRoZSBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gb3B0cyBhZGRpdGlvbmFsIG9wdGlvbnNcbiAgICovXG4gIGNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIG9wdHM/OiBDZXJ0aWZpY2F0ZU9wdGlvbnMpOiBDZXJ0aWZpY2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgb3B0cz8uaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX1DZXJ0aWZpY2F0ZWAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zKHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSkpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IG9wdHM/LnN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIHRvIERvbWFpbk5hbWUuIFRoaXMgZnVuY3Rpb24gd2lsbCByZXR1cm4gYW4gZW1wdHkgYXJyYXlcbiAgICogaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIGZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHM/OiBEb21haW5OYW1lUHJvcHNbXSkgOiBEb21haW5OYW1lW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogZG9tYWluTmFtZVByb3BzLm1hcChwID0+IG5ldyBEb21haW5OYW1lKHApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIERvbWFpbk5hbWUgZnJvbSBhIGZ1bGx5IHF1YWxpZmllZCBkb21haW4gbmFtZSBhbmQgYSB6b25lLlxuICAgKlxuICAgKiBAcGFyYW0gZnFkbiB0aGUgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lXG4gICAqIEBwYXJhbSB6b25lIHRoZSB6b25lXG4gICAqL1xuICBzdGF0aWMgZnJvbUZxZG4oZnFkbjogc3RyaW5nLCB6b25lOiBJSG9zdGVkWm9uZSB8IHN0cmluZywgcHJpdmF0ZVpvbmU/OiBib29sZWFuLCB2cGNJZD86IHN0cmluZyk6IERvbWFpbk5hbWUge1xuICAgIGNvbnN0IHByZWZpeCA9IGZxZG4ucmVwbGFjZSh0eXBlb2Ygem9uZSA9PT0gXCJzdHJpbmdcIiA/IHpvbmUgOiB6b25lLnpvbmVOYW1lLCBcIlwiKVxuICAgICAgLnJlcGxhY2UoL1xcLiQvLCBcIlwiKTtcbiAgICByZXR1cm4gbmV3IERvbWFpbk5hbWUoe1xuICAgICAgcHJlZml4LCB6b25lLCBwcml2YXRlWm9uZSwgdnBjSWRcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMgdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy4gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBhblxuICAgKiBlbXB0eSBhcnJheSBpZiBkb21haW5OYW1lcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgRG9tYWluTmFtZSBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3MoZG9tYWluTmFtZXM/OiBEb21haW5OYW1lW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lcyA9PT0gdW5kZWZpbmVkID8gW10gOiBkb21haW5OYW1lcy5tYXAoZCA9PiBkLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyB0byBhbiBhcnJheSBvZiBzdHJpbmdzLiBUaGlzIGZ1bmN0aW9uIHdpbGxcbiAgICogcmV0dXJuIGFuIGVtcHR5IGFycmF5IGlmIGRvbWFpbk5hbWVQcm9wcyBpcyB1bmRlZmluZWQuXG4gICAqXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1N0cmluZ3NGcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzPzogRG9tYWluTmFtZVByb3BzW10pIDogc3RyaW5nW10ge1xuICAgIHJldHVybiBkb21haW5OYW1lUHJvcHMgPT09IHVuZGVmaW5lZCA/IFtdIDogRG9tYWluTmFtZS50b1N0cmluZ3MoRG9tYWluTmFtZS5mcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlIHZhbHVlXG4gICAqIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZXMgaXMgdW5kZWZpbmVkLiBUaGlzIGZ1bmN0aW9uXG4gICAqIGlzIHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgbGlrZSBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB1c2VkIGlmIGEgem9uZSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBEb21haW5OYW1lIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvWm9uZU1hcChzY29wZTogQ29uc3RydWN0LCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICBjb25zdCBtYXA6IHtba2V5OiBzdHJpbmddOiBJSG9zdGVkWm9uZX0gPSB7fVxuICAgIGlmIChkb21haW5OYW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkb21haW5OYW1lcy5mb3JFYWNoKGQgPT4ge1xuICAgICAgICBtYXBbZC50b1N0cmluZygpXSA9IGQuZ2V0SG9zdGVkWm9uZShzY29wZSlcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbWFwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGEgbWFwIHdoZXJlIHRoZSBrZXkgaXMgdGhlIGRvbWFpbiBuYW1lIHN0cmluZyBhbmQgdGhlXG4gICAqIHZhbHVlIGlzIGFuIElIb3N0ZWRab25lLiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBhbiBlbXB0eSBtYXAgaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC4gVGhpc1xuICAgKiBmdW5jdGlvbiBpcyB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZnVuY3Rpb25zIGxpa2UgQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnNNdWx0aVpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdXNlZCBpZiBhIHpvbmUgbG9va3VwIGlzIHJlcXVpcmVkXG4gICAqIEBwYXJhbSBkb21haW5OYW1lUHJvcHMgdGhlIERvbWFpbk5hbWVQcm9wcyBvYmplY3RzIHRvIGNvbnZlcnRcbiAgICovXG4gIHN0YXRpYyB0b1pvbmVNYXBGcm9tUHJvcHMoc2NvcGU6IENvbnN0cnVjdCwgZG9tYWluTmFtZVByb3BzOiBEb21haW5OYW1lUHJvcHNbXSkgOiB7IFtkb21haW5OYW1lOiBzdHJpbmddOiBJSG9zdGVkWm9uZSB9IHtcbiAgICByZXR1cm4gRG9tYWluTmFtZS50b1pvbmVNYXAoc2NvcGUsIERvbWFpbk5hbWUuZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBkb21haW4gbmFtZSBtYXRjaGluZyB0aGUgZ2l2ZW4gcHJvcGVydGllcyBpbiBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyB0byBjb21wYXJlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHNlYXJjaFxuICAgKiBAcmV0dXJuIHRoZSBtYXRjaGluZyBkb21haW4gbmFtZSBvciB1bmRlZmluZWRcbiAgICovXG4gIHN0YXRpYyBmaW5kRG9tYWluTmFtZShwcm9wczogRG9tYWluTmFtZVByb3BzLCBkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSk6IERvbWFpbk5hbWUgfCB1bmRlZmluZWQge1xuICAgIGZvciAobGV0IGRvbWFpbk5hbWUgb2YgZG9tYWluTmFtZXMgPz8gW10pIHtcbiAgICAgIGlmIChkb21haW5OYW1lLnByb3BzTWF0Y2gocHJvcHMpKSB7XG4gICAgICAgIHJldHVybiBkb21haW5OYW1lO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGNlcnRpZmljYXRlIGZyb20gYW4gYXJyYXkgb2YgRG9tYWluTmFtZSBvYmplY3RzLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZVxuICAgKiBAcGFyYW0gaWQgdGhlIGlkZW50aWZpZXIgdG8gdXNlIGluIHRoZSBzY29wZSBmb3IgdGhlIGNlcnRpZmljYXRlXG4gICAqIEBwYXJhbSBkb21haW5OYW1lcyB0aGUgZG9tYWluIG5hbWVzIHRvIHVzZSBpbiB0aGUgY2VydGlmaWNhdGVcbiAgICovXG4gIHN0YXRpYyBjcmVhdGVDZXJ0aWZpY2F0ZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBkb21haW5OYW1lczogRG9tYWluTmFtZVtdKTogQ2VydGlmaWNhdGUge1xuICAgIHJldHVybiBuZXcgQ2VydGlmaWNhdGUoc2NvcGUsIGlkLCB7XG4gICAgICBkb21haW5OYW1lOiBkb21haW5OYW1lc1swXS50b1N0cmluZygpLFxuICAgICAgc3ViamVjdEFsdGVybmF0aXZlTmFtZXM6IGRvbWFpbk5hbWVzLnNsaWNlKDEpLm1hcChuYW1lID0+IG5hbWUudG9TdHJpbmcoKSksXG4gICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZShEb21haW5OYW1lLnRvWm9uZU1hcChzY29wZSwgZG9tYWluTmFtZXMpKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
272
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW5hbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21haW4tbmFtZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBdUY7QUFFdkYsMkRBQW9EO0FBQ3BELHlEQUFrRDtBQUNsRCwrRUFBc0Y7QUFFdEYsMkNBQTJDO0FBMkUzQzs7O0dBR0c7QUFDSCxNQUFhLFVBQVU7SUFRckI7Ozs7T0FJRztJQUNILFlBQVksS0FBc0I7O1FBQ2hDLElBQUksQ0FBQyxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsU0FBRyxLQUFLLENBQUMsV0FBVyxtQ0FBSSxLQUFLLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQXNCOztRQUMvQixJQUFJLFdBQVcsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxL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VSxDQUFDO2FBQ25CO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFdBQXlCO1FBQzlFLE9BQU8sSUFBSSxvQ0FBVyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDaEMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7WUFDckMsdUJBQXVCLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDMUUsVUFBVSxFQUFFLDhDQUFxQixDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzdGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXRSRCxnQ0FzUkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FSZWNvcmQsIEhvc3RlZFpvbmUsIElIb3N0ZWRab25lLCBSZWNvcmRUYXJnZXR9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1dlaWdodGVkQVJlY29yZH0gZnJvbSBcIi4vd2VpZ2h0ZWQtYS1yZWNvcmRcIjtcbmltcG9ydCB7TGF0ZW5jeUFSZWNvcmR9IGZyb20gXCIuL2xhdGVuY3ktYS1yZWNvcmRcIjtcbmltcG9ydCB7Q2VydGlmaWNhdGUsIENlcnRpZmljYXRlVmFsaWRhdGlvbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7RHVyYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtTdHJpbmdIZWxwZXJ9IGZyb20gXCIuLi8uLi9oZWxwZXJzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRG9tYWluTmFtZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvbWFpbk5hbWVQcm9wcyB7XG5cbiAgLyoqXG4gICAqIERvbWFpbiBuYW1lIHByZWZpeC5cbiAgICpcbiAgICogQGRlZmF1bHQgZW1wdHkgc3RyaW5nXG4gICAqL1xuICByZWFkb25seSBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFpvbmUgZm9yIHRoZSBkb21haW4gbmFuZS5cbiAgICovXG4gIHJlYWRvbmx5IHpvbmU6IHN0cmluZyB8IElIb3N0ZWRab25lO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIG1hcmsgem9uZSBhcyBwcml2YXRlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBWUEMgdGhlIHpvbmUgYmVsb25ncyB0by5cbiAgICpcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSB2cGNJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBQ00gY2VydGlmaWNhdGUgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENlcnRpZmljYXRlT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIHRvIHVzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJHt0aGlzLnRvSWRlbnRpZmllcigpfUNlcnRpZmljYXRlXG4gICAqL1xuICByZWFkb25seSBpZD86IHN0cmluZztcblxuICAvKipcbiAgICogQWx0ZXJuYXRpdmUgZG9tYWluIG5hbWVzIG9uIHRoZSBjZXJ0aWZpY2F0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHN1YmplY3RBbHRlcm5hdGl2ZU5hbWVzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVJlY29yZE9wdGlvbnMge1xuXG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciB0byB1c2UuIE9uZSBpcyBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZSByZWNvcmQgY2FjaGUgdGltZSB0byBsaXZlIChUVEwpLlxuICAgKi9cbiAgcmVhZG9ubHkgdHRsPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIEEgY29tbWVudCB0byBhZGQgb24gdGhlIHJlY29yZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1lbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGVsZXRlIHRoZSBzYW1lIHJlY29yZCBzZXQgaW4gdGhlIGhvc3RlZCB6b25lIGlmIGl0IGFscmVhZHkgZXhpc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVsZXRlRXhpc3Rpbmc/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3MgZm9yIGhvbGRpbmcgZG9tYWluIG5hbWUgaW5mb3JtYXRpb24gYW5kXG4gKiBkb2luZyB1c2VmdWwgdGhpbmdzIHdpdGggaXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb21haW5OYW1lIHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJlZml4OiBzdHJpbmc7XG4gIHByb3RlY3RlZCByZWFkb25seSB6b25lOiBzdHJpbmc7XG4gIHByb3RlY3RlZCBob3N0ZWRab25lPzogSUhvc3RlZFpvbmU7XG4gIHByb3RlY3RlZCByZWFkb25seSBwcml2YXRlWm9uZTogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IERvbWFpbk5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyB0aGUgcHJvcGVydGllcyBvZiB0aGUgZG9tYWluIG5hbWVcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBEb21haW5OYW1lUHJvcHMpIHtcbiAgICB0aGlzLnByZWZpeCA9IHByb3BzLnByZWZpeCA/PyBcIlwiO1xuICAgIGlmICh0eXBlb2YgcHJvcHMuem9uZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgdGhpcy56b25lID0gcHJvcHMuem9uZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ob3N0ZWRab25lID0gcHJvcHMuem9uZTtcbiAgICAgIHRoaXMuem9uZSA9IHRoaXMuaG9zdGVkWm9uZS56b25lTmFtZTtcbiAgICB9XG4gICAgdGhpcy5wcml2YXRlWm9uZSA9IHByb3BzLnByaXZhdGVab25lID8/IGZhbHNlO1xuICAgIHRoaXMudnBjSWQgPSBwcm9wcy52cGNJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBwcmVmaXggZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBnZXRQcmVmaXgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wcmVmaXg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSB6b25lIGlzIHByaXZhdGUuIEZhbHNlIGlmIG90aGVyd2lzZS5cbiAgICovXG4gIGluUHJpdmF0ZVpvbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucHJpdmF0ZVpvbmU7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdnBjIElEIGZvciB0aGlzIHpvbmUgb3IgdW5kZWZpbmVkIGlmIG9uZSBkb2VzIG5vdCBleGlzdFxuICAgKi9cbiAgZ2V0VnBjSWQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52cGNJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHByb3BzIG1hdGNoIHRoZSBkb21haW4gbmFtZS4gRmFsc2UgaWYgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgdGhlIHByb3BzIHRvIGNvbXBhcmVcbiAgICovXG4gIHByb3BzTWF0Y2gocHJvcHM6IERvbWFpbk5hbWVQcm9wcyk6IGJvb2xlYW4ge1xuICAgIGxldCBwcm9wWm9uZVN0ciA9IHR5cGVvZiBwcm9wcy56b25lID09PSBcInN0cmluZ1wiID8gcHJvcHMuem9uZSA6IHByb3BzLnpvbmUuem9uZU5hbWU7XG4gICAgcmV0dXJuIHRoaXMucHJlZml4ID09PSAocHJvcHMucHJlZml4ID8/IFwiXCIpXG4gICAgICAmJiB0aGlzLnpvbmUgPT09IHByb3Bab25lU3RyXG4gICAgICAmJiB0aGlzLnByaXZhdGVab25lID09PSAocHJvcHMucHJpdmF0ZVpvbmUgPz8gZmFsc2UpXG4gICAgICAmJiB0aGlzLnZwY0lkID09PSBwcm9wcy52cGNJZFxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHN0cmluZyB2ZXJzaW9uIG9mIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5wcmVmaXggPT0gXCJcIiA/IFwiXCIgOiB0aGlzLnByZWZpeCArIFwiLlwiKSArIHRoaXMuem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgZnJpZW5kbHkgaWRlbnRpZmllciBmb3IgdGhpcyBkb21haW4gbmFtZS4gVGhpcyBmdW5jdGlvbiByZXBsYWNlcyB3aWxkY2FyZHMgd2l0aCBfIGFuZCBwZXJpb2RzIHdpdGggLVxuICAgKi9cbiAgdG9JZGVudGlmaWVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFN0cmluZ0hlbHBlci50b1Bhc2NhbENhc2UodGhpcy50b1N0cmluZygpLnRvTG93ZXJDYXNlKClcbiAgICAgIC5yZXBsYWNlKC9cXCovZywgXCJ3aWxkY2FyZFwiKVxuICAgICAgLnJlcGxhY2UoL1xcLi9nLCBcIi1cIikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqL1xuICBnZXRab25lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuem9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByb3V0ZTUzIGhvc3RlZCB6b25lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKiBUaGlzIG1ldGhvZCBpcyBzYWZlIHRvIGNhbGwgcmVwZWF0ZWRseSwgdGhlIGxvb2t1cCB3aWxsIG9ubHkgYmUgZG9uZSBvbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIHVzZSBpZiBhIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gaWQgYW4gb3B0aW9uYWwgSUQgaWYgYSBsb29rdXAgaXMgcmVxdWlyZWQ7IG9uZSBpcyBnZW5lcmF0ZWQgaWYgbm90IHByb3ZpZGVkXG4gICAqL1xuICBnZXRIb3N0ZWRab25lKHNjb3BlOiBDb25zdHJ1Y3QsIGlkPzogc3RyaW5nKSA6IElIb3N0ZWRab25lIHtcbiAgICBpZiAodGhpcy5ob3N0ZWRab25lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUxvb2t1cChzY29wZSwgaWQgPz8gYCR7dGhpcy50b0lkZW50aWZpZXIoKX0tem9uZWAsIHtcbiAgICAgICAgZG9tYWluTmFtZTogdGhpcy56b25lLFxuICAgICAgICBwcml2YXRlWm9uZTogdGhpcy5wcml2YXRlWm9uZSxcbiAgICAgICAgdnBjSWQ6IHRoaXMudnBjSWRcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ob3N0ZWRab25lO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3J1YklkZW50aWZpZXIoaWRlbnRpZmllcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gL15cXGQvLnRlc3QoaWRlbnRpZmllcikgPyBcInhcIiArIGlkZW50aWZpZXIgOiBpZGVudGlmaWVyO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBSb3V0ZTUzIEFSZWNvcmQgZm9yIHRoaXMgZG9tYWluIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gY3JlYXRlIHRoZSByZWNvcmQgaW5cbiAgICogQHBhcmFtIHRhcmdldCB0aGUgdGFyZ2V0IG9mIHRoZSByZWNvcmRcbiAgICogQHBhcmFtIG9wdGlvbnMgYWRkaXRpb25hbCBvcHRpb25zIGZvciBjcmVhdGluZyB0aGUgcmVjb3JkXG4gICAqL1xuICBjcmVhdGVBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCBvcHRpb25zPzogQVJlY29yZE9wdGlvbnMpOiBBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IEFSZWNvcmQoc2NvcGUsIG9wdGlvbnM/LmlkID8/IGAke3RoaXMuc2NydWJJZGVudGlmaWVyKHRoaXMudG9JZGVudGlmaWVyKCkpfUFSZWNvcmRgLCB7XG4gICAgICB6b25lOiB0aGlzLmdldEhvc3RlZFpvbmUoc2NvcGUpLFxuICAgICAgcmVjb3JkTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdGFyZ2V0LFxuICAgICAgdHRsOiBvcHRpb25zPy50dGwsXG4gICAgICBjb21tZW50OiBvcHRpb25zPy5jb21tZW50LFxuICAgICAgZGVsZXRlRXhpc3Rpbmc6IG9wdGlvbnM/LmRlbGV0ZUV4aXN0aW5nXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHdlaWdodGVkIFJvdXRlNTMgcmVjb3JkIGZvciB0aGlzIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSB0YXJnZXQgdGhlIHRhcmdldCBvZiB0aGUgcmVjb3JkXG4gICAqIEBwYXJhbSB3ZWlnaHQgdGhlIGluaXRpYWwgd2VpZ2h0XG4gICAqIEBwYXJhbSBvcHRpb25zIGFkZGl0aW9uYWwgb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhlIHJlY29yZFxuICAgKi9cbiAgY3JlYXRlV2VpZ2h0ZWRBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCB3ZWlnaHQ6IG51bWJlciwgb3B0aW9ucz86IEFSZWNvcmRPcHRpb25zKTogV2VpZ2h0ZWRBUmVjb3JkIHtcbiAgICByZXR1cm4gbmV3IFdlaWdodGVkQVJlY29yZChzY29wZSwgb3B0aW9ucz8uaWQgPz8gYCR7dGhpcy5zY3J1YklkZW50aWZpZXIodGhpcy50b0lkZW50aWZpZXIoKSl9QVJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXQsXG4gICAgICB3ZWlnaHQsXG4gICAgICB0dGw6IG9wdGlvbnM/LnR0bCxcbiAgICAgIGNvbW1lbnQ6IG9wdGlvbnM/LmNvbW1lbnQsXG4gICAgICBkZWxldGVFeGlzdGluZzogb3B0aW9ucz8uZGVsZXRlRXhpc3RpbmdcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbGF0ZW5jeSBSb3V0ZTUzIHJlY29yZCBmb3IgdGhpcyBkb21haW4gbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB0byBjcmVhdGUgdGhlIHJlY29yZCBpblxuICAgKiBAcGFyYW0gdGFyZ2V0IHRoZSB0YXJnZXQgb2YgdGhlIHJlY29yZFxuICAgKiBAcGFyYW0gb3B0aW9ucyBhZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoZSByZWNvcmRcbiAgICovXG4gIGNyZWF0ZUxhdGVuY3lBUmVjb3JkKHNjb3BlOiBDb25zdHJ1Y3QsIHRhcmdldDogUmVjb3JkVGFyZ2V0LCBvcHRpb25zPzogQVJlY29yZE9wdGlvbnMpOiBMYXRlbmN5QVJlY29yZCB7XG4gICAgcmV0dXJuIG5ldyBMYXRlbmN5QVJlY29yZChzY29wZSwgb3B0aW9ucz8uaWQgPz8gYCR7dGhpcy5zY3J1YklkZW50aWZpZXIodGhpcy50b0lkZW50aWZpZXIoKSl9QVJlY29yZGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuZ2V0SG9zdGVkWm9uZShzY29wZSksXG4gICAgICByZWNvcmROYW1lOiB0aGlzLnRvU3RyaW5nKCksXG4gICAgICB0YXJnZXQsXG4gICAgICB0dGw6IG9wdGlvbnM/LnR0bCxcbiAgICAgIGNvbW1lbnQ6IG9wdGlvbnM/LmNvbW1lbnQsXG4gICAgICBkZWxldGVFeGlzdGluZzogb3B0aW9ucz8uZGVsZXRlRXhpc3RpbmdcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIEFDTSBjZXJ0aWZpY2F0ZSBmb3IgdGhlIGRvbWFpbiBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHRvIGNyZWF0ZSB0aGUgcmVjb3JkIGluXG4gICAqIEBwYXJhbSBvcHRzIGFkZGl0aW9uYWwgb3B0aW9uc1xuICAgKi9cbiAgY3JlYXRlQ2VydGlmaWNhdGUoc2NvcGU6IENvbnN0cnVjdCwgb3B0cz86IENlcnRpZmljYXRlT3B0aW9ucyk6IENlcnRpZmljYXRlIHtcbiAgICByZXR1cm4gbmV3IENlcnRpZmljYXRlKHNjb3BlLCBvcHRzPy5pZCA/PyBgJHt0aGlzLnRvSWRlbnRpZmllcigpfUNlcnRpZmljYXRlYCwge1xuICAgICAgZG9tYWluTmFtZTogdGhpcy50b1N0cmluZygpLFxuICAgICAgdmFsaWRhdGlvbjogQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnModGhpcy5nZXRIb3N0ZWRab25lKHNjb3BlKSksXG4gICAgICBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lczogb3B0cz8uc3ViamVjdEFsdGVybmF0aXZlTmFtZXNcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lUHJvcHMgdG8gRG9tYWluTmFtZS4gVGhpcyBmdW5jdGlvbiB3aWxsIHJldHVybiBhbiBlbXB0eSBhcnJheVxuICAgKiBpZiBkb21haW5OYW1lUHJvcHMgaXMgdW5kZWZpbmVkLlxuICAgKlxuICAgKiBAcGFyYW0gZG9tYWluTmFtZVByb3BzIHRoZSBEb21haW5OYW1lUHJvcHMgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgZnJvbVByb3BzKGRvbWFpbk5hbWVQcm9wcz86IERvbWFpbk5hbWVQcm9wc1tdKSA6IERvbWFpbk5hbWVbXSB7XG4gICAgcmV0dXJuIGRvbWFpbk5hbWVQcm9wcyA9PT0gdW5kZWZpbmVkID8gW10gOiBkb21haW5OYW1lUHJvcHMubWFwKHAgPT4gbmV3IERvbWFpbk5hbWUocCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRG9tYWluTmFtZSBmcm9tIGEgZnVsbHkgcXVhbGlmaWVkIGRvbWFpbiBuYW1lIGFuZCBhIHpvbmUuXG4gICAqXG4gICAqIEBwYXJhbSBmcWRuIHRoZSBmdWxseSBxdWFsaWZpZWQgZG9tYWluIG5hbWVcbiAgICogQHBhcmFtIHpvbmUgdGhlIHpvbmVcbiAgICovXG4gIHN0YXRpYyBmcm9tRnFkbihmcWRuOiBzdHJpbmcsIHpvbmU6IElIb3N0ZWRab25lIHwgc3RyaW5nLCBwcml2YXRlWm9uZT86IGJvb2xlYW4sIHZwY0lkPzogc3RyaW5nKTogRG9tYWluTmFtZSB7XG4gICAgY29uc3QgcHJlZml4ID0gZnFkbi5yZXBsYWNlKHR5cGVvZiB6b25lID09PSBcInN0cmluZ1wiID8gem9uZSA6IHpvbmUuem9uZU5hbWUsIFwiXCIpXG4gICAgICAucmVwbGFjZSgvXFwuJC8sIFwiXCIpO1xuICAgIHJldHVybiBuZXcgRG9tYWluTmFtZSh7XG4gICAgICBwcmVmaXgsIHpvbmUsIHByaXZhdGVab25lLCB2cGNJZFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIGFycmF5IG9mIERvbWFpbk5hbWUgb2JqZWN0cyB0byBhbiBhcnJheSBvZiBzdHJpbmdzLiBUaGlzIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGFuXG4gICAqIGVtcHR5IGFycmF5IGlmIGRvbWFpbk5hbWVzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBEb21haW5OYW1lIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvU3RyaW5ncyhkb21haW5OYW1lcz86IERvbWFpbk5hbWVbXSkgOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGRvbWFpbk5hbWVzID09PSB1bmRlZmluZWQgPyBbXSA6IGRvbWFpbk5hbWVzLm1hcChkID0+IGQudG9TdHJpbmcoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIHRvIGFuIGFycmF5IG9mIHN0cmluZ3MuIFRoaXMgZnVuY3Rpb24gd2lsbFxuICAgKiByZXR1cm4gYW4gZW1wdHkgYXJyYXkgaWYgZG9tYWluTmFtZVByb3BzIGlzIHVuZGVmaW5lZC5cbiAgICpcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvU3RyaW5nc0Zyb21Qcm9wcyhkb21haW5OYW1lUHJvcHM/OiBEb21haW5OYW1lUHJvcHNbXSkgOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIGRvbWFpbk5hbWVQcm9wcyA9PT0gdW5kZWZpbmVkID8gW10gOiBEb21haW5OYW1lLnRvU3RyaW5ncyhEb21haW5OYW1lLmZyb21Qcm9wcyhkb21haW5OYW1lUHJvcHMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMgdG8gYSBtYXAgd2hlcmUgdGhlIGtleSBpcyB0aGUgZG9tYWluIG5hbWUgc3RyaW5nIGFuZCB0aGUgdmFsdWVcbiAgICogaXMgYW4gSUhvc3RlZFpvbmUuIFRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGFuIGVtcHR5IG1hcCBpZiBkb21haW5OYW1lcyBpcyB1bmRlZmluZWQuIFRoaXMgZnVuY3Rpb25cbiAgICogaXMgdXNlZnVsIHdoZW4gdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGZ1bmN0aW9ucyBsaWtlIENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgdGhlIHNjb3BlIHVzZWQgaWYgYSB6b25lIGxvb2t1cCBpcyByZXF1aXJlZFxuICAgKiBAcGFyYW0gZG9tYWluTmFtZXMgdGhlIERvbWFpbk5hbWUgb2JqZWN0cyB0byBjb252ZXJ0XG4gICAqL1xuICBzdGF0aWMgdG9ab25lTWFwKHNjb3BlOiBDb25zdHJ1Y3QsIGRvbWFpbk5hbWVzPzogRG9tYWluTmFtZVtdKSA6IHsgW2RvbWFpbk5hbWU6IHN0cmluZ106IElIb3N0ZWRab25lIH0ge1xuICAgIGNvbnN0IG1hcDoge1trZXk6IHN0cmluZ106IElIb3N0ZWRab25lfSA9IHt9XG4gICAgaWYgKGRvbWFpbk5hbWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGRvbWFpbk5hbWVzLmZvckVhY2goZCA9PiB7XG4gICAgICAgIG1hcFtkLnRvU3RyaW5nKCldID0gZC5nZXRIb3N0ZWRab25lKHNjb3BlKVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYW4gYXJyYXkgb2YgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gYSBtYXAgd2hlcmUgdGhlIGtleSBpcyB0aGUgZG9tYWluIG5hbWUgc3RyaW5nIGFuZCB0aGVcbiAgICogdmFsdWUgaXMgYW4gSUhvc3RlZFpvbmUuIFRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIGFuIGVtcHR5IG1hcCBpZiBkb21haW5OYW1lUHJvcHMgaXMgdW5kZWZpbmVkLiBUaGlzXG4gICAqIGZ1bmN0aW9uIGlzIHVzZWZ1bCB3aGVuIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBmdW5jdGlvbnMgbGlrZSBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURuc011bHRpWm9uZS5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIHRoZSBzY29wZSB1c2VkIGlmIGEgem9uZSBsb29rdXAgaXMgcmVxdWlyZWRcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVQcm9wcyB0aGUgRG9tYWluTmFtZVByb3BzIG9iamVjdHMgdG8gY29udmVydFxuICAgKi9cbiAgc3RhdGljIHRvWm9uZU1hcEZyb21Qcm9wcyhzY29wZTogQ29uc3RydWN0LCBkb21haW5OYW1lUHJvcHM6IERvbWFpbk5hbWVQcm9wc1tdKSA6IHsgW2RvbWFpbk5hbWU6IHN0cmluZ106IElIb3N0ZWRab25lIH0ge1xuICAgIHJldHVybiBEb21haW5OYW1lLnRvWm9uZU1hcChzY29wZSwgRG9tYWluTmFtZS5mcm9tUHJvcHMoZG9tYWluTmFtZVByb3BzKSk7XG4gIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIGRvbWFpbiBuYW1lIG1hdGNoaW5nIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIGluIGFuIGFycmF5IG9mIERvbWFpbk5hbWUgb2JqZWN0cy5cbiAgICpcbiAgICogQHBhcmFtIHByb3BzIHRoZSBwcm9wZXJ0aWVzIHRvIGNvbXBhcmVcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBkb21haW4gbmFtZXMgdG8gc2VhcmNoXG4gICAqIEByZXR1cm4gdGhlIG1hdGNoaW5nIGRvbWFpbiBuYW1lIG9yIHVuZGVmaW5lZFxuICAgKi9cbiAgc3RhdGljIGZpbmREb21haW5OYW1lKHByb3BzOiBEb21haW5OYW1lUHJvcHMsIGRvbWFpbk5hbWVzPzogRG9tYWluTmFtZVtdKTogRG9tYWluTmFtZSB8IHVuZGVmaW5lZCB7XG4gICAgZm9yIChsZXQgZG9tYWluTmFtZSBvZiBkb21haW5OYW1lcyA/PyBbXSkge1xuICAgICAgaWYgKGRvbWFpbk5hbWUucHJvcHNNYXRjaChwcm9wcykpIHtcbiAgICAgICAgcmV0dXJuIGRvbWFpbk5hbWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY2VydGlmaWNhdGUgZnJvbSBhbiBhcnJheSBvZiBEb21haW5OYW1lIG9iamVjdHMuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSB0aGUgc2NvcGUgdG8gdXNlXG4gICAqIEBwYXJhbSBpZCB0aGUgaWRlbnRpZmllciB0byB1c2UgaW4gdGhlIHNjb3BlIGZvciB0aGUgY2VydGlmaWNhdGVcbiAgICogQHBhcmFtIGRvbWFpbk5hbWVzIHRoZSBkb21haW4gbmFtZXMgdG8gdXNlIGluIHRoZSBjZXJ0aWZpY2F0ZVxuICAgKi9cbiAgc3RhdGljIGNyZWF0ZUNlcnRpZmljYXRlKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGRvbWFpbk5hbWVzOiBEb21haW5OYW1lW10pOiBDZXJ0aWZpY2F0ZSB7XG4gICAgcmV0dXJuIG5ldyBDZXJ0aWZpY2F0ZShzY29wZSwgaWQsIHtcbiAgICAgIGRvbWFpbk5hbWU6IGRvbWFpbk5hbWVzWzBdLnRvU3RyaW5nKCksXG4gICAgICBzdWJqZWN0QWx0ZXJuYXRpdmVOYW1lczogZG9tYWluTmFtZXMuc2xpY2UoMSkubWFwKG5hbWUgPT4gbmFtZS50b1N0cmluZygpKSxcbiAgICAgIHZhbGlkYXRpb246IENlcnRpZmljYXRlVmFsaWRhdGlvbi5mcm9tRG5zTXVsdGlab25lKERvbWFpbk5hbWUudG9ab25lTWFwKHNjb3BlLCBkb21haW5OYW1lcykpXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "truemark-cdk-lib",
3
- "version": "1.4.3",
3
+ "version": "1.4.4-alpha.0+d822602",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "scripts": {
@@ -70,5 +70,5 @@
70
70
  "publishConfig": {
71
71
  "access": "public"
72
72
  },
73
- "gitHead": "cee5f7e9acbde2a667fff77daf1d750554086c75"
73
+ "gitHead": "d82260241192998fb5a5160676894db6d33d9e62"
74
74
  }