@vendasta/conversation 0.123.0 → 0.124.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@
5
5
  // API Service.
6
6
  // *********************************
7
7
  import { Injectable } from '@angular/core';
8
- import { AddConversationToConversationViewRequest, AddMultiParticipantsRequest, AddMultiParticipantsResponse, AssignConversationRequest, AssignConversationResponse, CancelAIResponderRequest, CreateConversationRequest, CreateConversationResponse, CreateMessageTemplateRequest, CreateMessageTemplateResponse, CreateMultiMessagesRequest, CreateWidgetConversationRequest, CreateWidgetConversationResponse, CreateWidgetRequest, CreateWidgetResponse, DeleteConversationRequest, DeleteMessageRequest, DeleteMessageTemplateRequest, DeleteWidgetRequest, EvaluateResponseRequest, ExportConversationsRequest, ExportConversationsResponse, GetAvailableChannelsForConversationRequest, GetAvailableChannelsForConversationResponse, GetConversationByKeyRequest, GetConversationByKeyResponse, GetConversationSummaryRequest, GetConversationSummaryResponse, GetConversationViewsRequest, GetConversationViewsResponse, GetMessageRequest, GetMessageTemplateRequest, GetMessageTemplateResponse, GetMultiConversationDetailsRequest, GetMultiConversationDetailsResponse, GetMultiConversationDetailsV2Request, GetMultiConversationDetailsV2Response, GetMultiConversationMessageCountRequest, GetMultiConversationMessageCountResponse, GetMultiEventsRequest, GetMultiEventsResponse, GetMultiMessagesRequest, GetMultiMessagesResponse, GetMultiParticipantsRequest, GetMultiParticipantsResponse, GetMultiWidgetMessagesRequest, GetMultiWidgetMessagesResponse, GetMultiWidgetRequest, GetMultiWidgetResponse, GetParticipantsByKeyRequest, GetParticipantsByKeyResponse, GetWidgetConfigRequest, GetWidgetConfigResponse, GetWidgetConversationResponse, GetWidgetRequest, GetWidgetResponse, InjectMessageRequest, ListCommunicationChannelsInfoRequest, ListCommunicationChannelsInfoResponse, ListConversationExportsRequest, ListConversationExportsResponse, ListConversationsRequest, ListConversationsResponse, ListMessageTemplateRequest, ListMessageTemplateResponse, ListMessagesRequest, ListMessagesResponse, ListResponseEvaluationsRequest, ListResponseEvaluationsResponse, ListWidgetsRequest, ListWidgetsResponse, LookupConversationsRequest, LookupConversationsResponse, MakeToolCallRequest, MakeToolCallResponse, Message, NewInboxLeadCapturedRequest, NewInboxLeadCapturedResponse, ReceiveMessageRequest, RemoveConversationFromConversationViewRequest, SearchConversationsRequest, SearchConversationsResponse, SendMessageRequest, SendMessageResponse, SendWidgetMessageRequest, SendWidgetMessageResponse, SetLastSeenRequest, SetLastSeenResponse, UpdateConversationRequest, UpdateConversationResponse, UpdateMessageStatusRequest, UpdateMessageTemplateRequest, UpdateMessageTemplateResponse, UpdateWidgetRequest, UpdateWidgetResponse, } from './objects/';
8
+ import { AddConversationToConversationViewRequest, AddMultiParticipantsRequest, AddMultiParticipantsResponse, AssignConversationRequest, AssignConversationResponse, CancelAIResponderRequest, CreateConversationRequest, CreateConversationResponse, CreateMessageTemplateRequest, CreateMessageTemplateResponse, CreateMultiMessagesRequest, CreateWidgetConversationRequest, CreateWidgetConversationResponse, CreateWidgetRequest, CreateWidgetResponse, DeleteConversationRequest, DeleteMessageRequest, DeleteMessageTemplateRequest, DeleteWidgetRequest, EvaluateResponseRequest, ExportConversationsRequest, ExportConversationsResponse, GetAvailableChannelsForConversationRequest, GetAvailableChannelsForConversationResponse, GetConversationByKeyRequest, GetConversationByKeyResponse, GetConversationSummaryRequest, GetConversationSummaryResponse, GetConversationViewsRequest, GetConversationViewsResponse, GetMessageRequest, GetMessageTemplateRequest, GetMessageTemplateResponse, GetMultiConversationDetailsRequest, GetMultiConversationDetailsResponse, GetMultiConversationDetailsV2Request, GetMultiConversationDetailsV2Response, GetMultiConversationMessageCountRequest, GetMultiConversationMessageCountResponse, GetMultiEventsRequest, GetMultiEventsResponse, GetMultiMessagesRequest, GetMultiMessagesResponse, GetMultiParticipantsRequest, GetMultiParticipantsResponse, GetMultiWidgetMessagesRequest, GetMultiWidgetMessagesResponse, GetMultiWidgetRequest, GetMultiWidgetResponse, GetParticipantsByKeyRequest, GetParticipantsByKeyResponse, GetWidgetConfigRequest, GetWidgetConfigResponse, GetWidgetConversationResponse, GetWidgetRequest, GetWidgetResponse, InjectMessageRequest, ListCommunicationChannelsInfoRequest, ListCommunicationChannelsInfoResponse, ListConversationExportsRequest, ListConversationExportsResponse, ListConversationsRequest, ListConversationsResponse, ListMessageTemplateRequest, ListMessageTemplateResponse, ListMessagesRequest, ListMessagesResponse, ListResponseEvaluationsRequest, ListResponseEvaluationsResponse, ListWidgetsRequest, ListWidgetsResponse, LookupConversationsRequest, LookupConversationsResponse, MakeToolCallRequest, MakeToolCallResponse, Message, NewInboxLeadCapturedRequest, NewInboxLeadCapturedResponse, ReceiveMessageRequest, RemoveConversationFromConversationViewRequest, SearchConversationsRequest, SearchConversationsResponse, SendMessageRequest, SendMessageResponse, SendWidgetMessageRequest, SendWidgetMessageResponse, SetLastSeenRequest, SetLastSeenResponse, UpdateConversationRequest, UpdateConversationResponse, UpdateMessageStatusRequest, UpdateMessageTemplateRequest, UpdateMessageTemplateResponse, UpdateWidgetRequest, UpdateWidgetResponse, ListWidgetLocationsRequest, ListWidgetLocationsResponse, } from './objects/';
9
9
  import { HttpHeaders, HttpClient } from '@angular/common/http';
10
10
  import { inject } from '@angular/core';
11
11
  import { HostService } from '../_generated/host.service';
@@ -207,6 +207,11 @@ export class ConversationApiService {
207
207
  return this.http.post(this._host + "/conversation.v1.ConversationService/GetWidgetConfig", request.toApiJson(), this.apiOptions())
208
208
  .pipe(map(resp => GetWidgetConfigResponse.fromProto(resp)));
209
209
  }
