@revxui/intellibid-client-ts 1.0.65 → 1.0.67

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.
@@ -160,13 +160,22 @@ export class AudienceControllerService {
160
160
  reportProgress: reportProgress
161
161
  });
162
162
  }
163
- getAllAudiences(searchRequest, observe = 'body', reportProgress = false) {
164
- if (searchRequest === null || searchRequest === undefined) {
165
- throw new Error('Required parameter searchRequest was null or undefined when calling getAllAudiences.');
163
+ getAllAudiences(advertiserId, groupType, sourcePlatform, audienceType, audienceSource, observe = 'body', reportProgress = false) {
164
+ if (advertiserId === null || advertiserId === undefined) {
165
+ throw new Error('Required parameter advertiserId was null or undefined when calling getAllAudiences.');
166
166
  }
167
167
  let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
168
- if (searchRequest !== undefined && searchRequest !== null) {
169
- queryParameters = queryParameters.set('searchRequest', searchRequest);
168
+ if (groupType !== undefined && groupType !== null) {
169
+ queryParameters = queryParameters.set('groupType', groupType);
170
+ }
171
+ if (sourcePlatform !== undefined && sourcePlatform !== null) {
172
+ queryParameters = queryParameters.set('sourcePlatform', sourcePlatform);
173
+ }
174
+ if (audienceType !== undefined && audienceType !== null) {
175
+ queryParameters = queryParameters.set('audienceType', audienceType);
176
+ }
177
+ if (audienceSource !== undefined && audienceSource !== null) {
178
+ queryParameters = queryParameters.set('audienceSource', audienceSource);
170
179
  }
171
180
  let headers = this.defaultHeaders;
172
181
  // to determine the Accept header
@@ -179,7 +188,7 @@ export class AudienceControllerService {
179
188
  }
180
189
  // to determine the Content-Type header
181
190
  const consumes = [];
182
- return this.httpClient.request('get', `${this.basePath}/api/audiences`, {
191
+ return this.httpClient.request('get', `${this.basePath}/api/audiences/advertiser/${encodeURIComponent(String(advertiserId))}`, {
183
192
  params: queryParameters,
184
193
  withCredentials: this.configuration.withCredentials,
185
194
  headers: headers,
@@ -233,7 +242,7 @@ export class AudienceControllerService {
233
242
  if (httpContentTypeSelected != undefined) {
234
243
  headers = headers.set('Content-Type', httpContentTypeSelected);
235
244
  }
236
- return this.httpClient.request('patch', `${this.basePath}/api/audiences/groups/${encodeURIComponent(String(groupId))}/custom/ds-query/sql`, {
245
+ return this.httpClient.request('post', `${this.basePath}/api/audiences/groups/${encodeURIComponent(String(groupId))}/custom/ds-query/sql`, {
237
246
  body: body,
238
247
  withCredentials: this.configuration.withCredentials,
239
248
  headers: headers,
@@ -265,7 +274,36 @@ export class AudienceControllerService {
265
274
  if (httpContentTypeSelected != undefined) {
266
275
  headers = headers.set('Content-Type', httpContentTypeSelected);
267
276
  }
268
- return this.httpClient.request('patch', `${this.basePath}/api/audiences/groups/${encodeURIComponent(String(groupId))}/name`, {
277
+ return this.httpClient.request('post', `${this.basePath}/api/audiences/groups/${encodeURIComponent(String(groupId))}/name`, {
278
+ body: body,
279
+ withCredentials: this.configuration.withCredentials,
280
+ headers: headers,
281
+ observe: observe,
282
+ reportProgress: reportProgress
283
+ });
284
+ }
285
+ validateDsQuery(body, observe = 'body', reportProgress = false) {
286
+ if (body === null || body === undefined) {
287
+ throw new Error('Required parameter body was null or undefined when calling validateDsQuery.');
288
+ }
289
+ let headers = this.defaultHeaders;
290
+ // to determine the Accept header
291
+ let httpHeaderAccepts = [
292
+ '*/*'
293
+ ];
294
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
295
+ if (httpHeaderAcceptSelected != undefined) {
296
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
297
+ }
298
+ // to determine the Content-Type header
299
+ const consumes = [
300
+ 'application/json'
301
+ ];
302
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
303
+ if (httpContentTypeSelected != undefined) {
304
+ headers = headers.set('Content-Type', httpContentTypeSelected);
305
+ }
306
+ return this.httpClient.request('post', `${this.basePath}/api/audiences/validate-ds-query`, {
269
307
  body: body,
270
308
  withCredentials: this.configuration.withCredentials,
271
309
  headers: headers,
@@ -286,4 +324,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
286
324
  }] }, { type: i2.Configuration, decorators: [{
287
325
  type: Optional
288
326
  }] }]; } });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaWVuY2VDb250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvYXVkaWVuY2VDb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyxDQUFBLHVEQUF1RDtBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUNWLE1BQWdDLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUE2QixZQUFZLENBQUM7QUFhL0UsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7Ozs7QUFJckYsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsYUFBUSxHQUFHLG9DQUFvQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFHdkMsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUM1QjtRQUNELElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFrQjtRQUNyQyxNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUNu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Q0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQ3hJO1lBQ0ksSUFBSSxFQUFFLElBQUk7WUFDVixlQUFlLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ25ELE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGNBQWMsRUFBRSxjQUFjO1NBQ2pDLENBQ0osQ0FBQztJQUNOLENBQUM7O3VIQXpaUSx5QkFBeUIsNENBTStCLFNBQVM7MkhBTmpFLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQURyQyxVQUFVOzswQkFPd0MsUUFBUTs7MEJBQUcsTUFBTTsyQkFBQyxTQUFTOzswQkFBcUIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZWxsaWJpZCBBUElcbiAqIEFQSSBkb2N1bWVudGF0aW9uIGZvciB0aGUgSW50ZWxsaWJpZCBwbGF0Zm9ybVxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi8vKiB0c2xpbnQ6ZGlzYWJsZTpuby11bnVzZWQtdmFyaWFibGUgbWVtYmVyLW9yZGVyaW5nICovXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSAgICAgICAgICAgICAgICAgICAgICBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zLFxuICAgICAgICAgSHR0cFJlc3BvbnNlLCBIdHRwRXZlbnQgfSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjIH0gICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9lbmNvZGVyJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBdWRpZW5jZVJlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWwvYXVkaWVuY2VSZXNwb25zZSc7XG5pbXBvcnQgeyBBdWRpZW5jZVNlYXJjaFJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC9hdWRpZW5jZVNlYXJjaFJlcXVlc3QnO1xuaW1wb3J0IHsgQ3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZVJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC9jcmVhdGVCbG9ja2VkTGl2ZUF1ZGllbmNlUmVxdWVzdCc7XG5pbXBvcnQgeyBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvY3JlYXRlQnVja2V0aXplZEN1c3RvbUF1ZGllbmNlUmVxdWVzdCc7XG5pbXBvcnQgeyBDcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCB9IGZyb20gJy4uL21vZGVsL2NyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2VSZXF1ZXN0JztcbmltcG9ydCB7IENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC9jcmVhdGVEc0N1c3RvbVF1ZXJ5QXVkaWVuY2VSZXF1ZXN0JztcbmltcG9ydCB7IFVwZGF0ZUF1ZGllbmNlTmFtZVJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC91cGRhdGVBdWRpZW5jZU5hbWVSZXF1ZXN0JztcbmltcG9ydCB7IFVwZGF0ZURzQ3VzdG9tUXVlcnlTcWxSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvdXBkYXRlRHNDdXN0b21RdWVyeVNxbFJlcXVlc3QnO1xuXG5pbXBvcnQgeyBCQVNFX1BBVEgsIENPTExFQ1RJT05fRk9STUFUUyB9ICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vdmFyaWFibGVzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXVkaWVuY2VDb250cm9sbGVyU2VydmljZSB7XG5cbiAgICBwcm90ZWN0ZWQgYmFzZVBhdGggPSAnaHR0cDovL2RldjEtaW50ZWxsaWJpZC1zdmMucmV2eC5pbyc7XG4gICAgcHVibGljIGRlZmF1bHRIZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCk7XG4gICAgcHVibGljIGNvbmZpZ3VyYXRpb24gPSBuZXcgQ29uZmlndXJhdGlvbigpO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsIEBPcHRpb25hbCgpQEluamVjdChCQVNFX1BBVEgpIGJhc2VQYXRoOiBzdHJpbmcsIEBPcHRpb25hbCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgaWYgKGJhc2VQYXRoKSB7XG4gICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247XG4gICAgICAgICAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGggfHwgY29uZmlndXJhdGlvbi5iYXNlUGF0aCB8fCB0aGlzLmJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGNvbnN1bWVzIHN0cmluZ1tdIG1pbWUtdHlwZXNcbiAgICAgKiBAcmV0dXJuIHRydWU6IGNvbnN1bWVzIGNvbnRhaW5zICdtdWx0aXBhcnQvZm9ybS1kYXRhJywgZmFsc2U6IG90aGVyd2lzZVxuICAgICAqL1xuICAgIHByaXZhdGUgY2FuQ29uc3VtZUZvcm0oY29uc3VtZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm0gPSAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc7XG4gICAgICAgIGZvciAoY29uc3QgY29uc3VtZSBvZiBjb25zdW1lcykge1xuICAgICAgICAgICAgaWYgKGZvcm0gPT09IGNvbnN1bWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gYm9keSBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZShib2R5OiBDcmVhdGVCbG9ja2VkTGl2ZUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBdWRpZW5jZVJlc3BvbnNlPjtcbiAgICBwdWJsaWMgY3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZShib2R5OiBDcmVhdGVCbG9ja2VkTGl2ZUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEF1ZGllbmNlUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZShib2R5OiBDcmVhdGVCbG9ja2VkTGl2ZUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZUJsb2NrZWRMaXZlQXVkaWVuY2UoYm9keTogQ3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChib2R5ID09PSBudWxsIHx8IGJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYm9keSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGNyZWF0ZUJsb2NrZWRMaXZlQXVkaWVuY2UuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXVkaWVuY2VSZXNwb25zZT4oJ3Bvc3QnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hdWRpZW5jZXMvbGl2ZS9ibG9ja2VkYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBib2R5OiBib2R5LFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGJvZHkgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZUJ1Y2tldGl6ZWRDdXN0b20oYm9keTogQ3JlYXRlQnVja2V0aXplZEN1c3RvbUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBdWRpZW5jZVJlc3BvbnNlPjtcbiAgICBwdWJsaWMgY3JlYXRlQnVja2V0aXplZEN1c3RvbShib2R5OiBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVCdWNrZXRpemVkQ3VzdG9tKGJvZHk6IENyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVCdWNrZXRpemVkQ3VzdG9tKGJvZHk6IENyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChib2R5ID09PSBudWxsIHx8IGJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYm9keSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGNyZWF0ZUJ1Y2tldGl6ZWRDdXN0b20uJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXVkaWVuY2VSZXNwb25zZT4oJ3Bvc3QnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hdWRpZW5jZXMvY3VzdG9tL2J1Y2tldGl6ZWRgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gYm9keSBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlQnVja2V0aXplZExpdmUoYm9keTogQ3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXVkaWVuY2VSZXNwb25zZT47XG4gICAgcHVibGljIGNyZWF0ZUJ1Y2tldGl6ZWRMaXZlKGJvZHk6IENyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVCdWNrZXRpemVkTGl2ZShib2R5OiBDcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZUJ1Y2tldGl6ZWRMaXZlKGJvZHk6IENyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGJvZHkgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjcmVhdGVCdWNrZXRpemVkTGl2ZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBdWRpZW5jZVJlc3BvbnNlPigncG9zdCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlcy9saXZlL2J1Y2tldGl6ZWRgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gYm9keSBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgY3JlYXRlRHNDdXN0b21RdWVyeShib2R5OiBDcmVhdGVEc0N1c3RvbVF1ZXJ5QXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEF1ZGllbmNlUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBjcmVhdGVEc0N1c3RvbVF1ZXJ5KGJvZHk6IENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZURzQ3VzdG9tUXVlcnkoYm9keTogQ3JlYXRlRHNDdXN0b21RdWVyeUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZURzQ3VzdG9tUXVlcnkoYm9keTogQ3JlYXRlRHNDdXN0b21RdWVyeUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGJvZHkgPT09IG51bGwgfHwgYm9keSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBib2R5IHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgY3JlYXRlRHNDdXN0b21RdWVyeS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBdWRpZW5jZVJlc3BvbnNlPigncG9zdCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlcy9jdXN0b20vZHMtcXVlcnlgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gc2VhcmNoUmVxdWVzdCBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWxsQXVkaWVuY2VzKHNlYXJjaFJlcXVlc3Q6IEF1ZGllbmNlU2VhcmNoUmVxdWVzdCwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBcnJheTxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldEFsbEF1ZGllbmNlcyhzZWFyY2hSZXF1ZXN0OiBBdWRpZW5jZVNlYXJjaFJlcXVlc3QsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBcnJheTxBdWRpZW5jZVJlc3BvbnNlPj4+O1xuICAgIHB1YmxpYyBnZXRBbGxBdWRpZW5jZXMoc2VhcmNoUmVxdWVzdDogQXVkaWVuY2VTZWFyY2hSZXF1ZXN0LCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PEF1ZGllbmNlUmVzcG9uc2U+Pj47XG4gICAgcHVibGljIGdldEFsbEF1ZGllbmNlcyhzZWFyY2hSZXF1ZXN0OiBBdWRpZW5jZVNlYXJjaFJlcXVlc3QsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChzZWFyY2hSZXF1ZXN0ID09PSBudWxsIHx8IHNlYXJjaFJlcXVlc3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgc2VhcmNoUmVxdWVzdCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGdldEFsbEF1ZGllbmNlcy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnMgPSBuZXcgSHR0cFBhcmFtcyh7ZW5jb2RlcjogbmV3IEN1c3RvbUh0dHBVcmxFbmNvZGluZ0NvZGVjKCl9KTtcbiAgICAgICAgaWYgKHNlYXJjaFJlcXVlc3QgIT09IHVuZGVmaW5lZCAmJiBzZWFyY2hSZXF1ZXN0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdzZWFyY2hSZXF1ZXN0JywgPGFueT5zZWFyY2hSZXF1ZXN0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBcnJheTxBdWRpZW5jZVJlc3BvbnNlPj4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlc2AsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiBxdWVyeVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0R3JvdXBTdGF0dXMoZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEF1ZGllbmNlUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBnZXRHcm91cFN0YXR1cyhncm91cElkOiBudW1iZXIsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldEdyb3VwU3RhdHVzKGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGdldEdyb3VwU3RhdHVzKGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGdyb3VwSWQgPT09IG51bGwgfHwgZ3JvdXBJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBncm91cElkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0R3JvdXBTdGF0dXMuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXVkaWVuY2VSZXNwb25zZT4oJ2dldCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlcy9ncm91cHMvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGdyb3VwSWQpKX1gLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGJvZHkgXG4gICAgICogQHBhcmFtIGdyb3VwSWQgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZURzQ3VzdG9tUXVlcnlTcWwoYm9keTogVXBkYXRlRHNDdXN0b21RdWVyeVNxbFJlcXVlc3QsIGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBdWRpZW5jZVJlc3BvbnNlPjtcbiAgICBwdWJsaWMgdXBkYXRlRHNDdXN0b21RdWVyeVNxbChib2R5OiBVcGRhdGVEc0N1c3RvbVF1ZXJ5U3FsUmVxdWVzdCwgZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyB1cGRhdGVEc0N1c3RvbVF1ZXJ5U3FsKGJvZHk6IFVwZGF0ZURzQ3VzdG9tUXVlcnlTcWxSZXF1ZXN0LCBncm91cElkOiBudW1iZXIsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyB1cGRhdGVEc0N1c3RvbVF1ZXJ5U3FsKGJvZHk6IFVwZGF0ZURzQ3VzdG9tUXVlcnlTcWxSZXF1ZXN0LCBncm91cElkOiBudW1iZXIsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChib2R5ID09PSBudWxsIHx8IGJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYm9keSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZURzQ3VzdG9tUXVlcnlTcWwuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZ3JvdXBJZCA9PT0gbnVsbCB8fCBncm91cElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGdyb3VwSWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyB1cGRhdGVEc0N1c3RvbVF1ZXJ5U3FsLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEF1ZGllbmNlUmVzcG9uc2U+KCdwYXRjaCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlcy9ncm91cHMvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGdyb3VwSWQpKX0vY3VzdG9tL2RzLXF1ZXJ5L3NxbGAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYm9keTogYm9keSxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBib2R5IFxuICAgICAqIEBwYXJhbSBncm91cElkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVOYW1lKGJvZHk6IFVwZGF0ZUF1ZGllbmNlTmFtZVJlcXVlc3QsIGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBdWRpZW5jZVJlc3BvbnNlPjtcbiAgICBwdWJsaWMgdXBkYXRlTmFtZShib2R5OiBVcGRhdGVBdWRpZW5jZU5hbWVSZXF1ZXN0LCBncm91cElkOiBudW1iZXIsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIHVwZGF0ZU5hbWUoYm9keTogVXBkYXRlQXVkaWVuY2VOYW1lUmVxdWVzdCwgZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEF1ZGllbmNlUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgdXBkYXRlTmFtZShib2R5OiBVcGRhdGVBdWRpZW5jZU5hbWVSZXF1ZXN0LCBncm91cElkOiBudW1iZXIsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChib2R5ID09PSBudWxsIHx8IGJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYm9keSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZU5hbWUuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZ3JvdXBJZCA9PT0gbnVsbCB8fCBncm91cElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGdyb3VwSWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyB1cGRhdGVOYW1lLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEF1ZGllbmNlUmVzcG9uc2U+KCdwYXRjaCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlcy9ncm91cHMvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGdyb3VwSWQpKX0vbmFtZWAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYm9keTogYm9keSxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxufVxuIl19
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaWVuY2VDb250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvYXVkaWVuY2VDb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyxDQUFBLHVEQUF1RDtBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBMkIsZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBYyxXQUFXLEVBQUUsVUFBVSxFQUNWLE1BQWdDLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUE2QixZQUFZLENBQUM7QUFhL0UsT0FBTyxFQUFFLFNBQVMsRUFBc0IsTUFBMEIsY0FBYyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBMEMsa0JBQWtCLENBQUM7Ozs7QUFJckYsTUFBTSxPQUFPLHlCQUF5QjtJQU1sQyxZQUFzQixVQUFzQixFQUFnQyxRQUFnQixFQUFjLGFBQTRCO1FBQWhILGVBQVUsR0FBVixVQUFVLENBQVk7UUFKbEMsYUFBUSxHQUFHLG9DQUFvQyxDQUFDO1FBQ25ELG1CQUFjLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxrQkFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFHdkMsSUFBSSxRQUFRLEVBQUU7WUFDVixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztTQUM1QjtRQUNELElBQUksYUFBYSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7WUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksYUFBYSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3ZFO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxRQUFrQjtRQUNyQyxNQUFNLElBQUksR0FBRyxxQkFBcUIsQ0FBQztRQUNu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Q0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5RyxJQUFJLHdCQUF3QixJQUFJLFNBQVMsRUFBRTtZQUN2QyxPQUFPLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztTQUM3RDtRQUVELHVDQUF1QztRQUN2QyxNQUFNLFFBQVEsR0FBYTtZQUN2QixrQkFBa0I7U0FDckIsQ0FBQztRQUNGLE1BQU0sdUJBQXVCLEdBQXVCLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekcsSUFBSSx1QkFBdUIsSUFBSSxTQUFTLEVBQUU7WUFDdEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLHVCQUF1QixDQUFDLENBQUM7U0FDbEU7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUE2QixNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxrQ0FBa0MsRUFDaEg7WUFDSSxJQUFJLEVBQUUsSUFBSTtZQUNWLGVBQWUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWU7WUFDbkQsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsY0FBYyxFQUFFLGNBQWM7U0FDakMsQ0FDSixDQUFDO0lBQ04sQ0FBQzs7dUhBemRRLHlCQUF5Qiw0Q0FNK0IsU0FBUzsySEFOakUseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7OzBCQU93QyxRQUFROzswQkFBRyxNQUFNOzJCQUFDLFNBQVM7OzBCQUFxQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlbGxpYmlkIEFQSVxuICogQVBJIGRvY3VtZW50YXRpb24gZm9yIHRoZSBJbnRlbGxpYmlkIHBsYXRmb3JtXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqLy8qIHRzbGludDpkaXNhYmxlOm5vLXVudXNlZC12YXJpYWJsZSBtZW1iZXItb3JkZXJpbmcgKi9cblxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9ICAgICAgICAgICAgICAgICAgICAgIGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBQYXJhbXMsXG4gICAgICAgICBIdHRwUmVzcG9uc2UsIEh0dHBFdmVudCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ3VzdG9tSHR0cFVybEVuY29kaW5nQ29kZWMgfSAgICAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL2VuY29kZXInO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEF1ZGllbmNlUmVzcG9uc2UgfSBmcm9tICcuLi9tb2RlbC9hdWRpZW5jZVJlc3BvbnNlJztcbmltcG9ydCB7IENyZWF0ZUJsb2NrZWRMaXZlQXVkaWVuY2VSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvY3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZVJlcXVlc3QnO1xuaW1wb3J0IHsgQ3JlYXRlQnVja2V0aXplZEN1c3RvbUF1ZGllbmNlUmVxdWVzdCB9IGZyb20gJy4uL21vZGVsL2NyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QnO1xuaW1wb3J0IHsgQ3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZVJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC9jcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCc7XG5pbXBvcnQgeyBDcmVhdGVEc0N1c3RvbVF1ZXJ5QXVkaWVuY2VSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvY3JlYXRlRHNDdXN0b21RdWVyeUF1ZGllbmNlUmVxdWVzdCc7XG5pbXBvcnQgeyBVcGRhdGVBdWRpZW5jZU5hbWVSZXF1ZXN0IH0gZnJvbSAnLi4vbW9kZWwvdXBkYXRlQXVkaWVuY2VOYW1lUmVxdWVzdCc7XG5pbXBvcnQgeyBVcGRhdGVEc0N1c3RvbVF1ZXJ5U3FsUmVxdWVzdCB9IGZyb20gJy4uL21vZGVsL3VwZGF0ZURzQ3VzdG9tUXVlcnlTcWxSZXF1ZXN0JztcbmltcG9ydCB7IFZhbGlkYXRlRHNRdWVyeVJlcXVlc3QgfSBmcm9tICcuLi9tb2RlbC92YWxpZGF0ZURzUXVlcnlSZXF1ZXN0JztcblxuaW1wb3J0IHsgQkFTRV9QQVRILCBDT0xMRUNUSU9OX0ZPUk1BVFMgfSAgICAgICAgICAgICAgICAgICAgIGZyb20gJy4uL3ZhcmlhYmxlcyc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbSAnLi4vY29uZmlndXJhdGlvbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEF1ZGllbmNlQ29udHJvbGxlclNlcnZpY2Uge1xuXG4gICAgcHJvdGVjdGVkIGJhc2VQYXRoID0gJ2h0dHA6Ly9kZXYxLWludGVsbGliaWQtc3ZjLnJldnguaW8nO1xuICAgIHB1YmxpYyBkZWZhdWx0SGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycygpO1xuICAgIHB1YmxpYyBjb25maWd1cmF0aW9uID0gbmV3IENvbmZpZ3VyYXRpb24oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LCBAT3B0aW9uYWwoKUBJbmplY3QoQkFTRV9QQVRIKSBiYXNlUGF0aDogc3RyaW5nLCBAT3B0aW9uYWwoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uKSB7XG4gICAgICAgIGlmIChiYXNlUGF0aCkge1xuICAgICAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb25maWd1cmF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xuICAgICAgICAgICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoIHx8IGNvbmZpZ3VyYXRpb24uYmFzZVBhdGggfHwgdGhpcy5iYXNlUGF0aDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBjb25zdW1lcyBzdHJpbmdbXSBtaW1lLXR5cGVzXG4gICAgICogQHJldHVybiB0cnVlOiBjb25zdW1lcyBjb250YWlucyAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScsIGZhbHNlOiBvdGhlcndpc2VcbiAgICAgKi9cbiAgICBwcml2YXRlIGNhbkNvbnN1bWVGb3JtKGNvbnN1bWVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtID0gJ211bHRpcGFydC9mb3JtLWRhdGEnO1xuICAgICAgICBmb3IgKGNvbnN0IGNvbnN1bWUgb2YgY29uc3VtZXMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtID09PSBjb25zdW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGJvZHkgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZUJsb2NrZWRMaXZlQXVkaWVuY2UoYm9keTogQ3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXVkaWVuY2VSZXNwb25zZT47XG4gICAgcHVibGljIGNyZWF0ZUJsb2NrZWRMaXZlQXVkaWVuY2UoYm9keTogQ3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIGNyZWF0ZUJsb2NrZWRMaXZlQXVkaWVuY2UoYm9keTogQ3JlYXRlQmxvY2tlZExpdmVBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVCbG9ja2VkTGl2ZUF1ZGllbmNlKGJvZHk6IENyZWF0ZUJsb2NrZWRMaXZlQXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGJvZHkgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjcmVhdGVCbG9ja2VkTGl2ZUF1ZGllbmNlLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEF1ZGllbmNlUmVzcG9uc2U+KCdwb3N0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYXVkaWVuY2VzL2xpdmUvYmxvY2tlZGAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYm9keTogYm9keSxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBib2R5IFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVCdWNrZXRpemVkQ3VzdG9tKGJvZHk6IENyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXVkaWVuY2VSZXNwb25zZT47XG4gICAgcHVibGljIGNyZWF0ZUJ1Y2tldGl6ZWRDdXN0b20oYm9keTogQ3JlYXRlQnVja2V0aXplZEN1c3RvbUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEF1ZGllbmNlUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQnVja2V0aXplZEN1c3RvbShib2R5OiBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEF1ZGllbmNlUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQnVja2V0aXplZEN1c3RvbShib2R5OiBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGJvZHkgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBjcmVhdGVCdWNrZXRpemVkQ3VzdG9tLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGhlYWRlcnMgPSB0aGlzLmRlZmF1bHRIZWFkZXJzO1xuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQWNjZXB0IGhlYWRlclxuICAgICAgICBsZXQgaHR0cEhlYWRlckFjY2VwdHM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJyovKidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQWNjZXB0KGh0dHBIZWFkZXJBY2NlcHRzKTtcbiAgICAgICAgaWYgKGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0JywgaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRvIGRldGVybWluZSB0aGUgQ29udGVudC1UeXBlIGhlYWRlclxuICAgICAgICBjb25zdCBjb25zdW1lczogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgXTtcbiAgICAgICAgY29uc3QgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJDb250ZW50VHlwZShjb25zdW1lcyk7XG4gICAgICAgIGlmIChodHRwQ29udGVudFR5cGVTZWxlY3RlZCAhPSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQ29udGVudC1UeXBlJywgaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5yZXF1ZXN0PEF1ZGllbmNlUmVzcG9uc2U+KCdwb3N0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYXVkaWVuY2VzL2N1c3RvbS9idWNrZXRpemVkYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBib2R5OiBib2R5LFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGJvZHkgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZUJ1Y2tldGl6ZWRMaXZlKGJvZHk6IENyZWF0ZUJ1Y2tldGl6ZWRMaXZlQXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEF1ZGllbmNlUmVzcG9uc2U+O1xuICAgIHB1YmxpYyBjcmVhdGVCdWNrZXRpemVkTGl2ZShib2R5OiBDcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEF1ZGllbmNlUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgY3JlYXRlQnVja2V0aXplZExpdmUoYm9keTogQ3JlYXRlQnVja2V0aXplZExpdmVBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVCdWNrZXRpemVkTGl2ZShib2R5OiBDcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGJvZHkgPT09IG51bGwgfHwgYm9keSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBib2R5IHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgY3JlYXRlQnVja2V0aXplZExpdmUuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXVkaWVuY2VSZXNwb25zZT4oJ3Bvc3QnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hdWRpZW5jZXMvbGl2ZS9idWNrZXRpemVkYCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBib2R5OiBib2R5LFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGJvZHkgXG4gICAgICogQHBhcmFtIG9ic2VydmUgc2V0IHdoZXRoZXIgb3Igbm90IHRvIHJldHVybiB0aGUgZGF0YSBPYnNlcnZhYmxlIGFzIHRoZSBib2R5LCByZXNwb25zZSBvciBldmVudHMuIGRlZmF1bHRzIHRvIHJldHVybmluZyB0aGUgYm9keS5cbiAgICAgKiBAcGFyYW0gcmVwb3J0UHJvZ3Jlc3MgZmxhZyB0byByZXBvcnQgcmVxdWVzdCBhbmQgcmVzcG9uc2UgcHJvZ3Jlc3MuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZURzQ3VzdG9tUXVlcnkoYm9keTogQ3JlYXRlRHNDdXN0b21RdWVyeUF1ZGllbmNlUmVxdWVzdCwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxBdWRpZW5jZVJlc3BvbnNlPjtcbiAgICBwdWJsaWMgY3JlYXRlRHNDdXN0b21RdWVyeShib2R5OiBDcmVhdGVEc0N1c3RvbVF1ZXJ5QXVkaWVuY2VSZXF1ZXN0LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVEc0N1c3RvbVF1ZXJ5KGJvZHk6IENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyBjcmVhdGVEc0N1c3RvbVF1ZXJ5KGJvZHk6IENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChib2R5ID09PSBudWxsIHx8IGJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYm9keSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIGNyZWF0ZURzQ3VzdG9tUXVlcnkuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXVkaWVuY2VSZXNwb25zZT4oJ3Bvc3QnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hdWRpZW5jZXMvY3VzdG9tL2RzLXF1ZXJ5YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBib2R5OiBib2R5LFxuICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdGhpcy5jb25maWd1cmF0aW9uLndpdGhDcmVkZW50aWFscyxcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBoZWFkZXJzLFxuICAgICAgICAgICAgICAgIG9ic2VydmU6IG9ic2VydmUsXG4gICAgICAgICAgICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHJlcG9ydFByb2dyZXNzXG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogXG4gICAgICogQHBhcmFtIGFkdmVydGlzZXJJZCBcbiAgICAgKiBAcGFyYW0gZ3JvdXBUeXBlIFxuICAgICAqIEBwYXJhbSBzb3VyY2VQbGF0Zm9ybSBcbiAgICAgKiBAcGFyYW0gYXVkaWVuY2VUeXBlIFxuICAgICAqIEBwYXJhbSBhdWRpZW5jZVNvdXJjZSBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0QWxsQXVkaWVuY2VzKGFkdmVydGlzZXJJZDogbnVtYmVyLCBncm91cFR5cGU/OiBzdHJpbmcsIHNvdXJjZVBsYXRmb3JtPzogc3RyaW5nLCBhdWRpZW5jZVR5cGU/OiBzdHJpbmcsIGF1ZGllbmNlU291cmNlPzogc3RyaW5nLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEFycmF5PEF1ZGllbmNlUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQXVkaWVuY2VzKGFkdmVydGlzZXJJZDogbnVtYmVyLCBncm91cFR5cGU/OiBzdHJpbmcsIHNvdXJjZVBsYXRmb3JtPzogc3RyaW5nLCBhdWRpZW5jZVR5cGU/OiBzdHJpbmcsIGF1ZGllbmNlU291cmNlPzogc3RyaW5nLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXJyYXk8QXVkaWVuY2VSZXNwb25zZT4+PjtcbiAgICBwdWJsaWMgZ2V0QWxsQXVkaWVuY2VzKGFkdmVydGlzZXJJZDogbnVtYmVyLCBncm91cFR5cGU/OiBzdHJpbmcsIHNvdXJjZVBsYXRmb3JtPzogc3RyaW5nLCBhdWRpZW5jZVR5cGU/OiBzdHJpbmcsIGF1ZGllbmNlU291cmNlPzogc3RyaW5nLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEFycmF5PEF1ZGllbmNlUmVzcG9uc2U+Pj47XG4gICAgcHVibGljIGdldEFsbEF1ZGllbmNlcyhhZHZlcnRpc2VySWQ6IG51bWJlciwgZ3JvdXBUeXBlPzogc3RyaW5nLCBzb3VyY2VQbGF0Zm9ybT86IHN0cmluZywgYXVkaWVuY2VUeXBlPzogc3RyaW5nLCBhdWRpZW5jZVNvdXJjZT86IHN0cmluZywgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGFkdmVydGlzZXJJZCA9PT0gbnVsbCB8fCBhZHZlcnRpc2VySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYWR2ZXJ0aXNlcklkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgZ2V0QWxsQXVkaWVuY2VzLicpO1xuICAgICAgICB9XG5cblxuXG5cblxuICAgICAgICBsZXQgcXVlcnlQYXJhbWV0ZXJzID0gbmV3IEh0dHBQYXJhbXMoe2VuY29kZXI6IG5ldyBDdXN0b21IdHRwVXJsRW5jb2RpbmdDb2RlYygpfSk7XG4gICAgICAgIGlmIChncm91cFR5cGUgIT09IHVuZGVmaW5lZCAmJiBncm91cFR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ2dyb3VwVHlwZScsIDxhbnk+Z3JvdXBUeXBlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc291cmNlUGxhdGZvcm0gIT09IHVuZGVmaW5lZCAmJiBzb3VyY2VQbGF0Zm9ybSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0gcXVlcnlQYXJhbWV0ZXJzLnNldCgnc291cmNlUGxhdGZvcm0nLCA8YW55PnNvdXJjZVBsYXRmb3JtKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYXVkaWVuY2VUeXBlICE9PSB1bmRlZmluZWQgJiYgYXVkaWVuY2VUeXBlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSBxdWVyeVBhcmFtZXRlcnMuc2V0KCdhdWRpZW5jZVR5cGUnLCA8YW55PmF1ZGllbmNlVHlwZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF1ZGllbmNlU291cmNlICE9PSB1bmRlZmluZWQgJiYgYXVkaWVuY2VTb3VyY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHF1ZXJ5UGFyYW1ldGVycy5zZXQoJ2F1ZGllbmNlU291cmNlJywgPGFueT5hdWRpZW5jZVNvdXJjZSk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXJyYXk8QXVkaWVuY2VSZXNwb25zZT4+KCdnZXQnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hdWRpZW5jZXMvYWR2ZXJ0aXNlci8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoYWR2ZXJ0aXNlcklkKSl9YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYXJhbXM6IHF1ZXJ5UGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBncm91cElkIFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRHcm91cFN0YXR1cyhncm91cElkOiBudW1iZXIsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXVkaWVuY2VSZXNwb25zZT47XG4gICAgcHVibGljIGdldEdyb3VwU3RhdHVzKGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdyZXNwb25zZScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPEF1ZGllbmNlUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0R3JvdXBTdGF0dXMoZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlPzogJ2V2ZW50cycsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8SHR0cEV2ZW50PEF1ZGllbmNlUmVzcG9uc2U+PjtcbiAgICBwdWJsaWMgZ2V0R3JvdXBTdGF0dXMoZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoZ3JvdXBJZCA9PT0gbnVsbCB8fCBncm91cElkID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGdyb3VwSWQgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyBnZXRHcm91cFN0YXR1cy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBdWRpZW5jZVJlc3BvbnNlPignZ2V0JyxgJHt0aGlzLmJhc2VQYXRofS9hcGkvYXVkaWVuY2VzL2dyb3Vwcy8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoZ3JvdXBJZCkpfWAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gYm9keSBcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlRHNDdXN0b21RdWVyeVNxbChib2R5OiBVcGRhdGVEc0N1c3RvbVF1ZXJ5U3FsUmVxdWVzdCwgZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlPzogJ2JvZHknLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEF1ZGllbmNlUmVzcG9uc2U+O1xuICAgIHB1YmxpYyB1cGRhdGVEc0N1c3RvbVF1ZXJ5U3FsKGJvZHk6IFVwZGF0ZURzQ3VzdG9tUXVlcnlTcWxSZXF1ZXN0LCBncm91cElkOiBudW1iZXIsIG9ic2VydmU/OiAncmVzcG9uc2UnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIHVwZGF0ZURzQ3VzdG9tUXVlcnlTcWwoYm9keTogVXBkYXRlRHNDdXN0b21RdWVyeVNxbFJlcXVlc3QsIGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIHVwZGF0ZURzQ3VzdG9tUXVlcnlTcWwoYm9keTogVXBkYXRlRHNDdXN0b21RdWVyeVNxbFJlcXVlc3QsIGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZTogYW55ID0gJ2JvZHknLCByZXBvcnRQcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlICk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgaWYgKGJvZHkgPT09IG51bGwgfHwgYm9keSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBib2R5IHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgdXBkYXRlRHNDdXN0b21RdWVyeVNxbC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChncm91cElkID09PSBudWxsIHx8IGdyb3VwSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgZ3JvdXBJZCB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHVwZGF0ZURzQ3VzdG9tUXVlcnlTcWwuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaGVhZGVycyA9IHRoaXMuZGVmYXVsdEhlYWRlcnM7XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBBY2NlcHQgaGVhZGVyXG4gICAgICAgIGxldCBodHRwSGVhZGVyQWNjZXB0czogc3RyaW5nW10gPSBbXG4gICAgICAgICAgICAnKi8qJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuY29uZmlndXJhdGlvbi5zZWxlY3RIZWFkZXJBY2NlcHQoaHR0cEhlYWRlckFjY2VwdHMpO1xuICAgICAgICBpZiAoaHR0cEhlYWRlckFjY2VwdFNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQnLCBodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdG8gZGV0ZXJtaW5lIHRoZSBDb250ZW50LVR5cGUgaGVhZGVyXG4gICAgICAgIGNvbnN0IGNvbnN1bWVzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICBdO1xuICAgICAgICBjb25zdCBodHRwQ29udGVudFR5cGVTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckNvbnRlbnRUeXBlKGNvbnN1bWVzKTtcbiAgICAgICAgaWYgKGh0dHBDb250ZW50VHlwZVNlbGVjdGVkICE9IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdDb250ZW50LVR5cGUnLCBodHRwQ29udGVudFR5cGVTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnJlcXVlc3Q8QXVkaWVuY2VSZXNwb25zZT4oJ3Bvc3QnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hdWRpZW5jZXMvZ3JvdXBzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhncm91cElkKSl9L2N1c3RvbS9kcy1xdWVyeS9zcWxgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBcbiAgICAgKiBcbiAgICAgKiBAcGFyYW0gYm9keSBcbiAgICAgKiBAcGFyYW0gZ3JvdXBJZCBcbiAgICAgKiBAcGFyYW0gb2JzZXJ2ZSBzZXQgd2hldGhlciBvciBub3QgdG8gcmV0dXJuIHRoZSBkYXRhIE9ic2VydmFibGUgYXMgdGhlIGJvZHksIHJlc3BvbnNlIG9yIGV2ZW50cy4gZGVmYXVsdHMgdG8gcmV0dXJuaW5nIHRoZSBib2R5LlxuICAgICAqIEBwYXJhbSByZXBvcnRQcm9ncmVzcyBmbGFnIHRvIHJlcG9ydCByZXF1ZXN0IGFuZCByZXNwb25zZSBwcm9ncmVzcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlTmFtZShib2R5OiBVcGRhdGVBdWRpZW5jZU5hbWVSZXF1ZXN0LCBncm91cElkOiBudW1iZXIsIG9ic2VydmU/OiAnYm9keScsIHJlcG9ydFByb2dyZXNzPzogYm9vbGVhbik6IE9ic2VydmFibGU8QXVkaWVuY2VSZXNwb25zZT47XG4gICAgcHVibGljIHVwZGF0ZU5hbWUoYm9keTogVXBkYXRlQXVkaWVuY2VOYW1lUmVxdWVzdCwgZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8QXVkaWVuY2VSZXNwb25zZT4+O1xuICAgIHB1YmxpYyB1cGRhdGVOYW1lKGJvZHk6IFVwZGF0ZUF1ZGllbmNlTmFtZVJlcXVlc3QsIGdyb3VwSWQ6IG51bWJlciwgb2JzZXJ2ZT86ICdldmVudHMnLCByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxBdWRpZW5jZVJlc3BvbnNlPj47XG4gICAgcHVibGljIHVwZGF0ZU5hbWUoYm9keTogVXBkYXRlQXVkaWVuY2VOYW1lUmVxdWVzdCwgZ3JvdXBJZDogbnVtYmVyLCBvYnNlcnZlOiBhbnkgPSAnYm9keScsIHJlcG9ydFByb2dyZXNzOiBib29sZWFuID0gZmFsc2UgKTogT2JzZXJ2YWJsZTxhbnk+IHtcblxuICAgICAgICBpZiAoYm9keSA9PT0gbnVsbCB8fCBib2R5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgcGFyYW1ldGVyIGJvZHkgd2FzIG51bGwgb3IgdW5kZWZpbmVkIHdoZW4gY2FsbGluZyB1cGRhdGVOYW1lLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGdyb3VwSWQgPT09IG51bGwgfHwgZ3JvdXBJZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmVkIHBhcmFtZXRlciBncm91cElkIHdhcyBudWxsIG9yIHVuZGVmaW5lZCB3aGVuIGNhbGxpbmcgdXBkYXRlTmFtZS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDxBdWRpZW5jZVJlc3BvbnNlPigncG9zdCcsYCR7dGhpcy5iYXNlUGF0aH0vYXBpL2F1ZGllbmNlcy9ncm91cHMvJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGdyb3VwSWQpKX0vbmFtZWAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYm9keTogYm9keSxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRoaXMuY29uZmlndXJhdGlvbi53aXRoQ3JlZGVudGlhbHMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogaGVhZGVycyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiBvYnNlcnZlLFxuICAgICAgICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiByZXBvcnRQcm9ncmVzc1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFxuICAgICAqIFxuICAgICAqIEBwYXJhbSBib2R5IFxuICAgICAqIEBwYXJhbSBvYnNlcnZlIHNldCB3aGV0aGVyIG9yIG5vdCB0byByZXR1cm4gdGhlIGRhdGEgT2JzZXJ2YWJsZSBhcyB0aGUgYm9keSwgcmVzcG9uc2Ugb3IgZXZlbnRzLiBkZWZhdWx0cyB0byByZXR1cm5pbmcgdGhlIGJvZHkuXG4gICAgICogQHBhcmFtIHJlcG9ydFByb2dyZXNzIGZsYWcgdG8gcmVwb3J0IHJlcXVlc3QgYW5kIHJlc3BvbnNlIHByb2dyZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyB2YWxpZGF0ZURzUXVlcnkoYm9keTogVmFsaWRhdGVEc1F1ZXJ5UmVxdWVzdCwgb2JzZXJ2ZT86ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZzsgfT47XG4gICAgcHVibGljIHZhbGlkYXRlRHNRdWVyeShib2R5OiBWYWxpZGF0ZURzUXVlcnlSZXF1ZXN0LCBvYnNlcnZlPzogJ3Jlc3BvbnNlJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8eyBba2V5OiBzdHJpbmddOiBzdHJpbmc7IH0+PjtcbiAgICBwdWJsaWMgdmFsaWRhdGVEc1F1ZXJ5KGJvZHk6IFZhbGlkYXRlRHNRdWVyeVJlcXVlc3QsIG9ic2VydmU/OiAnZXZlbnRzJywgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8eyBba2V5OiBzdHJpbmddOiBzdHJpbmc7IH0+PjtcbiAgICBwdWJsaWMgdmFsaWRhdGVEc1F1ZXJ5KGJvZHk6IFZhbGlkYXRlRHNRdWVyeVJlcXVlc3QsIG9ic2VydmU6IGFueSA9ICdib2R5JywgcmVwb3J0UHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZSApOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIGlmIChib2R5ID09PSBudWxsIHx8IGJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdSZXF1aXJlZCBwYXJhbWV0ZXIgYm9keSB3YXMgbnVsbCBvciB1bmRlZmluZWQgd2hlbiBjYWxsaW5nIHZhbGlkYXRlRHNRdWVyeS4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBoZWFkZXJzID0gdGhpcy5kZWZhdWx0SGVhZGVycztcblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIEFjY2VwdCBoZWFkZXJcbiAgICAgICAgbGV0IGh0dHBIZWFkZXJBY2NlcHRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICAgICAgICcqLyonXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5jb25maWd1cmF0aW9uLnNlbGVjdEhlYWRlckFjY2VwdChodHRwSGVhZGVyQWNjZXB0cyk7XG4gICAgICAgIGlmIChodHRwSGVhZGVyQWNjZXB0U2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdCcsIGh0dHBIZWFkZXJBY2NlcHRTZWxlY3RlZCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB0byBkZXRlcm1pbmUgdGhlIENvbnRlbnQtVHlwZSBoZWFkZXJcbiAgICAgICAgY29uc3QgY29uc3VtZXM6IHN0cmluZ1tdID0gW1xuICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIF07XG4gICAgICAgIGNvbnN0IGh0dHBDb250ZW50VHlwZVNlbGVjdGVkOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ3VyYXRpb24uc2VsZWN0SGVhZGVyQ29udGVudFR5cGUoY29uc3VtZXMpO1xuICAgICAgICBpZiAoaHR0cENvbnRlbnRUeXBlU2VsZWN0ZWQgIT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0NvbnRlbnQtVHlwZScsIGh0dHBDb250ZW50VHlwZVNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucmVxdWVzdDx7IFtrZXk6IHN0cmluZ106IHN0cmluZzsgfT4oJ3Bvc3QnLGAke3RoaXMuYmFzZVBhdGh9L2FwaS9hdWRpZW5jZXMvdmFsaWRhdGUtZHMtcXVlcnlgLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJvZHk6IGJvZHksXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0aGlzLmNvbmZpZ3VyYXRpb24ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IGhlYWRlcnMsXG4gICAgICAgICAgICAgICAgb2JzZXJ2ZTogb2JzZXJ2ZSxcbiAgICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzczogcmVwb3J0UHJvZ3Jlc3NcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -35,4 +35,4 @@ export var ChildAudience;
35
35
  EQ: 'EQ'
36
36
  };
37
37
  })(ChildAudience || (ChildAudience = {}));
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGRBdWRpZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21vZGVsL2NoaWxkQXVkaWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQTZCSCxNQUFNLEtBQVcsYUFBYSxDQTZCN0I7QUE3QkQsV0FBaUIsYUFBYTtJQUViLDhCQUFnQixHQUFHO1FBQzVCLE9BQU8sRUFBRSxTQUE2QjtRQUN0QyxTQUFTLEVBQUUsV0FBK0I7S0FDN0MsQ0FBQztJQUVXLGdDQUFrQixHQUFHO1FBQzlCLFVBQVUsRUFBRSxZQUFrQztRQUM5QyxFQUFFLEVBQUUsSUFBMEI7S0FDakMsQ0FBQztJQUVXLDRCQUFjLEdBQUc7UUFDMUIsR0FBRyxFQUFFLEtBQXVCO1FBQzVCLEdBQUcsRUFBRSxLQUF1QjtLQUMvQixDQUFDO0lBRVcsaUNBQW1CLEdBQUc7UUFDL0IsSUFBSSxFQUFFLE1BQTZCO1FBQ25DLEtBQUssRUFBRSxPQUE4QjtRQUNyQyxPQUFPLEVBQUUsVUFBaUM7UUFDMUMsTUFBTSxFQUFFLFFBQStCO1FBQ3ZDLE9BQU8sRUFBRSxTQUFnQztLQUM1QyxDQUFDO0lBRVcsa0NBQW9CLEdBQUc7UUFDaEMsR0FBRyxFQUFFLEtBQTZCO1FBQ2xDLEVBQUUsRUFBRSxJQUE0QjtLQUNuQyxDQUFDO0FBQ04sQ0FBQyxFQTdCZ0IsYUFBYSxLQUFiLGFBQWEsUUE2QjdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlbGxpYmlkIEFQSVxuICogQVBJIGRvY3VtZW50YXRpb24gZm9yIHRoZSBJbnRlbGxpYmlkIHBsYXRmb3JtXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkQXVkaWVuY2UgeyBcbiAgICBpZD86IG51bWJlcjtcbiAgICBhZEFjY291bnRJZD86IHN0cmluZztcbiAgICBwbGF0Zm9ybUlkPzogbnVtYmVyO1xuICAgIHVzZXJHaXZlbk5hbWU/OiBzdHJpbmc7XG4gICAgdXNlckRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGdlbmVyYXRlZE5hbWU/OiBzdHJpbmc7XG4gICAgZ2VuZXJhdGVkRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGxhdGZvcm1BdWRpZW5jZUlkPzogc3RyaW5nO1xuICAgIHN0YXR1cz86IHN0cmluZztcbiAgICBjcmVhdGVkQXQ/OiBEYXRlO1xuICAgIHVwZGF0ZWRBdD86IERhdGU7XG4gICAgYXVkaWVuY2VUeXBlPzogQ2hpbGRBdWRpZW5jZS5BdWRpZW5jZVR5cGVFbnVtO1xuICAgIHByb2R1Y3RTZXRJZD86IHN0cmluZztcbiAgICBhdWRpZW5jZVNvdXJjZT86IENoaWxkQXVkaWVuY2UuQXVkaWVuY2VTb3VyY2VFbnVtO1xuICAgIHVwbG9hZE1vZGU/OiBDaGlsZEF1ZGllbmNlLlVwbG9hZE1vZGVFbnVtO1xuICAgIHVwbG9hZEZyZXF1ZW5jeT86IENoaWxkQXVkaWVuY2UuVXBsb2FkRnJlcXVlbmN5RW51bTtcbiAgICBsYXN0UnVuQXQ/OiBEYXRlO1xuICAgIG5leHRSdW5BdD86IERhdGU7XG4gICAgbGFzdFJ1blN0YXR1cz86IHN0cmluZztcbiAgICBsYXN0UnVuRXJyb3I/OiBzdHJpbmc7XG4gICAgZHNTcWw/OiBzdHJpbmc7XG4gICAgYmxvY2tlZEV2ZW50Q29uZmlnSWQ/OiBudW1iZXI7XG4gICAgYmxvY2tpbmdPcGVyYXRvcj86IENoaWxkQXVkaWVuY2UuQmxvY2tpbmdPcGVyYXRvckVudW07XG4gICAgYmxvY2tlZFBvc2l0aW9uPzogbnVtYmVyO1xuICAgIGJsb2NraW5nRGF5cz86IG51bWJlcjtcbn1cbmV4cG9ydCBuYW1lc3BhY2UgQ2hpbGRBdWRpZW5jZSB7XG4gICAgZXhwb3J0IHR5cGUgQXVkaWVuY2VUeXBlRW51bSA9ICdEWU5BTUlDJyB8ICdDQVRBTE9HVUUnO1xuICAgIGV4cG9ydCBjb25zdCBBdWRpZW5jZVR5cGVFbnVtID0ge1xuICAgICAgICBEWU5BTUlDOiAnRFlOQU1JQycgYXMgQXVkaWVuY2VUeXBlRW51bSxcbiAgICAgICAgQ0FUQUxPR1VFOiAnQ0FUQUxPR1VFJyBhcyBBdWRpZW5jZVR5cGVFbnVtXG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBBdWRpZW5jZVNvdXJjZUVudW0gPSAnSU5URUxMSUJJRCcgfCAnRFMnO1xuICAgIGV4cG9ydCBjb25zdCBBdWRpZW5jZVNvdXJjZUVudW0gPSB7XG4gICAgICAgIElOVEVMTElCSUQ6ICdJTlRFTExJQklEJyBhcyBBdWRpZW5jZVNvdXJjZUVudW0sXG4gICAgICAgIERTOiAnRFMnIGFzIEF1ZGllbmNlU291cmNlRW51bVxuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgVXBsb2FkTW9kZUVudW0gPSAnQVBJJyB8ICdDU1YnO1xuICAgIGV4cG9ydCBjb25zdCBVcGxvYWRNb2RlRW51bSA9IHtcbiAgICAgICAgQVBJOiAnQVBJJyBhcyBVcGxvYWRNb2RlRW51bSxcbiAgICAgICAgQ1NWOiAnQ1NWJyBhcyBVcGxvYWRNb2RlRW51bVxuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgVXBsb2FkRnJlcXVlbmN5RW51bSA9ICdPTkNFJyB8ICdEQUlMWScgfCAnRVZFUllfMkQnIHwgJ1dFRUtMWScgfCAnTU9OVEhMWSc7XG4gICAgZXhwb3J0IGNvbnN0IFVwbG9hZEZyZXF1ZW5jeUVudW0gPSB7XG4gICAgICAgIE9OQ0U6ICdPTkNFJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtLFxuICAgICAgICBEQUlMWTogJ0RBSUxZJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtLFxuICAgICAgICBFVkVSWTJEOiAnRVZFUllfMkQnIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW0sXG4gICAgICAgIFdFRUtMWTogJ1dFRUtMWScgYXMgVXBsb2FkRnJlcXVlbmN5RW51bSxcbiAgICAgICAgTU9OVEhMWTogJ01PTlRITFknIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW1cbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIEJsb2NraW5nT3BlcmF0b3JFbnVtID0gJ0dURScgfCAnRVEnO1xuICAgIGV4cG9ydCBjb25zdCBCbG9ja2luZ09wZXJhdG9yRW51bSA9IHtcbiAgICAgICAgR1RFOiAnR1RFJyBhcyBCbG9ja2luZ09wZXJhdG9yRW51bSxcbiAgICAgICAgRVE6ICdFUScgYXMgQmxvY2tpbmdPcGVyYXRvckVudW1cbiAgICB9O1xufSJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGRBdWRpZW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21vZGVsL2NoaWxkQXVkaWVuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQThCSCxNQUFNLEtBQVcsYUFBYSxDQTZCN0I7QUE3QkQsV0FBaUIsYUFBYTtJQUViLDhCQUFnQixHQUFHO1FBQzVCLE9BQU8sRUFBRSxTQUE2QjtRQUN0QyxTQUFTLEVBQUUsV0FBK0I7S0FDN0MsQ0FBQztJQUVXLGdDQUFrQixHQUFHO1FBQzlCLFVBQVUsRUFBRSxZQUFrQztRQUM5QyxFQUFFLEVBQUUsSUFBMEI7S0FDakMsQ0FBQztJQUVXLDRCQUFjLEdBQUc7UUFDMUIsR0FBRyxFQUFFLEtBQXVCO1FBQzVCLEdBQUcsRUFBRSxLQUF1QjtLQUMvQixDQUFDO0lBRVcsaUNBQW1CLEdBQUc7UUFDL0IsSUFBSSxFQUFFLE1BQTZCO1FBQ25DLEtBQUssRUFBRSxPQUE4QjtRQUNyQyxPQUFPLEVBQUUsVUFBaUM7UUFDMUMsTUFBTSxFQUFFLFFBQStCO1FBQ3ZDLE9BQU8sRUFBRSxTQUFnQztLQUM1QyxDQUFDO0lBRVcsa0NBQW9CLEdBQUc7UUFDaEMsR0FBRyxFQUFFLEtBQTZCO1FBQ2xDLEVBQUUsRUFBRSxJQUE0QjtLQUNuQyxDQUFDO0FBQ04sQ0FBQyxFQTdCZ0IsYUFBYSxLQUFiLGFBQWEsUUE2QjdCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlbGxpYmlkIEFQSVxuICogQVBJIGRvY3VtZW50YXRpb24gZm9yIHRoZSBJbnRlbGxpYmlkIHBsYXRmb3JtXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkQXVkaWVuY2UgeyBcbiAgICBpZD86IG51bWJlcjtcbiAgICBhZEFjY291bnRJZD86IHN0cmluZztcbiAgICBwbGF0Zm9ybUlkPzogbnVtYmVyO1xuICAgIHVzZXJHaXZlbk5hbWU/OiBzdHJpbmc7XG4gICAgdXNlckRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGdlbmVyYXRlZE5hbWU/OiBzdHJpbmc7XG4gICAgZ2VuZXJhdGVkRGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgcGxhdGZvcm1BdWRpZW5jZUlkPzogc3RyaW5nO1xuICAgIGNyZWF0aW9uU3RhdHVzPzogc3RyaW5nO1xuICAgIGNyZWF0ZWRBdD86IERhdGU7XG4gICAgdXBkYXRlZEF0PzogRGF0ZTtcbiAgICBhdWRpZW5jZVR5cGU/OiBDaGlsZEF1ZGllbmNlLkF1ZGllbmNlVHlwZUVudW07XG4gICAgcHJvZHVjdFNldElkPzogc3RyaW5nO1xuICAgIGV2ZW50TmFtZT86IHN0cmluZztcbiAgICBhdWRpZW5jZVNvdXJjZT86IENoaWxkQXVkaWVuY2UuQXVkaWVuY2VTb3VyY2VFbnVtO1xuICAgIHVwbG9hZE1vZGU/OiBDaGlsZEF1ZGllbmNlLlVwbG9hZE1vZGVFbnVtO1xuICAgIHVwbG9hZEZyZXF1ZW5jeT86IENoaWxkQXVkaWVuY2UuVXBsb2FkRnJlcXVlbmN5RW51bTtcbiAgICBsYXN0UnVuQXQ/OiBEYXRlO1xuICAgIG5leHRSdW5BdD86IERhdGU7XG4gICAgbGFzdFJ1blN0YXR1cz86IHN0cmluZztcbiAgICBsYXN0UnVuRXJyb3I/OiBzdHJpbmc7XG4gICAgZHNTcWw/OiBzdHJpbmc7XG4gICAgYmxvY2tlZEV2ZW50Q29uZmlnSWQ/OiBudW1iZXI7XG4gICAgYmxvY2tpbmdPcGVyYXRvcj86IENoaWxkQXVkaWVuY2UuQmxvY2tpbmdPcGVyYXRvckVudW07XG4gICAgYmxvY2tlZFBvc2l0aW9uPzogbnVtYmVyO1xuICAgIGJsb2NraW5nRGF5cz86IG51bWJlcjtcbn1cbmV4cG9ydCBuYW1lc3BhY2UgQ2hpbGRBdWRpZW5jZSB7XG4gICAgZXhwb3J0IHR5cGUgQXVkaWVuY2VUeXBlRW51bSA9ICdEWU5BTUlDJyB8ICdDQVRBTE9HVUUnO1xuICAgIGV4cG9ydCBjb25zdCBBdWRpZW5jZVR5cGVFbnVtID0ge1xuICAgICAgICBEWU5BTUlDOiAnRFlOQU1JQycgYXMgQXVkaWVuY2VUeXBlRW51bSxcbiAgICAgICAgQ0FUQUxPR1VFOiAnQ0FUQUxPR1VFJyBhcyBBdWRpZW5jZVR5cGVFbnVtXG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBBdWRpZW5jZVNvdXJjZUVudW0gPSAnSU5URUxMSUJJRCcgfCAnRFMnO1xuICAgIGV4cG9ydCBjb25zdCBBdWRpZW5jZVNvdXJjZUVudW0gPSB7XG4gICAgICAgIElOVEVMTElCSUQ6ICdJTlRFTExJQklEJyBhcyBBdWRpZW5jZVNvdXJjZUVudW0sXG4gICAgICAgIERTOiAnRFMnIGFzIEF1ZGllbmNlU291cmNlRW51bVxuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgVXBsb2FkTW9kZUVudW0gPSAnQVBJJyB8ICdDU1YnO1xuICAgIGV4cG9ydCBjb25zdCBVcGxvYWRNb2RlRW51bSA9IHtcbiAgICAgICAgQVBJOiAnQVBJJyBhcyBVcGxvYWRNb2RlRW51bSxcbiAgICAgICAgQ1NWOiAnQ1NWJyBhcyBVcGxvYWRNb2RlRW51bVxuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgVXBsb2FkRnJlcXVlbmN5RW51bSA9ICdPTkNFJyB8ICdEQUlMWScgfCAnRVZFUllfMkQnIHwgJ1dFRUtMWScgfCAnTU9OVEhMWSc7XG4gICAgZXhwb3J0IGNvbnN0IFVwbG9hZEZyZXF1ZW5jeUVudW0gPSB7XG4gICAgICAgIE9OQ0U6ICdPTkNFJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtLFxuICAgICAgICBEQUlMWTogJ0RBSUxZJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtLFxuICAgICAgICBFVkVSWTJEOiAnRVZFUllfMkQnIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW0sXG4gICAgICAgIFdFRUtMWTogJ1dFRUtMWScgYXMgVXBsb2FkRnJlcXVlbmN5RW51bSxcbiAgICAgICAgTU9OVEhMWTogJ01PTlRITFknIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW1cbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIEJsb2NraW5nT3BlcmF0b3JFbnVtID0gJ0dURScgfCAnRVEnO1xuICAgIGV4cG9ydCBjb25zdCBCbG9ja2luZ09wZXJhdG9yRW51bSA9IHtcbiAgICAgICAgR1RFOiAnR1RFJyBhcyBCbG9ja2luZ09wZXJhdG9yRW51bSxcbiAgICAgICAgRVE6ICdFUScgYXMgQmxvY2tpbmdPcGVyYXRvckVudW1cbiAgICB9O1xufSJdfQ==
@@ -34,4 +34,4 @@ export var CreateBucketizedCustomAudienceRequest;
34
34
  MONTHLY: 'MONTHLY'
35
35
  };
36
36
  })(CreateBucketizedCustomAudienceRequest || (CreateBucketizedCustomAudienceRequest = {}));
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQnVja2V0aXplZEN1c3RvbUF1ZGllbmNlUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21vZGVsL2NyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQWtCSCxNQUFNLEtBQVcscUNBQXFDLENBMkJyRDtBQTNCRCxXQUFpQixxQ0FBcUM7SUFFckMsd0RBQWtCLEdBQUc7UUFDOUIsSUFBSSxFQUFFLE1BQTRCO1FBQ2xDLE1BQU0sRUFBRSxRQUE4QjtRQUN0QyxRQUFRLEVBQUUsVUFBZ0M7UUFDMUMsTUFBTSxFQUFFLFFBQThCO1FBQ3RDLEtBQUssRUFBRSxPQUE2QjtLQUN2QyxDQUFDO0lBRVcsd0RBQWtCLEdBQUc7UUFDOUIsVUFBVSxFQUFFLFlBQWtDO1FBQzlDLEVBQUUsRUFBRSxJQUEwQjtLQUNqQyxDQUFDO0lBRVcsb0RBQWMsR0FBRztRQUMxQixHQUFHLEVBQUUsS0FBdUI7UUFDNUIsR0FBRyxFQUFFLEtBQXVCO0tBQy9CLENBQUM7SUFFVyx5REFBbUIsR0FBRztRQUMvQixJQUFJLEVBQUUsTUFBNkI7UUFDbkMsS0FBSyxFQUFFLE9BQThCO1FBQ3JDLE9BQU8sRUFBRSxVQUFpQztRQUMxQyxNQUFNLEVBQUUsUUFBK0I7UUFDdkMsT0FBTyxFQUFFLFNBQWdDO0tBQzVDLENBQUM7QUFDTixDQUFDLEVBM0JnQixxQ0FBcUMsS0FBckMscUNBQXFDLFFBMkJyRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZWxsaWJpZCBBUElcbiAqIEFQSSBkb2N1bWVudGF0aW9uIGZvciB0aGUgSW50ZWxsaWJpZCBwbGF0Zm9ybVxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0IHsgXG4gICAgYWR2ZXJ0aXNlcklkOiBudW1iZXI7XG4gICAgc291cmNlUGxhdGZvcm06IENyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QuU291cmNlUGxhdGZvcm1FbnVtO1xuICAgIGFkQWNjb3VudElkOiBzdHJpbmc7XG4gICAgYXVkaWVuY2VTb3VyY2U6IENyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QuQXVkaWVuY2VTb3VyY2VFbnVtO1xuICAgIGJ1c2luZXNzWm9uZUlkOiBudW1iZXI7XG4gICAgZ29hbEV2ZW50TmFtZUlkOiBudW1iZXI7XG4gICAgb3NJZDogbnVtYmVyO1xuICAgIGNvdW50cnlJZHM/OiBBcnJheTxudW1iZXI+O1xuICAgIHRhcmdldFB1cmNoYXNlck9ubHk/OiBib29sZWFuO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICB1cGxvYWRNb2RlOiBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0LlVwbG9hZE1vZGVFbnVtO1xuICAgIHVwbG9hZEZyZXF1ZW5jeTogQ3JlYXRlQnVja2V0aXplZEN1c3RvbUF1ZGllbmNlUmVxdWVzdC5VcGxvYWRGcmVxdWVuY3lFbnVtO1xuICAgIGRzU3FsPzogc3RyaW5nO1xufVxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0IHtcbiAgICBleHBvcnQgdHlwZSBTb3VyY2VQbGF0Zm9ybUVudW0gPSAnTUVUQScgfCAnVElLVE9LJyB8ICdTTkFQQ0hBVCcgfCAnR09PR0xFJyB8ICdMWUFEUyc7XG4gICAgZXhwb3J0IGNvbnN0IFNvdXJjZVBsYXRmb3JtRW51bSA9IHtcbiAgICAgICAgTUVUQTogJ01FVEEnIGFzIFNvdXJjZVBsYXRmb3JtRW51bSxcbiAgICAgICAgVElLVE9LOiAnVElLVE9LJyBhcyBTb3VyY2VQbGF0Zm9ybUVudW0sXG4gICAgICAgIFNOQVBDSEFUOiAnU05BUENIQVQnIGFzIFNvdXJjZVBsYXRmb3JtRW51bSxcbiAgICAgICAgR09PR0xFOiAnR09PR0xFJyBhcyBTb3VyY2VQbGF0Zm9ybUVudW0sXG4gICAgICAgIExZQURTOiAnTFlBRFMnIGFzIFNvdXJjZVBsYXRmb3JtRW51bVxuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgQXVkaWVuY2VTb3VyY2VFbnVtID0gJ0lOVEVMTElCSUQnIHwgJ0RTJztcbiAgICBleHBvcnQgY29uc3QgQXVkaWVuY2VTb3VyY2VFbnVtID0ge1xuICAgICAgICBJTlRFTExJQklEOiAnSU5URUxMSUJJRCcgYXMgQXVkaWVuY2VTb3VyY2VFbnVtLFxuICAgICAgICBEUzogJ0RTJyBhcyBBdWRpZW5jZVNvdXJjZUVudW1cbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFVwbG9hZE1vZGVFbnVtID0gJ0FQSScgfCAnQ1NWJztcbiAgICBleHBvcnQgY29uc3QgVXBsb2FkTW9kZUVudW0gPSB7XG4gICAgICAgIEFQSTogJ0FQSScgYXMgVXBsb2FkTW9kZUVudW0sXG4gICAgICAgIENTVjogJ0NTVicgYXMgVXBsb2FkTW9kZUVudW1cbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFVwbG9hZEZyZXF1ZW5jeUVudW0gPSAnT05DRScgfCAnREFJTFknIHwgJ0VWRVJZXzJEJyB8ICdXRUVLTFknIHwgJ01PTlRITFknO1xuICAgIGV4cG9ydCBjb25zdCBVcGxvYWRGcmVxdWVuY3lFbnVtID0ge1xuICAgICAgICBPTkNFOiAnT05DRScgYXMgVXBsb2FkRnJlcXVlbmN5RW51bSxcbiAgICAgICAgREFJTFk6ICdEQUlMWScgYXMgVXBsb2FkRnJlcXVlbmN5RW51bSxcbiAgICAgICAgRVZFUlkyRDogJ0VWRVJZXzJEJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtLFxuICAgICAgICBXRUVLTFk6ICdXRUVLTFknIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW0sXG4gICAgICAgIE1PTlRITFk6ICdNT05USExZJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtXG4gICAgfTtcbn0iXX0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQnVja2V0aXplZEN1c3RvbUF1ZGllbmNlUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21vZGVsL2NyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQW1CSCxNQUFNLEtBQVcscUNBQXFDLENBMkJyRDtBQTNCRCxXQUFpQixxQ0FBcUM7SUFFckMsd0RBQWtCLEdBQUc7UUFDOUIsSUFBSSxFQUFFLE1BQTRCO1FBQ2xDLE1BQU0sRUFBRSxRQUE4QjtRQUN0QyxRQUFRLEVBQUUsVUFBZ0M7UUFDMUMsTUFBTSxFQUFFLFFBQThCO1FBQ3RDLEtBQUssRUFBRSxPQUE2QjtLQUN2QyxDQUFDO0lBRVcsd0RBQWtCLEdBQUc7UUFDOUIsVUFBVSxFQUFFLFlBQWtDO1FBQzlDLEVBQUUsRUFBRSxJQUEwQjtLQUNqQyxDQUFDO0lBRVcsb0RBQWMsR0FBRztRQUMxQixHQUFHLEVBQUUsS0FBdUI7UUFDNUIsR0FBRyxFQUFFLEtBQXVCO0tBQy9CLENBQUM7SUFFVyx5REFBbUIsR0FBRztRQUMvQixJQUFJLEVBQUUsTUFBNkI7UUFDbkMsS0FBSyxFQUFFLE9BQThCO1FBQ3JDLE9BQU8sRUFBRSxVQUFpQztRQUMxQyxNQUFNLEVBQUUsUUFBK0I7UUFDdkMsT0FBTyxFQUFFLFNBQWdDO0tBQzVDLENBQUM7QUFDTixDQUFDLEVBM0JnQixxQ0FBcUMsS0FBckMscUNBQXFDLFFBMkJyRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZWxsaWJpZCBBUElcbiAqIEFQSSBkb2N1bWVudGF0aW9uIGZvciB0aGUgSW50ZWxsaWJpZCBwbGF0Zm9ybVxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0IHsgXG4gICAgYWR2ZXJ0aXNlcklkOiBudW1iZXI7XG4gICAgc291cmNlUGxhdGZvcm06IENyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QuU291cmNlUGxhdGZvcm1FbnVtO1xuICAgIGFkQWNjb3VudElkOiBzdHJpbmc7XG4gICAgYXVkaWVuY2VTb3VyY2U6IENyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QuQXVkaWVuY2VTb3VyY2VFbnVtO1xuICAgIGJ1c2luZXNzWm9uZUlkOiBudW1iZXI7XG4gICAgZ29hbEV2ZW50TmFtZUlkOiBudW1iZXI7XG4gICAgb3NJZDogbnVtYmVyO1xuICAgIGNvdW50cnlJZHM/OiBBcnJheTxudW1iZXI+O1xuICAgIHRhcmdldFB1cmNoYXNlcnNPbmx5PzogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gICAgdXBsb2FkTW9kZTogQ3JlYXRlQnVja2V0aXplZEN1c3RvbUF1ZGllbmNlUmVxdWVzdC5VcGxvYWRNb2RlRW51bTtcbiAgICB1cGxvYWRGcmVxdWVuY3k6IENyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QuVXBsb2FkRnJlcXVlbmN5RW51bTtcbiAgICBkc1NxbD86IHN0cmluZztcbiAgICBuZXh0UnVuQXQ/OiBEYXRlO1xufVxuZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGVCdWNrZXRpemVkQ3VzdG9tQXVkaWVuY2VSZXF1ZXN0IHtcbiAgICBleHBvcnQgdHlwZSBTb3VyY2VQbGF0Zm9ybUVudW0gPSAnTUVUQScgfCAnVElLVE9LJyB8ICdTTkFQQ0hBVCcgfCAnR09PR0xFJyB8ICdMWUFEUyc7XG4gICAgZXhwb3J0IGNvbnN0IFNvdXJjZVBsYXRmb3JtRW51bSA9IHtcbiAgICAgICAgTUVUQTogJ01FVEEnIGFzIFNvdXJjZVBsYXRmb3JtRW51bSxcbiAgICAgICAgVElLVE9LOiAnVElLVE9LJyBhcyBTb3VyY2VQbGF0Zm9ybUVudW0sXG4gICAgICAgIFNOQVBDSEFUOiAnU05BUENIQVQnIGFzIFNvdXJjZVBsYXRmb3JtRW51bSxcbiAgICAgICAgR09PR0xFOiAnR09PR0xFJyBhcyBTb3VyY2VQbGF0Zm9ybUVudW0sXG4gICAgICAgIExZQURTOiAnTFlBRFMnIGFzIFNvdXJjZVBsYXRmb3JtRW51bVxuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgQXVkaWVuY2VTb3VyY2VFbnVtID0gJ0lOVEVMTElCSUQnIHwgJ0RTJztcbiAgICBleHBvcnQgY29uc3QgQXVkaWVuY2VTb3VyY2VFbnVtID0ge1xuICAgICAgICBJTlRFTExJQklEOiAnSU5URUxMSUJJRCcgYXMgQXVkaWVuY2VTb3VyY2VFbnVtLFxuICAgICAgICBEUzogJ0RTJyBhcyBBdWRpZW5jZVNvdXJjZUVudW1cbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFVwbG9hZE1vZGVFbnVtID0gJ0FQSScgfCAnQ1NWJztcbiAgICBleHBvcnQgY29uc3QgVXBsb2FkTW9kZUVudW0gPSB7XG4gICAgICAgIEFQSTogJ0FQSScgYXMgVXBsb2FkTW9kZUVudW0sXG4gICAgICAgIENTVjogJ0NTVicgYXMgVXBsb2FkTW9kZUVudW1cbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFVwbG9hZEZyZXF1ZW5jeUVudW0gPSAnT05DRScgfCAnREFJTFknIHwgJ0VWRVJZXzJEJyB8ICdXRUVLTFknIHwgJ01PTlRITFknO1xuICAgIGV4cG9ydCBjb25zdCBVcGxvYWRGcmVxdWVuY3lFbnVtID0ge1xuICAgICAgICBPTkNFOiAnT05DRScgYXMgVXBsb2FkRnJlcXVlbmN5RW51bSxcbiAgICAgICAgREFJTFk6ICdEQUlMWScgYXMgVXBsb2FkRnJlcXVlbmN5RW51bSxcbiAgICAgICAgRVZFUlkyRDogJ0VWRVJZXzJEJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtLFxuICAgICAgICBXRUVLTFk6ICdXRUVLTFknIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW0sXG4gICAgICAgIE1PTlRITFk6ICdNT05USExZJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtXG4gICAgfTtcbn0iXX0=
@@ -30,4 +30,4 @@ export var CreateDsCustomQueryAudienceRequest;
30
30
  MONTHLY: 'MONTHLY'
31
31
  };
32
32
  })(CreateDsCustomQueryAudienceRequest || (CreateDsCustomQueryAudienceRequest = {}));
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRHNDdXN0b21RdWVyeUF1ZGllbmNlUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21vZGVsL2NyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQWNILE1BQU0sS0FBVyxrQ0FBa0MsQ0FzQmxEO0FBdEJELFdBQWlCLGtDQUFrQztJQUVsQyxxREFBa0IsR0FBRztRQUM5QixJQUFJLEVBQUUsTUFBNEI7UUFDbEMsTUFBTSxFQUFFLFFBQThCO1FBQ3RDLFFBQVEsRUFBRSxVQUFnQztRQUMxQyxNQUFNLEVBQUUsUUFBOEI7UUFDdEMsS0FBSyxFQUFFLE9BQTZCO0tBQ3ZDLENBQUM7SUFFVyxpREFBYyxHQUFHO1FBQzFCLEdBQUcsRUFBRSxLQUF1QjtRQUM1QixHQUFHLEVBQUUsS0FBdUI7S0FDL0IsQ0FBQztJQUVXLHNEQUFtQixHQUFHO1FBQy9CLElBQUksRUFBRSxNQUE2QjtRQUNuQyxLQUFLLEVBQUUsT0FBOEI7UUFDckMsT0FBTyxFQUFFLFVBQWlDO1FBQzFDLE1BQU0sRUFBRSxRQUErQjtRQUN2QyxPQUFPLEVBQUUsU0FBZ0M7S0FDNUMsQ0FBQztBQUNOLENBQUMsRUF0QmdCLGtDQUFrQyxLQUFsQyxrQ0FBa0MsUUFzQmxEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBJbnRlbGxpYmlkIEFQSVxuICogQVBJIGRvY3VtZW50YXRpb24gZm9yIHRoZSBJbnRlbGxpYmlkIHBsYXRmb3JtXG4gKlxuICogT3BlbkFQSSBzcGVjIHZlcnNpb246IDEuMFxuICogXG4gKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSB0aGUgc3dhZ2dlciBjb2RlIGdlbmVyYXRvciBwcm9ncmFtLlxuICogaHR0cHM6Ly9naXRodWIuY29tL3N3YWdnZXItYXBpL3N3YWdnZXItY29kZWdlbi5naXRcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cbiAqL1xuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QgeyBcbiAgICBhZHZlcnRpc2VySWQ6IG51bWJlcjtcbiAgICBzb3VyY2VQbGF0Zm9ybTogQ3JlYXRlRHNDdXN0b21RdWVyeUF1ZGllbmNlUmVxdWVzdC5Tb3VyY2VQbGF0Zm9ybUVudW07XG4gICAgYWRBY2NvdW50SWQ6IHN0cmluZztcbiAgICBidXNpbmVzc1pvbmVJZDogbnVtYmVyO1xuICAgIGdvYWxFdmVudE5hbWVJZDogbnVtYmVyO1xuICAgIG9zSWQ6IG51bWJlcjtcbiAgICBkc1NxbDogc3RyaW5nO1xuICAgIHVwbG9hZE1vZGU6IENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QuVXBsb2FkTW9kZUVudW07XG4gICAgdXBsb2FkRnJlcXVlbmN5OiBDcmVhdGVEc0N1c3RvbVF1ZXJ5QXVkaWVuY2VSZXF1ZXN0LlVwbG9hZEZyZXF1ZW5jeUVudW07XG4gICAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3Qge1xuICAgIGV4cG9ydCB0eXBlIFNvdXJjZVBsYXRmb3JtRW51bSA9ICdNRVRBJyB8ICdUSUtUT0snIHwgJ1NOQVBDSEFUJyB8ICdHT09HTEUnIHwgJ0xZQURTJztcbiAgICBleHBvcnQgY29uc3QgU291cmNlUGxhdGZvcm1FbnVtID0ge1xuICAgICAgICBNRVRBOiAnTUVUQScgYXMgU291cmNlUGxhdGZvcm1FbnVtLFxuICAgICAgICBUSUtUT0s6ICdUSUtUT0snIGFzIFNvdXJjZVBsYXRmb3JtRW51bSxcbiAgICAgICAgU05BUENIQVQ6ICdTTkFQQ0hBVCcgYXMgU291cmNlUGxhdGZvcm1FbnVtLFxuICAgICAgICBHT09HTEU6ICdHT09HTEUnIGFzIFNvdXJjZVBsYXRmb3JtRW51bSxcbiAgICAgICAgTFlBRFM6ICdMWUFEUycgYXMgU291cmNlUGxhdGZvcm1FbnVtXG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBVcGxvYWRNb2RlRW51bSA9ICdBUEknIHwgJ0NTVic7XG4gICAgZXhwb3J0IGNvbnN0IFVwbG9hZE1vZGVFbnVtID0ge1xuICAgICAgICBBUEk6ICdBUEknIGFzIFVwbG9hZE1vZGVFbnVtLFxuICAgICAgICBDU1Y6ICdDU1YnIGFzIFVwbG9hZE1vZGVFbnVtXG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBVcGxvYWRGcmVxdWVuY3lFbnVtID0gJ09OQ0UnIHwgJ0RBSUxZJyB8ICdFVkVSWV8yRCcgfCAnV0VFS0xZJyB8ICdNT05USExZJztcbiAgICBleHBvcnQgY29uc3QgVXBsb2FkRnJlcXVlbmN5RW51bSA9IHtcbiAgICAgICAgT05DRTogJ09OQ0UnIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW0sXG4gICAgICAgIERBSUxZOiAnREFJTFknIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW0sXG4gICAgICAgIEVWRVJZMkQ6ICdFVkVSWV8yRCcgYXMgVXBsb2FkRnJlcXVlbmN5RW51bSxcbiAgICAgICAgV0VFS0xZOiAnV0VFS0xZJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtLFxuICAgICAgICBNT05USExZOiAnTU9OVEhMWScgYXMgVXBsb2FkRnJlcXVlbmN5RW51bVxuICAgIH07XG59Il19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRHNDdXN0b21RdWVyeUF1ZGllbmNlUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21vZGVsL2NyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRztBQWdCSCxNQUFNLEtBQVcsa0NBQWtDLENBc0JsRDtBQXRCRCxXQUFpQixrQ0FBa0M7SUFFbEMscURBQWtCLEdBQUc7UUFDOUIsSUFBSSxFQUFFLE1BQTRCO1FBQ2xDLE1BQU0sRUFBRSxRQUE4QjtRQUN0QyxRQUFRLEVBQUUsVUFBZ0M7UUFDMUMsTUFBTSxFQUFFLFFBQThCO1FBQ3RDLEtBQUssRUFBRSxPQUE2QjtLQUN2QyxDQUFDO0lBRVcsaURBQWMsR0FBRztRQUMxQixHQUFHLEVBQUUsS0FBdUI7UUFDNUIsR0FBRyxFQUFFLEtBQXVCO0tBQy9CLENBQUM7SUFFVyxzREFBbUIsR0FBRztRQUMvQixJQUFJLEVBQUUsTUFBNkI7UUFDbkMsS0FBSyxFQUFFLE9BQThCO1FBQ3JDLE9BQU8sRUFBRSxVQUFpQztRQUMxQyxNQUFNLEVBQUUsUUFBK0I7UUFDdkMsT0FBTyxFQUFFLFNBQWdDO0tBQzVDLENBQUM7QUFDTixDQUFDLEVBdEJnQixrQ0FBa0MsS0FBbEMsa0NBQWtDLFFBc0JsRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZWxsaWJpZCBBUElcbiAqIEFQSSBkb2N1bWVudGF0aW9uIGZvciB0aGUgSW50ZWxsaWJpZCBwbGF0Zm9ybVxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVEc0N1c3RvbVF1ZXJ5QXVkaWVuY2VSZXF1ZXN0IHsgXG4gICAgYWR2ZXJ0aXNlcklkOiBudW1iZXI7XG4gICAgc291cmNlUGxhdGZvcm06IENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QuU291cmNlUGxhdGZvcm1FbnVtO1xuICAgIGFkQWNjb3VudElkOiBzdHJpbmc7XG4gICAgYnVzaW5lc3Nab25lSWQ6IG51bWJlcjtcbiAgICBnb2FsRXZlbnROYW1lSWQ6IG51bWJlcjtcbiAgICBvc0lkOiBudW1iZXI7XG4gICAgZHNTcWw6IHN0cmluZztcbiAgICB0YXJnZXRQdXJjaGFzZXJzT25seT86IGJvb2xlYW47XG4gICAgdXBsb2FkTW9kZTogQ3JlYXRlRHNDdXN0b21RdWVyeUF1ZGllbmNlUmVxdWVzdC5VcGxvYWRNb2RlRW51bTtcbiAgICB1cGxvYWRGcmVxdWVuY3k6IENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QuVXBsb2FkRnJlcXVlbmN5RW51bTtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBuZXh0UnVuQXQ6IERhdGU7XG59XG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3Qge1xuICAgIGV4cG9ydCB0eXBlIFNvdXJjZVBsYXRmb3JtRW51bSA9ICdNRVRBJyB8ICdUSUtUT0snIHwgJ1NOQVBDSEFUJyB8ICdHT09HTEUnIHwgJ0xZQURTJztcbiAgICBleHBvcnQgY29uc3QgU291cmNlUGxhdGZvcm1FbnVtID0ge1xuICAgICAgICBNRVRBOiAnTUVUQScgYXMgU291cmNlUGxhdGZvcm1FbnVtLFxuICAgICAgICBUSUtUT0s6ICdUSUtUT0snIGFzIFNvdXJjZVBsYXRmb3JtRW51bSxcbiAgICAgICAgU05BUENIQVQ6ICdTTkFQQ0hBVCcgYXMgU291cmNlUGxhdGZvcm1FbnVtLFxuICAgICAgICBHT09HTEU6ICdHT09HTEUnIGFzIFNvdXJjZVBsYXRmb3JtRW51bSxcbiAgICAgICAgTFlBRFM6ICdMWUFEUycgYXMgU291cmNlUGxhdGZvcm1FbnVtXG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBVcGxvYWRNb2RlRW51bSA9ICdBUEknIHwgJ0NTVic7XG4gICAgZXhwb3J0IGNvbnN0IFVwbG9hZE1vZGVFbnVtID0ge1xuICAgICAgICBBUEk6ICdBUEknIGFzIFVwbG9hZE1vZGVFbnVtLFxuICAgICAgICBDU1Y6ICdDU1YnIGFzIFVwbG9hZE1vZGVFbnVtXG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBVcGxvYWRGcmVxdWVuY3lFbnVtID0gJ09OQ0UnIHwgJ0RBSUxZJyB8ICdFVkVSWV8yRCcgfCAnV0VFS0xZJyB8ICdNT05USExZJztcbiAgICBleHBvcnQgY29uc3QgVXBsb2FkRnJlcXVlbmN5RW51bSA9IHtcbiAgICAgICAgT05DRTogJ09OQ0UnIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW0sXG4gICAgICAgIERBSUxZOiAnREFJTFknIGFzIFVwbG9hZEZyZXF1ZW5jeUVudW0sXG4gICAgICAgIEVWRVJZMkQ6ICdFVkVSWV8yRCcgYXMgVXBsb2FkRnJlcXVlbmN5RW51bSxcbiAgICAgICAgV0VFS0xZOiAnV0VFS0xZJyBhcyBVcGxvYWRGcmVxdWVuY3lFbnVtLFxuICAgICAgICBNT05USExZOiAnTU9OVEhMWScgYXMgVXBsb2FkRnJlcXVlbmN5RW51bVxuICAgIH07XG59Il19
@@ -10,4 +10,4 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  export {};
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29hbFJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbW9kZWwvZ29hbFJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVsbGliaWQgQVBJXG4gKiBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEludGVsbGliaWQgcGxhdGZvcm1cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgR29hbFJlc3BvbnNlIHsgXG4gICAgcG9zdGJhY2tFdmVudElkPzogbnVtYmVyO1xuICAgIGFkdmVydGlzZXJFdmVudE5hbWU/OiBzdHJpbmc7XG4gICAgaW50ZWxsaWJpZEV2ZW50SWQ/OiBudW1iZXI7XG4gICAgaW50ZWxsaWJpZEV2ZW50TmFtZT86IHN0cmluZztcbiAgICBwcmlvcml0eT86IG51bWJlcjtcbn0iXX0=
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29hbFJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbW9kZWwvZ29hbFJlc3BvbnNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEludGVsbGliaWQgQVBJXG4gKiBBUEkgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEludGVsbGliaWQgcGxhdGZvcm1cbiAqXG4gKiBPcGVuQVBJIHNwZWMgdmVyc2lvbjogMS4wXG4gKiBcbiAqXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IHRoZSBzd2FnZ2VyIGNvZGUgZ2VuZXJhdG9yIHByb2dyYW0uXG4gKiBodHRwczovL2dpdGh1Yi5jb20vc3dhZ2dlci1hcGkvc3dhZ2dlci1jb2RlZ2VuLmdpdFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgR29hbFJlc3BvbnNlIHsgXG4gICAgaW50ZWxsaWJpZEV2ZW50SWQ/OiBudW1iZXI7XG4gICAgaW50ZWxsaWJpZEV2ZW50TmFtZT86IHN0cmluZztcbn0iXX0=
@@ -3,7 +3,6 @@ export * from './advertiserMmpConversionEventResponse';
3
3
  export * from './advertiserResponse';
4
4
  export * from './advertiserSearchResponse';
5
5
  export * from './audienceResponse';
6
- export * from './audienceSearchRequest';
7
6
  export * from './blockedEventResponse';
8
7
  export * from './businessZoneResponse';
9
8
  export * from './campaignChangeLogResponse';
@@ -32,4 +31,5 @@ export * from './scheduledUpdates';
32
31
  export * from './sortObject';
33
32
  export * from './updateAudienceNameRequest';
34
33
  export * from './updateDsCustomQuerySqlRequest';
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbW9kZWwvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWRBY2NvdW50UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyTW1wQ29udmVyc2lvbkV2ZW50UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyU2VhcmNoUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpZW5jZVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYXVkaWVuY2VTZWFyY2hSZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vYmxvY2tlZEV2ZW50UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9idXNpbmVzc1pvbmVSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbXBhaWduQ2hhbmdlTG9nUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnbkluc2lnaHRSZWNvcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnbkluc2lnaHRzUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnblJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnblJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FtcGFpZ25TZWFyY2hSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2NoaWxkQXVkaWVuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3VudHJ5UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGVCbG9ja2VkTGl2ZUF1ZGllbmNlUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9nb2FsUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9vU1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZUFkdmVydGlzZXJSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VDYW1wYWlnbkNoYW5nZUxvZ1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZUNhbXBhaWduUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlYWJsZU9iamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXRmb3JtUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0U2V0UmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3RTZXRSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlVXBkYXRlUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlZFVwZGF0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0T2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlQXVkaWVuY2VOYW1lUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZURzQ3VzdG9tUXVlcnlTcWxSZXF1ZXN0JztcbiJdfQ==
34
+ export * from './validateDsQueryRequest';
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbW9kZWwvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYWRBY2NvdW50UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyTW1wQ29udmVyc2lvbkV2ZW50UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hZHZlcnRpc2VyU2VhcmNoUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpZW5jZVJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vYmxvY2tlZEV2ZW50UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9idXNpbmVzc1pvbmVSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2NhbXBhaWduQ2hhbmdlTG9nUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnbkluc2lnaHRSZWNvcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnbkluc2lnaHRzUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnblJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jYW1wYWlnblJlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vY2FtcGFpZ25TZWFyY2hSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL2NoaWxkQXVkaWVuY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb3VudHJ5UmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGVCbG9ja2VkTGl2ZUF1ZGllbmNlUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZUJ1Y2tldGl6ZWRDdXN0b21BdWRpZW5jZVJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGVCdWNrZXRpemVkTGl2ZUF1ZGllbmNlUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZURzQ3VzdG9tUXVlcnlBdWRpZW5jZVJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9nb2FsUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9vU1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZUFkdmVydGlzZXJSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2VDYW1wYWlnbkNoYW5nZUxvZ1Jlc3BvbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vcGFnZUNhbXBhaWduUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlYWJsZU9iamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL3BsYXRmb3JtUmVzcG9uc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0U2V0UmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2R1Y3RTZXRSZXNwb25zZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlVXBkYXRlUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3NjaGVkdWxlZFVwZGF0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0T2JqZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlQXVkaWVuY2VOYW1lUmVxdWVzdCc7XG5leHBvcnQgKiBmcm9tICcuL3VwZGF0ZURzQ3VzdG9tUXVlcnlTcWxSZXF1ZXN0JztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdGVEc1F1ZXJ5UmVxdWVzdCc7XG4iXX0=
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Intellibid API
3
+ * API documentation for the Intellibid platform
4
+ *
5
+ * OpenAPI spec version: 1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by the swagger code generator program.
9
+ * https://github.com/swagger-api/swagger-codegen.git
10
+ * Do not edit the class manually.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGVEc1F1ZXJ5UmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL21vZGVsL3ZhbGlkYXRlRHNRdWVyeVJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogSW50ZWxsaWJpZCBBUElcbiAqIEFQSSBkb2N1bWVudGF0aW9uIGZvciB0aGUgSW50ZWxsaWJpZCBwbGF0Zm9ybVxuICpcbiAqIE9wZW5BUEkgc3BlYyB2ZXJzaW9uOiAxLjBcbiAqIFxuICpcbiAqIE5PVEU6IFRoaXMgY2xhc3MgaXMgYXV0byBnZW5lcmF0ZWQgYnkgdGhlIHN3YWdnZXIgY29kZSBnZW5lcmF0b3IgcHJvZ3JhbS5cbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9zd2FnZ2VyLWFwaS9zd2FnZ2VyLWNvZGVnZW4uZ2l0XG4gKiBEbyBub3QgZWRpdCB0aGUgY2xhc3MgbWFudWFsbHkuXG4gKi9cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0ZURzUXVlcnlSZXF1ZXN0IHsgXG4gICAgcXVlcnk6IHN0cmluZztcbn0iXX0=
@@ -124,6 +124,38 @@ class AdvertiserControllerService {
124
124
  }
125
125
  return false;
126
126
  }
127
+ addProductSet(body, id, observe = 'body', reportProgress = false) {
128
+ if (body === null || body === undefined) {
129
+ throw new Error('Required parameter body was null or undefined when calling addProductSet.');
130
+ }
131
+ if (id === null || id === undefined) {
132
+ throw new Error('Required parameter id was null or undefined when calling addProductSet.');
133
+ }
134
+ let headers = this.defaultHeaders;
135
+ // to determine the Accept header
136
+ let httpHeaderAccepts = [
137
+ '*/*'
138
+ ];
139
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
140
+ if (httpHeaderAcceptSelected != undefined) {
141
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
142
+ }
143
+ // to determine the Content-Type header
144
+ const consumes = [
145
+ 'application/json'
146
+ ];
147
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
148
+ if (httpContentTypeSelected != undefined) {
149
+ headers = headers.set('Content-Type', httpContentTypeSelected);
150
+ }
151
+ return this.httpClient.request('post', `${this.basePath}/api/advertiser/${encodeURIComponent(String(id))}/product-sets`, {
152
+ body: body,
153
+ withCredentials: this.configuration.withCredentials,
154
+ headers: headers,
155
+ observe: observe,
156
+ reportProgress: reportProgress
157
+ });
158
+ }
127
159
  getAdAccounts(id, observe = 'body', reportProgress = false) {
128
160
  if (id === null || id === undefined) {
129
161
  throw new Error('Required parameter id was null or undefined when calling getAdAccounts.');
@@ -332,38 +364,6 @@ class AdvertiserControllerService {
332
364
  reportProgress: reportProgress
333
365
  });
334
366
  }
335
- upsertProductSet(body, id, observe = 'body', reportProgress = false) {
336
- if (body === null || body === undefined) {
337
- throw new Error('Required parameter body was null or undefined when calling upsertProductSet.');
338
- }
339
- if (id === null || id === undefined) {
340
- throw new Error('Required parameter id was null or undefined when calling upsertProductSet.');
341
- }
342
- let headers = this.defaultHeaders;
343
- // to determine the Accept header
344
- let httpHeaderAccepts = [
345
- '*/*'
346
- ];
347
- const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
348
- if (httpHeaderAcceptSelected != undefined) {
349
- headers = headers.set('Accept', httpHeaderAcceptSelected);
350
- }
351
- // to determine the Content-Type header
352
- const consumes = [
353
- 'application/json'
354
- ];
355
- const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
356
- if (httpContentTypeSelected != undefined) {
357
- headers = headers.set('Content-Type', httpContentTypeSelected);
358
- }
359
- return this.httpClient.request('post', `${this.basePath}/api/advertiser/${encodeURIComponent(String(id))}/product-sets`, {
360
- body: body,
361
- withCredentials: this.configuration.withCredentials,
362
- headers: headers,
363
- observe: observe,
364
- reportProgress: reportProgress
365
- });
366
- }
367
367
  }
