@techextensor/tab-core-utility 2.2.114 → 2.2.115

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.
@@ -168,6 +168,9 @@ export class TabGetService {
168
168
  }).pipe(switchMap((res) => {
169
169
  if (res.StatusCode === '200') {
170
170
  const Configuration = JSON.parse(res.Result[0].Configuration || '{}');
171
+ if (Configuration.WhereClause?.Filters) {
172
+ Configuration.WhereClause.Filters = this.removeWhereClauseForEmptyParams(Configuration.WhereClause.Filters, parameters || {});
173
+ }
171
174
  return this.selectExecutor(Configuration, parameters);
172
175
  }
173
176
  else {
@@ -175,6 +178,20 @@ export class TabGetService {
175
178
  }
176
179
  }));
177
180
  }
181
+ removeWhereClauseForEmptyParams(filters, parameters) {
182
+ return filters.filter((filter) => {
183
+ if (filter.ValueType === FilterValueType.Parameter) {
184
+ const parameterName = filter.Value;
185
+ if (parameters?.hasOwnProperty(parameterName) && parameters[parameterName] === '') {
186
+ return false; // Remove filter
187
+ }
188
+ }
189
+ if (Object.keys(parameters || {}).length === 0 && filter.ValueType === FilterValueType.Parameter) {
190
+ return false; // Remove filter
191
+ }
192
+ return true; // Keep filter
193
+ });
194
+ }
178
195
  getTestConnection(connectionId, params) {
179
196
  if (connectionId) {
180
197
  const headers = getHeaders();
@@ -363,4 +380,4 @@ export class TabGetService {
363
380
  type: Injectable,
364
381
  args: [{ providedIn: 'root' }]
365
382
  }], null, null); })();