210
+ listWidgetLocations(r) {
211
+ const request = (r.toApiJson) ? r : new ListWidgetLocationsRequest(r);
212
+ return this.http.post(this._host + "/web_chat_widget.v1.WebChatWidget/ListWidgetLocations", request.toApiJson(), this.apiOptions())
213
+ .pipe(map(resp => ListWidgetLocationsResponse.fromProto(resp)));
214
+ }
210
215
  listMessageTemplate(r) {
211
216
  const request = (r.toApiJson) ? r : new ListMessageTemplateRequest(r);
212
217
  return this.http.post(this._host + "/conversation.v1.ConversationService/ListMessageTemplate", request.toApiJson(), this.apiOptions())
@@ -287,4 +292,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
287
292
  type: Injectable,
288
293
  args: [{ providedIn: 'root' }]
289
294
  }] });
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29udmVyc2F0aW9uX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jb252ZXJzYXRpb24uYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLDBDQUEwQyxFQUMxQywyQ0FBMkMsRUFDM0MsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMscUNBQXFDLEVBQ3JDLHVDQUF1QyxFQUN2Qyx3Q0FBd0MsRUFDeEMscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsNkJBQTZC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LHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXNDLElBQUksQ0FBQyxLQUFLLEdBQUcseURBQXlELEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNySyxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsMEJBQTBCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQzFELENBQUM7SUFDVixDQUFDO3dHQWxXUSxzQkFBc0I7NEdBQXRCLHNCQUFzQixjQURWLE1BQU07OzRGQUNsQixzQkFBc0I7a0JBRGxDLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBBUEkgU2VydmljZS5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgICAgIEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3QsXG4gICAgICAgIEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdCxcbiAgICAgICAgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZSxcbiAgICAgICAgQXNzaWduQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgICAgICAgQXNzaWduQ29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgICAgIENhbmNlbEFJUmVzcG9uZGVyUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgICAgIENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLFxuICAgICAgICBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZVdpZGdldFJlcXVlc3QsXG4gICAgICAgIENyZWF0ZVdpZGdldFJlc3BvbnNlLFxuICAgICAgICBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBEZWxldGVNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgRGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgRGVsZXRlV2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgRXZhbHVhdGVSZXNwb25zZVJlcXVlc3QsXG4gICAgICAgIEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0LFxuICAgICAgICBFeHBvcnRDb252ZXJzYXRpb25zUmVzcG9uc2UsXG4gICAgICAgIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgICAgICAgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0LFxuICAgICAgICBHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVxdWVzdCxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlc3BvbnNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3QsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2UsXG4gICAgICAgIEdldE1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBHZXRNZXNzYWdlVGVtcGxhdGVSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aUV2ZW50c1JlcXVlc3QsXG4gICAgICAgIEdldE11bHRpRXZlbnRzUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3QsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVdpZGdldFJlc3BvbnNlLFxuICAgICAgICBHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3QsXG4gICAgICAgIEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2UsXG4gICAgICAgIEdldFdpZGdldENvbmZpZ1JlcXVlc3QsXG4gICAgICAgIEdldFdpZGdldENvbmZpZ1Jlc3BvbnNlLFxuICAgICAgICBHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgR2V0V2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgR2V0V2lkZ2V0UmVzcG9uc2UsXG4gICAgICAgIEluamVjdE1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1JlcXVlc3QsXG4gICAgICAgIExpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvUmVzcG9uc2UsXG4gICAgICAgIExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdCxcbiAgICAgICAgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZSxcbiAgICAgICAgTGlzdENvbnZlcnNhdGlvbnNSZXF1ZXN0LFxuICAgICAgICBMaXN0Q29udmVyc2F0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLFxuICAgICAgICBMaXN0TWVzc2FnZXNSZXF1ZXN0LFxuICAgICAgICBMaXN0TWVzc2FnZXNSZXNwb25zZSxcbiAgICAgICAgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0LFxuICAgICAgICBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0V2lkZ2V0c1JlcXVlc3QsXG4gICAgICAgIExpc3RXaWRnZXRzUmVzcG9uc2UsXG4gICAgICAgIExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0LFxuICAgICAgICBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2UsXG4gICAgICAgIE1ha2VUb29sQ2FsbFJlcXVlc3QsXG4gICAgICAgIE1ha2VUb29sQ2FsbFJlc3BvbnNlLFxuICAgICAgICBNZXNzYWdlLFxuICAgICAgICBOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3QsXG4gICAgICAgIE5ld0luYm94TGVhZENhcHR1cmVkUmVzcG9uc2UsXG4gICAgICAgIFJlY2VpdmVNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0LFxuICAgICAgICBTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdCxcbiAgICAgICAgU2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBTZW5kTWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIFNlbmRNZXNzYWdlUmVzcG9uc2UsXG4gICAgICAgIFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgU2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZSxcbiAgICAgICAgU2V0TGFzdFNlZW5SZXF1ZXN0LFxuICAgICAgICBTZXRMYXN0U2VlblJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBVcGRhdGVDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3QsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVXaWRnZXRSZXF1ZXN0LFxuICAgICAgICBVcGRhdGVXaWRnZXRSZXNwb25zZSxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEFzc2lnbkNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEFzc2lnbkNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDYW5jZWxBSVJlc3BvbmRlclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRXhwb3J0Q29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlFdmVudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUV2ZW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRDb25maWdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRDb25maWdSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFdpZGdldFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBJbmplY3RNZXNzYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0V2lkZ2V0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBNYWtlVG9vbENhbGxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBNYWtlVG9vbENhbGxSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTWVzc2FnZUludGVyZmFjZSxcbiAgICAgICAgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU2VuZE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZW5kTWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFNldExhc3RTZWVuUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwSGVhZGVycywgSHR0cENsaWVudCwgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge2luamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0U2VydmljZSA9IGluamVjdChIb3N0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2VuZE1lc3NhZ2UocjogU2VuZE1lc3NhZ2VSZXF1ZXN0IHwgU2VuZE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZW5kTWVzc2FnZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZW5kTWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZE1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IFNlbmRNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlbmRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZW5kTWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNlbmRNZXNzYWdlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TWVzc2FnZShyOiBHZXRNZXNzYWdlUmVxdWVzdCB8IEdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxNZXNzYWdlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBHZXRNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE1lc3NhZ2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTWVzc2FnZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0TWVzc2FnZXMocjogTGlzdE1lc3NhZ2VzUmVxdWVzdCB8IExpc3RNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RNZXNzYWdlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0TWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgTGlzdE1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTGlzdE1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdE1lc3NhZ2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlTWVzc2FnZShyOiBEZWxldGVNZXNzYWdlUmVxdWVzdCB8IERlbGV0ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZU1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZU1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZU1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZU1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHVwZGF0ZU1lc3NhZ2VTdGF0dXMocjogVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3QgfCBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9VcGRhdGVNZXNzYWdlU3RhdHVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsb29rdXBDb252ZXJzYXRpb25zKHI6IExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0IHwgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikgOiBuZXcgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9Mb29rdXBDb252ZXJzYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldENvbnZlcnNhdGlvbkJ5S2V5KHI6IEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdCB8IEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdD5yKSA6IG5ldyBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0Q29udmVyc2F0aW9uQnlLZXlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZUNvbnZlcnNhdGlvbihyOiBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0IHwgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVDb252ZXJzYXRpb24ocjogVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdCB8IFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY2FuY2VsQWlSZXNwb25kZXIocjogQ2FuY2VsQUlSZXNwb25kZXJSZXF1ZXN0IHwgQ2FuY2VsQUlSZXNwb25kZXJSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENhbmNlbEFJUmVzcG9uZGVyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDYW5jZWxBSVJlc3BvbmRlclJlcXVlc3Q+cikgOiBuZXcgQ2FuY2VsQUlSZXNwb25kZXJSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NhbmNlbEFJUmVzcG9uZGVyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBkZWxldGVDb252ZXJzYXRpb24ocjogRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdCB8IERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRGVsZXRlQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICByZWNlaXZlTWVzc2FnZShyOiBSZWNlaXZlTWVzc2FnZVJlcXVlc3QgfCBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJlY2VpdmVNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBSZWNlaXZlTWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvUmVjZWl2ZU1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldE11bHRpTWVzc2FnZXMocjogR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3QgfCBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpTWVzc2FnZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpTWVzc2FnZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlTXVsdGlNZXNzYWdlcyhyOiBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdCB8IENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZU11bHRpTWVzc2FnZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlscyhyOiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0IHwgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMihyOiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3QgfCBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVBhcnRpY2lwYW50cyhyOiBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3QgfCBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpUGFydGljaXBhbnRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBzZWFyY2hDb252ZXJzYXRpb25zKHI6IFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0IHwgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikgOiBuZXcgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZWFyY2hDb252ZXJzYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50KHI6IEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdCB8IEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGFkZE11bHRpUGFydGljaXBhbnRzKHI6IEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdCB8IEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8QWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8QWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdD5yKSA6IG5ldyBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQWRkTXVsdGlQYXJ0aWNpcGFudHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNldExhc3RTZWVuKHI6IFNldExhc3RTZWVuUmVxdWVzdCB8IFNldExhc3RTZWVuUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U2V0TGFzdFNlZW5SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2V0TGFzdFNlZW5SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNldExhc3RTZWVuUmVxdWVzdD5yKSA6IG5ldyBTZXRMYXN0U2VlblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZXRMYXN0U2VlblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvU2V0TGFzdFNlZW5cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZXRMYXN0U2VlblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFBhcnRpY2lwYW50c0J5S2V5KHI6IEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdCB8IEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdD5yKSA6IG5ldyBHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0UGFydGljaXBhbnRzQnlLZXlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldENvbnZlcnNhdGlvblZpZXdzKHI6IEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdCB8IEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdD5yKSA6IG5ldyBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0Q29udmVyc2F0aW9uVmlld3NcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlldyhyOiBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0IHwgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3Q+cikgOiBuZXcgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9BZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3KHI6IFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdCB8IFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0PnIpIDogbmV3IFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9SZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uKHI6IENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3QgfCBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZVdpZGdldENvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpV2lkZ2V0TWVzc2FnZXMocjogR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3QgfCBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpV2lkZ2V0TWVzc2FnZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2VuZFdpZGdldE1lc3NhZ2UocjogU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0IHwgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZW5kV2lkZ2V0TWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0V2lkZ2V0Q29udmVyc2F0aW9uKCk6IE9ic2VydmFibGU8R2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0V2lkZ2V0Q29udmVyc2F0aW9uXCIsIHt9LCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uKHI6IEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdCB8IEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGV2YWx1YXRlUmVzcG9uc2UocjogRXZhbHVhdGVSZXNwb25zZVJlcXVlc3QgfCBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdD5yKSA6IG5ldyBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9FdmFsdWF0ZVJlc3BvbnNlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0UmVzcG9uc2VFdmFsdWF0aW9ucyhyOiBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3QgfCBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3Q+cikgOiBuZXcgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RSZXNwb25zZUV2YWx1YXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVXaWRnZXQocjogQ3JlYXRlV2lkZ2V0UmVxdWVzdCB8IENyZWF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVdpZGdldFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVdpZGdldFJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlV2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlV2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlV2lkZ2V0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0V2lkZ2V0KHI6IEdldFdpZGdldFJlcXVlc3QgfCBHZXRXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRXaWRnZXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0V2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRXaWRnZXRSZXF1ZXN0PnIpIDogbmV3IEdldFdpZGdldFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRXaWRnZXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldFdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFdpZGdldFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpV2lkZ2V0KHI6IEdldE11bHRpV2lkZ2V0UmVxdWVzdCB8IEdldE11bHRpV2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlXaWRnZXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpV2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aVdpZGdldFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aVdpZGdldFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZVdpZGdldChyOiBVcGRhdGVXaWRnZXRSZXF1ZXN0IHwgVXBkYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlV2lkZ2V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZVdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlV2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VXBkYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9VcGRhdGVXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBVcGRhdGVXaWRnZXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGVXaWRnZXQocjogRGVsZXRlV2lkZ2V0UmVxdWVzdCB8IERlbGV0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlV2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVXaWRnZXRSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZVdpZGdldFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRGVsZXRlV2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsaXN0V2lkZ2V0cyhyOiBMaXN0V2lkZ2V0c1JlcXVlc3QgfCBMaXN0V2lkZ2V0c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RXaWRnZXRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RXaWRnZXRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0V2lkZ2V0c1JlcXVlc3Q+cikgOiBuZXcgTGlzdFdpZGdldHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdFdpZGdldHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RXaWRnZXRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdFdpZGdldHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRXaWRnZXRDb25maWcocjogR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdCB8IEdldFdpZGdldENvbmZpZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFdpZGdldENvbmZpZ1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRXaWRnZXRDb25maWdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFdpZGdldENvbmZpZ1JlcXVlc3Q+cikgOiBuZXcgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFdpZGdldENvbmZpZ1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0V2lkZ2V0Q29uZmlnXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdE1lc3NhZ2VUZW1wbGF0ZShyOiBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTGlzdE1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGVNZXNzYWdlVGVtcGxhdGUocjogRGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRGVsZXRlTWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVNZXNzYWdlVGVtcGxhdGUocjogQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlTWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlTWVzc2FnZVRlbXBsYXRlKHI6IFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1VwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE1lc3NhZ2VUZW1wbGF0ZShyOiBHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNZXNzYWdlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRDb252ZXJzYXRpb25TdW1tYXJ5KHI6IEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0IHwgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3Q+cikgOiBuZXcgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRDb252ZXJzYXRpb25TdW1tYXJ5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIG5ld0luYm94TGVhZENhcHR1cmVkKHI6IE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdCB8IE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdD5yKSA6IG5ldyBOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTmV3SW5ib3hMZWFkQ2FwdHVyZWRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpRXZlbnRzKHI6IEdldE11bHRpRXZlbnRzUmVxdWVzdCB8IEdldE11bHRpRXZlbnRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlFdmVudHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlFdmVudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpRXZlbnRzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUV2ZW50c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUV2ZW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlFdmVudHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUV2ZW50c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGluamVjdE1lc3NhZ2UocjogSW5qZWN0TWVzc2FnZVJlcXVlc3QgfCBJbmplY3RNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxJbmplY3RNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxJbmplY3RNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBJbmplY3RNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9JbmplY3RNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBtYWtlVG9vbENhbGwocjogTWFrZVRvb2xDYWxsUmVxdWVzdCB8IE1ha2VUb29sQ2FsbFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPE1ha2VUb29sQ2FsbFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxNYWtlVG9vbENhbGxSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPE1ha2VUb29sQ2FsbFJlcXVlc3Q+cikgOiBuZXcgTWFrZVRvb2xDYWxsUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE1ha2VUb29sQ2FsbFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTWFrZVRvb2xDYWxsXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTWFrZVRvb2xDYWxsUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZXhwb3J0Q29udmVyc2F0aW9ucyhyOiBFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdCB8IEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxFeHBvcnRDb252ZXJzYXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpIDogbmV3IEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RXhwb3J0Q29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRXhwb3J0Q29udmVyc2F0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEV4cG9ydENvbnZlcnNhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0Q29udmVyc2F0aW9uRXhwb3J0cyhyOiBMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3QgfCBMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RDb252ZXJzYXRpb25FeHBvcnRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mbyhyOiBMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1JlcXVlc3QgfCBMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0Q29udmVyc2F0aW9ucyhyOiBMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3QgfCBMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb252ZXJzYXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RDb252ZXJzYXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbnZlcnNhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RDb252ZXJzYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBhc3NpZ25Db252ZXJzYXRpb24ocjogQXNzaWduQ29udmVyc2F0aW9uUmVxdWVzdCB8IEFzc2lnbkNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEFzc2lnbkNvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxBc3NpZ25Db252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEFzc2lnbkNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgQXNzaWduQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFzc2lnbkNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQXNzaWduQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQXNzaWduQ29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29udmVyc2F0aW9uX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jb252ZXJzYXRpb24uYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QiwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLDBDQUEwQyxFQUMxQywyQ0FBMkMsRUFDM0MsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsOEJBQThCLEVBQzlCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsa0NBQWtDLEVBQ2xDLG1DQUFtQyxFQUNuQyxvQ0FBb0MsRUFDcEMscUNBQXFDLEVBQ3JDLHVDQUF1QyxFQUN2Qyx3Q0FBd0MsRUFDeEMscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsNkJBQTZC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QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBcUMsSUFBSSxDQUFDLEtBQUssR0FBRyx3REFBd0QsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25LLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekQsQ0FBQztJQUNWLENBQUM7SUFDRCxrQkFBa0IsQ0FBQyxDQUFpRTtRQUNoRixNQUFNLE9BQU8sR0FBRyxDQUE2QixDQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUE2QixDQUFFLENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQXlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0gsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBc0MsSUFBSSxDQUFDLEtBQUssR0FBRyx5REFBeUQsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3JLLElBQUksQ0FDRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDMUQsQ0FBQztJQUNWLENBQUM7d0dBeldRLHNCQUFzQjs0R0FBdEIsc0JBQXNCLGNBRFYsTUFBTTs7NEZBQ2xCLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdCxcbiAgICAgICAgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0LFxuICAgICAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLFxuICAgICAgICBBc3NpZ25Db252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBBc3NpZ25Db252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgQ2FuY2VsQUlSZXNwb25kZXJSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVzcG9uc2UsXG4gICAgICAgIERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgICAgIERlbGV0ZU1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBEZWxldGVXaWRnZXRSZXF1ZXN0LFxuICAgICAgICBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdCxcbiAgICAgICAgRXhwb3J0Q29udmVyc2F0aW9uc1JlcXVlc3QsXG4gICAgICAgIEV4cG9ydENvbnZlcnNhdGlvbnNSZXNwb25zZSxcbiAgICAgICAgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3QsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0LFxuICAgICAgICBHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVzcG9uc2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdCxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZSxcbiAgICAgICAgR2V0TWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QsXG4gICAgICAgIEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpRXZlbnRzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlFdmVudHNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3QsXG4gICAgICAgIEdldE11bHRpTWVzc2FnZXNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldFJlcXVlc3QsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0UmVzcG9uc2UsXG4gICAgICAgIEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdCxcbiAgICAgICAgR2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdCxcbiAgICAgICAgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2UsXG4gICAgICAgIEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlLFxuICAgICAgICBHZXRXaWRnZXRSZXF1ZXN0LFxuICAgICAgICBHZXRXaWRnZXRSZXNwb25zZSxcbiAgICAgICAgSW5qZWN0TWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIExpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvUmVxdWVzdCxcbiAgICAgICAgTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXNwb25zZSxcbiAgICAgICAgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXF1ZXN0LFxuICAgICAgICBMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1Jlc3BvbnNlLFxuICAgICAgICBMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3QsXG4gICAgICAgIExpc3RDb252ZXJzYXRpb25zUmVzcG9uc2UsXG4gICAgICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIExpc3RNZXNzYWdlc1JlcXVlc3QsXG4gICAgICAgIExpc3RNZXNzYWdlc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3QsXG4gICAgICAgIExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVzcG9uc2UsXG4gICAgICAgIExpc3RXaWRnZXRzUmVxdWVzdCxcbiAgICAgICAgTGlzdFdpZGdldHNSZXNwb25zZSxcbiAgICAgICAgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3QsXG4gICAgICAgIExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZSxcbiAgICAgICAgTWFrZVRvb2xDYWxsUmVxdWVzdCxcbiAgICAgICAgTWFrZVRvb2xDYWxsUmVzcG9uc2UsXG4gICAgICAgIE1lc3NhZ2UsXG4gICAgICAgIE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdCxcbiAgICAgICAgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXNwb25zZSxcbiAgICAgICAgUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3QsXG4gICAgICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0LFxuICAgICAgICBTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2UsXG4gICAgICAgIFNlbmRNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgU2VuZE1lc3NhZ2VSZXNwb25zZSxcbiAgICAgICAgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlLFxuICAgICAgICBTZXRMYXN0U2VlblJlcXVlc3QsXG4gICAgICAgIFNldExhc3RTZWVuUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZVdpZGdldFJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVdpZGdldFJlc3BvbnNlLFxuICAgICAgICBXaWRnZXRMb2NhdGlvbixcbiAgICAgICAgTGlzdFdpZGdldExvY2F0aW9uc1JlcXVlc3QsXG4gICAgICAgIExpc3RXaWRnZXRMb2NhdGlvbnNSZXNwb25zZSxcbn0gZnJvbSAnLi9vYmplY3RzLyc7XG5pbXBvcnQge1xuICAgICAgICBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEFzc2lnbkNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEFzc2lnbkNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDYW5jZWxBSVJlc3BvbmRlclJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIERlbGV0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRXhwb3J0Q29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlFdmVudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUV2ZW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRDb25maWdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRDb25maWdSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFdpZGdldFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBJbmplY3RNZXNzYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0V2lkZ2V0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBNYWtlVG9vbENhbGxSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBNYWtlVG9vbENhbGxSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTWVzc2FnZUludGVyZmFjZSxcbiAgICAgICAgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU2VuZE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZW5kTWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFNldExhc3RTZWVuUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFdpZGdldExvY2F0aW9uSW50ZXJmYWNlLFxuICAgICAgICBMaXN0V2lkZ2V0TG9jYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdFdpZGdldExvY2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2ludGVyZmFjZXMvJztcbmltcG9ydCB7SHR0cEhlYWRlcnMsIEh0dHBDbGllbnQsIEh0dHBSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtIb3N0U2VydmljZX0gZnJvbSAnLi4vX2dlbmVyYXRlZC9ob3N0LnNlcnZpY2UnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbnZlcnNhdGlvbkFwaVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdFNlcnZpY2UgPSBpbmplY3QoSG9zdFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIHByaXZhdGUgYXBpT3B0aW9ucygpOiB7aGVhZGVyczogSHR0cEhlYWRlcnMsIHdpdGhDcmVkZW50aWFsczogYm9vbGVhbn0ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHNlbmRNZXNzYWdlKHI6IFNlbmRNZXNzYWdlUmVxdWVzdCB8IFNlbmRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U2VuZE1lc3NhZ2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VuZE1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlbmRNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBTZW5kTWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZW5kTWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvU2VuZE1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZW5kTWVzc2FnZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE1lc3NhZ2UocjogR2V0TWVzc2FnZVJlcXVlc3QgfCBHZXRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TWVzc2FnZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgR2V0TWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxNZXNzYWdlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IE1lc3NhZ2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdE1lc3NhZ2VzKHI6IExpc3RNZXNzYWdlc1JlcXVlc3QgfCBMaXN0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0TWVzc2FnZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdE1lc3NhZ2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0TWVzc2FnZXNSZXF1ZXN0PnIpIDogbmV3IExpc3RNZXNzYWdlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RNZXNzYWdlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RNZXNzYWdlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZU1lc3NhZ2UocjogRGVsZXRlTWVzc2FnZVJlcXVlc3QgfCBEZWxldGVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9EZWxldGVNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICB1cGRhdGVNZXNzYWdlU3RhdHVzKHI6IFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0IHwgVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3Q+cikgOiBuZXcgVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlTWVzc2FnZVN0YXR1c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbG9va3VwQ29udmVyc2F0aW9ucyhyOiBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdCB8IExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpIDogbmV3IExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTG9va3VwQ29udmVyc2F0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRDb252ZXJzYXRpb25CeUtleShyOiBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3QgfCBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3Q+cikgOiBuZXcgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldENvbnZlcnNhdGlvbkJ5S2V5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVDb252ZXJzYXRpb24ocjogQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdCB8IENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlQ29udmVyc2F0aW9uKHI6IFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3QgfCBVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxVcGRhdGVDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1VwZGF0ZUNvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFVwZGF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNhbmNlbEFpUmVzcG9uZGVyKHI6IENhbmNlbEFJUmVzcG9uZGVyUmVxdWVzdCB8IENhbmNlbEFJUmVzcG9uZGVyUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDYW5jZWxBSVJlc3BvbmRlclJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q2FuY2VsQUlSZXNwb25kZXJSZXF1ZXN0PnIpIDogbmV3IENhbmNlbEFJUmVzcG9uZGVyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DYW5jZWxBSVJlc3BvbmRlclwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZGVsZXRlQ29udmVyc2F0aW9uKHI6IERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3QgfCBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZUNvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgcmVjZWl2ZU1lc3NhZ2UocjogUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0IHwgUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFJlY2VpdmVNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZWNlaXZlTWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1JlY2VpdmVNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRNdWx0aU1lc3NhZ2VzKHI6IEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0IHwgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpTWVzc2FnZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlNZXNzYWdlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aU1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZU11bHRpTWVzc2FnZXMocjogQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3QgfCBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVNdWx0aU1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBnZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHMocjogR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdCB8IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjIocjogR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0IHwgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlQYXJ0aWNpcGFudHMocjogR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0IHwgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aVBhcnRpY2lwYW50c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2VhcmNoQ29udmVyc2F0aW9ucyhyOiBTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdCB8IFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpIDogbmV3IFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvU2VhcmNoQ29udmVyc2F0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudChyOiBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3QgfCBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBhZGRNdWx0aVBhcnRpY2lwYW50cyhyOiBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3QgfCBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Q+cikgOiBuZXcgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8QWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0FkZE11bHRpUGFydGljaXBhbnRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBzZXRMYXN0U2VlbihyOiBTZXRMYXN0U2VlblJlcXVlc3QgfCBTZXRMYXN0U2VlblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNldExhc3RTZWVuUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNldExhc3RTZWVuUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZXRMYXN0U2VlblJlcXVlc3Q+cikgOiBuZXcgU2V0TGFzdFNlZW5SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1NldExhc3RTZWVuXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU2V0TGFzdFNlZW5SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRQYXJ0aWNpcGFudHNCeUtleShyOiBHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3QgfCBHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3Q+cikgOiBuZXcgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldFBhcnRpY2lwYW50c0J5S2V5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRDb252ZXJzYXRpb25WaWV3cyhyOiBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3QgfCBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3Q+cikgOiBuZXcgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldENvbnZlcnNhdGlvblZpZXdzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBhZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXcocjogQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdCB8IEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8QWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0PnIpIDogbmV3IEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICByZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlldyhyOiBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3QgfCBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdD5yKSA6IG5ldyBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZVdpZGdldENvbnZlcnNhdGlvbihyOiBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0IHwgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVXaWRnZXRDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVdpZGdldE1lc3NhZ2VzKHI6IEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0IHwgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aVdpZGdldE1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNlbmRXaWRnZXRNZXNzYWdlKHI6IFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdCB8IFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvU2VuZFdpZGdldE1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFdpZGdldENvbnZlcnNhdGlvbigpOiBPYnNlcnZhYmxlPEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldFdpZGdldENvbnZlcnNhdGlvblwiLCB7fSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvbihyOiBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3QgfCBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBldmFsdWF0ZVJlc3BvbnNlKHI6IEV2YWx1YXRlUmVzcG9uc2VSZXF1ZXN0IHwgRXZhbHVhdGVSZXNwb25zZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RXZhbHVhdGVSZXNwb25zZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RXZhbHVhdGVSZXNwb25zZVJlcXVlc3Q+cikgOiBuZXcgRXZhbHVhdGVSZXNwb25zZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRXZhbHVhdGVSZXNwb25zZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdFJlc3BvbnNlRXZhbHVhdGlvbnMocjogTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0IHwgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXF1ZXN0PnIpIDogbmV3IExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RSZXNwb25zZUV2YWx1YXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlV2lkZ2V0KHI6IENyZWF0ZVdpZGdldFJlcXVlc3QgfCBDcmVhdGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVXaWRnZXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlV2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVXaWRnZXRSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVdpZGdldFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVdpZGdldFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFdpZGdldChyOiBHZXRXaWRnZXRSZXF1ZXN0IHwgR2V0V2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0V2lkZ2V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0V2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBHZXRXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0V2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRXaWRnZXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVdpZGdldChyOiBHZXRNdWx0aVdpZGdldFJlcXVlc3QgfCBHZXRNdWx0aVdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpV2lkZ2V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpV2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVdpZGdldFJlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlXaWRnZXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpV2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlXaWRnZXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVXaWRnZXQocjogVXBkYXRlV2lkZ2V0UmVxdWVzdCB8IFVwZGF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZVdpZGdldFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVdpZGdldFJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlV2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlV2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlV2lkZ2V0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlV2lkZ2V0KHI6IERlbGV0ZVdpZGdldFJlcXVlc3QgfCBEZWxldGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZVdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlV2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBEZWxldGVXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdFdpZGdldHMocjogTGlzdFdpZGdldHNSZXF1ZXN0IHwgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0V2lkZ2V0c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0V2lkZ2V0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFdpZGdldHNSZXF1ZXN0PnIpIDogbmV3IExpc3RXaWRnZXRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RXaWRnZXRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0V2lkZ2V0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RXaWRnZXRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0V2lkZ2V0Q29uZmlnKHI6IEdldFdpZGdldENvbmZpZ1JlcXVlc3QgfCBHZXRXaWRnZXRDb25maWdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRXaWRnZXRDb25maWdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0V2lkZ2V0Q29uZmlnUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRXaWRnZXRDb25maWdSZXF1ZXN0PnIpIDogbmV3IEdldFdpZGdldENvbmZpZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRXaWRnZXRDb25maWdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldFdpZGdldENvbmZpZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFdpZGdldENvbmZpZ1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RXaWRnZXRMb2NhdGlvbnMocjogTGlzdFdpZGdldExvY2F0aW9uc1JlcXVlc3QgfCBMaXN0V2lkZ2V0TG9jYXRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFdpZGdldExvY2F0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0V2lkZ2V0TG9jYXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0V2lkZ2V0TG9jYXRpb25zUmVxdWVzdD5yKSA6IG5ldyBMaXN0V2lkZ2V0TG9jYXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RXaWRnZXRMb2NhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL3dlYl9jaGF0X3dpZGdldC52MS5XZWJDaGF0V2lkZ2V0L0xpc3RXaWRnZXRMb2NhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0V2lkZ2V0TG9jYXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgbGlzdE1lc3NhZ2VUZW1wbGF0ZShyOiBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTGlzdE1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGVNZXNzYWdlVGVtcGxhdGUocjogRGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRGVsZXRlTWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVNZXNzYWdlVGVtcGxhdGUocjogQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlTWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlTWVzc2FnZVRlbXBsYXRlKHI6IFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1VwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE1lc3NhZ2VUZW1wbGF0ZShyOiBHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBHZXRNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNZXNzYWdlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRDb252ZXJzYXRpb25TdW1tYXJ5KHI6IEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXF1ZXN0IHwgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3Q+cikgOiBuZXcgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRDb252ZXJzYXRpb25TdW1tYXJ5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRDb252ZXJzYXRpb25TdW1tYXJ5XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIG5ld0luYm94TGVhZENhcHR1cmVkKHI6IE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdCB8IE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPE5ld0luYm94TGVhZENhcHR1cmVkUmVxdWVzdD5yKSA6IG5ldyBOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTmV3SW5ib3hMZWFkQ2FwdHVyZWRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBOZXdJbmJveExlYWRDYXB0dXJlZFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpRXZlbnRzKHI6IEdldE11bHRpRXZlbnRzUmVxdWVzdCB8IEdldE11bHRpRXZlbnRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlFdmVudHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlFdmVudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpRXZlbnRzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUV2ZW50c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUV2ZW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlFdmVudHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUV2ZW50c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGluamVjdE1lc3NhZ2UocjogSW5qZWN0TWVzc2FnZVJlcXVlc3QgfCBJbmplY3RNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxJbmplY3RNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxJbmplY3RNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBJbmplY3RNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9JbmplY3RNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBtYWtlVG9vbENhbGwocjogTWFrZVRvb2xDYWxsUmVxdWVzdCB8IE1ha2VUb29sQ2FsbFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPE1ha2VUb29sQ2FsbFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxNYWtlVG9vbENhbGxSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPE1ha2VUb29sQ2FsbFJlcXVlc3Q+cikgOiBuZXcgTWFrZVRvb2xDYWxsUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE1ha2VUb29sQ2FsbFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTWFrZVRvb2xDYWxsXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTWFrZVRvb2xDYWxsUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZXhwb3J0Q29udmVyc2F0aW9ucyhyOiBFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdCB8IEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxFeHBvcnRDb252ZXJzYXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0PnIpIDogbmV3IEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8RXhwb3J0Q29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRXhwb3J0Q29udmVyc2F0aW9uc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEV4cG9ydENvbnZlcnNhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0Q29udmVyc2F0aW9uRXhwb3J0cyhyOiBMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3QgfCBMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q29udmVyc2F0aW9uRXhwb3J0c1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RDb252ZXJzYXRpb25FeHBvcnRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mbyhyOiBMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1JlcXVlc3QgfCBMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q29tbXVuaWNhdGlvbkNoYW5uZWxzSW5mb1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0Q29udmVyc2F0aW9ucyhyOiBMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3QgfCBMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RDb252ZXJzYXRpb25zUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RDb252ZXJzYXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3Q+cikgOiBuZXcgTGlzdENvbnZlcnNhdGlvbnNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RDb252ZXJzYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBhc3NpZ25Db252ZXJzYXRpb24ocjogQXNzaWduQ29udmVyc2F0aW9uUmVxdWVzdCB8IEFzc2lnbkNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEFzc2lnbkNvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxBc3NpZ25Db252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEFzc2lnbkNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgQXNzaWduQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFzc2lnbkNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQXNzaWduQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQXNzaWduQ29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2NvbnZlcnNhdGlvbl9zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9hcGkuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsIFByb2R1Y3RGZWF0dXJlSW50ZXJmYWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb252ZXJzYXRpb25FeHBvcnRSZWNvcmRJbnRlcmZhY2UgfSBmcm9tICcuL2NvbnZlcnNhdGlvbi1leHBvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnZlcnNhdGlvbkludGVyZmFjZSwgQ29udmVyc2F0aW9uS2V5SW50ZXJmYWNlIH0gZnJvbSAnLi9jb252ZXJzYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2VzSW50ZXJmYWNlLCBXaWRnZXRJbnRlcmZhY2UgfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXZlbnRJbnRlcmZhY2UgfSBmcm9tICcuL2V2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZE1hc2tJbnRlcmZhY2UgfSBmcm9tICcuL2ZpZWxkLW1hc2suaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lc3NhZ2VJbnRlcmZhY2UgfSBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lc3NhZ2VUZW1wbGF0ZUludGVyZmFjZSB9IGZyb20gJy4vbWVzc2FnZS10ZW1wbGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGFydGljaXBhbnRJbnRlcmZhY2UsIFBhcnRpY2lwYW50S2V5SW50ZXJmYWNlIH0gZnJvbSAnLi9wYXJ0aWNpcGFudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VFdmFsdWF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9ldmFsdWF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2UsIEtleVZhbHVlUGFpckludGVyZmFjZSwgTmFtZXNwYWNlRGV0YWlsSW50ZXJmYWNlIH0gZnJvbSAnLi9jb21tb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFZpZXdJbnRlcmZhY2UgfSBmcm9tICcuL2NvbnZlcnNhdGlvbi12aWV3LmludGVyZmFjZSc7XG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGludGVyZmFjZSBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB2aWV3SWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gICAgcGFydGljaXBhbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NpZ25Db252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBhc3NpZ25lZVVzZXJJZHM/OiBzdHJpbmdbXTtcbiAgICBsaW5rVG9Dcm1Pd25lcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWduQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2Uge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbEFJUmVzcG9uZGVyUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwdHVyZWRMZWFkSW50ZXJmYWNlIHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGVtYWlsPzogc3RyaW5nO1xuICAgIHBob25lPzogc3RyaW5nO1xuICAgIGNvbnRhY3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsQXZhaWxhYmlsaXR5SW50ZXJmYWNlIHtcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIGlzQXZhaWxhYmxlPzogYm9vbGVhbjtcbiAgICBzdGF0dXNlcz86IENoYW5uZWxTdGF0dXNJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsU3RhdHVzSW50ZXJmYWNlIHtcbiAgICBzdGF0dXM/OiBlLlN0YXR1cztcbiAgICBpMThuS2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbW11bmljYXRpb25JbmZvSW50ZXJmYWNlIHtcbiAgICBjaGFubmVsPzogZS5Db21tdW5pY2F0aW9uQ2hhbm5lbFR5cGU7XG4gICAgaWRlbnRpZmllcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25NZXNzYWdlQ291bnRJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIGNvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZUNvbnZlcnNhdGlvbnNJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VDb3VudHNFbnRyeUludGVyZmFjZSB7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIHZhbHVlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG4gICAgY2hhbm5lbD86IGUuQ29udmVyc2F0aW9uQ2hhbm5lbDtcbiAgICBleHRlcm5hbENvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIGNyZWF0ZWQ/OiBEYXRlO1xuICAgIHVwZGF0ZWQ/OiBEYXRlO1xuICAgIG9yaWdpbkxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIG9yaWdpbkxvY2F0aW9uRXh0ZXJuYWxJZD86IHN0cmluZztcbiAgICBpbnN0YW5jZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0ZW1wbGF0ZT86IE1lc3NhZ2VUZW1wbGF0ZUludGVyZmFjZTtcbiAgICBzdWJqZWN0UGFydGljaXBhbnQ/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VJbnRlcmZhY2VbXTtcbiAgICBsYXN0U2Vlbj86IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gICAgY2hhdFNvdXJjZVVybD86IHN0cmluZztcbiAgICBncmVldGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgbWV0YWRhdGE/OiBLZXlWYWx1ZVBhaXJJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgd2lkZ2V0UGFydGljaXBhbnRUb2tlbj86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG4gICAgZ3JlZXRpbmdNZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYWxsb3dlZFVybHM/OiBzdHJpbmdbXTtcbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgICBkYXRhU291cmNlcz86IERhdGFTb3VyY2VzSW50ZXJmYWNlO1xuICAgIHRleHRDb2xvcj86IHN0cmluZztcbiAgICBhY2NlbnRDb2xvcj86IHN0cmluZztcbiAgICBhY2NlbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgc2tpcENvbnRhY3RDYXB0dXJlPzogYm9vbGVhbjtcbiAgICBhZGRpdGlvbmFsUHJvbXB0SW5zdHJ1Y3Rpb25zPzogc3RyaW5nO1xuICAgIGFzc2lzdGFudE5hbWU/OiBzdHJpbmc7XG4gICAgYXNzaXN0YW50QXZhdGFyVXJsPzogc3RyaW5nO1xuICAgIHBvc2l0aW9uPzogZS5XaWRnZXRQb3NpdGlvbjtcbiAgICBoaWRlTW9iaWxlQ3RhPzogYm9vbGVhbjtcbiAgICBjdXN0b21HcmVldGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgZW5hYmxlR3JlZXRpbmdNZXNzYWdlPzogYm9vbGVhbjtcbiAgICB3aWRnZXRUeXBlPzogc3RyaW5nO1xuICAgIGFzc2lzdGFudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB3aWRnZXQ/OiBXaWRnZXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFEYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VEZXRhaWxlZENvbnZlcnNhdGlvbkludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSW50ZXJmYWNlO1xuICAgIGxhdGVzdE1lc3NhZ2U/OiBNZXNzYWdlSW50ZXJmYWNlO1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG4gICAgc3VtbWFyeT86IHN0cmluZztcbiAgICBldmVudD86IEV2ZW50SW50ZXJmYWNlO1xuICAgIG1lc3NhZ2U/OiBNZXNzYWdlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZURldGFpbGVkQ29udmVyc2F0aW9uSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG4gICAgbGF0ZXN0TWVzc2FnZT86IE1lc3NhZ2VJbnRlcmZhY2U7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlRGV0YWlsZWRDb252ZXJzYXRpb25JbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xuICAgIHN1bW1hcnk/OiBzdHJpbmc7XG4gICAgZXZlbnQ/OiBFdmVudEludGVyZmFjZTtcbiAgICBtZXNzYWdlPzogTWVzc2FnZUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xuICAgIHNlbnRpbWVudD86IGUuRXZhbHVhdGlvblNlbnRpbWVudDtcbiAgICBjb21tZW50Pzogc3RyaW5nO1xuICAgIGV2YWx1YXRlZEV2ZW50SWQ/OiBzdHJpbmc7XG4gICAgZXZhbHVhdGVkTWVzc2FnZUlkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmaWx0ZXJPcHRpb25zPzogRXhwb3J0Q29udmVyc2F0aW9uc1JlcXVlc3RGaWx0ZXJPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd29ya2Zsb3dJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdEZpbHRlck9wdGlvbnNJbnRlcmZhY2Uge1xuICAgIHN1YmplY3RQYXJ0aWNpcGFudD86IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZTtcbiAgICBzdGFydFRpbWU/OiBEYXRlO1xuICAgIGVuZFRpbWU/OiBEYXRlO1xuICAgIHBsYXRmb3JtTG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXF1ZXN0RmlsdGVyT3B0aW9uc0ludGVyZmFjZSB7XG4gICAgcGxhdGZvcm1Mb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBzdWJqZWN0UGFydGljaXBhbnQ/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjaGFubmVscz86IGUuQ29udmVyc2F0aW9uQ2hhbm5lbFtdO1xuICAgIHByZWZlcnJlZENoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG4gICAgY2hhbm5lbEF2YWlsYWJpbGl0aWVzPzogQ2hhbm5lbEF2YWlsYWJpbGl0eUludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBzdWJqZWN0UGFydGljaXBhbnQ/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbkludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbktleT86IENvbnZlcnNhdGlvbktleUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZUludGVyZmFjZSB7XG4gICAgc3VtbWFyeT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdmlld3M/OiBWaWV3SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWVzc2FnZU9wdGlvbnNJbnRlcmZhY2Uge1xuICAgIGluY2x1ZGVPcmlnaW5hbENvbnRlbnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgb3B0aW9ucz86IEdldE1lc3NhZ2VPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlSWQ/OiBzdHJpbmc7XG4gICAgaHlkcmF0aW9uT3B0aW9ucz86IEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RIeWRyYXRpb25PcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0ZW1wbGF0ZT86IE1lc3NhZ2VUZW1wbGF0ZUludGVyZmFjZTtcbiAgICBoeWRyYXRpb25JbmZvcm1hdGlvbj86IEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSHlkcmF0aW9uSW5mb3JtYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc3ViamVjdFBhcnRpY2lwYW50cz86IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9ucz86IENvbmZpZ3VyYXRpb25JbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBkaXNhYmxlUGFydGljaXBhbnRCcmFuZGluZz86IGJvb2xlYW47XG4gICAgZXhjbHVzaW9ucz86IEZpZWxkTWFza0ludGVyZmFjZTtcbiAgICBkaXNhYmxlUGFydGljaXBhbnRIeWRyYXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkcz86IHN0cmluZ1tdO1xuICAgIG9wdGlvbnM/OiBGaWVsZE1hc2tJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZURldGFpbGVkQ29udmVyc2F0aW9uSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZHM/OiBzdHJpbmdbXTtcbiAgICBleGNsdXNpb25zPzogRmllbGRNYXNrSW50ZXJmYWNlO1xuICAgIG9wdGlvbnM/OiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlRGV0YWlsZWRDb252ZXJzYXRpb25JbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VDb3VudHM/OiBDb252ZXJzYXRpb25NZXNzYWdlQ291bnRJbnRlcmZhY2VbXTtcbiAgICBjb3VudHM/OiB7W2tleTogc3RyaW5nXTogbnVtYmVyfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUV2ZW50c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGV2ZW50SWRzPzogc3RyaW5nW107XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlFdmVudHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZXZlbnRzPzogRXZlbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkcz86IHN0cmluZ1tdO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIGxhbmd1YWdlQ29kZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VzPzogTWVzc2FnZUludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRJZHM/OiBzdHJpbmdbXTtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aVdpZGdldFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHdpZGdldElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHdpZGdldHM/OiBXaWRnZXRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRPd25lckVtYWlsUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc3ViamVjdFBhcnRpY2lwYW50PzogU3ViamVjdFBhcnRpY2lwYW50SW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE93bmVyRW1haWxSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZm9yd2FyZGluZ0VtYWlsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdEludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRLZXk/OiBQYXJ0aWNpcGFudEtleUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xuICAgIHBhcnRpY2lwYW50PzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gICAgdmlzaXREYXRhPzogV2lkZ2V0VmlzaXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgaXNFbmFibGVkPzogYm9vbGVhbjtcbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYWNjZW50Q29sb3I/OiBzdHJpbmc7XG4gICAgYWNjZW50VGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNraXBDb250YWN0Q2FwdHVyZT86IGJvb2xlYW47XG4gICAgd2lkZ2V0VG9wU3BhY2U/OiBudW1iZXI7XG4gICAgYXNzaXN0YW50TmFtZT86IHN0cmluZztcbiAgICBhc3Npc3RhbnRBdmF0YXJVcmw/OiBzdHJpbmc7XG4gICAgcG9zaXRpb24/OiBlLldpZGdldFBvc2l0aW9uO1xuICAgIGhpZGVNb2JpbGVDdGE/OiBib29sZWFuO1xuICAgIGN1c3RvbUdyZWV0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBlbmFibGVHcmVldGluZ01lc3NhZ2U/OiBib29sZWFuO1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBwb3dlcmVkQnlOYW1lPzogc3RyaW5nO1xuICAgIHBvd2VyZWRCeVdlYnNpdGU/OiBzdHJpbmc7XG4gICAgc2hvd0Zvb3RlckNvbnRlbnQ/OiBib29sZWFuO1xuICAgIGdyZWV0aW5nTWVzc2FnZVR5cGU/OiBlLkdldFdpZGdldENvbmZpZ1Jlc3BvbnNlR3JlZXRpbmdNZXNzYWdlVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFdpZGdldFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHdpZGdldElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFdpZGdldFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB3aWRnZXQ/OiBXaWRnZXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEh5ZHJhdGlvbk9wdGlvbnNIeWRyYXRpb25FbnRpdHlJbnRlcmZhY2Uge1xuICAgIGVudGl0eVR5cGU/OiBlLkdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RIeWRyYXRpb25PcHRpb25zSHlkcmF0aW9uRW50aXR5RW50aXR5VHlwZTtcbiAgICBlbnRpdHlJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUh5ZHJhdGlvbkluZm9ybWF0aW9uSW50ZXJmYWNlIHtcbiAgICBhbGxGaWVsZHNIeWRyYXRlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEh5ZHJhdGlvbk9wdGlvbnNJbnRlcmZhY2Uge1xuICAgIGh5ZHJhdGlvbkVudGl0aWVzPzogR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEh5ZHJhdGlvbk9wdGlvbnNIeWRyYXRpb25FbnRpdHlJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q29udmVyc2F0aW9uc1Jlc3BvbnNlSW5ib3hDb252ZXJzYXRpb25JbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBsYXRlc3RNZXNzYWdlPzogTWVzc2FnZUludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgYm9keT86IHN0cmluZztcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIHR5cGU/OiBlLk1lc3NhZ2VUeXBlO1xuICAgIGxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIG1ldGFkYXRhPzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gICAgbWVkaWE/OiBNZWRpYUludGVyZmFjZVtdO1xuICAgIG5hbWVzcGFjZT86IE5hbWVzcGFjZURldGFpbEludGVyZmFjZTtcbiAgICBzb3VyY2VOYW1lPzogc3RyaW5nO1xuICAgIGNyZWF0ZWQ/OiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvUmVxdWVzdEludGVyZmFjZSB7XG4gICAgYWNjb3VudEdyb3VwSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29tbXVuaWNhdGlvbkluZm8/OiBDb21tdW5pY2F0aW9uSW5mb0ludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmlsdGVyT3B0aW9ucz86IExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdEZpbHRlck9wdGlvbnNJbnRlcmZhY2U7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgcmVjb3JkPzogQ29udmVyc2F0aW9uRXhwb3J0UmVjb3JkSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnZlcnNhdGlvbnNGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBjaGFubmVscz86IGUuQ29udmVyc2F0aW9uQ2hhbm5lbFtdO1xuICAgIGlzT3Blbj86IGJvb2xlYW47XG4gICAgdW5yZWFkT25seT86IGJvb2xlYW47XG4gICAgYXdhaXRpbmdSZXNwb25zZU9ubHk/OiBib29sZWFuO1xuICAgIGlzQW5vbnltb3VzPzogYm9vbGVhbjtcbiAgICBhc3NpZ25lZVVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGFjY291bnRHcm91cElkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG4gICAgZmlsdGVycz86IExpc3RDb252ZXJzYXRpb25zRmlsdGVyc0ludGVyZmFjZTtcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9ucz86IExpc3RDb252ZXJzYXRpb25zUmVzcG9uc2VJbmJveENvbnZlcnNhdGlvbkludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBzdWJqZWN0UGFydGljaXBhbnQ/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2U7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0ZW1wbGF0ZXM/OiBNZXNzYWdlVGVtcGxhdGVJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TWVzc2FnZXNSZXF1ZXN0TGlzdE1lc3NhZ2VzRmlsdGVyc0ludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmlsdGVycz86IExpc3RNZXNzYWdlc1JlcXVlc3RMaXN0TWVzc2FnZXNGaWx0ZXJzSW50ZXJmYWNlO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHN1bW1hcml6ZT86IGJvb2xlYW47XG4gICAgc3ViamVjdFBhcnRpY2lwYW50PzogU3ViamVjdFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xuICAgIGNyZWF0ZWRBZnRlcj86IERhdGU7XG4gICAgY3JlYXRlZEJlZm9yZT86IERhdGU7XG4gICAgZXZhbHVhdGlvblR5cGU/OiBlLkV2YWx1YXRlUmVzcG9uc2VUeXBlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZXZhbHVhdGlvbnM/OiBSZXNwb25zZUV2YWx1YXRpb25JbnRlcmZhY2VbXTtcbiAgICBzdW1tYXJ5PzogTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZVN1bW1hcnlJbnRlcmZhY2U7XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFdpZGdldHNSZXF1ZXN0TGlzdFdpZGdldHNGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2VzPzogc3RyaW5nW107XG4gICAgd2lkZ2V0VHlwZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0V2lkZ2V0c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbiAgICBvcHRpb25zPzogTGlzdFdpZGdldHNSZXF1ZXN0TGlzdFdpZGdldHNGaWx0ZXJzSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RXaWRnZXRzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHdpZGdldHM/OiBXaWRnZXRJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdExvb2t1cENvbnZlcnNhdGlvbnNGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBpbnRlcm5hbFBhcnRpY2lwYW50SWQ/OiBzdHJpbmdbXTtcbiAgICBsb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIGFjY291bnRHcm91cElkPzogc3RyaW5nO1xuICAgIGV4dGVybmFsQ29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gICAgb3JpZ2luTG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG4gICAgb3JpZ2luTG9jYXRpb25FeHRlcm5hbElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmaWx0ZXJzPzogTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3RMb29rdXBDb252ZXJzYXRpb25zRmlsdGVyc0ludGVyZmFjZTtcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VDb252ZXJzYXRpb25zSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZVRvb2xDYWxsUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZU9wdGlvbj86IE1ha2VUb29sQ2FsbFJlcXVlc3RNZXNzYWdlT3B0aW9uSW50ZXJmYWNlO1xuICAgIHBheWxvYWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZVRvb2xDYWxsUmVzcG9uc2VJbnRlcmZhY2Uge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhSW50ZXJmYWNlIHtcbiAgICBtZWRpYUNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICAgIG1lZGlhTG9jYXRpb25QYXRoPzogc3RyaW5nO1xuICAgIG1lZGlhRmlsZU5hbWU/OiBzdHJpbmc7XG4gICAgZmlsZVNpemU/OiBudW1iZXI7XG4gICAgbWVkaWFVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZVRvb2xDYWxsUmVxdWVzdE1lc3NhZ2VPcHRpb25JbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VJZD86IHN0cmluZztcbiAgICBzZWxlY3RlZE9wdGlvbklkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhSW50ZXJmYWNlIHtcbiAgICBpZGVudGlmaWVyPzogZS5NZXRhZGF0YUlkZW50aWZpZXI7XG4gICAgZGF0YT86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVNZXNzYWdlUmVxdWVzdE1ldGFkYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmplY3RNZXNzYWdlUmVxdWVzdE1ldGFkYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBwYXJlbnROYW1lc3BhY2U/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uU3VtbWFyeT86IHN0cmluZztcbiAgICBjYXB0dXJlZExlYWQ/OiBDYXB0dXJlZExlYWRJbnRlcmZhY2U7XG4gICAgc291cmNlPzogc3RyaW5nO1xuICAgIGNhcHR1cmVkQXQ/OiBEYXRlO1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgaW5pdGlhdG9ySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXNwb25zZUludGVyZmFjZSB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSB7XG4gICAgY3Vyc29yPzogc3RyaW5nO1xuICAgIHBhZ2VTaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZSB7XG4gICAgbmV4dEN1cnNvcj86IHN0cmluZztcbiAgICBoYXNNb3JlPzogYm9vbGVhbjtcbiAgICB0b3RhbFJlc3VsdHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBzZW5kZXJJZD86IHN0cmluZztcbiAgICByZWNpcGllbnRJZD86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgYm9keT86IHN0cmluZztcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIHR5cGU/OiBlLk1lc3NhZ2VUeXBlO1xuICAgIGxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIHBhcnRuZXJJZD86IHN0cmluZztcbiAgICBhY2NvdW50R3JvdXBJZD86IHN0cmluZztcbiAgICBtZXRhZGF0YT86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xuICAgIG1lZGlhPzogc3RyaW5nW107XG4gICAgbmFtZXNwYWNlPzogTmFtZXNwYWNlRGV0YWlsSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSB7XG4gICAgdmlld0lkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZD86IHN0cmluZztcbiAgICBhY2NvdW50R3JvdXBJZD86IHN0cmluZztcbiAgICBsb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBzZWFyY2hUZXJtPzogc3RyaW5nO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9ucz86IFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZURldGFpbGVkQ29udmVyc2F0aW9uSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1lc3NhZ2VPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBydW5TeW5jPzogYm9vbGVhbjtcbiAgICBza2lwTWVzc2FnZURlbGl2ZXJ5PzogYm9vbGVhbjtcbiAgICBhaU1vZGU/OiBlLkFJTW9kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHNlbmRlcj86IFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIHJlY2lwaWVudD86IFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHR5cGU/OiBlLk1lc3NhZ2VUeXBlO1xuICAgIGJvZHk/OiBzdHJpbmc7XG4gICAgbWV0YWRhdGE/OiBNZXRhZGF0YUludGVyZmFjZVtdO1xuICAgIG9yaWdpbkxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIG1lZGlhPzogTWVkaWFJbnRlcmZhY2VbXTtcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIG9wdGlvbnM/OiBTZW5kTWVzc2FnZU9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd29ya2Zsb3dJZD86IHN0cmluZztcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0eXBlPzogZS5NZXNzYWdlVHlwZTtcbiAgICBib2R5Pzogc3RyaW5nO1xuICAgIG1ldGFkYXRhPzogTWV0YWRhdGFJbnRlcmZhY2VbXTtcbiAgICBsb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0PzogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXRMYXN0U2VlblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50PzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG4gICAgc3RhdHVzPzogZS5TZXRMYXN0U2VlblJlcXVlc3RTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnQ/OiBQYXJ0aWNpcGFudEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlU3VtbWFyeUludGVyZmFjZSB7XG4gICAgZmVlZGJhY2tUaGVtZXM/OiBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlU3VtbWFyeVRoZW1lSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZVN1bW1hcnlUaGVtZUludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBleGFtcGxlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBmaWVsZE1hc2s/OiBGaWVsZE1hc2tJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG4gICAgc3RhdHVzPzogZS5NZXNzYWdlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlO1xuICAgIGZpZWxkTWFzaz86IEZpZWxkTWFza0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdGVtcGxhdGU/OiBNZXNzYWdlVGVtcGxhdGVJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBhbGxvd2VkVXJscz86IHN0cmluZ1tdO1xuICAgIHdlbGNvbWVNZXNzYWdlPzogc3RyaW5nO1xuICAgIGlzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIGFjY2VudENvbG9yPzogc3RyaW5nO1xuICAgIGFjY2VudFRleHRDb2xvcj86IHN0cmluZztcbiAgICBza2lwQ29udGFjdENhcHR1cmU/OiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxQcm9tcHRJbnN0cnVjdGlvbnM/OiBzdHJpbmc7XG4gICAgYXNzaXN0YW50TmFtZT86IHN0cmluZztcbiAgICBhc3Npc3RhbnRBdmF0YXJVcmw/OiBzdHJpbmc7XG4gICAgcG9zaXRpb24/OiBlLldpZGdldFBvc2l0aW9uO1xuICAgIGhpZGVNb2JpbGVDdGE/OiBib29sZWFuO1xuICAgIGN1c3RvbUdyZWV0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBlbmFibGVHcmVldGluZ01lc3NhZ2U/OiBib29sZWFuO1xuICAgIGZpZWxkTWFzaz86IEZpZWxkTWFza0ludGVyZmFjZTtcbiAgICBhc3Npc3RhbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd2lkZ2V0PzogV2lkZ2V0SW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydENvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbkludGVyZmFjZTtcbiAgICBmaWVsZE1hc2s/OiBGaWVsZE1hc2tJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZXJ0Q29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbkludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcHNlcnRQcm9kdWN0RmVhdHVyZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHByb2R1Y3RGZWF0dXJlPzogUHJvZHVjdEZlYXR1cmVJbnRlcmZhY2U7XG4gICAgZmllbGRNYXNrPzogRmllbGRNYXNrSW50ZXJmYWNlO1xuICAgIHN1YmplY3RQYXJ0aWNpcGFudD86IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcHNlcnRQcm9kdWN0RmVhdHVyZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBwcm9kdWN0RmVhdHVyZT86IFByb2R1Y3RGZWF0dXJlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldFZpc2l0SW50ZXJmYWNlIHtcbiAgICB2aXNpdG9ySWQ/OiBzdHJpbmc7XG4gICAgdmlzaXRJZD86IHN0cmluZztcbn1cblxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2NvbnZlcnNhdGlvbl9zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9hcGkuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25JbnRlcmZhY2UsIFByb2R1Y3RGZWF0dXJlSW50ZXJmYWNlIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb252ZXJzYXRpb25FeHBvcnRSZWNvcmRJbnRlcmZhY2UgfSBmcm9tICcuL2NvbnZlcnNhdGlvbi1leHBvcnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnZlcnNhdGlvbkludGVyZmFjZSwgQ29udmVyc2F0aW9uS2V5SW50ZXJmYWNlIH0gZnJvbSAnLi9jb252ZXJzYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2VzSW50ZXJmYWNlLCBXaWRnZXRJbnRlcmZhY2UgfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRXZlbnRJbnRlcmZhY2UgfSBmcm9tICcuL2V2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZE1hc2tJbnRlcmZhY2UgfSBmcm9tICcuL2ZpZWxkLW1hc2suaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lc3NhZ2VJbnRlcmZhY2UgfSBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lc3NhZ2VUZW1wbGF0ZUludGVyZmFjZSB9IGZyb20gJy4vbWVzc2FnZS10ZW1wbGF0ZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUGFydGljaXBhbnRJbnRlcmZhY2UsIFBhcnRpY2lwYW50S2V5SW50ZXJmYWNlIH0gZnJvbSAnLi9wYXJ0aWNpcGFudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VFdmFsdWF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi9ldmFsdWF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2UsIEtleVZhbHVlUGFpckludGVyZmFjZSwgTmFtZXNwYWNlRGV0YWlsSW50ZXJmYWNlIH0gZnJvbSAnLi9jb21tb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFZpZXdJbnRlcmZhY2UgfSBmcm9tICcuL2NvbnZlcnNhdGlvbi12aWV3LmludGVyZmFjZSc7XG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGludGVyZmFjZSBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB2aWV3SWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gICAgcGFydGljaXBhbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NpZ25Db252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBhc3NpZ25lZVVzZXJJZHM/OiBzdHJpbmdbXTtcbiAgICBsaW5rVG9Dcm1Pd25lcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaWduQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2Uge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhbmNlbEFJUmVzcG9uZGVyUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FwdHVyZWRMZWFkSW50ZXJmYWNlIHtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIGVtYWlsPzogc3RyaW5nO1xuICAgIHBob25lPzogc3RyaW5nO1xuICAgIGNvbnRhY3RJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsQXZhaWxhYmlsaXR5SW50ZXJmYWNlIHtcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIGlzQXZhaWxhYmxlPzogYm9vbGVhbjtcbiAgICBzdGF0dXNlcz86IENoYW5uZWxTdGF0dXNJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFubmVsU3RhdHVzSW50ZXJmYWNlIHtcbiAgICBzdGF0dXM/OiBlLlN0YXR1cztcbiAgICBpMThuS2V5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbW11bmljYXRpb25JbmZvSW50ZXJmYWNlIHtcbiAgICBjaGFubmVsPzogZS5Db21tdW5pY2F0aW9uQ2hhbm5lbFR5cGU7XG4gICAgaWRlbnRpZmllcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25NZXNzYWdlQ291bnRJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIGNvdW50PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZUNvbnZlcnNhdGlvbnNJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VDb3VudHNFbnRyeUludGVyZmFjZSB7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIHZhbHVlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG4gICAgY2hhbm5lbD86IGUuQ29udmVyc2F0aW9uQ2hhbm5lbDtcbiAgICBleHRlcm5hbENvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIGNyZWF0ZWQ/OiBEYXRlO1xuICAgIHVwZGF0ZWQ/OiBEYXRlO1xuICAgIG9yaWdpbkxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIG9yaWdpbkxvY2F0aW9uRXh0ZXJuYWxJZD86IHN0cmluZztcbiAgICBpbnN0YW5jZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0ZW1wbGF0ZT86IE1lc3NhZ2VUZW1wbGF0ZUludGVyZmFjZTtcbiAgICBzdWJqZWN0UGFydGljaXBhbnQ/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VJbnRlcmZhY2VbXTtcbiAgICBsYXN0U2Vlbj86IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gICAgY2hhdFNvdXJjZVVybD86IHN0cmluZztcbiAgICBncmVldGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgbWV0YWRhdGE/OiBLZXlWYWx1ZVBhaXJJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgd2lkZ2V0UGFydGljaXBhbnRUb2tlbj86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG4gICAgZ3JlZXRpbmdNZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYWxsb3dlZFVybHM/OiBzdHJpbmdbXTtcbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgICBkYXRhU291cmNlcz86IERhdGFTb3VyY2VzSW50ZXJmYWNlO1xuICAgIHRleHRDb2xvcj86IHN0cmluZztcbiAgICBhY2NlbnRDb2xvcj86IHN0cmluZztcbiAgICBhY2NlbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgc2tpcENvbnRhY3RDYXB0dXJlPzogYm9vbGVhbjtcbiAgICBhZGRpdGlvbmFsUHJvbXB0SW5zdHJ1Y3Rpb25zPzogc3RyaW5nO1xuICAgIGFzc2lzdGFudE5hbWU/OiBzdHJpbmc7XG4gICAgYXNzaXN0YW50QXZhdGFyVXJsPzogc3RyaW5nO1xuICAgIHBvc2l0aW9uPzogZS5XaWRnZXRQb3NpdGlvbjtcbiAgICBoaWRlTW9iaWxlQ3RhPzogYm9vbGVhbjtcbiAgICBjdXN0b21HcmVldGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgZW5hYmxlR3JlZXRpbmdNZXNzYWdlPzogYm9vbGVhbjtcbiAgICB3aWRnZXRUeXBlPzogc3RyaW5nO1xuICAgIGFzc2lzdGFudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB3aWRnZXQ/OiBXaWRnZXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFEYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VEZXRhaWxlZENvbnZlcnNhdGlvbkludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSW50ZXJmYWNlO1xuICAgIGxhdGVzdE1lc3NhZ2U/OiBNZXNzYWdlSW50ZXJmYWNlO1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG4gICAgc3VtbWFyeT86IHN0cmluZztcbiAgICBldmVudD86IEV2ZW50SW50ZXJmYWNlO1xuICAgIG1lc3NhZ2U/OiBNZXNzYWdlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZURldGFpbGVkQ29udmVyc2F0aW9uSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG4gICAgbGF0ZXN0TWVzc2FnZT86IE1lc3NhZ2VJbnRlcmZhY2U7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlRGV0YWlsZWRDb252ZXJzYXRpb25JbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xuICAgIHN1bW1hcnk/OiBzdHJpbmc7XG4gICAgZXZlbnQ/OiBFdmVudEludGVyZmFjZTtcbiAgICBtZXNzYWdlPzogTWVzc2FnZUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0ZVJlc3BvbnNlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xuICAgIHNlbnRpbWVudD86IGUuRXZhbHVhdGlvblNlbnRpbWVudDtcbiAgICBjb21tZW50Pzogc3RyaW5nO1xuICAgIGV2YWx1YXRlZEV2ZW50SWQ/OiBzdHJpbmc7XG4gICAgZXZhbHVhdGVkTWVzc2FnZUlkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmaWx0ZXJPcHRpb25zPzogRXhwb3J0Q29udmVyc2F0aW9uc1JlcXVlc3RGaWx0ZXJPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd29ya2Zsb3dJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRDb252ZXJzYXRpb25zUmVxdWVzdEZpbHRlck9wdGlvbnNJbnRlcmZhY2Uge1xuICAgIHN1YmplY3RQYXJ0aWNpcGFudD86IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZTtcbiAgICBzdGFydFRpbWU/OiBEYXRlO1xuICAgIGVuZFRpbWU/OiBEYXRlO1xuICAgIHBsYXRmb3JtTG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXF1ZXN0RmlsdGVyT3B0aW9uc0ludGVyZmFjZSB7XG4gICAgcGxhdGZvcm1Mb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBzdWJqZWN0UGFydGljaXBhbnQ/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjaGFubmVscz86IGUuQ29udmVyc2F0aW9uQ2hhbm5lbFtdO1xuICAgIHByZWZlcnJlZENoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG4gICAgY2hhbm5lbEF2YWlsYWJpbGl0aWVzPzogQ2hhbm5lbEF2YWlsYWJpbGl0eUludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBzdWJqZWN0UGFydGljaXBhbnQ/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbkludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbktleT86IENvbnZlcnNhdGlvbktleUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udmVyc2F0aW9uU3VtbWFyeVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENvbnZlcnNhdGlvblN1bW1hcnlSZXNwb25zZUludGVyZmFjZSB7XG4gICAgc3VtbWFyeT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdmlld3M/OiBWaWV3SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWVzc2FnZU9wdGlvbnNJbnRlcmZhY2Uge1xuICAgIGluY2x1ZGVPcmlnaW5hbENvbnRlbnQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgb3B0aW9ucz86IEdldE1lc3NhZ2VPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlSWQ/OiBzdHJpbmc7XG4gICAgaHlkcmF0aW9uT3B0aW9ucz86IEdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RIeWRyYXRpb25PcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0ZW1wbGF0ZT86IE1lc3NhZ2VUZW1wbGF0ZUludGVyZmFjZTtcbiAgICBoeWRyYXRpb25JbmZvcm1hdGlvbj86IEdldE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSHlkcmF0aW9uSW5mb3JtYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc3ViamVjdFBhcnRpY2lwYW50cz86IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9ucz86IENvbmZpZ3VyYXRpb25JbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBkaXNhYmxlUGFydGljaXBhbnRCcmFuZGluZz86IGJvb2xlYW47XG4gICAgZXhjbHVzaW9ucz86IEZpZWxkTWFza0ludGVyZmFjZTtcbiAgICBkaXNhYmxlUGFydGljaXBhbnRIeWRyYXRpb24/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkcz86IHN0cmluZ1tdO1xuICAgIG9wdGlvbnM/OiBGaWVsZE1hc2tJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZURldGFpbGVkQ29udmVyc2F0aW9uSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzVjJSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZHM/OiBzdHJpbmdbXTtcbiAgICBleGNsdXNpb25zPzogRmllbGRNYXNrSW50ZXJmYWNlO1xuICAgIG9wdGlvbnM/OiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1YyUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNWMlJlc3BvbnNlRGV0YWlsZWRDb252ZXJzYXRpb25JbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VDb3VudHM/OiBDb252ZXJzYXRpb25NZXNzYWdlQ291bnRJbnRlcmZhY2VbXTtcbiAgICBjb3VudHM/OiB7W2tleTogc3RyaW5nXTogbnVtYmVyfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUV2ZW50c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGV2ZW50SWRzPzogc3RyaW5nW107XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlFdmVudHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZXZlbnRzPzogRXZlbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkcz86IHN0cmluZ1tdO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIGxhbmd1YWdlQ29kZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VzPzogTWVzc2FnZUludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRJZHM/OiBzdHJpbmdbXTtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aVdpZGdldFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHdpZGdldElkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHdpZGdldHM/OiBXaWRnZXRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRPd25lckVtYWlsUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc3ViamVjdFBhcnRpY2lwYW50PzogU3ViamVjdFBhcnRpY2lwYW50SW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE93bmVyRW1haWxSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZm9yd2FyZGluZ0VtYWlsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdEludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRLZXk/OiBQYXJ0aWNpcGFudEtleUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xuICAgIHBhcnRpY2lwYW50PzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gICAgdmlzaXREYXRhPzogV2lkZ2V0VmlzaXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgaXNFbmFibGVkPzogYm9vbGVhbjtcbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgICB0ZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYWNjZW50Q29sb3I/OiBzdHJpbmc7XG4gICAgYWNjZW50VGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNraXBDb250YWN0Q2FwdHVyZT86IGJvb2xlYW47XG4gICAgd2lkZ2V0VG9wU3BhY2U/OiBudW1iZXI7XG4gICAgYXNzaXN0YW50TmFtZT86IHN0cmluZztcbiAgICBhc3Npc3RhbnRBdmF0YXJVcmw/OiBzdHJpbmc7XG4gICAgcG9zaXRpb24/OiBlLldpZGdldFBvc2l0aW9uO1xuICAgIGhpZGVNb2JpbGVDdGE/OiBib29sZWFuO1xuICAgIGN1c3RvbUdyZWV0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBlbmFibGVHcmVldGluZ01lc3NhZ2U/OiBib29sZWFuO1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBwb3dlcmVkQnlOYW1lPzogc3RyaW5nO1xuICAgIHBvd2VyZWRCeVdlYnNpdGU/OiBzdHJpbmc7XG4gICAgc2hvd0Zvb3RlckNvbnRlbnQ/OiBib29sZWFuO1xuICAgIGdyZWV0aW5nTWVzc2FnZVR5cGU/OiBlLkdldFdpZGdldENvbmZpZ1Jlc3BvbnNlR3JlZXRpbmdNZXNzYWdlVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFdpZGdldFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHdpZGdldElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFdpZGdldFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB3aWRnZXQ/OiBXaWRnZXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEh5ZHJhdGlvbk9wdGlvbnNIeWRyYXRpb25FbnRpdHlJbnRlcmZhY2Uge1xuICAgIGVudGl0eVR5cGU/OiBlLkdldE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RIeWRyYXRpb25PcHRpb25zSHlkcmF0aW9uRW50aXR5RW50aXR5VHlwZTtcbiAgICBlbnRpdHlJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUh5ZHJhdGlvbkluZm9ybWF0aW9uSW50ZXJmYWNlIHtcbiAgICBhbGxGaWVsZHNIeWRyYXRlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEh5ZHJhdGlvbk9wdGlvbnNJbnRlcmZhY2Uge1xuICAgIGh5ZHJhdGlvbkVudGl0aWVzPzogR2V0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEh5ZHJhdGlvbk9wdGlvbnNIeWRyYXRpb25FbnRpdHlJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q29udmVyc2F0aW9uc1Jlc3BvbnNlSW5ib3hDb252ZXJzYXRpb25JbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBsYXRlc3RNZXNzYWdlPzogTWVzc2FnZUludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluamVjdE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgYm9keT86IHN0cmluZztcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIHR5cGU/OiBlLk1lc3NhZ2VUeXBlO1xuICAgIGxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIG1ldGFkYXRhPzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gICAgbWVkaWE/OiBNZWRpYUludGVyZmFjZVtdO1xuICAgIG5hbWVzcGFjZT86IE5hbWVzcGFjZURldGFpbEludGVyZmFjZTtcbiAgICBzb3VyY2VOYW1lPzogc3RyaW5nO1xuICAgIGNyZWF0ZWQ/OiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb21tdW5pY2F0aW9uQ2hhbm5lbHNJbmZvUmVxdWVzdEludGVyZmFjZSB7XG4gICAgYWNjb3VudEdyb3VwSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbW11bmljYXRpb25DaGFubmVsc0luZm9SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29tbXVuaWNhdGlvbkluZm8/OiBDb21tdW5pY2F0aW9uSW5mb0ludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmlsdGVyT3B0aW9ucz86IExpc3RDb252ZXJzYXRpb25FeHBvcnRzUmVxdWVzdEZpbHRlck9wdGlvbnNJbnRlcmZhY2U7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnZlcnNhdGlvbkV4cG9ydHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgcmVjb3JkPzogQ29udmVyc2F0aW9uRXhwb3J0UmVjb3JkSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnZlcnNhdGlvbnNGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBjaGFubmVscz86IGUuQ29udmVyc2F0aW9uQ2hhbm5lbFtdO1xuICAgIGlzT3Blbj86IGJvb2xlYW47XG4gICAgdW5yZWFkT25seT86IGJvb2xlYW47XG4gICAgYXdhaXRpbmdSZXNwb25zZU9ubHk/OiBib29sZWFuO1xuICAgIGlzQW5vbnltb3VzPzogYm9vbGVhbjtcbiAgICBhc3NpZ25lZVVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGFjY291bnRHcm91cElkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG4gICAgZmlsdGVycz86IExpc3RDb252ZXJzYXRpb25zRmlsdGVyc0ludGVyZmFjZTtcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9ucz86IExpc3RDb252ZXJzYXRpb25zUmVzcG9uc2VJbmJveENvbnZlcnNhdGlvbkludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBzdWJqZWN0UGFydGljaXBhbnQ/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2U7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB0ZW1wbGF0ZXM/OiBNZXNzYWdlVGVtcGxhdGVJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TWVzc2FnZXNSZXF1ZXN0TGlzdE1lc3NhZ2VzRmlsdGVyc0ludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgZmlsdGVycz86IExpc3RNZXNzYWdlc1JlcXVlc3RMaXN0TWVzc2FnZXNGaWx0ZXJzSW50ZXJmYWNlO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHN1bW1hcml6ZT86IGJvb2xlYW47XG4gICAgc3ViamVjdFBhcnRpY2lwYW50PzogU3ViamVjdFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xuICAgIGNyZWF0ZWRBZnRlcj86IERhdGU7XG4gICAgY3JlYXRlZEJlZm9yZT86IERhdGU7XG4gICAgZXZhbHVhdGlvblR5cGU/OiBlLkV2YWx1YXRlUmVzcG9uc2VUeXBlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgZXZhbHVhdGlvbnM/OiBSZXNwb25zZUV2YWx1YXRpb25JbnRlcmZhY2VbXTtcbiAgICBzdW1tYXJ5PzogTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZVN1bW1hcnlJbnRlcmZhY2U7XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFdpZGdldHNSZXF1ZXN0TGlzdFdpZGdldHNGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2VzPzogc3RyaW5nW107XG4gICAgd2lkZ2V0VHlwZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0V2lkZ2V0c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbiAgICBvcHRpb25zPzogTGlzdFdpZGdldHNSZXF1ZXN0TGlzdFdpZGdldHNGaWx0ZXJzSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RXaWRnZXRzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHdpZGdldHM/OiBXaWRnZXRJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdExvb2t1cENvbnZlcnNhdGlvbnNGaWx0ZXJzSW50ZXJmYWNlIHtcbiAgICBpbnRlcm5hbFBhcnRpY2lwYW50SWQ/OiBzdHJpbmdbXTtcbiAgICBsb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIGFjY291bnRHcm91cElkPzogc3RyaW5nO1xuICAgIGV4dGVybmFsQ29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gICAgb3JpZ2luTG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG4gICAgb3JpZ2luTG9jYXRpb25FeHRlcm5hbElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBmaWx0ZXJzPzogTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3RMb29rdXBDb252ZXJzYXRpb25zRmlsdGVyc0ludGVyZmFjZTtcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VDb252ZXJzYXRpb25zSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZVRvb2xDYWxsUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZU9wdGlvbj86IE1ha2VUb29sQ2FsbFJlcXVlc3RNZXNzYWdlT3B0aW9uSW50ZXJmYWNlO1xuICAgIHBheWxvYWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZVRvb2xDYWxsUmVzcG9uc2VJbnRlcmZhY2Uge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lZGlhSW50ZXJmYWNlIHtcbiAgICBtZWRpYUNvbnRlbnRUeXBlPzogc3RyaW5nO1xuICAgIG1lZGlhTG9jYXRpb25QYXRoPzogc3RyaW5nO1xuICAgIG1lZGlhRmlsZU5hbWU/OiBzdHJpbmc7XG4gICAgZmlsZVNpemU/OiBudW1iZXI7XG4gICAgbWVkaWFVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZVRvb2xDYWxsUmVxdWVzdE1lc3NhZ2VPcHRpb25JbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VJZD86IHN0cmluZztcbiAgICBzZWxlY3RlZE9wdGlvbklkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhSW50ZXJmYWNlIHtcbiAgICBpZGVudGlmaWVyPzogZS5NZXRhZGF0YUlkZW50aWZpZXI7XG4gICAgZGF0YT86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVNZXNzYWdlUmVxdWVzdE1ldGFkYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmplY3RNZXNzYWdlUmVxdWVzdE1ldGFkYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXdJbmJveExlYWRDYXB0dXJlZFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG5hbWVzcGFjZT86IHN0cmluZztcbiAgICBwYXJlbnROYW1lc3BhY2U/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uU3VtbWFyeT86IHN0cmluZztcbiAgICBjYXB0dXJlZExlYWQ/OiBDYXB0dXJlZExlYWRJbnRlcmZhY2U7XG4gICAgc291cmNlPzogc3RyaW5nO1xuICAgIGNhcHR1cmVkQXQ/OiBEYXRlO1xuICAgIG1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgaW5pdGlhdG9ySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV3SW5ib3hMZWFkQ2FwdHVyZWRSZXNwb25zZUludGVyZmFjZSB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSB7XG4gICAgY3Vyc29yPzogc3RyaW5nO1xuICAgIHBhZ2VTaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZSB7XG4gICAgbmV4dEN1cnNvcj86IHN0cmluZztcbiAgICBoYXNNb3JlPzogYm9vbGVhbjtcbiAgICB0b3RhbFJlc3VsdHM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBzZW5kZXJJZD86IHN0cmluZztcbiAgICByZWNpcGllbnRJZD86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgYm9keT86IHN0cmluZztcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIHR5cGU/OiBlLk1lc3NhZ2VUeXBlO1xuICAgIGxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIHBhcnRuZXJJZD86IHN0cmluZztcbiAgICBhY2NvdW50R3JvdXBJZD86IHN0cmluZztcbiAgICBtZXRhZGF0YT86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xuICAgIG1lZGlhPzogc3RyaW5nW107XG4gICAgbmFtZXNwYWNlPzogTmFtZXNwYWNlRGV0YWlsSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSB7XG4gICAgdmlld0lkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRuZXJJZD86IHN0cmluZztcbiAgICBhY2NvdW50R3JvdXBJZD86IHN0cmluZztcbiAgICBsb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBzZWFyY2hUZXJtPzogc3RyaW5nO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9ucz86IFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZURldGFpbGVkQ29udmVyc2F0aW9uSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1lc3NhZ2VPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBydW5TeW5jPzogYm9vbGVhbjtcbiAgICBza2lwTWVzc2FnZURlbGl2ZXJ5PzogYm9vbGVhbjtcbiAgICBhaU1vZGU/OiBlLkFJTW9kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHNlbmRlcj86IFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIHJlY2lwaWVudD86IFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHR5cGU/OiBlLk1lc3NhZ2VUeXBlO1xuICAgIGJvZHk/OiBzdHJpbmc7XG4gICAgbWV0YWRhdGE/OiBNZXRhZGF0YUludGVyZmFjZVtdO1xuICAgIG9yaWdpbkxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIG1lZGlhPzogTWVkaWFJbnRlcmZhY2VbXTtcbiAgICBjaGFubmVsPzogZS5Db252ZXJzYXRpb25DaGFubmVsO1xuICAgIG9wdGlvbnM/OiBTZW5kTWVzc2FnZU9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd29ya2Zsb3dJZD86IHN0cmluZztcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0eXBlPzogZS5NZXNzYWdlVHlwZTtcbiAgICBib2R5Pzogc3RyaW5nO1xuICAgIG1ldGFkYXRhPzogTWV0YWRhdGFJbnRlcmZhY2VbXTtcbiAgICBsb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0PzogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXRMYXN0U2VlblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50PzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG4gICAgc3RhdHVzPzogZS5TZXRMYXN0U2VlblJlcXVlc3RTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnQ/OiBQYXJ0aWNpcGFudEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlU3VtbWFyeUludGVyZmFjZSB7XG4gICAgZmVlZGJhY2tUaGVtZXM/OiBMaXN0UmVzcG9uc2VFdmFsdWF0aW9uc1Jlc3BvbnNlU3VtbWFyeVRoZW1lSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFJlc3BvbnNlRXZhbHVhdGlvbnNSZXNwb25zZVN1bW1hcnlUaGVtZUludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBleGFtcGxlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBmaWVsZE1hc2s/OiBGaWVsZE1hc2tJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG4gICAgc3RhdHVzPzogZS5NZXNzYWdlU3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlO1xuICAgIGZpZWxkTWFzaz86IEZpZWxkTWFza0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdGVtcGxhdGU/OiBNZXNzYWdlVGVtcGxhdGVJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBhbGxvd2VkVXJscz86IHN0cmluZ1tdO1xuICAgIHdlbGNvbWVNZXNzYWdlPzogc3RyaW5nO1xuICAgIGlzRW5hYmxlZD86IGJvb2xlYW47XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIGFjY2VudENvbG9yPzogc3RyaW5nO1xuICAgIGFjY2VudFRleHRDb2xvcj86IHN0cmluZztcbiAgICBza2lwQ29udGFjdENhcHR1cmU/OiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxQcm9tcHRJbnN0cnVjdGlvbnM/OiBzdHJpbmc7XG4gICAgYXNzaXN0YW50TmFtZT86IHN0cmluZztcbiAgICBhc3Npc3RhbnRBdmF0YXJVcmw/OiBzdHJpbmc7XG4gICAgcG9zaXRpb24/OiBlLldpZGdldFBvc2l0aW9uO1xuICAgIGhpZGVNb2JpbGVDdGE/OiBib29sZWFuO1xuICAgIGN1c3RvbUdyZWV0aW5nTWVzc2FnZT86IHN0cmluZztcbiAgICBlbmFibGVHcmVldGluZ01lc3NhZ2U/OiBib29sZWFuO1xuICAgIGZpZWxkTWFzaz86IEZpZWxkTWFza0ludGVyZmFjZTtcbiAgICBhc3Npc3RhbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd2lkZ2V0PzogV2lkZ2V0SW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydENvbmZpZ3VyYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbkludGVyZmFjZTtcbiAgICBmaWVsZE1hc2s/OiBGaWVsZE1hc2tJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZXJ0Q29uZmlndXJhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbkludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcHNlcnRQcm9kdWN0RmVhdHVyZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHByb2R1Y3RGZWF0dXJlPzogUHJvZHVjdEZlYXR1cmVJbnRlcmZhY2U7XG4gICAgZmllbGRNYXNrPzogRmllbGRNYXNrSW50ZXJmYWNlO1xuICAgIHN1YmplY3RQYXJ0aWNpcGFudD86IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcHNlcnRQcm9kdWN0RmVhdHVyZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBwcm9kdWN0RmVhdHVyZT86IFByb2R1Y3RGZWF0dXJlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldFZpc2l0SW50ZXJmYWNlIHtcbiAgICB2aXNpdG9ySWQ/OiBzdHJpbmc7XG4gICAgdmlzaXRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRMb2NhdGlvbkludGVyZmFjZSB7XG4gICAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICAgIGJ1c2luZXNzTmFtZT86IHN0cmluZztcbiAgICBhZGRyZXNzPzogc3RyaW5nO1xuICAgIGFkZHJlc3MyPzogc3RyaW5nO1xuICAgIGNpdHk/OiBzdHJpbmc7XG4gICAgc3RhdGU/OiBzdHJpbmc7XG4gICAgemlwPzogc3RyaW5nO1xuICAgIGNvdW50cnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFdpZGdldExvY2F0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHdpZGdldElkPzogc3RyaW5nO1xuICAgIGN1cnNvcj86IHN0cmluZztcbiAgICBwYWdlU2l6ZT86IG51bWJlcjtcbiAgICBxdWVyeT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0V2lkZ2V0TG9jYXRpb25zUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGxvY2F0aW9ucz86IFdpZGdldExvY2F0aW9uSW50ZXJmYWNlW107XG4gICAgbmV4dEN1cnNvcj86IHN0cmluZztcbiAgICBoYXNNb3JlPzogYm9vbGVhbjtcbn1cblxuIl19