jsii-pacmak 1.50.0 → 1.53.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.
@@ -94,21 +94,21 @@ class GoTypeRef {
94
94
  * The go `import`s required in order to be able to use this type in code.
95
95
  */
96
96
  get dependencies() {
97
- var _a, _b, _c, _d;
97
+ var _a;
98
98
  const ret = new Array();
99
99
  switch (this.typeMap.type) {
100
100
  case 'interface':
101
101
  if ((_a = this.type) === null || _a === void 0 ? void 0 : _a.pkg) {
102
- ret.push((_b = this.type) === null || _b === void 0 ? void 0 : _b.pkg);
102
+ ret.push(this.type.pkg);
103
103
  }
104
104
  break;
105
105
  case 'array':
106
106
  case 'map':
107
- ret.push(...((_c = this.typeMap.value.dependencies) !== null && _c !== void 0 ? _c : []));
107
+ ret.push(...this.typeMap.value.dependencies);
108
108
  break;
109
109
  case 'union':
110
110
  for (const t of this.typeMap.value) {
111
- ret.push(...((_d = t.dependencies) !== null && _d !== void 0 ? _d : []));
111
+ ret.push(...t.dependencies);
112
112
  }
113
113
  break;
114
114
  case 'void':
@@ -190,4 +190,4 @@ class GoTypeRef {
190
190
  }
191
191
  }
192
192
  exports.GoTypeRef = GoTypeRef;
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tdHlwZS1yZWZlcmVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnby10eXBlLXJlZmVyZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx3Q0FBd0M7QUFLeEM7O0dBRUc7QUFDSCxNQUFNLGVBQWU7SUFVbkIsWUFBb0MsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFUL0IsUUFBRyxHQUE4QjtZQUNoRCxNQUFNLEVBQUUsU0FBUztZQUNqQixPQUFPLEVBQUUsTUFBTTtZQUNmLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLElBQUksRUFBRSxXQUFXO1lBQ2pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSx3QkFBd0I7U0FDL0IsQ0FBQztJQUVpRCxDQUFDO0lBRXBELElBQVcsV0FBVztRQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsR0FBRyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDcEQ7UUFFRCxPQUFPLEdBQUcsYUFBSCxHQUFHLGNBQUgsR0FBRyxHQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBY0Q7O0dBRUc7QUFDSCxNQUFhLFNBQVM7SUFFcEIsWUFDa0IsSUFBYSxFQUNiLFNBQXdCO1FBRHhCLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFlO0lBQ3ZDLENBQUM7SUFFSixJQUFXLElBQUk7UUFDYixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENB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LE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDcEMsOEVBQThFO1lBQzlFLElBQUksS0FBSyxDQUFDLFdBQVcsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxRQUFRLEVBQUU7Z0JBQzdELGtGQUFrRjtnQkFDbEYsT0FBTyxHQUFHLE1BQU0sR0FBRyxRQUFRLEVBQUUsQ0FBQzthQUMvQjtZQUVELHdFQUF3RTtZQUN4RSxJQUFJLFFBQVEsRUFBRTtnQkFDWixPQUFPLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO2FBQzFEO1NBQ0Y7YUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQ25DLE9BQU8sYUFBYSxDQUFDO1NBQ3RCO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUNsQyxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBRUQscUJBQXFCO1FBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQ2IsUUFBUSxNQUFBLE9BQU8sQ0FBQyxLQUFLLDBDQUFFLElBQUksdUNBQXVDLENBQ25FLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF0TEQsOEJBc0xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZVJlZmVyZW5jZSB9IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5cbmltcG9ydCAqIGFzIGxvZyBmcm9tICcuLi8uLi8uLi9sb2dnaW5nJztcbmltcG9ydCB7IFNwZWNpYWxEZXBlbmRlbmNpZXMgfSBmcm9tICcuLi9kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gJy4uL3BhY2thZ2UnO1xuaW1wb3J0IHsgR29UeXBlIH0gZnJvbSAnLi9nby10eXBlJztcblxuLypcbiAqIE1hcHMgbmFtZXMgb2YgSlMgcHJpbWl0aXZlcyB0byBjb3JyZXNwb25kaW5nIEdvIHR5cGVzIGFzIHN0cmluZ3NcbiAqL1xuY2xhc3MgUHJpbWl0aXZlTWFwcGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBNQVA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgbnVtYmVyOiAnZmxvYXQ2NCcsXG4gICAgYm9vbGVhbjogJ2Jvb2wnLFxuICAgIGFueTogJ2ludGVyZmFjZXt9JyxcbiAgICBkYXRlOiAndGltZS5UaW1lJyxcbiAgICBzdHJpbmc6ICdzdHJpbmcnLFxuICAgIGpzb246IGBtYXBbc3RyaW5nXWludGVyZmFjZXt9YCxcbiAgfTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBuYW1lOiBzdHJpbmcpIHt9XG5cbiAgcHVibGljIGdldCBnb1ByaW1pdGl2ZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbCA9IHRoaXMuTUFQW3RoaXMubmFtZV07XG4gICAgaWYgKCF2YWwpIHtcbiAgICAgIGxvZy5kZWJ1ZyhgVW5tYXBwZWQgcHJpbWl0aXZlIHR5cGU6ICR7dGhpcy5uYW1lfWApO1xuICAgIH1cblxuICAgIHJldHVybiB2YWwgPz8gdGhpcy5uYW1lO1xuICB9XG59XG5cbi8qKlxuICogVHlwZU1hcCB1c2VkIHRvIHJlY3Vyc2l2ZWx5IHJlc29sdmUgaW50ZXJmYWNlcyBpbiBuZXN0ZWQgdHlwZXMgZm9yIHVzZSBpblxuICogcmVzb2x2aW5nIHNjb3BlZCB0eXBlIG5hbWVzIGFuZCBpbXBsZW1lbnRhdGlvbiBtYXBzLlxuICovXG50eXBlIFR5cGVNYXAgPVxuICB8IHsgcmVhZG9ubHkgdHlwZTogJ3ByaW1pdGl2ZSc7IHJlYWRvbmx5IHZhbHVlOiBzdHJpbmcgfVxuICB8IHsgcmVhZG9ubHkgdHlwZTogJ2FycmF5JzsgcmVhZG9ubHkgdmFsdWU6IEdvVHlwZVJlZiB9XG4gIHwgeyByZWFkb25seSB0eXBlOiAnbWFwJzsgcmVhZG9ubHkgdmFsdWU6IEdvVHlwZVJlZiB9XG4gIHwgeyByZWFkb25seSB0eXBlOiAndW5pb24nOyByZWFkb25seSB2YWx1ZTogcmVhZG9ubHkgR29UeXBlUmVmW10gfVxuICB8IHsgcmVhZG9ubHkgdHlwZTogJ2ludGVyZmFjZSc7IHJlYWRvbmx5IHZhbHVlOiBHb1R5cGVSZWYgfVxuICB8IHsgcmVhZG9ubHkgdHlwZTogJ3ZvaWQnIH07XG5cbi8qXG4gKiBBY2NlcHRzIGEgSlNJSSBUeXBlUmVmZXJlbmNlIGFuZCBHbyBQYWNrYWdlIGFuZCBjYW4gcmVzb2x2ZSB0aGUgR29UeXBlIHdpdGhpbiB0aGUgbW9kdWxlIHRyZWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBHb1R5cGVSZWYge1xuICBwcml2YXRlIF90eXBlTWFwPzogVHlwZU1hcDtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSByb290OiBQYWNrYWdlLFxuICAgIHB1YmxpYyByZWFkb25seSByZWZlcmVuY2U6IFR5cGVSZWZlcmVuY2UsXG4gICkge31cblxuICBwdWJsaWMgZ2V0IHR5cGUoKTogR29UeXBlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5yZWZlcmVuY2UuZnFuKSB7XG4gICAgICByZXR1cm4gdGhpcy5yb290LmZpbmRUeXBlKHRoaXMucmVmZXJlbmNlLmZxbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3BlY2lhbERlcGVuZGVuY2llcygpOiBTcGVjaWFsRGVwZW5kZW5jaWVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcnVudGltZTogZmFsc2UsXG4gICAgICBpbml0OiBmYWxzZSxcbiAgICAgIGludGVybmFsOiBmYWxzZSxcbiAgICAgIHRpbWU6IGNvbnRhaW5zRGF0ZSh0aGlzLnJlZmVyZW5jZSksXG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGNvbnRhaW5zRGF0ZShyZWY6IFR5cGVSZWZlcmVuY2UpOiBib29sZWFuIHtcbiAgICAgIGlmIChyZWYucHJpbWl0aXZlID09PSAnZGF0ZScpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAocmVmLmFycmF5T2ZUeXBlKSB7XG4gICAgICAgIHJldHVybiBjb250YWluc0RhdGUocmVmLmFycmF5T2ZUeXBlKTtcbiAgICAgIH1cbiAgICAgIGlmIChyZWYubWFwT2ZUeXBlKSB7XG4gICAgICAgIHJldHVybiBjb250YWluc0RhdGUocmVmLm1hcE9mVHlwZSk7XG4gICAgICB9XG4gICAgICBpZiAocmVmLnVuaW9uT2ZUeXBlcykge1xuICAgICAgICByZXR1cm4gcmVmLnVuaW9uT2ZUeXBlcy5zb21lKGNvbnRhaW5zRGF0ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBwcmltaXRpdmVUeXBlKCkge1xuICAgIGlmICh0aGlzLnJlZmVyZW5jZS5wcmltaXRpdmUpIHtcbiAgICAgIHJldHVybiBuZXcgUHJpbWl0aXZlTWFwcGVyKHRoaXMucmVmZXJlbmNlLnByaW1pdGl2ZSkuZ29QcmltaXRpdmU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlPy5uYW1lO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRhdHlwZSgpIHtcbiAgICBjb25zdCByZWZsZWN0VHlwZSA9IHRoaXMudHlwZT8udHlwZTtcbiAgICByZXR1cm4gcmVmbGVjdFR5cGU/LmlzSW50ZXJmYWNlVHlwZSgpICYmIHJlZmxlY3RUeXBlLmRhdGF0eXBlO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lc3BhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZT8ubmFtZXNwYWNlO1xuICB9XG5cbiAgcHVibGljIGdldCB2b2lkKCkge1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZS52b2lkO1xuICB9XG5cbiAgcHVibGljIGdldCB0eXBlTWFwKCk6IFR5cGVNYXAge1xuICAgIGlmICghdGhpcy5fdHlwZU1hcCkge1xuICAgICAgdGhpcy5fdHlwZU1hcCA9IHRoaXMuYnVpbGRUeXBlTWFwKHRoaXMpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fdHlwZU1hcDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZ28gYGltcG9ydGBzIHJlcXVpcmVkIGluIG9yZGVyIHRvIGJlIGFibGUgdG8gdXNlIHRoaXMgdHlwZSBpbiBjb2RlLlxuICAgKi9cbiAgcHVibGljIGdldCBkZXBlbmRlbmNpZXMoKTogcmVhZG9ubHkgUGFja2FnZVtdIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8UGFja2FnZT4oKTtcblxuICAgIHN3aXRjaCAodGhpcy50eXBlTWFwLnR5cGUpIHtcbiAgICAgIGNhc2UgJ2ludGVyZmFjZSc6XG4gICAgICAgIGlmICh0aGlzLnR5cGU/LnBrZykge1xuICAgICAgICAgIHJldC5wdXNoKHRoaXMudHlwZT8ucGtnKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnbWFwJzpcbiAgICAgICAgcmV0LnB1c2goLi4uKHRoaXMudHlwZU1hcC52YWx1ZS5kZXBlbmRlbmNpZXMgPz8gW10pKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3VuaW9uJzpcbiAgICAgICAgZm9yIChjb25zdCB0IG9mIHRoaXMudHlwZU1hcC52YWx1ZSkge1xuICAgICAgICAgIHJldC5wdXNoKC4uLih0LmRlcGVuZGVuY2llcyA/PyBbXSkpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICd2b2lkJzpcbiAgICAgIGNhc2UgJ3ByaW1pdGl2ZSc6XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvKlxuICAgKiBSZXR1cm4gdGhlIG5hbWUgb2YgYSB0eXBlIGZvciByZWZlcmVuY2UgZnJvbSB0aGUgYFBhY2thZ2VgIHBhc3NlZCBpblxuICAgKi9cbiAgcHVibGljIHNjb3BlZE5hbWUoc2NvcGU6IFBhY2thZ2UpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNjb3BlZFR5cGVOYW1lKHRoaXMudHlwZU1hcCwgc2NvcGUpO1xuICB9XG5cbiAgcHVibGljIHNjb3BlZFJlZmVyZW5jZShzY29wZTogUGFja2FnZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGVkVHlwZU5hbWUodGhpcy50eXBlTWFwLCBzY29wZSwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGJ1aWxkVHlwZU1hcChyZWY6IEdvVHlwZVJlZik6IFR5cGVNYXAge1xuICAgIGlmIChyZWYucHJpbWl0aXZlVHlwZSkge1xuICAgICAgcmV0dXJuIHsgdHlwZTogJ3ByaW1pdGl2ZScsIHZhbHVlOiByZWYucHJpbWl0aXZlVHlwZSB9O1xuICAgIH0gZWxzZSBpZiAocmVmLnJlZmVyZW5jZS5hcnJheU9mVHlwZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgdmFsdWU6IG5ldyBHb1R5cGVSZWYodGhpcy5yb290LCByZWYucmVmZXJlbmNlLmFycmF5T2ZUeXBlKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZWYucmVmZXJlbmNlLm1hcE9mVHlwZSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ21hcCcsXG4gICAgICAgIHZhbHVlOiBuZXcgR29UeXBlUmVmKHRoaXMucm9vdCwgcmVmLnJlZmVyZW5jZS5tYXBPZlR5cGUpLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHJlZi5yZWZlcmVuY2UudW5pb25PZlR5cGVzKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAndW5pb24nLFxuICAgICAgICB2YWx1ZTogcmVmLnJlZmVyZW5jZS51bmlvbk9mVHlwZXMubWFwKFxuICAgICAgICAgICh0eXBlUmVmKSA9PiBuZXcgR29UeXBlUmVmKHRoaXMucm9vdCwgdHlwZVJlZiksXG4gICAgICAgICksXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAocmVmLnJlZmVyZW5jZS52b2lkKSB7XG4gICAgICByZXR1cm4geyB0eXBlOiAndm9pZCcgfTtcbiAgICB9XG5cbiAgICByZXR1cm4geyB0eXBlOiAnaW50ZXJmYWNlJywgdmFsdWU6IHJlZiB9O1xuICB9XG5cbiAgcHVibGljIHNjb3BlZFR5cGVOYW1lKFxuICAgIHR5cGVNYXA6IFR5cGVNYXAsXG4gICAgc2NvcGU6IFBhY2thZ2UsXG4gICAgYXNSZWYgPSBmYWxzZSxcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodHlwZU1hcC50eXBlID09PSAncHJpbWl0aXZlJykge1xuICAgICAgY29uc3QgeyB2YWx1ZSB9ID0gdHlwZU1hcDtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGFzUmVmICYmIHZhbHVlICE9PSAnaW50ZXJmYWNle30nID8gJyonIDogJyc7XG4gICAgICByZXR1cm4gYCR7cHJlZml4fSR7dmFsdWV9YDtcbiAgICB9IGVsc2UgaWYgKHR5cGVNYXAudHlwZSA9PT0gJ2FycmF5JyB8fCB0eXBlTWFwLnR5cGUgPT09ICdtYXAnKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBhc1JlZiA/ICcqJyA6ICcnO1xuICAgICAgY29uc3Qgd3JhcHBlciA9IHR5cGVNYXAudHlwZSA9PT0gJ2FycmF5JyA/ICdbXScgOiAnbWFwW3N0cmluZ10nO1xuICAgICAgY29uc3QgaW5uZXJOYW1lID1cbiAgICAgICAgdGhpcy5zY29wZWRUeXBlTmFtZSh0eXBlTWFwLnZhbHVlLnR5cGVNYXAsIHNjb3BlLCBhc1JlZikgPz9cbiAgICAgICAgJ2ludGVyZmFjZXt9JztcbiAgICAgIHJldHVybiBgJHtwcmVmaXh9JHt3cmFwcGVyfSR7aW5uZXJOYW1lfWA7XG4gICAgfSBlbHNlIGlmICh0eXBlTWFwLnR5cGUgPT09ICdpbnRlcmZhY2UnKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBhc1JlZiAmJiB0eXBlTWFwLnZhbHVlLmRhdGF0eXBlID8gJyonIDogJyc7XG4gICAgICBjb25zdCBiYXNlTmFtZSA9IHR5cGVNYXAudmFsdWUubmFtZTtcbiAgICAgIC8vIHR5cGUgaXMgZGVmaW5lZCBpbiB0aGUgc2FtZSBzY29wZSBhcyB0aGUgY3VycmVudCBvbmUsIG5vIG5hbWVzcGFjZSByZXF1aXJlZFxuICAgICAgaWYgKHNjb3BlLnBhY2thZ2VOYW1lID09PSB0eXBlTWFwLnZhbHVlLm5hbWVzcGFjZSAmJiBiYXNlTmFtZSkge1xuICAgICAgICAvLyBpZiB0aGUgY3VycmVudCBzY29wZSBpcyB0aGUgc2FtZSBhcyB0aGUgdHlwZXMgc2NvcGUsIHJldHVybiB3aXRob3V0IGEgbmFtZXNwYWNlXG4gICAgICAgIHJldHVybiBgJHtwcmVmaXh9JHtiYXNlTmFtZX1gO1xuICAgICAgfVxuXG4gICAgICAvLyB0eXBlIGlzIGRlZmluZWQgaW4gYW5vdGhlciBtb2R1bGUgYW5kIHJlcXVpcmVzIGEgbmFtZXNwYWNlIGFuZCBpbXBvcnRcbiAgICAgIGlmIChiYXNlTmFtZSkge1xuICAgICAgICByZXR1cm4gYCR7cHJlZml4fSR7dHlwZU1hcC52YWx1ZS5uYW1lc3BhY2V9LiR7YmFzZU5hbWV9YDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVNYXAudHlwZSA9PT0gJ3VuaW9uJykge1xuICAgICAgcmV0dXJuICdpbnRlcmZhY2V7fSc7XG4gICAgfSBlbHNlIGlmICh0eXBlTWFwLnR5cGUgPT09ICd2b2lkJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8vIHR5cGUgaXNuJ3QgaGFuZGxlZFxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBUeXBlICR7dHlwZU1hcC52YWx1ZT8ubmFtZX0gZG9lcyBub3QgcmVzb2x2ZSB0byBhIGtub3duIEdvIHR5cGUuYCxcbiAgICApO1xuICB9XG59XG4iXX0=
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tdHlwZS1yZWZlcmVuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJnby10eXBlLXJlZmVyZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx3Q0FBd0M7QUFLeEM7O0dBRUc7QUFDSCxNQUFNLGVBQWU7SUFVbkIsWUFBb0MsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFUL0IsUUFBRyxHQUE4QjtZQUNoRCxNQUFNLEVBQUUsU0FBUztZQUNqQixPQUFPLEVBQUUsTUFBTTtZQUNmLEdBQUcsRUFBRSxhQUFhO1lBQ2xCLElBQUksRUFBRSxXQUFXO1lBQ2pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLElBQUksRUFBRSx3QkFBd0I7U0FDL0IsQ0FBQztJQUVpRCxDQUFDO0lBRXBELElBQVcsV0FBVztRQUNwQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsR0FBRyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDcEQ7UUFFRCxPQUFPLEdBQUcsYUFBSCxHQUFHLGNBQUgsR0FBRyxHQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDMUIsQ0FBQztDQUNGO0FBY0Q7O0dBRUc7QUFDSCxNQUFhLFNBQVM7SUFHcEIsWUFDa0IsSUFBYSxFQUNiLFNBQXdCO1FBRHhCLFNBQUksR0FBSixJQUFJLENBQVM7UUFDYixjQUFTLEdBQVQsU0FBUyxDQUFlO0lBQ3ZDLENBQUM7SUFFSixJQUFXLElBQUk7UUFDYixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPO1lBQ0wsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsS0FBSztZQUNYLFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ25DLENBQUM7UUFFRixTQUFTLFlBQVksQ0FBQyxHQUFrQjtZQUN0QyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEtBQUssTUFBTSxFQUFFO2dCQUM1QixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsSUFBSSxHQUFHLENBQUMsV0FBVyxFQUFFO2dCQUNuQixPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDdEM7WUFDRCxJQUFJLEdBQUcsQ0FBQyxTQUFTLEVBQUU7Z0JBQ2pCLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNwQztZQUNELElBQUksR0FBRyxDQUFDLFlBQVksRUFBRTtnQkFDcEIsT0FBTyxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUM1QztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUM1QixPQUFPLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQ2xFO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELElBQVcsSUFBSTs7UUFDYixhQUFPLElBQUksQ0FBQyxJQUFJLDBDQUFFLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxRQUFROztRQUNqQixNQUFNLFdBQVcsU0FBRyxJQUFJLENBQUMsSUFBSSwwQ0FBRSxJQUFJLENBQUM7UUFDcEMsT0FBTyxDQUFBLFdBQVcsYUFBWCxXQUFXLHVCQUFYLFdBQVcsQ0FBRSxlQUFlLE9BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBVyxTQUFTOztRQUNsQixhQUFPLElBQUksQ0FBQyxJQUFJLDBDQUFFLFNBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6QztRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFlBQVk7O1FBQ3JCLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxFQUFXLENBQUM7UUFFakMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTtZQUN6QixLQUFLLFdBQVc7Z0JBQ2QsVUFBSSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxHQUFHLEVBQUU7b0JBQ2xCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDekI7Z0JBQ0QsTUFBTTtZQUVSLEtBQUssT0FBTyxDQUFDO1lBQ2IsS0FBSyxLQUFLO2dCQUNSLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDN0MsTUFBTTtZQUVSLEtBQUssT0FBTztnQkFDVixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO29CQUNsQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO2lCQUM3QjtnQkFDRCxNQUFNO1lBRVIsS0FBSyxNQUFNLENBQUM7WUFDWixLQUFLLFdBQVc7Z0JBQ2QsTUFBTTtTQUNUO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVLENBQUMsS0FBYztRQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRU0sZUFBZSxDQUFDLEtBQWM7UUFDbkMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTyxZQUFZLENBQUMsR0FBYztRQUNqQyxJQUFJLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDckIsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUN4RDthQUFNLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUU7WUFDcEMsT0FBTztnQkFDTCxJQUFJLEVBQUUsT0FBTztnQkFDYixLQUFLLEVBQUUsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQzthQUMzRCxDQUFDO1NBQ0g7YUFBTSxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFO1lBQ2xDLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsS0FBSyxFQUFFLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUM7YUFDekQsQ0FBQztTQUNIO2FBQU0sSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUNyQyxPQUFPO2dCQUNMLElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUssRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQ25DLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUMvQzthQUNGLENBQUM7U0FDSDthQUFNLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUU7WUFDN0IsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUN6QjtRQUVELE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sY0FBYyxDQUNuQixPQUFnQixFQUNoQixLQUFjLEVBQ2QsS0FBSyxHQUFHLEtBQUs7O1FBRWIsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsRUFBRTtZQUNoQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUFHLEtBQUssSUFBSSxLQUFLLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxPQUFPLEdBQUcsTUFBTSxHQUFHLEtBQUssRUFBRSxDQUFDO1NBQzVCO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRTtZQUM3RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUNoRSxNQUFNLFNBQVMsU0FDYixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsbUNBQ3hELGFBQWEsQ0FBQztZQUNoQixPQUFPLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxTQUFTLEVBQUUsQ0FBQztTQUMxQzthQUFNLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDdkMsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNwQyw4RUFBOEU7WUFDOUUsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLFFBQVEsRUFBRTtnQkFDN0Qsa0ZBQWtGO2dCQUNsRixPQUFPLEdBQUcsTUFBTSxHQUFHLFFBQVEsRUFBRSxDQUFDO2FBQy9CO1lBRUQsd0VBQXdFO1lBQ3hFLElBQUksUUFBUSxFQUFFO2dCQUNaLE9BQU8sR0FBRyxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksUUFBUSxFQUFFLENBQUM7YUFDMUQ7U0FDRjthQUFNLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUU7WUFDbkMsT0FBTyxhQUFhLENBQUM7U0FDdEI7YUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFO1lBQ2xDLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFFRCxxQkFBcUI7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FDYixRQUFRLE1BQUEsT0FBTyxDQUFDLEtBQUssMENBQUUsSUFBSSx1Q0FBdUMsQ0FDbkUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXZMRCw4QkF1TEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUeXBlUmVmZXJlbmNlIH0gZnJvbSAnanNpaS1yZWZsZWN0JztcblxuaW1wb3J0ICogYXMgbG9nIGZyb20gJy4uLy4uLy4uL2xvZ2dpbmcnO1xuaW1wb3J0IHsgU3BlY2lhbERlcGVuZGVuY2llcyB9IGZyb20gJy4uL2RlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSAnLi4vcGFja2FnZSc7XG5pbXBvcnQgeyBHb1R5cGUgfSBmcm9tICcuL2dvLXR5cGUnO1xuXG4vKlxuICogTWFwcyBuYW1lcyBvZiBKUyBwcmltaXRpdmVzIHRvIGNvcnJlc3BvbmRpbmcgR28gdHlwZXMgYXMgc3RyaW5nc1xuICovXG5jbGFzcyBQcmltaXRpdmVNYXBwZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IE1BUDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICBudW1iZXI6ICdmbG9hdDY0JyxcbiAgICBib29sZWFuOiAnYm9vbCcsXG4gICAgYW55OiAnaW50ZXJmYWNle30nLFxuICAgIGRhdGU6ICd0aW1lLlRpbWUnLFxuICAgIHN0cmluZzogJ3N0cmluZycsXG4gICAganNvbjogYG1hcFtzdHJpbmddaW50ZXJmYWNle31gLFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG5hbWU6IHN0cmluZykge31cblxuICBwdWJsaWMgZ2V0IGdvUHJpbWl0aXZlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdmFsID0gdGhpcy5NQVBbdGhpcy5uYW1lXTtcbiAgICBpZiAoIXZhbCkge1xuICAgICAgbG9nLmRlYnVnKGBVbm1hcHBlZCBwcmltaXRpdmUgdHlwZTogJHt0aGlzLm5hbWV9YCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbCA/PyB0aGlzLm5hbWU7XG4gIH1cbn1cblxuLyoqXG4gKiBUeXBlTWFwIHVzZWQgdG8gcmVjdXJzaXZlbHkgcmVzb2x2ZSBpbnRlcmZhY2VzIGluIG5lc3RlZCB0eXBlcyBmb3IgdXNlIGluXG4gKiByZXNvbHZpbmcgc2NvcGVkIHR5cGUgbmFtZXMgYW5kIGltcGxlbWVudGF0aW9uIG1hcHMuXG4gKi9cbnR5cGUgVHlwZU1hcCA9XG4gIHwgeyByZWFkb25seSB0eXBlOiAncHJpbWl0aXZlJzsgcmVhZG9ubHkgdmFsdWU6IHN0cmluZyB9XG4gIHwgeyByZWFkb25seSB0eXBlOiAnYXJyYXknOyByZWFkb25seSB2YWx1ZTogR29UeXBlUmVmIH1cbiAgfCB7IHJlYWRvbmx5IHR5cGU6ICdtYXAnOyByZWFkb25seSB2YWx1ZTogR29UeXBlUmVmIH1cbiAgfCB7IHJlYWRvbmx5IHR5cGU6ICd1bmlvbic7IHJlYWRvbmx5IHZhbHVlOiByZWFkb25seSBHb1R5cGVSZWZbXSB9XG4gIHwgeyByZWFkb25seSB0eXBlOiAnaW50ZXJmYWNlJzsgcmVhZG9ubHkgdmFsdWU6IEdvVHlwZVJlZiB9XG4gIHwgeyByZWFkb25seSB0eXBlOiAndm9pZCcgfTtcblxuLypcbiAqIEFjY2VwdHMgYSBKU0lJIFR5cGVSZWZlcmVuY2UgYW5kIEdvIFBhY2thZ2UgYW5kIGNhbiByZXNvbHZlIHRoZSBHb1R5cGUgd2l0aGluIHRoZSBtb2R1bGUgdHJlZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEdvVHlwZVJlZiB7XG4gIHByaXZhdGUgX3R5cGVNYXA/OiBUeXBlTWFwO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcm9vdDogUGFja2FnZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVmZXJlbmNlOiBUeXBlUmVmZXJlbmNlLFxuICApIHt9XG5cbiAgcHVibGljIGdldCB0eXBlKCk6IEdvVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMucmVmZXJlbmNlLmZxbikge1xuICAgICAgcmV0dXJuIHRoaXMucm9vdC5maW5kVHlwZSh0aGlzLnJlZmVyZW5jZS5mcW4pO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNwZWNpYWxEZXBlbmRlbmNpZXMoKTogU3BlY2lhbERlcGVuZGVuY2llcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJ1bnRpbWU6IGZhbHNlLFxuICAgICAgaW5pdDogZmFsc2UsXG4gICAgICBpbnRlcm5hbDogZmFsc2UsXG4gICAgICB0aW1lOiBjb250YWluc0RhdGUodGhpcy5yZWZlcmVuY2UpLFxuICAgIH07XG5cbiAgICBmdW5jdGlvbiBjb250YWluc0RhdGUocmVmOiBUeXBlUmVmZXJlbmNlKTogYm9vbGVhbiB7XG4gICAgICBpZiAocmVmLnByaW1pdGl2ZSA9PT0gJ2RhdGUnKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKHJlZi5hcnJheU9mVHlwZSkge1xuICAgICAgICByZXR1cm4gY29udGFpbnNEYXRlKHJlZi5hcnJheU9mVHlwZSk7XG4gICAgICB9XG4gICAgICBpZiAocmVmLm1hcE9mVHlwZSkge1xuICAgICAgICByZXR1cm4gY29udGFpbnNEYXRlKHJlZi5tYXBPZlR5cGUpO1xuICAgICAgfVxuICAgICAgaWYgKHJlZi51bmlvbk9mVHlwZXMpIHtcbiAgICAgICAgcmV0dXJuIHJlZi51bmlvbk9mVHlwZXMuc29tZShjb250YWluc0RhdGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHJpbWl0aXZlVHlwZSgpIHtcbiAgICBpZiAodGhpcy5yZWZlcmVuY2UucHJpbWl0aXZlKSB7XG4gICAgICByZXR1cm4gbmV3IFByaW1pdGl2ZU1hcHBlcih0aGlzLnJlZmVyZW5jZS5wcmltaXRpdmUpLmdvUHJpbWl0aXZlO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZT8ubmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YXR5cGUoKSB7XG4gICAgY29uc3QgcmVmbGVjdFR5cGUgPSB0aGlzLnR5cGU/LnR5cGU7XG4gICAgcmV0dXJuIHJlZmxlY3RUeXBlPy5pc0ludGVyZmFjZVR5cGUoKSAmJiByZWZsZWN0VHlwZS5kYXRhdHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmFtZXNwYWNlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU/Lm5hbWVzcGFjZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdm9pZCgpIHtcbiAgICByZXR1cm4gdGhpcy5yZWZlcmVuY2Uudm9pZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdHlwZU1hcCgpOiBUeXBlTWFwIHtcbiAgICBpZiAoIXRoaXMuX3R5cGVNYXApIHtcbiAgICAgIHRoaXMuX3R5cGVNYXAgPSB0aGlzLmJ1aWxkVHlwZU1hcCh0aGlzKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3R5cGVNYXA7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGdvIGBpbXBvcnRgcyByZXF1aXJlZCBpbiBvcmRlciB0byBiZSBhYmxlIHRvIHVzZSB0aGlzIHR5cGUgaW4gY29kZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVwZW5kZW5jaWVzKCk6IHJlYWRvbmx5IFBhY2thZ2VbXSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PFBhY2thZ2U+KCk7XG5cbiAgICBzd2l0Y2ggKHRoaXMudHlwZU1hcC50eXBlKSB7XG4gICAgICBjYXNlICdpbnRlcmZhY2UnOlxuICAgICAgICBpZiAodGhpcy50eXBlPy5wa2cpIHtcbiAgICAgICAgICByZXQucHVzaCh0aGlzLnR5cGUucGtnKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnYXJyYXknOlxuICAgICAgY2FzZSAnbWFwJzpcbiAgICAgICAgcmV0LnB1c2goLi4udGhpcy50eXBlTWFwLnZhbHVlLmRlcGVuZGVuY2llcyk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICd1bmlvbic6XG4gICAgICAgIGZvciAoY29uc3QgdCBvZiB0aGlzLnR5cGVNYXAudmFsdWUpIHtcbiAgICAgICAgICByZXQucHVzaCguLi50LmRlcGVuZGVuY2llcyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ3ZvaWQnOlxuICAgICAgY2FzZSAncHJpbWl0aXZlJzpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJldDtcbiAgfVxuXG4gIC8qXG4gICAqIFJldHVybiB0aGUgbmFtZSBvZiBhIHR5cGUgZm9yIHJlZmVyZW5jZSBmcm9tIHRoZSBgUGFja2FnZWAgcGFzc2VkIGluXG4gICAqL1xuICBwdWJsaWMgc2NvcGVkTmFtZShzY29wZTogUGFja2FnZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2NvcGVkVHlwZU5hbWUodGhpcy50eXBlTWFwLCBzY29wZSk7XG4gIH1cblxuICBwdWJsaWMgc2NvcGVkUmVmZXJlbmNlKHNjb3BlOiBQYWNrYWdlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zY29wZWRUeXBlTmFtZSh0aGlzLnR5cGVNYXAsIHNjb3BlLCB0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUeXBlTWFwKHJlZjogR29UeXBlUmVmKTogVHlwZU1hcCB7XG4gICAgaWYgKHJlZi5wcmltaXRpdmVUeXBlKSB7XG4gICAgICByZXR1cm4geyB0eXBlOiAncHJpbWl0aXZlJywgdmFsdWU6IHJlZi5wcmltaXRpdmVUeXBlIH07XG4gICAgfSBlbHNlIGlmIChyZWYucmVmZXJlbmNlLmFycmF5T2ZUeXBlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICB2YWx1ZTogbmV3IEdvVHlwZVJlZih0aGlzLnJvb3QsIHJlZi5yZWZlcmVuY2UuYXJyYXlPZlR5cGUpLFxuICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKHJlZi5yZWZlcmVuY2UubWFwT2ZUeXBlKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAnbWFwJyxcbiAgICAgICAgdmFsdWU6IG5ldyBHb1R5cGVSZWYodGhpcy5yb290LCByZWYucmVmZXJlbmNlLm1hcE9mVHlwZSksXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAocmVmLnJlZmVyZW5jZS51bmlvbk9mVHlwZXMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd1bmlvbicsXG4gICAgICAgIHZhbHVlOiByZWYucmVmZXJlbmNlLnVuaW9uT2ZUeXBlcy5tYXAoXG4gICAgICAgICAgKHR5cGVSZWYpID0+IG5ldyBHb1R5cGVSZWYodGhpcy5yb290LCB0eXBlUmVmKSxcbiAgICAgICAgKSxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChyZWYucmVmZXJlbmNlLnZvaWQpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICd2b2lkJyB9O1xuICAgIH1cblxuICAgIHJldHVybiB7IHR5cGU6ICdpbnRlcmZhY2UnLCB2YWx1ZTogcmVmIH07XG4gIH1cblxuICBwdWJsaWMgc2NvcGVkVHlwZU5hbWUoXG4gICAgdHlwZU1hcDogVHlwZU1hcCxcbiAgICBzY29wZTogUGFja2FnZSxcbiAgICBhc1JlZiA9IGZhbHNlLFxuICApOiBzdHJpbmcge1xuICAgIGlmICh0eXBlTWFwLnR5cGUgPT09ICdwcmltaXRpdmUnKSB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSB0eXBlTWFwO1xuICAgICAgY29uc3QgcHJlZml4ID0gYXNSZWYgJiYgdmFsdWUgIT09ICdpbnRlcmZhY2V7fScgPyAnKicgOiAnJztcbiAgICAgIHJldHVybiBgJHtwcmVmaXh9JHt2YWx1ZX1gO1xuICAgIH0gZWxzZSBpZiAodHlwZU1hcC50eXBlID09PSAnYXJyYXknIHx8IHR5cGVNYXAudHlwZSA9PT0gJ21hcCcpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGFzUmVmID8gJyonIDogJyc7XG4gICAgICBjb25zdCB3cmFwcGVyID0gdHlwZU1hcC50eXBlID09PSAnYXJyYXknID8gJ1tdJyA6ICdtYXBbc3RyaW5nXSc7XG4gICAgICBjb25zdCBpbm5lck5hbWUgPVxuICAgICAgICB0aGlzLnNjb3BlZFR5cGVOYW1lKHR5cGVNYXAudmFsdWUudHlwZU1hcCwgc2NvcGUsIGFzUmVmKSA/P1xuICAgICAgICAnaW50ZXJmYWNle30nO1xuICAgICAgcmV0dXJuIGAke3ByZWZpeH0ke3dyYXBwZXJ9JHtpbm5lck5hbWV9YDtcbiAgICB9IGVsc2UgaWYgKHR5cGVNYXAudHlwZSA9PT0gJ2ludGVyZmFjZScpIHtcbiAgICAgIGNvbnN0IHByZWZpeCA9IGFzUmVmICYmIHR5cGVNYXAudmFsdWUuZGF0YXR5cGUgPyAnKicgOiAnJztcbiAgICAgIGNvbnN0IGJhc2VOYW1lID0gdHlwZU1hcC52YWx1ZS5uYW1lO1xuICAgICAgLy8gdHlwZSBpcyBkZWZpbmVkIGluIHRoZSBzYW1lIHNjb3BlIGFzIHRoZSBjdXJyZW50IG9uZSwgbm8gbmFtZXNwYWNlIHJlcXVpcmVkXG4gICAgICBpZiAoc2NvcGUucGFja2FnZU5hbWUgPT09IHR5cGVNYXAudmFsdWUubmFtZXNwYWNlICYmIGJhc2VOYW1lKSB7XG4gICAgICAgIC8vIGlmIHRoZSBjdXJyZW50IHNjb3BlIGlzIHRoZSBzYW1lIGFzIHRoZSB0eXBlcyBzY29wZSwgcmV0dXJuIHdpdGhvdXQgYSBuYW1lc3BhY2VcbiAgICAgICAgcmV0dXJuIGAke3ByZWZpeH0ke2Jhc2VOYW1lfWA7XG4gICAgICB9XG5cbiAgICAgIC8vIHR5cGUgaXMgZGVmaW5lZCBpbiBhbm90aGVyIG1vZHVsZSBhbmQgcmVxdWlyZXMgYSBuYW1lc3BhY2UgYW5kIGltcG9ydFxuICAgICAgaWYgKGJhc2VOYW1lKSB7XG4gICAgICAgIHJldHVybiBgJHtwcmVmaXh9JHt0eXBlTWFwLnZhbHVlLm5hbWVzcGFjZX0uJHtiYXNlTmFtZX1gO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZU1hcC50eXBlID09PSAndW5pb24nKSB7XG4gICAgICByZXR1cm4gJ2ludGVyZmFjZXt9JztcbiAgICB9IGVsc2UgaWYgKHR5cGVNYXAudHlwZSA9PT0gJ3ZvaWQnKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLy8gdHlwZSBpc24ndCBoYW5kbGVkXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFR5cGUgJHt0eXBlTWFwLnZhbHVlPy5uYW1lfSBkb2VzIG5vdCByZXNvbHZlIHRvIGEga25vd24gR28gdHlwZS5gLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -5,13 +5,13 @@ import { EmitContext } from '../emit-context';
5
5
  import { Package } from '../package';
6
6
  import { GoClass } from './class';
7
7
  import { GoInterface } from './interface';
8
- export declare abstract class GoType {
9
- pkg: Package;
10
- type: Type;
8
+ export declare abstract class GoType<T extends Type = Type> {
9
+ readonly pkg: Package;
10
+ readonly type: T;
11
11
  readonly name: string;
12
12
  readonly fqn: string;
13
13
  readonly proxyName: string;
14
- constructor(pkg: Package, type: Type);
14
+ constructor(pkg: Package, type: T);
15
15
  abstract emit(context: EmitContext): void;
16
16
  abstract emitRegistration(code: CodeMaker): void;
17
17
  abstract get dependencies(): Package[];
@@ -44,4 +44,4 @@ class GoType {
44
44
  }
45
45
  }
46
46
  exports.GoType = GoType;
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdvLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsd0NBQTJDO0FBSTNDLE1BQXNCLE1BQU07SUFLMUIsWUFBMEIsR0FBWSxFQUFTLElBQVU7UUFBL0IsUUFBRyxHQUFILEdBQUcsQ0FBUztRQUFTLFNBQUksR0FBSixJQUFJLENBQU07UUFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXRCLGdFQUFnRTtRQUNoRSxLQUNFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQy9CLE1BQU0sSUFBSSxJQUFJLEVBQ2QsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEVBQzdCO1lBQ0EsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzNDO1FBRUQsNEVBQTRFO1FBQzVFLGlFQUFpRTtRQUNqRSxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBU0QsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7SUFDOUIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxPQUFvQjtRQUNsQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFUyxhQUFhLENBQUMsT0FBb0I7UUFDMUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRVMsc0JBQXNCLENBQzlCLElBQWUsRUFDZixLQUEyQztRQUUzQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDbEMsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNwQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDbkQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7Z0JBQ3hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3JELElBQUksQ0FBQyxJQUFJLENBQ1AsR0FBRyx1QkFBYSxtQkFBbUIsV0FBVyxJQUFJLFNBQVMsQ0FBQyxTQUFTLEdBQUcsQ0FDekUsQ0FBQzthQUNIO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztTQUMxQztRQUNELHlFQUF5RTtRQUN6RSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQWhFRCx3QkFnRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2RlTWFrZXIgfSBmcm9tICdjb2RlbWFrZXInO1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5cbmltcG9ydCB7IFNwZWNpYWxEZXBlbmRlbmNpZXMgfSBmcm9tICcuLi9kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgRW1pdENvbnRleHQgfSBmcm9tICcuLi9lbWl0LWNvbnRleHQnO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gJy4uL3BhY2thZ2UnO1xuaW1wb3J0IHsgSlNJSV9SVF9BTElBUyB9IGZyb20gJy4uL3J1bnRpbWUnO1xuaW1wb3J0IHsgR29DbGFzcyB9IGZyb20gJy4vY2xhc3MnO1xuaW1wb3J0IHsgR29JbnRlcmZhY2UgfSBmcm9tICcuL2ludGVyZmFjZSc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHb1R5cGUge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZnFuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBwcm94eU5hbWU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHBrZzogUGFja2FnZSwgcHVibGljIHR5cGU6IFR5cGUpIHtcbiAgICB0aGlzLm5hbWUgPSB0eXBlLm5hbWU7XG5cbiAgICAvLyBQcmVmaXggd2l0aCB0aGUgbmVzdGluZyBwYXJlbnQgbmFtZShzKSwgdXNpbmcgYW4gXyBkZWxpbWl0ZXIuXG4gICAgZm9yIChcbiAgICAgIGxldCBwYXJlbnQgPSB0eXBlLm5lc3RpbmdQYXJlbnQ7XG4gICAgICBwYXJlbnQgIT0gbnVsbDtcbiAgICAgIHBhcmVudCA9IHBhcmVudC5uZXN0aW5nUGFyZW50XG4gICAgKSB7XG4gICAgICB0aGlzLm5hbWUgPSBgJHtwYXJlbnQubmFtZX1fJHt0aGlzLm5hbWV9YDtcbiAgICB9XG5cbiAgICAvLyBBZGQgXCJqc2lpUHJveHlfXCIgcHJlZml4IHRvIHByaXZhdGUgc3RydWN0IG5hbWUgdG8gYXZvaWQga2V5d29yZCBjb25mbGljdHNcbiAgICAvLyBzdWNoIGFzIFwiZGVmYXVsdFwiLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2F3cy9qc2lpL2lzc3Vlcy8yNjM3XG4gICAgdGhpcy5wcm94eU5hbWUgPSBganNpaVByb3h5XyR7dGhpcy5uYW1lfWA7XG5cbiAgICB0aGlzLmZxbiA9IHR5cGUuZnFuO1xuICB9XG5cbiAgcHVibGljIGFic3RyYWN0IGVtaXQoY29udGV4dDogRW1pdENvbnRleHQpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBlbWl0UmVnaXN0cmF0aW9uKGNvZGU6IENvZGVNYWtlcik6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGdldCBkZXBlbmRlbmNpZXMoKTogUGFja2FnZVtdO1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IHNwZWNpYWxEZXBlbmRlbmNpZXMoKTogU3BlY2lhbERlcGVuZGVuY2llcztcblxuICBwdWJsaWMgZ2V0IG5hbWVzcGFjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wa2cucGFja2FnZU5hbWU7XG4gIH1cblxuICBwdWJsaWMgZW1pdERvY3MoY29udGV4dDogRW1pdENvbnRleHQpOiB2b2lkIHtcbiAgICBjb250ZXh0LmRvY3VtZW50ZXIuZW1pdCh0aGlzLnR5cGUuZG9jcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdFN0YWJpbGl0eShjb250ZXh0OiBFbWl0Q29udGV4dCk6IHZvaWQge1xuICAgIGNvbnRleHQuZG9jdW1lbnRlci5lbWl0U3RhYmlsaXR5KHRoaXMudHlwZS5kb2NzKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0UHJveHlNYWtlckZ1bmN0aW9uKFxuICAgIGNvZGU6IENvZGVNYWtlcixcbiAgICBiYXNlczogUmVhZG9ubHlBcnJheTxHb0NsYXNzIHwgR29JbnRlcmZhY2U+LFxuICApOiB2b2lkIHtcbiAgICBjb2RlLm9wZW4oJ2Z1bmMoKSBpbnRlcmZhY2V7fSB7Jyk7XG4gICAgaWYgKGJhc2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGluc3RhbmNlVmFyID0gdGhpcy5wcm94eU5hbWVbMF07XG4gICAgICBjb2RlLmxpbmUoYCR7aW5zdGFuY2VWYXJ9IDo9ICR7dGhpcy5wcm94eU5hbWV9e31gKTtcbiAgICAgIGZvciAoY29uc3QgYmFzZSBvZiBiYXNlcykge1xuICAgICAgICBjb25zdCBiYXNlRW1iZWQgPSB0aGlzLnBrZy5yZXNvbHZlRW1iZWRkZWRUeXBlKGJhc2UpO1xuICAgICAgICBjb2RlLmxpbmUoXG4gICAgICAgICAgYCR7SlNJSV9SVF9BTElBU30uSW5pdEpzaWlQcm94eSgmJHtpbnN0YW5jZVZhcn0uJHtiYXNlRW1iZWQuZmllbGROYW1lfSlgLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29kZS5saW5lKGByZXR1cm4gJiR7aW5zdGFuY2VWYXJ9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvZGUubGluZShgcmV0dXJuICYke3RoaXMucHJveHlOYW1lfXt9YCk7XG4gICAgfVxuICAgIC8vIFRoaXMgaXMgYWx3YXlzIHVzZWQgYXMgYSBmdW5jdGlvbiBhcmd1bWVudCwgc28gd2UgYWRkIGEgdHJhaWxpbmcgY29tbWFcbiAgICBjb2RlLmNsb3NlKCd9LCcpO1xuICB9XG59XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ28tdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImdvLXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsd0NBQTJDO0FBSTNDLE1BQXNCLE1BQU07SUFLMUIsWUFBbUMsR0FBWSxFQUFrQixJQUFPO1FBQXJDLFFBQUcsR0FBSCxHQUFHLENBQVM7UUFBa0IsU0FBSSxHQUFKLElBQUksQ0FBRztRQUN0RSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFdEIsZ0VBQWdFO1FBQ2hFLEtBQ0UsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFDL0IsTUFBTSxJQUFJLElBQUksRUFDZCxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsRUFDN0I7WUFDQSxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDM0M7UUFFRCw0RUFBNEU7UUFDNUUsaUVBQWlFO1FBQ2pFLElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFMUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ3RCLENBQUM7SUFTRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztJQUM5QixDQUFDO0lBRU0sUUFBUSxDQUFDLE9BQW9CO1FBQ2xDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVTLGFBQWEsQ0FBQyxPQUFvQjtRQUMxQyxPQUFPLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFUyxzQkFBc0IsQ0FDOUIsSUFBZSxFQUNmLEtBQTJDO1FBRTNDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNsQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3BCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFdBQVcsT0FBTyxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQztZQUNuRCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtnQkFDeEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckQsSUFBSSxDQUFDLElBQUksQ0FDUCxHQUFHLHVCQUFhLG1CQUFtQixXQUFXLElBQUksU0FBUyxDQUFDLFNBQVMsR0FBRyxDQUN6RSxDQUFDO2FBQ0g7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUNyQzthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1NBQzFDO1FBQ0QseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBaEVELHdCQWdFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gJ2NvZGVtYWtlcic7XG5pbXBvcnQgeyBUeXBlIH0gZnJvbSAnanNpaS1yZWZsZWN0JztcblxuaW1wb3J0IHsgU3BlY2lhbERlcGVuZGVuY2llcyB9IGZyb20gJy4uL2RlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBFbWl0Q29udGV4dCB9IGZyb20gJy4uL2VtaXQtY29udGV4dCc7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSAnLi4vcGFja2FnZSc7XG5pbXBvcnQgeyBKU0lJX1JUX0FMSUFTIH0gZnJvbSAnLi4vcnVudGltZSc7XG5pbXBvcnQgeyBHb0NsYXNzIH0gZnJvbSAnLi9jbGFzcyc7XG5pbXBvcnQgeyBHb0ludGVyZmFjZSB9IGZyb20gJy4vaW50ZXJmYWNlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdvVHlwZTxUIGV4dGVuZHMgVHlwZSA9IFR5cGU+IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGZxbjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJveHlOYW1lOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBwa2c6IFBhY2thZ2UsIHB1YmxpYyByZWFkb25seSB0eXBlOiBUKSB7XG4gICAgdGhpcy5uYW1lID0gdHlwZS5uYW1lO1xuXG4gICAgLy8gUHJlZml4IHdpdGggdGhlIG5lc3RpbmcgcGFyZW50IG5hbWUocyksIHVzaW5nIGFuIF8gZGVsaW1pdGVyLlxuICAgIGZvciAoXG4gICAgICBsZXQgcGFyZW50ID0gdHlwZS5uZXN0aW5nUGFyZW50O1xuICAgICAgcGFyZW50ICE9IG51bGw7XG4gICAgICBwYXJlbnQgPSBwYXJlbnQubmVzdGluZ1BhcmVudFxuICAgICkge1xuICAgICAgdGhpcy5uYW1lID0gYCR7cGFyZW50Lm5hbWV9XyR7dGhpcy5uYW1lfWA7XG4gICAgfVxuXG4gICAgLy8gQWRkIFwianNpaVByb3h5X1wiIHByZWZpeCB0byBwcml2YXRlIHN0cnVjdCBuYW1lIHRvIGF2b2lkIGtleXdvcmQgY29uZmxpY3RzXG4gICAgLy8gc3VjaCBhcyBcImRlZmF1bHRcIi4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvanNpaS9pc3N1ZXMvMjYzN1xuICAgIHRoaXMucHJveHlOYW1lID0gYGpzaWlQcm94eV8ke3RoaXMubmFtZX1gO1xuXG4gICAgdGhpcy5mcW4gPSB0eXBlLmZxbjtcbiAgfVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBlbWl0KGNvbnRleHQ6IEVtaXRDb250ZXh0KTogdm9pZDtcblxuICBwdWJsaWMgYWJzdHJhY3QgZW1pdFJlZ2lzdHJhdGlvbihjb2RlOiBDb2RlTWFrZXIpOiB2b2lkO1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXQgZGVwZW5kZW5jaWVzKCk6IFBhY2thZ2VbXTtcbiAgcHVibGljIGFic3RyYWN0IGdldCBzcGVjaWFsRGVwZW5kZW5jaWVzKCk6IFNwZWNpYWxEZXBlbmRlbmNpZXM7XG5cbiAgcHVibGljIGdldCBuYW1lc3BhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucGtnLnBhY2thZ2VOYW1lO1xuICB9XG5cbiAgcHVibGljIGVtaXREb2NzKGNvbnRleHQ6IEVtaXRDb250ZXh0KTogdm9pZCB7XG4gICAgY29udGV4dC5kb2N1bWVudGVyLmVtaXQodGhpcy50eXBlLmRvY3MpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRTdGFiaWxpdHkoY29udGV4dDogRW1pdENvbnRleHQpOiB2b2lkIHtcbiAgICBjb250ZXh0LmRvY3VtZW50ZXIuZW1pdFN0YWJpbGl0eSh0aGlzLnR5cGUuZG9jcyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdFByb3h5TWFrZXJGdW5jdGlvbihcbiAgICBjb2RlOiBDb2RlTWFrZXIsXG4gICAgYmFzZXM6IFJlYWRvbmx5QXJyYXk8R29DbGFzcyB8IEdvSW50ZXJmYWNlPixcbiAgKTogdm9pZCB7XG4gICAgY29kZS5vcGVuKCdmdW5jKCkgaW50ZXJmYWNle30geycpO1xuICAgIGlmIChiYXNlcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBpbnN0YW5jZVZhciA9IHRoaXMucHJveHlOYW1lWzBdO1xuICAgICAgY29kZS5saW5lKGAke2luc3RhbmNlVmFyfSA6PSAke3RoaXMucHJveHlOYW1lfXt9YCk7XG4gICAgICBmb3IgKGNvbnN0IGJhc2Ugb2YgYmFzZXMpIHtcbiAgICAgICAgY29uc3QgYmFzZUVtYmVkID0gdGhpcy5wa2cucmVzb2x2ZUVtYmVkZGVkVHlwZShiYXNlKTtcbiAgICAgICAgY29kZS5saW5lKFxuICAgICAgICAgIGAke0pTSUlfUlRfQUxJQVN9LkluaXRKc2lpUHJveHkoJiR7aW5zdGFuY2VWYXJ9LiR7YmFzZUVtYmVkLmZpZWxkTmFtZX0pYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvZGUubGluZShgcmV0dXJuICYke2luc3RhbmNlVmFyfWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb2RlLmxpbmUoYHJldHVybiAmJHt0aGlzLnByb3h5TmFtZX17fWApO1xuICAgIH1cbiAgICAvLyBUaGlzIGlzIGFsd2F5cyB1c2VkIGFzIGEgZnVuY3Rpb24gYXJndW1lbnQsIHNvIHdlIGFkZCBhIHRyYWlsaW5nIGNvbW1hXG4gICAgY29kZS5jbG9zZSgnfSwnKTtcbiAgfVxufVxuIl19
@@ -5,10 +5,8 @@ import { EmitContext } from '../emit-context';
5
5
  import { Package } from '../package';
6
6
  import { MethodCall } from '../runtime';
7
7
  import { GoType } from './go-type';
8
- import { GoTypeRef } from './go-type-reference';
9
8
  import { GoMethod, GoProperty } from './type-member';
10
- export declare class GoInterface extends GoType {
11
- type: InterfaceType;
9
+ export declare class GoInterface extends GoType<InterfaceType> {
12
10
  readonly methods: InterfaceMethod[];
13
11
  readonly reimplementedMethods?: readonly InterfaceMethod[];
14
12
  readonly properties: InterfaceProperty[];
@@ -24,7 +22,6 @@ export declare class GoInterface extends GoType {
24
22
  declare class InterfaceProperty extends GoProperty {
25
23
  readonly parent: GoInterface;
26
24
  readonly property: Property;
27
- readonly reference?: GoTypeRef;
28
25
  constructor(parent: GoInterface, property: Property);
29
26
  get returnType(): string;
30
27
  emit({ code, documenter }: EmitContext): void;
@@ -10,7 +10,6 @@ const type_member_1 = require("./type-member");
10
10
  class GoInterface extends go_type_1.GoType {
11
11
  constructor(pkg, type) {
12
12
  super(pkg, type);
13
- this.type = type;
14
13
  this.methods = type.ownMethods
15
14
  .map((method) => new InterfaceMethod(this, method))
16
15
  .sort(comparators.byName);
@@ -158,8 +157,7 @@ class InterfaceProperty extends type_member_1.GoProperty {
158
157
  this.property = property;
159
158
  }
160
159
  get returnType() {
161
- var _a, _b;
162
- return ((_b = (_a = this.reference) === null || _a === void 0 ? void 0 : _a.scopedReference(this.parent.pkg)) !== null && _b !== void 0 ? _b : this.property.type.toString());
160
+ return this.reference.scopedReference(this.parent.pkg);
163
161
  }
164
162
  emit({ code, documenter }) {
165
163
  documenter.emit(this.property.docs);
@@ -207,4 +205,4 @@ class InterfaceMethod extends type_member_1.GoMethod {
207
205
  return ((_a = this.reference) === null || _a === void 0 ? void 0 : _a.void) ? '' : ` ${this.returnType}`;
208
206
  }
209
207
  }
210
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDhDQUE4QztBQUk5Qyx3Q0FBdUQ7QUFDdkQsa0NBQXNFO0FBQ3RFLHVDQUFtQztBQUNuQywyREFBZ0Q7QUFDaEQsK0NBQXFEO0FBRXJELE1BQWEsV0FBWSxTQUFRLGdCQUFNO0lBTXJDLFlBQW1CLEdBQVksRUFBUyxJQUFtQjtRQUN6RCxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRHFCLFNBQUksR0FBSixJQUFJLENBQWU7UUFHekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVTthQUMzQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQzthQUNsRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWE7YUFDakMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNoRCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTVCLDBFQUEwRTtRQUMxRSwyRUFBMkU7UUFDM0Usc0VBQXNFO1FBQ3RFLDRFQUE0RTtRQUM1RSx5Q0FBeUM7UUFDekMsSUFDRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQzFCLElBQUk7aUJBQ0QsYUFBYSxDQUFDLElBQUksQ0FBQztpQkFDbkIsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUNsRTtZQUNBLElBQUksQ0FB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QUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pFLENBQUMsUUFBQyxJQUFJLENBQUMsU0FBUywwQ0FBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUE7U0FDN0MsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFZLGdCQUFnQjs7UUFDMUIsT0FBTyxPQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLElBQUksRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUMzRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2RlTWFrZXIgfSBmcm9tICdjb2RlbWFrZXInO1xuaW1wb3J0IHsgSW50ZXJmYWNlVHlwZSwgTWV0aG9kLCBQcm9wZXJ0eSB9IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5cbmltcG9ydCAqIGFzIGNvbXBhcmF0b3JzIGZyb20gJy4uL2NvbXBhcmF0b3JzJztcbmltcG9ydCB7IFNwZWNpYWxEZXBlbmRlbmNpZXMgfSBmcm9tICcuLi9kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgRW1pdENvbnRleHQgfSBmcm9tICcuLi9lbWl0LWNvbnRleHQnO1xuaW1wb3J0IHsgUGFja2FnZSB9IGZyb20gJy4uL3BhY2thZ2UnO1xuaW1wb3J0IHsgSlNJSV9SVF9BTElBUywgTWV0aG9kQ2FsbCB9IGZyb20gJy4uL3J1bnRpbWUnO1xuaW1wb3J0IHsgZ2V0TWVtYmVyRGVwZW5kZW5jaWVzLCBnZXRQYXJhbURlcGVuZGVuY2llcyB9IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IHsgR29UeXBlIH0gZnJvbSAnLi9nby10eXBlJztcbmltcG9ydCB7IEdvVHlwZVJlZiB9IGZyb20gJy4vZ28tdHlwZS1yZWZlcmVuY2UnO1xuaW1wb3J0IHsgR29NZXRob2QsIEdvUHJvcGVydHkgfSBmcm9tICcuL3R5cGUtbWVtYmVyJztcblxuZXhwb3J0IGNsYXNzIEdvSW50ZXJmYWNlIGV4dGVuZHMgR29UeXBlIHtcbiAgcHVibGljIHJlYWRvbmx5IG1ldGhvZHM6IEludGVyZmFjZU1ldGhvZFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVpbXBsZW1lbnRlZE1ldGhvZHM/OiByZWFkb25seSBJbnRlcmZhY2VNZXRob2RbXTtcbiAgcHVibGljIHJlYWRvbmx5IHByb3BlcnRpZXM6IEludGVyZmFjZVByb3BlcnR5W107XG4gIHB1YmxpYyByZWFkb25seSByZWltcGxlbWVudGVkUHJvcGVydGllcz86IHJlYWRvbmx5IEludGVyZmFjZVByb3BlcnR5W107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBrZzogUGFja2FnZSwgcHVibGljIHR5cGU6IEludGVyZmFjZVR5cGUpIHtcbiAgICBzdXBlcihwa2csIHR5cGUpO1xuXG4gICAgdGhpcy5tZXRob2RzID0gdHlwZS5vd25NZXRob2RzXG4gICAgICAubWFwKChtZXRob2QpID0+IG5ldyBJbnRlcmZhY2VNZXRob2QodGhpcywgbWV0aG9kKSlcbiAgICAgIC5zb3J0KGNvbXBhcmF0b3JzLmJ5TmFtZSk7XG5cbiAgICB0aGlzLnByb3BlcnRpZXMgPSB0eXBlLm93blByb3BlcnRpZXNcbiAgICAgIC5tYXAoKHByb3ApID0+IG5ldyBJbnRlcmZhY2VQcm9wZXJ0eSh0aGlzLCBwcm9wKSlcbiAgICAgIC5zb3J0KGNvbXBhcmF0b3JzLmJ5TmFtZSk7XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGJhc2UsIGFuZCBhbnkgYW5jZXN0b3IgKGluY2x1ZGluZyB0cmFuc2l0aXZlKVxuICAgIC8vIGNvbWVzIGZyb20gYSBkaWZmZXJlbnQgYXNzZW1ibHksIHdlIHdpbGwgcmUtaW1wbGVtZW50IGFsbCBtZW1iZXJzIG9uIHRoZVxuICAgIC8vIHByb3h5IHN0cnVjdCwgYXMgb3RoZXJ3aXNlIHdlIHJ1biB0aGUgcmlzayBvZiB1bi1wcm9tb3RhYmxlIG1ldGhvZHNcbiAgICAvLyBjYXVzZWQgYnkgaW5oZXJpdGluZyB0aGUgc2FtZSBpbnRlcmZhY2UgdmlhIG11bHRpcGxlIHBhdGhzIChzaW5jZSB3ZSBoYXZlXG4gICAgLy8gdG8gcmVwcmVzZW50IHRob3NlIGFzIGVtYmVkZGVkIHR5cGVzKS5cbiAgICBpZiAoXG4gICAgICB0eXBlLmludGVyZmFjZXMubGVuZ3RoID4gMSAmJlxuICAgICAgdHlwZVxuICAgICAgICAuZ2V0SW50ZXJmYWNlcyh0cnVlKVxuICAgICAgICAuc29tZSgoYW5jZXN0b3IpID0+IGFuY2VzdG9yLmFzc2VtYmx5LmZxbiAhPT0gdHlwZS5hc3NlbWJseS5mcW4pXG4gICAgKSB7XG4gICAgICB0aGlzLnJlaW1wbGVtZW50ZWRNZXRob2RzID0gdHlwZS5hbGxNZXRob2RzXG4gICAgICAgIC5maWx0ZXIoKG1ldGhvZCkgPT4gIW1ldGhvZC5zdGF0aWMgJiYgbWV0aG9kLmRlZmluaW5nVHlwZSAhPT0gdHlwZSlcbiAgICAgICAgLm1hcCgobWV0aG9kKSA9PiBuZXcgSW50ZXJmYWNlTWV0aG9kKHRoaXMsIG1ldGhvZCkpXG4gICAgICAgIC5zb3J0KGNvbXBhcmF0b3JzLmJ5TmFtZSk7XG5cbiAgICAgIHRoaXMucmVpbXBsZW1lbnRlZFByb3BlcnRpZXMgPSB0eXBlLmFsbFByb3BlcnRpZXNcbiAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAocHJvcGVydHkpID0+ICFwcm9wZXJ0eS5zdGF0aWMgJiYgcHJvcGVydHkuZGVmaW5pbmdUeXBlICE9PSB0eXBlLFxuICAgICAgICApXG4gICAgICAgIC5tYXAoKHByb3BlcnR5KSA9PiBuZXcgSW50ZXJmYWNlUHJvcGVydHkodGhpcywgcHJvcGVydHkpKVxuICAgICAgICAuc29ydChjb21wYXJhdG9ycy5ieU5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbWl0KGNvbnRleHQ6IEVtaXRDb250ZXh0KSB7XG4gICAgdGhpcy5lbWl0RG9jcyhjb250ZXh0KTtcblxuICAgIGNvbnN0IHsgY29kZSB9ID0gY29udGV4dDtcbiAgICBjb2RlLm9wZW5CbG9jayhgdHlwZSAke3RoaXMubmFtZX0gaW50ZXJmYWNlYCk7XG5cbiAgICAvLyBlbWJlZCBleHRlbmRlZCBpbnRlcmZhY2VzXG4gICAgZm9yIChjb25zdCBpZmFjZSBvZiB0aGlzLmV4dGVuZHMpIHtcbiAgICAgIGNvZGUubGluZShcbiAgICAgICAgbmV3IEdvVHlwZVJlZih0aGlzLnBrZy5yb290LCBpZmFjZS50eXBlLnJlZmVyZW5jZSkuc2NvcGVkTmFtZSh0aGlzLnBrZyksXG4gICAgICApO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgbWV0aG9kIG9mIHRoaXMubWV0aG9kcykge1xuICAgICAgbWV0aG9kLmVtaXREZWNsKGNvbnRleHQpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLnByb3BlcnRpZXMpIHtcbiAgICAgIHByb3AuZW1pdChjb250ZXh0KTtcbiAgICB9XG5cbiAgICBjb2RlLmNsb3NlQmxvY2soKTtcbiAgICBjb2RlLmxpbmUoKTtcblxuICAgIGNvZGUubGluZShgLy8gVGhlIGpzaWkgcHJveHkgZm9yICR7dGhpcy5uYW1lfWApO1xuICAgIGNvZGUub3BlbkJsb2NrKGB0eXBlICR7dGhpcy5wcm94eU5hbWV9IHN0cnVjdGApO1xuICAgIGlmICh0aGlzLmV4dGVuZHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyBFbnN1cmUgdGhpcyBpcyBub3QgMC13aWR0aFxuICAgICAgY29kZS5saW5lKCdfIGJ5dGUgLy8gcGFkZGluZycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGJhc2Ugb2YgdGhpcy5leHRlbmRzKSB7XG4gICAgICAgIGNvZGUubGluZSh0aGlzLnBrZy5yZXNvbHZlRW1iZWRkZWRUeXBlKGJhc2UpLmVtYmVkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgY29kZS5saW5lKCk7XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiB0aGlzLm1ldGhvZHMpIHtcbiAgICAgIG1ldGhvZC5lbWl0KGNvbnRleHQpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgbWV0aG9kIG9mIHRoaXMucmVpbXBsZW1lbnRlZE1ldGhvZHMgPz8gW10pIHtcbiAgICAgIG1ldGhvZC5lbWl0KGNvbnRleHQpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLnByb3BlcnRpZXMpIHtcbiAgICAgIHByb3AuZW1pdEdldHRlclByb3h5KGNvbnRleHQpO1xuXG4gICAgICBpZiAoIXByb3AuaW1tdXRhYmxlKSB7XG4gICAgICAgIHByb3AuZW1pdFNldHRlclByb3h5KGNvbnRleHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgcHJvcCBvZiB0aGlzLnJlaW1wbGVtZW50ZWRQcm9wZXJ0aWVzID8/IFtdKSB7XG4gICAgICBwcm9wLmVtaXRHZXR0ZXJQcm94eShjb250ZXh0KTtcblxuICAgICAgaWYgKCFwcm9wLmltbXV0YWJsZSkge1xuICAgICAgICBwcm9wLmVtaXRTZXR0ZXJQcm94eShjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW1pdFJlZ2lzdHJhdGlvbihjb2RlOiBDb2RlTWFrZXIpOiB2b2lkIHtcbiAgICBjb2RlLm9wZW4oYCR7SlNJSV9SVF9BTElBU30uUmVnaXN0ZXJJbnRlcmZhY2UoYCk7XG4gICAgY29kZS5saW5lKGBcIiR7dGhpcy5mcW59XCIsYCk7XG4gICAgY29kZS5saW5lKGByZWZsZWN0LlR5cGVPZigoKiR7dGhpcy5uYW1lfSkobmlsKSkuRWxlbSgpLGApO1xuXG4gICAgY29uc3QgYWxsTWVtYmVycyA9IFtcbiAgICAgIC4uLnRoaXMudHlwZS5hbGxNZXRob2RzXG4gICAgICAgIC5maWx0ZXIoKG1ldGhvZCkgPT4gIW1ldGhvZC5zdGF0aWMpXG4gICAgICAgIC5tYXAoKG1ldGhvZCkgPT4gbmV3IEludGVyZmFjZU1ldGhvZCh0aGlzLCBtZXRob2QpKSxcbiAgICAgIC4uLnRoaXMudHlwZS5hbGxQcm9wZXJ0aWVzXG4gICAgICAgIC5maWx0ZXIoKHByb3BlcnR5KSA9PiAhcHJvcGVydHkuc3RhdGljKVxuICAgICAgICAubWFwKChwcm9wZXJ0eSkgPT4gbmV3IEdvUHJvcGVydHkodGhpcywgcHJvcGVydHkpKSxcbiAgICBdLnNvcnQoY29tcGFyYXRvcnMuYnlOYW1lKTtcbiAgICBpZiAoYWxsTWVtYmVycy5sZW5ndGggPT09IDApIHtcbiAgICAgIGNvZGUubGluZSgnbmlsLCAvLyBubyBtZW1iZXJzJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvZGUub3BlbihgW10ke0pTSUlfUlRfQUxJQVN9Lk1lbWJlcntgKTtcbiAgICAgIGZvciAoY29uc3QgbWVtYmVyIG9mIGFsbE1lbWJlcnMpIHtcbiAgICAgICAgY29kZS5saW5lKGAke21lbWJlci5vdmVycmlkZX0sYCk7XG4gICAgICB9XG4gICAgICBjb2RlLmNsb3NlKCd9LCcpO1xuICAgIH1cblxuICAgIHRoaXMuZW1pdFByb3h5TWFrZXJGdW5jdGlvbihjb2RlLCB0aGlzLmV4dGVuZHMpO1xuICAgIGNvZGUuY2xvc2UoJyknKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3BlY2lhbERlcGVuZGVuY2llcygpOiBTcGVjaWFsRGVwZW5kZW5jaWVzIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4udGhpcy5wcm9wZXJ0aWVzLm1hcCgocCkgPT4gcC5zcGVjaWFsRGVwZW5kZW5jaWVzKSxcbiAgICAgIC4uLnRoaXMubWV0aG9kcy5tYXAoKG0pID0+IG0uc3BlY2lhbERlcGVuZGVuY2llcyksXG4gICAgXS5yZWR1Y2UoXG4gICAgICAoYWNjLCBlbHQpID0+ICh7XG4gICAgICAgIHJ1bnRpbWU6IGFjYy5ydW50aW1lIHx8IGVsdC5ydW50aW1lLFxuICAgICAgICBpbml0OiBhY2MuaW5pdCB8fCBlbHQuaW5pdCxcbiAgICAgICAgaW50ZXJuYWw6IGFjYy5pbnRlcm5hbCxcbiAgICAgICAgdGltZTogYWNjLnRpbWUgfHwgZWx0LnRpbWUsXG4gICAgICB9KSxcbiAgICAgIHtcbiAgICAgICAgcnVudGltZTogZmFsc2UsXG4gICAgICAgIGluaXQ6IGZhbHNlLFxuICAgICAgICBpbnRlcm5hbDogdGhpcy5leHRlbmRzLnNvbWUoKGJhc2UpID0+IHRoaXMucGtnLmlzRXh0ZXJuYWxUeXBlKGJhc2UpKSxcbiAgICAgICAgdGltZTogZmFsc2UsXG4gICAgICB9LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4dGVuZHMoKTogR29JbnRlcmZhY2VbXSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZS5pbnRlcmZhY2VzXG4gICAgICAubWFwKChpZmFjZSkgPT4gdGhpcy5wa2cucm9vdC5maW5kVHlwZShpZmFjZS5mcW4pIGFzIEdvSW50ZXJmYWNlKVxuICAgICAgLnNvcnQoY29tcGFyYXRvcnMuYnlOYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXh0ZW5kc0RlcGVuZGVuY2llcygpOiBQYWNrYWdlW10ge1xuICAgIGNvbnN0IHBhY2thZ2VzOiBQYWNrYWdlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGlmYWNlUmVmIG9mIHRoaXMuZXh0ZW5kcykge1xuICAgICAgY29uc3QgcGtnID0gaWZhY2VSZWYucGtnO1xuICAgICAgaWYgKHBrZykge1xuICAgICAgICBwYWNrYWdlcy5wdXNoKHBrZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhY2thZ2VzO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXBlbmRlbmNpZXMoKTogUGFja2FnZVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4udGhpcy5leHRlbmRzRGVwZW5kZW5jaWVzLFxuICAgICAgLi4uZ2V0TWVtYmVyRGVwZW5kZW5jaWVzKHRoaXMubWV0aG9kcyksXG4gICAgICAuLi5nZXRQYXJhbURlcGVuZGVuY2llcyh0aGlzLm1ldGhvZHMpLFxuICAgICAgLi4uZ2V0TWVtYmVyRGVwZW5kZW5jaWVzKHRoaXMucHJvcGVydGllcyksXG4gICAgXTtcbiAgfVxufVxuXG5jbGFzcyBJbnRlcmZhY2VQcm9wZXJ0eSBleHRlbmRzIEdvUHJvcGVydHkge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVmZXJlbmNlPzogR29UeXBlUmVmO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFyZW50OiBHb0ludGVyZmFjZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgcHJvcGVydHk6IFByb3BlcnR5LFxuICApIHtcbiAgICBzdXBlcihwYXJlbnQsIHByb3BlcnR5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmV0dXJuVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnJlZmVyZW5jZT8uc2NvcGVkUmVmZXJlbmNlKHRoaXMucGFyZW50LnBrZykgPz9cbiAgICAgIHRoaXMucHJvcGVydHkudHlwZS50b1N0cmluZygpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0KHsgY29kZSwgZG9jdW1lbnRlciB9OiBFbWl0Q29udGV4dCkge1xuICAgIGRvY3VtZW50ZXIuZW1pdCh0aGlzLnByb3BlcnR5LmRvY3MpO1xuICAgIGNvZGUubGluZShgJHt0aGlzLm5hbWV9KCkgJHt0aGlzLnJldHVyblR5cGV9YCk7XG5cbiAgICBpZiAoIXRoaXMucHJvcGVydHkuaW1tdXRhYmxlKSB7XG4gICAgICBkb2N1bWVudGVyLmVtaXQodGhpcy5wcm9wZXJ0eS5kb2NzKTtcbiAgICAgIGNvZGUubGluZShcbiAgICAgICAgYFNldCR7dGhpcy5uYW1lfSgke3RoaXMubmFtZVswXS50b0xvd2VyQ2FzZSgpfSAke3RoaXMucmV0dXJuVHlwZX0pYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmNsYXNzIEludGVyZmFjZU1ldGhvZCBleHRlbmRzIEdvTWV0aG9kIHtcbiAgcHVibGljIHJlYWRvbmx5IHJ1bnRpbWVDYWxsOiBNZXRob2RDYWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFyZW50OiBHb0ludGVyZmFjZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWV0aG9kOiBNZXRob2QsXG4gICkge1xuICAgIHN1cGVyKHBhcmVudCwgbWV0aG9kKTtcbiAgICB0aGlzLnJ1bnRpbWVDYWxsID0gbmV3IE1ldGhvZENhbGwodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgZW1pdERlY2woY29udGV4dDogRW1pdENvbnRleHQpIHtcbiAgICBjb25zdCBkb2NzID0gdGhpcy5tZXRob2QuZG9jcztcbiAgICBpZiAoZG9jcykge1xuICAgICAgY29udGV4dC5kb2N1bWVudGVyLmVtaXQoZG9jcyk7XG4gICAgfVxuICAgIGNvbnN0IHsgY29kZSB9ID0gY29udGV4dDtcbiAgICBjb2RlLmxpbmUoYCR7dGhpcy5uYW1lfSgke3RoaXMucGFyYW1TdHJpbmcoKX0pJHt0aGlzLnJldHVyblR5cGVTdHJpbmd9YCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdCh7IGNvZGUgfTogRW1pdENvbnRleHQpIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvZGUub3BlbkJsb2NrKFxuICAgICAgYGZ1bmMgKCR7dGhpcy5pbnN0YW5jZUFyZ30gKiR7XG4gICAgICAgIHRoaXMucGFyZW50LnByb3h5TmFtZVxuICAgICAgfSkgJHtuYW1lfSgke3RoaXMucGFyYW1TdHJpbmcoKX0pJHt0aGlzLnJldHVyblR5cGVTdHJpbmd9YCxcbiAgICApO1xuXG4gICAgdGhpcy5ydW50aW1lQ2FsbC5lbWl0KGNvZGUpO1xuXG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNwZWNpYWxEZXBlbmRlbmNpZXMoKTogU3BlY2lhbERlcGVuZGVuY2llcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJ1bnRpbWU6IHRydWUsXG4gICAgICBpbml0OiBmYWxzZSxcbiAgICAgIGludGVybmFsOiBmYWxzZSxcbiAgICAgIHRpbWU6XG4gICAgICAgIHRoaXMucGFyYW1ldGVycy5zb21lKChwKSA9PiBwLnJlZmVyZW5jZS5zcGVjaWFsRGVwZW5kZW5jaWVzLnRpbWUpIHx8XG4gICAgICAgICEhdGhpcy5yZWZlcmVuY2U/LnNwZWNpYWxEZXBlbmRlbmNpZXMudGltZSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgcmV0dXJuVHlwZVN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlZmVyZW5jZT8udm9pZCA/ICcnIDogYCAke3RoaXMucmV0dXJuVHlwZX1gO1xuICB9XG59XG4iXX0=
208
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLDhDQUE4QztBQUk5Qyx3Q0FBdUQ7QUFDdkQsa0NBQXNFO0FBQ3RFLHVDQUFtQztBQUNuQywyREFBZ0Q7QUFDaEQsK0NBQXFEO0FBRXJELE1BQWEsV0FBWSxTQUFRLGdCQUFxQjtJQU1wRCxZQUFtQixHQUFZLEVBQUUsSUFBbUI7UUFDbEQsS0FBSyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVO2FBQzNCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYTthQUNqQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ2hELElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUIsMEVBQTBFO1FBQzFFLDJFQUEyRTtRQUMzRSxzRUFBc0U7UUFDdEUsNEVBQTRFO1FBQzVFLHlDQUF5QztRQUN6QyxJQUNFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUM7WUFDMUIsSUFBSTtpQkFDRCxhQUFhLENBQUMsSUFBSSxDQUFDO2lCQUNuQixJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQ2xFO1lBQ0EsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxV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QztnQkFDakUsQ0FBQyxRQUFDLElBQUksQ0FBQyxTQUFTLDBDQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQTtTQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVksZ0JBQWdCOztRQUMxQixPQUFPLE9BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzNELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gJ2NvZGVtYWtlcic7XG5pbXBvcnQgeyBJbnRlcmZhY2VUeXBlLCBNZXRob2QsIFByb3BlcnR5IH0gZnJvbSAnanNpaS1yZWZsZWN0JztcblxuaW1wb3J0ICogYXMgY29tcGFyYXRvcnMgZnJvbSAnLi4vY29tcGFyYXRvcnMnO1xuaW1wb3J0IHsgU3BlY2lhbERlcGVuZGVuY2llcyB9IGZyb20gJy4uL2RlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBFbWl0Q29udGV4dCB9IGZyb20gJy4uL2VtaXQtY29udGV4dCc7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSAnLi4vcGFja2FnZSc7XG5pbXBvcnQgeyBKU0lJX1JUX0FMSUFTLCBNZXRob2RDYWxsIH0gZnJvbSAnLi4vcnVudGltZSc7XG5pbXBvcnQgeyBnZXRNZW1iZXJEZXBlbmRlbmNpZXMsIGdldFBhcmFtRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi4vdXRpbCc7XG5pbXBvcnQgeyBHb1R5cGUgfSBmcm9tICcuL2dvLXR5cGUnO1xuaW1wb3J0IHsgR29UeXBlUmVmIH0gZnJvbSAnLi9nby10eXBlLXJlZmVyZW5jZSc7XG5pbXBvcnQgeyBHb01ldGhvZCwgR29Qcm9wZXJ0eSB9IGZyb20gJy4vdHlwZS1tZW1iZXInO1xuXG5leHBvcnQgY2xhc3MgR29JbnRlcmZhY2UgZXh0ZW5kcyBHb1R5cGU8SW50ZXJmYWNlVHlwZT4ge1xuICBwdWJsaWMgcmVhZG9ubHkgbWV0aG9kczogSW50ZXJmYWNlTWV0aG9kW107XG4gIHB1YmxpYyByZWFkb25seSByZWltcGxlbWVudGVkTWV0aG9kcz86IHJlYWRvbmx5IEludGVyZmFjZU1ldGhvZFtdO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcGVydGllczogSW50ZXJmYWNlUHJvcGVydHlbXTtcbiAgcHVibGljIHJlYWRvbmx5IHJlaW1wbGVtZW50ZWRQcm9wZXJ0aWVzPzogcmVhZG9ubHkgSW50ZXJmYWNlUHJvcGVydHlbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGtnOiBQYWNrYWdlLCB0eXBlOiBJbnRlcmZhY2VUeXBlKSB7XG4gICAgc3VwZXIocGtnLCB0eXBlKTtcblxuICAgIHRoaXMubWV0aG9kcyA9IHR5cGUub3duTWV0aG9kc1xuICAgICAgLm1hcCgobWV0aG9kKSA9PiBuZXcgSW50ZXJmYWNlTWV0aG9kKHRoaXMsIG1ldGhvZCkpXG4gICAgICAuc29ydChjb21wYXJhdG9ycy5ieU5hbWUpO1xuXG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gdHlwZS5vd25Qcm9wZXJ0aWVzXG4gICAgICAubWFwKChwcm9wKSA9PiBuZXcgSW50ZXJmYWNlUHJvcGVydHkodGhpcywgcHJvcCkpXG4gICAgICAuc29ydChjb21wYXJhdG9ycy5ieU5hbWUpO1xuXG4gICAgLy8gSWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBiYXNlLCBhbmQgYW55IGFuY2VzdG9yIChpbmNsdWRpbmcgdHJhbnNpdGl2ZSlcbiAgICAvLyBjb21lcyBmcm9tIGEgZGlmZmVyZW50IGFzc2VtYmx5LCB3ZSB3aWxsIHJlLWltcGxlbWVudCBhbGwgbWVtYmVycyBvbiB0aGVcbiAgICAvLyBwcm94eSBzdHJ1Y3QsIGFzIG90aGVyd2lzZSB3ZSBydW4gdGhlIHJpc2sgb2YgdW4tcHJvbW90YWJsZSBtZXRob2RzXG4gICAgLy8gY2F1c2VkIGJ5IGluaGVyaXRpbmcgdGhlIHNhbWUgaW50ZXJmYWNlIHZpYSBtdWx0aXBsZSBwYXRocyAoc2luY2Ugd2UgaGF2ZVxuICAgIC8vIHRvIHJlcHJlc2VudCB0aG9zZSBhcyBlbWJlZGRlZCB0eXBlcykuXG4gICAgaWYgKFxuICAgICAgdHlwZS5pbnRlcmZhY2VzLmxlbmd0aCA+IDEgJiZcbiAgICAgIHR5cGVcbiAgICAgICAgLmdldEludGVyZmFjZXModHJ1ZSlcbiAgICAgICAgLnNvbWUoKGFuY2VzdG9yKSA9PiBhbmNlc3Rvci5hc3NlbWJseS5mcW4gIT09IHR5cGUuYXNzZW1ibHkuZnFuKVxuICAgICkge1xuICAgICAgdGhpcy5yZWltcGxlbWVudGVkTWV0aG9kcyA9IHR5cGUuYWxsTWV0aG9kc1xuICAgICAgICAuZmlsdGVyKChtZXRob2QpID0+ICFtZXRob2Quc3RhdGljICYmIG1ldGhvZC5kZWZpbmluZ1R5cGUgIT09IHR5cGUpXG4gICAgICAgIC5tYXAoKG1ldGhvZCkgPT4gbmV3IEludGVyZmFjZU1ldGhvZCh0aGlzLCBtZXRob2QpKVxuICAgICAgICAuc29ydChjb21wYXJhdG9ycy5ieU5hbWUpO1xuXG4gICAgICB0aGlzLnJlaW1wbGVtZW50ZWRQcm9wZXJ0aWVzID0gdHlwZS5hbGxQcm9wZXJ0aWVzXG4gICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgKHByb3BlcnR5KSA9PiAhcHJvcGVydHkuc3RhdGljICYmIHByb3BlcnR5LmRlZmluaW5nVHlwZSAhPT0gdHlwZSxcbiAgICAgICAgKVxuICAgICAgICAubWFwKChwcm9wZXJ0eSkgPT4gbmV3IEludGVyZmFjZVByb3BlcnR5KHRoaXMsIHByb3BlcnR5KSlcbiAgICAgICAgLnNvcnQoY29tcGFyYXRvcnMuYnlOYW1lKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZW1pdChjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIHRoaXMuZW1pdERvY3MoY29udGV4dCk7XG5cbiAgICBjb25zdCB7IGNvZGUgfSA9IGNvbnRleHQ7XG4gICAgY29kZS5vcGVuQmxvY2soYHR5cGUgJHt0aGlzLm5hbWV9IGludGVyZmFjZWApO1xuXG4gICAgLy8gZW1iZWQgZXh0ZW5kZWQgaW50ZXJmYWNlc1xuICAgIGZvciAoY29uc3QgaWZhY2Ugb2YgdGhpcy5leHRlbmRzKSB7XG4gICAgICBjb2RlLmxpbmUoXG4gICAgICAgIG5ldyBHb1R5cGVSZWYodGhpcy5wa2cucm9vdCwgaWZhY2UudHlwZS5yZWZlcmVuY2UpLnNjb3BlZE5hbWUodGhpcy5wa2cpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiB0aGlzLm1ldGhvZHMpIHtcbiAgICAgIG1ldGhvZC5lbWl0RGVjbChjb250ZXh0KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5wcm9wZXJ0aWVzKSB7XG4gICAgICBwcm9wLmVtaXQoY29udGV4dCk7XG4gICAgfVxuXG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgY29kZS5saW5lKCk7XG5cbiAgICBjb2RlLmxpbmUoYC8vIFRoZSBqc2lpIHByb3h5IGZvciAke3RoaXMubmFtZX1gKTtcbiAgICBjb2RlLm9wZW5CbG9jayhgdHlwZSAke3RoaXMucHJveHlOYW1lfSBzdHJ1Y3RgKTtcbiAgICBpZiAodGhpcy5leHRlbmRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgLy8gRW5zdXJlIHRoaXMgaXMgbm90IDAtd2lkdGhcbiAgICAgIGNvZGUubGluZSgnXyBieXRlIC8vIHBhZGRpbmcnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9yIChjb25zdCBiYXNlIG9mIHRoaXMuZXh0ZW5kcykge1xuICAgICAgICBjb2RlLmxpbmUodGhpcy5wa2cucmVzb2x2ZUVtYmVkZGVkVHlwZShiYXNlKS5lbWJlZCk7XG4gICAgICB9XG4gICAgfVxuICAgIGNvZGUuY2xvc2VCbG9jaygpO1xuICAgIGNvZGUubGluZSgpO1xuXG4gICAgZm9yIChjb25zdCBtZXRob2Qgb2YgdGhpcy5tZXRob2RzKSB7XG4gICAgICBtZXRob2QuZW1pdChjb250ZXh0KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiB0aGlzLnJlaW1wbGVtZW50ZWRNZXRob2RzID8/IFtdKSB7XG4gICAgICBtZXRob2QuZW1pdChjb250ZXh0KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5wcm9wZXJ0aWVzKSB7XG4gICAgICBwcm9wLmVtaXRHZXR0ZXJQcm94eShjb250ZXh0KTtcblxuICAgICAgaWYgKCFwcm9wLmltbXV0YWJsZSkge1xuICAgICAgICBwcm9wLmVtaXRTZXR0ZXJQcm94eShjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgdGhpcy5yZWltcGxlbWVudGVkUHJvcGVydGllcyA/PyBbXSkge1xuICAgICAgcHJvcC5lbWl0R2V0dGVyUHJveHkoY29udGV4dCk7XG5cbiAgICAgIGlmICghcHJvcC5pbW11dGFibGUpIHtcbiAgICAgICAgcHJvcC5lbWl0U2V0dGVyUHJveHkoY29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGVtaXRSZWdpc3RyYXRpb24oY29kZTogQ29kZU1ha2VyKTogdm9pZCB7XG4gICAgY29kZS5vcGVuKGAke0pTSUlfUlRfQUxJQVN9LlJlZ2lzdGVySW50ZXJmYWNlKGApO1xuICAgIGNvZGUubGluZShgXCIke3RoaXMuZnFufVwiLGApO1xuICAgIGNvZGUubGluZShgcmVmbGVjdC5UeXBlT2YoKCoke3RoaXMubmFtZX0pKG5pbCkpLkVsZW0oKSxgKTtcblxuICAgIGNvbnN0IGFsbE1lbWJlcnMgPSBbXG4gICAgICAuLi50aGlzLnR5cGUuYWxsTWV0aG9kc1xuICAgICAgICAuZmlsdGVyKChtZXRob2QpID0+ICFtZXRob2Quc3RhdGljKVxuICAgICAgICAubWFwKChtZXRob2QpID0+IG5ldyBJbnRlcmZhY2VNZXRob2QodGhpcywgbWV0aG9kKSksXG4gICAgICAuLi50aGlzLnR5cGUuYWxsUHJvcGVydGllc1xuICAgICAgICAuZmlsdGVyKChwcm9wZXJ0eSkgPT4gIXByb3BlcnR5LnN0YXRpYylcbiAgICAgICAgLm1hcCgocHJvcGVydHkpID0+IG5ldyBHb1Byb3BlcnR5KHRoaXMsIHByb3BlcnR5KSksXG4gICAgXS5zb3J0KGNvbXBhcmF0b3JzLmJ5TmFtZSk7XG4gICAgaWYgKGFsbE1lbWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICBjb2RlLmxpbmUoJ25pbCwgLy8gbm8gbWVtYmVycycpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb2RlLm9wZW4oYFtdJHtKU0lJX1JUX0FMSUFTfS5NZW1iZXJ7YCk7XG4gICAgICBmb3IgKGNvbnN0IG1lbWJlciBvZiBhbGxNZW1iZXJzKSB7XG4gICAgICAgIGNvZGUubGluZShgJHttZW1iZXIub3ZlcnJpZGV9LGApO1xuICAgICAgfVxuICAgICAgY29kZS5jbG9zZSgnfSwnKTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRQcm94eU1ha2VyRnVuY3Rpb24oY29kZSwgdGhpcy5leHRlbmRzKTtcbiAgICBjb2RlLmNsb3NlKCcpJyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNwZWNpYWxEZXBlbmRlbmNpZXMoKTogU3BlY2lhbERlcGVuZGVuY2llcyB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnRoaXMucHJvcGVydGllcy5tYXAoKHApID0+IHAuc3BlY2lhbERlcGVuZGVuY2llcyksXG4gICAgICAuLi50aGlzLm1ldGhvZHMubWFwKChtKSA9PiBtLnNwZWNpYWxEZXBlbmRlbmNpZXMpLFxuICAgIF0ucmVkdWNlKFxuICAgICAgKGFjYywgZWx0KSA9PiAoe1xuICAgICAgICBydW50aW1lOiBhY2MucnVudGltZSB8fCBlbHQucnVudGltZSxcbiAgICAgICAgaW5pdDogYWNjLmluaXQgfHwgZWx0LmluaXQsXG4gICAgICAgIGludGVybmFsOiBhY2MuaW50ZXJuYWwsXG4gICAgICAgIHRpbWU6IGFjYy50aW1lIHx8IGVsdC50aW1lLFxuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIHJ1bnRpbWU6IGZhbHNlLFxuICAgICAgICBpbml0OiBmYWxzZSxcbiAgICAgICAgaW50ZXJuYWw6IHRoaXMuZXh0ZW5kcy5zb21lKChiYXNlKSA9PiB0aGlzLnBrZy5pc0V4dGVybmFsVHlwZShiYXNlKSksXG4gICAgICAgIHRpbWU6IGZhbHNlLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBleHRlbmRzKCk6IEdvSW50ZXJmYWNlW10ge1xuICAgIHJldHVybiB0aGlzLnR5cGUuaW50ZXJmYWNlc1xuICAgICAgLm1hcCgoaWZhY2UpID0+IHRoaXMucGtnLnJvb3QuZmluZFR5cGUoaWZhY2UuZnFuKSBhcyBHb0ludGVyZmFjZSlcbiAgICAgIC5zb3J0KGNvbXBhcmF0b3JzLmJ5TmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4dGVuZHNEZXBlbmRlbmNpZXMoKTogUGFja2FnZVtdIHtcbiAgICBjb25zdCBwYWNrYWdlczogUGFja2FnZVtdID0gW107XG4gICAgZm9yIChjb25zdCBpZmFjZVJlZiBvZiB0aGlzLmV4dGVuZHMpIHtcbiAgICAgIGNvbnN0IHBrZyA9IGlmYWNlUmVmLnBrZztcbiAgICAgIGlmIChwa2cpIHtcbiAgICAgICAgcGFja2FnZXMucHVzaChwa2cpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYWNrYWdlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGVwZW5kZW5jaWVzKCk6IFBhY2thZ2VbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnRoaXMuZXh0ZW5kc0RlcGVuZGVuY2llcyxcbiAgICAgIC4uLmdldE1lbWJlckRlcGVuZGVuY2llcyh0aGlzLm1ldGhvZHMpLFxuICAgICAgLi4uZ2V0UGFyYW1EZXBlbmRlbmNpZXModGhpcy5tZXRob2RzKSxcbiAgICAgIC4uLmdldE1lbWJlckRlcGVuZGVuY2llcyh0aGlzLnByb3BlcnRpZXMpLFxuICAgIF07XG4gIH1cbn1cblxuY2xhc3MgSW50ZXJmYWNlUHJvcGVydHkgZXh0ZW5kcyBHb1Byb3BlcnR5IHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwYXJlbnQ6IEdvSW50ZXJmYWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBwcm9wZXJ0eTogUHJvcGVydHksXG4gICkge1xuICAgIHN1cGVyKHBhcmVudCwgcHJvcGVydHkpO1xuICB9XG5cbiAgcHVibGljIGdldCByZXR1cm5UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlLnNjb3BlZFJlZmVyZW5jZSh0aGlzLnBhcmVudC5wa2cpO1xuICB9XG5cbiAgcHVibGljIGVtaXQoeyBjb2RlLCBkb2N1bWVudGVyIH06IEVtaXRDb250ZXh0KSB7XG4gICAgZG9jdW1lbnRlci5lbWl0KHRoaXMucHJvcGVydHkuZG9jcyk7XG4gICAgY29kZS5saW5lKGAke3RoaXMubmFtZX0oKSAke3RoaXMucmV0dXJuVHlwZX1gKTtcblxuICAgIGlmICghdGhpcy5wcm9wZXJ0eS5pbW11dGFibGUpIHtcbiAgICAgIGRvY3VtZW50ZXIuZW1pdCh0aGlzLnByb3BlcnR5LmRvY3MpO1xuICAgICAgY29kZS5saW5lKFxuICAgICAgICBgU2V0JHt0aGlzLm5hbWV9KCR7dGhpcy5uYW1lWzBdLnRvTG93ZXJDYXNlKCl9ICR7dGhpcy5yZXR1cm5UeXBlfSlgLFxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cblxuY2xhc3MgSW50ZXJmYWNlTWV0aG9kIGV4dGVuZHMgR29NZXRob2Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcnVudGltZUNhbGw6IE1ldGhvZENhbGw7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwYXJlbnQ6IEdvSW50ZXJmYWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBtZXRob2Q6IE1ldGhvZCxcbiAgKSB7XG4gICAgc3VwZXIocGFyZW50LCBtZXRob2QpO1xuICAgIHRoaXMucnVudGltZUNhbGwgPSBuZXcgTWV0aG9kQ2FsbCh0aGlzKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0RGVjbChjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGNvbnN0IGRvY3MgPSB0aGlzLm1ldGhvZC5kb2NzO1xuICAgIGlmIChkb2NzKSB7XG4gICAgICBjb250ZXh0LmRvY3VtZW50ZXIuZW1pdChkb2NzKTtcbiAgICB9XG4gICAgY29uc3QgeyBjb2RlIH0gPSBjb250ZXh0O1xuICAgIGNvZGUubGluZShgJHt0aGlzLm5hbWV9KCR7dGhpcy5wYXJhbVN0cmluZygpfSkke3RoaXMucmV0dXJuVHlwZVN0cmluZ31gKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0KHsgY29kZSB9OiBFbWl0Q29udGV4dCkge1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29kZS5vcGVuQmxvY2soXG4gICAgICBgZnVuYyAoJHt0aGlzLmluc3RhbmNlQXJnfSAqJHtcbiAgICAgICAgdGhpcy5wYXJlbnQucHJveHlOYW1lXG4gICAgICB9KSAke25hbWV9KCR7dGhpcy5wYXJhbVN0cmluZygpfSkke3RoaXMucmV0dXJuVHlwZVN0cmluZ31gLFxuICAgICk7XG5cbiAgICB0aGlzLnJ1bnRpbWVDYWxsLmVtaXQoY29kZSk7XG5cbiAgICBjb2RlLmNsb3NlQmxvY2soKTtcbiAgICBjb2RlLmxpbmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3BlY2lhbERlcGVuZGVuY2llcygpOiBTcGVjaWFsRGVwZW5kZW5jaWVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcnVudGltZTogdHJ1ZSxcbiAgICAgIGluaXQ6IGZhbHNlLFxuICAgICAgaW50ZXJuYWw6IGZhbHNlLFxuICAgICAgdGltZTpcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzLnNvbWUoKHApID0+IHAucmVmZXJlbmNlLnNwZWNpYWxEZXBlbmRlbmNpZXMudGltZSkgfHxcbiAgICAgICAgISF0aGlzLnJlZmVyZW5jZT8uc3BlY2lhbERlcGVuZGVuY2llcy50aW1lLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldCByZXR1cm5UeXBlU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVmZXJlbmNlPy52b2lkID8gJycgOiBgICR7dGhpcy5yZXR1cm5UeXBlfWA7XG4gIH1cbn1cbiJdfQ==
@@ -4,8 +4,7 @@ import { SpecialDependencies } from '../dependencies';
4
4
  import { EmitContext } from '../emit-context';
5
5
  import { Package } from '../package';
6
6
  import { GoType } from './go-type';
7
- export declare class Struct extends GoType {
8
- readonly type: InterfaceType;
7
+ export declare class Struct extends GoType<InterfaceType> {
9
8
  private readonly properties;
10
9
  constructor(parent: Package, type: InterfaceType);
11
10
  get dependencies(): Package[];
@@ -12,7 +12,6 @@ const type_member_1 = require("./type-member");
12
12
  class Struct extends go_type_1.GoType {
13
13
  constructor(parent, type) {
14
14
  super(parent, type);
15
- this.type = type;
16
15
  assert(type.isDataType(), `The provided interface ${type.fqn} is not a struct!`);
17
16
  this.properties = type.allProperties.map((prop) => new type_member_1.GoProperty(this, prop));
18
17
  }
@@ -45,4 +44,4 @@ class Struct extends go_type_1.GoType {
45
44
  }
46
45
  }
47
46
  exports.Struct = Struct;
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFpQztBQU9qQyx3Q0FBMkM7QUFDM0Msa0NBQWdEO0FBQ2hELHVDQUFtQztBQUNuQywrQ0FBMkM7QUFFM0M7O0dBRUc7QUFDSCxNQUFhLE1BQU8sU0FBUSxnQkFBTTtJQUdoQyxZQUFtQixNQUFlLEVBQWtCLElBQW1CO1FBQ3JFLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFEOEIsU0FBSSxHQUFKLElBQUksQ0FBZTtRQUdyRSxNQUFNLENBQ0osSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUNqQiwwQkFBMEIsSUFBSSxDQUFDLEdBQUcsbUJBQW1CLENBQ3RELENBQUM7UUFFRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUN0QyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyw0QkFBcUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU87WUFDTCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxLQUFLO1lBQ1gsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUM7U0FDcEUsQ0FBQztJQUNKLENBQUM7SUFFTSxJQUFJLENBQUMsT0FBb0I7UUFDOUIsTUFBTSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDckMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztRQUMzQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdEMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFlO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyx1QkFBYSxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBOUNELHdCQThDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0IHsgQ29kZU1ha2VyIH0gZnJvbSAnY29kZW1ha2VyJztcbmltcG9ydCB7IEludGVyZmFjZVR5cGUgfSBmcm9tICdqc2lpLXJlZmxlY3QnO1xuXG5pbXBvcnQgeyBTcGVjaWFsRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi4vZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7IEVtaXRDb250ZXh0IH0gZnJvbSAnLi4vZW1pdC1jb250ZXh0JztcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tICcuLi9wYWNrYWdlJztcbmltcG9ydCB7IEpTSUlfUlRfQUxJQVMgfSBmcm9tICcuLi9ydW50aW1lJztcbmltcG9ydCB7IGdldE1lbWJlckRlcGVuZGVuY2llcyB9IGZyb20gJy4uL3V0aWwnO1xuaW1wb3J0IHsgR29UeXBlIH0gZnJvbSAnLi9nby10eXBlJztcbmltcG9ydCB7IEdvUHJvcGVydHkgfSBmcm9tICcuL3R5cGUtbWVtYmVyJztcblxuLypcbiAqIFN0cnVjdCB3cmFwcyBhIEpTSUkgZGF0YXR5cGUgaW50ZXJmYWNlIGFrYSwgc3RydWN0c1xuICovXG5leHBvcnQgY2xhc3MgU3RydWN0IGV4dGVuZHMgR29UeXBlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwcm9wZXJ0aWVzOiByZWFkb25seSBHb1Byb3BlcnR5W107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmVudDogUGFja2FnZSwgcHVibGljIHJlYWRvbmx5IHR5cGU6IEludGVyZmFjZVR5cGUpIHtcbiAgICBzdXBlcihwYXJlbnQsIHR5cGUpO1xuXG4gICAgYXNzZXJ0KFxuICAgICAgdHlwZS5pc0RhdGFUeXBlKCksXG4gICAgICBgVGhlIHByb3ZpZGVkIGludGVyZmFjZSAke3R5cGUuZnFufSBpcyBub3QgYSBzdHJ1Y3QhYCxcbiAgICApO1xuXG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gdHlwZS5hbGxQcm9wZXJ0aWVzLm1hcChcbiAgICAgIChwcm9wKSA9PiBuZXcgR29Qcm9wZXJ0eSh0aGlzLCBwcm9wKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXBlbmRlbmNpZXMoKTogUGFja2FnZVtdIHtcbiAgICByZXR1cm4gZ2V0TWVtYmVyRGVwZW5kZW5jaWVzKHRoaXMucHJvcGVydGllcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNwZWNpYWxEZXBlbmRlbmNpZXMoKTogU3BlY2lhbERlcGVuZGVuY2llcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJ1bnRpbWU6IGZhbHNlLFxuICAgICAgaW5pdDogZmFsc2UsXG4gICAgICBpbnRlcm5hbDogZmFsc2UsXG4gICAgICB0aW1lOiB0aGlzLnByb3BlcnRpZXMuc29tZSgocHJvcCkgPT4gcHJvcC5zcGVjaWFsRGVwZW5kZW5jaWVzLnRpbWUpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZW1pdChjb250ZXh0OiBFbWl0Q29udGV4dCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29kZSwgZG9jdW1lbnRlciB9ID0gY29udGV4dDtcbiAgICBkb2N1bWVudGVyLmVtaXQodGhpcy50eXBlLmRvY3MpO1xuICAgIGNvZGUub3BlbkJsb2NrKGB0eXBlICR7dGhpcy5uYW1lfSBzdHJ1Y3RgKTtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHRoaXMucHJvcGVydGllcykge1xuICAgICAgcHJvcGVydHkuZW1pdFN0cnVjdE1lbWJlcihjb250ZXh0KTtcbiAgICB9XG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdFJlZ2lzdHJhdGlvbihjb2RlOiBDb2RlTWFrZXIpOiB2b2lkIHtcbiAgICBjb2RlLm9wZW4oYCR7SlNJSV9SVF9BTElBU30uUmVnaXN0ZXJTdHJ1Y3QoYCk7XG4gICAgY29kZS5saW5lKGBcIiR7dGhpcy5mcW59XCIsYCk7XG4gICAgY29kZS5saW5lKGByZWZsZWN0LlR5cGVPZigoKiR7dGhpcy5uYW1lfSkobmlsKSkuRWxlbSgpLGApO1xuICAgIGNvZGUuY2xvc2UoJyknKTtcbiAgfVxufVxuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlDQUFpQztBQU9qQyx3Q0FBMkM7QUFDM0Msa0NBQWdEO0FBQ2hELHVDQUFtQztBQUNuQywrQ0FBMkM7QUFFM0M7O0dBRUc7QUFDSCxNQUFhLE1BQU8sU0FBUSxnQkFBcUI7SUFHL0MsWUFBbUIsTUFBZSxFQUFFLElBQW1CO1FBQ3JELEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFcEIsTUFBTSxDQUNKLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFDakIsMEJBQTBCLElBQUksQ0FBQyxHQUFHLG1CQUFtQixDQUN0RCxDQUFDO1FBRUYsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDdEMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksd0JBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQ3JDLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sNEJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFXLG1CQUFtQjtRQUM1QixPQUFPO1lBQ0wsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsS0FBSztZQUNYLFFBQVEsRUFBRSxLQUFLO1lBQ2YsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDO1NBQ3BFLENBQUM7SUFDSixDQUFDO0lBRU0sSUFBSSxDQUFDLE9BQW9CO1FBQzlCLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3JDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLENBQUM7UUFDM0MsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3RDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwQztRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsSUFBZTtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsdUJBQWEsa0JBQWtCLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxDQUFDLElBQUksaUJBQWlCLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7Q0FDRjtBQTlDRCx3QkE4Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gJ2NvZGVtYWtlcic7XG5pbXBvcnQgeyBJbnRlcmZhY2VUeXBlIH0gZnJvbSAnanNpaS1yZWZsZWN0JztcblxuaW1wb3J0IHsgU3BlY2lhbERlcGVuZGVuY2llcyB9IGZyb20gJy4uL2RlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBFbWl0Q29udGV4dCB9IGZyb20gJy4uL2VtaXQtY29udGV4dCc7XG5pbXBvcnQgeyBQYWNrYWdlIH0gZnJvbSAnLi4vcGFja2FnZSc7XG5pbXBvcnQgeyBKU0lJX1JUX0FMSUFTIH0gZnJvbSAnLi4vcnVudGltZSc7XG5pbXBvcnQgeyBnZXRNZW1iZXJEZXBlbmRlbmNpZXMgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IEdvVHlwZSB9IGZyb20gJy4vZ28tdHlwZSc7XG5pbXBvcnQgeyBHb1Byb3BlcnR5IH0gZnJvbSAnLi90eXBlLW1lbWJlcic7XG5cbi8qXG4gKiBTdHJ1Y3Qgd3JhcHMgYSBKU0lJIGRhdGF0eXBlIGludGVyZmFjZSBha2EsIHN0cnVjdHNcbiAqL1xuZXhwb3J0IGNsYXNzIFN0cnVjdCBleHRlbmRzIEdvVHlwZTxJbnRlcmZhY2VUeXBlPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcGVydGllczogcmVhZG9ubHkgR29Qcm9wZXJ0eVtdO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJlbnQ6IFBhY2thZ2UsIHR5cGU6IEludGVyZmFjZVR5cGUpIHtcbiAgICBzdXBlcihwYXJlbnQsIHR5cGUpO1xuXG4gICAgYXNzZXJ0KFxuICAgICAgdHlwZS5pc0RhdGFUeXBlKCksXG4gICAgICBgVGhlIHByb3ZpZGVkIGludGVyZmFjZSAke3R5cGUuZnFufSBpcyBub3QgYSBzdHJ1Y3QhYCxcbiAgICApO1xuXG4gICAgdGhpcy5wcm9wZXJ0aWVzID0gdHlwZS5hbGxQcm9wZXJ0aWVzLm1hcChcbiAgICAgIChwcm9wKSA9PiBuZXcgR29Qcm9wZXJ0eSh0aGlzLCBwcm9wKSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBkZXBlbmRlbmNpZXMoKTogUGFja2FnZVtdIHtcbiAgICByZXR1cm4gZ2V0TWVtYmVyRGVwZW5kZW5jaWVzKHRoaXMucHJvcGVydGllcyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNwZWNpYWxEZXBlbmRlbmNpZXMoKTogU3BlY2lhbERlcGVuZGVuY2llcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJ1bnRpbWU6IGZhbHNlLFxuICAgICAgaW5pdDogZmFsc2UsXG4gICAgICBpbnRlcm5hbDogZmFsc2UsXG4gICAgICB0aW1lOiB0aGlzLnByb3BlcnRpZXMuc29tZSgocHJvcCkgPT4gcHJvcC5zcGVjaWFsRGVwZW5kZW5jaWVzLnRpbWUpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZW1pdChjb250ZXh0OiBFbWl0Q29udGV4dCk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29kZSwgZG9jdW1lbnRlciB9ID0gY29udGV4dDtcbiAgICBkb2N1bWVudGVyLmVtaXQodGhpcy50eXBlLmRvY3MpO1xuICAgIGNvZGUub3BlbkJsb2NrKGB0eXBlICR7dGhpcy5uYW1lfSBzdHJ1Y3RgKTtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHRoaXMucHJvcGVydGllcykge1xuICAgICAgcHJvcGVydHkuZW1pdFN0cnVjdE1lbWJlcihjb250ZXh0KTtcbiAgICB9XG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdFJlZ2lzdHJhdGlvbihjb2RlOiBDb2RlTWFrZXIpOiB2b2lkIHtcbiAgICBjb2RlLm9wZW4oYCR7SlNJSV9SVF9BTElBU30uUmVnaXN0ZXJTdHJ1Y3QoYCk7XG4gICAgY29kZS5saW5lKGBcIiR7dGhpcy5mcW59XCIsYCk7XG4gICAgY29kZS5saW5lKGByZWZsZWN0LlR5cGVPZigoKiR7dGhpcy5uYW1lfSkobmlsKSkuRWxlbSgpLGApO1xuICAgIGNvZGUuY2xvc2UoJyknKTtcbiAgfVxufVxuIl19
@@ -13,9 +13,9 @@ export declare class GoProperty implements GoTypeMember {
13
13
  parent: GoType;
14
14
  readonly property: Property;
15
15
  readonly name: string;
16
- readonly reference?: GoTypeRef;
17
16
  readonly immutable: boolean;
18
17
  constructor(parent: GoType, property: Property);
18
+ get reference(): GoTypeRef;
19
19
  get specialDependencies(): SpecialDependencies;
20
20
  get static(): boolean;
21
21
  get returnType(): string;
@@ -32,11 +32,11 @@ export declare abstract class GoMethod implements GoTypeMember {
32
32
  readonly parent: GoClass | GoInterface;
33
33
  readonly method: Callable;
34
34
  readonly name: string;
35
- readonly reference?: GoTypeRef;
36
35
  readonly parameters: GoParameter[];
37
36
  constructor(parent: GoClass | GoInterface, method: Callable);
38
37
  abstract emit(context: EmitContext): void;
39
38
  abstract get specialDependencies(): SpecialDependencies;
39
+ get reference(): GoTypeRef | undefined;
40
40
  get returnsRef(): boolean;
41
41
  get returnType(): string;
42
42
  get instanceArg(): string;
@@ -44,10 +44,11 @@ export declare abstract class GoMethod implements GoTypeMember {
44
44
  paramString(): string;
45
45
  }
46
46
  export declare class GoParameter {
47
- parent: GoClass | GoInterface;
48
- readonly parameter: Parameter;
49
47
  readonly name: string;
50
- readonly reference: GoTypeRef;
48
+ readonly isVariadic: boolean;
49
+ private readonly type;
50
+ private readonly pkg;
51
51
  constructor(parent: GoClass | GoInterface, parameter: Parameter);
52
+ get reference(): GoTypeRef;
52
53
  toString(): string;
53
54
  }
@@ -16,9 +16,9 @@ class GoProperty {
16
16
  this.property = property;
17
17
  this.name = naming_util_1.jsiiToPascalCase(this.property.name);
18
18
  this.immutable = property.immutable;
19
- if (property.type) {
20
- this.reference = new index_1.GoTypeRef(parent.pkg.root, property.type);
21
- }
19
+ }
20
+ get reference() {
21
+ return new index_1.GoTypeRef(this.parent.pkg.root, this.property.type);
22
22
  }
23
23
  get specialDependencies() {
24
24
  var _a;
@@ -48,8 +48,8 @@ class GoProperty {
48
48
  const memberType = ((_b = (_a = this.reference) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.name) === this.parent.name
49
49
  ? `*${this.returnType}`
50
50
  : this.returnType;
51
- // Adds json tags for easy deserialization
52
- code.line(`${this.name} ${memberType} \`json:"${this.property.name}"\``);
51
+ // Adds json and yaml tags for easy deserialization
52
+ code.line(`${this.name} ${memberType} \`json:"${this.property.name}" yaml:"${this.property.name}"\``);
53
53
  // TODO add newline if not the last member
54
54
  }
55
55
  emitGetterDecl(context) {
@@ -98,11 +98,14 @@ class GoMethod {
98
98
  this.parent = parent;
99
99
  this.method = method;
100
100
  this.name = naming_util_1.jsiiToPascalCase(method.name);
101
- if (jsii_reflect_1.Method.isMethod(method) && method.returns.type) {
102
- this.reference = new index_1.GoTypeRef(parent.pkg.root, method.returns.type);
103
- }
104
101
  this.parameters = this.method.parameters.map((param) => new GoParameter(parent, param));
105
102
  }
103
+ get reference() {
104
+ if (jsii_reflect_1.Method.isMethod(this.method) && this.method.returns.type) {
105
+ return new index_1.GoTypeRef(this.parent.pkg.root, this.method.returns.type);
106
+ }
107
+ return undefined;
108
+ }
106
109
  get returnsRef() {
107
110
  var _a, _b, _c, _d;
108
111
  if (((_b = (_a = this.reference) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.type.isClassType()) || ((_d = (_c = this.reference) === null || _c === void 0 ? void 0 : _c.type) === null || _d === void 0 ? void 0 : _d.type.isInterfaceType())) {
@@ -129,15 +132,18 @@ class GoMethod {
129
132
  exports.GoMethod = GoMethod;
130
133
  class GoParameter {
131
134
  constructor(parent, parameter) {
132
- this.parent = parent;
133
- this.parameter = parameter;
134
135
  this.name = util_1.substituteReservedWords(parameter.name);
135
- this.reference = new index_1.GoTypeRef(parent.pkg.root, parameter.type);
136
+ this.isVariadic = parameter.variadic;
137
+ this.type = parameter.type;
138
+ this.pkg = parent.pkg;
139
+ }
140
+ get reference() {
141
+ return new index_1.GoTypeRef(this.pkg.root, this.type);
136
142
  }
137
143
  toString() {
138
- const paramType = this.reference.scopedReference(this.parent.pkg);
139
- return `${this.name} ${this.parameter.variadic ? '...' : ''}${paramType}`;
144
+ const paramType = this.reference.scopedReference(this.pkg);
145
+ return `${this.name} ${this.isVariadic ? '...' : ''}${paramType}`;
140
146
  }
141
147
  }
142
148
  exports.GoParameter = GoParameter;
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1tZW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlLW1lbWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBcUU7QUFFckUsc0RBQXdEO0FBR3hELHdDQUFxRTtBQUNyRSxrQ0FBa0Q7QUFFbEQsbUNBQWtFO0FBY2xFOzs7RUFHRTtBQUNGLE1BQWEsVUFBVTtJQUtyQixZQUNTLE1BQWMsRUFDTCxRQUFrQjtRQUQzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0wsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVsQyxJQUFJLENBQUMsSUFBSSxHQUFHLDhCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBRXBDLElBQUksUUFBUSxDQUFDLElBQUksRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksaUJBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEU7SUFDSCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7O1FBQzVCLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNqQixRQUFRLEVBQUUsS0FBSztZQUNmLElBQUksRUFBRSxDQUFDLFFBQUMsSUFBSSxDQUFDLFNBQVMsMENBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFBO1NBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsVUFBVTs7UUFDbkIsT0FBTyxhQUNMLElBQUksQ0FBQyxTQUFTLDBDQUFFLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsb0NBQy9D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QUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7Q0FDRjtBQXBERCw0QkFvREM7QUFFRCxNQUFhLFdBQVc7SUFJdEIsWUFDUyxNQUE2QixFQUNwQixTQUFvQjtRQUQ3QixXQUFNLEdBQU4sTUFBTSxDQUF1QjtRQUNwQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBRXBDLElBQUksQ0FBQyxJQUFJLEdBQUcsOEJBQXVCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxpQkFBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEUsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFDO0lBQzVFLENBQUM7Q0FDRjtBQWhCRCxrQ0FnQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxsYWJsZSwgTWV0aG9kLCBQYXJhbWV0ZXIsIFByb3BlcnR5IH0gZnJvbSAnanNpaS1yZWZsZWN0JztcblxuaW1wb3J0IHsganNpaVRvUGFzY2FsQ2FzZSB9IGZyb20gJy4uLy4uLy4uL25hbWluZy11dGlsJztcbmltcG9ydCB7IFNwZWNpYWxEZXBlbmRlbmNpZXMgfSBmcm9tICcuLi9kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgRW1pdENvbnRleHQgfSBmcm9tICcuLi9lbWl0LWNvbnRleHQnO1xuaW1wb3J0IHsgR2V0UHJvcGVydHksIEpTSUlfUlRfQUxJQVMsIFNldFByb3BlcnR5IH0gZnJvbSAnLi4vcnVudGltZSc7XG5pbXBvcnQgeyBzdWJzdGl0dXRlUmVzZXJ2ZWRXb3JkcyB9IGZyb20gJy4uL3V0aWwnO1xuXG5pbXBvcnQgeyBHb0NsYXNzLCBHb1R5cGUsIEdvSW50ZXJmYWNlLCBHb1R5cGVSZWYgfSBmcm9tICcuL2luZGV4JztcblxuLypcbiAqIFN0cnVjdHVyZSBmb3IgQ2xhc3MgYW5kIEludGVyZmFjZSBtZXRob2RzLiBVc2VmdWwgZm9yIHNoYXJpbmcgbG9naWMgZm9yIGRlcGVuZGVuY3kgcmVzb2x1dGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdvVHlwZU1lbWJlciB7XG4gIG5hbWU6IHN0cmluZztcbiAgcGFyZW50OiBHb1R5cGU7XG4gIHJlZmVyZW5jZT86IEdvVHlwZVJlZjtcbiAgcmV0dXJuVHlwZTogc3RyaW5nO1xuXG4gIHNwZWNpYWxEZXBlbmRlbmNpZXM6IFNwZWNpYWxEZXBlbmRlbmNpZXM7XG59XG5cbi8qXG4gKiBHb1Byb3BlcnR5IGVuY2Fwc3VsYXRlcyBsb2dpYyBmb3IgcHVibGljIHByb3BlcnRpZXMgb24gYSBjb25jcmV0ZSBzdHJ1Y3QsIHdoaWNoIGNvdWxkIHJlcHJlc2VudFxuIGVpdGhlciBhIEpTSUkgY2xhc3MgcHJveHkgb3IgZGF0YXR5cGUgaW50ZXJmYWNlIHByb3h5XG4qL1xuZXhwb3J0IGNsYXNzIEdvUHJvcGVydHkgaW1wbGVtZW50cyBHb1R5cGVNZW1iZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcmVmZXJlbmNlPzogR29UeXBlUmVmO1xuICBwdWJsaWMgcmVhZG9ubHkgaW1tdXRhYmxlOiBib29sZWFuO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGFyZW50OiBHb1R5cGUsXG4gICAgcHVibGljIHJlYWRvbmx5IHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgKSB7XG4gICAgdGhpcy5uYW1lID0ganNpaVRvUGFzY2FsQ2FzZSh0aGlzLnByb3BlcnR5Lm5hbWUpO1xuICAgIHRoaXMuaW1tdXRhYmxlID0gcHJvcGVydHkuaW1tdXRhYmxlO1xuXG4gICAgaWYgKHByb3BlcnR5LnR5cGUpIHtcbiAgICAgIHRoaXMucmVmZXJlbmNlID0gbmV3IEdvVHlwZVJlZihwYXJlbnQucGtnLnJvb3QsIHByb3BlcnR5LnR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3BlY2lhbERlcGVuZGVuY2llcygpOiBTcGVjaWFsRGVwZW5kZW5jaWVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgcnVudGltZTogdHJ1ZSxcbiAgICAgIGluaXQ6IHRoaXMuc3RhdGljLFxuICAgICAgaW50ZXJuYWw6IGZhbHNlLFxuICAgICAgdGltZTogISF0aGlzLnJlZmVyZW5jZT8uc3BlY2lhbERlcGVuZGVuY2llcy50aW1lLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRpYygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5LnN0YXRpYztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmV0dXJuVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnJlZmVyZW5jZT8uc2NvcGVkUmVmZXJlbmNlKHRoaXMucGFyZW50LnBrZykgPz9cbiAgICAgIHRoaXMucHJvcGVydHkudHlwZS50b1N0cmluZygpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW5zdGFuY2VBcmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQucHJveHlOYW1lLnN1YnN0cmluZygwLCAxKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBvdmVycmlkZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtKU0lJX1JUX0FMSUFTfS5NZW1iZXJQcm9wZXJ0eXtKc2lpUHJvcGVydHk6IFwiJHt0aGlzLnByb3BlcnR5Lm5hbWV9XCIsIEdvR2V0dGVyOiBcIiR7dGhpcy5uYW1lfVwifWA7XG4gIH1cblxuICBwdWJsaWMgZW1pdFN0cnVjdE1lbWJlcih7IGNvZGUsIGRvY3VtZW50ZXIgfTogRW1pdENvbnRleHQpIHtcbiAgICBkb2N1bWVudGVyLmVtaXQodGhpcy5wcm9wZXJ0eS5kb2NzKTtcbiAgICBjb25zdCBtZW1iZXJUeXBlID1cbiAgICAgIHRoaXMucmVmZXJlbmNlPy50eXBlPy5uYW1lID09PSB0aGlzLnBhcmVudC5uYW1lXG4gICAgICAgID8gYCoke3RoaXMucmV0dXJuVHlwZX1gXG4gICAgICAgIDogdGhpcy5yZXR1cm5UeXBlO1xuXG4gICAgLy8gQWRkcyBqc29uIHRhZ3MgZm9yIGVhc3kgZGVzZXJpYWxpemF0aW9uXG4gICAgY29kZS5saW5lKGAke3RoaXMubmFtZX0gJHttZW1iZXJUeXBlfSBcXGBqc29uOlwiJHt0aGlzLnByb3BlcnR5Lm5hbWV9XCJcXGBgKTtcbiAgICAvLyBUT0RPIGFkZCBuZXdsaW5lIGlmIG5vdCB0aGUgbGFzdCBtZW1iZXJcbiAgfVxuXG4gIHB1YmxpYyBlbWl0R2V0dGVyRGVjbChjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGNvbnN0IHsgY29kZSB9ID0gY29udGV4dDtcbiAgICBjb2RlLmxpbmUoYCR7dGhpcy5uYW1lfSgpICR7dGhpcy5yZXR1cm5UeXBlfWApO1xuICB9XG5cbiAgcHVibGljIGVtaXRHZXR0ZXIoeyBjb2RlLCBkb2N1bWVudGVyIH06IEVtaXRDb250ZXh0KTogdm9pZCB7XG4gICAgY29uc3QgcmVjZWl2ZXIgPSB0aGlzLnBhcmVudC5uYW1lO1xuICAgIGNvbnN0IGluc3RhbmNlQXJnID0gcmVjZWl2ZXIuc3Vic3RyaW5nKDAsIDEpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBkb2N1bWVudGVyLmVtaXQodGhpcy5wcm9wZXJ0eS5kb2NzKTtcbiAgICBjb2RlLm9wZW5CbG9jayhcbiAgICAgIGBmdW5jICgke2luc3RhbmNlQXJnfSAqJHtyZWNlaXZlcn0pIEdldCR7dGhpcy5uYW1lfSgpICR7dGhpcy5yZXR1cm5UeXBlfWAsXG4gICAgKTtcbiAgICBjb2RlLmxpbmUoYHJldHVybiAke2luc3RhbmNlQXJnfS4ke3RoaXMubmFtZX1gKTtcbiAgICBjb2RlLmNsb3NlQmxvY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0U2V0dGVyRGVjbChjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGNvbnN0IHsgY29kZSB9ID0gY29udGV4dDtcbiAgICBpZiAoIXRoaXMuaW1tdXRhYmxlKSB7XG4gICAgICBjb2RlLmxpbmUoYFNldCR7dGhpcy5uYW1lfSh2YWwgJHt0aGlzLnJldHVyblR5cGV9KWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVtaXRzIGdldHRlciBtZXRob2RzIG9uIHRoZSBzdHJ1Y3QgZm9yIGVhY2ggcHJvcGVydHlcbiAgcHVibGljIGVtaXRHZXR0ZXJQcm94eShjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGNvbnN0IHsgY29kZSB9ID0gY29udGV4dDtcbiAgICBjb25zdCByZWNlaXZlciA9IHRoaXMucGFyZW50LnByb3h5TmFtZTtcbiAgICBjb25zdCBpbnN0YW5jZUFyZyA9IHJlY2VpdmVyLnN1YnN0cmluZygwLCAxKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgY29kZS5vcGVuQmxvY2soXG4gICAgICBgZnVuYyAoJHtpbnN0YW5jZUFyZ30gKiR7cmVjZWl2ZXJ9KSAke3RoaXMubmFtZX0oKSAke3RoaXMucmV0dXJuVHlwZX1gLFxuICAgICk7XG5cbiAgICBuZXcgR2V0UHJvcGVydHkodGhpcykuZW1pdChjb2RlKTtcblxuICAgIGNvZGUuY2xvc2VCbG9jaygpO1xuICAgIGNvZGUubGluZSgpO1xuICB9XG5cbiAgcHVibGljIGVtaXRTZXR0ZXJQcm94eShjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGlmICghdGhpcy5pbW11dGFibGUpIHtcbiAgICAgIGNvbnN0IHsgY29kZSB9ID0gY29udGV4dDtcbiAgICAgIGNvbnN0IHJlY2VpdmVyID0gdGhpcy5wYXJlbnQucHJveHlOYW1lO1xuICAgICAgY29uc3QgaW5zdGFuY2VBcmcgPSByZWNlaXZlci5zdWJzdHJpbmcoMCwgMSkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgY29kZS5vcGVuQmxvY2soXG4gICAgICAgIGBmdW5jICgke2luc3RhbmNlQXJnfSAqJHtyZWNlaXZlcn0pIFNldCR7dGhpcy5uYW1lfSh2YWwgJHt0aGlzLnJldHVyblR5cGV9KWAsXG4gICAgICApO1xuXG4gICAgICBuZXcgU2V0UHJvcGVydHkodGhpcykuZW1pdChjb2RlKTtcblxuICAgICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgICBjb2RlLmxpbmUoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdvTWV0aG9kIGltcGxlbWVudHMgR29UeXBlTWVtYmVyIHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHJlZmVyZW5jZT86IEdvVHlwZVJlZjtcbiAgcHVibGljIHJlYWRvbmx5IHBhcmFtZXRlcnM6IEdvUGFyYW1ldGVyW107XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSBwYXJlbnQ6IEdvQ2xhc3MgfCBHb0ludGVyZmFjZSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWV0aG9kOiBDYWxsYWJsZSxcbiAgKSB7XG4gICAgdGhpcy5uYW1lID0ganNpaVRvUGFzY2FsQ2FzZShtZXRob2QubmFtZSk7XG4gICAgaWYgKE1ldGhvZC5pc01ldGhvZChtZXRob2QpICYmIG1ldGhvZC5yZXR1cm5zLnR5cGUpIHtcbiAgICAgIHRoaXMucmVmZXJlbmNlID0gbmV3IEdvVHlwZVJlZihwYXJlbnQucGtnLnJvb3QsIG1ldGhvZC5yZXR1cm5zLnR5cGUpO1xuICAgIH1cbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLm1ldGhvZC5wYXJhbWV0ZXJzLm1hcChcbiAgICAgIChwYXJhbSkgPT4gbmV3IEdvUGFyYW1ldGVyKHBhcmVudCwgcGFyYW0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgZW1pdChjb250ZXh0OiBFbWl0Q29udGV4dCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGdldCBzcGVjaWFsRGVwZW5kZW5jaWVzKCk6IFNwZWNpYWxEZXBlbmRlbmNpZXM7XG5cbiAgcHVibGljIGdldCByZXR1cm5zUmVmKCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMucmVmZXJlbmNlPy50eXBlPy50eXBlLmlzQ2xhc3NUeXBlKCkgfHxcbiAgICAgIHRoaXMucmVmZXJlbmNlPy50eXBlPy50eXBlLmlzSW50ZXJmYWNlVHlwZSgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJldHVyblR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5yZWZlcmVuY2U/LnNjb3BlZFJlZmVyZW5jZSh0aGlzLnBhcmVudC5wa2cpID8/IHRoaXMubWV0aG9kLnRvU3RyaW5nKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnN0YW5jZUFyZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5uYW1lLnN1YnN0cmluZygwLCAxKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBvdmVycmlkZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtKU0lJX1JUX0FMSUFTfS5NZW1iZXJNZXRob2R7SnNpaU1ldGhvZDogXCIke3RoaXMubWV0aG9kLm5hbWV9XCIsIEdvTWV0aG9kOiBcIiR7dGhpcy5uYW1lfVwifWA7XG4gIH1cblxuICBwdWJsaWMgcGFyYW1TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCA9PT0gMFxuICAgICAgPyAnJ1xuICAgICAgOiB0aGlzLnBhcmFtZXRlcnMubWFwKChwKSA9PiBwLnRvU3RyaW5nKCkpLmpvaW4oJywgJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdvUGFyYW1ldGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHJlZmVyZW5jZTogR29UeXBlUmVmO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcGFyZW50OiBHb0NsYXNzIHwgR29JbnRlcmZhY2UsXG4gICAgcHVibGljIHJlYWRvbmx5IHBhcmFtZXRlcjogUGFyYW1ldGVyLFxuICApIHtcbiAgICB0aGlzLm5hbWUgPSBzdWJzdGl0dXRlUmVzZXJ2ZWRXb3JkcyhwYXJhbWV0ZXIubmFtZSk7XG4gICAgdGhpcy5yZWZlcmVuY2UgPSBuZXcgR29UeXBlUmVmKHBhcmVudC5wa2cucm9vdCwgcGFyYW1ldGVyLnR5cGUpO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyYW1UeXBlID0gdGhpcy5yZWZlcmVuY2Uuc2NvcGVkUmVmZXJlbmNlKHRoaXMucGFyZW50LnBrZyk7XG4gICAgcmV0dXJuIGAke3RoaXMubmFtZX0gJHt0aGlzLnBhcmFtZXRlci52YXJpYWRpYyA/ICcuLi4nIDogJyd9JHtwYXJhbVR5cGV9YDtcbiAgfVxufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1tZW1iZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlLW1lbWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FNc0I7QUFFdEIsc0RBQXdEO0FBSXhELHdDQUFxRTtBQUNyRSxrQ0FBa0Q7QUFFbEQsbUNBQWtFO0FBY2xFOzs7RUFHRTtBQUNGLE1BQWEsVUFBVTtJQUlyQixZQUNTLE1BQWMsRUFDTCxRQUFrQjtRQUQzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ0wsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUVsQyxJQUFJLENBQUMsSUFBSSxHQUFHLDhCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLGlCQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELElBQVcsbUJBQW1COztRQUM1QixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDakIsUUFBUSxFQUFFLEtBQUs7WUFDZixJQUFJLEVBQUUsQ0FBQyxRQUFDLElBQUksQ0FBQyxTQUFTLDBDQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQTtTQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLFVBQVU7O1FBQ25CLE9BQU8sYUFDTCxJQUFJLENBQUMsU0FBUywwQ0FBRSxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLG9DQUMvQyxJQUFJ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RU0sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDakMsQ0FBQyxDQUFDLEVBQUU7WUFDSixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUF2REQsNEJBdURDO0FBRUQsTUFBYSxXQUFXO0lBTXRCLFlBQW1CLE1BQTZCLEVBQUUsU0FBb0I7UUFDcEUsSUFBSSxDQUFDLElBQUksR0FBRyw4QkFBdUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQztRQUMzQixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksaUJBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0QsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDcEUsQ0FBQztDQUNGO0FBckJELGtDQXFCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENhbGxhYmxlLFxuICBNZXRob2QsXG4gIFBhcmFtZXRlcixcbiAgUHJvcGVydHksXG4gIFR5cGVSZWZlcmVuY2UsXG59IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5cbmltcG9ydCB7IGpzaWlUb1Bhc2NhbENhc2UgfSBmcm9tICcuLi8uLi8uLi9uYW1pbmctdXRpbCc7XG5pbXBvcnQgeyBTcGVjaWFsRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi4vZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7IEVtaXRDb250ZXh0IH0gZnJvbSAnLi4vZW1pdC1jb250ZXh0JztcbmltcG9ydCB7IFBhY2thZ2UgfSBmcm9tICcuLi9wYWNrYWdlJztcbmltcG9ydCB7IEdldFByb3BlcnR5LCBKU0lJX1JUX0FMSUFTLCBTZXRQcm9wZXJ0eSB9IGZyb20gJy4uL3J1bnRpbWUnO1xuaW1wb3J0IHsgc3Vic3RpdHV0ZVJlc2VydmVkV29yZHMgfSBmcm9tICcuLi91dGlsJztcblxuaW1wb3J0IHsgR29DbGFzcywgR29UeXBlLCBHb0ludGVyZmFjZSwgR29UeXBlUmVmIH0gZnJvbSAnLi9pbmRleCc7XG5cbi8qXG4gKiBTdHJ1Y3R1cmUgZm9yIENsYXNzIGFuZCBJbnRlcmZhY2UgbWV0aG9kcy4gVXNlZnVsIGZvciBzaGFyaW5nIGxvZ2ljIGZvciBkZXBlbmRlbmN5IHJlc29sdXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHb1R5cGVNZW1iZXIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHBhcmVudDogR29UeXBlO1xuICByZWZlcmVuY2U/OiBHb1R5cGVSZWY7XG4gIHJldHVyblR5cGU6IHN0cmluZztcblxuICBzcGVjaWFsRGVwZW5kZW5jaWVzOiBTcGVjaWFsRGVwZW5kZW5jaWVzO1xufVxuXG4vKlxuICogR29Qcm9wZXJ0eSBlbmNhcHN1bGF0ZXMgbG9naWMgZm9yIHB1YmxpYyBwcm9wZXJ0aWVzIG9uIGEgY29uY3JldGUgc3RydWN0LCB3aGljaCBjb3VsZCByZXByZXNlbnRcbiBlaXRoZXIgYSBKU0lJIGNsYXNzIHByb3h5IG9yIGRhdGF0eXBlIGludGVyZmFjZSBwcm94eVxuKi9cbmV4cG9ydCBjbGFzcyBHb1Byb3BlcnR5IGltcGxlbWVudHMgR29UeXBlTWVtYmVyIHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGltbXV0YWJsZTogYm9vbGVhbjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBhcmVudDogR29UeXBlLFxuICAgIHB1YmxpYyByZWFkb25seSBwcm9wZXJ0eTogUHJvcGVydHksXG4gICkge1xuICAgIHRoaXMubmFtZSA9IGpzaWlUb1Bhc2NhbENhc2UodGhpcy5wcm9wZXJ0eS5uYW1lKTtcbiAgICB0aGlzLmltbXV0YWJsZSA9IHByb3BlcnR5LmltbXV0YWJsZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVmZXJlbmNlKCk6IEdvVHlwZVJlZiB7XG4gICAgcmV0dXJuIG5ldyBHb1R5cGVSZWYodGhpcy5wYXJlbnQucGtnLnJvb3QsIHRoaXMucHJvcGVydHkudHlwZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNwZWNpYWxEZXBlbmRlbmNpZXMoKTogU3BlY2lhbERlcGVuZGVuY2llcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJ1bnRpbWU6IHRydWUsXG4gICAgICBpbml0OiB0aGlzLnN0YXRpYyxcbiAgICAgIGludGVybmFsOiBmYWxzZSxcbiAgICAgIHRpbWU6ICEhdGhpcy5yZWZlcmVuY2U/LnNwZWNpYWxEZXBlbmRlbmNpZXMudGltZSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0aWMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5wcm9wZXJ0eS5zdGF0aWM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJldHVyblR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5yZWZlcmVuY2U/LnNjb3BlZFJlZmVyZW5jZSh0aGlzLnBhcmVudC5wa2cpID8/XG4gICAgICB0aGlzLnByb3BlcnR5LnR5cGUudG9TdHJpbmcoKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGluc3RhbmNlQXJnKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LnByb3h5TmFtZS5zdWJzdHJpbmcoMCwgMSkudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3ZlcnJpZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7SlNJSV9SVF9BTElBU30uTWVtYmVyUHJvcGVydHl7SnNpaVByb3BlcnR5OiBcIiR7dGhpcy5wcm9wZXJ0eS5uYW1lfVwiLCBHb0dldHRlcjogXCIke3RoaXMubmFtZX1cIn1gO1xuICB9XG5cbiAgcHVibGljIGVtaXRTdHJ1Y3RNZW1iZXIoeyBjb2RlLCBkb2N1bWVudGVyIH06IEVtaXRDb250ZXh0KSB7XG4gICAgZG9jdW1lbnRlci5lbWl0KHRoaXMucHJvcGVydHkuZG9jcyk7XG4gICAgY29uc3QgbWVtYmVyVHlwZSA9XG4gICAgICB0aGlzLnJlZmVyZW5jZT8udHlwZT8ubmFtZSA9PT0gdGhpcy5wYXJlbnQubmFtZVxuICAgICAgICA/IGAqJHt0aGlzLnJldHVyblR5cGV9YFxuICAgICAgICA6IHRoaXMucmV0dXJuVHlwZTtcblxuICAgIC8vIEFkZHMganNvbiBhbmQgeWFtbCB0YWdzIGZvciBlYXN5IGRlc2VyaWFsaXphdGlvblxuICAgIGNvZGUubGluZShcbiAgICAgIGAke3RoaXMubmFtZX0gJHttZW1iZXJUeXBlfSBcXGBqc29uOlwiJHt0aGlzLnByb3BlcnR5Lm5hbWV9XCIgeWFtbDpcIiR7dGhpcy5wcm9wZXJ0eS5uYW1lfVwiXFxgYCxcbiAgICApO1xuICAgIC8vIFRPRE8gYWRkIG5ld2xpbmUgaWYgbm90IHRoZSBsYXN0IG1lbWJlclxuICB9XG5cbiAgcHVibGljIGVtaXRHZXR0ZXJEZWNsKGNvbnRleHQ6IEVtaXRDb250ZXh0KSB7XG4gICAgY29uc3QgeyBjb2RlIH0gPSBjb250ZXh0O1xuICAgIGNvZGUubGluZShgJHt0aGlzLm5hbWV9KCkgJHt0aGlzLnJldHVyblR5cGV9YCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdEdldHRlcih7IGNvZGUsIGRvY3VtZW50ZXIgfTogRW1pdENvbnRleHQpOiB2b2lkIHtcbiAgICBjb25zdCByZWNlaXZlciA9IHRoaXMucGFyZW50Lm5hbWU7XG4gICAgY29uc3QgaW5zdGFuY2VBcmcgPSByZWNlaXZlci5zdWJzdHJpbmcoMCwgMSkudG9Mb3dlckNhc2UoKTtcblxuICAgIGRvY3VtZW50ZXIuZW1pdCh0aGlzLnByb3BlcnR5LmRvY3MpO1xuICAgIGNvZGUub3BlbkJsb2NrKFxuICAgICAgYGZ1bmMgKCR7aW5zdGFuY2VBcmd9ICoke3JlY2VpdmVyfSkgR2V0JHt0aGlzLm5hbWV9KCkgJHt0aGlzLnJldHVyblR5cGV9YCxcbiAgICApO1xuICAgIGNvZGUubGluZShgcmV0dXJuICR7aW5zdGFuY2VBcmd9LiR7dGhpcy5uYW1lfWApO1xuICAgIGNvZGUuY2xvc2VCbG9jaygpO1xuICB9XG5cbiAgcHVibGljIGVtaXRTZXR0ZXJEZWNsKGNvbnRleHQ6IEVtaXRDb250ZXh0KSB7XG4gICAgY29uc3QgeyBjb2RlIH0gPSBjb250ZXh0O1xuICAgIGlmICghdGhpcy5pbW11dGFibGUpIHtcbiAgICAgIGNvZGUubGluZShgU2V0JHt0aGlzLm5hbWV9KHZhbCAke3RoaXMucmV0dXJuVHlwZX0pYCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1pdHMgZ2V0dGVyIG1ldGhvZHMgb24gdGhlIHN0cnVjdCBmb3IgZWFjaCBwcm9wZXJ0eVxuICBwdWJsaWMgZW1pdEdldHRlclByb3h5KGNvbnRleHQ6IEVtaXRDb250ZXh0KSB7XG4gICAgY29uc3QgeyBjb2RlIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHJlY2VpdmVyID0gdGhpcy5wYXJlbnQucHJveHlOYW1lO1xuICAgIGNvbnN0IGluc3RhbmNlQXJnID0gcmVjZWl2ZXIuc3Vic3RyaW5nKDAsIDEpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBjb2RlLm9wZW5CbG9jayhcbiAgICAgIGBmdW5jICgke2luc3RhbmNlQXJnfSAqJHtyZWNlaXZlcn0pICR7dGhpcy5uYW1lfSgpICR7dGhpcy5yZXR1cm5UeXBlfWAsXG4gICAgKTtcblxuICAgIG5ldyBHZXRQcm9wZXJ0eSh0aGlzKS5lbWl0KGNvZGUpO1xuXG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwdWJsaWMgZW1pdFNldHRlclByb3h5KGNvbnRleHQ6IEVtaXRDb250ZXh0KSB7XG4gICAgaWYgKCF0aGlzLmltbXV0YWJsZSkge1xuICAgICAgY29uc3QgeyBjb2RlIH0gPSBjb250ZXh0O1xuICAgICAgY29uc3QgcmVjZWl2ZXIgPSB0aGlzLnBhcmVudC5wcm94eU5hbWU7XG4gICAgICBjb25zdCBpbnN0YW5jZUFyZyA9IHJlY2VpdmVyLnN1YnN0cmluZygwLCAxKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBjb2RlLm9wZW5CbG9jayhcbiAgICAgICAgYGZ1bmMgKCR7aW5zdGFuY2VBcmd9ICoke3JlY2VpdmVyfSkgU2V0JHt0aGlzLm5hbWV9KHZhbCAke3RoaXMucmV0dXJuVHlwZX0pYCxcbiAgICAgICk7XG5cbiAgICAgIG5ldyBTZXRQcm9wZXJ0eSh0aGlzKS5lbWl0KGNvZGUpO1xuXG4gICAgICBjb2RlLmNsb3NlQmxvY2soKTtcbiAgICAgIGNvZGUubGluZSgpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR29NZXRob2QgaW1wbGVtZW50cyBHb1R5cGVNZW1iZXIge1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgcGFyYW1ldGVyczogR29QYXJhbWV0ZXJbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBhcmVudDogR29DbGFzcyB8IEdvSW50ZXJmYWNlLFxuICAgIHB1YmxpYyByZWFkb25seSBtZXRob2Q6IENhbGxhYmxlLFxuICApIHtcbiAgICB0aGlzLm5hbWUgPSBqc2lpVG9QYXNjYWxDYXNlKG1ldGhvZC5uYW1lKTtcbiAgICB0aGlzLnBhcmFtZXRlcnMgPSB0aGlzLm1ldGhvZC5wYXJhbWV0ZXJzLm1hcChcbiAgICAgIChwYXJhbSkgPT4gbmV3IEdvUGFyYW1ldGVyKHBhcmVudCwgcGFyYW0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYWJzdHJhY3QgZW1pdChjb250ZXh0OiBFbWl0Q29udGV4dCk6IHZvaWQ7XG5cbiAgcHVibGljIGFic3RyYWN0IGdldCBzcGVjaWFsRGVwZW5kZW5jaWVzKCk6IFNwZWNpYWxEZXBlbmRlbmNpZXM7XG5cbiAgcHVibGljIGdldCByZWZlcmVuY2UoKTogR29UeXBlUmVmIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoTWV0aG9kLmlzTWV0aG9kKHRoaXMubWV0aG9kKSAmJiB0aGlzLm1ldGhvZC5yZXR1cm5zLnR5cGUpIHtcbiAgICAgIHJldHVybiBuZXcgR29UeXBlUmVmKHRoaXMucGFyZW50LnBrZy5yb290LCB0aGlzLm1ldGhvZC5yZXR1cm5zLnR5cGUpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHVibGljIGdldCByZXR1cm5zUmVmKCk6IGJvb2xlYW4ge1xuICAgIGlmIChcbiAgICAgIHRoaXMucmVmZXJlbmNlPy50eXBlPy50eXBlLmlzQ2xhc3NUeXBlKCkgfHxcbiAgICAgIHRoaXMucmVmZXJlbmNlPy50eXBlPy50eXBlLmlzSW50ZXJmYWNlVHlwZSgpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJldHVyblR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5yZWZlcmVuY2U/LnNjb3BlZFJlZmVyZW5jZSh0aGlzLnBhcmVudC5wa2cpID8/IHRoaXMubWV0aG9kLnRvU3RyaW5nKClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBpbnN0YW5jZUFyZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhcmVudC5uYW1lLnN1YnN0cmluZygwLCAxKS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBvdmVycmlkZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtKU0lJX1JUX0FMSUFTfS5NZW1iZXJNZXRob2R7SnNpaU1ldGhvZDogXCIke3RoaXMubWV0aG9kLm5hbWV9XCIsIEdvTWV0aG9kOiBcIiR7dGhpcy5uYW1lfVwifWA7XG4gIH1cblxuICBwdWJsaWMgcGFyYW1TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbWV0ZXJzLmxlbmd0aCA9PT0gMFxuICAgICAgPyAnJ1xuICAgICAgOiB0aGlzLnBhcmFtZXRlcnMubWFwKChwKSA9PiBwLnRvU3RyaW5nKCkpLmpvaW4oJywgJyk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdvUGFyYW1ldGVyIHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGlzVmFyaWFkaWM6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgdHlwZTogVHlwZVJlZmVyZW5jZTtcbiAgcHJpdmF0ZSByZWFkb25seSBwa2c6IFBhY2thZ2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmVudDogR29DbGFzcyB8IEdvSW50ZXJmYWNlLCBwYXJhbWV0ZXI6IFBhcmFtZXRlcikge1xuICAgIHRoaXMubmFtZSA9IHN1YnN0aXR1dGVSZXNlcnZlZFdvcmRzKHBhcmFtZXRlci5uYW1lKTtcbiAgICB0aGlzLmlzVmFyaWFkaWMgPSBwYXJhbWV0ZXIudmFyaWFkaWM7XG4gICAgdGhpcy50eXBlID0gcGFyYW1ldGVyLnR5cGU7XG4gICAgdGhpcy5wa2cgPSBwYXJlbnQucGtnO1xuICB9XG5cbiAgcHVibGljIGdldCByZWZlcmVuY2UoKTogR29UeXBlUmVmIHtcbiAgICByZXR1cm4gbmV3IEdvVHlwZVJlZih0aGlzLnBrZy5yb290LCB0aGlzLnR5cGUpO1xuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyYW1UeXBlID0gdGhpcy5yZWZlcmVuY2Uuc2NvcGVkUmVmZXJlbmNlKHRoaXMucGtnKTtcbiAgICByZXR1cm4gYCR7dGhpcy5uYW1lfSAke3RoaXMuaXNWYXJpYWRpYyA/ICcuLi4nIDogJyd9JHtwYXJhbVR5cGV9YDtcbiAgfVxufVxuIl19
@@ -198,7 +198,6 @@ declare class JavaGenerator extends Generator {
198
198
  private emitGeneratedAnnotation;
199
199
  private convertExample;
200
200
  private convertSamplesInMarkdown;
201
- private prefixDisclaimer;
202
201
  /**
203
202
  * Fins the Java FQN of the default implementation interfaces that should be implemented when a new
204
203
  * default interface or proxy class is being emitted.