@vendasta/meetings 0.95.2 → 0.95.4

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.
Files changed (48) hide show
  1. package/esm2020/lib/_internal/enums/index.mjs +1 -1
  2. package/esm2020/lib/_internal/enums/meeting-source.enum.mjs +2 -1
  3. package/esm2020/lib/_internal/google-meet.api.service.mjs +8 -7
  4. package/esm2020/lib/_internal/index.mjs +2 -1
  5. package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
  6. package/esm2020/lib/_internal/interfaces/meeting-bot.interface.mjs +8 -0
  7. package/esm2020/lib/_internal/interfaces/meeting-guest.interface.mjs +1 -1
  8. package/esm2020/lib/_internal/interfaces/meeting-host.interface.mjs +1 -1
  9. package/esm2020/lib/_internal/interfaces/shared.interface.mjs +1 -1
  10. package/esm2020/lib/_internal/meeting-bot-api.api.service.mjs +55 -0
  11. package/esm2020/lib/_internal/meeting-guest.api.service.mjs +8 -7
  12. package/esm2020/lib/_internal/meeting-host.api.service.mjs +19 -13
  13. package/esm2020/lib/_internal/meeting-source-api.api.service.mjs +8 -7
  14. package/esm2020/lib/_internal/objects/index.mjs +3 -2
  15. package/esm2020/lib/_internal/objects/meeting-bot.mjs +240 -0
  16. package/esm2020/lib/_internal/objects/meeting-guest.mjs +2 -2
  17. package/esm2020/lib/_internal/objects/meeting-host.mjs +51 -2
  18. package/esm2020/lib/_internal/objects/shared.mjs +3 -2
  19. package/esm2020/lib/_internal/zoom.api.service.mjs +8 -7
  20. package/esm2020/lib/host/host.service.mjs +4 -1
  21. package/esm2020/lib/index.mjs +1 -1
  22. package/esm2020/lib/shared/groups-and-services.mjs +1 -1
  23. package/fesm2015/vendasta-meetings.mjs +444 -104
  24. package/fesm2015/vendasta-meetings.mjs.map +1 -1
  25. package/fesm2020/vendasta-meetings.mjs +444 -104
  26. package/fesm2020/vendasta-meetings.mjs.map +1 -1
  27. package/lib/_internal/enums/meeting-source.enum.d.ts +2 -1
  28. package/lib/_internal/google-meet.api.service.d.ts +5 -2
  29. package/lib/_internal/index.d.ts +1 -0
  30. package/lib/_internal/interfaces/index.d.ts +3 -2
  31. package/lib/_internal/interfaces/meeting-bot.interface.d.ts +38 -0
  32. package/lib/_internal/interfaces/meeting-guest.interface.d.ts +1 -1
  33. package/lib/_internal/interfaces/meeting-host.interface.d.ts +8 -1
  34. package/lib/_internal/interfaces/shared.interface.d.ts +2 -1
  35. package/lib/_internal/meeting-bot-api.api.service.d.ts +19 -0
  36. package/lib/_internal/meeting-guest.api.service.d.ts +5 -3
  37. package/lib/_internal/meeting-host.api.service.d.ts +9 -6
  38. package/lib/_internal/meeting-source-api.api.service.d.ts +5 -2
  39. package/lib/_internal/objects/index.d.ts +2 -1
  40. package/lib/_internal/objects/meeting-bot.d.ts +64 -0
  41. package/lib/_internal/objects/meeting-guest.d.ts +1 -1
  42. package/lib/_internal/objects/meeting-host.d.ts +14 -1
  43. package/lib/_internal/objects/shared.d.ts +2 -1
  44. package/lib/_internal/zoom.api.service.d.ts +5 -2
  45. package/lib/host/host.service.d.ts +4 -1
  46. package/lib/index.d.ts +1 -1
  47. package/lib/shared/groups-and-services.d.ts +4 -0
  48. package/package.json +1 -1
@@ -5,16 +5,17 @@
5
5
  // API Service.
6
6
  // *********************************
7
7
  import { Injectable } from '@angular/core';
8
- import { BookMeetingRequest, BookMeetingResponse, BuildHostIdRequest, BuildHostIdResponse, CalendarMigrationResponse, CancelMeetingRequest, CheckGroupOrServiceSlugExistRequest, CheckGroupOrServiceSlugExistResponse, CreateAvailabilityRequest, CreateAvailabilityResponse, CreateCalendarRequest, CreateCalendarResponse, CreateDefaultMeetingTypesRequest, CreateGroupRequest, CreateGroupResponse, CreateMeetingTypeRequest, CreateMeetingTypeResponse, CreateServiceRequest, CreateServiceResponse, DeleteAvailabilityRequest, DeleteGroupRequest, DeleteMeetingTypeRequest, DeleteServiceRequest, DoesCalendarExistRequest, DoesCalendarExistResponse, EnsureGroupCalendarsExistRequest, EnsureGroupCalendarsExistResponse, EnsurePersonalCalendarExistsRequest, EnsurePersonalCalendarExistsResponse, GetGroupRequest, GetGroupResponse, GetHostMeetingRequest, GetHostMeetingResponse, GetHostPreferencesRequest, GetHostPreferencesResponse, GetHostsForCalendarRequest, GetHostsForCalendarResponse, GetMeetingTypesForCalendarsRequest, GetMeetingTypesForCalendarsResponse, GetServiceRequest, GetServiceResponse, HostBookMeetingRequest, HostBookMeetingResponse, HostGetCalendarRequest, HostGetCalendarResponse, HostGetMeetingTypeRequest, HostGetMeetingTypeResponse, HostListMeetingTypesRequest, HostListMeetingTypesResponse, IsCalendarConfiguredRequest, IsCalendarConfiguredResponse, IsHostConfiguredRequest, IsHostConfiguredResponse, ListAvailabilityRequest, ListAvailabilityResponse, ListBookedMeetingsRequest, ListBookedMeetingsResponse, ListGroupsRequest, ListGroupsResponse, ListServicesRequest, ListServicesResponse, RescheduleMeetingRequest, SendMeetingRequestEmailRequest, SetGeneralAvailabilityRequest, UpdateAvailabilityRequest, UpdateCalendarRequest, UpdateGroupRequest, UpdateHostPreferencesRequest, UpdateMeetingMetadataRequest, UpdateMeetingTypeRequest, UpdateServiceRequest, } from './objects/';
8
+ import { BookMeetingRequest, BookMeetingResponse, BuildHostIdRequest, BuildHostIdResponse, CalendarMigrationResponse, CancelMeetingRequest, CheckGroupOrServiceSlugExistRequest, CheckGroupOrServiceSlugExistResponse, CreateAvailabilityRequest, CreateAvailabilityResponse, CreateCalendarRequest, CreateCalendarResponse, CreateDefaultMeetingTypesRequest, CreateGroupRequest, CreateGroupResponse, CreateMeetingTypeRequest, CreateMeetingTypeResponse, CreateServiceRequest, CreateServiceResponse, DeleteAvailabilityRequest, DeleteGroupRequest, DeleteMeetingTypeRequest, DeleteServiceRequest, DoesCalendarExistRequest, DoesCalendarExistResponse, EnsureGroupCalendarsExistRequest, EnsureGroupCalendarsExistResponse, EnsurePersonalCalendarExistsRequest, EnsurePersonalCalendarExistsResponse, GetGroupRequest, GetGroupResponse, GetHostMeetingRequest, GetHostMeetingResponse, GetHostPreferencesRequest, GetHostPreferencesResponse, GetHostsForCalendarRequest, GetHostsForCalendarResponse, GetMeetingTypesForCalendarsRequest, GetMeetingTypesForCalendarsResponse, GetServiceRequest, GetServiceResponse, HostBookMeetingRequest, HostBookMeetingResponse, HostGetCalendarRequest, HostGetCalendarResponse, HostGetMeetingTypeRequest, HostGetMeetingTypeResponse, HostListMeetingTypesRequest, HostListMeetingTypesResponse, IsCalendarConfiguredRequest, IsCalendarConfiguredResponse, IsHostConfiguredRequest, IsHostConfiguredResponse, ListAvailabilityRequest, ListAvailabilityResponse, ListBookedMeetingsRequest, ListBookedMeetingsResponse, ListGroupsRequest, ListGroupsResponse, ListServicesRequest, ListServicesResponse, RescheduleMeetingRequest, SendMeetingRequestEmailRequest, SetGeneralAvailabilityRequest, UpdateAvailabilityRequest, UpdateCalendarRequest, UpdateGroupRequest, UpdateHostPreferencesRequest, UpdateMeetingMetadataRequest, UpdateMeetingTypeRequest, UpdateServiceRequest, GetEntityAssociationsRequest, GetEntityAssociationsResponse, } from './objects/';
9
9
  import { HttpHeaders, HttpClient } from '@angular/common/http';
10
- import { inject } from '@angular/core';
11
10
  import { HostService } from '../_generated/host.service';
12
11
  import { map } from 'rxjs/operators';
13
12
  import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/common/http";
14
+ import * as i2 from "../_generated/host.service";
14
15
  export class MeetingHostApiService {
15
- constructor() {
16
- this.hostService = inject(HostService);
17
- this.http = inject(HttpClient);
16
+ constructor(http, hostService) {
17
+ this.http = http;
18
+ this.hostService = hostService;
18
19
  this._host = this.hostService.hostWithScheme;
19
20
  }
20
21
  apiOptions() {
@@ -74,11 +75,6 @@ export class MeetingHostApiService {
74
75
  return this.http.post(this._host + "/meetings.v1.MeetingHost/ListAvailability", request.toApiJson(), this.apiOptions())
75
76
  .pipe(map(resp => ListAvailabilityResponse.fromProto(resp)));
76
77
  }
77
- hostBookMeeting(r) {
78
- const request = (r.toApiJson) ? r : new BookMeetingRequest(r);
79
- return this.http.post(this._host + "/meetings.v1.MeetingHost/HostBookMeeting", request.toApiJson(), this.apiOptions())
80
- .pipe(map(resp => BookMeetingResponse.fromProto(resp)));
81
- }
82
78
  bookMeeting(r) {
83
79
  const request = (r.toApiJson) ? r : new HostBookMeetingRequest(r);
84
80
  return this.http.post(this._host + "/meetings.v1.MeetingHost/BookMeeting", request.toApiJson(), this.apiOptions())
@@ -228,11 +224,21 @@ export class MeetingHostApiService {
228
224
  return this.http.post(this._host + "/meetings.v1.MeetingHost/CheckGroupOrServiceSlugExist", request.toApiJson(), this.apiOptions())
229
225
  .pipe(map(resp => CheckGroupOrServiceSlugExistResponse.fromProto(resp)));
230
226
  }
227
+ hostBookMeeting(r) {
228
+ const request = (r.toApiJson) ? r : new BookMeetingRequest(r);
229
+ return this.http.post(this._host + "/meetings.v1.MeetingHost/HostBookMeeting", request.toApiJson(), this.apiOptions())
230
+ .pipe(map(resp => BookMeetingResponse.fromProto(resp)));
231
+ }
232
+ getEntityAssociations(r) {
233
+ const request = (r.toApiJson) ? r : new GetEntityAssociationsRequest(r);
234
+ return this.http.post(this._host + "/meetings.v1.MeetingHost/GetEntityAssociations", request.toApiJson(), this.apiOptions())
235
+ .pipe(map(resp => GetEntityAssociationsResponse.fromProto(resp)));
236
+ }
231
237
  }
232
- MeetingHostApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingHostApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
238
+ MeetingHostApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingHostApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable });
233
239
  MeetingHostApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingHostApiService, providedIn: 'root' });
