@vendasta/ai-assistants 0.20.0 → 1.0.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.
@@ -1,4 +1,5 @@
1
1
  import { Goal } from './goal';
2
+ import { KeyValuePair } from './common';
2
3
  import { Namespace } from './namespace';
3
4
  import * as e from '../enums';
4
5
  export function enumStringToValue(enumRef, value) {
@@ -83,29 +84,6 @@ export class AssistantKey {
83
84
  return toReturn;
84
85
  }
85
86
  }
86
- export class BookingConfig {
87
- static fromProto(proto) {
88
- let m = new BookingConfig();
89
- m = Object.assign(m, proto);
90
- return m;
91
- }
92
- constructor(kwargs) {
93
- if (!kwargs) {
94
- return;
95
- }
96
- Object.assign(this, kwargs);
97
- }
98
- toApiJson() {
99
- const toReturn = {};
100
- if (typeof this.calendarId !== 'undefined') {
101
- toReturn['calendarId'] = this.calendarId;
102
- }
103
- if (typeof this.meetingTypeId !== 'undefined') {
104
- toReturn['meetingTypeId'] = this.meetingTypeId;
105
- }
106
- return toReturn;
107
- }
108
- }
109
87
  export class Config {
110
88
  static fromProto(proto) {
111
89
  let m = new Config();
@@ -142,6 +120,9 @@ export class ConfigurableGoal {
142
120
  if (proto.goal) {
143
121
  m.goal = Goal.fromProto(proto.goal);
144
122
  }
123
+ if (proto.configuration) {
124
+ m.configuration = proto.configuration.map(KeyValuePair.fromProto);
125
+ }
145
126
  return m;
146
127
  }
147
128
  constructor(kwargs) {
@@ -155,6 +136,9 @@ export class ConfigurableGoal {
155
136
  if (typeof this.goal !== 'undefined' && this.goal !== null) {
156
137
  toReturn['goal'] = 'toApiJson' in this.goal ? this.goal.toApiJson() : this.goal;
157
138
  }
139
+ if (typeof this.configuration !== 'undefined' && this.configuration !== null) {
140
+ toReturn['configuration'] = 'toApiJson' in this.configuration ? this.configuration.toApiJson() : this.configuration;
141
+ }
158
142
  return toReturn;
159
143
  }
160
144
  }
@@ -182,9 +166,6 @@ export class ConfigInboxConfig {
182
166
  static fromProto(proto) {
183
167
  let m = new ConfigInboxConfig();
184
168
  m = Object.assign(m, proto);
185
- if (proto.bookingConfig) {
186
- m.bookingConfig = BookingConfig.fromProto(proto.bookingConfig);
187
- }
188
169
  return m;
189
170
  }
190
171
  constructor(kwargs) {
@@ -201,9 +182,6 @@ export class ConfigInboxConfig {
201
182
  if (typeof this.additionalInstructions !== 'undefined') {
202
183
  toReturn['additionalInstructions'] = this.additionalInstructions;
203
184
  }
204
- if (typeof this.bookingConfig !== 'undefined' && this.bookingConfig !== null) {
205
- toReturn['bookingConfig'] = 'toApiJson' in this.bookingConfig ? this.bookingConfig.toApiJson() : this.bookingConfig;
206
- }
207
185
  return toReturn;
208
186
  }
209
187
  }
@@ -317,4 +295,4 @@ export class ConfigVoiceConfig {
317
295
  return toReturn;
318
296
  }
319
297
  }
320
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9hc3Npc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxTQUFTO0lBU2xCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ3hCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUU7WUFBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDMUUsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFO1lBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBa0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7U0FBQztRQUMzRixJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFBQyxDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0s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SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQzFGLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLFdBQW1CLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7U0FBQztRQUNqTSxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBHb2FsIH0gZnJvbSAnLi9nb2FsJztcbmltcG9ydCB7IE5hbWVzcGFjZSB9IGZyb20gJy4vbmFtZXNwYWNlJztcbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFzc2lzdGFudCBpbXBsZW1lbnRzIGkuQXNzaXN0YW50SW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0eXBlOiBlLkFzc2lzdGFudFR5cGU7XG4gICAgYXZhdGFyVXJsOiBzdHJpbmc7XG4gICAgY29uZmlnOiBDb25maWc7XG4gICAgY29uZmlndXJhYmxlR29hbHM6IENvbmZpZ3VyYWJsZUdvYWxbXTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFzc2lzdGFudCB7XG4gICAgICAgIGxldCBtID0gbmV3IEFzc2lzdGFudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIGlmIChwcm90by50eXBlKSB7bS50eXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Bc3Npc3RhbnRUeXBlPihlLkFzc2lzdGFudFR5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZykge20uY29uZmlnID0gQ29uZmlnLmZyb21Qcm90byhwcm90by5jb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZ3VyYWJsZUdvYWxzKSB7bS5jb25maWd1cmFibGVHb2FscyA9IHByb3RvLmNvbmZpZ3VyYWJsZUdvYWxzLm1hcChDb25maWd1cmFibGVHb2FsLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFzc2lzdGFudEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2UgPyAodGhpcy5uYW1lc3BhY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWUnXSA9IHRoaXMubmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50eXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0eXBlJ10gPSB0aGlzLnR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXZhdGFyVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdmF0YXJVcmwnXSA9IHRoaXMuYXZhdGFyVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnY29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNvbmZpZyA/ICh0aGlzLmNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhYmxlR29hbHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY29uZmlndXJhYmxlR29hbHMgIT09IG51bGwpIHt0b1JldHVyblsnY29uZmlndXJhYmxlR29hbHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uZmlndXJhYmxlR29hbHMgPyAodGhpcy5jb25maWd1cmFibGVHb2FscyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jb25maWd1cmFibGVHb2Fsczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBc3Npc3RhbnRLZXkgaW1wbGVtZW50cyBpLkFzc2lzdGFudEtleUludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBuYW1lc3BhY2U6IE5hbWVzcGFjZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFzc2lzdGFudEtleSB7XG4gICAgICAgIGxldCBtID0gbmV3IEFzc2lzdGFudEtleSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5uYW1lc3BhY2UpIHttLm5hbWVzcGFjZSA9IE5hbWVzcGFjZS5mcm9tUHJvdG8ocHJvdG8ubmFtZXNwYWNlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXNzaXN0YW50S2V5SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQm9va2luZ0NvbmZpZyBpbXBsZW1lbnRzIGkuQm9va2luZ0NvbmZpZ0ludGVyZmFjZSB7XG4gICAgY2FsZW5kYXJJZDogc3RyaW5nO1xuICAgIG1lZXRpbmdUeXBlSWQ6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEJvb2tpbmdDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBCb29raW5nQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Cb29raW5nQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2FsZW5kYXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY2FsZW5kYXJJZCddID0gdGhpcy5jYWxlbmRhcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lZXRpbmdUeXBlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lZXRpbmdUeXBlSWQnXSA9IHRoaXMubWVldGluZ1R5cGVJZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWcgaW1wbGVtZW50cyBpLkNvbmZpZ0ludGVyZmFjZSB7XG4gICAgaW5ib3hDb25maWc6IENvbmZpZ0luYm94Q29uZmlnO1xuICAgIHZvaWNlQ29uZmlnOiBDb25maWdWb2ljZUNvbmZpZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pbmJveENvbmZpZykge20uaW5ib3hDb25maWcgPSBDb25maWdJbmJveENvbmZpZy5mcm9tUHJvdG8ocHJvdG8uaW5ib3hDb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLnZvaWNlQ29uZmlnKSB7bS52b2ljZUNvbmZpZyA9IENvbmZpZ1ZvaWNlQ29uZmlnLmZyb21Qcm90byhwcm90by52b2ljZUNvbmZpZyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmluYm94Q29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmluYm94Q29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2luYm94Q29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmluYm94Q29uZmlnID8gKHRoaXMuaW5ib3hDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaW5ib3hDb25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2VDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudm9pY2VDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsndm9pY2VDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudm9pY2VDb25maWcgPyAodGhpcy52b2ljZUNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy52b2ljZUNvbmZpZzt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmFibGVHb2FsIGltcGxlbWVudHMgaS5Db25maWd1cmFibGVHb2FsSW50ZXJmYWNlIHtcbiAgICBnb2FsOiBHb2FsO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ29uZmlndXJhYmxlR29hbCB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZ3VyYWJsZUdvYWwoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZ29hbCkge20uZ29hbCA9IEdvYWwuZnJvbVByb3RvKHByb3RvLmdvYWwpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWd1cmFibGVHb2FsSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZ29hbCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5nb2FsICE9PSBudWxsKSB7dG9SZXR1cm5bJ2dvYWwnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZ29hbCA/ICh0aGlzLmdvYWwgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZ29hbDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWVwZ3JhbUNvbmZpZyBpbXBsZW1lbnRzIGkuRGVlcGdyYW1Db25maWdJbnRlcmZhY2Uge1xuICAgIHZvaWNlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBEZWVwZ3JhbUNvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IERlZXBncmFtQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5EZWVwZ3JhbUNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZvaWNlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2b2ljZSddID0gdGhpcy52b2ljZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWdJbmJveENvbmZpZyBpbXBsZW1lbnRzIGkuQ29uZmlnSW5ib3hDb25maWdJbnRlcmZhY2Uge1xuICAgIGxlYWRDYXB0dXJlRW5hYmxlZDogYm9vbGVhbjtcbiAgICBhZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zOiBzdHJpbmc7XG4gICAgYm9va2luZ0NvbmZpZzogQm9va2luZ0NvbmZpZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZ0luYm94Q29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ29uZmlnSW5ib3hDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYm9va2luZ0NvbmZpZykge20uYm9va2luZ0NvbmZpZyA9IEJvb2tpbmdDb25maWcuZnJvbVByb3RvKHByb3RvLmJvb2tpbmdDb25maWcpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWdJbmJveENvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxlYWRDYXB0dXJlRW5hYmxlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbGVhZENhcHR1cmVFbmFibGVkJ10gPSB0aGlzLmxlYWRDYXB0dXJlRW5hYmxlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zJ10gPSB0aGlzLmFkZGl0aW9uYWxJbnN0cnVjdGlvbnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYm9va2luZ0NvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5ib29raW5nQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Jvb2tpbmdDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYm9va2luZ0NvbmZpZyA/ICh0aGlzLmJvb2tpbmdDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYm9va2luZ0NvbmZpZzt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNb2RlbENvbmZpZyBpbXBsZW1lbnRzIGkuTW9kZWxDb25maWdJbnRlcmZhY2Uge1xuICAgIG9wZW5haVJlYWx0aW1lQ29uZmlnOiBPcGVuQUlSZWFsdGltZUNvbmZpZztcbiAgICBkZWVwZ3JhbUNvbmZpZzogRGVlcGdyYW1Db25maWc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBNb2RlbENvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IE1vZGVsQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm9wZW5haVJlYWx0aW1lQ29uZmlnKSB7bS5vcGVuYWlSZWFsdGltZUNvbmZpZyA9IE9wZW5BSVJlYWx0aW1lQ29uZmlnLmZyb21Qcm90byhwcm90by5vcGVuYWlSZWFsdGltZUNvbmZpZyk7fVxuICAgICAgICBpZiAocHJvdG8uZGVlcGdyYW1Db25maWcpIHttLmRlZXBncmFtQ29uZmlnID0gRGVlcGdyYW1Db25maWcuZnJvbVByb3RvKHByb3RvLmRlZXBncmFtQ29uZmlnKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTW9kZWxDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydvcGVuYWlSZWFsdGltZUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyA/ICh0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm9wZW5haVJlYWx0aW1lQ29uZmlnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRlZXBncmFtQ29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRlZXBncmFtQ29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2RlZXBncmFtQ29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmRlZXBncmFtQ29uZmlnID8gKHRoaXMuZGVlcGdyYW1Db25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZGVlcGdyYW1Db25maWc7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3BlbkFJUmVhbHRpbWVDb25maWcgaW1wbGVtZW50cyBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2b2ljZTogc3RyaW5nO1xuICAgIHR1cm5EZXRlY3Rpb246IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE9wZW5BSVJlYWx0aW1lQ29uZmlnIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgT3BlbkFJUmVhbHRpbWVDb25maWcoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udHVybkRldGVjdGlvbikge20udHVybkRldGVjdGlvbiA9IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbi5mcm9tUHJvdG8ocHJvdG8udHVybkRldGVjdGlvbik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZvaWNlJ10gPSB0aGlzLnZvaWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR1cm5EZXRlY3Rpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudHVybkRldGVjdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWyd0dXJuRGV0ZWN0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnR1cm5EZXRlY3Rpb24gPyAodGhpcy50dXJuRGV0ZWN0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnR1cm5EZXRlY3Rpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uIGltcGxlbWVudHMgaS5PcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb25JbnRlcmZhY2Uge1xuICAgIHRocmVzaG9sZDogbnVtYmVyO1xuICAgIHByZWZpeFBhZGRpbmc6IG51bWJlcjtcbiAgICBzaWxlbmNlRHVyYXRpb246IG51bWJlcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGhyZXNob2xkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aHJlc2hvbGQnXSA9IHRoaXMudGhyZXNob2xkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByZWZpeFBhZGRpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ByZWZpeFBhZGRpbmcnXSA9IHRoaXMucHJlZml4UGFkZGluZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zaWxlbmNlRHVyYXRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NpbGVuY2VEdXJhdGlvbiddID0gdGhpcy5zaWxlbmNlRHVyYXRpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29uZmlnVm9pY2VDb25maWcgaW1wbGVtZW50cyBpLkNvbmZpZ1ZvaWNlQ29uZmlnSW50ZXJmYWNlIHtcbiAgICB2ZW5kb3JNb2RlbDogZS5WZW5kb3JNb2RlbDtcbiAgICBtb2RlbENvbmZpZzogTW9kZWxDb25maWc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDb25maWdWb2ljZUNvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZ1ZvaWNlQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnZlbmRvck1vZGVsKSB7bS52ZW5kb3JNb2RlbCA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuVmVuZG9yTW9kZWw+KGUuVmVuZG9yTW9kZWwsIHByb3RvLnZlbmRvck1vZGVsKTt9XG4gICAgICAgIGlmIChwcm90by5tb2RlbENvbmZpZykge20ubW9kZWxDb25maWcgPSBNb2RlbENvbmZpZy5mcm9tUHJvdG8ocHJvdG8ubW9kZWxDb25maWcpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWdWb2ljZUNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZlbmRvck1vZGVsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2ZW5kb3JNb2RlbCddID0gdGhpcy52ZW5kb3JNb2RlbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tb2RlbENvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tb2RlbENvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydtb2RlbENvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5tb2RlbENvbmZpZyA/ICh0aGlzLm1vZGVsQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm1vZGVsQ29uZmlnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
298
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzaXN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vYWlfYXNzaXN0YW50c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9hc3Npc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEMsT0FBTyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLFNBQVM7SUFTbEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDeEIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7U0FBQztRQUMxRSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFBQyxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFrQixDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUFDO1FBQzNGLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUFDLENBQUMsQ0FBQyxNQUFN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QUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFBQyxDQUFDLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFnQixDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUFDO1FBQzVHLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7U0FBQztRQUNsRixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQXFDO1FBQzdDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQUM7UUFDMUYsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFFO1lBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsV0FBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUFDO1FBQ2pNLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEdvYWwgfSBmcm9tICcuL2dvYWwnO1xuaW1wb3J0IHsgS2V5VmFsdWVQYWlyIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0IHsgTmFtZXNwYWNlIH0gZnJvbSAnLi9uYW1lc3BhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgQXNzaXN0YW50IGltcGxlbWVudHMgaS5Bc3Npc3RhbnRJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZXNwYWNlOiBOYW1lc3BhY2U7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IGUuQXNzaXN0YW50VHlwZTtcbiAgICBhdmF0YXJVcmw6IHN0cmluZztcbiAgICBjb25maWc6IENvbmZpZztcbiAgICBjb25maWd1cmFibGVHb2FsczogQ29uZmlndXJhYmxlR29hbFtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXNzaXN0YW50IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXNzaXN0YW50KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgaWYgKHByb3RvLnR5cGUpIHttLnR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkFzc2lzdGFudFR5cGU+KGUuQXNzaXN0YW50VHlwZSwgcHJvdG8udHlwZSk7fVxuICAgICAgICBpZiAocHJvdG8uY29uZmlnKSB7bS5jb25maWcgPSBDb25maWcuZnJvbVByb3RvKHByb3RvLmNvbmZpZyk7fVxuICAgICAgICBpZiAocHJvdG8uY29uZmlndXJhYmxlR29hbHMpIHttLmNvbmZpZ3VyYWJsZUdvYWxzID0gcHJvdG8uY29uZmlndXJhYmxlR29hbHMubWFwKENvbmZpZ3VyYWJsZUdvYWwuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXNzaXN0YW50SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5uYW1lc3BhY2UgIT09IG51bGwpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm5hbWVzcGFjZSA/ICh0aGlzLm5hbWVzcGFjZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5uYW1lc3BhY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3R5cGUnXSA9IHRoaXMudHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdmF0YXJVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F2YXRhclVybCddID0gdGhpcy5hdmF0YXJVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydjb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uZmlnID8gKHRoaXMuY29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWd1cmFibGVHb2FscyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb25maWd1cmFibGVHb2FscyAhPT0gbnVsbCkge3RvUmV0dXJuWydjb25maWd1cmFibGVHb2FscyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jb25maWd1cmFibGVHb2FscyA/ICh0aGlzLmNvbmZpZ3VyYWJsZUdvYWxzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNvbmZpZ3VyYWJsZUdvYWxzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFzc2lzdGFudEtleSBpbXBsZW1lbnRzIGkuQXNzaXN0YW50S2V5SW50ZXJmYWNlIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogTmFtZXNwYWNlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQXNzaXN0YW50S2V5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXNzaXN0YW50S2V5KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZSkge20ubmFtZXNwYWNlID0gTmFtZXNwYWNlLmZyb21Qcm90byhwcm90by5uYW1lc3BhY2UpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Bc3Npc3RhbnRLZXlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWQnXSA9IHRoaXMuaWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlID8gKHRoaXMubmFtZXNwYWNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWcgaW1wbGVtZW50cyBpLkNvbmZpZ0ludGVyZmFjZSB7XG4gICAgaW5ib3hDb25maWc6IENvbmZpZ0luYm94Q29uZmlnO1xuICAgIHZvaWNlQ29uZmlnOiBDb25maWdWb2ljZUNvbmZpZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pbmJveENvbmZpZykge20uaW5ib3hDb25maWcgPSBDb25maWdJbmJveENvbmZpZy5mcm9tUHJvdG8ocHJvdG8uaW5ib3hDb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLnZvaWNlQ29uZmlnKSB7bS52b2ljZUNvbmZpZyA9IENvbmZpZ1ZvaWNlQ29uZmlnLmZyb21Qcm90byhwcm90by52b2ljZUNvbmZpZyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmluYm94Q29uZmlnICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmluYm94Q29uZmlnICE9PSBudWxsKSB7dG9SZXR1cm5bJ2luYm94Q29uZmlnJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmluYm94Q29uZmlnID8gKHRoaXMuaW5ib3hDb25maWcgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuaW5ib3hDb25maWc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudm9pY2VDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudm9pY2VDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsndm9pY2VDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudm9pY2VDb25maWcgPyAodGhpcy52b2ljZUNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy52b2ljZUNvbmZpZzt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWd1cmFibGVHb2FsIGltcGxlbWVudHMgaS5Db25maWd1cmFibGVHb2FsSW50ZXJmYWNlIHtcbiAgICBnb2FsOiBHb2FsO1xuICAgIGNvbmZpZ3VyYXRpb246IEtleVZhbHVlUGFpcltdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ29uZmlndXJhYmxlR29hbCB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZ3VyYWJsZUdvYWwoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZ29hbCkge20uZ29hbCA9IEdvYWwuZnJvbVByb3RvKHByb3RvLmdvYWwpO31cbiAgICAgICAgaWYgKHByb3RvLmNvbmZpZ3VyYXRpb24pIHttLmNvbmZpZ3VyYXRpb24gPSBwcm90by5jb25maWd1cmF0aW9uLm1hcChLZXlWYWx1ZVBhaXIuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ29uZmlndXJhYmxlR29hbEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmdvYWwgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZ29hbCAhPT0gbnVsbCkge3RvUmV0dXJuWydnb2FsJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmdvYWwgPyAodGhpcy5nb2FsIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmdvYWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29uZmlndXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jb25maWd1cmF0aW9uICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NvbmZpZ3VyYXRpb24nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY29uZmlndXJhdGlvbiA/ICh0aGlzLmNvbmZpZ3VyYXRpb24gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY29uZmlndXJhdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWVwZ3JhbUNvbmZpZyBpbXBsZW1lbnRzIGkuRGVlcGdyYW1Db25maWdJbnRlcmZhY2Uge1xuICAgIHZvaWNlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBEZWVwZ3JhbUNvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IERlZXBncmFtQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5EZWVwZ3JhbUNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZvaWNlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2b2ljZSddID0gdGhpcy52b2ljZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb25maWdJbmJveENvbmZpZyBpbXBsZW1lbnRzIGkuQ29uZmlnSW5ib3hDb25maWdJbnRlcmZhY2Uge1xuICAgIGxlYWRDYXB0dXJlRW5hYmxlZDogYm9vbGVhbjtcbiAgICBhZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDb25maWdJbmJveENvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IENvbmZpZ0luYm94Q29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db25maWdJbmJveENvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxlYWRDYXB0dXJlRW5hYmxlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbGVhZENhcHR1cmVFbmFibGVkJ10gPSB0aGlzLmxlYWRDYXB0dXJlRW5hYmxlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhZGRpdGlvbmFsSW5zdHJ1Y3Rpb25zJ10gPSB0aGlzLmFkZGl0aW9uYWxJbnN0cnVjdGlvbnM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTW9kZWxDb25maWcgaW1wbGVtZW50cyBpLk1vZGVsQ29uZmlnSW50ZXJmYWNlIHtcbiAgICBvcGVuYWlSZWFsdGltZUNvbmZpZzogT3BlbkFJUmVhbHRpbWVDb25maWc7XG4gICAgZGVlcGdyYW1Db25maWc6IERlZXBncmFtQ29uZmlnO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTW9kZWxDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBNb2RlbENvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5vcGVuYWlSZWFsdGltZUNvbmZpZykge20ub3BlbmFpUmVhbHRpbWVDb25maWcgPSBPcGVuQUlSZWFsdGltZUNvbmZpZy5mcm9tUHJvdG8ocHJvdG8ub3BlbmFpUmVhbHRpbWVDb25maWcpO31cbiAgICAgICAgaWYgKHByb3RvLmRlZXBncmFtQ29uZmlnKSB7bS5kZWVwZ3JhbUNvbmZpZyA9IERlZXBncmFtQ29uZmlnLmZyb21Qcm90byhwcm90by5kZWVwZ3JhbUNvbmZpZyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk1vZGVsQ29uZmlnSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub3BlbmFpUmVhbHRpbWVDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMub3BlbmFpUmVhbHRpbWVDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnb3BlbmFpUmVhbHRpbWVDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMub3BlbmFpUmVhbHRpbWVDb25maWcgPyAodGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5vcGVuYWlSZWFsdGltZUNvbmZpZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZWVwZ3JhbUNvbmZpZyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5kZWVwZ3JhbUNvbmZpZyAhPT0gbnVsbCkge3RvUmV0dXJuWydkZWVwZ3JhbUNvbmZpZyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5kZWVwZ3JhbUNvbmZpZyA/ICh0aGlzLmRlZXBncmFtQ29uZmlnIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmRlZXBncmFtQ29uZmlnO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wZW5BSVJlYWx0aW1lQ29uZmlnIGltcGxlbWVudHMgaS5PcGVuQUlSZWFsdGltZUNvbmZpZ0ludGVyZmFjZSB7XG4gICAgdm9pY2U6IHN0cmluZztcbiAgICB0dXJuRGV0ZWN0aW9uOiBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb247XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBPcGVuQUlSZWFsdGltZUNvbmZpZyB7XG4gICAgICAgIGxldCBtID0gbmV3IE9wZW5BSVJlYWx0aW1lQ29uZmlnKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnR1cm5EZXRlY3Rpb24pIHttLnR1cm5EZXRlY3Rpb24gPSBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb24uZnJvbVByb3RvKHByb3RvLnR1cm5EZXRlY3Rpb24pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5PcGVuQUlSZWFsdGltZUNvbmZpZ0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZvaWNlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2b2ljZSddID0gdGhpcy52b2ljZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50dXJuRGV0ZWN0aW9uICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnR1cm5EZXRlY3Rpb24gIT09IG51bGwpIHt0b1JldHVyblsndHVybkRldGVjdGlvbiddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50dXJuRGV0ZWN0aW9uID8gKHRoaXMudHVybkRldGVjdGlvbiBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50dXJuRGV0ZWN0aW9uO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbiBpbXBsZW1lbnRzIGkuT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uSW50ZXJmYWNlIHtcbiAgICB0aHJlc2hvbGQ6IG51bWJlcjtcbiAgICBwcmVmaXhQYWRkaW5nOiBudW1iZXI7XG4gICAgc2lsZW5jZUR1cmF0aW9uOiBudW1iZXI7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb24ge1xuICAgICAgICBsZXQgbSA9IG5ldyBPcGVuQUlSZWFsdGltZUNvbmZpZ1R1cm5EZXRlY3Rpb24oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbkludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRocmVzaG9sZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGhyZXNob2xkJ10gPSB0aGlzLnRocmVzaG9sZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcmVmaXhQYWRkaW5nICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwcmVmaXhQYWRkaW5nJ10gPSB0aGlzLnByZWZpeFBhZGRpbmc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2lsZW5jZUR1cmF0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzaWxlbmNlRHVyYXRpb24nXSA9IHRoaXMuc2lsZW5jZUR1cmF0aW9uO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbmZpZ1ZvaWNlQ29uZmlnIGltcGxlbWVudHMgaS5Db25maWdWb2ljZUNvbmZpZ0ludGVyZmFjZSB7XG4gICAgdmVuZG9yTW9kZWw6IGUuVmVuZG9yTW9kZWw7XG4gICAgbW9kZWxDb25maWc6IE1vZGVsQ29uZmlnO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ29uZmlnVm9pY2VDb25maWcge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb25maWdWb2ljZUNvbmZpZygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by52ZW5kb3JNb2RlbCkge20udmVuZG9yTW9kZWwgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlZlbmRvck1vZGVsPihlLlZlbmRvck1vZGVsLCBwcm90by52ZW5kb3JNb2RlbCk7fVxuICAgICAgICBpZiAocHJvdG8ubW9kZWxDb25maWcpIHttLm1vZGVsQ29uZmlnID0gTW9kZWxDb25maWcuZnJvbVByb3RvKHByb3RvLm1vZGVsQ29uZmlnKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ29uZmlnVm9pY2VDb25maWdJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52ZW5kb3JNb2RlbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndmVuZG9yTW9kZWwnXSA9IHRoaXMudmVuZG9yTW9kZWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubW9kZWxDb25maWcgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubW9kZWxDb25maWcgIT09IG51bGwpIHt0b1JldHVyblsnbW9kZWxDb25maWcnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubW9kZWxDb25maWcgPyAodGhpcy5tb2RlbENvbmZpZyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5tb2RlbENvbmZpZzt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==
@@ -8,11 +8,11 @@ export { NamespaceAccountGroupNamespace, NamespaceAccountGroupsForGroupNamespace
8
8
  export { Function, FunctionHeader, FunctionKey, FunctionParameter, } from './function';
9
9
  export { Prompt, PromptModule, PromptModuleKey, PromptModuleVersion, PromptVersion, } from './prompt';
10
10
  export { Goal, GoalKey, } from './goal';
11
- export { Assistant, AssistantKey, BookingConfig, Config, ConfigurableGoal, DeepgramConfig, ConfigInboxConfig, ModelConfig, OpenAIRealtimeConfig, OpenAIRealtimeConfigTurnDetection, ConfigVoiceConfig, } from './assistant';
12
- export { Connection, ConnectionKey, } from './connection';
13
11
  export { KeyValuePair, } from './common';
12
+ export { Assistant, AssistantKey, Config, ConfigurableGoal, DeepgramConfig, ConfigInboxConfig, ModelConfig, OpenAIRealtimeConfig, OpenAIRealtimeConfigTurnDetection, ConfigVoiceConfig, } from './assistant';
13
+ export { Connection, ConnectionKey, } from './connection';
14
14
  export { ChatAnswerFunctionExecutionJob, ChatAnswerFunctionExecutionJobResult, ChatMessage, ChatUserInfo, } from './answer';
15
15
  export { Access, } from './annotations';
16
16
  export { PagedRequestOptions, PagedResponseMetadata, } from './paging';
17
- export { BuildDefaultAssistantRequest, BuildDefaultAssistantResponse, SetAssistantConnectionsRequestConnectionState, CreatePromptModuleRequest, CreatePromptModuleVersionRequest, CreatePromptRequest, DeleteAssistantRequest, DeleteConnectionRequest, DeleteFunctionRequest, DeleteGoalRequest, DeletePromptModuleRequest, DeletePromptRequest, DeployPromptModuleRequest, DeployPromptRequest, ListPromptModuleRequestFilters, ListConnectionsRequestFilters, ListAssistantRequestFilters, ListGoalsRequestFilters, ListAllAssistantsAssociatedToConnectionRequestFilters, ListFunctionRequestFilters, GenerateChatAnswerRequest, GenerateChatAnswerResponse, GetAssistantRequest, GetAssistantResponse, GetChatAnswerFunctionExecutionJobRequest, GetChatAnswerFunctionExecutionJobResponse, GetConnectionRequest, GetConnectionResponse, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetDeployedPromptVersionRequest, GetDeployedPromptVersionResponse, GetFunctionRequest, GetFunctionResponse, GetGoalRequest, GetGoalResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiDeployedPromptVersionRequest, GetMultiDeployedPromptVersionResponse, GetMultiFunctionRequest, GetMultiFunctionResponse, GetMultiGoalRequest, GetMultiGoalResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, GetPromptRequest, GetPromptResponse, GetPromptVersionRequest, GetPromptVersionResponse, GoalsDisabledForAccountGroupRequest, GoalsDisabledForAccountGroupResponse, ListAllAssistantsAssociatedToConnectionRequest, ListAllAssistantsAssociatedToConnectionResponse, ListAssistantRequest, ListAssistantResponse, ListConnectionsRequest, ListConnectionsResponse, ListFunctionRequest, ListFunctionResponse, ListGoalsRequest, ListGoalsResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, ListPromptRequest, ListPromptResponse, ListPromptVersionsRequest, ListPromptVersionsResponse, UpsertAssistantRequestOptions, CreatePromptModuleVersionRequestOptions, GenerateChatAnswerRequestOptions, SetAssistantConnectionsRequest, UpdatePromptModuleRequest, UpdatePromptRequest, UpsertAssistantRequest, UpsertAssistantResponse, UpsertConnectionRequest, UpsertFunctionRequest, UpsertGoalRequest, } from './api';
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsdUNBQXVDLEVBQ3ZDLHlDQUF5QyxFQUN6Qyx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULHlCQUF5QixFQUN6Qix3QkFBd0IsR0FDM0IsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNILFFBQVEsRUFDUixjQUFjLEVBQ2QsV0FBVyxFQUNYLGlCQUFpQixHQUNwQixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQ0gsTUFBTSxFQUNOLFlBQVksRUFDWixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGFBQWEsR0FDaEIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILElBQUksRUFDSixPQUFPLEdBQ1YsTUFBTSxRQUFRLENBQUM7QUFFaEIsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osYUFBYSxFQUNiLE1BQU0sRUFDTixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsb0JBQW9CLEVBQ3BCLGlDQUFpQyxFQUNqQyxpQkFBaUIsR0FDcEIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNILFVBQVUsRUFDVixhQUFhLEdBQ2hCLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFDSCxZQUFZLEdBQ2YsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILDhCQUE4QixFQUM5QixvQ0FBb0MsRUFDcEMsV0FBVyxFQUNYLFlBQVksR0FDZixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsTUFBTSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDSCxtQkFBbUIsRUFDbkIscUJBQXFCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDZDQUE2QyxFQUM3Qyx5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLDhCQUE4QixFQUM5Qiw2QkFBNkIsRUFDN0IsMkJBQTJCLEVBQzNCLHVCQUF1QixFQUN2QixxREFBcUQsRUFDckQsMEJBQTBCLEVBQzFCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQix3Q0FBd0MsRUFDeEMseUNBQXlDLEVBQ3pDLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIscUNBQXFDLEVBQ3JDLHNDQUFzQyxFQUN0QywrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLGVBQWUsRUFDZiw2Q0FBNkMsRUFDN0MsOENBQThDLEVBQzlDLG9DQUFvQyxFQUNwQyxxQ0FBcUMsRUFDckMsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLGtEQUFrRCxFQUNsRCxtREFBbUQsRUFDbkQsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLDhDQUE4QyxFQUM5QywrQ0FBK0MsRUFDL0Msb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDZCQUE2QixFQUM3Qix1Q0FBdUMsRUFDdkMsZ0NBQWdDLEVBQ2hDLDhCQUE4QixFQUM5Qix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixpQkFBaUIsR0FDcEIsTUFBTSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgTmFtZXNwYWNlQWNjb3VudEdyb3VwTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZUFjY291bnRHcm91cHNGb3JHcm91cE5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VBY2NvdW50R3JvdXBzRm9yUGFydG5lck5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VHbG9iYWxOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZVBhcnRuZXJOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlU3lzdGVtTmFtZXNwYWNlLFxufSBmcm9tICcuL25hbWVzcGFjZSc7XG5cbmV4cG9ydCB7XG4gICAgRnVuY3Rpb24sXG4gICAgRnVuY3Rpb25IZWFkZXIsXG4gICAgRnVuY3Rpb25LZXksXG4gICAgRnVuY3Rpb25QYXJhbWV0ZXIsXG59IGZyb20gJy4vZnVuY3Rpb24nO1xuXG5leHBvcnQge1xuICAgIFByb21wdCxcbiAgICBQcm9tcHRNb2R1bGUsXG4gICAgUHJvbXB0TW9kdWxlS2V5LFxuICAgIFByb21wdE1vZHVsZVZlcnNpb24sXG4gICAgUHJvbXB0VmVyc2lvbixcbn0gZnJvbSAnLi9wcm9tcHQnO1xuXG5leHBvcnQge1xuICAgIEdvYWwsXG4gICAgR29hbEtleSxcbn0gZnJvbSAnLi9nb2FsJztcblxuZXhwb3J0IHtcbiAgICBBc3Npc3RhbnQsXG4gICAgQXNzaXN0YW50S2V5LFxuICAgIEJvb2tpbmdDb25maWcsXG4gICAgQ29uZmlnLFxuICAgIENvbmZpZ3VyYWJsZUdvYWwsXG4gICAgRGVlcGdyYW1Db25maWcsXG4gICAgQ29uZmlnSW5ib3hDb25maWcsXG4gICAgTW9kZWxDb25maWcsXG4gICAgT3BlbkFJUmVhbHRpbWVDb25maWcsXG4gICAgT3BlbkFJUmVhbHRpbWVDb25maWdUdXJuRGV0ZWN0aW9uLFxuICAgIENvbmZpZ1ZvaWNlQ29uZmlnLFxufSBmcm9tICcuL2Fzc2lzdGFudCc7XG5cbmV4cG9ydCB7XG4gICAgQ29ubmVjdGlvbixcbiAgICBDb25uZWN0aW9uS2V5LFxufSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xuXG5leHBvcnQge1xuICAgIEtleVZhbHVlUGFpcixcbn0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQge1xuICAgIENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYixcbiAgICBDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXN1bHQsXG4gICAgQ2hhdE1lc3NhZ2UsXG4gICAgQ2hhdFVzZXJJbmZvLFxufSBmcm9tICcuL2Fuc3dlcic7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxufSBmcm9tICcuL2Fubm90YXRpb25zJztcblxuZXhwb3J0IHtcbiAgICBQYWdlZFJlcXVlc3RPcHRpb25zLFxuICAgIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YSxcbn0gZnJvbSAnLi9wYWdpbmcnO1xuXG5leHBvcnQge1xuICAgIEJ1aWxkRGVmYXVsdEFzc2lzdGFudFJlcXVlc3QsXG4gICAgQnVpbGREZWZhdWx0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgU2V0QXNzaXN0YW50Q29ubmVjdGlvbnNSZXF1ZXN0Q29ubmVjdGlvblN0YXRlLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgQ3JlYXRlUHJvbXB0UmVxdWVzdCxcbiAgICBEZWxldGVBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIERlbGV0ZUNvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIERlbGV0ZUZ1bmN0aW9uUmVxdWVzdCxcbiAgICBEZWxldGVHb2FsUmVxdWVzdCxcbiAgICBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIERlbGV0ZVByb21wdFJlcXVlc3QsXG4gICAgRGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBEZXBsb3lQcm9tcHRSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0QXNzaXN0YW50UmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEdvYWxzUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdEZ1bmN0aW9uUmVxdWVzdEZpbHRlcnMsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVxdWVzdCxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXNwb25zZSxcbiAgICBHZXRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIEdldEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIEdldENoYXRBbnN3ZXJGdW5jdGlvbkV4ZWN1dGlvbkpvYlJlcXVlc3QsXG4gICAgR2V0Q2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVzcG9uc2UsXG4gICAgR2V0Q29ubmVjdGlvblJlcXVlc3QsXG4gICAgR2V0Q29ubmVjdGlvblJlc3BvbnNlLFxuICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXREZXBsb3llZFByb21wdFZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRGdW5jdGlvblJlcXVlc3QsXG4gICAgR2V0RnVuY3Rpb25SZXNwb25zZSxcbiAgICBHZXRHb2FsUmVxdWVzdCxcbiAgICBHZXRHb2FsUmVzcG9uc2UsXG4gICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlEZXBsb3llZFByb21wdFZlcnNpb25SZXF1ZXN0LFxuICAgIEdldE11bHRpRGVwbG95ZWRQcm9tcHRWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlGdW5jdGlvblJlcXVlc3QsXG4gICAgR2V0TXVsdGlGdW5jdGlvblJlc3BvbnNlLFxuICAgIEdldE11bHRpR29hbFJlcXVlc3QsXG4gICAgR2V0TXVsdGlHb2FsUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldFByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgR2V0UHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgIEdldFByb21wdFJlcXVlc3QsXG4gICAgR2V0UHJvbXB0UmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0VmVyc2lvblJlcXVlc3QsXG4gICAgR2V0UHJvbXB0VmVyc2lvblJlc3BvbnNlLFxuICAgIEdvYWxzRGlzYWJsZWRGb3JBY2NvdW50R3JvdXBSZXF1ZXN0LFxuICAgIEdvYWxzRGlzYWJsZWRGb3JBY2NvdW50R3JvdXBSZXNwb25zZSxcbiAgICBMaXN0QWxsQXNzaXN0YW50c0Fzc29jaWF0ZWRUb0Nvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlc3BvbnNlLFxuICAgIExpc3RBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIExpc3RBc3Npc3RhbnRSZXNwb25zZSxcbiAgICBMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICAgIExpc3RDb25uZWN0aW9uc1Jlc3BvbnNlLFxuICAgIExpc3RGdW5jdGlvblJlcXVlc3QsXG4gICAgTGlzdEZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEdvYWxzUmVxdWVzdCxcbiAgICBMaXN0R29hbHNSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2UsXG4gICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0UmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0UmVzcG9uc2UsXG4gICAgTGlzdFByb21wdFZlcnNpb25zUmVxdWVzdCxcbiAgICBMaXN0UHJvbXB0VmVyc2lvbnNSZXNwb25zZSxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXF1ZXN0T3B0aW9ucyxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdE9wdGlvbnMsXG4gICAgR2VuZXJhdGVDaGF0QW5zd2VyUmVxdWVzdE9wdGlvbnMsXG4gICAgU2V0QXNzaXN0YW50Q29ubmVjdGlvbnNSZXF1ZXN0LFxuICAgIFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgVXBkYXRlUHJvbXB0UmVxdWVzdCxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIFVwc2VydEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFVwc2VydENvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIFVwc2VydEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBVcHNlcnRHb2FsUmVxdWVzdCxcbn0gZnJvbSAnLi9hcGknO1xuXG4iXX0=
17
+ export { BuildDefaultAssistantRequest, BuildDefaultAssistantResponse, SetAssistantConnectionsRequestConnectionState, CreateGoalRequest, CreateGoalResponse, CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, CreatePromptRequest, DeleteAssistantRequest, DeleteConnectionRequest, DeleteFunctionRequest, DeleteGoalRequest, DeletePromptModuleRequest, DeletePromptRequest, DeployPromptModuleRequest, DeployPromptRequest, ListConnectionsRequestFilters, ListPromptModuleRequestFilters, ListAllAssistantsAssociatedToConnectionRequestFilters, ListAssistantRequestFilters, ListFunctionRequestFilters, ListGoalsRequestFilters, GenerateChatAnswerRequest, GenerateChatAnswerResponse, GetAssistantRequest, GetAssistantResponse, GetChatAnswerFunctionExecutionJobRequest, GetChatAnswerFunctionExecutionJobResponse, GetConnectionRequest, GetConnectionResponse, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetDeployedPromptVersionRequest, GetDeployedPromptVersionResponse, GetFunctionRequest, GetFunctionResponse, GetGoalRequest, GetGoalResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiDeployedPromptVersionRequest, GetMultiDeployedPromptVersionResponse, GetMultiFunctionRequest, GetMultiFunctionResponse, GetMultiGoalRequest, GetMultiGoalResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, GetPromptRequest, GetPromptResponse, GetPromptVersionRequest, GetPromptVersionResponse, GoalsDisabledForAccountGroupRequest, GoalsDisabledForAccountGroupResponse, ListAllAssistantsAssociatedToConnectionRequest, ListAllAssistantsAssociatedToConnectionResponse, ListAssistantRequest, ListAssistantResponse, ListConnectionsRequest, ListConnectionsResponse, ListFunctionRequest, ListFunctionResponse, ListGoalsRequest, ListGoalsResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, ListPromptRequest, ListPromptResponse, ListPromptVersionsRequest, ListPromptVersionsResponse, GenerateChatAnswerRequestOptions, CreatePromptModuleVersionRequestOptions, UpsertAssistantRequestOptions, SetAssistantConnectionsRequest, UpdateGoalRequest, UpdatePromptModuleRequest, UpdatePromptRequest, UpsertAssistantRequest, UpsertAssistantResponse, UpsertConnectionRequest, UpsertFunctionRequest, UpsertGoalRequest, } from './api';
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9haV9hc3Npc3RhbnRzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixpQkFBaUI7QUFDakIsb0NBQW9DO0FBQ3BDLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsdUNBQXVDLEVBQ3ZDLHlDQUF5QyxFQUN6Qyx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULHlCQUF5QixFQUN6Qix3QkFBd0IsR0FDM0IsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNILFFBQVEsRUFDUixjQUFjLEVBQ2QsV0FBVyxFQUNYLGlCQUFpQixHQUNwQixNQUFNLFlBQVksQ0FBQztBQUVwQixPQUFPLEVBQ0gsTUFBTSxFQUNOLFlBQVksRUFDWixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLGFBQWEsR0FDaEIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILElBQUksRUFDSixPQUFPLEdBQ1YsTUFBTSxRQUFRLENBQUM7QUFFaEIsT0FBTyxFQUNILFlBQVksR0FDZixNQUFNLFVBQVUsQ0FBQztBQUVsQixPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxpQkFBaUIsRUFDakIsV0FBVyxFQUNYLG9CQUFvQixFQUNwQixpQ0FBaUMsRUFDakMsaUJBQWlCLEdBQ3BCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsYUFBYSxHQUNoQixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0gsOEJBQThCLEVBQzlCLG9DQUFvQyxFQUNwQyxXQUFXLEVBQ1gsWUFBWSxHQUNmLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxNQUFNLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILG1CQUFtQixFQUNuQixxQkFBcUIsR0FDeEIsTUFBTSxVQUFVLENBQUM7QUFFbEIsT0FBTyxFQUNILDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsNkNBQTZDLEVBQzdDLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixnQ0FBZ0MsRUFDaEMsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5QixxREFBcUQsRUFDckQsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHdDQUF3QyxFQUN4Qyx5Q0FBeUMsRUFDekMsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsZUFBZSxFQUNmLDZDQUE2QyxFQUM3Qyw4Q0FBOEMsRUFDOUMsb0NBQW9DLEVBQ3BDLHFDQUFxQyxFQUNyQyx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsa0RBQWtELEVBQ2xELG1EQUFtRCxFQUNuRCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMsOENBQThDLEVBQzlDLCtDQUErQyxFQUMvQyxvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixpQkFBaUIsR0FDcEIsTUFBTSxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgTmFtZXNwYWNlQWNjb3VudEdyb3VwTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZUFjY291bnRHcm91cHNGb3JHcm91cE5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VBY2NvdW50R3JvdXBzRm9yUGFydG5lck5hbWVzcGFjZSxcbiAgICBOYW1lc3BhY2VHbG9iYWxOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlLFxuICAgIE5hbWVzcGFjZVBhcnRuZXJOYW1lc3BhY2UsXG4gICAgTmFtZXNwYWNlU3lzdGVtTmFtZXNwYWNlLFxufSBmcm9tICcuL25hbWVzcGFjZSc7XG5cbmV4cG9ydCB7XG4gICAgRnVuY3Rpb24sXG4gICAgRnVuY3Rpb25IZWFkZXIsXG4gICAgRnVuY3Rpb25LZXksXG4gICAgRnVuY3Rpb25QYXJhbWV0ZXIsXG59IGZyb20gJy4vZnVuY3Rpb24nO1xuXG5leHBvcnQge1xuICAgIFByb21wdCxcbiAgICBQcm9tcHRNb2R1bGUsXG4gICAgUHJvbXB0TW9kdWxlS2V5LFxuICAgIFByb21wdE1vZHVsZVZlcnNpb24sXG4gICAgUHJvbXB0VmVyc2lvbixcbn0gZnJvbSAnLi9wcm9tcHQnO1xuXG5leHBvcnQge1xuICAgIEdvYWwsXG4gICAgR29hbEtleSxcbn0gZnJvbSAnLi9nb2FsJztcblxuZXhwb3J0IHtcbiAgICBLZXlWYWx1ZVBhaXIsXG59IGZyb20gJy4vY29tbW9uJztcblxuZXhwb3J0IHtcbiAgICBBc3Npc3RhbnQsXG4gICAgQXNzaXN0YW50S2V5LFxuICAgIENvbmZpZyxcbiAgICBDb25maWd1cmFibGVHb2FsLFxuICAgIERlZXBncmFtQ29uZmlnLFxuICAgIENvbmZpZ0luYm94Q29uZmlnLFxuICAgIE1vZGVsQ29uZmlnLFxuICAgIE9wZW5BSVJlYWx0aW1lQ29uZmlnLFxuICAgIE9wZW5BSVJlYWx0aW1lQ29uZmlnVHVybkRldGVjdGlvbixcbiAgICBDb25maWdWb2ljZUNvbmZpZyxcbn0gZnJvbSAnLi9hc3Npc3RhbnQnO1xuXG5leHBvcnQge1xuICAgIENvbm5lY3Rpb24sXG4gICAgQ29ubmVjdGlvbktleSxcbn0gZnJvbSAnLi9jb25uZWN0aW9uJztcblxuZXhwb3J0IHtcbiAgICBDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2IsXG4gICAgQ2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVzdWx0LFxuICAgIENoYXRNZXNzYWdlLFxuICAgIENoYXRVc2VySW5mbyxcbn0gZnJvbSAnLi9hbnN3ZXInO1xuXG5leHBvcnQge1xuICAgIEFjY2Vzcyxcbn0gZnJvbSAnLi9hbm5vdGF0aW9ucyc7XG5cbmV4cG9ydCB7XG4gICAgUGFnZWRSZXF1ZXN0T3B0aW9ucyxcbiAgICBQYWdlZFJlc3BvbnNlTWV0YWRhdGEsXG59IGZyb20gJy4vcGFnaW5nJztcblxuZXhwb3J0IHtcbiAgICBCdWlsZERlZmF1bHRBc3Npc3RhbnRSZXF1ZXN0LFxuICAgIEJ1aWxkRGVmYXVsdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIFNldEFzc2lzdGFudENvbm5lY3Rpb25zUmVxdWVzdENvbm5lY3Rpb25TdGF0ZSxcbiAgICBDcmVhdGVHb2FsUmVxdWVzdCxcbiAgICBDcmVhdGVHb2FsUmVzcG9uc2UsXG4gICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBDcmVhdGVQcm9tcHRSZXF1ZXN0LFxuICAgIERlbGV0ZUFzc2lzdGFudFJlcXVlc3QsXG4gICAgRGVsZXRlQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgRGVsZXRlRnVuY3Rpb25SZXF1ZXN0LFxuICAgIERlbGV0ZUdvYWxSZXF1ZXN0LFxuICAgIERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgRGVsZXRlUHJvbXB0UmVxdWVzdCxcbiAgICBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIERlcGxveVByb21wdFJlcXVlc3QsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVxdWVzdEZpbHRlcnMsXG4gICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBc3Npc3RhbnRSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0RnVuY3Rpb25SZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0R29hbHNSZXF1ZXN0RmlsdGVycyxcbiAgICBHZW5lcmF0ZUNoYXRBbnN3ZXJSZXF1ZXN0LFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlc3BvbnNlLFxuICAgIEdldEFzc2lzdGFudFJlcXVlc3QsXG4gICAgR2V0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgR2V0Q2hhdEFuc3dlckZ1bmN0aW9uRXhlY3V0aW9uSm9iUmVxdWVzdCxcbiAgICBHZXRDaGF0QW5zd2VyRnVuY3Rpb25FeGVjdXRpb25Kb2JSZXNwb25zZSxcbiAgICBHZXRDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBHZXRDb25uZWN0aW9uUmVzcG9uc2UsXG4gICAgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXREZXBsb3llZFByb21wdFZlcnNpb25SZXF1ZXN0LFxuICAgIEdldERlcGxveWVkUHJvbXB0VmVyc2lvblJlc3BvbnNlLFxuICAgIEdldEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBHZXRGdW5jdGlvblJlc3BvbnNlLFxuICAgIEdldEdvYWxSZXF1ZXN0LFxuICAgIEdldEdvYWxSZXNwb25zZSxcbiAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRNdWx0aURlcGxveWVkUHJvbXB0VmVyc2lvblJlcXVlc3QsXG4gICAgR2V0TXVsdGlEZXBsb3llZFByb21wdFZlcnNpb25SZXNwb25zZSxcbiAgICBHZXRNdWx0aUZ1bmN0aW9uUmVxdWVzdCxcbiAgICBHZXRNdWx0aUZ1bmN0aW9uUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlHb2FsUmVxdWVzdCxcbiAgICBHZXRNdWx0aUdvYWxSZXNwb25zZSxcbiAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgR2V0UHJvbXB0UmVxdWVzdCxcbiAgICBHZXRQcm9tcHRSZXNwb25zZSxcbiAgICBHZXRQcm9tcHRWZXJzaW9uUmVxdWVzdCxcbiAgICBHZXRQcm9tcHRWZXJzaW9uUmVzcG9uc2UsXG4gICAgR29hbHNEaXNhYmxlZEZvckFjY291bnRHcm91cFJlcXVlc3QsXG4gICAgR29hbHNEaXNhYmxlZEZvckFjY291bnRHcm91cFJlc3BvbnNlLFxuICAgIExpc3RBbGxBc3Npc3RhbnRzQXNzb2NpYXRlZFRvQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgTGlzdEFsbEFzc2lzdGFudHNBc3NvY2lhdGVkVG9Db25uZWN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEFzc2lzdGFudFJlcXVlc3QsXG4gICAgTGlzdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgIExpc3RDb25uZWN0aW9uc1JlcXVlc3QsXG4gICAgTGlzdENvbm5lY3Rpb25zUmVzcG9uc2UsXG4gICAgTGlzdEZ1bmN0aW9uUmVxdWVzdCxcbiAgICBMaXN0RnVuY3Rpb25SZXNwb25zZSxcbiAgICBMaXN0R29hbHNSZXF1ZXN0LFxuICAgIExpc3RHb2Fsc1Jlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1Jlc3BvbnNlLFxuICAgIExpc3RQcm9tcHRSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRSZXNwb25zZSxcbiAgICBMaXN0UHJvbXB0VmVyc2lvbnNSZXF1ZXN0LFxuICAgIExpc3RQcm9tcHRWZXJzaW9uc1Jlc3BvbnNlLFxuICAgIEdlbmVyYXRlQ2hhdEFuc3dlclJlcXVlc3RPcHRpb25zLFxuICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0T3B0aW9ucyxcbiAgICBVcHNlcnRBc3Npc3RhbnRSZXF1ZXN0T3B0aW9ucyxcbiAgICBTZXRBc3Npc3RhbnRDb25uZWN0aW9uc1JlcXVlc3QsXG4gICAgVXBkYXRlR29hbFJlcXVlc3QsXG4gICAgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICBVcGRhdGVQcm9tcHRSZXF1ZXN0LFxuICAgIFVwc2VydEFzc2lzdGFudFJlcXVlc3QsXG4gICAgVXBzZXJ0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgVXBzZXJ0Q29ubmVjdGlvblJlcXVlc3QsXG4gICAgVXBzZXJ0RnVuY3Rpb25SZXF1ZXN0LFxuICAgIFVwc2VydEdvYWxSZXF1ZXN0LFxufSBmcm9tICcuL2FwaSc7XG5cbiJdfQ==
@@ -5,7 +5,7 @@
5
5
  // API Service.
6
6
  // *********************************
7
7
  import { Injectable } from '@angular/core';
8
- import { CreatePromptModuleRequest, CreatePromptModuleVersionRequest, DeletePromptModuleRequest, DeployPromptModuleRequest, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, UpdatePromptModuleRequest, } from './objects/';
8
+ import { CreatePromptModuleRequest, CreatePromptModuleResponse, CreatePromptModuleVersionRequest, DeletePromptModuleRequest, DeployPromptModuleRequest, GetDeployedPromptModuleVersionRequest, GetDeployedPromptModuleVersionResponse, GetHydratedDeployedPromptModuleVersionRequest, GetHydratedDeployedPromptModuleVersionResponse, GetMultiHydratedDeployedPromptModuleVersionRequest, GetMultiHydratedDeployedPromptModuleVersionResponse, GetPromptModuleRequest, GetPromptModuleResponse, GetPromptModuleVersionRequest, GetPromptModuleVersionResponse, ListPromptModuleRequest, ListPromptModuleResponse, ListPromptModuleVersionsRequest, ListPromptModuleVersionsResponse, UpdatePromptModuleRequest, } from './objects/';
9
9
  import { HttpHeaders, HttpClient } from '@angular/common/http';
10
10
  import { inject } from '@angular/core';
11
11
  import { HostService } from '../_generated/host.service';
@@ -27,7 +27,8 @@ export class PromptModuleApiService {
27
27
  }
28
28
  create(r) {
29
29
  const request = (r.toApiJson) ? r : new CreatePromptModuleRequest(r);
30
- return this.http.post(this._host + "/ai_assistants.v1alpha1.PromptModuleService/Create", request.toApiJson(), { ...this.apiOptions(), observe: 'response' });
30
+ return this.http.post(this._host + "/ai_assistants.v1alpha1.PromptModuleService/Create", request.toApiJson(), this.apiOptions())
31
+ .pipe(map(resp => CreatePromptModuleResponse.fromProto(resp)));
31
32
  }
32
33
  createVersion(r) {
33
34
  const request = (r.toApiJson) ? r : new CreatePromptModuleVersionRequest(r);
@@ -87,4 +88,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
87
88
  type: Injectable,
88
89
  args: [{ providedIn: 'root' }]
89
90
  }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LW1vZHVsZS5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FpX2Fzc2lzdGFudHNfc2RrL3NyYy9saWIvX2ludGVybmFsL3Byb21wdC1tb2R1bGUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0MseUJBQXlCLEVBQ3pCLGdDQUFnQyxFQUNoQyx5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHFDQUFxQyxFQUNyQyxzQ0FBc0MsRUFDdEMsNkNBQTZDLEVBQzdDLDhDQUE4QyxFQUM5QyxrREFBa0QsRUFDbEQsbURBQW1ELEVBQ25ELHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQixnQ0FBZ0MsRUFDaEMseUJBQXlCLEdBQ2hDLE1BQU0sWUFBWSxDQUFDO0FBc0JwQixPQUFPLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBZSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHbkMsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVxQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxD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QUN0RixNQUFNLE9BQU8sR0FBRyxDQUFtQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFtQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksK0JBQStCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakosT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBNEMsSUFBSSxDQUFDLEtBQUssR0FBRywwREFBMEQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzVLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDaEUsQ0FBQztJQUNWLENBQUM7SUFDRCxNQUFNLENBQUMsQ0FBaUU7UUFDcEUsTUFBTSxPQUFPLEdBQUcsQ0FBNkIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBNkIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxvREFBb0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNySyxDQUFDOztvSEFsRlEsc0JBQXNCO3dIQUF0QixzQkFBc0IsY0FEVixNQUFNOzRGQUNsQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgICAgIENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgICAgICBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgICAgICBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgICAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgICAgICBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICAgICAgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgICAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICAgICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdCxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlcGxveVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQcm9tcHRNb2R1bGVBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RTZXJ2aWNlID0gaW5qZWN0KEhvc3RTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjcmVhdGUocjogQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCB8IENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0NyZWF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlVmVyc2lvbihyOiBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCB8IENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9DcmVhdGVWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXQocjogR2V0UHJvbXB0TW9kdWxlUmVxdWVzdCB8IEdldFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFByb21wdE1vZHVsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgR2V0UHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0dldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFByb21wdE1vZHVsZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFZlcnNpb24ocjogR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QgfCBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKSA6IG5ldyBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9HZXRWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldERlcGxveWVkVmVyc2lvbihyOiBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0IHwgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKSA6IG5ldyBHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvR2V0RGVwbG95ZWRWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0SHlkcmF0ZWREZXBsb3llZFZlcnNpb24ocjogR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0IHwgR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpIDogbmV3IEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvR2V0SHlkcmF0ZWREZXBsb3llZFZlcnNpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpSHlkcmF0ZWREZXBsb3llZFZlcnNpb24ocjogR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QgfCBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9HZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZShyOiBVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0IHwgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvVXBkYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZXBsb3kocjogRGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdCB8IERlcGxveVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IERlcGxveVByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0RlcGxveVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdChyOiBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdCB8IExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IExpc3RQcm9tcHRNb2R1bGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0xpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0UHJvbXB0TW9kdWxlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdFZlcnNpb25zKHI6IExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3QgfCBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0PnIpIDogbmV3IExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9MaXN0VmVyc2lvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGUocjogRGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdCB8IERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0RlbGV0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgXG59XG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LW1vZHVsZS5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FpX2Fzc2lzdGFudHNfc2RrL3NyYy9saWIvX2ludGVybmFsL3Byb21wdC1tb2R1bGUuYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0MseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixnQ0FBZ0MsRUFDaEMseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLDZDQUE2QyxFQUM3Qyw4Q0FBOEMsRUFDOUMsa0RBQWtELEVBQ2xELG1EQUFtRCxFQUNuRCxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLHlCQUF5QixHQUNoQyxNQUFNLFlBQVksQ0FBQztBQXVCcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25DLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFcUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxVQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUM7S0FvRm5EO0lBbEZXLFVBQVU7UUFDZCxPQUFPO1lBQ0gsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixjQUFjLEVBQUUsa0JBQWtCO2FBQ3JDLENBQUM7WUFDRixlQUFlLEVBQUUsSUFBSTtTQUN4QixDQUFDO0lBQ04sQ0FBQztJQUVELE1BQU0sQ0FBQyxDQUFpRTtRQUNwRSxNQUFNLE9BQU8sR0FBRyxDQUE2QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE2QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBc0MsSUFBSSxDQUFDLEtBQUssR0FBRyxvREFBb0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2hLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDMUQsQ0FBQztJQUNWLENBQUM7SUFDRCxhQUFhLENBQUMsQ0FBK0U7UUFDekYsTUFBTSxPQUFPLEdBQUcsQ0FBb0MsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBb0MsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGdDQUFnQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRywyREFBMkQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUM1SyxDQUFDO0lBQ0QsR0FBRyxDQUFDLENBQTJEO1FBQzNELE1BQU0sT0FBTyxHQUFHLENBQTBCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTBCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFtQyxJQUFJLENBQUMsS0FBSyxHQUFHLGlEQUFpRCxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDMUosSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN2RCxDQUFDO0lBQ1YsQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUF5RTtRQUNoRixNQUFNLE9BQU8sR0FBRyxDQUFpQyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFpQyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksNkJBQTZCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0ksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEMsSUFBSSxDQUFDLEtBQUssR0FBRyx3REFBd0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDOUQsQ0FBQztJQUNWLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxDQUF5RjtRQUN4RyxNQUFNLE9BQU8sR0FBRyxDQUF5QyxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUF5QyxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkscUNBQXFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkssT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBa0QsSUFBSSxDQUFDLEtBQUssR0FBRyxnRUFBZ0UsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hMLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDdEUsQ0FBQztJQUNWLENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxDQUF5RztRQUNoSSxNQUFNLE9BQU8sR0FBRyxDQUFpRCxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFpRCxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksNkNBQTZDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0wsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBMEQsSUFBSSxDQUFDLEtBQUssR0FBRyx3RUFBd0UsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3hNLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyw4Q0FBOEMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDOUUsQ0FBQztJQUNWLENBQUM7SUFDRCwrQkFBK0IsQ0FBQyxDQUFtSDtRQUMvSSxNQUFNLE9BQU8sR0FBRyxDQUFzRCxDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFzRCxDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksa0RBQWtELENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMU0sT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBK0QsSUFBSSxDQUFDLEtBQUssR0FBRyw2RUFBNkUsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ2xOLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxtREFBbUQsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDbkYsQ0FBQztJQUNWLENBQUM7SUFDRCxNQUFNLENBQUMsQ0FBaUU7UUFDcEUsTUFBTSxPQUFPLEdBQUcsQ0FBNkIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBNkIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxvREFBb0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztJQUNySyxDQUFDO0lBQ0QsTUFBTSxDQUFDLENBQWlFO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLENBQTZCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTZCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsb0RBQW9ELEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDckssQ0FBQztJQUNELElBQUksQ0FBQyxDQUE2RDtRQUM5RCxNQUFNLE9BQU8sR0FBRyxDQUEyQixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUEyQixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBb0MsSUFBSSxDQUFDLEtBQUssR0FBRyxrREFBa0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQzVKLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDeEQsQ0FBQztJQUNWLENBQUM7SUFDRCxZQUFZLENBQUMsQ0FBNkU7UUFDdEYsTUFBTSxPQUFPLEdBQUcsQ0FBbUMsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBbUMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLCtCQUErQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQTRDLElBQUksQ0FBQyxLQUFLLEdBQUcsMERBQTBELEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUM1SyxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hFLENBQUM7SUFDVixDQUFDO0lBQ0QsTUFBTSxDQUFDLENBQWlFO1FBQ3BFLE1BQU0sT0FBTyxHQUFHLENBQTZCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTZCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsb0RBQW9ELEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7SUFDckssQ0FBQzs7b0hBckZRLHNCQUFzQjt3SEFBdEIsc0JBQXNCLGNBRFYsTUFBTTs0RkFDbEIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgICAgIERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIERlcGxveVByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgICAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QsXG4gICAgICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2UsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVJlcXVlc3QsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCxcbiAgICAgICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdCxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVJlc3BvbnNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0LFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZSxcbiAgICAgICAgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlcGxveVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBQcm9tcHRNb2R1bGVBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3RTZXJ2aWNlID0gaW5qZWN0KEhvc3RTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBjcmVhdGUocjogQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCB8IENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVByb21wdE1vZHVsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlUHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVByb21wdE1vZHVsZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0NyZWF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVByb21wdE1vZHVsZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZVZlcnNpb24ocjogQ3JlYXRlUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3QgfCBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvQ3JlYXRlVmVyc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0KHI6IEdldFByb21wdE1vZHVsZVJlcXVlc3QgfCBHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRQcm9tcHRNb2R1bGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0UHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IEdldFByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9HZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRQcm9tcHRNb2R1bGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRWZXJzaW9uKHI6IEdldFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0IHwgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikgOiBuZXcgR2V0UHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvR2V0VmVyc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXREZXBsb3llZFZlcnNpb24ocjogR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCB8IEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikgOiBuZXcgR2V0RGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0dldERlcGxveWVkVmVyc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEh5ZHJhdGVkRGVwbG95ZWRWZXJzaW9uKHI6IEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdCB8IEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVxdWVzdD5yKSA6IG5ldyBHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL0dldEh5ZHJhdGVkRGVwbG95ZWRWZXJzaW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0SHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRWZXJzaW9uKHI6IEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXF1ZXN0IHwgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkUHJvbXB0TW9kdWxlVmVyc2lvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUh5ZHJhdGVkRGVwbG95ZWRQcm9tcHRNb2R1bGVWZXJzaW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvR2V0TXVsdGlIeWRyYXRlZERlcGxveWVkVmVyc2lvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpSHlkcmF0ZWREZXBsb3llZFByb21wdE1vZHVsZVZlcnNpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGUocjogVXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdCB8IFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVQcm9tcHRNb2R1bGVSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZVByb21wdE1vZHVsZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvYWlfYXNzaXN0YW50cy52MWFscGhhMS5Qcm9tcHRNb2R1bGVTZXJ2aWNlL1VwZGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVwbG95KHI6IERlcGxveVByb21wdE1vZHVsZVJlcXVlc3QgfCBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlcGxveVByb21wdE1vZHVsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVwbG95UHJvbXB0TW9kdWxlUmVxdWVzdD5yKSA6IG5ldyBEZXBsb3lQcm9tcHRNb2R1bGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9EZXBsb3lcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3QocjogTGlzdFByb21wdE1vZHVsZVJlcXVlc3QgfCBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFByb21wdE1vZHVsZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdD5yKSA6IG5ldyBMaXN0UHJvbXB0TW9kdWxlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RQcm9tcHRNb2R1bGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9MaXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFByb21wdE1vZHVsZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RWZXJzaW9ucyhyOiBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0IHwgTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RQcm9tcHRNb2R1bGVWZXJzaW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVxdWVzdD5yKSA6IG5ldyBMaXN0UHJvbXB0TW9kdWxlVmVyc2lvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9haV9hc3Npc3RhbnRzLnYxYWxwaGExLlByb21wdE1vZHVsZVNlcnZpY2UvTGlzdFZlcnNpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFByb21wdE1vZHVsZVZlcnNpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlKHI6IERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3QgfCBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZVByb21wdE1vZHVsZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlUHJvbXB0TW9kdWxlUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVQcm9tcHRNb2R1bGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2FpX2Fzc2lzdGFudHMudjFhbHBoYTEuUHJvbXB0TW9kdWxlU2VydmljZS9EZWxldGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIFxufVxuIl19