@envive-ai/react-hooks 0.3.44 → 0.3.46
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/dist/application/models/api/responseGenerics.d.cts +4 -2
- package/dist/application/models/api/responseGenerics.d.ts +4 -2
- package/dist/application/models/api/widgetText.d.cts +2 -1
- package/dist/application/models/api/widgetText.d.ts +2 -1
- package/dist/application/models/index.d.cts +2 -2
- package/dist/application/models/index.d.ts +2 -2
- package/dist/application/models/validators/validateResponse.cjs +3 -2
- package/dist/application/models/validators/validateResponse.js +3 -2
- package/dist/application/utils/widgetTextFromApiWidgetTextResponse.cjs +3 -2
- package/dist/application/utils/widgetTextFromApiWidgetTextResponse.js +3 -2
- package/dist/atoms/app/index.d.cts +7 -7
- package/dist/atoms/app/index.d.ts +7 -7
- package/dist/atoms/app/variant.cjs +2 -2
- package/dist/atoms/app/variant.d.cts +1 -1
- package/dist/atoms/app/variant.d.ts +1 -1
- package/dist/atoms/app/variant.js +2 -2
- package/dist/atoms/chat/chatState.d.ts +19 -19
- package/dist/atoms/chat/form.d.cts +2 -2
- package/dist/atoms/chat/form.d.ts +2 -2
- package/dist/atoms/chat/index.d.cts +3 -3
- package/dist/atoms/chat/index.d.ts +3 -3
- package/dist/atoms/chat/lastMessage.d.cts +2 -2
- package/dist/atoms/chat/lastMessage.d.ts +2 -2
- package/dist/atoms/chat/messageQueue.d.cts +6 -6
- package/dist/atoms/chat/messageQueue.d.ts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
- package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
- package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
- package/dist/atoms/chat/replies.d.cts +2 -2
- package/dist/atoms/chat/replies.d.ts +2 -2
- package/dist/atoms/chat/suggestions.d.cts +2 -2
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/envive/enviveConfig.d.cts +12 -12
- package/dist/atoms/envive/enviveConfig.d.ts +13 -13
- package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
- package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
- package/dist/atoms/org/customerService.d.cts +6 -6
- package/dist/atoms/org/customerService.d.ts +6 -6
- package/dist/atoms/org/graphqlConfig.d.cts +4 -4
- package/dist/atoms/org/graphqlConfig.d.ts +4 -4
- package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
- package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
- package/dist/atoms/search/chatSearch.d.cts +17 -17
- package/dist/atoms/search/chatSearch.d.ts +17 -17
- package/dist/atoms/search/searchAPI.d.cts +13 -13
- package/dist/atoms/search/searchAPI.d.ts +13 -13
- package/dist/atoms/search/types.d.ts +1 -1
- package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
- package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
- package/dist/contexts/pageContext/pageContext.cjs +2 -2
- package/dist/contexts/pageContext/pageContext.js +2 -2
- package/dist/contexts/salesAgentContext/salesAgentContext.cjs +4 -1
- package/dist/contexts/salesAgentContext/salesAgentContext.d.cts +2 -1
- package/dist/contexts/salesAgentContext/salesAgentContext.d.ts +2 -1
- package/dist/contexts/salesAgentContext/salesAgentContext.js +5 -2
- package/dist/contexts/salesAgentContext/salesAgentService.cjs +11 -3
- package/dist/contexts/salesAgentContext/salesAgentService.js +12 -4
- package/dist/contexts/types.d.cts +1 -1
- package/dist/contexts/types.d.ts +1 -1
- package/dist/contexts/typesV3.d.cts +1 -1
- package/dist/contexts/typesV3.d.ts +1 -1
- package/dist/hooks/PageViewedEvent/usePageViewedEvent.cjs +2 -2
- package/dist/hooks/PageViewedEvent/usePageViewedEvent.js +2 -2
- package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.cts +2 -2
- package/dist/hooks/ShopifyUrlOperations/useShopifyUrlOperations.d.ts +2 -2
- package/dist/hooks/WidgetInteraction/types.cjs +2 -2
- package/dist/hooks/WidgetInteraction/types.d.cts +2 -2
- package/dist/hooks/WidgetInteraction/types.d.ts +2 -2
- package/dist/hooks/WidgetInteraction/types.js +2 -2
- package/dist/hooks/WidgetInteraction/utils.cjs +2 -2
- package/dist/hooks/WidgetInteraction/utils.js +2 -2
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/hooks/utils.d.ts +1 -1
- package/dist/services/amplitudeService/amplitudeService.cjs +2 -1
- package/dist/services/amplitudeService/amplitudeService.js +2 -1
- package/dist/services/enviveConfigService/enviveConfigService.cjs +34 -1
- package/dist/services/enviveConfigService/enviveConfigService.d.cts +4 -1
- package/dist/services/enviveConfigService/enviveConfigService.d.ts +4 -1
- package/dist/services/enviveConfigService/enviveConfigService.js +34 -1
- package/dist/services/hardcopyService/hardcopyService.cjs +3 -2
- package/dist/services/hardcopyService/hardcopyService.js +3 -2
- package/package.json +2 -2
- package/src/application/models/api/responseGenerics.ts +3 -0
- package/src/application/models/api/widgetText.ts +3 -0
- package/src/application/models/validators/validateResponse.ts +1 -0
- package/src/application/utils/widgetTextFromApiWidgetTextResponse.ts +1 -0
- package/src/atoms/app/variant.ts +1 -1
- package/src/contexts/pageContext/pageContext.tsx +1 -1
- package/src/contexts/salesAgentContext/salesAgentContext.tsx +7 -0
- package/src/contexts/salesAgentContext/salesAgentService.ts +12 -3
- package/src/hooks/PageViewedEvent/__tests__/usePageViewedEvent.test.ts +4 -4
- package/src/hooks/PageViewedEvent/usePageViewedEvent.ts +1 -1
- package/src/hooks/WidgetInteraction/types.ts +1 -1
- package/src/hooks/WidgetInteraction/utils.ts +1 -1
- package/src/services/amplitudeService/amplitudeService.ts +1 -0
- package/src/services/enviveConfigService/__tests__/enviveConfigService.test.ts +208 -0
- package/src/services/enviveConfigService/enviveConfigService.ts +60 -0
- package/src/services/hardcopyService/__tests__/hardcopyService.test.ts +47 -1
- package/src/services/hardcopyService/hardcopyService.ts +5 -0
|
@@ -10,7 +10,7 @@ import { appDetailsAtom } from "../../atoms/app/index.js";
|
|
|
10
10
|
import { resolvedBaseConfigVersionAtom } from "../../atoms/envive/resolvedBaseConfigVersion.js";
|
|
11
11
|
import commerce_api_default from "../../application/commerce-api.js";
|
|
12
12
|
import { useMessageInterceptor } from "../../interceptors/useMessageInterceptor.js";
|
|
13
|
-
import { messagesAtom, pendingResponseAtom, requestFailureAtom, responseStreamingAtom, suggestionsAtom } from "../../atoms/chat/chatState.js";
|
|
13
|
+
import { messagesAtom, pendingResponseAtom, requestFailureAtom, responseStreamingAtom, suggestionsAtom, suggestionsLoadingAtom } from "../../atoms/chat/chatState.js";
|
|
14
14
|
import { useFeatureFlagService } from "../featureFlagServiceContext/featureFlagServiceContext.js";
|
|
15
15
|
import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
|
|
16
16
|
import "../amplitudeContext/index.js";
|
|
@@ -134,6 +134,7 @@ const useSalesAgentService = () => {
|
|
|
134
134
|
const setSuggestions = useSetAtom(suggestionsAtom);
|
|
135
135
|
const setPendingResponse = useSetAtom(pendingResponseAtom);
|
|
136
136
|
const setResponseStreaming = useSetAtom(responseStreamingAtom);
|
|
137
|
+
const setSuggestionsLoading = useSetAtom(suggestionsLoadingAtom);
|
|
137
138
|
const analyticsContext = useAtomValue(analyticsContextAtom);
|
|
138
139
|
const messageInterceptor = useMessageInterceptor();
|
|
139
140
|
const { trackEvent } = useAmplitude();
|
|
@@ -164,6 +165,7 @@ const useSalesAgentService = () => {
|
|
|
164
165
|
let successfulResponse;
|
|
165
166
|
setPendingResponse(true);
|
|
166
167
|
setSuggestions([]);
|
|
168
|
+
setSuggestionsLoading(true);
|
|
167
169
|
const stream = commerce_api_default.getNextResponseStreaming(payload);
|
|
168
170
|
let responseAnalytics;
|
|
169
171
|
try {
|
|
@@ -203,13 +205,19 @@ const useSalesAgentService = () => {
|
|
|
203
205
|
setResponseStreaming,
|
|
204
206
|
setRequestFailure,
|
|
205
207
|
setSuggestions,
|
|
208
|
+
setSuggestionsLoading,
|
|
206
209
|
messageInterceptor,
|
|
207
210
|
setMessages,
|
|
208
211
|
setPendingResponse
|
|
209
212
|
]),
|
|
210
213
|
getSuggestions: useCallback(async (payload) => {
|
|
211
|
-
|
|
212
|
-
|
|
214
|
+
setSuggestionsLoading(true);
|
|
215
|
+
try {
|
|
216
|
+
setSuggestions(await commerce_api_default.getNextSuggestions(payload));
|
|
217
|
+
} finally {
|
|
218
|
+
setSuggestionsLoading(false);
|
|
219
|
+
}
|
|
220
|
+
}, [setSuggestions, setSuggestionsLoading]),
|
|
213
221
|
hydrateMessages: useCallback(async () => {
|
|
214
222
|
const { orgId, chatId, userId } = context;
|
|
215
223
|
const { messages: existingMessages } = await commerce_api_default.getResponses(orgId, chatId, userId);
|
|
@@ -220,4 +228,4 @@ const useSalesAgentService = () => {
|
|
|
220
228
|
|
|
221
229
|
//#endregion
|
|
222
230
|
export { useSalesAgentService };
|
|
223
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudFNlcnZpY2UuanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJ1dWlkIiwibGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQiLCJyZXNwb25zZUFuYWx5dGljczogUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nW10+IiwiZXJyb3I6IHVua25vd24iLCJ1c2VTYWxlc0FnZW50U2VydmljZTogKCkgPT4gU2FsZXNBZ2VudFNlcnZpY2UiLCJzdWNjZXNzZnVsUmVzcG9uc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQiLCJDb21tZXJjZUFwaUNsaWVudCIsInJlc3BvbnNlQW5hbHl0aWNzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9zYWxlc0FnZW50U2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDb21tZXJjZUFwaUNsaWVudCBmcm9tICdzcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7XG4gIEdlbmVyYXRpb25QYXJhbXMsXG4gIE1lc3NhZ2UsXG4gIE1lc3NhZ2VSb2xlLFxuICBNZXNzYWdlVHlwZSxcbiAgTmV4dE1lc3NhZ2VSZXF1ZXN0LFxuICBSZXNwb25zZSxcbiAgVXNlckV2ZW50LFxufSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IG1lc3NhZ2VGcm9tUmVzcG9uc2UgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMnO1xuaW1wb3J0IHsgYXBwRGV0YWlsc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IGFuYWx5dGljc0NvbnRleHRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbmltcG9ydCB7IHJlc29sdmVkQmFzZUNvbmZpZ1ZlcnNpb25BdG9tIH0gZnJvbSAnc3JjL2F0b21zL2Vudml2ZS9yZXNvbHZlZEJhc2VDb25maWdWZXJzaW9uJztcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcGVuZGluZ1Jlc3BvbnNlQXRvbSxcbiAgcmVxdWVzdEZhaWx1cmVBdG9tLFxuICByZXNwb25zZVN0cmVhbWluZ0F0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQvY2hhdFN0YXRlJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0JztcbmltcG9ydCB7IHVzZUZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0JztcbmltcG9ydCB7IHVzZU1lc3NhZ2VJbnRlcmNlcHRvciB9IGZyb20gJ3NyYy9pbnRlcmNlcHRvcnMvdXNlTWVzc2FnZUludGVyY2VwdG9yJztcbmltcG9ydCB7XG4gIEVudml2ZU1ldHJpY3NFdmVudE5hbWUsXG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG59IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgeyBTdGF0dXNDb2RlRXJyb3IgfSBmcm9tICcuL3N0YXR1c0NvZGVFcnJvcic7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3NhbGVzQWdlbnRTZXJ2aWNlJyk7XG5cbmludGVyZmFjZSBTYWxlc0FnZW50U2VydmljZSB7XG4gIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZDogKHBheWxvYWQ6IHtcbiAgICB1c2VyRXZlbnRzOiBVc2VyRXZlbnRbXTtcbiAgICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbiAgfSkgPT4gTmV4dE1lc3NhZ2VSZXF1ZXN0O1xuICBnZXRTdHJlYW1pbmdSZXNwb25zZXM6IChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpID0+IFByb21pc2U8dm9pZD47XG4gIGdldFN1Z2dlc3Rpb25zOiAocGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBoeWRyYXRlTWVzc2FnZXM6ICgpID0+IFByb21pc2U8dm9pZD47XG59XG5cbmNvbnN0IGlucHV0UHJvcHNUb1RyYWNraW5nUHJvcHMgPSAoXG4gIHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCxcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgW3VzZXJFdmVudF0gPSBwYXlsb2FkLnVzZXJFdmVudHMgfHwgW107XG4gIGlmICh1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VfaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgdXNlcl9ldmVudF90eXBlOiAnc3VnZ2VzdGlvbl9jbGlja2VkJyxcbiAgICAgIHVzZXJfcXVlcnk6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLmNvbnRlbnQsXG4gICAgfTtcbiAgfVxuICBpZiAodXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VfaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgdXNlcl9ldmVudF90eXBlOiAncXVlcnlfdHlwZWQnLFxuICAgICAgdXNlcl9xdWVyeTogdXNlckV2ZW50LmF0dHJpYnV0ZXMucXVlcnksXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge307XG59O1xuXG5jb25zdCBpbnB1dFByb3BzVG9FbnZpdmVUcmFja2luZ1Byb3BzID0gKFxuICBwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QsXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IFt1c2VyRXZlbnRdID0gcGF5bG9hZC51c2VyRXZlbnRzIHx8IFtdO1xuICBpZiAodXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCkge1xuICAgIHJldHVybiB7XG4gICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAnc3VnZ2VzdGlvbicsXG4gICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICAnY2hhdC5yZXF1ZXN0X3RleHQnOiB1c2VyRXZlbnQuYXR0cmlidXRlcy5jb250ZW50LFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pZCc6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLnN1Z2dlc3Rpb25JZCxcbiAgICAgICdjaGF0LnVzZXJfdHlwZWQnOiBmYWxzZSxcbiAgICB9O1xuICB9XG4gIGlmICh1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3RleHQnLFxuICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0JzogdXNlckV2ZW50LmF0dHJpYnV0ZXMucXVlcnksXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJzogdXNlckV2ZW50LmF0dHJpYnV0ZXMudXNlclR5cGVkLFxuICAgIH07XG4gIH1cbiAgaWYgKFxuICAgIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0IHx8XG4gICAgdXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5QZHBWaXNpdCB8fFxuICAgIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuUGxwVmlzaXRcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiB1c2VyRXZlbnQuZXZlbnRJZCxcbiAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdwYWdlX3Zpc2l0JyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHt9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFF1ZXJ5UGFyYW0gPSAoa2V5OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgY29uc3QgdXJsT2JqID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gIHJldHVybiB1cmxPYmouc2VhcmNoUGFyYW1zLmdldChrZXkpO1xufTtcblxuY29uc3QgZ2V0RXJyb3JNZXNzYWdlID0gKF9lcnJvcjogdW5rbm93bik6IHN0cmluZyA9PiB7XG4gIGlmIChfZXJyb3IgaW5zdGFuY2VvZiBTdGF0dXNDb2RlRXJyb3IpIHtcbiAgICBpZiAoX2Vycm9yLnN0YXR1c0NvZGUgPT09IDQyMykge1xuICAgICAgcmV0dXJuICdEdWUgdG8gdmlvbGF0aW9uIG9mIHRlcm1zIGFuZCBzZXJ2aWNlcywgdGhpcyBzZXNzaW9uIGhhcyBiZWVuIHRlcm1pbmF0ZWQuJztcbiAgICB9XG4gICAgLy8gS2VlcGluZyB0aGUgNDI5IGVycm9yIG1lc3NhZ2VzIGFzIHRoZSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgZm9yIG5vdy5cbiAgICAvLyBpZiAoX2Vycm9yLnN0YXR1c0NvZGUgPT09IDQyOSkge1xuICAgIC8vICAgcmV0dXJuIFwiSSdtIHNvcnJ5ISBUaGUgc3lzdGVtIGlzIGJ1c3kgcmlnaHQgbm93LiBQbGVhc2UgdHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMuXCI7XG4gICAgLy8gfVxuICB9XG5cbiAgcmV0dXJuIFwiSSdtIHNvcnJ5ISBJJ20gaGF2aW5nIHRyb3VibGUgcmlnaHQgbm93LiBQbGVhc2UgcmVmcmVzaCB0aGUgcGFnZSBvciB0cnkgYWdhaW4gaW4gYSBtb21lbnQuXCI7XG59O1xuXG5jb25zdCBoYW5kbGVTdHJlYW1pbmdFcnJvciA9IChcbiAgX2Vycm9yOiB1bmtub3duLFxuICBzZXRSZXF1ZXN0RmFpbHVyZTogKGZhaWxlZDogYm9vbGVhbikgPT4gdm9pZCxcbiAgc2V0TWVzc2FnZXM6ICh1cGRhdGVyOiAocHJldjogTWVzc2FnZVtdW10pID0+IE1lc3NhZ2VbXVtdKSA9PiB2b2lkLFxuKSA9PiB7XG4gIHNldFJlcXVlc3RGYWlsdXJlKHRydWUpO1xuXG4gIGNvbnN0IGVycm9yTWVzc2FnZSA9IGdldEVycm9yTWVzc2FnZShfZXJyb3IpO1xuICBzZXRNZXNzYWdlcyhwcmV2ID0+IFtcbiAgICAuLi5wcmV2LFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuQXNzaXN0YW50LFxuICAgICAgICB0eXBlOiBNZXNzYWdlVHlwZS5UZXh0LFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICBjb250ZW50OiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcblxuY29uc3QgdXBkYXRlTWVzc2FnZVN0YXRlID0gKFxuICBtZXNzYWdlOiBNZXNzYWdlLFxuICBsYXN0TWVzc2FnZTogTWVzc2FnZSxcbiAgc2V0TWVzc2FnZXM6ICh1cGRhdGVyOiAocHJldjogTWVzc2FnZVtdW10pID0+IE1lc3NhZ2VbXVtdKSA9PiB2b2lkLFxuKTogTWVzc2FnZSA9PiB7XG4gIGlmIChsYXN0TWVzc2FnZSA9PSBudWxsKSB7XG4gICAgc2V0TWVzc2FnZXMocHJldiA9PiBbLi4ucHJldiwgW21lc3NhZ2VdXSk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cbiAgaWYgKGxhc3RNZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlRleHQgJiYgbWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5UZXh0KSB7XG4gICAgY29uc3QgbmV3TWVzc2FnZSA9IHtcbiAgICAgIC4uLmxhc3RNZXNzYWdlLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4ubGFzdE1lc3NhZ2UubWV0YWRhdGEsXG4gICAgICAgIGNvbnRlbnQ6IGxhc3RNZXNzYWdlLm1ldGFkYXRhLmNvbnRlbnQgKyBtZXNzYWdlLm1ldGFkYXRhLmNvbnRlbnQsXG4gICAgICB9LFxuICAgIH07XG4gICAgc2V0TWVzc2FnZXMocHJldiA9PiB7XG4gICAgICBjb25zdCBsYXN0VHVybiA9IHByZXZbcHJldi5sZW5ndGggLSAxXTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnByZXYuc2xpY2UoMCwgcHJldi5sZW5ndGggLSAxKSxcbiAgICAgICAgWy4uLmxhc3RUdXJuLnNsaWNlKDAsIGxhc3RUdXJuLmxlbmd0aCAtIDEpLCBuZXdNZXNzYWdlXSxcbiAgICAgIF07XG4gICAgfSk7XG4gICAgcmV0dXJuIG5ld01lc3NhZ2U7XG4gIH1cbiAgc2V0TWVzc2FnZXMocHJldiA9PiBbLi4ucHJldi5zbGljZSgwLCBwcmV2Lmxlbmd0aCAtIDEpLCBbLi4ucHJldltwcmV2Lmxlbmd0aCAtIDFdLCBtZXNzYWdlXV0pO1xuICByZXR1cm4gbWVzc2FnZTtcbn07XG5cbmNvbnN0IHByb2Nlc3NTdHJlYW1pbmdSZXNwb25zZSA9IGFzeW5jIChcbiAgc3RyZWFtOiBBc3luY0l0ZXJhYmxlPFJlc3BvbnNlPixcbiAgbWVzc2FnZUludGVyY2VwdG9yOiB7IGludGVyY2VwdDogKHJlc3BvbnNlPzogUmVzcG9uc2UpID0+IGJvb2xlYW4gfCB1bmRlZmluZWQgfSxcbiAgc2V0TWVzc2FnZXM6ICh1cGRhdGVyOiAocHJldjogTWVzc2FnZVtdW10pID0+IE1lc3NhZ2VbXVtdKSA9PiB2b2lkLFxuICBzZXRSZXNwb25zZVN0cmVhbWluZzogKHJlc3BvbnNlU3RyZWFtaW5nOiBib29sZWFuKSA9PiB2b2lkLFxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmdbXT4+ID0+IHtcbiAgbGV0IGxhc3RNZXNzYWdlOiBNZXNzYWdlIHwgdW5kZWZpbmVkO1xuICBzZXRSZXNwb25zZVN0cmVhbWluZyh0cnVlKTtcbiAgY29uc3QgcmVzcG9uc2VBbmFseXRpY3M6IFJlY29yZDxzdHJpbmcsIG51bWJlciB8IHN0cmluZ1tdPiA9IHt9O1xuICBjb25zdCBwcm9kdWN0SWRzID0gW107XG5cbiAgZm9yIGF3YWl0IChjb25zdCByZXNwb25zZSBvZiBzdHJlYW0pIHtcbiAgICB0cnkge1xuICAgICAgaWYgKG1lc3NhZ2VJbnRlcmNlcHRvci5pbnRlcmNlcHQocmVzcG9uc2UpKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJlc3BvbnNlIGZyb20gc3RyZWFtJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBtZXNzYWdlRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICAgIGlmICghbWVzc2FnZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byB0cmFuc2Zvcm0gQVBJIHJlc3BvbnNlIHRvIGNsaWVudCBtZXNzYWdlJyk7XG4gICAgICB9XG4gICAgICBpZiAobWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5Qcm9kdWN0KSB7XG4gICAgICAgIGNvbnN0IGNhcmRzQ291bnRlciA9IChyZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2NhcmRzX3JldHVybmVkJ10gYXMgbnVtYmVyKSB8fCAwO1xuICAgICAgICByZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2NhcmRzX3JldHVybmVkJ10gPSBjYXJkc0NvdW50ZXIgKyAxO1xuXG4gICAgICAgIGNvbnN0IHByb2R1Y3RJZHMgPSByZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2lkc19yZXR1cm5lZCddIGFzIHN0cmluZ1tdO1xuICAgICAgICBpZiAoIXByb2R1Y3RJZHMpIHtcbiAgICAgICAgICByZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2lkc19yZXR1cm5lZCddID0gW21lc3NhZ2UubWV0YWRhdGEuaWRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb2R1Y3RJZHMucHVzaChtZXNzYWdlLm1ldGFkYXRhLmlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuUmV2aWV3KSB7XG4gICAgICAgIGNvbnN0IGNhcmRzQ291bnRlciA9IChyZXNwb25zZUFuYWx5dGljc1snY2hhdC5yZXZpZXdfY2FyZHNfcmV0dXJuZWQnXSBhcyBudW1iZXIpIHx8IDA7XG4gICAgICAgIHJlc3BvbnNlQW5hbHl0aWNzWydjaGF0LnJldmlld19jYXJkc19yZXR1cm5lZCddID0gY2FyZHNDb3VudGVyICsgMTtcbiAgICAgIH1cblxuICAgICAgLy8gTm8gc3VwcG9ydCBmb3IgQ2hhdFNlYXJjaCBtZXNzYWdlcyBhdCB0aGUgY3VycmVudCB0aW1lLlxuICAgICAgLy8gUGVyaGFwcyB3ZSBhZGQgc3VwcG9ydCBiYWNrIGluIHRoZSBmdXR1cmVcbiAgICAgIC8vIGlmIChtZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlByb2R1Y3RTZWFyY2gpIHtcbiAgICAgIC8vICAgaGFuZGxlU2VhcmNoUmVzdWx0cyhtZXNzYWdlKTtcbiAgICAgIC8vICAgaGFzU2VhcmNoUmVzdWx0cyA9IHRydWU7XG4gICAgICAvLyAgIHNldFNlYXJjaElzTG9hZGluZyhmYWxzZSk7IC8vIFVwZGF0ZSBzZWFyY2ggbG9hZGluZyBpbW1lZGlhdGVseSB3aGVuIHJlc3VsdHMgYXJlIGRldGVjdGVkXG4gICAgICAvLyB9XG5cbiAgICAgIGxhc3RNZXNzYWdlID0gdXBkYXRlTWVzc2FnZVN0YXRlKG1lc3NhZ2UsIGxhc3RNZXNzYWdlISwgc2V0TWVzc2FnZXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBsb2dnZXIubG9nV2FybignRmFpbGVkIHRvIGdlbmVyYXRlIHJlc3BvbnNlcyBmcm9tIHN0cmVhbScsIGVycm9yLCB7XG4gICAgICAgIGxhc3RSZXNwb25zZTogbGFzdE1lc3NhZ2UsXG4gICAgICAgIHJlc3BvbnNlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHNldFJlc3BvbnNlU3RyZWFtaW5nKGZhbHNlKTtcbiAgfVxuICByZXR1cm4gcmVzcG9uc2VBbmFseXRpY3M7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudFNlcnZpY2U6ICgpID0+IFNhbGVzQWdlbnRTZXJ2aWNlID0gKCkgPT4ge1xuICBjb25zdCBzZXRSZXF1ZXN0RmFpbHVyZSA9IHVzZVNldEF0b20ocmVxdWVzdEZhaWx1cmVBdG9tKTtcbiAgY29uc3Qgc2V0TWVzc2FnZXMgPSB1c2VTZXRBdG9tKG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuICBjb25zdCBzZXRQZW5kaW5nUmVzcG9uc2UgPSB1c2VTZXRBdG9tKHBlbmRpbmdSZXNwb25zZUF0b20pO1xuICBjb25zdCBzZXRSZXNwb25zZVN0cmVhbWluZyA9IHVzZVNldEF0b20ocmVzcG9uc2VTdHJlYW1pbmdBdG9tKTtcbiAgY29uc3QgYW5hbHl0aWNzQ29udGV4dCA9IHVzZUF0b21WYWx1ZShhbmFseXRpY3NDb250ZXh0QXRvbSk7XG4gIGNvbnN0IG1lc3NhZ2VJbnRlcmNlcHRvciA9IHVzZU1lc3NhZ2VJbnRlcmNlcHRvcigpO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IHVzZUZlYXR1cmVGbGFnU2VydmljZSgpO1xuICBjb25zdCBjb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFwcERldGFpbHNBdG9tKTtcbiAgY29uc3QgcmVzb2x2ZWRCYXNlQ29uZmlnVmVyc2lvbiA9IHVzZUF0b21WYWx1ZShyZXNvbHZlZEJhc2VDb25maWdWZXJzaW9uQXRvbSk7XG5cbiAgY29uc3QgY3JlYXRlUmVzcG9uc2VQYXlsb2FkID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIHVzZXJFdmVudHMsXG4gICAgICBnZW5lcmF0aW9uUGFyYW1zLFxuICAgIH06IHtcbiAgICAgIHVzZXJFdmVudHM6IFVzZXJFdmVudFtdO1xuICAgICAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gICAgfSk6IE5leHRNZXNzYWdlUmVxdWVzdCA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlRmxhZ3MgPSBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZT8uZ2V0RmVhdHVyZUZsYWdzKCkgfHwge307XG5cbiAgICAgIGNvbnN0IG92ZXJyaWRlQ29uZmlnVmVyc2lvbiA9XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ3NwaWZmeV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ2Vudml2ZV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIHJlc29sdmVkQmFzZUNvbmZpZ1ZlcnNpb24gfHxcbiAgICAgICAgdW5kZWZpbmVkO1xuICAgICAgY29uc3Qgb3ZlcnJpZGVNb2RlbERhdGV0aW1lID0gZ2V0UXVlcnlQYXJhbSgnb3ZlcnJpZGVfbW9kZWxfZGF0ZXRpbWUnKSB8fCB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICB1c2VyRXZlbnRzLFxuICAgICAgICBmZWF0dXJlRmxhZ3MsXG4gICAgICAgIGdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgIG92ZXJyaWRlQ29uZmlnVmVyc2lvbixcbiAgICAgICAgb3ZlcnJpZGVNb2RlbERhdGV0aW1lLFxuICAgICAgfTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZSwgcmVzb2x2ZWRCYXNlQ29uZmlnVmVyc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIGxldCBzdWNjZXNzZnVsUmVzcG9uc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICBzZXRQZW5kaW5nUmVzcG9uc2UodHJ1ZSk7XG4gICAgICBzZXRTdWdnZXN0aW9ucyhbXSk7XG4gICAgICBjb25zdCBzdHJlYW0gPSBDb21tZXJjZUFwaUNsaWVudC5nZXROZXh0UmVzcG9uc2VTdHJlYW1pbmcocGF5bG9hZCk7XG4gICAgICBsZXQgcmVzcG9uc2VBbmFseXRpY3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0UmVxdWVzdEZhaWx1cmUoZmFsc2UpO1xuXG4gICAgICAgIHJlc3BvbnNlQW5hbHl0aWNzID0gYXdhaXQgcHJvY2Vzc1N0cmVhbWluZ1Jlc3BvbnNlKFxuICAgICAgICAgIHN0cmVhbSxcbiAgICAgICAgICBtZXNzYWdlSW50ZXJjZXB0b3IsXG4gICAgICAgICAgc2V0TWVzc2FnZXMsXG4gICAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcsXG4gICAgICAgICk7XG4gICAgICAgIHN1Y2Nlc3NmdWxSZXNwb25zZSA9IHRydWU7XG5cbiAgICAgICAgLy8gVE9ETzogQWRkIHN1cHBvcnQgZm9yIHRoZSBDaHJvbWUgRXh0ZW5zaW9uIGNvbW11bmljYXRpb25cbiAgICAgICAgLy8gYXdhaXQgbG9nQnVuZGxlRXZlbnQoe1xuICAgICAgICAvLyAgIGxldmVsOiAnaW5mbycsXG4gICAgICAgIC8vICAgZXZlbnQ6ICdORVhUX1JFU1BPTlNFX1NVQ0NFU1MnLFxuICAgICAgICAvLyAgIGNvbnRleHQ6IHtcbiAgICAgICAgLy8gICAgIHR5cGU6ICduZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBlbmRwb2ludDogJy92MS9uZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBzdGF0dXNDb2RlOiAyMDAsXG4gICAgICAgIC8vICAgICByZXNwb25zZVRpbWUsXG4gICAgICAgIC8vICAgfSxcbiAgICAgICAgLy8gfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIGdldHRpbmcgc3RyZWFtaW5nIHJlc3BvbnNlcycsIGUpO1xuICAgICAgICBzdWNjZXNzZnVsUmVzcG9uc2UgPSBmYWxzZTtcbiAgICAgICAgLy8gTG9nIGZhaWxlZCBuZXh0X3Jlc3BvbnNlcyBjYWxsXG4gICAgICAgIC8vIGNvbnN0IHJlc3BvbnNlVGltZSA9IERhdGUubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICAgIC8vIGF3YWl0IGxvZ0J1bmRsZUV2ZW50KHtcbiAgICAgICAgLy8gICBsZXZlbDogJ2Vycm9yJyxcbiAgICAgICAgLy8gICBldmVudDogJ05FWFRfUkVTUE9OU0VfRkFJTEVEJyxcbiAgICAgICAgLy8gICBtZXNzYWdlOiBgRmFpbGVkIHRvIGdldCBzdHJlYW1pbmcgcmVzcG9uc2U6ICR7ZX1gLFxuICAgICAgICAvLyAgIGNvbnRleHQ6IHtcbiAgICAgICAgLy8gICAgIHR5cGU6ICduZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBlbmRwb2ludDogJy92MS9uZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICByZXNwb25zZVRpbWUsXG4gICAgICAgIC8vICAgICBlcnJvcjogZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpLFxuICAgICAgICAvLyAgIH0sXG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIGhhbmRsZVN0cmVhbWluZ0Vycm9yKGUsIHNldFJlcXVlc3RGYWlsdXJlLCBzZXRNZXNzYWdlcyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICAvLyBMb2cgbmV4dF9yZXNwb25zZXMgY2FsbFxuICAgICAgICBjb25zdCByZXNwb25zZVRpbWUgPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHJlc3BvbnNlVGltZU1zOiByZXNwb25zZVRpbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHN1Y2Nlc3NmdWxfcmVzcG9uc2U6IHN1Y2Nlc3NmdWxSZXNwb25zZSxcbiAgICAgICAgICAgIC4uLmlucHV0UHJvcHNUb1RyYWNraW5nUHJvcHMocGF5bG9hZCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVzcG9uc2UsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgLi4uYW5hbHl0aWNzQ29udGV4dCxcbiAgICAgICAgICAgICdjaGF0LnJlc3BvbnNlX3RpbWVfbXMnOiByZXNwb25zZVRpbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIC4uLmlucHV0UHJvcHNUb0Vudml2ZVRyYWNraW5nUHJvcHMocGF5bG9hZCksXG4gICAgICAgICAgICAuLi5yZXNwb25zZUFuYWx5dGljcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0UGVuZGluZ1Jlc3BvbnNlKGZhbHNlKTtcbiAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcoZmFsc2UpO1xuICAgICAgICAvLyBsb2dQZXJmTWV0cmljKFBlcmZNZXRyaWNzRXZlbnRzLkZpcnN0UmVzcG9uc2VDb21wbGV0ZWQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgYW5hbHl0aWNzQ29udGV4dCxcbiAgICAgIHRyYWNrRXZlbnQsXG4gICAgICBzZXRSZXNwb25zZVN0cmVhbWluZyxcbiAgICAgIC8vIGxvZ1BlcmZNZXRyaWMsXG4gICAgICBzZXRSZXF1ZXN0RmFpbHVyZSxcbiAgICAgIHNldFN1Z2dlc3Rpb25zLFxuICAgICAgbWVzc2FnZUludGVyY2VwdG9yLFxuICAgICAgc2V0TWVzc2FnZXMsXG4gICAgICBzZXRQZW5kaW5nUmVzcG9uc2UsXG4gICAgXSxcbiAgKTtcblxuICBjb25zdCBnZXRTdWdnZXN0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IG5ld1N1Z2dlc3Rpb25zID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0TmV4dFN1Z2dlc3Rpb25zKHBheWxvYWQpO1xuICAgICAgc2V0U3VnZ2VzdGlvbnMobmV3U3VnZ2VzdGlvbnMpO1xuICAgIH0sXG4gICAgW3NldFN1Z2dlc3Rpb25zXSxcbiAgKTtcblxuICBjb25zdCBoeWRyYXRlTWVzc2FnZXMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBvcmdJZCwgY2hhdElkLCB1c2VySWQgfSA9IGNvbnRleHQ7XG4gICAgY29uc3QgeyBtZXNzYWdlczogZXhpc3RpbmdNZXNzYWdlcyB9ID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0UmVzcG9uc2VzKFxuICAgICAgb3JnSWQsXG4gICAgICBjaGF0SWQsXG4gICAgICB1c2VySWQsXG4gICAgKTtcbiAgICBzZXRNZXNzYWdlcyhbLi4uZXhpc3RpbmdNZXNzYWdlc10pO1xuICB9LCBbY29udGV4dCwgc2V0TWVzc2FnZXNdKTtcblxuICByZXR1cm4ge1xuICAgIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCxcbiAgICBnZXRTdHJlYW1pbmdSZXNwb25zZXMsXG4gICAgZ2V0U3VnZ2VzdGlvbnMsXG4gICAgaHlkcmF0ZU1lc3NhZ2VzLFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0NBLE1BQU0sU0FBUyxJQUFJQSxlQUFPLG9CQUFvQjtBQVk5QyxNQUFNLDZCQUNKLFlBQ3dDO0NBQ3hDLE1BQU0sQ0FBQyxhQUFhLFFBQVEsY0FBYyxFQUFFO0FBQzVDLEtBQUksVUFBVSxhQUFhLGtCQUFrQixrQkFDM0MsUUFBTztFQUNMLFlBQVksVUFBVTtFQUN0QixpQkFBaUI7RUFDakIsWUFBWSxVQUFVLFdBQVc7RUFDbEM7QUFFSCxLQUFJLFVBQVUsYUFBYSxrQkFBa0IsV0FDM0MsUUFBTztFQUNMLFlBQVksVUFBVTtFQUN0QixpQkFBaUI7RUFDakIsWUFBWSxVQUFVLFdBQVc7RUFDbEM7QUFFSCxRQUFPLEVBQUU7O0FBR1gsTUFBTSxtQ0FDSixZQUN3QztDQUN4QyxNQUFNLENBQUMsYUFBYSxRQUFRLGNBQWMsRUFBRTtBQUM1QyxLQUFJLFVBQVUsYUFBYSxrQkFBa0Isa0JBQzNDLFFBQU87RUFDTCxxQkFBcUI7RUFDckIsbUJBQW1CLFVBQVU7RUFDN0IscUJBQXFCLFVBQVUsV0FBVztFQUMxQyxzQkFBc0IsVUFBVSxXQUFXO0VBQzNDLG1CQUFtQjtFQUNwQjtBQUVILEtBQUksVUFBVSxhQUFhLGtCQUFrQixXQUMzQyxRQUFPO0VBQ0wscUJBQXFCO0VBQ3JCLG1CQUFtQixVQUFVO0VBQzdCLHFCQUFxQixVQUFVLFdBQVc7RUFDMUMsbUJBQW1CLFVBQVUsV0FBVztFQUN6QztBQUVILEtBQ0UsVUFBVSxhQUFhLGtCQUFrQixhQUN6QyxVQUFVLGFBQWEsa0JBQWtCLFlBQ3pDLFVBQVUsYUFBYSxrQkFBa0IsU0FF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
|
|
231
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudFNlcnZpY2UuanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJ1dWlkIiwibGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQiLCJyZXNwb25zZUFuYWx5dGljczogUmVjb3JkPHN0cmluZywgbnVtYmVyIHwgc3RyaW5nW10+IiwiZXJyb3I6IHVua25vd24iLCJ1c2VTYWxlc0FnZW50U2VydmljZTogKCkgPT4gU2FsZXNBZ2VudFNlcnZpY2UiLCJzdWNjZXNzZnVsUmVzcG9uc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQiLCJDb21tZXJjZUFwaUNsaWVudCIsInJlc3BvbnNlQW5hbHl0aWNzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9zYWxlc0FnZW50U2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDb21tZXJjZUFwaUNsaWVudCBmcm9tICdzcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7XG4gIEdlbmVyYXRpb25QYXJhbXMsXG4gIE1lc3NhZ2UsXG4gIE1lc3NhZ2VSb2xlLFxuICBNZXNzYWdlVHlwZSxcbiAgTmV4dE1lc3NhZ2VSZXF1ZXN0LFxuICBSZXNwb25zZSxcbiAgVXNlckV2ZW50LFxufSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IG1lc3NhZ2VGcm9tUmVzcG9uc2UgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMnO1xuaW1wb3J0IHsgYXBwRGV0YWlsc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IGFuYWx5dGljc0NvbnRleHRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbmltcG9ydCB7IHJlc29sdmVkQmFzZUNvbmZpZ1ZlcnNpb25BdG9tIH0gZnJvbSAnc3JjL2F0b21zL2Vudml2ZS9yZXNvbHZlZEJhc2VDb25maWdWZXJzaW9uJztcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcGVuZGluZ1Jlc3BvbnNlQXRvbSxcbiAgcmVxdWVzdEZhaWx1cmVBdG9tLFxuICByZXNwb25zZVN0cmVhbWluZ0F0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQvY2hhdFN0YXRlJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0JztcbmltcG9ydCB7IHVzZUZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0JztcbmltcG9ydCB7IHVzZU1lc3NhZ2VJbnRlcmNlcHRvciB9IGZyb20gJ3NyYy9pbnRlcmNlcHRvcnMvdXNlTWVzc2FnZUludGVyY2VwdG9yJztcbmltcG9ydCB7XG4gIEVudml2ZU1ldHJpY3NFdmVudE5hbWUsXG4gIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsXG59IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuXG5pbXBvcnQgeyBTdGF0dXNDb2RlRXJyb3IgfSBmcm9tICcuL3N0YXR1c0NvZGVFcnJvcic7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3NhbGVzQWdlbnRTZXJ2aWNlJyk7XG5cbmludGVyZmFjZSBTYWxlc0FnZW50U2VydmljZSB7XG4gIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZDogKHBheWxvYWQ6IHtcbiAgICB1c2VyRXZlbnRzOiBVc2VyRXZlbnRbXTtcbiAgICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbiAgfSkgPT4gTmV4dE1lc3NhZ2VSZXF1ZXN0O1xuICBnZXRTdHJlYW1pbmdSZXNwb25zZXM6IChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpID0+IFByb21pc2U8dm9pZD47XG4gIGdldFN1Z2dlc3Rpb25zOiAocGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBoeWRyYXRlTWVzc2FnZXM6ICgpID0+IFByb21pc2U8dm9pZD47XG59XG5cbmNvbnN0IGlucHV0UHJvcHNUb1RyYWNraW5nUHJvcHMgPSAoXG4gIHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCxcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgW3VzZXJFdmVudF0gPSBwYXlsb2FkLnVzZXJFdmVudHMgfHwgW107XG4gIGlmICh1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VfaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgdXNlcl9ldmVudF90eXBlOiAnc3VnZ2VzdGlvbl9jbGlja2VkJyxcbiAgICAgIHVzZXJfcXVlcnk6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLmNvbnRlbnQsXG4gICAgfTtcbiAgfVxuICBpZiAodXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VfaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgdXNlcl9ldmVudF90eXBlOiAncXVlcnlfdHlwZWQnLFxuICAgICAgdXNlcl9xdWVyeTogdXNlckV2ZW50LmF0dHJpYnV0ZXMucXVlcnksXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge307XG59O1xuXG5jb25zdCBpbnB1dFByb3BzVG9FbnZpdmVUcmFja2luZ1Byb3BzID0gKFxuICBwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QsXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IFt1c2VyRXZlbnRdID0gcGF5bG9hZC51c2VyRXZlbnRzIHx8IFtdO1xuICBpZiAodXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCkge1xuICAgIHJldHVybiB7XG4gICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAnc3VnZ2VzdGlvbicsXG4gICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICAnY2hhdC5yZXF1ZXN0X3RleHQnOiB1c2VyRXZlbnQuYXR0cmlidXRlcy5jb250ZW50LFxuICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pZCc6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLnN1Z2dlc3Rpb25JZCxcbiAgICAgICdjaGF0LnVzZXJfdHlwZWQnOiBmYWxzZSxcbiAgICB9O1xuICB9XG4gIGlmICh1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3RleHQnLFxuICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0JzogdXNlckV2ZW50LmF0dHJpYnV0ZXMucXVlcnksXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJzogdXNlckV2ZW50LmF0dHJpYnV0ZXMudXNlclR5cGVkLFxuICAgIH07XG4gIH1cbiAgaWYgKFxuICAgIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0IHx8XG4gICAgdXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5QZHBWaXNpdCB8fFxuICAgIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuUGxwVmlzaXRcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiB1c2VyRXZlbnQuZXZlbnRJZCxcbiAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdwYWdlX3Zpc2l0JyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHt9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFF1ZXJ5UGFyYW0gPSAoa2V5OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgY29uc3QgdXJsT2JqID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gIHJldHVybiB1cmxPYmouc2VhcmNoUGFyYW1zLmdldChrZXkpO1xufTtcblxuY29uc3QgZ2V0RXJyb3JNZXNzYWdlID0gKF9lcnJvcjogdW5rbm93bik6IHN0cmluZyA9PiB7XG4gIGlmIChfZXJyb3IgaW5zdGFuY2VvZiBTdGF0dXNDb2RlRXJyb3IpIHtcbiAgICBpZiAoX2Vycm9yLnN0YXR1c0NvZGUgPT09IDQyMykge1xuICAgICAgcmV0dXJuICdEdWUgdG8gdmlvbGF0aW9uIG9mIHRlcm1zIGFuZCBzZXJ2aWNlcywgdGhpcyBzZXNzaW9uIGhhcyBiZWVuIHRlcm1pbmF0ZWQuJztcbiAgICB9XG4gICAgLy8gS2VlcGluZyB0aGUgNDI5IGVycm9yIG1lc3NhZ2VzIGFzIHRoZSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgZm9yIG5vdy5cbiAgICAvLyBpZiAoX2Vycm9yLnN0YXR1c0NvZGUgPT09IDQyOSkge1xuICAgIC8vICAgcmV0dXJuIFwiSSdtIHNvcnJ5ISBUaGUgc3lzdGVtIGlzIGJ1c3kgcmlnaHQgbm93LiBQbGVhc2UgdHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMuXCI7XG4gICAgLy8gfVxuICB9XG5cbiAgcmV0dXJuIFwiSSdtIHNvcnJ5ISBJJ20gaGF2aW5nIHRyb3VibGUgcmlnaHQgbm93LiBQbGVhc2UgcmVmcmVzaCB0aGUgcGFnZSBvciB0cnkgYWdhaW4gaW4gYSBtb21lbnQuXCI7XG59O1xuXG5jb25zdCBoYW5kbGVTdHJlYW1pbmdFcnJvciA9IChcbiAgX2Vycm9yOiB1bmtub3duLFxuICBzZXRSZXF1ZXN0RmFpbHVyZTogKGZhaWxlZDogYm9vbGVhbikgPT4gdm9pZCxcbiAgc2V0TWVzc2FnZXM6ICh1cGRhdGVyOiAocHJldjogTWVzc2FnZVtdW10pID0+IE1lc3NhZ2VbXVtdKSA9PiB2b2lkLFxuKSA9PiB7XG4gIHNldFJlcXVlc3RGYWlsdXJlKHRydWUpO1xuXG4gIGNvbnN0IGVycm9yTWVzc2FnZSA9IGdldEVycm9yTWVzc2FnZShfZXJyb3IpO1xuICBzZXRNZXNzYWdlcyhwcmV2ID0+IFtcbiAgICAuLi5wcmV2LFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuQXNzaXN0YW50LFxuICAgICAgICB0eXBlOiBNZXNzYWdlVHlwZS5UZXh0LFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICBjb250ZW50OiBlcnJvck1lc3NhZ2UsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcblxuY29uc3QgdXBkYXRlTWVzc2FnZVN0YXRlID0gKFxuICBtZXNzYWdlOiBNZXNzYWdlLFxuICBsYXN0TWVzc2FnZTogTWVzc2FnZSxcbiAgc2V0TWVzc2FnZXM6ICh1cGRhdGVyOiAocHJldjogTWVzc2FnZVtdW10pID0+IE1lc3NhZ2VbXVtdKSA9PiB2b2lkLFxuKTogTWVzc2FnZSA9PiB7XG4gIGlmIChsYXN0TWVzc2FnZSA9PSBudWxsKSB7XG4gICAgc2V0TWVzc2FnZXMocHJldiA9PiBbLi4ucHJldiwgW21lc3NhZ2VdXSk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cbiAgaWYgKGxhc3RNZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlRleHQgJiYgbWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5UZXh0KSB7XG4gICAgY29uc3QgbmV3TWVzc2FnZSA9IHtcbiAgICAgIC4uLmxhc3RNZXNzYWdlLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4ubGFzdE1lc3NhZ2UubWV0YWRhdGEsXG4gICAgICAgIGNvbnRlbnQ6IGxhc3RNZXNzYWdlLm1ldGFkYXRhLmNvbnRlbnQgKyBtZXNzYWdlLm1ldGFkYXRhLmNvbnRlbnQsXG4gICAgICB9LFxuICAgIH07XG4gICAgc2V0TWVzc2FnZXMocHJldiA9PiB7XG4gICAgICBjb25zdCBsYXN0VHVybiA9IHByZXZbcHJldi5sZW5ndGggLSAxXTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnByZXYuc2xpY2UoMCwgcHJldi5sZW5ndGggLSAxKSxcbiAgICAgICAgWy4uLmxhc3RUdXJuLnNsaWNlKDAsIGxhc3RUdXJuLmxlbmd0aCAtIDEpLCBuZXdNZXNzYWdlXSxcbiAgICAgIF07XG4gICAgfSk7XG4gICAgcmV0dXJuIG5ld01lc3NhZ2U7XG4gIH1cbiAgc2V0TWVzc2FnZXMocHJldiA9PiBbLi4ucHJldi5zbGljZSgwLCBwcmV2Lmxlbmd0aCAtIDEpLCBbLi4ucHJldltwcmV2Lmxlbmd0aCAtIDFdLCBtZXNzYWdlXV0pO1xuICByZXR1cm4gbWVzc2FnZTtcbn07XG5cbmNvbnN0IHByb2Nlc3NTdHJlYW1pbmdSZXNwb25zZSA9IGFzeW5jIChcbiAgc3RyZWFtOiBBc3luY0l0ZXJhYmxlPFJlc3BvbnNlPixcbiAgbWVzc2FnZUludGVyY2VwdG9yOiB7IGludGVyY2VwdDogKHJlc3BvbnNlPzogUmVzcG9uc2UpID0+IGJvb2xlYW4gfCB1bmRlZmluZWQgfSxcbiAgc2V0TWVzc2FnZXM6ICh1cGRhdGVyOiAocHJldjogTWVzc2FnZVtdW10pID0+IE1lc3NhZ2VbXVtdKSA9PiB2b2lkLFxuICBzZXRSZXNwb25zZVN0cmVhbWluZzogKHJlc3BvbnNlU3RyZWFtaW5nOiBib29sZWFuKSA9PiB2b2lkLFxuKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBudW1iZXIgfCBzdHJpbmdbXT4+ID0+IHtcbiAgbGV0IGxhc3RNZXNzYWdlOiBNZXNzYWdlIHwgdW5kZWZpbmVkO1xuICBzZXRSZXNwb25zZVN0cmVhbWluZyh0cnVlKTtcbiAgY29uc3QgcmVzcG9uc2VBbmFseXRpY3M6IFJlY29yZDxzdHJpbmcsIG51bWJlciB8IHN0cmluZ1tdPiA9IHt9O1xuICBjb25zdCBwcm9kdWN0SWRzID0gW107XG5cbiAgZm9yIGF3YWl0IChjb25zdCByZXNwb25zZSBvZiBzdHJlYW0pIHtcbiAgICB0cnkge1xuICAgICAgaWYgKG1lc3NhZ2VJbnRlcmNlcHRvci5pbnRlcmNlcHQocmVzcG9uc2UpKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJlc3BvbnNlIGZyb20gc3RyZWFtJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBtZXNzYWdlRnJvbVJlc3BvbnNlKHJlc3BvbnNlKTtcbiAgICAgIGlmICghbWVzc2FnZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byB0cmFuc2Zvcm0gQVBJIHJlc3BvbnNlIHRvIGNsaWVudCBtZXNzYWdlJyk7XG4gICAgICB9XG4gICAgICBpZiAobWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5Qcm9kdWN0KSB7XG4gICAgICAgIGNvbnN0IGNhcmRzQ291bnRlciA9IChyZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2NhcmRzX3JldHVybmVkJ10gYXMgbnVtYmVyKSB8fCAwO1xuICAgICAgICByZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2NhcmRzX3JldHVybmVkJ10gPSBjYXJkc0NvdW50ZXIgKyAxO1xuXG4gICAgICAgIGNvbnN0IHByb2R1Y3RJZHMgPSByZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2lkc19yZXR1cm5lZCddIGFzIHN0cmluZ1tdO1xuICAgICAgICBpZiAoIXByb2R1Y3RJZHMpIHtcbiAgICAgICAgICByZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2lkc19yZXR1cm5lZCddID0gW21lc3NhZ2UubWV0YWRhdGEuaWRdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb2R1Y3RJZHMucHVzaChtZXNzYWdlLm1ldGFkYXRhLmlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuUmV2aWV3KSB7XG4gICAgICAgIGNvbnN0IGNhcmRzQ291bnRlciA9IChyZXNwb25zZUFuYWx5dGljc1snY2hhdC5yZXZpZXdfY2FyZHNfcmV0dXJuZWQnXSBhcyBudW1iZXIpIHx8IDA7XG4gICAgICAgIHJlc3BvbnNlQW5hbHl0aWNzWydjaGF0LnJldmlld19jYXJkc19yZXR1cm5lZCddID0gY2FyZHNDb3VudGVyICsgMTtcbiAgICAgIH1cblxuICAgICAgLy8gTm8gc3VwcG9ydCBmb3IgQ2hhdFNlYXJjaCBtZXNzYWdlcyBhdCB0aGUgY3VycmVudCB0aW1lLlxuICAgICAgLy8gUGVyaGFwcyB3ZSBhZGQgc3VwcG9ydCBiYWNrIGluIHRoZSBmdXR1cmVcbiAgICAgIC8vIGlmIChtZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlByb2R1Y3RTZWFyY2gpIHtcbiAgICAgIC8vICAgaGFuZGxlU2VhcmNoUmVzdWx0cyhtZXNzYWdlKTtcbiAgICAgIC8vICAgaGFzU2VhcmNoUmVzdWx0cyA9IHRydWU7XG4gICAgICAvLyAgIHNldFNlYXJjaElzTG9hZGluZyhmYWxzZSk7IC8vIFVwZGF0ZSBzZWFyY2ggbG9hZGluZyBpbW1lZGlhdGVseSB3aGVuIHJlc3VsdHMgYXJlIGRldGVjdGVkXG4gICAgICAvLyB9XG5cbiAgICAgIGxhc3RNZXNzYWdlID0gdXBkYXRlTWVzc2FnZVN0YXRlKG1lc3NhZ2UsIGxhc3RNZXNzYWdlISwgc2V0TWVzc2FnZXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBsb2dnZXIubG9nV2FybignRmFpbGVkIHRvIGdlbmVyYXRlIHJlc3BvbnNlcyBmcm9tIHN0cmVhbScsIGVycm9yLCB7XG4gICAgICAgIGxhc3RSZXNwb25zZTogbGFzdE1lc3NhZ2UsXG4gICAgICAgIHJlc3BvbnNlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHNldFJlc3BvbnNlU3RyZWFtaW5nKGZhbHNlKTtcbiAgfVxuICByZXR1cm4gcmVzcG9uc2VBbmFseXRpY3M7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudFNlcnZpY2U6ICgpID0+IFNhbGVzQWdlbnRTZXJ2aWNlID0gKCkgPT4ge1xuICBjb25zdCBzZXRSZXF1ZXN0RmFpbHVyZSA9IHVzZVNldEF0b20ocmVxdWVzdEZhaWx1cmVBdG9tKTtcbiAgY29uc3Qgc2V0TWVzc2FnZXMgPSB1c2VTZXRBdG9tKG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuICBjb25zdCBzZXRQZW5kaW5nUmVzcG9uc2UgPSB1c2VTZXRBdG9tKHBlbmRpbmdSZXNwb25zZUF0b20pO1xuICBjb25zdCBzZXRSZXNwb25zZVN0cmVhbWluZyA9IHVzZVNldEF0b20ocmVzcG9uc2VTdHJlYW1pbmdBdG9tKTtcbiAgY29uc3Qgc2V0U3VnZ2VzdGlvbnNMb2FkaW5nID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0xvYWRpbmdBdG9tKTtcbiAgY29uc3QgYW5hbHl0aWNzQ29udGV4dCA9IHVzZUF0b21WYWx1ZShhbmFseXRpY3NDb250ZXh0QXRvbSk7XG4gIGNvbnN0IG1lc3NhZ2VJbnRlcmNlcHRvciA9IHVzZU1lc3NhZ2VJbnRlcmNlcHRvcigpO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IHVzZUZlYXR1cmVGbGFnU2VydmljZSgpO1xuICBjb25zdCBjb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFwcERldGFpbHNBdG9tKTtcbiAgY29uc3QgcmVzb2x2ZWRCYXNlQ29uZmlnVmVyc2lvbiA9IHVzZUF0b21WYWx1ZShyZXNvbHZlZEJhc2VDb25maWdWZXJzaW9uQXRvbSk7XG5cbiAgY29uc3QgY3JlYXRlUmVzcG9uc2VQYXlsb2FkID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIHVzZXJFdmVudHMsXG4gICAgICBnZW5lcmF0aW9uUGFyYW1zLFxuICAgIH06IHtcbiAgICAgIHVzZXJFdmVudHM6IFVzZXJFdmVudFtdO1xuICAgICAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gICAgfSk6IE5leHRNZXNzYWdlUmVxdWVzdCA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlRmxhZ3MgPSBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZT8uZ2V0RmVhdHVyZUZsYWdzKCkgfHwge307XG5cbiAgICAgIGNvbnN0IG92ZXJyaWRlQ29uZmlnVmVyc2lvbiA9XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ3NwaWZmeV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIGdldFF1ZXJ5UGFyYW0oJ2Vudml2ZV9jb25maWdfdmVyc2lvbicpIHx8XG4gICAgICAgIHJlc29sdmVkQmFzZUNvbmZpZ1ZlcnNpb24gfHxcbiAgICAgICAgdW5kZWZpbmVkO1xuICAgICAgY29uc3Qgb3ZlcnJpZGVNb2RlbERhdGV0aW1lID0gZ2V0UXVlcnlQYXJhbSgnb3ZlcnJpZGVfbW9kZWxfZGF0ZXRpbWUnKSB8fCB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICB1c2VyRXZlbnRzLFxuICAgICAgICBmZWF0dXJlRmxhZ3MsXG4gICAgICAgIGdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgIG92ZXJyaWRlQ29uZmlnVmVyc2lvbixcbiAgICAgICAgb3ZlcnJpZGVNb2RlbERhdGV0aW1lLFxuICAgICAgfTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZSwgcmVzb2x2ZWRCYXNlQ29uZmlnVmVyc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIGxldCBzdWNjZXNzZnVsUmVzcG9uc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICBzZXRQZW5kaW5nUmVzcG9uc2UodHJ1ZSk7XG4gICAgICBzZXRTdWdnZXN0aW9ucyhbXSk7XG4gICAgICBzZXRTdWdnZXN0aW9uc0xvYWRpbmcodHJ1ZSk7XG4gICAgICBjb25zdCBzdHJlYW0gPSBDb21tZXJjZUFwaUNsaWVudC5nZXROZXh0UmVzcG9uc2VTdHJlYW1pbmcocGF5bG9hZCk7XG4gICAgICBsZXQgcmVzcG9uc2VBbmFseXRpY3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0UmVxdWVzdEZhaWx1cmUoZmFsc2UpO1xuXG4gICAgICAgIHJlc3BvbnNlQW5hbHl0aWNzID0gYXdhaXQgcHJvY2Vzc1N0cmVhbWluZ1Jlc3BvbnNlKFxuICAgICAgICAgIHN0cmVhbSxcbiAgICAgICAgICBtZXNzYWdlSW50ZXJjZXB0b3IsXG4gICAgICAgICAgc2V0TWVzc2FnZXMsXG4gICAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcsXG4gICAgICAgICk7XG4gICAgICAgIHN1Y2Nlc3NmdWxSZXNwb25zZSA9IHRydWU7XG5cbiAgICAgICAgLy8gVE9ETzogQWRkIHN1cHBvcnQgZm9yIHRoZSBDaHJvbWUgRXh0ZW5zaW9uIGNvbW11bmljYXRpb25cbiAgICAgICAgLy8gYXdhaXQgbG9nQnVuZGxlRXZlbnQoe1xuICAgICAgICAvLyAgIGxldmVsOiAnaW5mbycsXG4gICAgICAgIC8vICAgZXZlbnQ6ICdORVhUX1JFU1BPTlNFX1NVQ0NFU1MnLFxuICAgICAgICAvLyAgIGNvbnRleHQ6IHtcbiAgICAgICAgLy8gICAgIHR5cGU6ICduZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBlbmRwb2ludDogJy92MS9uZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBzdGF0dXNDb2RlOiAyMDAsXG4gICAgICAgIC8vICAgICByZXNwb25zZVRpbWUsXG4gICAgICAgIC8vICAgfSxcbiAgICAgICAgLy8gfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIGdldHRpbmcgc3RyZWFtaW5nIHJlc3BvbnNlcycsIGUpO1xuICAgICAgICBzdWNjZXNzZnVsUmVzcG9uc2UgPSBmYWxzZTtcbiAgICAgICAgLy8gTG9nIGZhaWxlZCBuZXh0X3Jlc3BvbnNlcyBjYWxsXG4gICAgICAgIC8vIGNvbnN0IHJlc3BvbnNlVGltZSA9IERhdGUubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICAgIC8vIGF3YWl0IGxvZ0J1bmRsZUV2ZW50KHtcbiAgICAgICAgLy8gICBsZXZlbDogJ2Vycm9yJyxcbiAgICAgICAgLy8gICBldmVudDogJ05FWFRfUkVTUE9OU0VfRkFJTEVEJyxcbiAgICAgICAgLy8gICBtZXNzYWdlOiBgRmFpbGVkIHRvIGdldCBzdHJlYW1pbmcgcmVzcG9uc2U6ICR7ZX1gLFxuICAgICAgICAvLyAgIGNvbnRleHQ6IHtcbiAgICAgICAgLy8gICAgIHR5cGU6ICduZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBlbmRwb2ludDogJy92MS9uZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICByZXNwb25zZVRpbWUsXG4gICAgICAgIC8vICAgICBlcnJvcjogZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpLFxuICAgICAgICAvLyAgIH0sXG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIGhhbmRsZVN0cmVhbWluZ0Vycm9yKGUsIHNldFJlcXVlc3RGYWlsdXJlLCBzZXRNZXNzYWdlcyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICAvLyBMb2cgbmV4dF9yZXNwb25zZXMgY2FsbFxuICAgICAgICBjb25zdCByZXNwb25zZVRpbWUgPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHJlc3BvbnNlVGltZU1zOiByZXNwb25zZVRpbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHN1Y2Nlc3NmdWxfcmVzcG9uc2U6IHN1Y2Nlc3NmdWxSZXNwb25zZSxcbiAgICAgICAgICAgIC4uLmlucHV0UHJvcHNUb1RyYWNraW5nUHJvcHMocGF5bG9hZCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVzcG9uc2UsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgLi4uYW5hbHl0aWNzQ29udGV4dCxcbiAgICAgICAgICAgICdjaGF0LnJlc3BvbnNlX3RpbWVfbXMnOiByZXNwb25zZVRpbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIC4uLmlucHV0UHJvcHNUb0Vudml2ZVRyYWNraW5nUHJvcHMocGF5bG9hZCksXG4gICAgICAgICAgICAuLi5yZXNwb25zZUFuYWx5dGljcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0UGVuZGluZ1Jlc3BvbnNlKGZhbHNlKTtcbiAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcoZmFsc2UpO1xuICAgICAgICAvLyBsb2dQZXJmTWV0cmljKFBlcmZNZXRyaWNzRXZlbnRzLkZpcnN0UmVzcG9uc2VDb21wbGV0ZWQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgYW5hbHl0aWNzQ29udGV4dCxcbiAgICAgIHRyYWNrRXZlbnQsXG4gICAgICBzZXRSZXNwb25zZVN0cmVhbWluZyxcbiAgICAgIC8vIGxvZ1BlcmZNZXRyaWMsXG4gICAgICBzZXRSZXF1ZXN0RmFpbHVyZSxcbiAgICAgIHNldFN1Z2dlc3Rpb25zLFxuICAgICAgc2V0U3VnZ2VzdGlvbnNMb2FkaW5nLFxuICAgICAgbWVzc2FnZUludGVyY2VwdG9yLFxuICAgICAgc2V0TWVzc2FnZXMsXG4gICAgICBzZXRQZW5kaW5nUmVzcG9uc2UsXG4gICAgXSxcbiAgKTtcblxuICBjb25zdCBnZXRTdWdnZXN0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIHNldFN1Z2dlc3Rpb25zTG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IG5ld1N1Z2dlc3Rpb25zID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0TmV4dFN1Z2dlc3Rpb25zKHBheWxvYWQpO1xuICAgICAgICBzZXRTdWdnZXN0aW9ucyhuZXdTdWdnZXN0aW9ucyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRTdWdnZXN0aW9uc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFN1Z2dlc3Rpb25zLCBzZXRTdWdnZXN0aW9uc0xvYWRpbmddLFxuICApO1xuXG4gIGNvbnN0IGh5ZHJhdGVNZXNzYWdlcyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IG9yZ0lkLCBjaGF0SWQsIHVzZXJJZCB9ID0gY29udGV4dDtcbiAgICBjb25zdCB7IG1lc3NhZ2VzOiBleGlzdGluZ01lc3NhZ2VzIH0gPSBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRSZXNwb25zZXMoXG4gICAgICBvcmdJZCxcbiAgICAgIGNoYXRJZCxcbiAgICAgIHVzZXJJZCxcbiAgICApO1xuICAgIHNldE1lc3NhZ2VzKFsuLi5leGlzdGluZ01lc3NhZ2VzXSk7XG4gIH0sIFtjb250ZXh0LCBzZXRNZXNzYWdlc10pO1xuXG4gIHJldHVybiB7XG4gICAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkLFxuICAgIGdldFN0cmVhbWluZ1Jlc3BvbnNlcyxcbiAgICBnZXRTdWdnZXN0aW9ucyxcbiAgICBoeWRyYXRlTWVzc2FnZXMsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQ0EsTUFBTSxTQUFTLElBQUlBLGVBQU8sb0JBQW9CO0FBWTlDLE1BQU0sNkJBQ0osWUFDd0M7Q0FDeEMsTUFBTSxDQUFDLGFBQWEsUUFBUSxjQUFjLEVBQUU7QUFDNUMsS0FBSSxVQUFVLGFBQWEsa0JBQWtCLGtCQUMzQyxRQUFPO0VBQ0wsWUFBWSxVQUFVO0VBQ3RCLGlCQUFpQjtFQUNqQixZQUFZLFVBQVUsV0FBVztFQUNsQztBQUVILEtBQUksVUFBVSxhQUFhLGtCQUFrQixXQUMzQyxRQUFPO0VBQ0wsWUFBWSxVQUFVO0VBQ3RCLGlCQUFpQjtFQUNqQixZQUFZLFVBQVUsV0FBVztFQUNsQztBQUVILFFBQU8sRUFBRTs7QUFHWCxNQUFNLG1DQUNKLFlBQ3dDO0NBQ3hDLE1BQU0sQ0FBQyxhQUFhLFFBQVEsY0FBYyxFQUFFO0FBQzVDLEtBQUksVUFBVSxhQUFhLGtCQUFr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
|
|
@@ -704,4 +704,4 @@ interface EnviveConfig {
|
|
|
704
704
|
}
|
|
705
705
|
//#endregion
|
|
706
706
|
export { type CategoryExtractor, CategoryExtractorType, type ChatMessageConfig, type ChatMessageVariant, type ChatPreviewConfig, type ChatPreviewFooterConfig, type ChatPreviewHeaderConfig, type ChatPreviewHeaderV2Config, type ChatPreviewIsLoadingWidgetConfig, type ChatPreviewPostInteractionWidgetConfig, type ChatPreviewProductComparisonWidgetConfig, type ChatPreviewSuggestionButtonConfig, type ChatPreviewV2WidgetConfig, type ChatPreviewVariant, type ChatPreviewWidgetConfig, type ColorMapping, ColorNames, type CustomerServiceIntegration, type DynamicWidgetMounting, EnviveConfig, FilterAttribute, type FloatingEntryPointConfig, type FullCustomerServiceIntegration, type HomePageVariant, type IdExtractor, type ImageBannerWidgetConfig, type ImagePromptWidgetConfig, type InsertionPoint, type MerchantVariantSettings, type MultiImageConfig, type NoOpWidgetConfig, type NumRows, OrgConfig, OrgPageConfig, type OrgUIConfig, type OtherPageVariant, type PDPPageVariant, type PLPPageVariant, type PageCardConfig, type PageCardHoverVariant, type PageCardIconVariant, type PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, type ProductCardConfig, type ProductCardHoverVariant, type ProductCardLayoutVariant, type ProductCardVariant, ProductGridVariant, type ProductLinkHoverVariant, type ProductLinkIconVariant, type ProductLinkVariant, type ProductReviewColorVariant, type ProductReviewConfig, type ProductReviewStyleVariant, type SearchCardVariant, type SearchConfig, type SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, type SearchOverlayHostWidgetConfig, type SearchPageVariant, type SearchPromptVariant, type SearchPromptWidgetConfig, type SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, type ShowFloatingButtonOptions, type SingleImagePromptWidgetConfig, type SocialProofConfig, type SocialProofV2WidgetConfig, type StaticWidgetMounting, type SuggestionBarWidgetV2Config, type SuggestionButtonConfig, type SuggestionButtonVariant, type URLTest, type UserQueryButtonConfig, type UserQueryButtonIcon, UserQueryOptions, type VisitPageVariant, type WelcomeSectionColorVariant, type WelcomeSectionConfig, type WelcomeSectionVariant, type WidgetConfig, type WidgetDisplayTests, WidgetHeaderProps, type WidgetMounting, WidgetMountingConfig, WidgetType, type WrappingElement, colorVar };
|
|
707
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uJztcbmltcG9ydCB7IENvbG9yTWFwcGluZywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsIEN1c3RvbWVyU2VydmljZVR5cGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSAnc3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uJztcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VWaXNpdENhdGVnb3J5LCBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzLCBXaWRnZXRUeXBlVjMgfSBmcm9tICcuL3R5cGVzVjMnO1xuaW1wb3J0IHR5cGUgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnLi9oYXJkY29weUNvbnRleHQvaGFyZGNvcHlDb250ZXh0JztcbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9ICdhbHdheXMnIHwgJ2FmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcCcgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tYW55d2hlcmUnIHwgJ25ldmVyJztcbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWxlZnQnIHwgJ21pZGRsZS1sZWZ0JyB8ICdtaWRkbGUtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCc7XG4gICAgZXhwYW5zaW9uVGV4dD86IHtcbiAgICAgICAgcGRwOiBzdHJpbmc7XG4gICAgICAgIHBscDogc3RyaW5nO1xuICAgIH07XG4gICAgbWluaW1pemVkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNob3dPcHRpb246IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IG51bWJlcjtcbiAgICBpY29uU3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBudW1iZXI7XG59O1xudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ291dGxpbmVkJztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gICAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICAgIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGljb25OYW1lPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICAgIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICAgIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7XG4gICAgICAgIHBkcDogc3RyaW5nW107XG4gICAgICAgIHBscDogc3RyaW5nW107XG4gICAgfTtcbiAgICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgICBzcGFya2xlc0NvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGljb25XaWR0aD86IHN0cmluZztcbiAgICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gICAgaGFzRmFkZT86IGJvb2xlYW47XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiAnZGFyaycgfCAnbGlnaHQnIHwgJ291dGxpbmVkJztcbiAgICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xudHlwZSBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50ID0gJ25ldXRyYWwnIHwgJ2JyYW5kJyB8ICdwcmVtaXVtJztcbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgICBzdHlsZVZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc/OiBib29sZWFuO1xufVxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAnbWluaW1hbCc7XG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG50eXBlIFBhZ2VDYXJkSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICdiYWNrZ3JvdW5kJyB8ICdub25lJztcbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gICAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG50eXBlIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJyB8ICdub25lJztcbnR5cGUgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50ID0gJ25vcm1hbCcgfCAndGFsbCcgfCAnc3F1YXJlJztcbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gICAgdmFyaWFudDogUHJvZHVjdENhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gICAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICAgIHByaWNlUHJlZml4Pzogc3RyaW5nO1xufVxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICAgIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICAgIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gICAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICAgIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAgIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICAgIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICAgIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gICAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gICAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICAgIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICAgIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICAgKi9cbiAgICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG4gICAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogJ0JFRk9SRV9NRVNTQUdFUycgfCAnQUZURVJfTUVTU0FHRVMnO1xuICAgIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gICAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gICAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICAgIHByb2R1Y3RMaW5rOiB7XG4gICAgICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICAgICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gICAgfTtcbn1cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgICBzaXplPzogJ21kJyB8ICdsZyc7XG4gICAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPSAnYWNjZW50UHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaycgfCAnYm9yZGVyTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSAndGV4dExpbmsnO1xudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9ICdiYWNrZ3JvdW5kRGFyayc7XG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID0gJ2JhY2tncm91bmRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyaycgfCAnYmFja2dyb3VuZExpZ2h0JyB8ICdiYWNrZ3JvdW5kU2F0dXJhdGVkJztcbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPSAnb3V0bGluZWQnIHwgJ291dGxpbmVkTGlnaHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2RhcmsnIHwgJ2RhcmtBY2NlbnQnIHwgJ2RhcmtQcmltYXJ5JyB8ICdzZWNvbmRhcnlEYXJrJyB8ICdzZWNvbmRhcnlBY2NlbnQnIHwgJ3RyYW5zcGFyZW50JyB8ICd0cmFuc3BhcmVudERhcmsnIHwgJ2xpZ2h0RGFyayc7XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG50eXBlIE51bVJvd3MgPSAnZGVmYXVsdCcgfCAnYWx3YXlzT25lUm93JyB8ICdhbHdheXNUd29Sb3dzJyB8ICd0d29Sb3dzT25Nb2JpbGUnO1xuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnYWxwaGFiZXRpYyc7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxudHlwZSBGaWx0ZXJTb3J0aW5nID0gQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIHR5cGU6ICdkeW5hbWljJztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ3ByaWNlJztcbiAgICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID0gJ2JhY2tncm91bmRUZXJ0aWFyeScgfCAnYmFja2dyb3VuZERhcmsnIHwgJ2JhY2tncm91bmRQcmltYXJ5JztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9ICdpbnB1dCcgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSAndGhpbicgfCAnYm9sZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9ICdkYXJrQnV0dG9uJyB8ICdsaWdodEJ1dHRvbic7XG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPSAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICdtYWduaWZ5aW5nR2xhc3NUaGluJyB8ICdzZW5kQXJyb3cnIHwgJ3NlYXJjaEljb24nO1xuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86ICdib3gnIHwgJ3VuZGVybGluZUxpZ2h0JyB8ICd1bmRlcmxpbmVEYXJrJztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICAgIGNvcHk6IHN0cmluZztcbiAgICBsaW5rOiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjtcbiAgICB9O1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gICAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gICAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nPzogc3RyaW5nO1xufVxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcbnR5cGUgT3JnVUlDb25maWcgPSB7XG4gICAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAgIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG4gICAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoPzogQ29udmVyc2F0aW9uYWxTZWFjaDtcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGhpZGRlbkVsZW1lbnRTZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgICBtZXJjaGFudFZhcmlhbnRTZXR0aW5ncz86IE1lcmNoYW50VmFyaWFudFNldHRpbmdzO1xuICAgIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuICAgIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAgIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gICAgc3RpY2t5QWdlbnRTd2l0Y2hTdWdnZXN0aW9uPzogYm9vbGVhbjtcbiAgICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RSZXZpZXdDb25maWc/OiBQcm9kdWN0UmV2aWV3Q29uZmlnO1xuICAgIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICBzZWxlY3Rpb25JbmRleD86IG51bWJlcjtcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbnR5cGUgVVJMVGVzdCA9ICdzaG9waWZ5JyB8ICdudWxsJztcbnR5cGUgSWRFeHRyYWN0b3IgPSAnc2hvcGlmeS1wcm9kdWN0LWlkJyB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJyB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCcgfCAndXJsLXJlc29sdmVyLXBscC1pZCcgfCAnbnVsbCc7XG5kZWNsYXJlIGVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgICBWaXNpdENhdGVnb3J5TWFwID0gXCJWaXNpdENhdGVnb3J5TWFwXCIsXG4gICAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCJcbn1cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICAgIHR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICAgIG1hcDoge1xuICAgICAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICAgIH07XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHQgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIGVsZW1lbnQ6IHN0cmluZztcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbmRlY2xhcmUgZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICAgIENhdGFsb2dDYXRlZ29yeSA9IFwiQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gICAgVG9wQ2F0YWxvZ0NhdGVnb3J5ID0gXCJUb3BDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gICAgSW5Db2xsZWN0aW9uID0gXCJJbkNvbGxlY3Rpb25cIixcbiAgICBIYXNNZXJjaGFudFRhZyA9IFwiSGFzTWVyY2hhbnRUYWdcIixcbiAgICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgICBQbHBJZCA9IFwiUGxwSWRcIixcbiAgICBRdWVyeVBhcmFtID0gXCJRdWVyeVBhcmFtXCIsXG4gICAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgICBVc2VySGFzSW50ZXJhY3RlZCA9IFwiVXNlckhhc0ludGVyYWN0ZWRcIixcbiAgICBVc2VySGFzTm90SW50ZXJhY3RlZCA9IFwiVXNlckhhc05vdEludGVyYWN0ZWRcIixcbiAgICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICAgIGlzUHJvZHVjdENvbXBhcmlzb24gPSBcImlzUHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBGYWxsYmFjayA9IFwiRmFsbGJhY2tcIixcbiAgICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgICBpc1NjcmVlbldpZHRoU21hbGxlciA9IFwiaXNTY3JlZW5XaWR0aFNtYWxsZXJcIixcbiAgICBOdWxsID0gXCJudWxsXCJcbn1cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gICAgdGVzdFR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICAgIHRvcENhdGVnb3J5OiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICAgIGNhdGVnb3J5OiBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeTtcbn1cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gICAgcmV2aWV3TWluaW11bT86IG51bWJlcjtcbn1cbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICAgIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBIYXNNZXJjaGFudFRhZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzTWVyY2hhbnRUYWc+IHtcbiAgICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gICAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gICAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gICAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7XG59XG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7XG59XG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge1xufVxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge1xufVxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9IFBhZ2VDYXRlZ29yeVRlc3QgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0IHwgVG9wQ2F0YWxvZ0NhdGVnb3J5IHwgSGFzUmV2aWV3c1Rlc3QgfCBJbkNvbGxlY3Rpb25UZXN0IHwgSGFzTWVyY2hhbnRUYWdUZXN0IHwgRmVhdHVyZUdhdGVUZXN0IHwgUHJvZHVjdElkVGVzdCB8IFBscElkVGVzdCB8IFF1ZXJ5UGFyYW1UZXN0IHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0IHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IHwgSXNMb2FkaW5nVGVzdCB8IElzUHJvZHVjdENvbXBhcmlzb24gfCBQYWdlRmFsbGJhY2tUZXN0IHwgVXJsUmVzb2x2ZXJUZXN0IHwgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0O1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICAgIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICAgIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBsb2dvTmFtZT86IHN0cmluZztcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIHRlc3RJZD86IHN0cmluZztcbiAgICBwYXJlbnRJbnNlcnRpb25Qb2ludD86IEluc2VydGlvblBvaW50O1xuICAgIGluc2VydGlvblBvaW50OiBJbnNlcnRpb25Qb2ludDtcbiAgICBncmlkSW5zZXJ0aW9uVHlwZT86IEdyaWRJbnNlcnRpb25UeXBlO1xuICAgIHdyYXBwaW5nRWxlbWVudD86IFdyYXBwaW5nRWxlbWVudDtcbiAgICBkaXZDaGVja1NlbGVjdG9yPzogc3RyaW5nO1xuICAgIHN1cHByZXNzaW9uU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3R5bGU/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBkYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xudHlwZSBTdGF0aWNXaWRnZXRNb3VudGluZyA9IHtcbiAgICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIER5bmFtaWNXaWRnZXRNb3VudGluZyA9IHtcbiAgICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gICAgbW91bnRpbmdQb2ludFdpZGdldHM6IFdpZGdldERpc3BsYXlUZXN0c1tdO1xufTtcbnR5cGUgV2lkZ2V0RGlzcGxheVRlc3RzID0ge1xuICAgIHRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgV2lkZ2V0TW91bnRpbmcgPSBTdGF0aWNXaWRnZXRNb3VudGluZyB8IER5bmFtaWNXaWRnZXRNb3VudGluZztcbmRlY2xhcmUgZW51bSBXaWRnZXRUeXBlIHtcbiAgICBDaGF0UHJldmlldyA9IFwiQ2hhdFByZXZpZXdcIixcbiAgICBTb2NpYWxQcm9vZlYyID0gXCJTb2NpYWxQcm9vZlYyXCIsXG4gICAgQ2hhdFByZXZpZXdWMiA9IFwiQ2hhdFByZXZpZXdWMlwiLFxuICAgIENoYXRQcmV2aWV3SXNMb2FkaW5nID0gXCJDaGF0UHJldmlld0lzTG9hZGluZ1wiLFxuICAgIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uID0gXCJDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvblwiLFxuICAgIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24gPSBcIkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBTdWdnZXN0aW9uQmFyID0gXCJTdWdnZXN0aW9uQmFyXCIsXG4gICAgU3VnZ2VzdGlvbkJhclYyID0gXCJTdWdnZXN0aW9uQmFyVjJcIixcbiAgICBJbWFnZVByb21wdENhcmQgPSBcIkltYWdlUHJvbXB0Q2FyZFwiLFxuICAgIEltYWdlQmFubmVyID0gXCJJbWFnZUJhbm5lclwiLFxuICAgIFNpbmdsZUltYWdlUHJvbXB0ID0gXCJTaW5nbGVJbWFnZVByb21wdFwiLFxuICAgIFNlYXJjaFByb21wdCA9IFwiU2VhcmNoUHJvbXB0XCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCA9IFwiU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludFwiLFxuICAgIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50ID0gXCJTZWFyY2hSZXN1bHRzRW50cnlQb2ludFwiLFxuICAgIFNlYXJjaE92ZXJsYXlIb3N0ID0gXCJTZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgIE5vT3AgPSBcIk5vT3BcIlxufVxudHlwZSBXaWRnZXRDb25maWcgPSBDaGF0UHJldmlld1dpZGdldENvbmZpZyB8IFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcgfCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcgfCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgfCBJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnIHwgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgfCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgfCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIHwgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyB8IE5vT3BXaWRnZXRDb25maWc7XG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZT4ge1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gICAgdHlwZTogVDtcbiAgICBjb250ZW50SWQ/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VCYW5uZXI+IHtcbiAgICBpbWFnZVNyYzogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3VidGl0bGU6IHN0cmluZztcbiAgICBhc3Npc3RhbnRNZXNzYWdlOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXc+IHtcbiAgICB2YXJpYW50OiAnZmlsbGVkJyB8ICdmbGF0JyB8ICdvdXRsaW5lZCc7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gICAgc29jaWFsUHJvb2ZDb25maWc/OiBTb2NpYWxQcm9vZkNvbmZpZztcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbn1cbnR5cGUgU2luZ2xlSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnc2luZ2xlJztcbiAgICBpbWFnZUluZGV4OiBudW1iZXI7XG59O1xudHlwZSBNdWx0aUltYWdlQ29uZmlnID0ge1xuICAgIGxheW91dDogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGltYWdlTmFtZXM6IHN0cmluZ1tdO1xufTtcbnR5cGUgU29jaWFsUHJvb2ZJbWFnZUNvbmZpZyA9IFNpbmdsZUltYWdlQ29uZmlnIHwgTXVsdGlJbWFnZUNvbmZpZztcbnR5cGUgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnID0ge1xuICAgIGJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIGFjY2VudEJ1dHRvblZhcmlhbnRzPzoge1xuICAgICAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgfTtcbiAgICBidXR0b25WYXJpYW50czoge1xuICAgICAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgfTtcbiAgICBudW1Sb3dzPzogTnVtUm93cztcbn07XG50eXBlIENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnID0ge1xuICAgIGxlYWRpbmdUZXh0OiBzdHJpbmc7XG4gICAgYW5pbWF0ZWRTdHJpbmdzOiBzdHJpbmdbXTtcbn07XG50eXBlIENoYXRQcmV2aWV3VmFyaWFudCA9IHtcbiAgICB2YXJpYW50OiAnZmxhdCc7XG59IHwge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnO1xuICAgIGJhY2tncm91bmRGaWxsQ29sb3I6IHN0cmluZztcbn0gfCB7XG4gICAgdmFyaWFudDogJ291dGxpbmVkJztcbn07XG5pbnRlcmZhY2UgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBoZWFkZXJDb25maWc6IENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWc7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbnNDb25maWc6IENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgdXNlTGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1YyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBhbmltYXRlZFRleHRDb25maWc6IENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnO1xufVxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeT86IHN0cmluZztcbiAgICBpbWFnZUNvbmZpZzogU29jaWFsUHJvb2ZJbWFnZUNvbmZpZztcbn1cbmludGVyZmFjZSBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyPiB7XG4gICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbjtcbiAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcztcbiAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IHN0cmluZ1tdO1xuICAgICAgICBwcm9kdWN0U3BlY2lmaWM/OiB7XG4gICAgICAgICAgICBbcHJvZHVjdElkOiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gICAgdHdvUm93c09uTW9iaWxlPzogYm9vbGVhbjtcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgYnV0dG9uQm9yZGVyUmFkaXVzPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xufVxuaW50ZXJmYWNlIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZD4ge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGxpZ2h0VGV4dD86IGJvb2xlYW47XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nW107XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gICAgZmFsbGJhY2tCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQ+IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xufVxuaW50ZXJmYWNlIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludD4ge1xuICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ7XG4gICAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gICAgc2VhcmNoSWNvblZhcmlhbnQ/OiBTZWFyY2hJY29uVmFyaWFudDtcbiAgICBzZWFyY2hJY29uU2l6ZT86IG51bWJlcjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIGxheW91dDogU2VhcmNoWmVyb1N0YXRlTGF5b3V0O1xuICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgYW5pbWF0aW9uU3BlZWQ/OiAnc3RhbmRhcmQnIHwgJ3Nsb3cnIHwgJ25vbmUnO1xuICAgIGNvbXBhY3RMYWJlbD86IHN0cmluZztcbiAgICBpbml0aWFsU3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICB1c2luZ1BvcnRhbD86IGJvb2xlYW47XG4gICAgaW5jbHVkZVN1YnRpdGxlPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBOb09wV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLk5vT3A+IHtcbn1cbmludGVyZmFjZSBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hPdmVybGF5SG9zdD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gICAgc2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ6IFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50O1xuICAgIHByb2R1Y3RHcmlkVmFyaWFudDogUHJvZHVjdEdyaWRWYXJpYW50O1xuICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgbm9SZXN1bHRzRm91bmRUZXh0Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRIZWFkZXJQcm9wcyBleHRlbmRzIFRlc3RQcm9wcyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbG9nbz86IHN0cmluZztcbiAgICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xuICAgIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICAgIHZhcmlhbnQ/OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyUXVlcnlPcHRpb25zIHtcbiAgICBmb290ZXJWYXJpYW50PzogJ3N0YW5kYXJkJztcbiAgICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ21hZ25pZnlpbmdHbGFzcycgfCAnc2VuZCcgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnYWktc2VhcmNoJztcbn1cbnR5cGUgU2VhcmNoUHJvbXB0VmFyaWFudCA9ICdwcmltYXJ5JztcbmludGVyZmFjZSBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUHJvbXB0PiB7XG4gICAgdmFyaWFudDogU2VhcmNoUHJvbXB0VmFyaWFudDtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGhlYWRlckNvbmZpZzogV2lkZ2V0SGVhZGVyUHJvcHM7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbnM6IHtcbiAgICAgICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGJ1dHRvblRleHRzOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGZvb3RlckNvbmZpZz86IFVzZXJRdWVyeU9wdGlvbnM7XG59XG50eXBlIFBhZ2VWYXJpYW50QmFzZSA9IHtcbiAgICB2YXJpYW50SWQ6IHN0cmluZztcbiAgICB3aWRnZXRNb3VudGluZzogV2lkZ2V0TW91bnRpbmdbXTtcbiAgICB2YXJpYW50VGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIGZsb2F0aW5nQnV0dG9uT3ZlcnJpZGU/OiBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zO1xufTtcbnR5cGUgUExQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwbHAnO1xuICAgIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG50eXBlIFBEUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGRwJztcbiAgICBwYXJlbnRQcm9kdWN0SWRFeHRyYWN0b3I/OiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgVmlzaXRQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BhZ2VfdmlzaXQnO1xufTtcbnR5cGUgT3RoZXJQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ290aGVyJztcbn07XG50eXBlIEhvbWVQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ2hvbWVwYWdlJztcbn07XG50eXBlIFNlYXJjaFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnc2VhcmNoJztcbn07XG50eXBlIEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdmdWxsX3BhZ2UnO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID0gUExQUGFnZVZhcmlhbnQgfCBQRFBQYWdlVmFyaWFudCB8IFZpc2l0UGFnZVZhcmlhbnQgfCBPdGhlclBhZ2VWYXJpYW50IHwgSG9tZVBhZ2VWYXJpYW50IHwgU2VhcmNoUGFnZVZhcmlhbnQgfCBGdWxsUGFnZVNhbGVzQWdlbnRWYXJpYW50O1xuZXhwb3J0IHR5cGUgT3JnUGFnZUNvbmZpZyA9IHtcbiAgICBwYWdlVmFyaWFudHM6IFBhZ2VWYXJpYW50Q29uZmlnW107XG4gICAgd2lkZ2V0Q29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0Q29uZmlnVjM+O1xuICAgIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcbmV4cG9ydCB0eXBlIE9yZ0NvbmZpZyA9IE9yZ1VJQ29uZmlnO1xuZXhwb3J0IHsgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLCBDb2xvck5hbWVzLCBjb2xvclZhciwgUGFnZVZhcmlhbnRUZXN0VHlwZSwgV2lkZ2V0VHlwZSB9O1xuZXhwb3J0IGludGVyZmFjZSBFbnZpdmVDb25maWcge1xuICAgIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICAgIGVudj86IHN0cmluZztcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgICBjZG5Vcmw/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgb3JnSWQ/OiBzdHJpbmc7XG4gICAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG4gICAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGVudml2ZU9uPzogYm9vbGVhbjtcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgICBoYXJkY29weU92ZXJyaWRlPzogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj47XG59XG5leHBvcnQgdHlwZSB7IENhdGVnb3J5RXh0cmFjdG9yLCBDaGF0TWVzc2FnZVZhcmlhbnQsIENoYXRNZXNzYWdlQ29uZmlnLCBDaGF0UHJldmlld0NvbmZpZywgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLCBDaGF0UHJldmlld0hlYWRlckNvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3VmFyaWFudCwgQ29sb3JNYXBwaW5nLCBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIElkRXh0cmFjdG9yLCBJbWFnZUJhbm5lcldpZGdldENvbmZpZywgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIEluc2VydGlvblBvaW50LCBNdWx0aUltYWdlQ29uZmlnLCBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncywgU2VhcmNoQ29uZmlnLCBPcmdVSUNvbmZpZywgUGFnZUNhcmRDb25maWcsIFBhZ2VDYXJkVmFyaWFudCwgUGFnZUNhcmRIb3ZlclZhcmlhbnQsIFBhZ2VDYXJkSWNvblZhcmlhbnQsIFByb2R1Y3RDYXJkQ29uZmlnLCBQcm9kdWN0Q2FyZFZhcmlhbnQsIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCwgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LCBQcm9kdWN0TGlua0ljb25WYXJpYW50LCBQcm9kdWN0TGlua1ZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb25maWcsIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsIFNlYXJjaFByb21wdFZhcmlhbnQsIFNlYXJjaFByb21wdFdpZGdldENvbmZpZywgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZywgU29jaWFsUHJvb2ZDb25maWcsIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsIFVSTFRlc3QsIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZywgVXNlclF1ZXJ5QnV0dG9uSWNvbiwgV2VsY29tZVNlY3Rpb25Db25maWcsIFdlbGNvbWVTZWN0aW9uVmFyaWFudCwgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsIFdpZGdldENvbmZpZywgV3JhcHBpbmdFbGVtZW50LCBTZWFyY2hDYXJkVmFyaWFudCwgV2lkZ2V0RGlzcGxheVRlc3RzLCBOb09wV2lkZ2V0Q29uZmlnLCBXaWRnZXRNb3VudGluZywgU3RhdGljV2lkZ2V0TW91bnRpbmcsIER5bmFtaWNXaWRnZXRNb3VudGluZywgUERQUGFnZVZhcmlhbnQsIFBMUFBhZ2VWYXJpYW50LCBWaXNpdFBhZ2VWYXJpYW50LCBPdGhlclBhZ2VWYXJpYW50LCBIb21lUGFnZVZhcmlhbnQsIFNlYXJjaFBhZ2VWYXJpYW50LCBOdW1Sb3dzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFhQSxJQUFJLDRCQUE0QixDQUFDLEdBQUc7QUFDcEMsSUFBSSwyQkFBMkIsQ0FBQyxVQUFBLDBCQUFBO0FBQ2hDLElBQUksd0JBQXdCLENBQUMsR0FBRztBQUNoQyxJQUFJLDZCQUFnQixDQUFBLEdBQUE7QUFDcEIsSUFBSSx1QkFBZTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQUksb0JBQWU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFJLDBCQUFDLENBQUEsR0FBQTtBQUNMLElBQUksMEJBQXNCLENBQUEsR0FBQTtBQUMxQixJQUFJLDRCQUFxQixDQUFBLEdBQUE7QUFDekIsSUFBSSw0QkFBa0IsQ0FBQSxHQUFBO0FBQ3RCLElBQUksc0JBQXNCO0NBQUM7T0FB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
|
|
707
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uJztcbmltcG9ydCB7IENvbG9yTWFwcGluZywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsIEN1c3RvbWVyU2VydmljZVR5cGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSAnc3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uJztcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VWaXNpdENhdGVnb3J5LCBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzLCBXaWRnZXRUeXBlVjMgfSBmcm9tICcuL3R5cGVzVjMnO1xuaW1wb3J0IHR5cGUgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnLi9oYXJkY29weUNvbnRleHQvaGFyZGNvcHlDb250ZXh0JztcbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9ICdhbHdheXMnIHwgJ2FmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcCcgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tYW55d2hlcmUnIHwgJ25ldmVyJztcbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWxlZnQnIHwgJ21pZGRsZS1sZWZ0JyB8ICdtaWRkbGUtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCc7XG4gICAgZXhwYW5zaW9uVGV4dD86IHtcbiAgICAgICAgcGRwOiBzdHJpbmc7XG4gICAgICAgIHBscDogc3RyaW5nO1xuICAgIH07XG4gICAgbWluaW1pemVkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNob3dPcHRpb246IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IG51bWJlcjtcbiAgICBpY29uU3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBudW1iZXI7XG59O1xudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ291dGxpbmVkJztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gICAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICAgIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGljb25OYW1lPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICAgIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICAgIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7XG4gICAgICAgIHBkcDogc3RyaW5nW107XG4gICAgICAgIHBscDogc3RyaW5nW107XG4gICAgfTtcbiAgICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgICBzcGFya2xlc0NvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGljb25XaWR0aD86IHN0cmluZztcbiAgICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gICAgaGFzRmFkZT86IGJvb2xlYW47XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiAnZGFyaycgfCAnbGlnaHQnIHwgJ291dGxpbmVkJztcbiAgICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xudHlwZSBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50ID0gJ25ldXRyYWwnIHwgJ2JyYW5kJyB8ICdwcmVtaXVtJztcbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgICBzdHlsZVZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc/OiBib29sZWFuO1xufVxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAnbWluaW1hbCc7XG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG50eXBlIFBhZ2VDYXJkSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICdiYWNrZ3JvdW5kJyB8ICdub25lJztcbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gICAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG50eXBlIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJyB8ICdub25lJztcbnR5cGUgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50ID0gJ25vcm1hbCcgfCAndGFsbCcgfCAnc3F1YXJlJztcbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gICAgdmFyaWFudDogUHJvZHVjdENhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gICAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICAgIHByaWNlUHJlZml4Pzogc3RyaW5nO1xufVxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICAgIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICAgIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gICAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICAgIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAgIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICAgIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICAgIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gICAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gICAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICAgIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICAgIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICAgKi9cbiAgICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG4gICAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogJ0JFRk9SRV9NRVNTQUdFUycgfCAnQUZURVJfTUVTU0FHRVMnO1xuICAgIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gICAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gICAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICAgIHByb2R1Y3RMaW5rOiB7XG4gICAgICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICAgICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gICAgfTtcbn1cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgICBzaXplPzogJ21kJyB8ICdsZyc7XG4gICAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPSAnYWNjZW50UHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaycgfCAnYm9yZGVyTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSAndGV4dExpbmsnO1xudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9ICdiYWNrZ3JvdW5kRGFyayc7XG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID0gJ2JhY2tncm91bmRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyaycgfCAnYmFja2dyb3VuZExpZ2h0JyB8ICdiYWNrZ3JvdW5kU2F0dXJhdGVkJztcbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPSAnb3V0bGluZWQnIHwgJ291dGxpbmVkTGlnaHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2RhcmsnIHwgJ2RhcmtBY2NlbnQnIHwgJ2RhcmtQcmltYXJ5JyB8ICdzZWNvbmRhcnlEYXJrJyB8ICdzZWNvbmRhcnlBY2NlbnQnIHwgJ3RyYW5zcGFyZW50JyB8ICd0cmFuc3BhcmVudERhcmsnIHwgJ2xpZ2h0RGFyayc7XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG50eXBlIE51bVJvd3MgPSAnZGVmYXVsdCcgfCAnYWx3YXlzT25lUm93JyB8ICdhbHdheXNUd29Sb3dzJyB8ICd0d29Sb3dzT25Nb2JpbGUnO1xuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnYWxwaGFiZXRpYyc7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxudHlwZSBGaWx0ZXJTb3J0aW5nID0gQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIHR5cGU6ICdkeW5hbWljJztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ3ByaWNlJztcbiAgICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID0gJ2JhY2tncm91bmRUZXJ0aWFyeScgfCAnYmFja2dyb3VuZERhcmsnIHwgJ2JhY2tncm91bmRQcmltYXJ5JztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9ICdpbnB1dCcgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSAndGhpbicgfCAnYm9sZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9ICdkYXJrQnV0dG9uJyB8ICdsaWdodEJ1dHRvbic7XG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPSAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICdtYWduaWZ5aW5nR2xhc3NUaGluJyB8ICdzZW5kQXJyb3cnIHwgJ3NlYXJjaEljb24nO1xuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86ICdib3gnIHwgJ3VuZGVybGluZUxpZ2h0JyB8ICd1bmRlcmxpbmVEYXJrJztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICAgIGNvcHk6IHN0cmluZztcbiAgICBsaW5rOiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjtcbiAgICB9O1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gICAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gICAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nPzogc3RyaW5nO1xufVxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcbnR5cGUgT3JnVUlDb25maWcgPSB7XG4gICAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAgIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG4gICAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoPzogQ29udmVyc2F0aW9uYWxTZWFjaDtcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGhpZGRlbkVsZW1lbnRTZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgICBtZXJjaGFudFZhcmlhbnRTZXR0aW5ncz86IE1lcmNoYW50VmFyaWFudFNldHRpbmdzO1xuICAgIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuICAgIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAgIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gICAgc3RpY2t5QWdlbnRTd2l0Y2hTdWdnZXN0aW9uPzogYm9vbGVhbjtcbiAgICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RSZXZpZXdDb25maWc/OiBQcm9kdWN0UmV2aWV3Q29uZmlnO1xuICAgIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICBzZWxlY3Rpb25JbmRleD86IG51bWJlcjtcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbnR5cGUgVVJMVGVzdCA9ICdzaG9waWZ5JyB8ICdudWxsJztcbnR5cGUgSWRFeHRyYWN0b3IgPSAnc2hvcGlmeS1wcm9kdWN0LWlkJyB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJyB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCcgfCAndXJsLXJlc29sdmVyLXBscC1pZCcgfCAnbnVsbCc7XG5kZWNsYXJlIGVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgICBWaXNpdENhdGVnb3J5TWFwID0gXCJWaXNpdENhdGVnb3J5TWFwXCIsXG4gICAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCJcbn1cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICAgIHR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICAgIG1hcDoge1xuICAgICAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICAgIH07XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHQgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIGVsZW1lbnQ6IHN0cmluZztcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbmRlY2xhcmUgZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICAgIENhdGFsb2dDYXRlZ29yeSA9IFwiQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gICAgVG9wQ2F0YWxvZ0NhdGVnb3J5ID0gXCJUb3BDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gICAgSW5Db2xsZWN0aW9uID0gXCJJbkNvbGxlY3Rpb25cIixcbiAgICBIYXNNZXJjaGFudFRhZyA9IFwiSGFzTWVyY2hhbnRUYWdcIixcbiAgICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgICBQbHBJZCA9IFwiUGxwSWRcIixcbiAgICBRdWVyeVBhcmFtID0gXCJRdWVyeVBhcmFtXCIsXG4gICAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgICBVc2VySGFzSW50ZXJhY3RlZCA9IFwiVXNlckhhc0ludGVyYWN0ZWRcIixcbiAgICBVc2VySGFzTm90SW50ZXJhY3RlZCA9IFwiVXNlckhhc05vdEludGVyYWN0ZWRcIixcbiAgICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICAgIGlzUHJvZHVjdENvbXBhcmlzb24gPSBcImlzUHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBGYWxsYmFjayA9IFwiRmFsbGJhY2tcIixcbiAgICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgICBpc1NjcmVlbldpZHRoU21hbGxlciA9IFwiaXNTY3JlZW5XaWR0aFNtYWxsZXJcIixcbiAgICBOdWxsID0gXCJudWxsXCJcbn1cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gICAgdGVzdFR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICAgIHRvcENhdGVnb3J5OiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICAgIGNhdGVnb3J5OiBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeTtcbn1cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gICAgcmV2aWV3TWluaW11bT86IG51bWJlcjtcbn1cbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICAgIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBIYXNNZXJjaGFudFRhZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzTWVyY2hhbnRUYWc+IHtcbiAgICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gICAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gICAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gICAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7XG59XG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7XG59XG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge1xufVxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge1xufVxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9IFBhZ2VDYXRlZ29yeVRlc3QgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0IHwgVG9wQ2F0YWxvZ0NhdGVnb3J5IHwgSGFzUmV2aWV3c1Rlc3QgfCBJbkNvbGxlY3Rpb25UZXN0IHwgSGFzTWVyY2hhbnRUYWdUZXN0IHwgRmVhdHVyZUdhdGVUZXN0IHwgUHJvZHVjdElkVGVzdCB8IFBscElkVGVzdCB8IFF1ZXJ5UGFyYW1UZXN0IHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0IHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IHwgSXNMb2FkaW5nVGVzdCB8IElzUHJvZHVjdENvbXBhcmlzb24gfCBQYWdlRmFsbGJhY2tUZXN0IHwgVXJsUmVzb2x2ZXJUZXN0IHwgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0O1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICAgIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICAgIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBsb2dvTmFtZT86IHN0cmluZztcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIHRlc3RJZD86IHN0cmluZztcbiAgICBwYXJlbnRJbnNlcnRpb25Qb2ludD86IEluc2VydGlvblBvaW50O1xuICAgIGluc2VydGlvblBvaW50OiBJbnNlcnRpb25Qb2ludDtcbiAgICBncmlkSW5zZXJ0aW9uVHlwZT86IEdyaWRJbnNlcnRpb25UeXBlO1xuICAgIHdyYXBwaW5nRWxlbWVudD86IFdyYXBwaW5nRWxlbWVudDtcbiAgICBkaXZDaGVja1NlbGVjdG9yPzogc3RyaW5nO1xuICAgIHN1cHByZXNzaW9uU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3R5bGU/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbiAgICBkYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xudHlwZSBTdGF0aWNXaWRnZXRNb3VudGluZyA9IHtcbiAgICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIER5bmFtaWNXaWRnZXRNb3VudGluZyA9IHtcbiAgICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gICAgbW91bnRpbmdQb2ludFdpZGdldHM6IFdpZGdldERpc3BsYXlUZXN0c1tdO1xufTtcbnR5cGUgV2lkZ2V0RGlzcGxheVRlc3RzID0ge1xuICAgIHRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgV2lkZ2V0TW91bnRpbmcgPSBTdGF0aWNXaWRnZXRNb3VudGluZyB8IER5bmFtaWNXaWRnZXRNb3VudGluZztcbmRlY2xhcmUgZW51bSBXaWRnZXRUeXBlIHtcbiAgICBDaGF0UHJldmlldyA9IFwiQ2hhdFByZXZpZXdcIixcbiAgICBTb2NpYWxQcm9vZlYyID0gXCJTb2NpYWxQcm9vZlYyXCIsXG4gICAgQ2hhdFByZXZpZXdWMiA9IFwiQ2hhdFByZXZpZXdWMlwiLFxuICAgIENoYXRQcmV2aWV3SXNMb2FkaW5nID0gXCJDaGF0UHJldmlld0lzTG9hZGluZ1wiLFxuICAgIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uID0gXCJDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvblwiLFxuICAgIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24gPSBcIkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBTdWdnZXN0aW9uQmFyID0gXCJTdWdnZXN0aW9uQmFyXCIsXG4gICAgU3VnZ2VzdGlvbkJhclYyID0gXCJTdWdnZXN0aW9uQmFyVjJcIixcbiAgICBJbWFnZVByb21wdENhcmQgPSBcIkltYWdlUHJvbXB0Q2FyZFwiLFxuICAgIEltYWdlQmFubmVyID0gXCJJbWFnZUJhbm5lclwiLFxuICAgIFNpbmdsZUltYWdlUHJvbXB0ID0gXCJTaW5nbGVJbWFnZVByb21wdFwiLFxuICAgIFNlYXJjaFByb21wdCA9IFwiU2VhcmNoUHJvbXB0XCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCA9IFwiU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludFwiLFxuICAgIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50ID0gXCJTZWFyY2hSZXN1bHRzRW50cnlQb2ludFwiLFxuICAgIFNlYXJjaE92ZXJsYXlIb3N0ID0gXCJTZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgIE5vT3AgPSBcIk5vT3BcIlxufVxudHlwZSBXaWRnZXRDb25maWcgPSBDaGF0UHJldmlld1dpZGdldENvbmZpZyB8IFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcgfCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcgfCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgfCBJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnIHwgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgfCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgfCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIHwgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyB8IE5vT3BXaWRnZXRDb25maWc7XG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZT4ge1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gICAgdHlwZTogVDtcbiAgICBjb250ZW50SWQ/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VCYW5uZXI+IHtcbiAgICBpbWFnZVNyYzogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3VidGl0bGU6IHN0cmluZztcbiAgICBhc3Npc3RhbnRNZXNzYWdlOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXc+IHtcbiAgICB2YXJpYW50OiAnZmlsbGVkJyB8ICdmbGF0JyB8ICdvdXRsaW5lZCc7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gICAgc29jaWFsUHJvb2ZDb25maWc/OiBTb2NpYWxQcm9vZkNvbmZpZztcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbn1cbnR5cGUgU2luZ2xlSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnc2luZ2xlJztcbiAgICBpbWFnZUluZGV4OiBudW1iZXI7XG59O1xudHlwZSBNdWx0aUltYWdlQ29uZmlnID0ge1xuICAgIGxheW91dDogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGltYWdlTmFtZXM6IHN0cmluZ1tdO1xufTtcbnR5cGUgU29jaWFsUHJvb2ZJbWFnZUNvbmZpZyA9IFNpbmdsZUltYWdlQ29uZmlnIHwgTXVsdGlJbWFnZUNvbmZpZztcbnR5cGUgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnID0ge1xuICAgIGJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIGFjY2VudEJ1dHRvblZhcmlhbnRzPzoge1xuICAgICAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgfTtcbiAgICBidXR0b25WYXJpYW50czoge1xuICAgICAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgICAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgfTtcbiAgICBudW1Sb3dzPzogTnVtUm93cztcbn07XG50eXBlIENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnID0ge1xuICAgIGxlYWRpbmdUZXh0OiBzdHJpbmc7XG4gICAgYW5pbWF0ZWRTdHJpbmdzOiBzdHJpbmdbXTtcbn07XG50eXBlIENoYXRQcmV2aWV3VmFyaWFudCA9IHtcbiAgICB2YXJpYW50OiAnZmxhdCc7XG59IHwge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnO1xuICAgIGJhY2tncm91bmRGaWxsQ29sb3I6IHN0cmluZztcbn0gfCB7XG4gICAgdmFyaWFudDogJ291dGxpbmVkJztcbn07XG5pbnRlcmZhY2UgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBoZWFkZXJDb25maWc6IENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWc7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbnNDb25maWc6IENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gICAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgdXNlTGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1YyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBhbmltYXRlZFRleHRDb25maWc6IENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnO1xufVxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeT86IHN0cmluZztcbiAgICBpbWFnZUNvbmZpZzogU29jaWFsUHJvb2ZJbWFnZUNvbmZpZztcbn1cbmludGVyZmFjZSBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyPiB7XG4gICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbjtcbiAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcztcbiAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IHN0cmluZ1tdO1xuICAgICAgICBwcm9kdWN0U3BlY2lmaWM/OiB7XG4gICAgICAgICAgICBbcHJvZHVjdElkOiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gICAgdHdvUm93c09uTW9iaWxlPzogYm9vbGVhbjtcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgYnV0dG9uQm9yZGVyUmFkaXVzPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xufVxuaW50ZXJmYWNlIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZD4ge1xuICAgIHVybDogc3RyaW5nO1xuICAgIGxpZ2h0VGV4dD86IGJvb2xlYW47XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nW107XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gICAgZmFsbGJhY2tCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQ+IHtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xufVxuaW50ZXJmYWNlIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludD4ge1xuICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ7XG4gICAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gICAgc2VhcmNoSWNvblZhcmlhbnQ/OiBTZWFyY2hJY29uVmFyaWFudDtcbiAgICBzZWFyY2hJY29uU2l6ZT86IG51bWJlcjtcbiAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIGxheW91dDogU2VhcmNoWmVyb1N0YXRlTGF5b3V0O1xuICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgYW5pbWF0aW9uU3BlZWQ/OiAnc3RhbmRhcmQnIHwgJ3Nsb3cnIHwgJ25vbmUnO1xuICAgIGNvbXBhY3RMYWJlbD86IHN0cmluZztcbiAgICBpbml0aWFsU3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICB1c2luZ1BvcnRhbD86IGJvb2xlYW47XG4gICAgaW5jbHVkZVN1YnRpdGxlPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBOb09wV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLk5vT3A+IHtcbn1cbmludGVyZmFjZSBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hPdmVybGF5SG9zdD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gICAgc2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ6IFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50O1xuICAgIHByb2R1Y3RHcmlkVmFyaWFudDogUHJvZHVjdEdyaWRWYXJpYW50O1xuICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gICAgbm9SZXN1bHRzRm91bmRUZXh0Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRIZWFkZXJQcm9wcyBleHRlbmRzIFRlc3RQcm9wcyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgbG9nbz86IHN0cmluZztcbiAgICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xuICAgIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICAgIHZhcmlhbnQ/OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyUXVlcnlPcHRpb25zIHtcbiAgICBmb290ZXJWYXJpYW50PzogJ3N0YW5kYXJkJztcbiAgICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ21hZ25pZnlpbmdHbGFzcycgfCAnc2VuZCcgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnYWktc2VhcmNoJztcbn1cbnR5cGUgU2VhcmNoUHJvbXB0VmFyaWFudCA9ICdwcmltYXJ5JztcbmludGVyZmFjZSBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUHJvbXB0PiB7XG4gICAgdmFyaWFudDogU2VhcmNoUHJvbXB0VmFyaWFudDtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIGhlYWRlckNvbmZpZzogV2lkZ2V0SGVhZGVyUHJvcHM7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvbnM6IHtcbiAgICAgICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGJ1dHRvblRleHRzOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGZvb3RlckNvbmZpZz86IFVzZXJRdWVyeU9wdGlvbnM7XG59XG50eXBlIFBhZ2VWYXJpYW50QmFzZSA9IHtcbiAgICB2YXJpYW50SWQ6IHN0cmluZztcbiAgICB3aWRnZXRNb3VudGluZzogV2lkZ2V0TW91bnRpbmdbXTtcbiAgICB2YXJpYW50VGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIGZsb2F0aW5nQnV0dG9uT3ZlcnJpZGU/OiBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zO1xufTtcbnR5cGUgUExQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwbHAnO1xuICAgIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG50eXBlIFBEUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGRwJztcbiAgICBwYXJlbnRQcm9kdWN0SWRFeHRyYWN0b3I/OiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgVmlzaXRQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BhZ2VfdmlzaXQnO1xufTtcbnR5cGUgT3RoZXJQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ290aGVyJztcbn07XG50eXBlIEhvbWVQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ2hvbWVwYWdlJztcbn07XG50eXBlIFNlYXJjaFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnc2VhcmNoJztcbn07XG50eXBlIEZ1bGxQYWdlU2FsZXNBZ2VudFZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdmdWxsX3BhZ2UnO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID0gUExQUGFnZVZhcmlhbnQgfCBQRFBQYWdlVmFyaWFudCB8IFZpc2l0UGFnZVZhcmlhbnQgfCBPdGhlclBhZ2VWYXJpYW50IHwgSG9tZVBhZ2VWYXJpYW50IHwgU2VhcmNoUGFnZVZhcmlhbnQgfCBGdWxsUGFnZVNhbGVzQWdlbnRWYXJpYW50O1xuZXhwb3J0IHR5cGUgT3JnUGFnZUNvbmZpZyA9IHtcbiAgICBwYWdlVmFyaWFudHM6IFBhZ2VWYXJpYW50Q29uZmlnW107XG4gICAgd2lkZ2V0Q29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0Q29uZmlnVjM+O1xuICAgIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcbmV4cG9ydCB0eXBlIE9yZ0NvbmZpZyA9IE9yZ1VJQ29uZmlnO1xuZXhwb3J0IHsgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLCBDb2xvck5hbWVzLCBjb2xvclZhciwgUGFnZVZhcmlhbnRUZXN0VHlwZSwgV2lkZ2V0VHlwZSB9O1xuZXhwb3J0IGludGVyZmFjZSBFbnZpdmVDb25maWcge1xuICAgIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICAgIGVudj86IHN0cmluZztcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgICBjZG5Vcmw/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgb3JnSWQ/OiBzdHJpbmc7XG4gICAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG4gICAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIGVudml2ZU9uPzogYm9vbGVhbjtcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbiAgICBoYXJkY29weU92ZXJyaWRlPzogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj47XG59XG5leHBvcnQgdHlwZSB7IENhdGVnb3J5RXh0cmFjdG9yLCBDaGF0TWVzc2FnZVZhcmlhbnQsIENoYXRNZXNzYWdlQ29uZmlnLCBDaGF0UHJldmlld0NvbmZpZywgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLCBDaGF0UHJldmlld0hlYWRlckNvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3VmFyaWFudCwgQ29sb3JNYXBwaW5nLCBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIElkRXh0cmFjdG9yLCBJbWFnZUJhbm5lcldpZGdldENvbmZpZywgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIEluc2VydGlvblBvaW50LCBNdWx0aUltYWdlQ29uZmlnLCBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncywgU2VhcmNoQ29uZmlnLCBPcmdVSUNvbmZpZywgUGFnZUNhcmRDb25maWcsIFBhZ2VDYXJkVmFyaWFudCwgUGFnZUNhcmRIb3ZlclZhcmlhbnQsIFBhZ2VDYXJkSWNvblZhcmlhbnQsIFByb2R1Y3RDYXJkQ29uZmlnLCBQcm9kdWN0Q2FyZFZhcmlhbnQsIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCwgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LCBQcm9kdWN0TGlua0ljb25WYXJpYW50LCBQcm9kdWN0TGlua1ZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb25maWcsIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsIFNlYXJjaFByb21wdFZhcmlhbnQsIFNlYXJjaFByb21wdFdpZGdldENvbmZpZywgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZywgU29jaWFsUHJvb2ZDb25maWcsIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsIFVSTFRlc3QsIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZywgVXNlclF1ZXJ5QnV0dG9uSWNvbiwgV2VsY29tZVNlY3Rpb25Db25maWcsIFdlbGNvbWVTZWN0aW9uVmFyaWFudCwgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsIFdpZGdldENvbmZpZywgV3JhcHBpbmdFbGVtZW50LCBTZWFyY2hDYXJkVmFyaWFudCwgV2lkZ2V0RGlzcGxheVRlc3RzLCBOb09wV2lkZ2V0Q29uZmlnLCBXaWRnZXRNb3VudGluZywgU3RhdGljV2lkZ2V0TW91bnRpbmcsIER5bmFtaWNXaWRnZXRNb3VudGluZywgUERQUGFnZVZhcmlhbnQsIFBMUFBhZ2VWYXJpYW50LCBWaXNpdFBhZ2VWYXJpYW50LCBPdGhlclBhZ2VWYXJpYW50LCBIb21lUGFnZVZhcmlhbnQsIFNlYXJjaFBhZ2VWYXJpYW50LCBOdW1Sb3dzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFhQSxJQUFJLDRCQUE0QixDQUFDLEVBQUU7QUFDbkMsSUFBSSwyQkFBMkIsQ0FBQyxTQUFBLDBCQUFBO0FBQ2hDLElBQUksd0JBQXdCLENBQUMsRUFBRTtBQUMvQixJQUFJLDZCQUFnQixDQUFBLEVBQUE7QUFDcEIsSUFBSSx1QkFBZTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQUksb0JBQWU7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQixJQUFJLDBCQUFDLENBQUEsRUFBQTtBQUNMLElBQUksMEJBQXNCLENBQUEsRUFBQTtBQUMxQixJQUFJLDRCQUFxQixDQUFBLEVBQUE7QUFDekIsSUFBSSw0QkFBa0IsQ0FBQSxHQUFBO0FBQ3RCLElBQUksc0JBQXNCO0NBQUM7T0FBVTtPQUFJO0NBQUE7QUFDekMsSUFBSSxrQkFBa0IsQ0FBQyxHQUFBO0FBQ3ZCLElBQUksdUJBQWlCLENBQUEsR0FBQTtBQUNyQixJQUFJLHNCQUFzQixDQUFDLEdBQUM7QUFDNUIsSUFBSSxpQkFBaUI7Q0FBQztPQUFJO09BQUE7T0FBQTtDQUFBO0FBQzFCLElBQUkscUJBQWUsQ0FBQSxHQUFBO0FBQ25CLElBQUksMEJBQWlCLENBQUEsR0FBQTtBQUNyQixJQUFDLDJCQUFBLENBQUEsR0FBQTtBQUNELElBQUksb0JBQW9CO0NBQUM7T0FBVTtPQUFpQjtPQUFBO0NBQUE7QUFDcEQsSUFBSSxpQkFBaUIsQ0FBQyxHQUFHO0FBQ3pCLElBQUksbUJBQW1CO0NBQUM7T0FBSTtPQUFBLE1BQUE7T0FBQSxNQUFBO09BQUE7T0FBQSxNQUFBO09BQUEsTUFBQTtPQUFBO0NBQUE7QUFDNUIsSUFBSSxtQ0FBOEI7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNsQyxJQUFJLGlDQUFpQztDQUFDO09BQU87T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUM3QyxJQUFJLDZCQUFjO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbEIsSUFBSSxzQkFBaUIsQ0FBQSxVQUFBLGlCQUFBO0FBQ3JCLElBQUkscUJBQWlCLENBQUEsR0FBQTtBQUNyQixJQUFJLG9CQUFpQjtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFDLG1CQUFBLENBQUEsR0FBQTtBQUNELElBQUksb0JBQW9CLENBQUMsR0FBQTtBQUN6QixJQUFJLHlCQUF5QixDQUFDLEdBQUc7QUFDakMsSUFBSSxxQkFBcUIsQ0FBQyxHQUFHO0FBQzdCLElBQUksMEJBQTBCLENBQUMsR0FBRTtBQUNqQyxJQUFJLG9CQUFvQixDQUFDLEdBQUE7QUFDekIsSUFBSSwwQkFBd0IsQ0FBQSxHQUFBO0FBQzVCLElBQUkseUJBQXlCO0NBQUM7T0FBTztPQUFBO09BQUE7Q0FBQTtBQUNyQyxJQUFJLFVBQVUsQ0FBQyxHQUFHO0FBQ2xCLElBQUksMEJBQTBCLENBQUMsR0FBRTtBQUNqQyxJQUFJLDRCQUE0QixDQUFDLEdBQUc7QUFDcEMsSUFBSSxzQkFBc0IsQ0FBQyxVQUFHLE9BQUE7QUFDOUIsSUFBSSxnQkFBZ0I7Q0FBQztPQUFVO09BQUk7T0FBQTtDQUFBO0FBQ25DLElBQUksbUJBQVEsQ0FBQSxHQUFBO0FBQ1osSUFBSSxzQkFBaUI7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFJLG9CQUFpQixDQUFBLFVBQUEsaUJBQUE7QUFDckIsSUFBSyxrQkFBQTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0wsSUFBVyx5QkFBa0IsQ0FBQSxHQUFBO0FBQzdCLElBQVcsd0JBQVUsQ0FBQSxHQUFBO0FBQ3JCLElBQVcscUJBQVUsQ0FBQSxHQUFBO0FBQ3JCLElBQUssb0JBQUEsQ0FBQSxHQUFBO0FBQ0wsSUFBVyw2QkFBbUIsQ0FBQSxHQUFBO0FBQzlCLElBQVcscUJBQXFCLENBQUMsR0FBRztBQUNwQyxJQUFJLHNCQUFzQixDQUFDLEdBQUc7QUFDOUIsSUFBSSx3QkFBa0IsQ0FBQSxVQUFBLG9CQUFBO0FBQ3RCLElBQUMsMkJBQUEsQ0FBQSxHQUFBO0FBQ0QsSUFBSSwwQkFBMEIsQ0FBQyxHQUFBO0FBQy9CLElBQUkscUJBQWM7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2xCLElBQUksZUFBZSxDQUFDLFVBQUMsZ0JBQUE7QUFDckIsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHO0FBQ3hCLElBQUksY0FBYztDQUFDO09BQU87T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDMUIsSUFBSSxpQkFBaUIsQ0FBQSxVQUFBLGlCQUFBO0FBQ3JCLElBQUksVUFBVSxDQUFDLEdBQUc7QUFDbEIsSUFBSSxjQUFjLENBQUMsR0FBRztBQUN0QixJQUFDLHdCQUFBLENBQUEsR0FBQTtBQUNELElBQUksd0JBQXdCO0NBQUM7T0FBSztPQUFBO0NBQUE7QUFDbEMsSUFBSSxtQkFBaUI7Q0FBQTtPQUFBLHNCQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3JCLElBQUksdUJBQXVCO0NBQUM7T0FBVSxzQkFBcUI7T0FBQTtPQUFBO0NBQUE7QUFDM0QsSUFBSSxvQkFBb0I7Q0FBQztPQUFTO09BQUE7Q0FBQTtBQUNsQyxJQUFJLGtCQUFrQixDQUFDLFVBQVUsaUJBQWlCO0FBQ2xELElBQUksc0JBQXNCLENBQUMsR0FBQztBQUM1QixJQUFJLHNCQUFzQjtDQUFDO09BQU07T0FBQTtDQUFBO0FBQ2pDLElBQUkscUJBQXFCO0NBQUM7T0FBTyxvQkFBQTtPQUFBO0NBQUE7QUFDakMsSUFBSSxzQkFBc0I7Q0FBQztPQUFDLG9CQUFBO09BQUE7T0FBQTtDQUFBO0FBQzVCLElBQUEsaUJBQUE7Q0FBQTtPQUFBLG9CQUFBO09BQUE7Q0FBQTtBQUNBLElBQUksbUJBQW1CO0NBQUM7T0FBVSxvQkFBb0I7T0FBRTtDQUFBO0FBQ3hELElBQUkscUJBQXFCO0NBQUM7T0FBVSxvQkFBb0I7T0FBUTtDQUFBO0FBQ2hFLElBQUksbUJBQW1CO0NBQUM7T0FBTSxvQkFBQTtPQUFBO09BQUE7Q0FBQTtBQUM5QixJQUFJLGtCQUFrQjtDQUFDO09BQVUsb0JBQVU7T0FBQTtPQUFBO0NBQUE7QUFDM0MsSUFBSSxnQkFBZ0I7Q0FBQztPQUFVLG9CQUFZO09BQUE7T0FBQTtDQUFBO0FBQzNDLElBQUksWUFBWTtDQUFDO09BQVUsb0JBQUc7T0FBQTtPQUFBO0NBQUE7QUFDOUIsSUFBSSxpQkFBaUI7Q0FBQztPQUFVLG9CQUFJO09BQUE7Q0FBQTtBQUNwQyxJQUFBLHdCQUFBO0NBQUE7T0FBQSxvQkFBQTtPQUFBO0NBQUE7QUFDQSxJQUFJLDJCQUEyQjtDQUFDO09BQVUsb0JBQWM7T0FBQTtDQUFBO0FBQ3hELElBQUksZ0JBQWdCO0NBQUM7T0FBVSxvQkFBb0I7T0FBRztDQUFBO0FBQ3RELElBQUksc0JBQXNCO0NBQUM7T0FBVSxvQkFBb0I7T0FBYztDQUFBO0FBQ3ZFLElBQUksbUJBQWtCO0NBQUE7T0FBQSxvQkFBQTtPQUFBO0NBQUE7QUFDdEIsSUFBSSxrQkFBa0I7Q0FBQztPQUFLLG9CQUFBO09BQUE7Q0FBQTtBQUM1QixJQUFJLDJCQUEyQjtDQUFDO09BQU0sb0JBQUE7T0FBQTtDQUFBO0FBQ3RDLElBQVcsa0JBQWtCO0NBQUM7T0FBTTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDcEMsSUFBQyxvQkFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNELElBQVcsdUJBQXVCO0NBQUM7T0FBVTtPQUFzQjtPQUFnQjtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkYsSUFBSSx1QkFBdUIsQ0FBQyxHQUFHO0FBQy9CLElBQUksd0JBQXdCLENBQUMsVUFBVSxtQkFBbUI7QUFDMUQsSUFBSSxxQkFBcUIsQ0FBQyxVQUFFLGdCQUFBO0FBQzVCLElBQUksaUJBQWlCO0NBQUM7T0FBUztPQUFBO0NBQUE7QUFDL0IsSUFBSSxhQUFhLENBQUMsR0FBRztBQUNyQixJQUFJLGVBQWU7Q0FBQztPQUFVO09BQWE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQzNDLElBQUksbUJBQW1CO0NBQUM7T0FBQTtPQUFBO0NBQUE7QUFDeEIsSUFBQSwwQkFBQTtDQUFBO09BQUEsV0FBQTtPQUFBO0NBQUE7QUFDQSxJQUFJLDBCQUFrQjtDQUFBO09BQUEsV0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3RCLElBQUksNEJBQTRCLENBQUMsR0FBRztBQUNwQyxJQUFJLG9CQUFvQixDQUFDLElBQUU7QUFDM0IsSUFBSSxtQkFBbUIsQ0FBQSxJQUFBO0FBQ3ZCLElBQUkseUJBQXlCO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDN0IsSUFBSSxvQ0FBZ0M7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNwQyxJQUFJLGdDQUEyQixDQUFBLElBQUE7QUFDL0IsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJO0FBQzlCLElBQUksd0JBQXFCO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3pCLElBQUkseUNBQW9CO0NBQUE7T0FBQSxXQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDeEIsSUFBSSxtQ0FBNEI7Q0FBQTtPQUFBLFdBQUE7T0FBQTtPQUFBO0NBQUE7QUFDaEMsSUFBQywyQ0FBQTtDQUFBO09BQUEsV0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNELElBQUksNEJBQW9CO0NBQUE7T0FBQSxXQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDeEIsSUFBSSw0QkFBc0I7Q0FBQTtPQUFBLFdBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUMxQixJQUFJLDhCQUFxQjtDQUFBO09BQUEsV0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN6QixJQUFJLDBCQUFvQjtDQUFBO09BQUEsV0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN4QixJQUFJLGdDQUFpQjtDQUFBO09BQUEsV0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNyQixJQUFJLCtCQUErQjtDQUFDO09BQVcsV0FBVztPQUFPO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2pFLElBQUksbUJBQW1CO0NBQUM7T0FBVyxXQUFXO09BQVk7Q0FBWTtBQUN0RSxJQUFJLGdDQUFxQjtDQUFBO09BQUEsV0FBQTtPQUFBO0NBQUE7QUFDekIsSUFBSSxzQ0FBa0M7Q0FBQTtPQUFBLFdBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3RDLElBQVcsb0JBQW9CO0NBQUM7T0FBRztPQUFBO0NBQUE7QUFDbkMsSUFBVyxtQkFBbUIsQ0FBQyxJQUFJO0FBQ25DLElBQUMsc0JBQUEsQ0FBQSxJQUFBO0FBQ0QsSUFBSSwyQkFBMkI7Q0FBQztPQUFRLFdBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN4QyxJQUFJLGtCQUFrQjtDQUFDO09BQVc7T0FBaUI7T0FBQTtDQUFBO0FBQ25ELElBQUksaUJBQWlCO0NBQUM7T0FBVztPQUFBO0NBQUE7QUFDakMsSUFBSSxpQkFBaUI7Q0FBQztPQUFRO09BQUE7T0FBQTtDQUFBO0FBQzlCLElBQUksbUJBQW1CLENBQUMsV0FBTSxnQkFBQTtBQUM5QixJQUFDLG1CQUFBLENBQUEsV0FBQSxnQkFBQTtBQUNELElBQUksa0JBQWtCLENBQUMsV0FBVyxnQkFBSTtBQUN0QyxJQUFJLG9CQUFvQixDQUFDLFdBQVcsZ0JBQWU7QUFDbkQsSUFBSSw0QkFBNEIsQ0FBQyxXQUFBLGdCQUFBO0FBQ2pDLElBQVcsb0JBQW1CO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQzlCLElBQVcsZ0JBQWdCO0NBQUM7T0FBVztPQUFLO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDNUMsSUFBVyxZQUFZLENBQUMsV0FBRyxZQUFBO0FBRTNCLElBQVcsZUFBYTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
|