234
240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingHostApiService, decorators: [{
235
241
  type: Injectable,
236
242
  args: [{ providedIn: 'root' }]
237
- }] });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1ob3N0LmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvX2ludGVybmFsL21lZXRpbmctaG9zdC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDSCxrQkFBa0IsRUFBRSxtQkFBbUIsRUFDdkMsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQyxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQix5QkFBeUIsRUFDekIsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsbUNBQW1DLEVBQ25DLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiww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QUksQ0FBQyxJQUFJLENBQThCLElBQUksQ0FBQyxLQUFLLEdBQUcscUNBQXFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUN6SSxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2xELENBQUM7SUFDVixDQUFDO0lBQ0QsNEJBQTRCLENBQUMsQ0FBcUY7UUFDOUcsTUFBTSxPQUFPLEdBQUcsQ0FBdUMsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBdUMsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLG1DQUFtQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdKLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQWdELElBQUksQ0FBQyxLQUFLLEdBQUcsdURBQXVELEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUM3SyxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsb0NBQW9DLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3BFLENBQUM7SUFDVixDQUFDOztrSEFoUlEscUJBQXFCO3NIQUFyQixxQkFBcUIsY0FEVCxNQUFNOzJGQUNsQixxQkFBcUI7a0JBRGpDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQm9va01lZXRpbmdSZXF1ZXN0LCBCb29rTWVldGluZ1Jlc3BvbnNlLFxuICAgIEJ1aWxkSG9zdElkUmVxdWVzdCxcbiAgICBCdWlsZEhvc3RJZFJlc3BvbnNlLFxuICAgIENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2UsXG4gICAgQ2FuY2VsTWVldGluZ1JlcXVlc3QsXG4gICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3QsXG4gICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlLFxuICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2UsXG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0LFxuICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UsXG4gICAgQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3QsXG4gICAgQ3JlYXRlR3JvdXBSZXF1ZXN0LFxuICAgIENyZWF0ZUdyb3VwUmVzcG9uc2UsXG4gICAgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2UsXG4gICAgQ3JlYXRlU2VydmljZVJlcXVlc3QsXG4gICAgQ3JlYXRlU2VydmljZVJlc3BvbnNlLFxuICAgIERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgRGVsZXRlR3JvdXBSZXF1ZXN0LFxuICAgIERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBEZWxldGVTZXJ2aWNlUmVxdWVzdCxcbiAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3QsXG4gICAgRG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZSxcbiAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdCxcbiAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2UsXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3QsXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlLFxuICAgIEdldEdyb3VwUmVxdWVzdCxcbiAgICBHZXRHcm91cFJlc3BvbnNlLFxuICAgIEdldEhvc3RNZWV0aW5nUmVxdWVzdCxcbiAgICBHZXRIb3N0TWVldGluZ1Jlc3BvbnNlLFxuICAgIEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3QsXG4gICAgR2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2UsXG4gICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3QsXG4gICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlLFxuICAgIEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3QsXG4gICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2UsXG4gICAgR2V0U2VydmljZVJlcXVlc3QsXG4gICAgR2V0U2VydmljZVJlc3BvbnNlLFxuICAgIEhvc3RCb29rTWVldGluZ1JlcXVlc3QsXG4gICAgSG9zdEJvb2tNZWV0aW5nUmVzcG9uc2UsXG4gICAgSG9zdEdldENhbGVuZGFyUmVxdWVzdCxcbiAgICBIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZSxcbiAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlLFxuICAgIEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdCxcbiAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlLFxuICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdCxcbiAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlLFxuICAgIElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0LFxuICAgIElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2UsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdCxcbiAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXNwb25zZSxcbiAgICBMaXN0R3JvdXBzUmVxdWVzdCxcbiAgICBMaXN0R3JvdXBzUmVzcG9uc2UsXG4gICAgTGlzdFNlcnZpY2VzUmVxdWVzdCxcbiAgICBMaXN0U2VydmljZXNSZXNwb25zZSxcbiAgICBSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3QsXG4gICAgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0LFxuICAgIFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0LFxuICAgIFVwZGF0ZUdyb3VwUmVxdWVzdCxcbiAgICBVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0LFxuICAgIFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3QsXG4gICAgVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIFVwZGF0ZVNlcnZpY2VSZXF1ZXN0LFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgQm9va01lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlLCBCb29rTWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEJ1aWxkSG9zdElkUmVxdWVzdEludGVyZmFjZSxcbiAgICBCdWlsZEhvc3RJZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ2FuY2VsTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlR3JvdXBSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUdyb3VwUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlU2VydmljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlU2VydmljZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRGVsZXRlR3JvdXBSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdEludGVyZmFjZSxcbiAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldEdyb3VwUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRHcm91cFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldEhvc3RNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRIb3N0TWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0U2VydmljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0U2VydmljZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEhvc3RCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgSG9zdEJvb2tNZWV0aW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgSG9zdEdldENhbGVuZGFyUmVxdWVzdEludGVyZmFjZSxcbiAgICBIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZUludGVyZmFjZSxcbiAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdEludGVyZmFjZSxcbiAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdEludGVyZmFjZSxcbiAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0R3JvdXBzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0R3JvdXBzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFNlcnZpY2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0U2VydmljZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICBSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZVNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE1lZXRpbmdIb3N0QXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0U2VydmljZSA9IGluamVjdChIb3N0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgYnVpbGRIb3N0SWQocjogQnVpbGRIb3N0SWRSZXF1ZXN0IHwgQnVpbGRIb3N0SWRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxCdWlsZEhvc3RJZFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxCdWlsZEhvc3RJZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8QnVpbGRIb3N0SWRSZXF1ZXN0PnIpIDogbmV3IEJ1aWxkSG9zdElkUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEJ1aWxkSG9zdElkUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9CdWlsZEhvc3RJZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEJ1aWxkSG9zdElkUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZG9lc0NhbGVuZGFyRXhpc3QocjogRG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0IHwgRG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxEb2VzQ2FsZW5kYXJFeGlzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0PnIpIDogbmV3IERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PERvZXNDYWxlbmRhckV4aXN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9Eb2VzQ2FsZW5kYXJFeGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IERvZXNDYWxlbmRhckV4aXN0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlQ2FsZW5kYXIocjogQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0IHwgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVDYWxlbmRhclJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVDYWxlbmRhclJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlQ2FsZW5kYXJSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZUNhbGVuZGFyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUNhbGVuZGFyUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DcmVhdGVDYWxlbmRhclwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlQ2FsZW5kYXIocjogVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0IHwgVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZUNhbGVuZGFyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVDYWxlbmRhclJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZUNhbGVuZGFyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRDYWxlbmRhcihyOiBIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0IHwgSG9zdEdldENhbGVuZGFyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SG9zdEdldENhbGVuZGFyUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEhvc3RHZXRDYWxlbmRhclJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SG9zdEdldENhbGVuZGFyUmVxdWVzdD5yKSA6IG5ldyBIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SG9zdEdldENhbGVuZGFyUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRDYWxlbmRhclwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEhvc3RHZXRDYWxlbmRhclJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHMocjogRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3QgfCBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8RW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdD5yKSA6IG5ldyBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0Vuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdChyOiBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdCB8IEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0PnIpIDogbmV3IEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRIb3N0c0ZvckNhbGVuZGFyKHI6IEdldEhvc3RzRm9yQ2FsZW5kYXJSZXF1ZXN0IHwgR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEhvc3RzRm9yQ2FsZW5kYXJSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3Q+cikgOiBuZXcgR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRIb3N0c0ZvckNhbGVuZGFyUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRIb3N0c0ZvckNhbGVuZGFyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFycyhyOiBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0IHwgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdD5yKSA6IG5ldyBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0QXZhaWxhYmlsaXR5KHI6IExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0IHwgTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RBdmFpbGFiaWxpdHlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdEF2YWlsYWJpbGl0eVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdEF2YWlsYWJpbGl0eVJlcXVlc3Q+cikgOiBuZXcgTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0QXZhaWxhYmlsaXR5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEF2YWlsYWJpbGl0eVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGhvc3RCb29rTWVldGluZyhyOiBCb29rTWVldGluZ1JlcXVlc3QgfCBCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEJvb2tNZWV0aW5nUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEJvb2tNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxCb29rTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgQm9va01lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Qm9va01lZXRpbmdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0hvc3RCb29rTWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEJvb2tNZWV0aW5nUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgYm9va01lZXRpbmcocjogSG9zdEJvb2tNZWV0aW5nUmVxdWVzdCB8IEhvc3RCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEhvc3RCb29rTWVldGluZ1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxIb3N0Qm9va01lZXRpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEhvc3RCb29rTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEhvc3RCb29rTWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQm9va01lZXRpbmdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBIb3N0Qm9va01lZXRpbmdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRIb3N0TWVldGluZyhyOiBHZXRIb3N0TWVldGluZ1JlcXVlc3QgfCBHZXRIb3N0TWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEhvc3RNZWV0aW5nUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEhvc3RNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRIb3N0TWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgR2V0SG9zdE1lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0SG9zdE1lZXRpbmdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldEhvc3RNZWV0aW5nXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0SG9zdE1lZXRpbmdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0Qm9va2VkTWVldGluZ3MocjogTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdCB8IExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3Q+cikgOiBuZXcgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvTGlzdEJvb2tlZE1lZXRpbmdzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEJvb2tlZE1lZXRpbmdzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2FuY2VsTWVldGluZyhyOiBDYW5jZWxNZWV0aW5nUmVxdWVzdCB8IENhbmNlbE1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENhbmNlbE1lZXRpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENhbmNlbE1lZXRpbmdSZXF1ZXN0PnIpIDogbmV3IENhbmNlbE1lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NhbmNlbE1lZXRpbmdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHJlc2NoZWR1bGVNZWV0aW5nKHI6IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdCB8IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0PnIpIDogbmV3IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9SZXNjaGVkdWxlTWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgdXBkYXRlTWVldGluZ01ldGFkYXRhKHI6IFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3QgfCBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZU1lZXRpbmdNZXRhZGF0YVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc2V0R2VuZXJhbEF2YWlsYWJpbGl0eShyOiBTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdCB8IFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpIDogbmV3IFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1NldEdlbmVyYWxBdmFpbGFiaWxpdHlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZUF2YWlsYWJpbGl0eShyOiBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0IHwgQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DcmVhdGVBdmFpbGFiaWxpdHlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVBdmFpbGFiaWxpdHlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVBdmFpbGFiaWxpdHkocjogVXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdCB8IFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlQXZhaWxhYmlsaXR5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVBdmFpbGFiaWxpdHkocjogRGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdCB8IERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRGVsZXRlQXZhaWxhYmlsaXR5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBpc0hvc3RDb25maWd1cmVkKHI6IElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0IHwgSXNIb3N0Q29uZmlndXJlZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SXNIb3N0Q29uZmlndXJlZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SXNIb3N0Q29uZmlndXJlZFJlcXVlc3Q+cikgOiBuZXcgSXNIb3N0Q29uZmlndXJlZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJc0hvc3RDb25maWd1cmVkUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9Jc0hvc3RDb25maWd1cmVkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSXNIb3N0Q29uZmlndXJlZFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEhvc3RQcmVmZXJlbmNlcyhyOiBHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0IHwgR2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdD5yKSA6IG5ldyBHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRIb3N0UHJlZmVyZW5jZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRIb3N0UHJlZmVyZW5jZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVIb3N0UHJlZmVyZW5jZXMocjogVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdCB8IFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlSG9zdFByZWZlcmVuY2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRNZWV0aW5nVHlwZShyOiBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0IHwgSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SG9zdEdldE1lZXRpbmdUeXBlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEhvc3RHZXRNZWV0aW5nVHlwZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdD5yKSA6IG5ldyBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SG9zdEdldE1lZXRpbmdUeXBlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRNZWV0aW5nVHlwZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RNZWV0aW5nVHlwZXMocjogSG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0IHwgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0PnIpIDogbmV3IEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEhvc3RMaXN0TWVldGluZ1R5cGVzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0TWVldGluZ1R5cGVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVNZWV0aW5nVHlwZShyOiBDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3QgfCBDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlTWVldGluZ1R5cGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZU1lZXRpbmdUeXBlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlTWVldGluZ1R5cGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVNZWV0aW5nVHlwZShyOiBVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3QgfCBVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlTWVldGluZ1R5cGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGRlbGV0ZU1lZXRpbmdUeXBlKHI6IERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdCB8IERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9EZWxldGVNZWV0aW5nVHlwZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlcyhyOiBDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdCB8IENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsKHI6IFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdCB8IFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0PnIpIDogbmV3IFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9TZW5kTWVldGluZ1JlcXVlc3RFbWFpbFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgaXNDYWxlbmRhckNvbmZpZ3VyZWQocjogSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0IHwgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0PnIpIDogbmV3IElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9Jc0NhbGVuZGFyQ29uZmlndXJlZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlR3JvdXAocjogQ3JlYXRlR3JvdXBSZXF1ZXN0IHwgQ3JlYXRlR3JvdXBSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVHcm91cFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVHcm91cFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlR3JvdXBSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZUdyb3VwUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUdyb3VwUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DcmVhdGVHcm91cFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZUdyb3VwUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlR3JvdXAocjogVXBkYXRlR3JvdXBSZXF1ZXN0IHwgVXBkYXRlR3JvdXBSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZUdyb3VwUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVHcm91cFJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlR3JvdXBSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZUdyb3VwXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVHcm91cChyOiBEZWxldGVHcm91cFJlcXVlc3QgfCBEZWxldGVHcm91cFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlR3JvdXBSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZUdyb3VwUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVHcm91cFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRGVsZXRlR3JvdXBcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RHcm91cHMocjogTGlzdEdyb3Vwc1JlcXVlc3QgfCBMaXN0R3JvdXBzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEdyb3Vwc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0R3JvdXBzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0R3JvdXBzUmVxdWVzdD5yKSA6IG5ldyBMaXN0R3JvdXBzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RHcm91cHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RHcm91cHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0R3JvdXBzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlU2VydmljZShyOiBDcmVhdGVTZXJ2aWNlUmVxdWVzdCB8IENyZWF0ZVNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVTZXJ2aWNlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVNlcnZpY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVNlcnZpY2VSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVNlcnZpY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlU2VydmljZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ3JlYXRlU2VydmljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVNlcnZpY2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVTZXJ2aWNlKHI6IFVwZGF0ZVNlcnZpY2VSZXF1ZXN0IHwgVXBkYXRlU2VydmljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlU2VydmljZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlU2VydmljZVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlU2VydmljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlU2VydmljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVsZXRlU2VydmljZShyOiBEZWxldGVTZXJ2aWNlUmVxdWVzdCB8IERlbGV0ZVNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZVNlcnZpY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZVNlcnZpY2VSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZVNlcnZpY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0RlbGV0ZVNlcnZpY2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RTZXJ2aWNlcyhyOiBMaXN0U2VydmljZXNSZXF1ZXN0IHwgTGlzdFNlcnZpY2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFNlcnZpY2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RTZXJ2aWNlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFNlcnZpY2VzUmVxdWVzdD5yKSA6IG5ldyBMaXN0U2VydmljZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFNlcnZpY2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0U2VydmljZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0U2VydmljZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjYWxlbmRhck1pZ3JhdGlvbigpOiBPYnNlcnZhYmxlPENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DYWxlbmRhck1pZ3JhdGlvblwiLCB7fSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDYWxlbmRhck1pZ3JhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEdyb3VwKHI6IEdldEdyb3VwUmVxdWVzdCB8IEdldEdyb3VwUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0R3JvdXBSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0R3JvdXBSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEdyb3VwUmVxdWVzdD5yKSA6IG5ldyBHZXRHcm91cFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRHcm91cFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0R3JvdXBcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRHcm91cFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFNlcnZpY2UocjogR2V0U2VydmljZVJlcXVlc3QgfCBHZXRTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0U2VydmljZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRTZXJ2aWNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRTZXJ2aWNlUmVxdWVzdD5yKSA6IG5ldyBHZXRTZXJ2aWNlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFNlcnZpY2VSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldFNlcnZpY2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRTZXJ2aWNlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdChyOiBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdCB8IENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0PnIpIDogbmV3IENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
243
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1ob3N0LmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvX2ludGVybmFsL21lZXRpbmctaG9zdC5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2hDLGlDQUFpQyxFQUNqQyxtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIs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QUM3RCxDQUFDO0lBQ1YsQ0FBQzs7a0hBMVJRLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRFQsTUFBTTsyRkFDbEIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBCb29rTWVldGluZ1JlcXVlc3QsXG4gICAgICAgIEJvb2tNZWV0aW5nUmVzcG9uc2UsXG4gICAgICAgIEJ1aWxkSG9zdElkUmVxdWVzdCxcbiAgICAgICAgQnVpbGRIb3N0SWRSZXNwb25zZSxcbiAgICAgICAgQ2FsZW5kYXJNaWdyYXRpb25SZXNwb25zZSxcbiAgICAgICAgQ2FuY2VsTWVldGluZ1JlcXVlc3QsXG4gICAgICAgIENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0LFxuICAgICAgICBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlc3BvbnNlLFxuICAgICAgICBDcmVhdGVDYWxlbmRhclJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVHcm91cFJlcXVlc3QsXG4gICAgICAgIENyZWF0ZUdyb3VwUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlTWVldGluZ1R5cGVSZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlU2VydmljZVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZVNlcnZpY2VSZXNwb25zZSxcbiAgICAgICAgRGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICAgICAgRGVsZXRlR3JvdXBSZXF1ZXN0LFxuICAgICAgICBEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3QsXG4gICAgICAgIERlbGV0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgICAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3QsXG4gICAgICAgIERvZXNDYWxlbmRhckV4aXN0UmVzcG9uc2UsXG4gICAgICAgIEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0LFxuICAgICAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2UsXG4gICAgICAgIEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0LFxuICAgICAgICBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVzcG9uc2UsXG4gICAgICAgIEdldEdyb3VwUmVxdWVzdCxcbiAgICAgICAgR2V0R3JvdXBSZXNwb25zZSxcbiAgICAgICAgR2V0SG9zdE1lZXRpbmdSZXF1ZXN0LFxuICAgICAgICBHZXRIb3N0TWVldGluZ1Jlc3BvbnNlLFxuICAgICAgICBHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0LFxuICAgICAgICBHZXRIb3N0UHJlZmVyZW5jZXNSZXNwb25zZSxcbiAgICAgICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3QsXG4gICAgICAgIEdldEhvc3RzRm9yQ2FsZW5kYXJSZXNwb25zZSxcbiAgICAgICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdCxcbiAgICAgICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2UsXG4gICAgICAgIEdldFNlcnZpY2VSZXF1ZXN0LFxuICAgICAgICBHZXRTZXJ2aWNlUmVzcG9uc2UsXG4gICAgICAgIEhvc3RCb29rTWVldGluZ1JlcXVlc3QsXG4gICAgICAgIEhvc3RCb29rTWVldGluZ1Jlc3BvbnNlLFxuICAgICAgICBIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0LFxuICAgICAgICBIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZSxcbiAgICAgICAgSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICAgICAgSG9zdEdldE1lZXRpbmdUeXBlUmVzcG9uc2UsXG4gICAgICAgIEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdCxcbiAgICAgICAgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZSxcbiAgICAgICAgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0LFxuICAgICAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlLFxuICAgICAgICBJc0hvc3RDb25maWd1cmVkUmVxdWVzdCxcbiAgICAgICAgSXNIb3N0Q29uZmlndXJlZFJlc3BvbnNlLFxuICAgICAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICAgICAgTGlzdEF2YWlsYWJpbGl0eVJlc3BvbnNlLFxuICAgICAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0LFxuICAgICAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXNwb25zZSxcbiAgICAgICAgTGlzdEdyb3Vwc1JlcXVlc3QsXG4gICAgICAgIExpc3RHcm91cHNSZXNwb25zZSxcbiAgICAgICAgTGlzdFNlcnZpY2VzUmVxdWVzdCxcbiAgICAgICAgTGlzdFNlcnZpY2VzUmVzcG9uc2UsXG4gICAgICAgIFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdCxcbiAgICAgICAgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0LFxuICAgICAgICBTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICAgICAgVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVHcm91cFJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3QsXG4gICAgICAgIFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlU2VydmljZVJlcXVlc3QsXG4gICAgICAgIEdldEVudGl0eUFzc29jaWF0aW9uc1JlcXVlc3QsXG4gICAgICAgIEdldEVudGl0eUFzc29jaWF0aW9uc1Jlc3BvbnNlLFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIEJvb2tNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQm9va01lZXRpbmdSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQnVpbGRIb3N0SWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBCdWlsZEhvc3RJZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDYWxlbmRhck1pZ3JhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDYW5jZWxNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ2FsZW5kYXJSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlR3JvdXBSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZWV0aW5nVHlwZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlU2VydmljZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVHcm91cFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlU2VydmljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0R3JvdXBSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRHcm91cFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRIb3N0TWVldGluZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEhvc3RNZWV0aW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEhvc3RQcmVmZXJlbmNlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0U2VydmljZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFNlcnZpY2VSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgSG9zdEJvb2tNZWV0aW5nUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RHZXRDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEhvc3RHZXRDYWxlbmRhclJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBJc0hvc3RDb25maWd1cmVkUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0R3JvdXBzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdEdyb3Vwc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0U2VydmljZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0U2VydmljZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZUdyb3VwUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0RW50aXR5QXNzb2NpYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0RW50aXR5QXNzb2NpYXRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTWVldGluZ0hvc3RBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBidWlsZEhvc3RJZChyOiBCdWlsZEhvc3RJZFJlcXVlc3QgfCBCdWlsZEhvc3RJZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEJ1aWxkSG9zdElkUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEJ1aWxkSG9zdElkUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxCdWlsZEhvc3RJZFJlcXVlc3Q+cikgOiBuZXcgQnVpbGRIb3N0SWRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QnVpbGRIb3N0SWRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0J1aWxkSG9zdElkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQnVpbGRIb3N0SWRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkb2VzQ2FsZW5kYXJFeGlzdChyOiBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3QgfCBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPERvZXNDYWxlbmRhckV4aXN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERvZXNDYWxlbmRhckV4aXN0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3Q+cikgOiBuZXcgRG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0RvZXNDYWxlbmRhckV4aXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gRG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVDYWxlbmRhcihyOiBDcmVhdGVDYWxlbmRhclJlcXVlc3QgfCBDcmVhdGVDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUNhbGVuZGFyUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUNhbGVuZGFyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVDYWxlbmRhclJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQ2FsZW5kYXJSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZUNhbGVuZGFyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlQ2FsZW5kYXJSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVDYWxlbmRhcihyOiBVcGRhdGVDYWxlbmRhclJlcXVlc3QgfCBVcGRhdGVDYWxlbmRhclJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlQ2FsZW5kYXJSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZUNhbGVuZGFyUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVDYWxlbmRhclJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlQ2FsZW5kYXJcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldENhbGVuZGFyKHI6IEhvc3RHZXRDYWxlbmRhclJlcXVlc3QgfCBIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SG9zdEdldENhbGVuZGFyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxIb3N0R2V0Q2FsZW5kYXJSZXF1ZXN0PnIpIDogbmV3IEhvc3RHZXRDYWxlbmRhclJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldENhbGVuZGFyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSG9zdEdldENhbGVuZGFyUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0cyhyOiBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdCB8IEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0PnIpIDogbmV3IEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBlbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0KHI6IEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXF1ZXN0IHwgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEVuc3VyZUdyb3VwQ2FsZW5kYXJzRXhpc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3Q+cikgOiBuZXcgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9FbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEhvc3RzRm9yQ2FsZW5kYXIocjogR2V0SG9zdHNGb3JDYWxlbmRhclJlcXVlc3QgfCBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0SG9zdHNGb3JDYWxlbmRhclJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdD5yKSA6IG5ldyBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEhvc3RzRm9yQ2FsZW5kYXJSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldEhvc3RzRm9yQ2FsZW5kYXJcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRIb3N0c0ZvckNhbGVuZGFyUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzKHI6IEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3QgfCBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0PnIpIDogbmV3IEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RBdmFpbGFiaWxpdHkocjogTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3QgfCBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEF2YWlsYWJpbGl0eVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdD5yKSA6IG5ldyBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RBdmFpbGFiaWxpdHlSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RBdmFpbGFiaWxpdHlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgYm9va01lZXRpbmcocjogSG9zdEJvb2tNZWV0aW5nUmVxdWVzdCB8IEhvc3RCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEhvc3RCb29rTWVldGluZ1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxIb3N0Qm9va01lZXRpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEhvc3RCb29rTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgSG9zdEJvb2tNZWV0aW5nUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEhvc3RCb29rTWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQm9va01lZXRpbmdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBIb3N0Qm9va01lZXRpbmdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRIb3N0TWVldGluZyhyOiBHZXRIb3N0TWVldGluZ1JlcXVlc3QgfCBHZXRIb3N0TWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEhvc3RNZWV0aW5nUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEhvc3RNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRIb3N0TWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgR2V0SG9zdE1lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0SG9zdE1lZXRpbmdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldEhvc3RNZWV0aW5nXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0SG9zdE1lZXRpbmdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0Qm9va2VkTWVldGluZ3MocjogTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdCB8IExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3Q+cikgOiBuZXcgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RCb29rZWRNZWV0aW5nc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvTGlzdEJvb2tlZE1lZXRpbmdzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdEJvb2tlZE1lZXRpbmdzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2FuY2VsTWVldGluZyhyOiBDYW5jZWxNZWV0aW5nUmVxdWVzdCB8IENhbmNlbE1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENhbmNlbE1lZXRpbmdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENhbmNlbE1lZXRpbmdSZXF1ZXN0PnIpIDogbmV3IENhbmNlbE1lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NhbmNlbE1lZXRpbmdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHJlc2NoZWR1bGVNZWV0aW5nKHI6IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdCB8IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0PnIpIDogbmV3IFJlc2NoZWR1bGVNZWV0aW5nUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9SZXNjaGVkdWxlTWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgdXBkYXRlTWVldGluZ01ldGFkYXRhKHI6IFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3QgfCBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZU1lZXRpbmdNZXRhZGF0YVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgc2V0R2VuZXJhbEF2YWlsYWJpbGl0eShyOiBTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdCB8IFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpIDogbmV3IFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1NldEdlbmVyYWxBdmFpbGFiaWxpdHlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZUF2YWlsYWJpbGl0eShyOiBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0IHwgQ3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DcmVhdGVBdmFpbGFiaWxpdHlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVBdmFpbGFiaWxpdHlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVBdmFpbGFiaWxpdHkocjogVXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdCB8IFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlQXZhaWxhYmlsaXR5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVBdmFpbGFiaWxpdHkocjogRGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdCB8IERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlQXZhaWxhYmlsaXR5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRGVsZXRlQXZhaWxhYmlsaXR5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBpc0hvc3RDb25maWd1cmVkKHI6IElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0IHwgSXNIb3N0Q29uZmlndXJlZFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8SXNIb3N0Q29uZmlndXJlZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SXNIb3N0Q29uZmlndXJlZFJlcXVlc3Q+cikgOiBuZXcgSXNIb3N0Q29uZmlndXJlZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJc0hvc3RDb25maWd1cmVkUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9Jc0hvc3RDb25maWd1cmVkXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSXNIb3N0Q29uZmlndXJlZFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEhvc3RQcmVmZXJlbmNlcyhyOiBHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0IHwgR2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEhvc3RQcmVmZXJlbmNlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdD5yKSA6IG5ldyBHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0SG9zdFByZWZlcmVuY2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRIb3N0UHJlZmVyZW5jZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRIb3N0UHJlZmVyZW5jZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVIb3N0UHJlZmVyZW5jZXMocjogVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdCB8IFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUhvc3RQcmVmZXJlbmNlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlSG9zdFByZWZlcmVuY2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRNZWV0aW5nVHlwZShyOiBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0IHwgSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SG9zdEdldE1lZXRpbmdUeXBlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEhvc3RHZXRNZWV0aW5nVHlwZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdD5yKSA6IG5ldyBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8SG9zdEdldE1lZXRpbmdUeXBlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9HZXRNZWV0aW5nVHlwZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RNZWV0aW5nVHlwZXMocjogSG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0IHwgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SG9zdExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0PnIpIDogbmV3IEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEhvc3RMaXN0TWVldGluZ1R5cGVzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0TWVldGluZ1R5cGVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gSG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVNZWV0aW5nVHlwZShyOiBDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3QgfCBDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVNZWV0aW5nVHlwZVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlTWVldGluZ1R5cGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZU1lZXRpbmdUeXBlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlTWVldGluZ1R5cGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVNZWV0aW5nVHlwZShyOiBVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3QgfCBVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZWV0aW5nVHlwZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlTWVldGluZ1R5cGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGRlbGV0ZU1lZXRpbmdUeXBlKHI6IERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdCB8IERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlTWVldGluZ1R5cGVSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9EZWxldGVNZWV0aW5nVHlwZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlcyhyOiBDcmVhdGVEZWZhdWx0TWVldGluZ1R5cGVzUmVxdWVzdCB8IENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0NyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsKHI6IFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdCB8IFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZW5kTWVldGluZ1JlcXVlc3RFbWFpbFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0PnIpIDogbmV3IFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9TZW5kTWVldGluZ1JlcXVlc3RFbWFpbFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgaXNDYWxlbmRhckNvbmZpZ3VyZWQocjogSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0IHwgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8SXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0PnIpIDogbmV3IElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9Jc0NhbGVuZGFyQ29uZmlndXJlZFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IElzQ2FsZW5kYXJDb25maWd1cmVkUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlR3JvdXAocjogQ3JlYXRlR3JvdXBSZXF1ZXN0IHwgQ3JlYXRlR3JvdXBSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVHcm91cFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVHcm91cFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlR3JvdXBSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZUdyb3VwUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUdyb3VwUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DcmVhdGVHcm91cFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZUdyb3VwUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlR3JvdXAocjogVXBkYXRlR3JvdXBSZXF1ZXN0IHwgVXBkYXRlR3JvdXBSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZUdyb3VwUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVHcm91cFJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlR3JvdXBSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L1VwZGF0ZUdyb3VwXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVHcm91cChyOiBEZWxldGVHcm91cFJlcXVlc3QgfCBEZWxldGVHcm91cFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlR3JvdXBSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZUdyb3VwUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVHcm91cFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvRGVsZXRlR3JvdXBcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RHcm91cHMocjogTGlzdEdyb3Vwc1JlcXVlc3QgfCBMaXN0R3JvdXBzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdEdyb3Vwc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0R3JvdXBzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0R3JvdXBzUmVxdWVzdD5yKSA6IG5ldyBMaXN0R3JvdXBzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RHcm91cHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0xpc3RHcm91cHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0R3JvdXBzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlU2VydmljZShyOiBDcmVhdGVTZXJ2aWNlUmVxdWVzdCB8IENyZWF0ZVNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVTZXJ2aWNlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVNlcnZpY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVNlcnZpY2VSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVNlcnZpY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlU2VydmljZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ3JlYXRlU2VydmljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVNlcnZpY2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVTZXJ2aWNlKHI6IFVwZGF0ZVNlcnZpY2VSZXF1ZXN0IHwgVXBkYXRlU2VydmljZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlU2VydmljZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlU2VydmljZVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlU2VydmljZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvVXBkYXRlU2VydmljZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVsZXRlU2VydmljZShyOiBEZWxldGVTZXJ2aWNlUmVxdWVzdCB8IERlbGV0ZVNlcnZpY2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZVNlcnZpY2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZVNlcnZpY2VSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZVNlcnZpY2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0RlbGV0ZVNlcnZpY2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RTZXJ2aWNlcyhyOiBMaXN0U2VydmljZXNSZXF1ZXN0IHwgTGlzdFNlcnZpY2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFNlcnZpY2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RTZXJ2aWNlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFNlcnZpY2VzUmVxdWVzdD5yKSA6IG5ldyBMaXN0U2VydmljZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFNlcnZpY2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9MaXN0U2VydmljZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0U2VydmljZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjYWxlbmRhck1pZ3JhdGlvbigpOiBPYnNlcnZhYmxlPENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nSG9zdC9DYWxlbmRhck1pZ3JhdGlvblwiLCB7fSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDYWxlbmRhck1pZ3JhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEdyb3VwKHI6IEdldEdyb3VwUmVxdWVzdCB8IEdldEdyb3VwUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0R3JvdXBSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0R3JvdXBSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEdyb3VwUmVxdWVzdD5yKSA6IG5ldyBHZXRHcm91cFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRHcm91cFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0R3JvdXBcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRHcm91cFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFNlcnZpY2UocjogR2V0U2VydmljZVJlcXVlc3QgfCBHZXRTZXJ2aWNlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0U2VydmljZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRTZXJ2aWNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRTZXJ2aWNlUmVxdWVzdD5yKSA6IG5ldyBHZXRTZXJ2aWNlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFNlcnZpY2VSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0dldFNlcnZpY2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRTZXJ2aWNlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdChyOiBDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVxdWVzdCB8IENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDaGVja0dyb3VwT3JTZXJ2aWNlU2x1Z0V4aXN0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0PnIpIDogbmV3IENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGhvc3RCb29rTWVldGluZyhyOiBCb29rTWVldGluZ1JlcXVlc3QgfCBCb29rTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEJvb2tNZWV0aW5nUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEJvb2tNZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxCb29rTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgQm9va01lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Qm9va01lZXRpbmdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLk1lZXRpbmdIb3N0L0hvc3RCb29rTWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEJvb2tNZWV0aW5nUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRFbnRpdHlBc3NvY2lhdGlvbnMocjogR2V0RW50aXR5QXNzb2NpYXRpb25zUmVxdWVzdCB8IEdldEVudGl0eUFzc29jaWF0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEVudGl0eUFzc29jaWF0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRFbnRpdHlBc3NvY2lhdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEVudGl0eUFzc29jaWF0aW9uc1JlcXVlc3Q+cikgOiBuZXcgR2V0RW50aXR5QXNzb2NpYXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEVudGl0eUFzc29jaWF0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ0hvc3QvR2V0RW50aXR5QXNzb2NpYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0RW50aXR5QXNzb2NpYXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
@@ -7,14 +7,15 @@
7
7
  import { Injectable } from '@angular/core';