368
368
  AdvertiserControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdvertiserControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
369
369
  AdvertiserControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AdvertiserControllerService });
@@ -534,13 +534,22 @@ class AudienceControllerService {
534
534
  reportProgress: reportProgress
535
535
  });
536
536
  }
537
- getAllAudiences(searchRequest, observe = 'body', reportProgress = false) {
538
- if (searchRequest === null || searchRequest === undefined) {
539
- throw new Error('Required parameter searchRequest was null or undefined when calling getAllAudiences.');
537
+ getAllAudiences(advertiserId, groupType, sourcePlatform, audienceType, audienceSource, observe = 'body', reportProgress = false) {
538
+ if (advertiserId === null || advertiserId === undefined) {
539
+ throw new Error('Required parameter advertiserId was null or undefined when calling getAllAudiences.');
540
540
  }
541
541
  let queryParameters = new HttpParams({ encoder: new CustomHttpUrlEncodingCodec() });
542
- if (searchRequest !== undefined && searchRequest !== null) {
543
- queryParameters = queryParameters.set('searchRequest', searchRequest);
542
+ if (groupType !== undefined && groupType !== null) {
543
+ queryParameters = queryParameters.set('groupType', groupType);
544
+ }
545
+ if (sourcePlatform !== undefined && sourcePlatform !== null) {
546
+ queryParameters = queryParameters.set('sourcePlatform', sourcePlatform);
547
+ }
548
+ if (audienceType !== undefined && audienceType !== null) {
549
+ queryParameters = queryParameters.set('audienceType', audienceType);
550
+ }
551
+ if (audienceSource !== undefined && audienceSource !== null) {
552
+ queryParameters = queryParameters.set('audienceSource', audienceSource);
544
553
  }
545
554
  let headers = this.defaultHeaders;
546
555
  // to determine the Accept header
@@ -553,7 +562,7 @@ class AudienceControllerService {
553
562
  }
554
563
  // to determine the Content-Type header
555
564
  const consumes = [];
556
- return this.httpClient.request('get', `${this.basePath}/api/audiences`, {
565
+ return this.httpClient.request('get', `${this.basePath}/api/audiences/advertiser/${encodeURIComponent(String(advertiserId))}`, {
557
566
  params: queryParameters,
558
567
  withCredentials: this.configuration.withCredentials,
559
568
  headers: headers,
@@ -607,7 +616,7 @@ class AudienceControllerService {
607
616
  if (httpContentTypeSelected != undefined) {
608
617
  headers = headers.set('Content-Type', httpContentTypeSelected);
609
618
  }
610
- return this.httpClient.request('patch', `${this.basePath}/api/audiences/groups/${encodeURIComponent(String(groupId))}/custom/ds-query/sql`, {
619
+ return this.httpClient.request('post', `${this.basePath}/api/audiences/groups/${encodeURIComponent(String(groupId))}/custom/ds-query/sql`, {
611
620
  body: body,
612
621
  withCredentials: this.configuration.withCredentials,
613
622
  headers: headers,
@@ -639,7 +648,36 @@ class AudienceControllerService {
639
648
  if (httpContentTypeSelected != undefined) {
640
649
  headers = headers.set('Content-Type', httpContentTypeSelected);
641
650
  }
642
- return this.httpClient.request('patch', `${this.basePath}/api/audiences/groups/${encodeURIComponent(String(groupId))}/name`, {
651
+ return this.httpClient.request('post', `${this.basePath}/api/audiences/groups/${encodeURIComponent(String(groupId))}/name`, {
652
+ body: body,
653
+ withCredentials: this.configuration.withCredentials,
654
+ headers: headers,
655
+ observe: observe,
656
+ reportProgress: reportProgress
657
+ });
658
+ }
659
+ validateDsQuery(body, observe = 'body', reportProgress = false) {
660
+ if (body === null || body === undefined) {
661
+ throw new Error('Required parameter body was null or undefined when calling validateDsQuery.');
662
+ }
663
+ let headers = this.defaultHeaders;
664
+ // to determine the Accept header
665
+ let httpHeaderAccepts = [
666
+ '*/*'
667
+ ];
668
+ const httpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
669
+ if (httpHeaderAcceptSelected != undefined) {
670
+ headers = headers.set('Accept', httpHeaderAcceptSelected);
671
+ }
672
+ // to determine the Content-Type header
673
+ const consumes = [
674
+ 'application/json'
675
+ ];
676
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
677
+ if (httpContentTypeSelected != undefined) {
678
+ headers = headers.set('Content-Type', httpContentTypeSelected);
679
+ }
680
+ return this.httpClient.request('post', `${this.basePath}/api/audiences/validate-ds-query`, {
643
681
  body: body,
644
682
  withCredentials: this.configuration.withCredentials,
645
683
  headers: headers,
@@ -1231,42 +1269,6 @@ var AudienceResponse;
1231
1269
  };
1232
1270
  })(AudienceResponse || (AudienceResponse = {}));
1233
1271
 
1234
- /**
1235
- * Intellibid API
1236
- * API documentation for the Intellibid platform
1237
- *
1238
- * OpenAPI spec version: 1.0
1239
- *
1240
- *
1241
- * NOTE: This class is auto generated by the swagger code generator program.
1242
- * https://github.com/swagger-api/swagger-codegen.git
1243
- * Do not edit the class manually.
1244
- */
1245
- var AudienceSearchRequest;
1246
- (function (AudienceSearchRequest) {
1247
- AudienceSearchRequest.GroupTypeEnum = {
1248
- BUCKETIZEDLIVE: 'BUCKETIZED_LIVE',
1249
- BLOCKEDLIVE: 'BLOCKED_LIVE',
1250
- BUCKETIZEDCUSTOM: 'BUCKETIZED_CUSTOM',
1251
- DSCUSTOMQUERY: 'DS_CUSTOM_QUERY'
1252
- };
1253
- AudienceSearchRequest.SourcePlatformEnum = {
1254
- META: 'META',
1255
- TIKTOK: 'TIKTOK',
1256
- SNAPCHAT: 'SNAPCHAT',
1257
- GOOGLE: 'GOOGLE',
1258
- LYADS: 'LYADS'
1259
- };
1260
- AudienceSearchRequest.AudienceTypeEnum = {
1261
- DYNAMIC: 'DYNAMIC',
1262
- CATALOGUE: 'CATALOGUE'
1263
- };
1264
- AudienceSearchRequest.AudienceSourceEnum = {
1265
- INTELLIBID: 'INTELLIBID',
1266
- DS: 'DS'
1267
- };
1268
- })(AudienceSearchRequest || (AudienceSearchRequest = {}));
1269
-
1270
1272
  /**
1271
1273
  * Intellibid API
1272
1274
  * API documentation for the Intellibid platform
@@ -1688,5 +1690,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1688
1690
  * Generated bundle index. Do not edit.
1689
1691
  */
1690
1692
 
1691
- export { APIS, AdAccountResponse, AdvertiserControllerService, ApiModule, AudienceControllerService, AudienceResponse, AudienceSearchRequest, BASE_PATH, COLLECTION_FORMATS, CampaignChangeLogResponse, CampaignControllerService, CampaignInsightRecord, CampaignRequest, CampaignResponse, ChildAudience, Configuration, CreateBlockedLiveAudienceRequest, CreateBucketizedCustomAudienceRequest, CreateBucketizedLiveAudienceRequest, CreateDsCustomQueryAudienceRequest, InsightsControllerService, LookupDataControllerService, ProductSetRequest, ProductSetResponse, ScheduleUpdateRequest, UpdateAudienceNameRequest, UpdateDsCustomQuerySqlRequest };
1693
+ export { APIS, AdAccountResponse, AdvertiserControllerService, ApiModule, AudienceControllerService, AudienceResponse, BASE_PATH, COLLECTION_FORMATS, CampaignChangeLogResponse, CampaignControllerService, CampaignInsightRecord, CampaignRequest, CampaignResponse, ChildAudience, Configuration, CreateBlockedLiveAudienceRequest, CreateBucketizedCustomAudienceRequest, CreateBucketizedLiveAudienceRequest, CreateDsCustomQueryAudienceRequest, InsightsControllerService, LookupDataControllerService, ProductSetRequest, ProductSetResponse, ScheduleUpdateRequest, UpdateAudienceNameRequest, UpdateDsCustomQuerySqlRequest };
1692
1694
  //# sourceMappingURL=revxui-intellibid-client-ts.mjs.map