@vendasta/conversation 0.49.0 → 0.50.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.
- package/esm2020/lib/_internal/conversation.api.service.mjs +3 -3
- package/esm2020/lib/_internal/interfaces/api.interface.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/message-template.interface.mjs +1 -1
- package/esm2020/lib/_internal/objects/api.mjs +1 -1
- package/esm2020/lib/_internal/objects/message-template.mjs +7 -1
- package/fesm2015/vendasta-conversation.mjs +6 -0
- package/fesm2015/vendasta-conversation.mjs.map +1 -1
- package/fesm2020/vendasta-conversation.mjs +6 -0
- package/fesm2020/vendasta-conversation.mjs.map +1 -1
- package/lib/_internal/conversation.api.service.d.ts +2 -2
- package/lib/_internal/interfaces/message-template.interface.d.ts +1 -0
- package/lib/_internal/objects/message-template.d.ts +1 -0
- package/package.json +1 -1
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// API Service.
|
|
6
6
|
// *********************************
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
|
-
import { AddConversationToConversationViewRequest, AddMultiParticipantsRequest, AddMultiParticipantsResponse, CreateConversationRequest, CreateConversationResponse, CreateMessageTemplateRequest, CreateMessageTemplateResponse, CreateMultiMessagesRequest, CreateWidgetConversationRequest, CreateWidgetConversationResponse, CreateWidgetRequest, CreateWidgetResponse, DeleteConversationRequest, DeleteMessageRequest, DeleteMessageTemplateRequest, DeleteWidgetRequest, GetAvailableChannelsForConversationRequest, GetAvailableChannelsForConversationResponse, GetConversationByKeyRequest, GetConversationByKeyResponse, GetConversationViewsRequest, GetConversationViewsResponse, GetMessageRequest, GetMultiConversationDetailsRequest, GetMultiConversationDetailsResponse, GetMultiConversationMessageCountRequest, GetMultiConversationMessageCountResponse, GetMultiMessagesRequest, GetMultiMessagesResponse, GetMultiParticipantsRequest, GetMultiParticipantsResponse, GetMultiWidgetMessagesRequest, GetMultiWidgetMessagesResponse, GetParticipantsByKeyRequest, GetParticipantsByKeyResponse, GetWidgetConfigRequest, GetWidgetConfigResponse, GetWidgetConversationResponse, GetWidgetRequest, GetWidgetResponse,
|
|
9
|
-
import {
|
|
8
|
+
import { AddConversationToConversationViewRequest, AddMultiParticipantsRequest, AddMultiParticipantsResponse, CreateConversationRequest, CreateConversationResponse, CreateMessageTemplateRequest, CreateMessageTemplateResponse, CreateMultiMessagesRequest, CreateWidgetConversationRequest, CreateWidgetConversationResponse, CreateWidgetRequest, CreateWidgetResponse, DeleteConversationRequest, DeleteMessageRequest, DeleteMessageTemplateRequest, DeleteWidgetRequest, GetAvailableChannelsForConversationRequest, GetAvailableChannelsForConversationResponse, GetConversationByKeyRequest, GetConversationByKeyResponse, GetConversationViewsRequest, GetConversationViewsResponse, GetMessageRequest, GetMultiConversationDetailsRequest, GetMultiConversationDetailsResponse, GetMultiConversationMessageCountRequest, GetMultiConversationMessageCountResponse, GetMultiMessagesRequest, GetMultiMessagesResponse, GetMultiParticipantsRequest, GetMultiParticipantsResponse, GetMultiWidgetMessagesRequest, GetMultiWidgetMessagesResponse, GetParticipantsByKeyRequest, GetParticipantsByKeyResponse, GetWidgetConfigRequest, GetWidgetConfigResponse, GetWidgetConversationResponse, GetWidgetRequest, GetWidgetResponse, ListMessagesRequest, ListMessagesResponse, ListMessageTemplateRequest, ListMessageTemplateResponse, ListWidgetsRequest, ListWidgetsResponse, LookupConversationsRequest, LookupConversationsResponse, Message, ReceiveMessageRequest, RemoveConversationFromConversationViewRequest, SearchConversationsRequest, SearchConversationsResponse, SendMessageRequest, SendMessageResponse, SendWidgetMessageRequest, SendWidgetMessageResponse, SetLastSeenRequest, SetLastSeenResponse, UpdateMessageStatusRequest, UpdateMessageTemplateRequest, UpdateMessageTemplateResponse, UpdateWidgetRequest, UpdateWidgetResponse, } from './objects/';
|
|
9
|
+
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
|
10
10
|
import { HostService } from '../_generated/host.service';
|
|
11
11
|
import { map } from 'rxjs/operators';
|
|
12
12
|
import * as i0 from "@angular/core";
|
|
@@ -208,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
208
208
|
type: Injectable,
|
|
209
209
|
args: [{ providedIn: 'root' }]
|
|
210
210
|
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.HostService }]; } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29udmVyc2F0aW9uX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jb252ZXJzYXRpb24uYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0Msd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsbUJBQW1CLEVBQ25CLDBDQUEwQyxFQUMxQywyQ0FBMkMsRUFDM0MsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNqQixrQ0FBa0MsRUFDbEMsbUNBQW1DLEVBQ25DLHVDQUF1QyxFQUN2Qyx3Q0FBd0MsRUFDeEMsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLDBCQUEwQixFQUMxQiwyQkFBMkIsRUFDM0IsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsbUJBQW1C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QUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNWLENBQUM7O29IQXJQUSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQURWLE1BQU07NEZBQ2xCLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdCxcbiAgICAgICAgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0LFxuICAgICAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgICAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0UmVzcG9uc2UsXG4gICAgICAgIERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgICAgIERlbGV0ZU1lc3NhZ2VSZXF1ZXN0LFxuICAgICAgICBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBEZWxldGVXaWRnZXRSZXF1ZXN0LFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgICAgIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdCxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0LFxuICAgICAgICBHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlLFxuICAgICAgICBHZXRNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3QsXG4gICAgICAgIEdldE11bHRpTWVzc2FnZXNSZXNwb25zZSxcbiAgICAgICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0LFxuICAgICAgICBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLFxuICAgICAgICBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdCxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlLFxuICAgICAgICBHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3QsXG4gICAgICAgIEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2UsXG4gICAgICAgIEdldFdpZGdldENvbmZpZ1JlcXVlc3QsXG4gICAgICAgIEdldFdpZGdldENvbmZpZ1Jlc3BvbnNlLFxuICAgICAgICBHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZSxcbiAgICAgICAgR2V0V2lkZ2V0UmVxdWVzdCxcbiAgICAgICAgR2V0V2lkZ2V0UmVzcG9uc2UsXG4gICAgICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgICAgICBMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIExpc3RNZXNzYWdlc1JlcXVlc3QsXG4gICAgICAgIExpc3RNZXNzYWdlc1Jlc3BvbnNlLFxuICAgICAgICBMaXN0V2lkZ2V0c1JlcXVlc3QsXG4gICAgICAgIExpc3RXaWRnZXRzUmVzcG9uc2UsXG4gICAgICAgIExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0LFxuICAgICAgICBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2UsXG4gICAgICAgIE1lc3NhZ2UsXG4gICAgICAgIFJlY2VpdmVNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0LFxuICAgICAgICBTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdCxcbiAgICAgICAgU2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlLFxuICAgICAgICBTZW5kTWVzc2FnZVJlcXVlc3QsXG4gICAgICAgIFNlbmRNZXNzYWdlUmVzcG9uc2UsXG4gICAgICAgIFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdCxcbiAgICAgICAgU2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZSxcbiAgICAgICAgU2V0TGFzdFNlZW5SZXF1ZXN0LFxuICAgICAgICBTZXRMYXN0U2VlblJlc3BvbnNlLFxuICAgICAgICBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICAgICAgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UsXG4gICAgICAgIFVwZGF0ZVdpZGdldFJlcXVlc3QsXG4gICAgICAgIFVwZGF0ZVdpZGdldFJlc3BvbnNlLFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIENyZWF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBEZWxldGVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgRGVsZXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRDb25maWdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBHZXRXaWRnZXRDb25maWdSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgR2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIEdldFdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIEdldFdpZGdldFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMaXN0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBMaXN0V2lkZ2V0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBNZXNzYWdlSW50ZXJmYWNlLFxuICAgICAgICBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgU2VuZE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBTZW5kTWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgICAgIFNldExhc3RTZWVuUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgU2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZSxcbiAgICAgICAgVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgICAgIFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgICAgICBVcGRhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBDb252ZXJzYXRpb25BcGlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9ob3N0ID0gdGhpcy5ob3N0U2VydmljZS5ob3N0V2l0aFNjaGVtZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBob3N0U2VydmljZTogSG9zdFNlcnZpY2UpIHtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwaU9wdGlvbnMoKToge2hlYWRlcnM6IEh0dHBIZWFkZXJzLCB3aXRoQ3JlZGVudGlhbHM6IGJvb2xlYW59IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWVcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzZW5kTWVzc2FnZShyOiBTZW5kTWVzc2FnZVJlcXVlc3QgfCBTZW5kTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNlbmRNZXNzYWdlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlbmRNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZW5kTWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgU2VuZE1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2VuZE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1NlbmRNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU2VuZE1lc3NhZ2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNZXNzYWdlKHI6IEdldE1lc3NhZ2VSZXF1ZXN0IHwgR2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPE1lc3NhZ2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IEdldE1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TWVzc2FnZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBNZXNzYWdlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RNZXNzYWdlcyhyOiBMaXN0TWVzc2FnZXNSZXF1ZXN0IHwgTGlzdE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdE1lc3NhZ2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPExpc3RNZXNzYWdlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdE1lc3NhZ2VzUmVxdWVzdD5yKSA6IG5ldyBMaXN0TWVzc2FnZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8TGlzdE1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0TWVzc2FnZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0TWVzc2FnZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGVNZXNzYWdlKHI6IERlbGV0ZU1lc3NhZ2VSZXF1ZXN0IHwgRGVsZXRlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlTWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlTWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlTWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRGVsZXRlTWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgdXBkYXRlTWVzc2FnZVN0YXR1cyhyOiBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdCB8IFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZU1lc3NhZ2VTdGF0dXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1VwZGF0ZU1lc3NhZ2VTdGF0dXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxvb2t1cENvbnZlcnNhdGlvbnMocjogTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3QgfCBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdD5yKSA6IG5ldyBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xvb2t1cENvbnZlcnNhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0Q29udmVyc2F0aW9uQnlLZXkocjogR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0IHwgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0PnIpIDogbmV3IEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRDb252ZXJzYXRpb25CeUtleVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlQ29udmVyc2F0aW9uKHI6IENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3QgfCBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZUNvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZUNvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZUNvbnZlcnNhdGlvbihyOiBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0IHwgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9EZWxldGVDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHJlY2VpdmVNZXNzYWdlKHI6IFJlY2VpdmVNZXNzYWdlUmVxdWVzdCB8IFJlY2VpdmVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZWNlaXZlTWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IFJlY2VpdmVNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9SZWNlaXZlTWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0TXVsdGlNZXNzYWdlcyhyOiBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdCB8IEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpTWVzc2FnZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlNZXNzYWdlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpTWVzc2FnZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBjcmVhdGVNdWx0aU1lc3NhZ2VzKHI6IENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0IHwgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlTXVsdGlNZXNzYWdlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgZ2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzKHI6IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3QgfCBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpUGFydGljaXBhbnRzKHI6IEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdCB8IEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlQYXJ0aWNpcGFudHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNlYXJjaENvbnZlcnNhdGlvbnMocjogU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3QgfCBTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdD5yKSA6IG5ldyBTZWFyY2hDb252ZXJzYXRpb25zUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1NlYXJjaENvbnZlcnNhdGlvbnNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnQocjogR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0IHwgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgYWRkTXVsdGlQYXJ0aWNpcGFudHMocjogQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0IHwgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8QWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0PnIpIDogbmV3IEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9BZGRNdWx0aVBhcnRpY2lwYW50c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2V0TGFzdFNlZW4ocjogU2V0TGFzdFNlZW5SZXF1ZXN0IHwgU2V0TGFzdFNlZW5SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZXRMYXN0U2VlblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZXRMYXN0U2VlblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2V0TGFzdFNlZW5SZXF1ZXN0PnIpIDogbmV3IFNldExhc3RTZWVuUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNldExhc3RTZWVuUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZXRMYXN0U2VlblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNldExhc3RTZWVuUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0UGFydGljaXBhbnRzQnlLZXkocjogR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0IHwgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0PnIpIDogbmV3IEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRQYXJ0aWNpcGFudHNCeUtleVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0Q29udmVyc2F0aW9uVmlld3MocjogR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0IHwgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0PnIpIDogbmV3IEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRDb252ZXJzYXRpb25WaWV3c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgYWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3KHI6IEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3QgfCBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8QWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdD5yKSA6IG5ldyBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0FkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgcmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXcocjogUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0IHwgUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3Q+cikgOiBuZXcgUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1JlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBjcmVhdGVXaWRnZXRDb252ZXJzYXRpb24ocjogQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdCB8IENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gQ3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TXVsdGlXaWRnZXRNZXNzYWdlcyhyOiBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdCB8IEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0PnIpIDogbmV3IEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBzZW5kV2lkZ2V0TWVzc2FnZShyOiBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3QgfCBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3Q+cikgOiBuZXcgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1NlbmRXaWRnZXRNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRXaWRnZXRDb252ZXJzYXRpb24oKTogT2JzZXJ2YWJsZTxHZXRXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRXaWRnZXRDb252ZXJzYXRpb25cIiwge30sIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb24ocjogR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0IHwgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlV2lkZ2V0KHI6IENyZWF0ZVdpZGdldFJlcXVlc3QgfCBDcmVhdGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVXaWRnZXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlV2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVXaWRnZXRSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVdpZGdldFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVdpZGdldFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFdpZGdldChyOiBHZXRXaWRnZXRSZXF1ZXN0IHwgR2V0V2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0V2lkZ2V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0V2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBHZXRXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0V2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRXaWRnZXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVXaWRnZXQocjogVXBkYXRlV2lkZ2V0UmVxdWVzdCB8IFVwZGF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZVdpZGdldFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZVdpZGdldFJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlV2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlV2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlV2lkZ2V0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlV2lkZ2V0KHI6IERlbGV0ZVdpZGdldFJlcXVlc3QgfCBEZWxldGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZVdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlV2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBEZWxldGVXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgbGlzdFdpZGdldHMocjogTGlzdFdpZGdldHNSZXF1ZXN0IHwgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxMaXN0V2lkZ2V0c1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0V2lkZ2V0c1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdFdpZGdldHNSZXF1ZXN0PnIpIDogbmV3IExpc3RXaWRnZXRzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RXaWRnZXRzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0V2lkZ2V0c1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IExpc3RXaWRnZXRzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0V2lkZ2V0Q29uZmlnKHI6IEdldFdpZGdldENvbmZpZ1JlcXVlc3QgfCBHZXRXaWRnZXRDb25maWdSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxHZXRXaWRnZXRDb25maWdSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0V2lkZ2V0Q29uZmlnUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRXaWRnZXRDb25maWdSZXF1ZXN0PnIpIDogbmV3IEdldFdpZGdldENvbmZpZ1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRXaWRnZXRDb25maWdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldFdpZGdldENvbmZpZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFdpZGdldENvbmZpZ1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGxpc3RNZXNzYWdlVGVtcGxhdGUocjogTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0xpc3RNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlTWVzc2FnZVRlbXBsYXRlKHI6IERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8RGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlTWVzc2FnZVRlbXBsYXRlKHI6IENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3QgfCBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZShyOiBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8VXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8VXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9VcGRhdGVNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cbiJdfQ==
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLmFwaS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vY29udmVyc2F0aW9uX3Nkay9zcmMvbGliL19pbnRlcm5hbC9jb252ZXJzYXRpb24uYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGVBQWU7QUFDZixvQ0FBb0M7QUFDcEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQ0gsd0NBQXdDLEVBQ3hDLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQiw0QkFBNEIsRUFDNUIsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiwrQkFBK0IsRUFDL0IsZ0NBQWdDLEVBQ2hDLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQiw0QkFBNEIsRUFDNUIsbUJBQW1CLEVBQ25CLDBDQUEwQyxFQUMxQywyQ0FBMkMsRUFDM0MsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLGlCQUFpQixFQUNqQixrQ0FBa0MsRUFDbEMsbUNBQW1DLEVBQ25DLHVDQUF1QyxFQUN2Qyx3Q0FBd0MsRUFDeEMsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM3Qiw4QkFBOEIsRUFDOUIsMkJBQTJCLEVBQzNCLDRCQUE0QixFQUM1QixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLDZCQUE2QixFQUM3QixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsMEJBQTBCLEVBQzFCLDJCQUEyQixFQUMzQixrQkFBa0IsRUFDbEIsbUJBQW1C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QUFDLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDN0QsQ0FBQztJQUNWLENBQUM7O29IQXJQUSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQURWLE1BQU07NEZBQ2xCLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0LFxuICAgIEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdCxcbiAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLFxuICAgIENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3QsXG4gICAgQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCxcbiAgICBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZSxcbiAgICBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdCxcbiAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgIENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlLFxuICAgIENyZWF0ZVdpZGdldFJlcXVlc3QsXG4gICAgQ3JlYXRlV2lkZ2V0UmVzcG9uc2UsXG4gICAgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdCxcbiAgICBEZWxldGVNZXNzYWdlUmVxdWVzdCxcbiAgICBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgIERlbGV0ZVdpZGdldFJlcXVlc3QsXG4gICAgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0LFxuICAgIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0LFxuICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2UsXG4gICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0LFxuICAgIEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2UsXG4gICAgR2V0TWVzc2FnZVJlcXVlc3QsXG4gICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdCxcbiAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZSxcbiAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3QsXG4gICAgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZSxcbiAgICBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdCxcbiAgICBHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0LFxuICAgIEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3QsXG4gICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlLFxuICAgIEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdCxcbiAgICBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlLFxuICAgIEdldFdpZGdldENvbmZpZ1JlcXVlc3QsXG4gICAgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2UsXG4gICAgR2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2UsXG4gICAgR2V0V2lkZ2V0UmVxdWVzdCxcbiAgICBHZXRXaWRnZXRSZXNwb25zZSxcbiAgICBMaXN0TWVzc2FnZXNSZXF1ZXN0LFxuICAgIExpc3RNZXNzYWdlc1Jlc3BvbnNlLFxuICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZSxcbiAgICBMaXN0V2lkZ2V0c1JlcXVlc3QsXG4gICAgTGlzdFdpZGdldHNSZXNwb25zZSxcbiAgICBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdCxcbiAgICBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2UsXG4gICAgTWVzc2FnZSxcbiAgICBSZWNlaXZlTWVzc2FnZVJlcXVlc3QsXG4gICAgUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0LFxuICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0LFxuICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZSxcbiAgICBTZW5kTWVzc2FnZVJlcXVlc3QsXG4gICAgU2VuZE1lc3NhZ2VSZXNwb25zZSxcbiAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3QsXG4gICAgU2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZSxcbiAgICBTZXRMYXN0U2VlblJlcXVlc3QsXG4gICAgU2V0TGFzdFNlZW5SZXNwb25zZSxcbiAgICBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdCxcbiAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0LFxuICAgIFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLFxuICAgIFVwZGF0ZVdpZGdldFJlcXVlc3QsXG4gICAgVXBkYXRlV2lkZ2V0UmVzcG9uc2UsXG59IGZyb20gJy4vb2JqZWN0cy8nO1xuaW1wb3J0IHtcbiAgICBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENyZWF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ3JlYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldENvbnZlcnNhdGlvbkJ5S2V5UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldENvbnZlcnNhdGlvblZpZXdzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFdpZGdldENvbmZpZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0V2lkZ2V0UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRXaWRnZXRSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0TWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0V2lkZ2V0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdFdpZGdldHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTWVzc2FnZUludGVyZmFjZSxcbiAgICBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICBTZW5kTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VuZE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VuZFdpZGdldE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBTZXRMYXN0U2VlblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2V0TGFzdFNlZW5SZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFVwZGF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2UsXG59IGZyb20gJy4vaW50ZXJmYWNlcy8nO1xuaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuLi9fZ2VuZXJhdGVkL2hvc3Quc2VydmljZSc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSBfaG9zdCA9IHRoaXMuaG9zdFNlcnZpY2UuaG9zdFdpdGhTY2hlbWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgaG9zdFNlcnZpY2U6IEhvc3RTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgc2VuZE1lc3NhZ2UocjogU2VuZE1lc3NhZ2VSZXF1ZXN0IHwgU2VuZE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZW5kTWVzc2FnZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZW5kTWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZE1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IFNlbmRNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlbmRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZW5kTWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNlbmRNZXNzYWdlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0TWVzc2FnZShyOiBHZXRNZXNzYWdlUmVxdWVzdCB8IEdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxNZXNzYWdlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNZXNzYWdlUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBHZXRNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE1lc3NhZ2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNZXNzYWdlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTWVzc2FnZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0TWVzc2FnZXMocjogTGlzdE1lc3NhZ2VzUmVxdWVzdCB8IExpc3RNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RNZXNzYWdlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxMaXN0TWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RNZXNzYWdlc1JlcXVlc3Q+cikgOiBuZXcgTGlzdE1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PExpc3RNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTGlzdE1lc3NhZ2VzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdE1lc3NhZ2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlTWVzc2FnZShyOiBEZWxldGVNZXNzYWdlUmVxdWVzdCB8IERlbGV0ZU1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPERlbGV0ZU1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZU1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IERlbGV0ZU1lc3NhZ2VSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0RlbGV0ZU1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHVwZGF0ZU1lc3NhZ2VTdGF0dXMocjogVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3QgfCBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdD5yKSA6IG5ldyBVcGRhdGVNZXNzYWdlU3RhdHVzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9VcGRhdGVNZXNzYWdlU3RhdHVzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICBsb29rdXBDb252ZXJzYXRpb25zKHI6IExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0IHwgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikgOiBuZXcgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9Mb29rdXBDb252ZXJzYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTG9va3VwQ29udmVyc2F0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldENvbnZlcnNhdGlvbkJ5S2V5KHI6IEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdCB8IEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldENvbnZlcnNhdGlvbkJ5S2V5UmVxdWVzdD5yKSA6IG5ldyBHZXRDb252ZXJzYXRpb25CeUtleVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0Q29udmVyc2F0aW9uQnlLZXlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRDb252ZXJzYXRpb25CeUtleVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZUNvbnZlcnNhdGlvbihyOiBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0IHwgQ3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZUNvbnZlcnNhdGlvblJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVDb252ZXJzYXRpb25SZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBkZWxldGVDb252ZXJzYXRpb24ocjogRGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdCB8IERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8RGVsZXRlQ29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IERlbGV0ZUNvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvRGVsZXRlQ29udmVyc2F0aW9uXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHsuLi50aGlzLmFwaU9wdGlvbnMoKSwgb2JzZXJ2ZTogJ3Jlc3BvbnNlJ30pO1xuICAgIH1cbiAgICByZWNlaXZlTWVzc2FnZShyOiBSZWNlaXZlTWVzc2FnZVJlcXVlc3QgfCBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEh0dHBSZXNwb25zZTxudWxsPj4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8UmVjZWl2ZU1lc3NhZ2VSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFJlY2VpdmVNZXNzYWdlUmVxdWVzdD5yKSA6IG5ldyBSZWNlaXZlTWVzc2FnZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxudWxsPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvUmVjZWl2ZU1lc3NhZ2VcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldE11bHRpTWVzc2FnZXMocjogR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3QgfCBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aU1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpTWVzc2FnZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpTWVzc2FnZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aU1lc3NhZ2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgY3JlYXRlTXVsdGlNZXNzYWdlcyhyOiBDcmVhdGVNdWx0aU1lc3NhZ2VzUmVxdWVzdCB8IENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxIdHRwUmVzcG9uc2U8bnVsbD4+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0PnIpIDogbmV3IENyZWF0ZU11bHRpTWVzc2FnZXNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8bnVsbD4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZU11bHRpTWVzc2FnZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlscyhyOiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0IHwgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpQ29udmVyc2F0aW9uRGV0YWlsc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRNdWx0aVBhcnRpY2lwYW50cyhyOiBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3QgfCBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldE11bHRpUGFydGljaXBhbnRzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Q+cikgOiBuZXcgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpUGFydGljaXBhbnRzXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBzZWFyY2hDb252ZXJzYXRpb25zKHI6IFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0IHwgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFNlYXJjaENvbnZlcnNhdGlvbnNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3Q+cikgOiBuZXcgU2VhcmNoQ29udmVyc2F0aW9uc1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZWFyY2hDb252ZXJzYXRpb25zXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gU2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50KHI6IEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdCB8IEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldE11bHRpQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50UmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGFkZE11bHRpUGFydGljaXBhbnRzKHI6IEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdCB8IEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8QWRkTXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8QWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEFkZE11bHRpUGFydGljaXBhbnRzUmVxdWVzdD5yKSA6IG5ldyBBZGRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvQWRkTXVsdGlQYXJ0aWNpcGFudHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBBZGRNdWx0aVBhcnRpY2lwYW50c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIHNldExhc3RTZWVuKHI6IFNldExhc3RTZWVuUmVxdWVzdCB8IFNldExhc3RTZWVuUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8U2V0TGFzdFNlZW5SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8U2V0TGFzdFNlZW5SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFNldExhc3RTZWVuUmVxdWVzdD5yKSA6IG5ldyBTZXRMYXN0U2VlblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTZXRMYXN0U2VlblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvU2V0TGFzdFNlZW5cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBTZXRMYXN0U2VlblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFBhcnRpY2lwYW50c0J5S2V5KHI6IEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdCB8IEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0UGFydGljaXBhbnRzQnlLZXlSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFBhcnRpY2lwYW50c0J5S2V5UmVxdWVzdD5yKSA6IG5ldyBHZXRQYXJ0aWNpcGFudHNCeUtleVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0UGFydGljaXBhbnRzQnlLZXlcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRQYXJ0aWNpcGFudHNCeUtleVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldENvbnZlcnNhdGlvblZpZXdzKHI6IEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdCB8IEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0Q29udmVyc2F0aW9uVmlld3NSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0Q29udmVyc2F0aW9uVmlld3NSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdD5yKSA6IG5ldyBHZXRDb252ZXJzYXRpb25WaWV3c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0Q29udmVyc2F0aW9uVmlld3NcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlldyhyOiBBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0IHwgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxBZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEFkZENvbnZlcnNhdGlvblRvQ29udmVyc2F0aW9uVmlld1JlcXVlc3Q+cikgOiBuZXcgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9BZGRDb252ZXJzYXRpb25Ub0NvbnZlcnNhdGlvblZpZXdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIHJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3KHI6IFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdCB8IFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8UmVtb3ZlQ29udmVyc2F0aW9uRnJvbUNvbnZlcnNhdGlvblZpZXdSZXF1ZXN0PnIpIDogbmV3IFJlbW92ZUNvbnZlcnNhdGlvbkZyb21Db252ZXJzYXRpb25WaWV3UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9SZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB7Li4udGhpcy5hcGlPcHRpb25zKCksIG9ic2VydmU6ICdyZXNwb25zZSd9KTtcbiAgICB9XG4gICAgY3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uKHI6IENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3QgfCBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8Q3JlYXRlV2lkZ2V0Q29udmVyc2F0aW9uUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0PnIpIDogbmV3IENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0NyZWF0ZVdpZGdldENvbnZlcnNhdGlvblwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldE11bHRpV2lkZ2V0TWVzc2FnZXMocjogR2V0TXVsdGlXaWRnZXRNZXNzYWdlc1JlcXVlc3QgfCBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0TXVsdGlXaWRnZXRNZXNzYWdlc1Jlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdD5yKSA6IG5ldyBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL0dldE11bHRpV2lkZ2V0TWVzc2FnZXNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgc2VuZFdpZGdldE1lc3NhZ2UocjogU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0IHwgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxTZW5kV2lkZ2V0TWVzc2FnZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8U2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0PnIpIDogbmV3IFNlbmRXaWRnZXRNZXNzYWdlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9TZW5kV2lkZ2V0TWVzc2FnZVwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFNlbmRXaWRnZXRNZXNzYWdlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgZ2V0V2lkZ2V0Q29udmVyc2F0aW9uKCk6IE9ic2VydmFibGU8R2V0V2lkZ2V0Q29udmVyc2F0aW9uUmVzcG9uc2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0V2lkZ2V0Q29udmVyc2F0aW9uXCIsIHt9LCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uKHI6IEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdCB8IEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8R2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdD5yKSA6IG5ldyBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25cIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRBdmFpbGFibGVDaGFubmVsc0ZvckNvbnZlcnNhdGlvblJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGNyZWF0ZVdpZGdldChyOiBDcmVhdGVXaWRnZXRSZXF1ZXN0IHwgQ3JlYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlV2lkZ2V0UmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVdpZGdldFJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlV2lkZ2V0UmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVXaWRnZXRSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlV2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVXaWRnZXRSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBnZXRXaWRnZXQocjogR2V0V2lkZ2V0UmVxdWVzdCB8IEdldFdpZGdldFJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPEdldFdpZGdldFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxHZXRXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPEdldFdpZGdldFJlcXVlc3Q+cikgOiBuZXcgR2V0V2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PEdldFdpZGdldFJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvR2V0V2lkZ2V0XCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gR2V0V2lkZ2V0UmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgdXBkYXRlV2lkZ2V0KHI6IFVwZGF0ZVdpZGdldFJlcXVlc3QgfCBVcGRhdGVXaWRnZXRSZXF1ZXN0SW50ZXJmYWNlKTogT2JzZXJ2YWJsZTxVcGRhdGVXaWRnZXRSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8VXBkYXRlV2lkZ2V0UmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxVcGRhdGVXaWRnZXRSZXF1ZXN0PnIpIDogbmV3IFVwZGF0ZVdpZGdldFJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxVcGRhdGVXaWRnZXRSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL2NvbnZlcnNhdGlvbi52MS5Db252ZXJzYXRpb25TZXJ2aWNlL1VwZGF0ZVdpZGdldFwiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IFVwZGF0ZVdpZGdldFJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZVdpZGdldChyOiBEZWxldGVXaWRnZXRSZXF1ZXN0IHwgRGVsZXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVXaWRnZXRSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZVdpZGdldFJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlV2lkZ2V0UmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9EZWxldGVXaWRnZXRcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGxpc3RXaWRnZXRzKHI6IExpc3RXaWRnZXRzUmVxdWVzdCB8IExpc3RXaWRnZXRzUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8TGlzdFdpZGdldHNSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdFdpZGdldHNSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPExpc3RXaWRnZXRzUmVxdWVzdD5yKSA6IG5ldyBMaXN0V2lkZ2V0c1JlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0V2lkZ2V0c1Jlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvTGlzdFdpZGdldHNcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBMaXN0V2lkZ2V0c1Jlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGdldFdpZGdldENvbmZpZyhyOiBHZXRXaWRnZXRDb25maWdSZXF1ZXN0IHwgR2V0V2lkZ2V0Q29uZmlnUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8R2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPEdldFdpZGdldENvbmZpZ1JlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8R2V0V2lkZ2V0Q29uZmlnUmVxdWVzdD5yKSA6IG5ldyBHZXRXaWRnZXRDb25maWdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8R2V0V2lkZ2V0Q29uZmlnUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9HZXRXaWRnZXRDb25maWdcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBHZXRXaWRnZXRDb25maWdSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICBsaXN0TWVzc2FnZVRlbXBsYXRlKHI6IExpc3RNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZT4ge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gKCg8TGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8TGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Qocik7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxMaXN0TWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9MaXN0TWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gTGlzdE1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlLmZyb21Qcm90byhyZXNwKSlcbiAgICAgICAgICAgICk7XG4gICAgfVxuICAgIGRlbGV0ZU1lc3NhZ2VUZW1wbGF0ZShyOiBEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgRGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8SHR0cFJlc3BvbnNlPG51bGw+PiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxEZWxldGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgRGVsZXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PG51bGw+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9EZWxldGVNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgey4uLnRoaXMuYXBpT3B0aW9ucygpLCBvYnNlcnZlOiAncmVzcG9uc2UnfSk7XG4gICAgfVxuICAgIGNyZWF0ZU1lc3NhZ2VUZW1wbGF0ZShyOiBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0IHwgQ3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSk6IE9ic2VydmFibGU8Q3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikudG9BcGlKc29uKSA/ICg8Q3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdD5yKSA6IG5ldyBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2U+KHRoaXMuX2hvc3QgKyBcIi9jb252ZXJzYXRpb24udjEuQ29udmVyc2F0aW9uU2VydmljZS9DcmVhdGVNZXNzYWdlVGVtcGxhdGVcIiwgcmVxdWVzdC50b0FwaUpzb24oKSwgdGhpcy5hcGlPcHRpb25zKCkpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAocmVzcCA9PiBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZS5mcm9tUHJvdG8ocmVzcCkpXG4gICAgICAgICAgICApO1xuICAgIH1cbiAgICB1cGRhdGVNZXNzYWdlVGVtcGxhdGUocjogVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdCB8IFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3QgPSAoKDxVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0PnIpLnRvQXBpSnNvbikgPyAoPFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3Q+cikgOiBuZXcgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVxdWVzdChyKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFVwZGF0ZU1lc3NhZ2VUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlPih0aGlzLl9ob3N0ICsgXCIvY29udmVyc2F0aW9uLnYxLkNvbnZlcnNhdGlvblNlcnZpY2UvVXBkYXRlTWVzc2FnZVRlbXBsYXRlXCIsIHJlcXVlc3QudG9BcGlKc29uKCksIHRoaXMuYXBpT3B0aW9ucygpKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKHJlc3AgPT4gVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2NvbnZlcnNhdGlvbl9zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9hcGkuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbnZlcnNhdGlvbkludGVyZmFjZSwgQ29udmVyc2F0aW9uS2V5SW50ZXJmYWNlIH0gZnJvbSAnLi9jb252ZXJzYXRpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IERhdGFTb3VyY2VzSW50ZXJmYWNlLCBXaWRnZXRJbnRlcmZhY2UgfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmllbGRNYXNrSW50ZXJmYWNlIH0gZnJvbSAnLi9maWVsZC1tYXNrLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNZXNzYWdlSW50ZXJmYWNlIH0gZnJvbSAnLi9tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBNZXNzYWdlVGVtcGxhdGVJbnRlcmZhY2UgfSBmcm9tICcuL21lc3NhZ2UtdGVtcGxhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBhcnRpY2lwYW50SW50ZXJmYWNlLCBQYXJ0aWNpcGFudEtleUludGVyZmFjZSB9IGZyb20gJy4vcGFydGljaXBhbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZSB9IGZyb20gJy4vY29tbW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBWaWV3SW50ZXJmYWNlIH0gZnJvbSAnLi9jb252ZXJzYXRpb24tdmlldy5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSB7XG4gICAgdmlld0lkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBjb3VudD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VDb252ZXJzYXRpb25zSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlQ291bnRzRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xuICAgIGNoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG4gICAgZXh0ZXJuYWxDb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBjcmVhdGVkPzogRGF0ZTtcbiAgICB1cGRhdGVkPzogRGF0ZTtcbiAgICBvcmlnaW5Mb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBvcmlnaW5Mb2NhdGlvbkV4dGVybmFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlO1xuICAgIHN1YmplY3RQYXJ0aWNpcGFudD86IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdGVtcGxhdGU/OiBNZXNzYWdlVGVtcGxhdGVJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VzPzogTWVzc2FnZUludGVyZmFjZVtdO1xuICAgIGxhc3RTZWVuPzogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB3aWRnZXRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgd2lkZ2V0UGFydGljaXBhbnRUb2tlbj86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYWxsb3dlZFVybHM/OiBzdHJpbmdbXTtcbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgICBkYXRhU291cmNlcz86IERhdGFTb3VyY2VzSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB3aWRnZXQ/OiBXaWRnZXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFEYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VEZXRhaWxlZENvbnZlcnNhdGlvbkludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSW50ZXJmYWNlO1xuICAgIGxhdGVzdE1lc3NhZ2U/OiBNZXNzYWdlSW50ZXJmYWNlO1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlRGV0YWlsZWRDb252ZXJzYXRpb25JbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBsYXRlc3RNZXNzYWdlPzogTWVzc2FnZUludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY2hhbm5lbHM/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWxbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc3ViamVjdFBhcnRpY2lwYW50PzogU3ViamVjdFBhcnRpY2lwYW50SW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENvbmZpZ3VyYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29uZmlndXJhdGlvbj86IENvbmZpZ3VyYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25LZXk/OiBDb252ZXJzYXRpb25LZXlJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB2aWV3cz86IFZpZXdJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHN1YmplY3RQYXJ0aWNpcGFudHM/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbmZpZ3VyYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29uZmlndXJhdGlvbnM/OiBDb25maWd1cmF0aW9uSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uSWRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZURldGFpbGVkQ29udmVyc2F0aW9uSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlQ291bnRzPzogQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50SW50ZXJmYWNlW107XG4gICAgY291bnRzPzoge1trZXk6IHN0cmluZ106IG51bWJlcn07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VJZHM/OiBzdHJpbmdbXTtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBsYW5ndWFnZUNvZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50SWRzPzogc3RyaW5nW107XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgbWVzc2FnZXM/OiBNZXNzYWdlSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudEtleT86IFBhcnRpY2lwYW50S2V5SW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG4gICAgcGFydGljaXBhbnQ/OiBQYXJ0aWNpcGFudEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRXaWRnZXRDb25maWdSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB3aWRnZXRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRXaWRnZXRDb25maWdSZXNwb25zZUludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBpc0VuYWJsZWQ/OiBib29sZWFuO1xuICAgIHdlbGNvbWVNZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHdpZGdldD86IFdpZGdldEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc3ViamVjdFBhcnRpY2lwYW50PzogU3ViamVjdFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdGVtcGxhdGVzPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1lc3NhZ2VzUmVxdWVzdExpc3RNZXNzYWdlc0ZpbHRlcnNJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpbHRlcnM/OiBMaXN0TWVzc2FnZXNSZXF1ZXN0TGlzdE1lc3NhZ2VzRmlsdGVyc0ludGVyZmFjZTtcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgbWVzc2FnZXM/OiBNZXNzYWdlSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFdpZGdldHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd2lkZ2V0cz86IFdpZGdldEludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0TG9va3VwQ29udmVyc2F0aW9uc0ZpbHRlcnNJbnRlcmZhY2Uge1xuICAgIGludGVybmFsUGFydGljaXBhbnRJZD86IHN0cmluZ1tdO1xuICAgIGxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIGNoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG4gICAgYWNjb3VudEdyb3VwSWQ/OiBzdHJpbmc7XG4gICAgZXh0ZXJuYWxDb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBvcmlnaW5Mb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBvcmlnaW5Mb2NhdGlvbkV4dGVybmFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpbHRlcnM/OiBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdExvb2t1cENvbnZlcnNhdGlvbnNGaWx0ZXJzSW50ZXJmYWNlO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9ucz86IExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZUNvbnZlcnNhdGlvbnNJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZWRpYUludGVyZmFjZSB7XG4gICAgbWVkaWFDb250ZW50VHlwZT86IHN0cmluZztcbiAgICBtZWRpYUxvY2F0aW9uUGF0aD86IHN0cmluZztcbiAgICBtZWRpYUZpbGVOYW1lPzogc3RyaW5nO1xuICAgIGZpbGVTaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhSW50ZXJmYWNlIHtcbiAgICBpZGVudGlmaWVyPzogZS5NZXRhZGF0YUlkZW50aWZpZXI7XG4gICAgZGF0YT86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVNZXNzYWdlUmVxdWVzdE1ldGFkYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBjdXJzb3I/OiBzdHJpbmc7XG4gICAgcGFnZVNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlIHtcbiAgICBuZXh0Q3Vyc29yPzogc3RyaW5nO1xuICAgIGhhc01vcmU/OiBib29sZWFuO1xuICAgIHRvdGFsUmVzdWx0cz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHNlbmRlcklkPzogc3RyaW5nO1xuICAgIHJlY2lwaWVudElkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIG1lc3NhZ2VJZD86IHN0cmluZztcbiAgICBib2R5Pzogc3RyaW5nO1xuICAgIGNoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG4gICAgdHlwZT86IGUuTWVzc2FnZVR5cGU7XG4gICAgbG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG4gICAgcGFydG5lcklkPzogc3RyaW5nO1xuICAgIGFjY291bnRHcm91cElkPzogc3RyaW5nO1xuICAgIG1ldGFkYXRhPzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gICAgbWVkaWE/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHZpZXdJZD86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBwYXJ0aWNpcGFudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0bmVySWQ/OiBzdHJpbmc7XG4gICAgYWNjb3VudEdyb3VwSWQ/OiBzdHJpbmc7XG4gICAgbG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG4gICAgc2VhcmNoVGVybT86IHN0cmluZztcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2VEZXRhaWxlZENvbnZlcnNhdGlvbkludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc2VuZGVyPzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG4gICAgcmVjaXBpZW50PzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gICAgdHlwZT86IGUuTWVzc2FnZVR5cGU7XG4gICAgYm9keT86IHN0cmluZztcbiAgICBtZXRhZGF0YT86IE1ldGFkYXRhSW50ZXJmYWNlW107XG4gICAgb3JpZ2luTG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG4gICAgbWVkaWE/OiBNZWRpYUludGVyZmFjZVtdO1xuICAgIGNoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd29ya2Zsb3dJZD86IHN0cmluZztcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0eXBlPzogZS5NZXNzYWdlVHlwZTtcbiAgICBib2R5Pzogc3RyaW5nO1xuICAgIG1ldGFkYXRhPzogTWV0YWRhdGFJbnRlcmZhY2VbXTtcbiAgICBsb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0TGFzdFNlZW5SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBwYXJ0aWNpcGFudD86IFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIHN0YXR1cz86IGUuU2V0TGFzdFNlZW5SZXF1ZXN0U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldExhc3RTZWVuUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50PzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VJZD86IHN0cmluZztcbiAgICBwYXJ0aWNpcGFudElkPzogc3RyaW5nO1xuICAgIHN0YXR1cz86IGUuTWVzc2FnZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0ZW1wbGF0ZT86IE1lc3NhZ2VUZW1wbGF0ZUludGVyZmFjZTtcbiAgICBmaWVsZE1hc2s/OiBGaWVsZE1hc2tJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHdpZGdldElkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYWxsb3dlZFVybHM/OiBzdHJpbmdbXTtcbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgICBpc0VuYWJsZWQ/OiBib29sZWFuO1xuICAgIGZpZWxkTWFzaz86IEZpZWxkTWFza0ludGVyZmFjZTtcbiAgICBkYXRhU291cmNlcz86IERhdGFTb3VyY2VzSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB3aWRnZXQ/OiBXaWRnZXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZXJ0Q29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbmZpZ3VyYXRpb24/OiBDb25maWd1cmF0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydENvbmZpZ3VyYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29uZmlndXJhdGlvbj86IENvbmZpZ3VyYXRpb25JbnRlcmZhY2U7XG59XG5cbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2NvbnZlcnNhdGlvbl9zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9hcGkuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCB7Q29uZmlndXJhdGlvbkludGVyZmFjZX0gZnJvbSAnLi9jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQge0NvbnZlcnNhdGlvbkludGVyZmFjZSwgQ29udmVyc2F0aW9uS2V5SW50ZXJmYWNlfSBmcm9tICcuL2NvbnZlcnNhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHtEYXRhU291cmNlc0ludGVyZmFjZSwgV2lkZ2V0SW50ZXJmYWNlfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHtGaWVsZE1hc2tJbnRlcmZhY2V9IGZyb20gJy4vZmllbGQtbWFzay5pbnRlcmZhY2UnO1xuaW1wb3J0IHtNZXNzYWdlSW50ZXJmYWNlfSBmcm9tICcuL21lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7TWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlfSBmcm9tICcuL21lc3NhZ2UtdGVtcGxhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7UGFydGljaXBhbnRJbnRlcmZhY2UsIFBhcnRpY2lwYW50S2V5SW50ZXJmYWNlfSBmcm9tICcuL3BhcnRpY2lwYW50LmludGVyZmFjZSc7XG5pbXBvcnQge1N1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZX0gZnJvbSAnLi9jb21tb24uaW50ZXJmYWNlJztcbmltcG9ydCB7Vmlld0ludGVyZmFjZX0gZnJvbSAnLi9jb252ZXJzYXRpb24tdmlldy5pbnRlcmZhY2UnO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQ29udmVyc2F0aW9uVG9Db252ZXJzYXRpb25WaWV3UmVxdWVzdEludGVyZmFjZSB7XG4gICAgdmlld0lkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkTXVsdGlQYXJ0aWNpcGFudHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFkZE11bHRpUGFydGljaXBhbnRzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBjb3VudD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb29rdXBDb252ZXJzYXRpb25zUmVzcG9uc2VDb252ZXJzYXRpb25zSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlQ291bnRzRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xuICAgIGNoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG4gICAgZXh0ZXJuYWxDb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBjcmVhdGVkPzogRGF0ZTtcbiAgICB1cGRhdGVkPzogRGF0ZTtcbiAgICBvcmlnaW5Mb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBvcmlnaW5Mb2NhdGlvbkV4dGVybmFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQ29udmVyc2F0aW9uUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlO1xuICAgIHN1YmplY3RQYXJ0aWNpcGFudD86IFN1YmplY3RQYXJ0aWNpcGFudEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdGVtcGxhdGU/OiBNZXNzYWdlVGVtcGxhdGVJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlTXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VzPzogTWVzc2FnZUludGVyZmFjZVtdO1xuICAgIGxhc3RTZWVuPzogRGF0ZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB3aWRnZXRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVXaWRnZXRDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgd2lkZ2V0UGFydGljaXBhbnRUb2tlbj86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYWxsb3dlZFVybHM/OiBzdHJpbmdbXTtcbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgICBkYXRhU291cmNlcz86IERhdGFTb3VyY2VzSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB3aWRnZXQ/OiBXaWRnZXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWRhdGFEYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVDb252ZXJzYXRpb25SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWxldGVNZXNzYWdlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZU1lc3NhZ2VUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlV2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VEZXRhaWxlZENvbnZlcnNhdGlvbkludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSW50ZXJmYWNlO1xuICAgIGxhdGVzdE1lc3NhZ2U/OiBNZXNzYWdlSW50ZXJmYWNlO1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoQ29udmVyc2F0aW9uc1Jlc3BvbnNlRGV0YWlsZWRDb252ZXJzYXRpb25JbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbj86IENvbnZlcnNhdGlvbkludGVyZmFjZTtcbiAgICBsYXRlc3RNZXNzYWdlPzogTWVzc2FnZUludGVyZmFjZTtcbiAgICBwYXJ0aWNpcGFudHM/OiBQYXJ0aWNpcGFudEludGVyZmFjZVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldEF2YWlsYWJsZUNoYW5uZWxzRm9yQ29udmVyc2F0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0QXZhaWxhYmxlQ2hhbm5lbHNGb3JDb252ZXJzYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY2hhbm5lbHM/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWxbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb25maWd1cmF0aW9uUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc3ViamVjdFBhcnRpY2lwYW50PzogU3ViamVjdFBhcnRpY2lwYW50SW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENvbmZpZ3VyYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29uZmlndXJhdGlvbj86IENvbmZpZ3VyYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25LZXk/OiBDb252ZXJzYXRpb25LZXlJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q29udmVyc2F0aW9uQnlLZXlSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uPzogQ29udmVyc2F0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldENvbnZlcnNhdGlvblZpZXdzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRDb252ZXJzYXRpb25WaWV3c1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB2aWV3cz86IFZpZXdJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpQ29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHN1YmplY3RQYXJ0aWNpcGFudHM/OiBTdWJqZWN0UGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbmZpZ3VyYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29uZmlndXJhdGlvbnM/OiBDb25maWd1cmF0aW9uSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9uSWRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25EZXRhaWxzUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBHZXRNdWx0aUNvbnZlcnNhdGlvbkRldGFpbHNSZXNwb25zZURldGFpbGVkQ29udmVyc2F0aW9uSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlDb252ZXJzYXRpb25NZXNzYWdlQ291bnRSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aUNvbnZlcnNhdGlvbk1lc3NhZ2VDb3VudFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlQ291bnRzPzogQ29udmVyc2F0aW9uTWVzc2FnZUNvdW50SW50ZXJmYWNlW107XG4gICAgY291bnRzPzoge1trZXk6IHN0cmluZ106IG51bWJlcn07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VJZHM/OiBzdHJpbmdbXTtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBsYW5ndWFnZUNvZGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlNZXNzYWdlc1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlcz86IE1lc3NhZ2VJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aVBhcnRpY2lwYW50c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50SWRzPzogc3RyaW5nW107XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TXVsdGlQYXJ0aWNpcGFudHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgcGFydGljaXBhbnRzPzogUGFydGljaXBhbnRJbnRlcmZhY2VbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRNdWx0aVdpZGdldE1lc3NhZ2VzUmVxdWVzdEludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldE11bHRpV2lkZ2V0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgbWVzc2FnZXM/OiBNZXNzYWdlSW50ZXJmYWNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UGFydGljaXBhbnRzQnlLZXlSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudEtleT86IFBhcnRpY2lwYW50S2V5SW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFBhcnRpY2lwYW50c0J5S2V5UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50cz86IFBhcnRpY2lwYW50SW50ZXJmYWNlW107XG4gICAgcGFydGljaXBhbnQ/OiBQYXJ0aWNpcGFudEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRXaWRnZXRDb25maWdSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB3aWRnZXRJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRXaWRnZXRDb25maWdSZXNwb25zZUludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBpc0VuYWJsZWQ/OiBib29sZWFuO1xuICAgIHdlbGNvbWVNZXNzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFdpZGdldENvbnZlcnNhdGlvblJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb24/OiBDb252ZXJzYXRpb25JbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0UmVxdWVzdEludGVyZmFjZSB7XG4gICAgd2lkZ2V0SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0V2lkZ2V0UmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHdpZGdldD86IFdpZGdldEludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TWVzc2FnZVRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc3ViamVjdFBhcnRpY2lwYW50PzogU3ViamVjdFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXNzYWdlVGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSB7XG4gICAgdGVtcGxhdGVzPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdE1lc3NhZ2VzUmVxdWVzdExpc3RNZXNzYWdlc0ZpbHRlcnNJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RNZXNzYWdlc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpbHRlcnM/OiBMaXN0TWVzc2FnZXNSZXF1ZXN0TGlzdE1lc3NhZ2VzRmlsdGVyc0ludGVyZmFjZTtcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0TWVzc2FnZXNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgbWVzc2FnZXM/OiBNZXNzYWdlSW50ZXJmYWNlW107XG4gICAgcGFnaW5nTWV0YWRhdGE/OiBQYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFdpZGdldHNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gICAgcGFnaW5nT3B0aW9ucz86IFBhZ2VkUmVxdWVzdE9wdGlvbnNJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFdpZGdldHNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd2lkZ2V0cz86IFdpZGdldEludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cENvbnZlcnNhdGlvbnNSZXF1ZXN0TG9va3VwQ29udmVyc2F0aW9uc0ZpbHRlcnNJbnRlcmZhY2Uge1xuICAgIGludGVybmFsUGFydGljaXBhbnRJZD86IHN0cmluZ1tdO1xuICAgIGxvY2F0aW9uPzogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIGNoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG4gICAgYWNjb3VudEdyb3VwSWQ/OiBzdHJpbmc7XG4gICAgZXh0ZXJuYWxDb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBvcmlnaW5Mb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBvcmlnaW5Mb2NhdGlvbkV4dGVybmFsSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9va3VwQ29udmVyc2F0aW9uc1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGZpbHRlcnM/OiBMb29rdXBDb252ZXJzYXRpb25zUmVxdWVzdExvb2t1cENvbnZlcnNhdGlvbnNGaWx0ZXJzSW50ZXJmYWNlO1xuICAgIHBhZ2luZ09wdGlvbnM/OiBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29udmVyc2F0aW9ucz86IExvb2t1cENvbnZlcnNhdGlvbnNSZXNwb25zZUNvbnZlcnNhdGlvbnNJbnRlcmZhY2VbXTtcbiAgICBwYWdpbmdNZXRhZGF0YT86IFBhZ2VkUmVzcG9uc2VNZXRhZGF0YUludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZWRpYUludGVyZmFjZSB7XG4gICAgbWVkaWFDb250ZW50VHlwZT86IHN0cmluZztcbiAgICBtZWRpYUxvY2F0aW9uUGF0aD86IHN0cmluZztcbiAgICBtZWRpYUZpbGVOYW1lPzogc3RyaW5nO1xuICAgIGZpbGVTaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFkYXRhSW50ZXJmYWNlIHtcbiAgICBpZGVudGlmaWVyPzogZS5NZXRhZGF0YUlkZW50aWZpZXI7XG4gICAgZGF0YT86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpdmVNZXNzYWdlUmVxdWVzdE1ldGFkYXRhRW50cnlJbnRlcmZhY2Uge1xuICAgIGtleT86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBjdXJzb3I/OiBzdHJpbmc7XG4gICAgcGFnZVNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlIHtcbiAgICBuZXh0Q3Vyc29yPzogc3RyaW5nO1xuICAgIGhhc01vcmU/OiBib29sZWFuO1xuICAgIHRvdGFsUmVzdWx0cz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWNlaXZlTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHNlbmRlcklkPzogc3RyaW5nO1xuICAgIHJlY2lwaWVudElkPzogc3RyaW5nO1xuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICAgIG1lc3NhZ2VJZD86IHN0cmluZztcbiAgICBib2R5Pzogc3RyaW5nO1xuICAgIGNoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG4gICAgdHlwZT86IGUuTWVzc2FnZVR5cGU7XG4gICAgbG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG4gICAgcGFydG5lcklkPzogc3RyaW5nO1xuICAgIGFjY291bnRHcm91cElkPzogc3RyaW5nO1xuICAgIG1ldGFkYXRhPzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gICAgbWVkaWE/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdmVDb252ZXJzYXRpb25Gcm9tQ29udmVyc2F0aW9uVmlld1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHZpZXdJZD86IHN0cmluZztcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBwYXJ0aWNpcGFudElkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlYXJjaENvbnZlcnNhdGlvbnNSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBwYXJ0bmVySWQ/OiBzdHJpbmc7XG4gICAgYWNjb3VudEdyb3VwSWQ/OiBzdHJpbmc7XG4gICAgbG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG4gICAgc2VhcmNoVGVybT86IHN0cmluZztcbiAgICBwYWdpbmdPcHRpb25zPzogUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIGNvbnZlcnNhdGlvbnM/OiBTZWFyY2hDb252ZXJzYXRpb25zUmVzcG9uc2VEZXRhaWxlZENvbnZlcnNhdGlvbkludGVyZmFjZVtdO1xuICAgIHBhZ2luZ01ldGFkYXRhPzogUGFnZWRSZXNwb25zZU1ldGFkYXRhSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRNZXNzYWdlUmVxdWVzdEludGVyZmFjZSB7XG4gICAgc2VuZGVyPzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG4gICAgcmVjaXBpZW50PzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG4gICAgY29udmVyc2F0aW9uSWQ/OiBzdHJpbmc7XG4gICAgdHlwZT86IGUuTWVzc2FnZVR5cGU7XG4gICAgYm9keT86IHN0cmluZztcbiAgICBtZXRhZGF0YT86IE1ldGFkYXRhSW50ZXJmYWNlW107XG4gICAgb3JpZ2luTG9jYXRpb24/OiBlLlBsYXRmb3JtTG9jYXRpb247XG4gICAgbWVkaWE/OiBNZWRpYUludGVyZmFjZVtdO1xuICAgIGNoYW5uZWw/OiBlLkNvbnZlcnNhdGlvbkNoYW5uZWw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZSB7XG4gICAgd29ya2Zsb3dJZD86IHN0cmluZztcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFdpZGdldE1lc3NhZ2VSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0eXBlPzogZS5NZXNzYWdlVHlwZTtcbiAgICBib2R5Pzogc3RyaW5nO1xuICAgIG1ldGFkYXRhPzogTWV0YWRhdGFJbnRlcmZhY2VbXTtcbiAgICBsb2NhdGlvbj86IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZW5kV2lkZ2V0TWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0TGFzdFNlZW5SZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgICBwYXJ0aWNpcGFudD86IFBhcnRpY2lwYW50SW50ZXJmYWNlO1xuICAgIHN0YXR1cz86IGUuU2V0TGFzdFNlZW5SZXF1ZXN0U3RhdHVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldExhc3RTZWVuUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50PzogUGFydGljaXBhbnRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWVzc2FnZVN0YXR1c1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIG1lc3NhZ2VJZD86IHN0cmluZztcbiAgICBwYXJ0aWNpcGFudElkPzogc3RyaW5nO1xuICAgIHN0YXR1cz86IGUuTWVzc2FnZVN0YXR1cztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVNZXNzYWdlVGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlIHtcbiAgICB0ZW1wbGF0ZT86IE1lc3NhZ2VUZW1wbGF0ZUludGVyZmFjZTtcbiAgICBmaWVsZE1hc2s/OiBGaWVsZE1hc2tJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlTWVzc2FnZVRlbXBsYXRlUmVzcG9uc2VJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlPzogTWVzc2FnZVRlbXBsYXRlSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVdpZGdldFJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIHdpZGdldElkPzogc3RyaW5nO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgYWxsb3dlZFVybHM/OiBzdHJpbmdbXTtcbiAgICB3ZWxjb21lTWVzc2FnZT86IHN0cmluZztcbiAgICBpc0VuYWJsZWQ/OiBib29sZWFuO1xuICAgIGZpZWxkTWFzaz86IEZpZWxkTWFza0ludGVyZmFjZTtcbiAgICBkYXRhU291cmNlcz86IERhdGFTb3VyY2VzSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVdpZGdldFJlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICB3aWRnZXQ/OiBXaWRnZXRJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBzZXJ0Q29uZmlndXJhdGlvblJlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGNvbmZpZ3VyYXRpb24/OiBDb25maWd1cmF0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwc2VydENvbmZpZ3VyYXRpb25SZXNwb25zZUludGVyZmFjZSB7XG4gICAgY29uZmlndXJhdGlvbj86IENvbmZpZ3VyYXRpb25JbnRlcmZhY2U7XG59XG5cbiJdfQ==
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
// Interfaces.
|
|
6
6
|
// *********************************
|
|
7
7
|
export {};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS10ZW1wbGF0ZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb252ZXJzYXRpb25fc2RrL3NyYy9saWIvX2ludGVybmFsL2ludGVyZmFjZXMvbWVzc2FnZS10ZW1wbGF0ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGNBQWM7QUFDZCxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEludGVyZmFjZXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlVGVtcGxhdGVJbnRlcmZhY2Uge1xuICAgIHRlbXBsYXRlSWQ/OiBzdHJpbmc7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGNyZWF0ZWQ/OiBEYXRlO1xufVxuXG4iXX0=
|