8
8
  import { MeetingSourceListRequest, MeetingSourceListResponse, } from './objects/';
9
9
  import { HttpHeaders, HttpClient } from '@angular/common/http';
10
- import { inject } from '@angular/core';
11
10
  import { HostService } from '../_generated/host.service';
12
11
  import { map } from 'rxjs/operators';
13
12
  import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/common/http";
14
+ import * as i2 from "../_generated/host.service";
14
15
  export class MeetingSourceAPIApiService {
15
- constructor() {
16
- this.hostService = inject(HostService);
17
- this.http = inject(HttpClient);
16
+ constructor(http, hostService) {
17
+ this.http = http;
18
+ this.hostService = hostService;
18
19
  this._host = this.hostService.hostWithScheme;
19
20
  }
20
21
  apiOptions() {
@@ -31,10 +32,10 @@ export class MeetingSourceAPIApiService {
31
32
  .pipe(map(resp => MeetingSourceListResponse.fromProto(resp)));
32
33
  }
33
34
  }
34
- MeetingSourceAPIApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingSourceAPIApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
35
+ MeetingSourceAPIApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingSourceAPIApiService, deps: [{ token: i1.HttpClient }, { token: i2.HostService }], target: i0.ɵɵFactoryTarget.Injectable });
35
36
  MeetingSourceAPIApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingSourceAPIApiService, providedIn: 'root' });