366
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLDBCQUEwQixHQUMzQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR2pDLE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQXNaaEQ7SUFwWkM7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLElBQVM7UUFDN0IsTUFB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eEMsSUFBSTtZQUNKLDhCQUE4QjtZQUM5QixPQUFPLENBQ1IsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0NBQWdDLENBQUMsSUFBUztRQUN4QyxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUM3QixJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osd0NBQXdDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3pCLDJEQUEyRDtZQUMzRCxHQUFHLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxFQUN6QyxJQUFJO1lBQ0osOEJBQThCO1lBQzlCLE9BQU8sQ0FDUixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4RUF2WlUsYUFBYTt1RUFBYixhQUFhLFdBQWIsYUFBYSxtQkFEQSxNQUFNOztpRkFDbkIsYUFBYTtjQUR6QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IERTUUhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvY29tbW9uL2RzcS5oZWxwZXJzJztcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gJy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0QXBwT2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMvdGFiLWFwcC51dGlsJztcclxuaW1wb3J0IHsgQ29tbW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFQSVNlbGVjdFF1ZXJ5IH0gZnJvbSAnLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbHRlclZhbHVlVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwT2JqZWN0c0NvbnN0YW50cyxcclxuICBEYXRhU291cmNlUXVlcmllc0NvbnN0YW50cyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvYXBwLW9iamVjdC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJHZXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FIZWxwZXIgPSBpbmplY3QoRFNRSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZSBSQVcgRFNRIHdpdGggTmFtZVxyXG4gICAqIEBwYXJhbSBkYXRhIC0gT2JqZWN0IGNvbnRhaW5pbmcgQXBwT2JqZWN0TmFtZSBhbmQgRFNRTmFtZVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGV4ZWN1dGVSQVdEU1FXaXRoTmFtZShkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICBgJHtBUEkuZ2V0RFNRfS8ke2RhdGEuQXBwT2JqZWN0TmFtZX0vJHtkYXRhLkRTUU5hbWV9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFJlY29yZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBQYXJhbWV0ZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFJlY29yZChwYXJhbXM6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoYCR7QVBJLmdldHJlY29yZH1gLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlIFJhdyBTUUxcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZXhlY3V0ZVJhd1NxbChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkucmF3U1FMfSR7ZGF0YX1gLCAnJywgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBIaXN0b3J5XHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdFxyXG4gICAqIEBwYXJhbSByZWNvcmRJZHMgLSBBcnJheSBvZiByZWNvcmQgSURzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0SGlzdG9yeShhcHBPYmplY3RJZDogc3RyaW5nLCByZWNvcmRJZHM6IHN0cmluZ1tdKTogYW55IHtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHt9O1xyXG4gICAgaWYgKGFwcE9iamVjdElkICYmIHJlY29yZElkcykge1xyXG4gICAgICBjb25zdCBhcHBPYmplY3ROYW1lID0gZ2V0QXBwT2JqZWN0KGFwcE9iamVjdElkKT8uT2JqZWN0TmFtZTtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGFwcE9iamVjdE5hbWUgJiYgaGVhZGVycykge1xyXG4gICAgICAgIGRhdGEuT2JqZWN0TmFtZSA9IGFwcE9iamVjdE5hbWU7XHJcbiAgICAgICAgZGF0YS5SZWNvcmRJZHMgPSByZWNvcmRJZHM7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5nZXRIaXN0b3J5fWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZSBQYXNzd29yZFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgY2hhbmdpbmcgcGFzc3dvcmRcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBjaGFuZ2VQYXNzd29yZChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuY2hhbmdlUGFzc3dvcmR9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCBQYXNzd29yZFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgcmVzZXR0aW5nIHBhc3N3b3JkXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgcmVzZXRQYXNzd29yZChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgIGFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5yZXN0cGFzc3dvcmR9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQTUpBWSBJbXBvcnRcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIFBNSkFZIGltcG9ydFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHBtamF5SW1wb3J0KGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5wbWpheUltcG9ydH1gLCBkYXRhLCBoZWFkZXJzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGVzIGEgc2VsZWN0IHF1ZXJ5IHdpdGggb3B0aW9uYWwgcGFyYW1ldGVyc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIHNlbGVjdCBxdWVyeSBkYXRhXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5XHJcbiAgICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSBzZWxlY3QgcXVlcnkgZXhlY3V0aW9uXHJcbiAgICovXHJcbiAgc2VsZWN0RXhlY3V0b3IoZGF0YTogQVBJU2VsZWN0UXVlcnksIHBhcmFtZXRlcnM/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHBhcmFtZXRlcnMgJiYgT2JqZWN0LmtleXMocGFyYW1ldGVycykubGVuZ3RoKSB7XHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVyTG9naWMgPSBkYXRhLldoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljIHx8ICdbXSc7XHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycyA9IGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycyB8fCBbXTtcclxuICAgICAgZGF0YS5XaGVyZUNsYXVzZS5TUUxRdWVyeSA9IGRhdGEuV2hlcmVDbGF1c2UuU1FMUXVlcnkgfHwgJyc7XHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBSZXBsYWNlcyB2YWx1ZXMgZnJvbSBwYXJhbWV0ZXJzIGlmIG1hdGNoZWQgYW5kIGluIGZvcm1hdCBvZiB7e2tleX19LlxyXG4gICAgICAgKiBFeGFtcGxlOiBpZiBmaWx0ZXIuVmFsdWUgaXMgXCJ7e3VzZXJJZH19XCIgYW5kXHJcbiAgICAgICAqIHRoaXMuX3ZhbHVlLnBhcmFtZXRlcnMudXNlcklkIGlzIDEyMywgdGhlbiBmaWx0ZXIuVmFsdWUgd2lsbCBiZSByZXBsYWNlZCB3aXRoXHJcbiAgICAgICAqIFwiMTIzXCIuXHJcbiAgICAgICAqL1xyXG4gICAgICBkYXRhLldoZXJlQ2xhdXNlLkZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBmaWx0ZXIuVmFsdWVUeXBlIGlzIDEgKGxpdGVyYWwpXHJcbiAgICAgICAgaWYgKGZpbHRlci5WYWx1ZSAmJiBmaWx0ZXIuVmFsdWVUeXBlID09IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsKSB7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWUgPSBmaWx0ZXIuVmFsdWUucmVwbGFjZShcclxuICAgICAgICAgICAgL3t7KFtefV0rKX19L2csXHJcbiAgICAgICAgICAgIChtYXRjaDogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyc1trZXldO1xyXG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpZiB2YWx1ZVR5cGUgPSAyIChQYXJhbWV0ZXJzKVxyXG4gICAgICAgIC8vIHRoZW4gd2UgbmVlZCB0byByZXBsYWNlIHRoZSB2YWx1ZSB3aXRoIHBhcmFtZXRlcnMgYW5kIGNoYW5nZSB0aGUgdmFsdWVUeXBlIHRvIDEgKExpdGVyYWwpXHJcbiAgICAgICAgZWxzZSBpZiAoZmlsdGVyLlZhbHVlVHlwZSA9PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWUgPSBmaWx0ZXIuVmFsdWUucmVwbGFjZShcclxuICAgICAgICAgICAgLyhbXn1dKykvZyxcclxuICAgICAgICAgICAgKG1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXJzW2tleV07XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWVUeXBlID0gRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgKGRhdGE/LldoZXJlQ2xhdXNlPy5GaWx0ZXJzIHx8IFtdKS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBlbGVtZW50LlZhbHVlVHlwZSA9PT0gRmlsdGVyVmFsdWVUeXBlLlBhcmFtZXRlciAmJlxyXG4gICAgICAgICAgcGFyYW1ldGVyc1tlbGVtZW50LkZpZWxkSURdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBlbGVtZW50LlZhbHVlID0gcGFyYW1ldGVyc1tlbGVtZW50LkZpZWxkSURdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGRhdGEsIFF1ZXJ5VHlwZS5TZWxlY3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYSBzZWxlY3QgcXVlcnkgYnkgaXRzIElELCB1c2luZyB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBzZWxlY3RRdWVyeUlkIC0gVGhlIElEIG9mIHRoZSBzZWxlY3QgcXVlcnkgdG8gYmUgZXhlY3V0ZWQuXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIHNlbGVjdCBxdWVyeSBleGVjdXRpb24uXHJcbiAgICogQHRocm93cyBBbiBlcnJvciBpZiB0aGUgQVBJIHJlc3BvbnNlIHN0YXR1cyBjb2RlIGlzIG5vdCAnMjAwJy5cclxuICAgKi9cclxuICBleGVjdXRlU2VsZWN0UXVlcnlCeUlkKHNlbGVjdFF1ZXJ5SWQ6IHN0cmluZywgcGFyYW1ldGVycz86IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUkFXRFNRV2l0aE5hbWUoe1xyXG4gICAgICBBcHBPYmplY3ROYW1lOiBBcHBPYmplY3RzQ29uc3RhbnRzLlRBQkRfUXVlcmllcyxcclxuICAgICAgRFNRTmFtZTogRGF0YVNvdXJjZVF1ZXJpZXNDb25zdGFudHMuRGV0YWlsX1RBQkRfUXVlcmllcyxcclxuICAgICAgUmVxdG9rZW5zOiB7XHJcbiAgICAgICAgSUQ6IHNlbGVjdFF1ZXJ5SWQsXHJcbiAgICAgIH0sXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5TdGF0dXNDb2RlID09PSAnMjAwJykge1xyXG4gICAgICAgICAgY29uc3QgQ29uZmlndXJhdGlvbiA9IEpTT04ucGFyc2UocmVzLlJlc3VsdFswXS5Db25maWd1cmF0aW9uIHx8ICd7fScpO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0RXhlY3V0b3IoQ29uZmlndXJhdGlvbiwgcGFyYW1ldGVycyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihyZXMuTWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRlc3RDb25uZWN0aW9uKGNvbm5lY3Rpb25JZDogYW55LCBwYXJhbXM/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKGNvbm5lY3Rpb25JZCkge1xyXG4gICAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgICAgYCR7QVBJLnRlc3RDb25uZWN0aW9ufSR7Y29ubmVjdGlvbklkfWAsXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICBoZWFkZXJzXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIGdldFBlcmZvcm1WYWxpZGF0aW9uKGNvbm5lY3Rpb25JZDogYW55LCBwYXJhbXM/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKGNvbm5lY3Rpb25JZCkge1xyXG4gICAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgICAgYCR7QVBJLnBlcmZvcm1WYWxpZGF0aW9ufSR7Y29ubmVjdGlvbklkfWAsXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICBoZWFkZXJzXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgZ2l2ZW4gdGVuYW50XHJcbiAgICogQHBhcmFtIGNvbm5lY3Rpb25JZCBUaGUgSUQgb2YgdGhlIGNvbm5lY3Rpb25cclxuICAgKiBAcmV0dXJucyBBbiBvYnNlcnZhYmxlIG9mIHRoZSByZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBzZXRUYWJDb21wb25lbnRzRm9yVGVuYW50KGNvbm5lY3Rpb25JZDogc3RyaW5nLCBkYXRhPzogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAvLyBTZXQgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgdGVuYW50XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZm9yIHNldHRpbmcgdGFiIGNvbXBvbmVudHNcclxuICAgICAgICBgJHtBUEkuc2V0VGFiQ29tcG9uZW50c30ke2Nvbm5lY3Rpb25JZH1gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIGEgZm9ybSBjb25maWd1cmF0aW9uIGZvciBhIGNvbW1vbiBmaWx0ZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGFwcGxpY2F0aW9uIG9iamVjdCBJRC5cclxuICAgKiBAcGFyYW0gYXBwT2JqZWN0SWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdC5cclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSSBvciBudWxsIGlmIGhlYWRlcnMgYXJlIHVuYXZhaWxhYmxlLlxyXG4gICAqL1xyXG4gIGdldEJ1aWxkRm9ybUlPRm9yQ29tbW9uRmlsdGVyKGFwcE9iamVjdElkOiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5CdWlsZEZvcm1JT0NvbXBvbmVudHN9JHthcHBPYmplY3RJZH0mVHlwZT1Db21tb25GaWx0ZXJgLFxyXG4gICAgICAgIHBhcmFtcyxcclxuICAgICAgICBoZWFkZXJzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGZvcm0gY29uZmlndXJhdGlvbiBmb3IgYSBidWxrIHVwZGF0ZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgYXBwbGljYXRpb24gb2JqZWN0IElELlxyXG4gICAqIEBwYXJhbSBhcHBPYmplY3RJZCAtIFRoZSBJRCBvZiB0aGUgYXBwbGljYXRpb24gb2JqZWN0LlxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIGZvciB0aGUgcmVxdWVzdC5cclxuICAgKiBAcmV0dXJucyBUaGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJIG9yIG51bGwgaWYgaGVhZGVycyBhcmUgdW5hdmFpbGFibGUuXHJcbiAgICovXHJcbiAgZ2V0QnVpbGRGb3JtSU9Gb3JCdWxrVXBkYXRlKGFwcE9iamVjdElkOiBzdHJpbmcsIHBhcmFtcz86IGFueSkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5CdWlsZEZvcm1JT0NvbXBvbmVudHN9JHthcHBPYmplY3RJZH0mVHlwZT1CdWxrVXBkYXRlYCxcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvLyAvKipcclxuICAvLyAgKiBHZXQgUmVzb3VyY2UgTGFuZ3VhZ2UgQnkgTGFuZ3VhZ2UgQ29kZVxyXG4gIC8vICAqIEBwYXJhbSBsYW5ndWFnZUNvZGUgLSBMYW5ndWFnZSBDb2RlXHJcbiAgLy8gICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgLy8gICovXHJcbiAgLy8gZ2V0UmVzb3VyY2VMYW5ndWFnZUJ5TGFuZ3VhZ2VDb2RlKGxhbmd1YWdlQ29kZTogbnVtYmVyKTogYW55IHtcclxuICAvLyAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgLy8gICBpZiAoaGVhZGVycykge1xyXG4gIC8vICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgLy8gICAgICAgYCR7QVBJLmxhbmd1YWdlUmVzb3VyY2V9YCxcclxuICAvLyAgICAgICB7IExhbmd1YWdlQ29kZTogbGFuZ3VhZ2VDb2RlIH0sXHJcbiAgLy8gICAgICAgaGVhZGVyc1xyXG4gIC8vICAgICApO1xyXG4gIC8vICAgfVxyXG4gIC8vICAgcmV0dXJuIG51bGw7XHJcbiAgLy8gfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgU2VhcmNoIERhdGFcclxuICAgKiBAcGFyYW0gc2VhcmNoUXVlcnkgLSBTZWFyY2ggUXVlcnkgc3RyaW5nXHJcbiAgICogQHBhcmFtIGxpbWl0IC0gTGltaXQgb2Ygc2VhcmNoIHJlc3VsdHNcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBnZXRTZWFyY2hEYXRhKHNlYXJjaFF1ZXJ5OiBzdHJpbmcsIGxpbWl0OiBudW1iZXIsIHBhcmFtcz86IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoXHJcbiAgICAgICAgYCR7QVBJLnNlYXJjaH0/c2VhcmNoUXVlcnk9JHtzZWFyY2hRdWVyeX0mbGltaXQ9JHtsaW1pdH1gLFxyXG4gICAgICAgIHBhcmFtcyxcclxuICAgICAgICBoZWFkZXJzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEluc2VydCBTY3JlZW4gUGVyZm9ybWFuY2UgU3RhdGlzdGljc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBpbnNlcnRcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBpbnNlcnRTY3JlZW5QZXJmb3JtYW5jZVN0YXRpc3RpY3MoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAvLyBTZXQgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgdGVuYW50XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZm9yIGluc2VydGluZyBzY3JlZW4gcGVyZm9ybWFuY2Ugc3RhdGlzdGljc1xyXG4gICAgICAgIGAke0FQSS5JbnNlcnRTY3JlZW5QZXJmb3JtYW5jZUFuYWx5dGljc31gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlcyBhbiBIVFRQIHJlcXVlc3Qgd2l0aCB0aGUgc3BlY2lmaWVkIG1ldGhvZCwgVVJMLCBoZWFkZXJzLCBhbmQgYm9keS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBmdWxsVXJsIC1UaGUgZnVsbCBVUkwgb2YgdGhlIHJlcXVlc3QgY29udGFpbmluZyB0aGUgcXVlcnkgcGFyYW1ldGVycy5cclxuICAgKiBAcGFyYW0gbWV0aG9kIC0gVGhlIEhUVFAgbWV0aG9kIHRvIGJlIHVzZWQgKCdHRVQnLCAnUE9TVCcsICdQVVQnLCAnREVMRVRFJykuXHJcbiAgICogQHBhcmFtIGhlYWRlcnMgLSBUaGUgaGVhZGVycyB0byBpbmNsdWRlIGluIHRoZSByZXF1ZXN0LlxyXG4gICAqIEBwYXJhbSBib2R5IC0gVGhlIGJvZHkgY29udGVudCBmb3IgbWV0aG9kcyBsaWtlIFBPU1QgYW5kIFBVVC5cclxuICAgKiBAcmV0dXJucyBUaGUgQVBJIHJlc3BvbnNlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHJlcXVlc3QuXHJcbiAgICovXHJcbiAgZXhlY3V0ZUh0dHBSZXF1ZXN0KFxyXG4gICAgZnVsbFVybDogYW55LFxyXG4gICAgbWV0aG9kOiAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ0RFTEVURScsXHJcbiAgICBoZWFkZXJzOiBhbnksXHJcbiAgICBib2R5OiBhbnlcclxuICApOiBhbnkge1xyXG4gICAgaGVhZGVycyA9IHtcclxuICAgICAgLi4uKGhlYWRlcnMgfHwge30pLFxyXG4gICAgICAnWC1Ta2lwLUludGVyY2VwdG9yJzogJ3RydWUnLFxyXG4gICAgICAnWC1Ta2lwLUF1dGgnOiAndHJ1ZScsXHJcbiAgICAgICdYLVRyYWNrLUFQSS1EZXRhaWxzJzogJ3RydWUnLFxyXG4gICAgfTtcclxuICAgIGlmIChtZXRob2QgPT0gJ0dFVCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXRCeVVybChmdWxsVXJsLCB7IGhlYWRlcnMgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1ldGhvZCA9PSAnUE9TVCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0QnlVcmwoZnVsbFVybCwgYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ1BVVCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wdXRCeVVybChmdWxsVXJsLCBib2R5LCB7IGhlYWRlcnMgfSk7XHJcbiAgICB9IGVsc2UgaWYgKG1ldGhvZCA9PSAnREVMRVRFJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmRlbGV0ZUJ5VXJsKGZ1bGxVcmwsIHsgaGVhZGVycyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdlbmVyYXRlcyBhbiBIVFRQIFJlcXVlc3QgYmFzZWQgb24gdGhlIHByb3ZpZGVkIERhdGFTb3VyY2VRdWVyeSBuYW1lXHJcbiAgICogQHBhcmFtIFF1ZXJ5TmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBEYXRhU291cmNlUXVlcnlcclxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBnZW5lcmF0ZWQgSFRUUCByZXF1ZXN0XHJcbiAgICovXHJcbiAgZ2VuZXJhdGVIdHRwUmVxdWVzdChRdWVyeU5hbWU6IHN0cmluZyk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoXHJcbiAgICAgICAgYCR7QVBJLkdlbmVyYXRlSHR0cFJlcXVlc3R9P2RzcU5hbWU9JHtRdWVyeU5hbWV9YCxcclxuICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgdGhlIGRldGFpbGVkIGFuYWx5dGljcyBvZiBhIHNjcmVlbidzIHBlcmZvcm1hbmNlLlxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBiZSBzZW50IHRvIHRoZSBBUElcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBnZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzKGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgLy8gU2V0IHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIHRlbmFudFxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgICAgICAgLy8gQVBJIGVuZHBvaW50IGZvciByZXRyaWV2aW5nIHRoZSBkZXRhaWxlZCBhbmFseXRpY3Mgb2YgYSBzY3JlZW4ncyBwZXJmb3JtYW5jZVxyXG4gICAgICAgIGAke0FQSS5HZXREZXRhaWxPZlBlcmZvcm1hbmNlQW5hbHl0aWNzfWAsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICAvLyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcclxuICAgICAgICBoZWFkZXJzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBzdW1tYXJ5IG9mIHBlcmZvcm1hbmNlIGFuYWx5dGljc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSB0byBiZSBzZW50IHRvIHRoZSBBUElcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBnZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljcyhkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIC8vIFNldCB0aGUgdGFiIGNvbXBvbmVudHMgZm9yIHRoZSB0ZW5hbnRcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gICAgICAgIC8vIEFQSSBlbmRwb2ludCBmb3IgaW5zZXJ0aW5nIHNjcmVlbiBwZXJmb3JtYW5jZSBzdGF0aXN0aWNzXHJcbiAgICAgICAgYCR7QVBJLkdldFN1bW1hcnlPZlBlcmZvcm1hbmNlQW5hbHl0aWNzfWAsXHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICAvLyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3RcclxuICAgICAgICBoZWFkZXJzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbn1cclxuIl19
383
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiLWdldC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2NydWQvdGFiLWdldC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLDBCQUEwQixHQUMzQixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR2pDLE1BQU0sT0FBTyxhQUFhO0lBRDFCO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztLQXNhaEQ7SUFwYUM7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLElBQVM7UUFDN0IsTUFB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O1lBQ1osd0NBQXdDO1lBQ3hDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJO1lBQ3pCLDJEQUEyRDtZQUMzRCxHQUFHLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxFQUN6QyxJQUFJO1lBQ0osOEJBQThCO1lBQzlCLE9BQU8sQ0FDUixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4RUF2YVUsYUFBYTt1RUFBYixhQUFhLFdBQWIsYUFBYSxtQkFEQSxNQUFNOztpRkFDbkIsYUFBYTtjQUR6QixVQUFVO2VBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xyXG5cclxuaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odHRwLWNsaWVudC9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IERTUUhlbHBlciB9IGZyb20gJy4uL2hlbHBlcnMvY29tbW9uL2RzcS5oZWxwZXJzJztcclxuaW1wb3J0IHsgZ2V0SGVhZGVycyB9IGZyb20gJy4uL3V0aWxzL3JlcS1yZXMudXRpbCc7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2NvbnN0YW50cy9hcGktY29uc3RhbnRzJztcclxuaW1wb3J0IHsgZ2V0QXBwT2JqZWN0IH0gZnJvbSAnLi4vdXRpbHMvdGFiLWFwcC51dGlsJztcclxuaW1wb3J0IHsgQ29tbW9uIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbW1vbic7XHJcbmltcG9ydCB7IEFQSVNlbGVjdFF1ZXJ5IH0gZnJvbSAnLi4vbW9kZWxzL2FwaS1xdWVyeS5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbHRlclZhbHVlVHlwZSB9IGZyb20gJy4uL2VudW1zL2RzcS5lbnVtJztcclxuaW1wb3J0IHsgUXVlcnlUeXBlIH0gZnJvbSAnLi4vZW51bXMvcXVlcnkuZW51bSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwT2JqZWN0c0NvbnN0YW50cyxcclxuICBEYXRhU291cmNlUXVlcmllc0NvbnN0YW50cyxcclxufSBmcm9tICcuLi9jb25zdGFudHMvYXBwLW9iamVjdC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUYWJHZXRTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFwaVNlcnZpY2UgPSBpbmplY3QoQXBpU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkc3FIZWxwZXIgPSBpbmplY3QoRFNRSGVscGVyKTtcclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZSBSQVcgRFNRIHdpdGggTmFtZVxyXG4gICAqIEBwYXJhbSBkYXRhIC0gT2JqZWN0IGNvbnRhaW5pbmcgQXBwT2JqZWN0TmFtZSBhbmQgRFNRTmFtZVxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGV4ZWN1dGVSQVdEU1FXaXRoTmFtZShkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICBgJHtBUEkuZ2V0RFNRfS8ke2RhdGEuQXBwT2JqZWN0TmFtZX0vJHtkYXRhLkRTUU5hbWV9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFJlY29yZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBQYXJhbWV0ZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIGdldFJlY29yZChwYXJhbXM6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5nZXQoYCR7QVBJLmdldHJlY29yZH1gLCBwYXJhbXMsIGhlYWRlcnMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFeGVjdXRlIFJhdyBTUUxcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZXhlY3V0ZVJhd1NxbChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkucmF3U1FMfSR7ZGF0YX1gLCAnJywgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCBIaXN0b3J5XHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdFxyXG4gICAqIEBwYXJhbSByZWNvcmRJZHMgLSBBcnJheSBvZiByZWNvcmQgSURzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0SGlzdG9yeShhcHBPYmplY3RJZDogc3RyaW5nLCByZWNvcmRJZHM6IHN0cmluZ1tdKTogYW55IHtcclxuICAgIGNvbnN0IGRhdGE6IGFueSA9IHt9O1xyXG4gICAgaWYgKGFwcE9iamVjdElkICYmIHJlY29yZElkcykge1xyXG4gICAgICBjb25zdCBhcHBPYmplY3ROYW1lID0gZ2V0QXBwT2JqZWN0KGFwcE9iamVjdElkKT8uT2JqZWN0TmFtZTtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGFwcE9iamVjdE5hbWUgJiYgaGVhZGVycykge1xyXG4gICAgICAgIGRhdGEuT2JqZWN0TmFtZSA9IGFwcE9iamVjdE5hbWU7XHJcbiAgICAgICAgZGF0YS5SZWNvcmRJZHMgPSByZWNvcmRJZHM7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5nZXRIaXN0b3J5fWAsIGRhdGEsIGhlYWRlcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENoYW5nZSBQYXNzd29yZFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgY2hhbmdpbmcgcGFzc3dvcmRcclxuICAgKiBAcmV0dXJucyBSZXNwb25zZSBmcm9tIHRoZSBBUElcclxuICAgKi9cclxuICBjaGFuZ2VQYXNzd29yZChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChgJHtBUEkuY2hhbmdlUGFzc3dvcmR9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXNldCBQYXNzd29yZFxyXG4gICAqIEBwYXJhbSBkYXRhIC0gRGF0YSBmb3IgcmVzZXR0aW5nIHBhc3N3b3JkXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgcmVzZXRQYXNzd29yZChkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgIGFwcGxpY2F0aW9uQ29kZTogQ29tbW9uLmFwcGxpY2F0aW9uQ29kZSxcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5yZXN0cGFzc3dvcmR9YCwgZGF0YSwgaGVhZGVycyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBQTUpBWSBJbXBvcnRcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgZm9yIFBNSkFZIGltcG9ydFxyXG4gICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gICAqL1xyXG4gIHBtamF5SW1wb3J0KGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KGAke0FQSS5wbWpheUltcG9ydH1gLCBkYXRhLCBoZWFkZXJzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4ZWN1dGVzIGEgc2VsZWN0IHF1ZXJ5IHdpdGggb3B0aW9uYWwgcGFyYW1ldGVyc1xyXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIHNlbGVjdCBxdWVyeSBkYXRhXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5XHJcbiAgICogQHJldHVybnMgUmVzdWx0IG9mIHRoZSBzZWxlY3QgcXVlcnkgZXhlY3V0aW9uXHJcbiAgICovXHJcbiAgc2VsZWN0RXhlY3V0b3IoZGF0YTogQVBJU2VsZWN0UXVlcnksIHBhcmFtZXRlcnM/OiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHBhcmFtZXRlcnMgJiYgT2JqZWN0LmtleXMocGFyYW1ldGVycykubGVuZ3RoKSB7XHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVyTG9naWMgPSBkYXRhLldoZXJlQ2xhdXNlLkZpbHRlckxvZ2ljIHx8ICdbXSc7XHJcbiAgICAgIGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycyA9IGRhdGEuV2hlcmVDbGF1c2UuRmlsdGVycyB8fCBbXTtcclxuICAgICAgZGF0YS5XaGVyZUNsYXVzZS5TUUxRdWVyeSA9IGRhdGEuV2hlcmVDbGF1c2UuU1FMUXVlcnkgfHwgJyc7XHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBSZXBsYWNlcyB2YWx1ZXMgZnJvbSBwYXJhbWV0ZXJzIGlmIG1hdGNoZWQgYW5kIGluIGZvcm1hdCBvZiB7e2tleX19LlxyXG4gICAgICAgKiBFeGFtcGxlOiBpZiBmaWx0ZXIuVmFsdWUgaXMgXCJ7e3VzZXJJZH19XCIgYW5kXHJcbiAgICAgICAqIHRoaXMuX3ZhbHVlLnBhcmFtZXRlcnMudXNlcklkIGlzIDEyMywgdGhlbiBmaWx0ZXIuVmFsdWUgd2lsbCBiZSByZXBsYWNlZCB3aXRoXHJcbiAgICAgICAqIFwiMTIzXCIuXHJcbiAgICAgICAqL1xyXG4gICAgICBkYXRhLldoZXJlQ2xhdXNlLkZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBmaWx0ZXIuVmFsdWVUeXBlIGlzIDEgKGxpdGVyYWwpXHJcbiAgICAgICAgaWYgKGZpbHRlci5WYWx1ZSAmJiBmaWx0ZXIuVmFsdWVUeXBlID09IEZpbHRlclZhbHVlVHlwZS5MaXRlcmFsKSB7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWUgPSBmaWx0ZXIuVmFsdWUucmVwbGFjZShcclxuICAgICAgICAgICAgL3t7KFtefV0rKX19L2csXHJcbiAgICAgICAgICAgIChtYXRjaDogc3RyaW5nLCBrZXk6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1ldGVyc1trZXldO1xyXG4gICAgICAgICAgICAgIHJldHVybiB2YWx1ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUgOiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpZiB2YWx1ZVR5cGUgPSAyIChQYXJhbWV0ZXJzKVxyXG4gICAgICAgIC8vIHRoZW4gd2UgbmVlZCB0byByZXBsYWNlIHRoZSB2YWx1ZSB3aXRoIHBhcmFtZXRlcnMgYW5kIGNoYW5nZSB0aGUgdmFsdWVUeXBlIHRvIDEgKExpdGVyYWwpXHJcbiAgICAgICAgZWxzZSBpZiAoZmlsdGVyLlZhbHVlVHlwZSA9PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWUgPSBmaWx0ZXIuVmFsdWUucmVwbGFjZShcclxuICAgICAgICAgICAgLyhbXn1dKykvZyxcclxuICAgICAgICAgICAgKG1hdGNoOiBzdHJpbmcsIGtleTogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbWV0ZXJzW2tleV07XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBmaWx0ZXIuVmFsdWVUeXBlID0gRmlsdGVyVmFsdWVUeXBlLkxpdGVyYWw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgKGRhdGE/LldoZXJlQ2xhdXNlPy5GaWx0ZXJzIHx8IFtdKS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBlbGVtZW50LlZhbHVlVHlwZSA9PT0gRmlsdGVyVmFsdWVUeXBlLlBhcmFtZXRlciAmJlxyXG4gICAgICAgICAgcGFyYW1ldGVyc1tlbGVtZW50LkZpZWxkSURdXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBlbGVtZW50LlZhbHVlID0gcGFyYW1ldGVyc1tlbGVtZW50LkZpZWxkSURdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kc3FIZWxwZXIuZXhlY3V0ZVF1ZXJ5KGRhdGEsIFF1ZXJ5VHlwZS5TZWxlY3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYSBzZWxlY3QgcXVlcnkgYnkgaXRzIElELCB1c2luZyB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cclxuICAgKlxyXG4gICAqIEBwYXJhbSBzZWxlY3RRdWVyeUlkIC0gVGhlIElEIG9mIHRoZSBzZWxlY3QgcXVlcnkgdG8gYmUgZXhlY3V0ZWQuXHJcbiAgICogQHBhcmFtIHBhcmFtZXRlcnMgLSBPcHRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIHF1ZXJ5LlxyXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIHNlbGVjdCBxdWVyeSBleGVjdXRpb24uXHJcbiAgICogQHRocm93cyBBbiBlcnJvciBpZiB0aGUgQVBJIHJlc3BvbnNlIHN0YXR1cyBjb2RlIGlzIG5vdCAnMjAwJy5cclxuICAgKi9cclxuICBleGVjdXRlU2VsZWN0UXVlcnlCeUlkKHNlbGVjdFF1ZXJ5SWQ6IHN0cmluZywgcGFyYW1ldGVycz86IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlUkFXRFNRV2l0aE5hbWUoe1xyXG4gICAgICBBcHBPYmplY3ROYW1lOiBBcHBPYmplY3RzQ29uc3RhbnRzLlRBQkRfUXVlcmllcyxcclxuICAgICAgRFNRTmFtZTogRGF0YVNvdXJjZVF1ZXJpZXNDb25zdGFudHMuRGV0YWlsX1RBQkRfUXVlcmllcyxcclxuICAgICAgUmVxdG9rZW5zOiB7XHJcbiAgICAgICAgSUQ6IHNlbGVjdFF1ZXJ5SWQsXHJcbiAgICAgIH0sXHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBzd2l0Y2hNYXAoKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcy5TdGF0dXNDb2RlID09PSAnMjAwJykge1xyXG4gICAgICAgICAgY29uc3QgQ29uZmlndXJhdGlvbiA9IEpTT04ucGFyc2UocmVzLlJlc3VsdFswXS5Db25maWd1cmF0aW9uIHx8ICd7fScpO1xyXG4gICAgICAgICAgaWYgKENvbmZpZ3VyYXRpb24uV2hlcmVDbGF1c2U/LkZpbHRlcnMpIHtcclxuICAgICAgICAgICAgQ29uZmlndXJhdGlvbi5XaGVyZUNsYXVzZS5GaWx0ZXJzID0gdGhpcy5yZW1vdmVXaGVyZUNsYXVzZUZvckVtcHR5UGFyYW1zKENvbmZpZ3VyYXRpb24uV2hlcmVDbGF1c2UuRmlsdGVycywgcGFyYW1ldGVycyB8fCB7fSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RFeGVjdXRvcihDb25maWd1cmF0aW9uLCBwYXJhbWV0ZXJzKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHJlcy5NZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICByZW1vdmVXaGVyZUNsYXVzZUZvckVtcHR5UGFyYW1zKGZpbHRlcnM6IGFueVtdLCBwYXJhbWV0ZXJzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYW55W10ge1xyXG4gICAgcmV0dXJuIGZpbHRlcnMuZmlsdGVyKChmaWx0ZXI6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChmaWx0ZXIuVmFsdWVUeXBlID09PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlck5hbWUgPSBmaWx0ZXIuVmFsdWU7XHJcbiAgICAgICAgICAgIGlmIChwYXJhbWV0ZXJzPy5oYXNPd25Qcm9wZXJ0eShwYXJhbWV0ZXJOYW1lKSAmJiBwYXJhbWV0ZXJzW3BhcmFtZXRlck5hbWVdID09PSAnJykge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBSZW1vdmUgZmlsdGVyXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHBhcmFtZXRlcnMgfHwge30pLmxlbmd0aCA9PT0gMCAmJiBmaWx0ZXIuVmFsdWVUeXBlID09PSBGaWx0ZXJWYWx1ZVR5cGUuUGFyYW1ldGVyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gUmVtb3ZlIGZpbHRlclxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTsgLy8gS2VlcCBmaWx0ZXJcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRUZXN0Q29ubmVjdGlvbihjb25uZWN0aW9uSWQ6IGFueSwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgIGlmIChjb25uZWN0aW9uSWQpIHtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICAgIGAke0FQSS50ZXN0Q29ubmVjdGlvbn0ke2Nvbm5lY3Rpb25JZH1gLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgaGVhZGVyc1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICBnZXRQZXJmb3JtVmFsaWRhdGlvbihjb25uZWN0aW9uSWQ6IGFueSwgcGFyYW1zPzogYW55KTogYW55IHtcclxuICAgIGlmIChjb25uZWN0aW9uSWQpIHtcclxuICAgICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICAgIGAke0FQSS5wZXJmb3JtVmFsaWRhdGlvbn0ke2Nvbm5lY3Rpb25JZH1gLFxyXG4gICAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgICAgaGVhZGVyc1xyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBTZXRzIHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIGdpdmVuIHRlbmFudFxyXG4gICAqIEBwYXJhbSBjb25uZWN0aW9uSWQgVGhlIElEIG9mIHRoZSBjb25uZWN0aW9uXHJcbiAgICogQHJldHVybnMgQW4gb2JzZXJ2YWJsZSBvZiB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgc2V0VGFiQ29tcG9uZW50c0ZvclRlbmFudChjb25uZWN0aW9uSWQ6IHN0cmluZywgZGF0YT86IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgLy8gU2V0IHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIHRlbmFudFxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgICAgICAgLy8gQVBJIGVuZHBvaW50IGZvciBzZXR0aW5nIHRhYiBjb21wb25lbnRzXHJcbiAgICAgICAgYCR7QVBJLnNldFRhYkNvbXBvbmVudHN9JHtjb25uZWN0aW9uSWR9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGZvcm0gY29uZmlndXJhdGlvbiBmb3IgYSBjb21tb24gZmlsdGVyIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBhcHBsaWNhdGlvbiBvYmplY3QgSUQuXHJcbiAgICogQHBhcmFtIGFwcE9iamVjdElkIC0gVGhlIElEIG9mIHRoZSBhcHBsaWNhdGlvbiBvYmplY3QuXHJcbiAgICogQHBhcmFtIHBhcmFtcyAtIE9wdGlvbmFsIHBhcmFtZXRlcnMgZm9yIHRoZSByZXF1ZXN0LlxyXG4gICAqIEByZXR1cm5zIFRoZSByZXNwb25zZSBmcm9tIHRoZSBBUEkgb3IgbnVsbCBpZiBoZWFkZXJzIGFyZSB1bmF2YWlsYWJsZS5cclxuICAgKi9cclxuICBnZXRCdWlsZEZvcm1JT0ZvckNvbW1vbkZpbHRlcihhcHBPYmplY3RJZDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuQnVpbGRGb3JtSU9Db21wb25lbnRzfSR7YXBwT2JqZWN0SWR9JlR5cGU9Q29tbW9uRmlsdGVyYCxcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBmb3JtIGNvbmZpZ3VyYXRpb24gZm9yIGEgYnVsayB1cGRhdGUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGFwcGxpY2F0aW9uIG9iamVjdCBJRC5cclxuICAgKiBAcGFyYW0gYXBwT2JqZWN0SWQgLSBUaGUgSUQgb2YgdGhlIGFwcGxpY2F0aW9uIG9iamVjdC5cclxuICAgKiBAcGFyYW0gcGFyYW1zIC0gT3B0aW9uYWwgcGFyYW1ldGVycyBmb3IgdGhlIHJlcXVlc3QuXHJcbiAgICogQHJldHVybnMgVGhlIHJlc3BvbnNlIGZyb20gdGhlIEFQSSBvciBudWxsIGlmIGhlYWRlcnMgYXJlIHVuYXZhaWxhYmxlLlxyXG4gICAqL1xyXG4gIGdldEJ1aWxkRm9ybUlPRm9yQnVsa1VwZGF0ZShhcHBPYmplY3RJZDogc3RyaW5nLCBwYXJhbXM/OiBhbnkpIHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmdldChcclxuICAgICAgICBgJHtBUEkuQnVpbGRGb3JtSU9Db21wb25lbnRzfSR7YXBwT2JqZWN0SWR9JlR5cGU9QnVsa1VwZGF0ZWAsXHJcbiAgICAgICAgcGFyYW1zLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLy8gLyoqXHJcbiAgLy8gICogR2V0IFJlc291cmNlIExhbmd1YWdlIEJ5IExhbmd1YWdlIENvZGVcclxuICAvLyAgKiBAcGFyYW0gbGFuZ3VhZ2VDb2RlIC0gTGFuZ3VhZ2UgQ29kZVxyXG4gIC8vICAqIEByZXR1cm5zIFJlc3BvbnNlIGZyb20gdGhlIEFQSVxyXG4gIC8vICAqL1xyXG4gIC8vIGdldFJlc291cmNlTGFuZ3VhZ2VCeUxhbmd1YWdlQ29kZShsYW5ndWFnZUNvZGU6IG51bWJlcik6IGFueSB7XHJcbiAgLy8gICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gIC8vICAgaWYgKGhlYWRlcnMpIHtcclxuICAvLyAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gIC8vICAgICAgIGAke0FQSS5sYW5ndWFnZVJlc291cmNlfWAsXHJcbiAgLy8gICAgICAgeyBMYW5ndWFnZUNvZGU6IGxhbmd1YWdlQ29kZSB9LFxyXG4gIC8vICAgICAgIGhlYWRlcnNcclxuICAvLyAgICAgKTtcclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBudWxsO1xyXG4gIC8vIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IFNlYXJjaCBEYXRhXHJcbiAgICogQHBhcmFtIHNlYXJjaFF1ZXJ5IC0gU2VhcmNoIFF1ZXJ5IHN0cmluZ1xyXG4gICAqIEBwYXJhbSBsaW1pdCAtIExpbWl0IG9mIHNlYXJjaCByZXN1bHRzXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0U2VhcmNoRGF0YShzZWFyY2hRdWVyeTogc3RyaW5nLCBsaW1pdDogbnVtYmVyLCBwYXJhbXM/OiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5zZWFyY2h9P3NlYXJjaFF1ZXJ5PSR7c2VhcmNoUXVlcnl9JmxpbWl0PSR7bGltaXR9YCxcclxuICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJbnNlcnQgU2NyZWVuIFBlcmZvcm1hbmNlIFN0YXRpc3RpY3NcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gaW5zZXJ0XHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgaW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VTdGF0aXN0aWNzKGRhdGE6IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBoZWFkZXJzID0gZ2V0SGVhZGVycygpO1xyXG4gICAgaWYgKGhlYWRlcnMpIHtcclxuICAgICAgLy8gU2V0IHRoZSB0YWIgY29tcG9uZW50cyBmb3IgdGhlIHRlbmFudFxyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoXHJcbiAgICAgICAgLy8gQVBJIGVuZHBvaW50IGZvciBpbnNlcnRpbmcgc2NyZWVuIHBlcmZvcm1hbmNlIHN0YXRpc3RpY3NcclxuICAgICAgICBgJHtBUEkuSW5zZXJ0U2NyZWVuUGVyZm9ybWFuY2VBbmFseXRpY3N9YCxcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIC8vIFRoZSBoZWFkZXJzIGZvciB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRXhlY3V0ZXMgYW4gSFRUUCByZXF1ZXN0IHdpdGggdGhlIHNwZWNpZmllZCBtZXRob2QsIFVSTCwgaGVhZGVycywgYW5kIGJvZHkuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZnVsbFVybCAtVGhlIGZ1bGwgVVJMIG9mIHRoZSByZXF1ZXN0IGNvbnRhaW5pbmcgdGhlIHF1ZXJ5IHBhcmFtZXRlcnMuXHJcbiAgICogQHBhcmFtIG1ldGhvZCAtIFRoZSBIVFRQIG1ldGhvZCB0byBiZSB1c2VkICgnR0VUJywgJ1BPU1QnLCAnUFVUJywgJ0RFTEVURScpLlxyXG4gICAqIEBwYXJhbSBoZWFkZXJzIC0gVGhlIGhlYWRlcnMgdG8gaW5jbHVkZSBpbiB0aGUgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0gYm9keSAtIFRoZSBib2R5IGNvbnRlbnQgZm9yIG1ldGhvZHMgbGlrZSBQT1NUIGFuZCBQVVQuXHJcbiAgICogQHJldHVybnMgVGhlIEFQSSByZXNwb25zZSBjb3JyZXNwb25kaW5nIHRvIHRoZSByZXF1ZXN0LlxyXG4gICAqL1xyXG4gIGV4ZWN1dGVIdHRwUmVxdWVzdChcclxuICAgIGZ1bGxVcmw6IGFueSxcclxuICAgIG1ldGhvZDogJ0dFVCcgfCAnUE9TVCcgfCAnUFVUJyB8ICdERUxFVEUnLFxyXG4gICAgaGVhZGVyczogYW55LFxyXG4gICAgYm9keTogYW55XHJcbiAgKTogYW55IHtcclxuICAgIGhlYWRlcnMgPSB7XHJcbiAgICAgIC4uLihoZWFkZXJzIHx8IHt9KSxcclxuICAgICAgJ1gtU2tpcC1JbnRlcmNlcHRvcic6ICd0cnVlJyxcclxuICAgICAgJ1gtU2tpcC1BdXRoJzogJ3RydWUnLFxyXG4gICAgICAnWC1UcmFjay1BUEktRGV0YWlscyc6ICd0cnVlJyxcclxuICAgIH07XHJcbiAgICBpZiAobWV0aG9kID09ICdHRVQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0QnlVcmwoZnVsbFVybCwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ1BPU1QnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdEJ5VXJsKGZ1bGxVcmwsIGJvZHksIHsgaGVhZGVycyB9KTtcclxuICAgIH0gZWxzZSBpZiAobWV0aG9kID09ICdQVVQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucHV0QnlVcmwoZnVsbFVybCwgYm9keSwgeyBoZWFkZXJzIH0pO1xyXG4gICAgfSBlbHNlIGlmIChtZXRob2QgPT0gJ0RFTEVURScpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5kZWxldGVCeVVybChmdWxsVXJsLCB7IGhlYWRlcnMgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZW5lcmF0ZXMgYW4gSFRUUCBSZXF1ZXN0IGJhc2VkIG9uIHRoZSBwcm92aWRlZCBEYXRhU291cmNlUXVlcnkgbmFtZVxyXG4gICAqIEBwYXJhbSBRdWVyeU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgRGF0YVNvdXJjZVF1ZXJ5XHJcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgZ2VuZXJhdGVkIEhUVFAgcmVxdWVzdFxyXG4gICAqL1xyXG4gIGdlbmVyYXRlSHR0cFJlcXVlc3QoUXVlcnlOYW1lOiBzdHJpbmcpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZ2V0KFxyXG4gICAgICAgIGAke0FQSS5HZW5lcmF0ZUh0dHBSZXF1ZXN0fT9kc3FOYW1lPSR7UXVlcnlOYW1lfWAsXHJcbiAgICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICAgIGhlYWRlcnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0cmlldmVzIHRoZSBkZXRhaWxlZCBhbmFseXRpY3Mgb2YgYSBzY3JlZW4ncyBwZXJmb3JtYW5jZS5cclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljcyhkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3QgaGVhZGVycyA9IGdldEhlYWRlcnMoKTtcclxuICAgIGlmIChoZWFkZXJzKSB7XHJcbiAgICAgIC8vIFNldCB0aGUgdGFiIGNvbXBvbmVudHMgZm9yIHRoZSB0ZW5hbnRcclxuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KFxyXG4gICAgICAgIC8vIEFQSSBlbmRwb2ludCBmb3IgcmV0cmlldmluZyB0aGUgZGV0YWlsZWQgYW5hbHl0aWNzIG9mIGEgc2NyZWVuJ3MgcGVyZm9ybWFuY2VcclxuICAgICAgICBgJHtBUEkuR2V0RGV0YWlsT2ZQZXJmb3JtYW5jZUFuYWx5dGljc31gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXQgc3VtbWFyeSBvZiBwZXJmb3JtYW5jZSBhbmFseXRpY3NcclxuICAgKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gYmUgc2VudCB0byB0aGUgQVBJXHJcbiAgICogQHJldHVybnMgUmVzcG9uc2UgZnJvbSB0aGUgQVBJXHJcbiAgICovXHJcbiAgZ2V0U3VtbWFyeU9mUGVyZm9ybWFuY2VBbmFseXRpY3MoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IGhlYWRlcnMgPSBnZXRIZWFkZXJzKCk7XHJcbiAgICBpZiAoaGVhZGVycykge1xyXG4gICAgICAvLyBTZXQgdGhlIHRhYiBjb21wb25lbnRzIGZvciB0aGUgdGVuYW50XHJcbiAgICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChcclxuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZm9yIGluc2VydGluZyBzY3JlZW4gcGVyZm9ybWFuY2Ugc3RhdGlzdGljc1xyXG4gICAgICAgIGAke0FQSS5HZXRTdW1tYXJ5T2ZQZXJmb3JtYW5jZUFuYWx5dGljc31gLFxyXG4gICAgICAgIGRhdGEsXHJcbiAgICAgICAgLy8gVGhlIGhlYWRlcnMgZm9yIHRoZSByZXF1ZXN0XHJcbiAgICAgICAgaGVhZGVyc1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -62,6 +62,7 @@ export declare class TabGetService {
62
62
  * @throws An error if the API response status code is not '200'.
63
63
  */
64
64
  executeSelectQueryById(selectQueryId: string, parameters?: any): any;
65
+ removeWhereClauseForEmptyParams(filters: any[], parameters: Record<string, any>): any[];
65
66
  getTestConnection(connectionId: any, params?: any): any;
66
67
  getPerformValidation(connectionId: any, params?: any): any;
67
68
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techextensor/tab-core-utility",
3
- "version": "2.2.114",
3
+ "version": "2.2.115",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.3.0",
6
6
  "@angular/core": "^17.3.0",