36
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingSourceAPIApiService, decorators: [{
37
38
  type: Injectable,
38
39
  args: [{ providedIn: 'root' }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1zb3VyY2UtYXBpLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvX2ludGVybmFsL21lZXRpbmctc291cmNlLWFwaS5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyx3QkFBd0IsRUFDeEIseUJBQXlCLEdBQ2hDLE1BQU0sWUFBWSxDQUFDO0FBS3BCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFdkQsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUduQyxNQUFNLE9BQU8sMEJBQTBCO0lBRHZDO1FBRXFCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0tBbUJuRDtJQWpCVyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJLENBQUMsQ0FBK0Q7UUFDaEUsTUFBTSxPQUFPLEdBQUcsQ0FBNEIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBNEIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXFDLElBQUksQ0FBQyxLQUFLLEdBQUcsb0NBQW9DLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUMvSSxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDVixDQUFDOzt1SEFwQlEsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FEZCxNQUFNOzJGQUNsQiwwQkFBMEI7a0JBRHRDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgICAgIE1lZXRpbmdTb3VyY2VMaXN0UmVxdWVzdCxcbiAgICAgICAgTWVldGluZ1NvdXJjZUxpc3RSZXNwb25zZSxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBNZWV0aW5nU291cmNlTGlzdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIE1lZXRpbmdTb3VyY2VMaXN0UmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgTWVldGluZ1NvdXJjZUFQSUFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdFNlcnZpY2UgPSBpbmplY3QoSG9zdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGxpc3QocjogTWVldGluZ1NvdXJjZUxpc3RSZXF1ZXN0IHwgTWVldGluZ1NvdXJjZUxpc3RSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxNZWV0aW5nU291cmNlTGlzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxNZWV0aW5nU291cmNlTGlzdFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TWVldGluZ1NvdXJjZUxpc3RSZXF1ZXN0PnIpIDogbmV3IE1lZXRpbmdTb3VyY2VMaXN0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE1lZXRpbmdTb3VyY2VMaXN0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9tZWV0aW5ncy52MS5NZWV0aW5nU291cmNlQVBJL0xpc3RcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBNZWV0aW5nU291cmNlTGlzdFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIFxufVxuIl19
40
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy1zb3VyY2UtYXBpLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvX2ludGVybmFsL21lZXRpbmctc291cmNlLWFwaS5hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsZUFBZTtBQUNmLG9DQUFvQztBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDQyx3QkFBd0IsRUFDeEIseUJBQXlCLEdBQ2hDLE1BQU0sWUFBWSxDQUFDO0FBS3BCLE9BQU8sRUFBQyxXQUFXLEVBQUUsVUFBVSxFQUFlLE1BQU0sc0JBQXNCLENBQUM7QUFDM0UsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUduQyxNQUFNLE9BQU8sMEJBQTBCO0lBR25DLFlBQW9CLElBQWdCLEVBQVUsV0FBd0I7UUFBbEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBRjlELFVBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQztJQUdoRCxDQUFDO0lBRU8sVUFBVTtRQUNkLE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQUM7Z0JBQ3JCLGNBQWMsRUFBRSxrQkFBa0I7YUFDckMsQ0FBQztZQUNGLGVBQWUsRUFBRSxJQUFJO1NBQ3hCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxDQUFDLENBQStEO1FBQ2hFLE1BQU0sT0FBTyxHQUFHLENBQTRCLENBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQTRCLENBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1SCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFxQyxJQUFJLENBQUMsS0FBSyxHQUFHLG9DQUFvQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDL0ksSUFBSSxDQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6RCxDQUFDO0lBQ1YsQ0FBQzs7dUhBckJRLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRGQsTUFBTTsyRkFDbEIsMEJBQTBCO2tCQUR0QyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gQVBJIFNlcnZpY2UuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgICAgICBNZWV0aW5nU291cmNlTGlzdFJlcXVlc3QsXG4gICAgICAgIE1lZXRpbmdTb3VyY2VMaXN0UmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICAgICAgTWVldGluZ1NvdXJjZUxpc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBNZWV0aW5nU291cmNlTGlzdFJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIE1lZXRpbmdTb3VyY2VBUElBcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBsaXN0KHI6IE1lZXRpbmdTb3VyY2VMaXN0UmVxdWVzdCB8IE1lZXRpbmdTb3VyY2VMaXN0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TWVldGluZ1NvdXJjZUxpc3RSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TWVldGluZ1NvdXJjZUxpc3RSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPE1lZXRpbmdTb3VyY2VMaXN0UmVxdWVzdD5yKSA6IG5ldyBNZWV0aW5nU291cmNlTGlzdFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxNZWV0aW5nU291cmNlTGlzdFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvbWVldGluZ3MudjEuTWVldGluZ1NvdXJjZUFQSS9MaXN0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTWVldGluZ1NvdXJjZUxpc3RSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
@@ -13,7 +13,8 @@ export { DateRange, } from './date-range';
13
13
  export { EventGroupAndServiceAssociations, Group, Service, } from './groups-and-services';
14
14
  export { BookMeetingRequest, BookMeetingResponse, GetCalendarRequest, GetCalendarResponse, GetGroupRequest, GetGroupResponse, GetHostRequest, GetHostResponse, GetMeetingTypeRequest, GetMeetingTypeResponse, GetServiceRequest, GetServiceResponse, GuestCancelMeetingRequest, GuestGetBookedMeetingRequest, GuestGetBookedMeetingResponse, GuestIsHostConfiguredRequest, GuestIsHostConfiguredResponse, GuestRescheduleMeetingRequest, ListAvailableTimeSlotsRequest, ListAvailableTimeSlotsResponse, ListMeetingTypesRequest, ListMeetingTypesResponse, BookMeetingRequestMetadataEntry, } from './meeting-guest';
15
15
  export { FieldMask, } from './field-mask';
16
- export { BuildHostIdRequestApplicationContextPropertiesEntry, IsCalendarConfiguredRequestApplicationContextPropertiesEntry, EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry, AvailabilityRule, BuildHostIdRequest, BuildHostIdResponse, GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry, CalendarMigrationResponse, CancelMeetingRequest, CheckGroupOrServiceSlugExistRequest, CheckGroupOrServiceSlugExistResponse, CreateAvailabilityRequest, CreateAvailabilityResponse, CreateCalendarRequest, CreateCalendarResponse, CreateDefaultMeetingTypesRequest, CreateGroupRequest, CreateGroupResponse, CreateMeetingTypeRequest, CreateMeetingTypeResponse, CreateServiceRequest, CreateServiceResponse, DeleteAvailabilityRequest, DeleteGroupRequest, DeleteMeetingTypeRequest, DeleteServiceRequest, DoesCalendarExistRequest, DoesCalendarExistResponse, EnsureGroupCalendarsExistRequest, EnsureGroupCalendarsExistResponse, EnsurePersonalCalendarExistsRequest, EnsurePersonalCalendarExistsResponse, ListBookedMeetingsRequestFilters, ListAvailabilityRequestFilters, GetHostMeetingRequest, GetHostMeetingResponse, GetHostPreferencesRequest, GetHostPreferencesResponse, GetHostsForCalendarRequest, GetHostsForCalendarResponse, GetMeetingTypesForCalendarsRequest, GetMeetingTypesForCalendarsResponse, HostBookMeetingRequest, HostBookMeetingResponse, HostGetCalendarRequest, HostGetCalendarResponse, HostGetMeetingTypeRequest, HostGetMeetingTypeResponse, HostListMeetingTypesRequest, HostListMeetingTypesResponse, IsCalendarConfiguredRequest, IsCalendarConfiguredResponse, IsHostConfiguredRequest, IsHostConfiguredResponse, ListAvailabilityRequest, ListAvailabilityResponse, ListBookedMeetingsRequest, ListBookedMeetingsResponse, ListGroupsRequest, ListGroupsResponse, ListServicesRequest, ListServicesResponse, Meeting, MeetingTypeList, UpdateMeetingMetadataRequestMetadataEntry, MeetingMetadataEntry, RescheduleMeetingRequest, SendMeetingRequestEmailRequest, SetGeneralAvailabilityRequest, UpdateAvailabilityRequest, UpdateCalendarRequest, UpdateGroupRequest, UpdateHostPreferencesRequest, UpdateMeetingMetadataRequest, UpdateMeetingTypeRequest, UpdateServiceRequest, WeekdayAvailability, } from './meeting-host';
16
+ export { BuildHostIdRequestApplicationContextPropertiesEntry, IsCalendarConfiguredRequestApplicationContextPropertiesEntry, EnsurePersonalCalendarExistsRequestApplicationContextPropertiesEntry, AvailabilityRule, BuildHostIdRequest, BuildHostIdResponse, GetMeetingTypesForCalendarsResponseCalendarMeetingTypesMapEntry, CalendarMigrationResponse, CancelMeetingRequest, CheckGroupOrServiceSlugExistRequest, CheckGroupOrServiceSlugExistResponse, CreateAvailabilityRequest, CreateAvailabilityResponse, CreateCalendarRequest, CreateCalendarResponse, CreateDefaultMeetingTypesRequest, CreateGroupRequest, CreateGroupResponse, CreateMeetingTypeRequest, CreateMeetingTypeResponse, CreateServiceRequest, CreateServiceResponse, DeleteAvailabilityRequest, DeleteGroupRequest, DeleteMeetingTypeRequest, DeleteServiceRequest, DoesCalendarExistRequest, DoesCalendarExistResponse, EnsureGroupCalendarsExistRequest, EnsureGroupCalendarsExistResponse, EnsurePersonalCalendarExistsRequest, EnsurePersonalCalendarExistsResponse, ListBookedMeetingsRequestFilters, ListAvailabilityRequestFilters, GetHostMeetingRequest, GetHostMeetingResponse, GetHostPreferencesRequest, GetHostPreferencesResponse, GetHostsForCalendarRequest, GetHostsForCalendarResponse, GetMeetingTypesForCalendarsRequest, GetMeetingTypesForCalendarsResponse, HostBookMeetingRequest, HostBookMeetingResponse, HostGetCalendarRequest, HostGetCalendarResponse, HostGetMeetingTypeRequest, HostGetMeetingTypeResponse, HostListMeetingTypesRequest, HostListMeetingTypesResponse, IsCalendarConfiguredRequest, IsCalendarConfiguredResponse, IsHostConfiguredRequest, IsHostConfiguredResponse, ListAvailabilityRequest, ListAvailabilityResponse, ListBookedMeetingsRequest, ListBookedMeetingsResponse, ListGroupsRequest, ListGroupsResponse, ListServicesRequest, ListServicesResponse, Meeting, MeetingTypeList, UpdateMeetingMetadataRequestMetadataEntry, MeetingMetadataEntry, RescheduleMeetingRequest, SendMeetingRequestEmailRequest, SetGeneralAvailabilityRequest, UpdateAvailabilityRequest, UpdateCalendarRequest, UpdateGroupRequest, UpdateHostPreferencesRequest, UpdateMeetingMetadataRequest, UpdateMeetingTypeRequest, UpdateServiceRequest, WeekdayAvailability, GetEntityAssociationsRequest, GetEntityAssociationsResponse, } from './meeting-host';
17
+ export { CreateMeetingBotRequest, CreateMeetingBotResponse, DeleteMeetingBotRequest, ListMeetingBotsRequest, ListMeetingBotsResponse, MeetingBot, UpdateMeetingBotRequest, UpdateMeetingBotResponse, } from './meeting-bot';
17
18
  export { TimeOfDay, } from './timeofday';
18
19
  export { DateTime, TimeZone, } from './datetime';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tZWV0aW5nc19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsaUJBQWlCO0FBQ2pCLG9DQUFvQztBQUNwQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsa0JBQWtCLEdBQ3JCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUNILHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNqQixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGlDQUFpQyxFQUNqQyw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLDBCQUEwQixHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsTUFBTSxFQUNOLE9BQU8sRUFDUCwrQkFBK0IsRUFDL0IsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsT0FBTyxFQUNQLElBQUksRUFDSixRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxLQUFLLEVBQ0wsSUFBSSxFQUNKLFdBQVcsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDSCxTQUFTLEdBQ1osTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNILGdDQUFnQyxFQUNoQyxLQUFLLEVBQ0wsT0FBTyxHQUNWLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUNILGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0gsU0FBUyxHQUNaLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFDSCxtREFBbUQsRUFDbkQsNERBQTRELEVBQzVELG9FQUFvRSxFQUNwRSxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQiwrREFBK0QsRUFDL0QseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2hDLGlDQUFpQyxFQUNqQyxtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxlQUFlLEVBQ2YseUNBQXlDLEVBQ3pDLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsbUJBQW1CLEdBQ3RCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsR0FBRyxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsR0FBRyxNQUFNLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBNZWV0aW5nU291cmNlSW5mbyxcbiAgICBNZWV0aW5nU291cmNlTGlzdFJlcXVlc3QsXG4gICAgTWVldGluZ1NvdXJjZUxpc3RSZXNwb25zZSxcbiAgICBNZWV0aW5nU291cmNlUXVlcnksXG59IGZyb20gJy4vbWVldGluZy1zb3VyY2UnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZVpvb21NZWV0aW5nUmVxdWVzdCxcbiAgICBDcmVhdGVab29tTWVldGluZ1Jlc3BvbnNlLFxuICAgIFpvb21NZWV0aW5nUmVjdXJyZW5jZSxcbiAgICBab29tTWVldGluZ1NldHRpbmdzLFxuICAgIFpvb21NZWV0aW5nVHJhY2tpbmdGaWVsZCxcbiAgICBab29tT2NjdXJyZW5jZSxcbn0gZnJvbSAnLi96b29tJztcblxuZXhwb3J0IHtcbiAgICBHb29nbGVNZWV0Q29uZmVyZW5jZURhdGEsXG4gICAgR29vZ2xlTWVldENvbmZlcmVuY2VSZXF1ZXN0U3RhdHVzLFxuICAgIEdvb2dsZU1lZXRDb25mZXJlbmNlU29sdXRpb24sXG4gICAgR29vZ2xlTWVldENvbmZlcmVuY2VTb2x1dGlvbktleSxcbiAgICBHb29nbGVNZWV0Q3JlYXRlQ29uZmVyZW5jZVJlcXVlc3QsXG4gICAgR29vZ2xlTWVldENyZWF0ZU1lZXRpbmdSZXF1ZXN0LFxuICAgIEdvb2dsZU1lZXRDcmVhdGVNZWV0aW5nUmVzcG9uc2UsXG4gICAgR29vZ2xlTWVldEVudHJ5UG9pbnQsXG4gICAgR29vZ2xlTWVldE1lZXRpbmcsXG4gICAgR29vZ2xlTWVldE1lZXRpbmdBdHRlbmRlZSxcbiAgICBHb29nbGVNZWV0TWVldGluZ0NyZWF0b3IsXG4gICAgR29vZ2xlTWVldE1lZXRpbmdEYXRlVGltZSxcbiAgICBHb29nbGVNZWV0TWVldGluZ1JlbWluZGVyLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nUmVtaW5kZXJzLFxufSBmcm9tICcuL2dvb2dsZS1tZWV0JztcblxuZXhwb3J0IHtcbiAgICBBbnN3ZXIsXG4gICAgQW5zd2VycyxcbiAgICBDYWxlbmRhckFwcGxpY2F0aW9uQ29udGV4dEVudHJ5LFxuICAgIEF0dGFjaG1lbnQsXG4gICAgQXR0ZW5kZWUsXG4gICAgQ2FsZW5kYXIsXG4gICAgQ29udGFjdCxcbiAgICBIb3N0LFxuICAgIEhvc3RVc2VyLFxuICAgIFBhZ2VkUmVxdWVzdE9wdGlvbnMsXG4gICAgUGFnZWRSZXNwb25zZU1ldGFkYXRhLFxuICAgIFByZWZlcmVuY2VzLFxuICAgIFRpbWVSYW5nZSxcbn0gZnJvbSAnLi9zaGFyZWQnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkLFxuICAgIEZvcm0sXG4gICAgTWVldGluZ1R5cGUsXG59IGZyb20gJy4vbWVldGluZy10eXBlJztcblxuZXhwb3J0IHtcbiAgICBEYXRlUmFuZ2UsXG59IGZyb20gJy4vZGF0ZS1yYW5nZSc7XG5cbmV4cG9ydCB7XG4gICAgRXZlbnRHcm91cEFuZFNlcnZpY2VBc3NvY2lhdGlvbnMsXG4gICAgR3JvdXAsXG4gICAgU2VydmljZSxcbn0gZnJvbSAnLi9ncm91cHMtYW5kLXNlcnZpY2VzJztcblxuZXhwb3J0IHtcbiAgICBCb29rTWVldGluZ1JlcXVlc3QsXG4gICAgQm9va01lZXRpbmdSZXNwb25zZSxcbiAgICBHZXRDYWxlbmRhclJlcXVlc3QsXG4gICAgR2V0Q2FsZW5kYXJSZXNwb25zZSxcbiAgICBHZXRHcm91cFJlcXVlc3QsXG4gICAgR2V0R3JvdXBSZXNwb25zZSxcbiAgICBHZXRIb3N0UmVxdWVzdCxcbiAgICBHZXRIb3N0UmVzcG9uc2UsXG4gICAgR2V0TWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIEdldE1lZXRpbmdUeXBlUmVzcG9uc2UsXG4gICAgR2V0U2VydmljZVJlcXVlc3QsXG4gICAgR2V0U2VydmljZVJlc3BvbnNlLFxuICAgIEd1ZXN0Q2FuY2VsTWVldGluZ1JlcXVlc3QsXG4gICAgR3Vlc3RHZXRCb29rZWRNZWV0aW5nUmVxdWVzdCxcbiAgICBHdWVzdEdldEJvb2tlZE1lZXRpbmdSZXNwb25zZSxcbiAgICBHdWVzdElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0LFxuICAgIEd1ZXN0SXNIb3N0Q29uZmlndXJlZFJlc3BvbnNlLFxuICAgIEd1ZXN0UmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0LFxuICAgIExpc3RBdmFpbGFibGVUaW1lU2xvdHNSZXF1ZXN0LFxuICAgIExpc3RBdmFpbGFibGVUaW1lU2xvdHNSZXNwb25zZSxcbiAgICBMaXN0TWVldGluZ1R5cGVzUmVxdWVzdCxcbiAgICBMaXN0TWVldGluZ1R5cGVzUmVzcG9uc2UsXG4gICAgQm9va01lZXRpbmdSZXF1ZXN0TWV0YWRhdGFFbnRyeSxcbn0gZnJvbSAnLi9tZWV0aW5nLWd1ZXN0JztcblxuZXhwb3J0IHtcbiAgICBGaWVsZE1hc2ssXG59IGZyb20gJy4vZmllbGQtbWFzayc7XG5cbmV4cG9ydCB7XG4gICAgQnVpbGRIb3N0SWRSZXF1ZXN0QXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllc0VudHJ5LFxuICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdEFwcGxpY2F0aW9uQ29udGV4dFByb3BlcnRpZXNFbnRyeSxcbiAgICBFbnN1cmVQZXJzb25hbENhbGVuZGFyRXhpc3RzUmVxdWVzdEFwcGxpY2F0aW9uQ29udGV4dFByb3BlcnRpZXNFbnRyeSxcbiAgICBBdmFpbGFiaWxpdHlSdWxlLFxuICAgIEJ1aWxkSG9zdElkUmVxdWVzdCxcbiAgICBCdWlsZEhvc3RJZFJlc3BvbnNlLFxuICAgIEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1Jlc3BvbnNlQ2FsZW5kYXJNZWV0aW5nVHlwZXNNYXBFbnRyeSxcbiAgICBDYWxlbmRhck1pZ3JhdGlvblJlc3BvbnNlLFxuICAgIENhbmNlbE1lZXRpbmdSZXF1ZXN0LFxuICAgIENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXF1ZXN0LFxuICAgIENoZWNrR3JvdXBPclNlcnZpY2VTbHVnRXhpc3RSZXNwb25zZSxcbiAgICBDcmVhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlc3BvbnNlLFxuICAgIENyZWF0ZUNhbGVuZGFyUmVxdWVzdCxcbiAgICBDcmVhdGVDYWxlbmRhclJlc3BvbnNlLFxuICAgIENyZWF0ZURlZmF1bHRNZWV0aW5nVHlwZXNSZXF1ZXN0LFxuICAgIENyZWF0ZUdyb3VwUmVxdWVzdCxcbiAgICBDcmVhdGVHcm91cFJlc3BvbnNlLFxuICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBDcmVhdGVNZWV0aW5nVHlwZVJlc3BvbnNlLFxuICAgIENyZWF0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgIENyZWF0ZVNlcnZpY2VSZXNwb25zZSxcbiAgICBEZWxldGVBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIERlbGV0ZUdyb3VwUmVxdWVzdCxcbiAgICBEZWxldGVNZWV0aW5nVHlwZVJlcXVlc3QsXG4gICAgRGVsZXRlU2VydmljZVJlcXVlc3QsXG4gICAgRG9lc0NhbGVuZGFyRXhpc3RSZXF1ZXN0LFxuICAgIERvZXNDYWxlbmRhckV4aXN0UmVzcG9uc2UsXG4gICAgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlcXVlc3QsXG4gICAgRW5zdXJlR3JvdXBDYWxlbmRhcnNFeGlzdFJlc3BvbnNlLFxuICAgIEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0LFxuICAgIEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXNwb25zZSxcbiAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXF1ZXN0RmlsdGVycyxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdEZpbHRlcnMsXG4gICAgR2V0SG9zdE1lZXRpbmdSZXF1ZXN0LFxuICAgIEdldEhvc3RNZWV0aW5nUmVzcG9uc2UsXG4gICAgR2V0SG9zdFByZWZlcmVuY2VzUmVxdWVzdCxcbiAgICBHZXRIb3N0UHJlZmVyZW5jZXNSZXNwb25zZSxcbiAgICBHZXRIb3N0c0ZvckNhbGVuZGFyUmVxdWVzdCxcbiAgICBHZXRIb3N0c0ZvckNhbGVuZGFyUmVzcG9uc2UsXG4gICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVxdWVzdCxcbiAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXNwb25zZSxcbiAgICBIb3N0Qm9va01lZXRpbmdSZXF1ZXN0LFxuICAgIEhvc3RCb29rTWVldGluZ1Jlc3BvbnNlLFxuICAgIEhvc3RHZXRDYWxlbmRhclJlcXVlc3QsXG4gICAgSG9zdEdldENhbGVuZGFyUmVzcG9uc2UsXG4gICAgSG9zdEdldE1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXNwb25zZSxcbiAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1JlcXVlc3QsXG4gICAgSG9zdExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZSxcbiAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlcXVlc3QsXG4gICAgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICBJc0hvc3RDb25maWd1cmVkUmVxdWVzdCxcbiAgICBJc0hvc3RDb25maWd1cmVkUmVzcG9uc2UsXG4gICAgTGlzdEF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJpbGl0eVJlc3BvbnNlLFxuICAgIExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3QsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVzcG9uc2UsXG4gICAgTGlzdEdyb3Vwc1JlcXVlc3QsXG4gICAgTGlzdEdyb3Vwc1Jlc3BvbnNlLFxuICAgIExpc3RTZXJ2aWNlc1JlcXVlc3QsXG4gICAgTGlzdFNlcnZpY2VzUmVzcG9uc2UsXG4gICAgTWVldGluZyxcbiAgICBNZWV0aW5nVHlwZUxpc3QsXG4gICAgVXBkYXRlTWVldGluZ01ldGFkYXRhUmVxdWVzdE1ldGFkYXRhRW50cnksXG4gICAgTWVldGluZ01ldGFkYXRhRW50cnksXG4gICAgUmVzY2hlZHVsZU1lZXRpbmdSZXF1ZXN0LFxuICAgIFNlbmRNZWV0aW5nUmVxdWVzdEVtYWlsUmVxdWVzdCxcbiAgICBTZXRHZW5lcmFsQXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICBVcGRhdGVBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIFVwZGF0ZUNhbGVuZGFyUmVxdWVzdCxcbiAgICBVcGRhdGVHcm91cFJlcXVlc3QsXG4gICAgVXBkYXRlSG9zdFByZWZlcmVuY2VzUmVxdWVzdCxcbiAgICBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0LFxuICAgIFVwZGF0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBVcGRhdGVTZXJ2aWNlUmVxdWVzdCxcbiAgICBXZWVrZGF5QXZhaWxhYmlsaXR5LFxufSBmcm9tICcuL21lZXRpbmctaG9zdCc7XG5cbmV4cG9ydCB7IFRpbWVPZkRheSwgfSBmcm9tICcuL3RpbWVvZmRheSc7XG5leHBvcnQgeyBEYXRlVGltZSwgVGltZVpvbmUsIH0gZnJvbSAnLi9kYXRldGltZSc7XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9tZWV0aW5nc19zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0M7QUFDcEMsMkJBQTJCO0FBQzNCLGdCQUFnQjtBQUNoQixFQUFFO0FBQ0YsaUJBQWlCO0FBQ2pCLG9DQUFvQztBQUNwQyxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsa0JBQWtCLEdBQ3JCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUNILHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNqQixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLGlDQUFpQyxFQUNqQyw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLDBCQUEwQixHQUM3QixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0gsTUFBTSxFQUNOLE9BQU8sRUFDUCwrQkFBK0IsRUFDL0IsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsT0FBTyxFQUNQLElBQUksRUFDSixRQUFRLEVBQ1IsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sVUFBVSxDQUFDO0FBRWxCLE9BQU8sRUFDSCxLQUFLLEVBQ0wsSUFBSSxFQUNKLFdBQVcsR0FDZCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDSCxTQUFTLEdBQ1osTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUNILGdDQUFnQyxFQUNoQyxLQUFLLEVBQ0wsT0FBTyxHQUNWLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUNILGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwrQkFBK0IsR0FDbEMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0gsU0FBUyxHQUNaLE1BQU0sY0FBYyxDQUFDO0FBRXRCLE9BQU8sRUFDSCxtREFBbUQsRUFDbkQsNERBQTRELEVBQzVELG9FQUFvRSxFQUNwRSxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQiwrREFBK0QsRUFDL0QseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLGtCQUFrQixFQUNsQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsZ0NBQWdDLEVBQ2hDLGlDQUFpQyxFQUNqQyxtQ0FBbUMsRUFDbkMsb0NBQW9DLEVBQ3BDLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxlQUFlLEVBQ2YseUNBQXlDLEVBQ3pDLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLDRCQUE0QixFQUM1Qiw2QkFBNkIsR0FDaEMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsdUJBQXVCLEVBQ3ZCLHdCQUF3QixHQUMzQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxHQUFHLE1BQU0sYUFBYSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFHLE1BQU0sWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzIEluZGV4LlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5leHBvcnQge1xuICAgIE1lZXRpbmdTb3VyY2VJbmZvLFxuICAgIE1lZXRpbmdTb3VyY2VMaXN0UmVxdWVzdCxcbiAgICBNZWV0aW5nU291cmNlTGlzdFJlc3BvbnNlLFxuICAgIE1lZXRpbmdTb3VyY2VRdWVyeSxcbn0gZnJvbSAnLi9tZWV0aW5nLXNvdXJjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlWm9vbU1lZXRpbmdSZXF1ZXN0LFxuICAgIENyZWF0ZVpvb21NZWV0aW5nUmVzcG9uc2UsXG4gICAgWm9vbU1lZXRpbmdSZWN1cnJlbmNlLFxuICAgIFpvb21NZWV0aW5nU2V0dGluZ3MsXG4gICAgWm9vbU1lZXRpbmdUcmFja2luZ0ZpZWxkLFxuICAgIFpvb21PY2N1cnJlbmNlLFxufSBmcm9tICcuL3pvb20nO1xuXG5leHBvcnQge1xuICAgIEdvb2dsZU1lZXRDb25mZXJlbmNlRGF0YSxcbiAgICBHb29nbGVNZWV0Q29uZmVyZW5jZVJlcXVlc3RTdGF0dXMsXG4gICAgR29vZ2xlTWVldENvbmZlcmVuY2VTb2x1dGlvbixcbiAgICBHb29nbGVNZWV0Q29uZmVyZW5jZVNvbHV0aW9uS2V5LFxuICAgIEdvb2dsZU1lZXRDcmVhdGVDb25mZXJlbmNlUmVxdWVzdCxcbiAgICBHb29nbGVNZWV0Q3JlYXRlTWVldGluZ1JlcXVlc3QsXG4gICAgR29vZ2xlTWVldENyZWF0ZU1lZXRpbmdSZXNwb25zZSxcbiAgICBHb29nbGVNZWV0RW50cnlQb2ludCxcbiAgICBHb29nbGVNZWV0TWVldGluZyxcbiAgICBHb29nbGVNZWV0TWVldGluZ0F0dGVuZGVlLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nQ3JlYXRvcixcbiAgICBHb29nbGVNZWV0TWVldGluZ0RhdGVUaW1lLFxuICAgIEdvb2dsZU1lZXRNZWV0aW5nUmVtaW5kZXIsXG4gICAgR29vZ2xlTWVldE1lZXRpbmdSZW1pbmRlcnMsXG59IGZyb20gJy4vZ29vZ2xlLW1lZXQnO1xuXG5leHBvcnQge1xuICAgIEFuc3dlcixcbiAgICBBbnN3ZXJzLFxuICAgIENhbGVuZGFyQXBwbGljYXRpb25Db250ZXh0RW50cnksXG4gICAgQXR0YWNobWVudCxcbiAgICBBdHRlbmRlZSxcbiAgICBDYWxlbmRhcixcbiAgICBDb250YWN0LFxuICAgIEhvc3QsXG4gICAgSG9zdFVzZXIsXG4gICAgUGFnZWRSZXF1ZXN0T3B0aW9ucyxcbiAgICBQYWdlZFJlc3BvbnNlTWV0YWRhdGEsXG4gICAgUHJlZmVyZW5jZXMsXG4gICAgVGltZVJhbmdlLFxufSBmcm9tICcuL3NoYXJlZCc7XG5cbmV4cG9ydCB7XG4gICAgRmllbGQsXG4gICAgRm9ybSxcbiAgICBNZWV0aW5nVHlwZSxcbn0gZnJvbSAnLi9tZWV0aW5nLXR5cGUnO1xuXG5leHBvcnQge1xuICAgIERhdGVSYW5nZSxcbn0gZnJvbSAnLi9kYXRlLXJhbmdlJztcblxuZXhwb3J0IHtcbiAgICBFdmVudEdyb3VwQW5kU2VydmljZUFzc29jaWF0aW9ucyxcbiAgICBHcm91cCxcbiAgICBTZXJ2aWNlLFxufSBmcm9tICcuL2dyb3Vwcy1hbmQtc2VydmljZXMnO1xuXG5leHBvcnQge1xuICAgIEJvb2tNZWV0aW5nUmVxdWVzdCxcbiAgICBCb29rTWVldGluZ1Jlc3BvbnNlLFxuICAgIEdldENhbGVuZGFyUmVxdWVzdCxcbiAgICBHZXRDYWxlbmRhclJlc3BvbnNlLFxuICAgIEdldEdyb3VwUmVxdWVzdCxcbiAgICBHZXRHcm91cFJlc3BvbnNlLFxuICAgIEdldEhvc3RSZXF1ZXN0LFxuICAgIEdldEhvc3RSZXNwb25zZSxcbiAgICBHZXRNZWV0aW5nVHlwZVJlcXVlc3QsXG4gICAgR2V0TWVldGluZ1R5cGVSZXNwb25zZSxcbiAgICBHZXRTZXJ2aWNlUmVxdWVzdCxcbiAgICBHZXRTZXJ2aWNlUmVzcG9uc2UsXG4gICAgR3Vlc3RDYW5jZWxNZWV0aW5nUmVxdWVzdCxcbiAgICBHdWVzdEdldEJvb2tlZE1lZXRpbmdSZXF1ZXN0LFxuICAgIEd1ZXN0R2V0Qm9va2VkTWVldGluZ1Jlc3BvbnNlLFxuICAgIEd1ZXN0SXNIb3N0Q29uZmlndXJlZFJlcXVlc3QsXG4gICAgR3Vlc3RJc0hvc3RDb25maWd1cmVkUmVzcG9uc2UsXG4gICAgR3Vlc3RSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZVRpbWVTbG90c1JlcXVlc3QsXG4gICAgTGlzdEF2YWlsYWJsZVRpbWVTbG90c1Jlc3BvbnNlLFxuICAgIExpc3RNZWV0aW5nVHlwZXNSZXF1ZXN0LFxuICAgIExpc3RNZWV0aW5nVHlwZXNSZXNwb25zZSxcbiAgICBCb29rTWVldGluZ1JlcXVlc3RNZXRhZGF0YUVudHJ5LFxufSBmcm9tICcuL21lZXRpbmctZ3Vlc3QnO1xuXG5leHBvcnQge1xuICAgIEZpZWxkTWFzayxcbn0gZnJvbSAnLi9maWVsZC1tYXNrJztcblxuZXhwb3J0IHtcbiAgICBCdWlsZEhvc3RJZFJlcXVlc3RBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzRW50cnksXG4gICAgSXNDYWxlbmRhckNvbmZpZ3VyZWRSZXF1ZXN0QXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllc0VudHJ5LFxuICAgIEVuc3VyZVBlcnNvbmFsQ2FsZW5kYXJFeGlzdHNSZXF1ZXN0QXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllc0VudHJ5LFxuICAgIEF2YWlsYWJpbGl0eVJ1bGUsXG4gICAgQnVpbGRIb3N0SWRSZXF1ZXN0LFxuICAgIEJ1aWxkSG9zdElkUmVzcG9uc2UsXG4gICAgR2V0TWVldGluZ1R5cGVzRm9yQ2FsZW5kYXJzUmVzcG9uc2VDYWxlbmRhck1lZXRpbmdUeXBlc01hcEVudHJ5LFxuICAgIENhbGVuZGFyTWlncmF0aW9uUmVzcG9uc2UsXG4gICAgQ2FuY2VsTWVldGluZ1JlcXVlc3QsXG4gICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlcXVlc3QsXG4gICAgQ2hlY2tHcm91cE9yU2VydmljZVNsdWdFeGlzdFJlc3BvbnNlLFxuICAgIENyZWF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgQ3JlYXRlQXZhaWxhYmlsaXR5UmVzcG9uc2UsXG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0LFxuICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UsXG4gICAgQ3JlYXRlRGVmYXVsdE1lZXRpbmdUeXBlc1JlcXVlc3QsXG4gICAgQ3JlYXRlR3JvdXBSZXF1ZXN0LFxuICAgIENyZWF0ZUdyb3VwUmVzcG9uc2UsXG4gICAgQ3JlYXRlTWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIENyZWF0ZU1lZXRpbmdUeXBlUmVzcG9uc2UsXG4gICAgQ3JlYXRlU2VydmljZVJlcXVlc3QsXG4gICAgQ3JlYXRlU2VydmljZVJlc3BvbnNlLFxuICAgIERlbGV0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgRGVsZXRlR3JvdXBSZXF1ZXN0LFxuICAgIERlbGV0ZU1lZXRpbmdUeXBlUmVxdWVzdCxcbiAgICBEZWxldGVTZXJ2aWNlUmVxdWVzdCxcbiAgICBEb2VzQ2FsZW5kYXJFeGlzdFJlcXVlc3QsXG4gICAgRG9lc0NhbGVuZGFyRXhpc3RSZXNwb25zZSxcbiAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVxdWVzdCxcbiAgICBFbnN1cmVHcm91cENhbGVuZGFyc0V4aXN0UmVzcG9uc2UsXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1JlcXVlc3QsXG4gICAgRW5zdXJlUGVyc29uYWxDYWxlbmRhckV4aXN0c1Jlc3BvbnNlLFxuICAgIExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0RmlsdGVycyxcbiAgICBHZXRIb3N0TWVldGluZ1JlcXVlc3QsXG4gICAgR2V0SG9zdE1lZXRpbmdSZXNwb25zZSxcbiAgICBHZXRIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0LFxuICAgIEdldEhvc3RQcmVmZXJlbmNlc1Jlc3BvbnNlLFxuICAgIEdldEhvc3RzRm9yQ2FsZW5kYXJSZXF1ZXN0LFxuICAgIEdldEhvc3RzRm9yQ2FsZW5kYXJSZXNwb25zZSxcbiAgICBHZXRNZWV0aW5nVHlwZXNGb3JDYWxlbmRhcnNSZXF1ZXN0LFxuICAgIEdldE1lZXRpbmdUeXBlc0ZvckNhbGVuZGFyc1Jlc3BvbnNlLFxuICAgIEhvc3RCb29rTWVldGluZ1JlcXVlc3QsXG4gICAgSG9zdEJvb2tNZWV0aW5nUmVzcG9uc2UsXG4gICAgSG9zdEdldENhbGVuZGFyUmVxdWVzdCxcbiAgICBIb3N0R2V0Q2FsZW5kYXJSZXNwb25zZSxcbiAgICBIb3N0R2V0TWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIEhvc3RHZXRNZWV0aW5nVHlwZVJlc3BvbnNlLFxuICAgIEhvc3RMaXN0TWVldGluZ1R5cGVzUmVxdWVzdCxcbiAgICBIb3N0TGlzdE1lZXRpbmdUeXBlc1Jlc3BvbnNlLFxuICAgIElzQ2FsZW5kYXJDb25maWd1cmVkUmVxdWVzdCxcbiAgICBJc0NhbGVuZGFyQ29uZmlndXJlZFJlc3BvbnNlLFxuICAgIElzSG9zdENvbmZpZ3VyZWRSZXF1ZXN0LFxuICAgIElzSG9zdENvbmZpZ3VyZWRSZXNwb25zZSxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdCxcbiAgICBMaXN0QXZhaWxhYmlsaXR5UmVzcG9uc2UsXG4gICAgTGlzdEJvb2tlZE1lZXRpbmdzUmVxdWVzdCxcbiAgICBMaXN0Qm9va2VkTWVldGluZ3NSZXNwb25zZSxcbiAgICBMaXN0R3JvdXBzUmVxdWVzdCxcbiAgICBMaXN0R3JvdXBzUmVzcG9uc2UsXG4gICAgTGlzdFNlcnZpY2VzUmVxdWVzdCxcbiAgICBMaXN0U2VydmljZXNSZXNwb25zZSxcbiAgICBNZWV0aW5nLFxuICAgIE1lZXRpbmdUeXBlTGlzdCxcbiAgICBVcGRhdGVNZWV0aW5nTWV0YWRhdGFSZXF1ZXN0TWV0YWRhdGFFbnRyeSxcbiAgICBNZWV0aW5nTWV0YWRhdGFFbnRyeSxcbiAgICBSZXNjaGVkdWxlTWVldGluZ1JlcXVlc3QsXG4gICAgU2VuZE1lZXRpbmdSZXF1ZXN0RW1haWxSZXF1ZXN0LFxuICAgIFNldEdlbmVyYWxBdmFpbGFiaWxpdHlSZXF1ZXN0LFxuICAgIFVwZGF0ZUF2YWlsYWJpbGl0eVJlcXVlc3QsXG4gICAgVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0LFxuICAgIFVwZGF0ZUdyb3VwUmVxdWVzdCxcbiAgICBVcGRhdGVIb3N0UHJlZmVyZW5jZXNSZXF1ZXN0LFxuICAgIFVwZGF0ZU1lZXRpbmdNZXRhZGF0YVJlcXVlc3QsXG4gICAgVXBkYXRlTWVldGluZ1R5cGVSZXF1ZXN0LFxuICAgIFVwZGF0ZVNlcnZpY2VSZXF1ZXN0LFxuICAgIFdlZWtkYXlBdmFpbGFiaWxpdHksXG4gICAgR2V0RW50aXR5QXNzb2NpYXRpb25zUmVxdWVzdCxcbiAgICBHZXRFbnRpdHlBc3NvY2lhdGlvbnNSZXNwb25zZSxcbn0gZnJvbSAnLi9tZWV0aW5nLWhvc3QnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZU1lZXRpbmdCb3RSZXF1ZXN0LFxuICAgIENyZWF0ZU1lZXRpbmdCb3RSZXNwb25zZSxcbiAgICBEZWxldGVNZWV0aW5nQm90UmVxdWVzdCxcbiAgICBMaXN0TWVldGluZ0JvdHNSZXF1ZXN0LFxuICAgIExpc3RNZWV0aW5nQm90c1Jlc3BvbnNlLFxuICAgIE1lZXRpbmdCb3QsXG4gICAgVXBkYXRlTWVldGluZ0JvdFJlcXVlc3QsXG4gICAgVXBkYXRlTWVldGluZ0JvdFJlc3BvbnNlLFxufSBmcm9tICcuL21lZXRpbmctYm90JztcblxuZXhwb3J0IHsgVGltZU9mRGF5LCB9IGZyb20gJy4vdGltZW9mZGF5JztcbmV4cG9ydCB7IERhdGVUaW1lLCBUaW1lWm9uZSwgfSBmcm9tICcuL2RhdGV0aW1lJztcbiJdfQ==