@envive-ai/react-hooks 0.3.43 → 0.3.45
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/index.cjs +1 -2
- package/dist/application/models/index.d.cts +2 -2
- package/dist/application/models/index.d.ts +2 -2
- package/dist/application/models/index.js +1 -2
- package/dist/application/models/validators/validateGraphQLFrontendConfig.cjs +4 -4
- package/dist/application/models/validators/validateGraphQLFrontendConfig.js +4 -4
- package/dist/application/models/validators/validateResponse.cjs +3 -2
- package/dist/application/models/validators/validateResponse.js +3 -2
- package/dist/application/utils/elementObserver.d.cts +2 -2
- package/dist/application/utils/elementObserver.d.ts +2 -2
- package/dist/application/utils/urlsParser.cjs +1 -2
- package/dist/application/utils/urlsParser.js +1 -2
- package/dist/atoms/app/index.d.cts +7 -7
- package/dist/atoms/app/index.d.ts +7 -7
- package/dist/atoms/chat/chatState.d.cts +18 -18
- 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.cjs +1 -1
- package/dist/atoms/chat/index.d.cts +3 -3
- package/dist/atoms/chat/index.d.ts +2 -2
- package/dist/atoms/chat/index.js +1 -1
- 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 +3 -3
- 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 +13 -13
- 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/index.cjs +1 -1
- package/dist/atoms/org/index.js +1 -1
- 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.cjs +1 -1
- package/dist/atoms/search/chatSearch.d.cts +17 -17
- package/dist/atoms/search/chatSearch.d.ts +17 -17
- package/dist/atoms/search/chatSearch.js +1 -1
- package/dist/atoms/search/searchAPI.cjs +1 -1
- package/dist/atoms/search/searchAPI.d.cts +13 -13
- package/dist/atoms/search/searchAPI.d.ts +13 -13
- package/dist/atoms/search/searchAPI.js +1 -1
- package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
- package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
- package/dist/contexts/enviveContext/types.d.cts +1 -1
- package/dist/contexts/enviveContext/types.d.ts +1 -1
- package/dist/contexts/salesAgentContext/chatAPI.cjs +2 -2
- package/dist/contexts/salesAgentContext/chatAPI.js +2 -2
- package/dist/contexts/salesAgentContext/salesAgentService.cjs +1 -1
- package/dist/contexts/salesAgentContext/salesAgentService.js +1 -1
- package/dist/contexts/searchContext/searchContext.cjs +1 -1
- package/dist/contexts/searchContext/searchContext.js +1 -1
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
- package/dist/contexts/types.cjs +1 -1
- package/dist/contexts/types.d.cts +2 -2
- package/dist/contexts/types.d.ts +2 -2
- package/dist/contexts/types.js +1 -1
- package/dist/contexts/typesV3.d.cts +1 -1
- package/dist/contexts/typesV3.d.ts +1 -1
- package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +1 -1
- package/dist/contexts/widgetConfigContext/widgetConfigContext.js +1 -1
- package/dist/hooks/ChatToggle/useChatToggle.cjs +1 -1
- package/dist/hooks/ChatToggle/useChatToggle.js +1 -1
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
- package/dist/hooks/Search/useSearch.cjs +3 -3
- package/dist/hooks/Search/useSearch.js +3 -3
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/mocks/salesAgentMockData.cjs +2 -2
- package/dist/mocks/salesAgentMockData.js +2 -2
- package/dist/services/amplitudeService/amplitudeService.cjs +1 -1
- package/dist/services/amplitudeService/amplitudeService.js +1 -1
- package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +15 -4
- package/dist/services/enviveConfigService/fetchGraphQLConfig.js +15 -4
- package/dist/services/hardcopyService/hardcopyService.cjs +1 -1
- package/dist/services/hardcopyService/hardcopyService.js +1 -1
- package/package.json +1 -1
- package/src/application/models/api/responseGenerics.ts +3 -0
- package/src/application/models/validators/validateGraphQLFrontendConfig.ts +3 -3
- package/src/application/models/validators/validateResponse.ts +1 -0
- package/src/application/utils/urlsParser.ts +0 -2
- package/src/contexts/types.ts +1 -1
- package/src/mocks/salesAgentMockData.ts +1 -1
- package/src/services/enviveConfigService/fetchGraphQLConfig.ts +13 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChatSearchFilter, ProductSorting } from "./types.js";
|
|
2
2
|
import { SearchParams, SearchResult } from "../../application/models/api/search.js";
|
|
3
|
-
import * as
|
|
3
|
+
import * as jotai81 from "jotai";
|
|
4
4
|
|
|
5
5
|
//#region src/atoms/search/searchAPI.d.ts
|
|
6
6
|
type SelectedFilterOption = {
|
|
@@ -15,28 +15,28 @@ interface SearchState {
|
|
|
15
15
|
error: string | null;
|
|
16
16
|
lastQuery: string | null;
|
|
17
17
|
}
|
|
18
|
-
declare const searchAtom:
|
|
18
|
+
declare const searchAtom: jotai81.PrimitiveAtom<SearchState> & {
|
|
19
19
|
init: SearchState;
|
|
20
20
|
};
|
|
21
|
-
declare const searchProductSortingAtom:
|
|
21
|
+
declare const searchProductSortingAtom: jotai81.PrimitiveAtom<ProductSorting> & {
|
|
22
22
|
init: ProductSorting;
|
|
23
23
|
};
|
|
24
|
-
declare const searchSelectedFiltersAtom:
|
|
24
|
+
declare const searchSelectedFiltersAtom: jotai81.PrimitiveAtom<SelectedFilterOption[]> & {
|
|
25
25
|
init: SelectedFilterOption[];
|
|
26
26
|
};
|
|
27
27
|
declare const createFilterOption: (filterId: string, filterItemId: string, displayName: string) => SelectedFilterOption;
|
|
28
|
-
declare const searchParamsAtom:
|
|
28
|
+
declare const searchParamsAtom: jotai81.WritableAtom<{
|
|
29
29
|
id: string | null;
|
|
30
30
|
query: string | null;
|
|
31
31
|
}, [value: {
|
|
32
32
|
id: string | null;
|
|
33
33
|
query: string | null;
|
|
34
34
|
}], void>;
|
|
35
|
-
declare const internalSearchSystemStateAtom:
|
|
35
|
+
declare const internalSearchSystemStateAtom: jotai81.PrimitiveAtom<boolean> & {
|
|
36
36
|
init: boolean;
|
|
37
37
|
};
|
|
38
|
-
declare const searchSystemAtom:
|
|
39
|
-
declare const filteredSearchProductsAtom:
|
|
38
|
+
declare const searchSystemAtom: jotai81.WritableAtom<boolean, [value: boolean], void>;
|
|
39
|
+
declare const filteredSearchProductsAtom: jotai81.Atom<{
|
|
40
40
|
averageRating?: number | undefined;
|
|
41
41
|
colors?: string[] | undefined;
|
|
42
42
|
description?: string | undefined;
|
|
@@ -59,17 +59,17 @@ declare const filteredSearchProductsAtom: jotai34.Atom<{
|
|
|
59
59
|
title: string;
|
|
60
60
|
url: string;
|
|
61
61
|
}[]>;
|
|
62
|
-
declare const searchFiltersAtom:
|
|
63
|
-
declare const addSearchFilterAtom:
|
|
62
|
+
declare const searchFiltersAtom: jotai81.Atom<ChatSearchFilter[]>;
|
|
63
|
+
declare const addSearchFilterAtom: jotai81.WritableAtom<null, [filter: SelectedFilterOption], void> & {
|
|
64
64
|
init: null;
|
|
65
65
|
};
|
|
66
|
-
declare const removeSearchFilterAtom:
|
|
66
|
+
declare const removeSearchFilterAtom: jotai81.WritableAtom<null, [filterId: string], void> & {
|
|
67
67
|
init: null;
|
|
68
68
|
};
|
|
69
|
-
declare const clearSearchFiltersAtom:
|
|
69
|
+
declare const clearSearchFiltersAtom: jotai81.WritableAtom<null, [], void> & {
|
|
70
70
|
init: null;
|
|
71
71
|
};
|
|
72
|
-
declare const performSearchAtom:
|
|
72
|
+
declare const performSearchAtom: jotai81.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
|
|
73
73
|
init: null;
|
|
74
74
|
};
|
|
75
75
|
//#endregion
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { newOrgConfigAtom } from "../org/newOrgConfigAtom.js";
|
|
2
|
+
import { getSearchServiceFunction } from "./searchServiceAdapter.js";
|
|
2
3
|
import "../org/index.js";
|
|
3
4
|
import { ProductFilters } from "./productFilters.js";
|
|
4
5
|
import { ProductSorting } from "./types.js";
|
|
5
6
|
import { ProductSorter } from "./productSorter.js";
|
|
6
|
-
import { getSearchServiceFunction } from "./searchServiceAdapter.js";
|
|
7
7
|
import { atom } from "jotai";
|
|
8
8
|
|
|
9
9
|
//#region src/atoms/search/searchAPI.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { WidgetWrapperVariant } from "@envive-ai/react-toolkit-v3/WidgetWrapper";
|
|
2
|
-
import * as
|
|
2
|
+
import * as jotai92 from "jotai";
|
|
3
3
|
|
|
4
4
|
//#region src/atoms/widget/chatPreviewLoading.d.ts
|
|
5
5
|
/**
|
|
@@ -17,7 +17,7 @@ type ChatPreviewLoadingData = {
|
|
|
17
17
|
/**
|
|
18
18
|
* Atom to read ChatPreviewLoading data for a specific widgetConfigId.
|
|
19
19
|
*/
|
|
20
|
-
declare const chatPreviewLoadingDataAtom:
|
|
20
|
+
declare const chatPreviewLoadingDataAtom: jotai92.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
|
|
21
21
|
widgetConfigId: string;
|
|
22
22
|
data: ChatPreviewLoadingData;
|
|
23
23
|
}], void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as jotai64 from "jotai";
|
|
2
2
|
import { WidgetWrapperVariant } from "@envive-ai/react-toolkit-v3/WidgetWrapper";
|
|
3
3
|
|
|
4
4
|
//#region src/atoms/widget/chatPreviewLoading.d.ts
|
|
@@ -17,7 +17,7 @@ type ChatPreviewLoadingData = {
|
|
|
17
17
|
/**
|
|
18
18
|
* Atom to read ChatPreviewLoading data for a specific widgetConfigId.
|
|
19
19
|
*/
|
|
20
|
-
declare const chatPreviewLoadingDataAtom:
|
|
20
|
+
declare const chatPreviewLoadingDataAtom: jotai64.WritableAtom<Record<string, ChatPreviewLoadingData>, [update: {
|
|
21
21
|
widgetConfigId: string;
|
|
22
22
|
data: ChatPreviewLoadingData;
|
|
23
23
|
}], void>;
|
|
@@ -5,4 +5,4 @@ declare enum EnviveAgent {
|
|
|
5
5
|
}
|
|
6
6
|
//#endregion
|
|
7
7
|
export { EnviveAgent };
|
|
8
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2Vudml2ZUNvbnRleHQvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVjbGFyZSBlbnVtIEVudml2ZUFnZW50IHtcbiAgICBTYWxlc0FnZW50ID0gXCJzYWxlc1wiLFxuICAgIFNlYXJjaEFnZW50ID0gXCJzZWFyY2hcIlxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVyxjQUFjLENBQUMsRUFBRSJ9
|
|
@@ -5,4 +5,4 @@ declare enum EnviveAgent {
|
|
|
5
5
|
}
|
|
6
6
|
//#endregion
|
|
7
7
|
export { EnviveAgent };
|
|
8
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZW52aXZlQ29udGV4dC90eXBlcy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGVudW0gRW52aXZlQWdlbnQge1xuICAgIFNhbGVzQWdlbnQgPSBcInNhbGVzXCIsXG4gICAgU2VhcmNoQWdlbnQgPSBcInNlYXJjaFwiXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLGNBQWMsQ0FBQyxFQUFFIn0=
|
|
@@ -6,11 +6,11 @@ const require_eventNames = require('../../services/amplitudeService/eventNames.c
|
|
|
6
6
|
require('../../services/amplitudeService/amplitudeService.cjs');
|
|
7
7
|
const require_variant = require('../../atoms/app/variant.cjs');
|
|
8
8
|
require('../../atoms/app/index.cjs');
|
|
9
|
+
const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
|
|
10
|
+
require('../amplitudeContext/index.cjs');
|
|
9
11
|
const require_atoms_chat_chatState = require('../../atoms/chat/chatState.cjs');
|
|
10
12
|
const require_messageQueue = require('../../atoms/chat/messageQueue.cjs');
|
|
11
13
|
require('../../atoms/chat/index.cjs');
|
|
12
|
-
const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
|
|
13
|
-
require('../amplitudeContext/index.cjs');
|
|
14
14
|
const require_hooks_WidgetInteraction_types = require('../../hooks/WidgetInteraction/types.cjs');
|
|
15
15
|
const require_useWidgetInteraction = require('../../hooks/WidgetInteraction/useWidgetInteraction.cjs');
|
|
16
16
|
require('../../hooks/WidgetInteraction/index.cjs');
|
|
@@ -5,11 +5,11 @@ import { EnviveMetricsEventName, SpiffyMetricsEventName } from "../../services/a
|
|
|
5
5
|
import "../../services/amplitudeService/amplitudeService.js";
|
|
6
6
|
import { analyticsContextAtom, hasParsedVariantInfoAtom } from "../../atoms/app/variant.js";
|
|
7
7
|
import "../../atoms/app/index.js";
|
|
8
|
+
import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
|
|
9
|
+
import "../amplitudeContext/index.js";
|
|
8
10
|
import { formSubmitAtom, replyEventCategoryAtom, suggestionsAtom } from "../../atoms/chat/chatState.js";
|
|
9
11
|
import { queueUserEventAtom } from "../../atoms/chat/messageQueue.js";
|
|
10
12
|
import "../../atoms/chat/index.js";
|
|
11
|
-
import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
|
|
12
|
-
import "../amplitudeContext/index.js";
|
|
13
13
|
import { WidgetInteractionComponent, WidgetInteractionType } from "../../hooks/WidgetInteraction/types.js";
|
|
14
14
|
import { useWidgetInteraction } from "../../hooks/WidgetInteraction/useWidgetInteraction.js";
|
|
15
15
|
import "../../hooks/WidgetInteraction/index.js";
|
|
@@ -11,11 +11,11 @@ const require_atoms_app_index = require('../../atoms/app/index.cjs');
|
|
|
11
11
|
const require_resolvedBaseConfigVersion = require('../../atoms/envive/resolvedBaseConfigVersion.cjs');
|
|
12
12
|
const require_application_commerce_api = require('../../application/commerce-api.cjs');
|
|
13
13
|
const require_useMessageInterceptor = require('../../interceptors/useMessageInterceptor.cjs');
|
|
14
|
-
const require_atoms_chat_chatState = require('../../atoms/chat/chatState.cjs');
|
|
15
14
|
const require_featureFlagServiceContext = require('../featureFlagServiceContext/featureFlagServiceContext.cjs');
|
|
16
15
|
const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
|
|
17
16
|
require('../amplitudeContext/index.cjs');
|
|
18
17
|
require('../featureFlagServiceContext/index.cjs');
|
|
18
|
+
const require_atoms_chat_chatState = require('../../atoms/chat/chatState.cjs');
|
|
19
19
|
const require_statusCodeError = require('./statusCodeError.cjs');
|
|
20
20
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
21
21
|
let react = require("react");
|
|
@@ -10,11 +10,11 @@ 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";
|
|
14
13
|
import { useFeatureFlagService } from "../featureFlagServiceContext/featureFlagServiceContext.js";
|
|
15
14
|
import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
|
|
16
15
|
import "../amplitudeContext/index.js";
|
|
17
16
|
import "../featureFlagServiceContext/index.js";
|
|
17
|
+
import { messagesAtom, pendingResponseAtom, requestFailureAtom, responseStreamingAtom, suggestionsAtom } from "../../atoms/chat/chatState.js";
|
|
18
18
|
import { StatusCodeError } from "./statusCodeError.js";
|
|
19
19
|
import { UserEventCategory } from "@spiffy-ai/commerce-api-client";
|
|
20
20
|
import { useCallback } from "react";
|
|
@@ -3,10 +3,10 @@ const require_logger = require('../../application/logging/logger.cjs');
|
|
|
3
3
|
const require_atoms_envive_enviveConfig = require('../../atoms/envive/enviveConfig.cjs');
|
|
4
4
|
const require_sessionExceptions = require('../../types/exceptions/sessionExceptions.cjs');
|
|
5
5
|
const require_unsupportedProductExceptions = require('../../types/exceptions/unsupportedProductExceptions.cjs');
|
|
6
|
-
const require_searchServiceAdapter = require('../../atoms/search/searchServiceAdapter.cjs');
|
|
7
6
|
const require_useEnviveConfig = require('../enviveConfigContext/useEnviveConfig.cjs');
|
|
8
7
|
require('../enviveConfigContext/index.cjs');
|
|
9
8
|
const require_useAppDetails = require('../../hooks/AppDetails/useAppDetails.cjs');
|
|
9
|
+
const require_searchServiceAdapter = require('../../atoms/search/searchServiceAdapter.cjs');
|
|
10
10
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
11
11
|
let react = require("react");
|
|
12
12
|
react = require_rolldown_runtime.__toESM(react);
|
|
@@ -2,10 +2,10 @@ import logger_default from "../../application/logging/logger.js";
|
|
|
2
2
|
import { baseUrlAtom } from "../../atoms/envive/enviveConfig.js";
|
|
3
3
|
import { SessionRestartRequired } from "../../types/exceptions/sessionExceptions.js";
|
|
4
4
|
import { UnsupportedProductException } from "../../types/exceptions/unsupportedProductExceptions.js";
|
|
5
|
-
import { clearSearchServiceFunction, setSearchServiceFunction } from "../../atoms/search/searchServiceAdapter.js";
|
|
6
5
|
import { useEnviveConfig } from "../enviveConfigContext/useEnviveConfig.js";
|
|
7
6
|
import "../enviveConfigContext/index.js";
|
|
8
7
|
import { useAppDetails } from "../../hooks/AppDetails/useAppDetails.js";
|
|
8
|
+
import { clearSearchServiceFunction, setSearchServiceFunction } from "../../atoms/search/searchServiceAdapter.js";
|
|
9
9
|
import { Configuration, ResponseCategory, ResponseError, SearchApi } from "@spiffy-ai/commerce-api-client";
|
|
10
10
|
import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
|
|
11
11
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GenerationParams } from "../../application/models/api/generationParams.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react3 from "react";
|
|
3
3
|
import { Dispatch, ReactNode, SetStateAction } from "react";
|
|
4
4
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
|
|
@@ -16,7 +16,7 @@ interface SystemSettingsContextProviderProps {
|
|
|
16
16
|
generationParams?: GenerationParams;
|
|
17
17
|
showDebugBar?: boolean;
|
|
18
18
|
}
|
|
19
|
-
declare const SystemSettingsContext:
|
|
19
|
+
declare const SystemSettingsContext: react3.Context<SystemSettingsContextParams | undefined>;
|
|
20
20
|
declare const SystemSettingsContextProvider: ({
|
|
21
21
|
children,
|
|
22
22
|
generationParams,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GenerationParams } from "../../application/models/api/generationParams.js";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react3 from "react";
|
|
3
3
|
import { Dispatch, ReactNode, SetStateAction } from "react";
|
|
4
4
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
|
|
@@ -16,7 +16,7 @@ interface SystemSettingsContextProviderProps {
|
|
|
16
16
|
generationParams?: GenerationParams;
|
|
17
17
|
showDebugBar?: boolean;
|
|
18
18
|
}
|
|
19
|
-
declare const SystemSettingsContext:
|
|
19
|
+
declare const SystemSettingsContext: react3.Context<SystemSettingsContextParams | undefined>;
|
|
20
20
|
declare const SystemSettingsContextProvider: ({
|
|
21
21
|
children,
|
|
22
22
|
generationParams,
|
package/dist/contexts/types.cjs
CHANGED
|
@@ -53,4 +53,4 @@ exports.ColorNames = require_colorsConfig.ColorNames;
|
|
|
53
53
|
exports.PageVariantTestType = PageVariantTestType;
|
|
54
54
|
exports.WidgetType = WidgetType;
|
|
55
55
|
exports.colorVar = require_colorsConfig.colorVar;
|
|
56
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nLCBDb2xvck5hbWVzLCBjb2xvclZhciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSwgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0b21lclNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb24nO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gJ3NyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uJztcblxuaW1wb3J0IHR5cGUge1xuICBQYWdlVmlzaXRDYXRlZ29yeSxcbiAgU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnksXG59IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzLCBXaWRnZXRUeXBlVjMgfSBmcm9tICcuL3R5cGVzVjMnO1xuaW1wb3J0IHR5cGUgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnLi9oYXJkY29weUNvbnRleHQvaGFyZGNvcHlDb250ZXh0JztcblxudHlwZSBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zID1cbiAgfCAnYWx3YXlzJ1xuICB8ICdhZnRlci1pbnRlcmFjdGlvbi1vbi1tb2JpbGUtYWx3YXlzLWRlc2t0b3AnXG4gIHwgJ2FmdGVyLWludGVyYWN0aW9uLWFueXdoZXJlJ1xuICB8ICduZXZlcic7XG5cbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICBwb3NpdGlvbjogJ2JvdHRvbS1sZWZ0JyB8ICdtaWRkbGUtbGVmdCcgfCAnbWlkZGxlLXJpZ2h0JyB8ICdib3R0b20tcmlnaHQnO1xuICBleHBhbnNpb25UZXh0Pzoge1xuICAgIHBkcDogc3RyaW5nO1xuICAgIHBscDogc3RyaW5nO1xuICB9O1xuICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgaWNvblNpemU/OiBudW1iZXI7XG4gIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb250U2l6ZT86IG51bWJlcjtcbn07XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25WYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdvdXRsaW5lZCc7XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcblxudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICBjb2xvclZhcmlhbnQ/OiBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudDtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICAvLyBpY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAvKiBTZXJpYWxpemFibGUgaWNvbiBuYW1lIHRoYXQgbWFwcyB0byBhIFJlYWN0IGNvbXBvbmVudC4gUHJlZmVycmVkIG92ZXIgaWNvbiBmb3IgZGF0YWJhc2Ugc3RvcmFnZS4gKi9cbiAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xufTtcblxudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICBsYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbiAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uVGV4dENvbG9yPzogc3RyaW5nO1xuICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICBidXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvbkJvcmRlckhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gIGNvcGllczogeyBwZHA6IHN0cmluZ1tdOyBwbHA6IHN0cmluZ1tdIH07XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7IHBkcDogc3RyaW5nW107IHBscDogc3RyaW5nW10gfTtcbiAgc3RhdGljUExQSW1hZ2VzPzogc3RyaW5nW107XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgdG9wTWFyZ2luPzogbnVtYmVyO1xufTtcblxudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgc3BhcmtsZXNDb2xvcj86IHN0cmluZzsgLy8gdXNlZCBieTogc3BhbngsIHVuaXF1ZVZpbnRhZ2UsIGRyZWFtbGFuZEJhYnlcbiAgZm9udFNpemU/OiBzdHJpbmc7XG4gIGljb25XaWR0aD86IHN0cmluZztcbiAgaWNvbkhlaWdodD86IHN0cmluZztcbn07XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gIGhhc0ZhZGU/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueCwgdW5pcXVlVmludGFnZVxuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86ICdkYXJrJyB8ICdsaWdodCcgfCAnb3V0bGluZWQnO1xuICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7IC8vIHVzZWQgYnk6IGNhcmJhaG5cbiAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgcmVwbHlJbnB1dEhhc1NoYWRvdz86IGJvb2xlYW47IC8vIHVzZWQgYnk6IHNwYW54XG4gIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueFxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7IC8vIHVzZWQgYnkgc3BhbngsIHR1c2hiYWJ5LCB3aWxsIG5lZWQgY3VzdG9tIENTUyB3aGVuIHN3aXRjaGluZyBvdmVyXG59XG5cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xuXG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSAnbmV1dHJhbCcgfCAnYnJhbmQnIHwgJ3ByZW1pdW0nO1xuXG5pbnRlcmZhY2UgUHJvZHVjdFJldmlld0NvbmZpZyB7XG4gIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICB2ZXJpZmllZEJ1eWVyVGl0bGU6IHN0cmluZztcbiAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG5cbnR5cGUgUGFnZUNhcmRWYXJpYW50ID0gJ2ZpbGxlZCcgfCAnb3V0bGluZWQnIHwgJ21pbmltYWwnO1xuXG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG5cbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ2JhY2tncm91bmQnIHwgJ25vbmUnO1xuXG50eXBlIFBhZ2VDYXJkQ29uZmlnID0ge1xuICB2YXJpYW50OiBQYWdlQ2FyZFZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gIGljb25WYXJpYW50OiBQYWdlQ2FyZEljb25WYXJpYW50O1xufTtcblxudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG5cbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnIHwgJ25vbmUnO1xuXG50eXBlIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCA9ICdub3JtYWwnIHwgJ3RhbGwnIHwgJ3NxdWFyZSc7XG5cbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gIHZhcmlhbnQ6IFByb2R1Y3RDYXJkVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICBwcmljZVByZWZpeD86IHN0cmluZztcbn1cblxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgdmFyaWFudDogJ2F0dGFjaGVkJyB8ICdkZXRhY2hlZCc7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICBzZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICBzZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICB1bnNlbGVjdGVkQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBzdXBwb3J0VGl0bGU/OiBzdHJpbmc7XG4gIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICBzcGlmZnlUaXRsZUhhc0xvZ28/OiBib29sZWFuO1xufTtcblxudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICBjb2xsYXBzZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICBib3JkZXJCb3R0b20/OiBzdHJpbmc7XG4gIGhlYWRlckJhckhlaWdodFBhcnRpYWxWaWV3OiBudW1iZXI7XG4gIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gIGN1c3RvbWVyU3VwcG9ydFN3aXRjaENvbmZpZz86IENTU3dpdGNoQ29uZmlnO1xufTtcblxudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGU7XG4gIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgbWF4ZmlsZVVwbG9hZFNpemU/OiBudW1iZXI7XG59O1xuXG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGU7XG4gIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgY2hhdEVuYWJsZWREdXJpbmdCdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgc2hvd05hbWVJbnB1dD86IGJvb2xlYW47XG4gIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gIHdlbGNvbWVUaXRsZTogc3RyaW5nO1xuICB3ZWxjb21lRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICBjb250YWN0U3ViamVjdE9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgZ2V0Q3VzdG9tV2FpdGluZ01lc3NhZ2U/OiAobmFtZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc1dhaXRpbmdNZXNzYWdlPzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgYnVzaW5lc3NIb3Vyc1BvbGxpbmc/OiBudW1iZXI7XG4gIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICovXG4gIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1RpbWV6b25lPzogc3RyaW5nO1xuXG4gIHNob3dBSVN1Z2dlc3Rpb25zV2l0aGluQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiAnQkVGT1JFX01FU1NBR0VTJyB8ICdBRlRFUl9NRVNTQUdFUyc7XG4gIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0luaXRpYWxTdGF0ZT86IENoYXRTdGF0ZTtcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xuXG50eXBlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0gU2ltcGxlQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gfCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG5cbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICBlbnRyeXBvaW50QmdDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuVGV4dENvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRUcmlnZ2VyPzogc3RyaW5nO1xuICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgcGFnZUNvbnRlbnQ/OiBzdHJpbmc7XG4gIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgc2VsZWN0aW9uVGl0bGU/OiBzdHJpbmc7XG4gIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgc29ydGluZ0J1dHRvblRleHQ/OiBzdHJpbmc7XG59O1xuXG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcblxuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gIHZhcmlhbnQ6IENoYXRNZXNzYWdlVmFyaWFudDtcbiAgcHJvZHVjdExpbms6IHtcbiAgICB2YXJpYW50OiBQcm9kdWN0TGlua1ZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAvLyBUT0RPIGNvbnNpZGVyIG1ha2luZyB0aGlzIGEgbnVtYmVyXG4gIHNpemU/OiAnbWQnIHwgJ2xnJztcbiAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgLy8gbWF4aW11bSBoZWlnaHQgb2YgdGhlIHBhcnRpYWwgdmlldyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNjcmVlbiBoZWlnaHRcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cblxudHlwZSBQcm9kdWN0TGlua0ljb25WYXJpYW50ID1cbiAgfCAnYWNjZW50UHJpbWFyeSdcbiAgfCAnYmFja2dyb3VuZFByaW1hcnknXG4gIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaydcbiAgfCAnYm9yZGVyTGlnaHQnXG4gIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xuXG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9ICd0ZXh0TGluayc7XG5cbnR5cGUgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnO1xuXG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID1cbiAgfCAnYmFja2dyb3VuZFByaW1hcnknXG4gIHwgJ2JhY2tncm91bmRTZWNvbmRhcnknXG4gIHwgJ2JhY2tncm91bmRTZWNvbmRhcnlEYXJrJ1xuICB8ICdiYWNrZ3JvdW5kTGlnaHQnXG4gIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xuXG50eXBlIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50ID1cbiAgfCAnb3V0bGluZWQnXG4gIHwgJ291dGxpbmVkTGlnaHQnXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAndGVydGlhcnknXG4gIHwgJ2RhcmsnXG4gIHwgJ2RhcmtBY2NlbnQnXG4gIHwgJ2RhcmtQcmltYXJ5J1xuICB8ICdzZWNvbmRhcnlEYXJrJ1xuICB8ICdzZWNvbmRhcnlBY2NlbnQnXG4gIHwgJ3RyYW5zcGFyZW50J1xuICB8ICd0cmFuc3BhcmVudERhcmsnXG4gIHwgJ2xpZ2h0RGFyayc7XG5cbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBob3ZlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5cbnR5cGUgTnVtUm93cyA9ICdkZWZhdWx0JyB8ICdhbHdheXNPbmVSb3cnIHwgJ2Fsd2F5c1R3b1Jvd3MnIHwgJ3R3b1Jvd3NPbk1vYmlsZSc7XG5cbmludGVyZmFjZSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6ICdhbHBoYWJldGljJztcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6ICdjdXN0b20nO1xuICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG5cbnR5cGUgRmlsdGVyU29ydGluZyA9IEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHwgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB8IEN1c3RvbUZpbHRlclNvcnRpbmc7XG5cbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gIHR5cGU6ICdkeW5hbWljJztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5cbmludGVyZmFjZSBQcmljZUZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICB0eXBlOiAncHJpY2UnO1xuICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcblxuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlVmFyaWFudCA9ICdiYWNrZ3JvdW5kVGVydGlhcnknIHwgJ2JhY2tncm91bmREYXJrJyB8ICdiYWNrZ3JvdW5kUHJpbWFyeSc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVMYXlvdXQgPSAnaW5wdXQnIHwgJ2ljb24nO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9ICd0aGluJyB8ICdib2xkJztcblxuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQgPSAnZGFya0J1dHRvbicgfCAnbGlnaHRCdXR0b24nO1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG5cbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9XG4gIHwgJ21hZ25pZnlpbmdHbGFzcydcbiAgfCAnc2VuZCdcbiAgfCAnbWFnbmlmeWluZ0dsYXNzVGhpbidcbiAgfCAnc2VuZEFycm93J1xuICB8ICdzZWFyY2hJY29uJztcblxuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gIHZhcmlhbnQ/OiAnYm94JyB8ICd1bmRlcmxpbmVMaWdodCcgfCAndW5kZXJsaW5lRGFyayc7XG4gIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cblxuLy8gVE9ETzogdGhpcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHRvcC1sZXZlbCB3aWRnZXQgY29uZmlnXG5pbnRlcmZhY2UgVGVybXNBbmRDb25kaXRpb25zQ29uZmlnIHtcbiAgY29weTogc3RyaW5nO1xuICBsaW5rOiBzdHJpbmc7XG4gIGxpbmtUZXh0OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gIGR5bmFtaWNWYXJpYW50czoge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47IC8vIFRoaXMgZmVhdHVyZSB3aWxsIGVuYWJsZSBkeW5hbWljIHZhcmlhbnRzIGZvciB0aGUgbWVyY2hhbnQuIFVzZWZ1bCBmb3IgU1BBJ3NcbiAgICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7IC8vIFRoZSBpbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMgdG8gY2hlY2sgZm9yIGNoYW5nZXMgaW4gdGhlIFVSTFxuICB9O1xufVxuXG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICB1c2VyUXVlcnlJbnB1dEVuYWJsZWQ6IGJvb2xlYW47XG4gIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gIHRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZz86IFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZztcblxuICAvLyBGb290ZXIgY29uZmlnXG4gIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICByZXBseUlucHV0Q29uZmlnOiBSZXBseUlucHV0Q29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgZW5hYmxlR2xvYmFsU2VhcmNoOiBib29sZWFuO1xuICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsPzogc3RyaW5nO1xuICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbiAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZz86IHN0cmluZztcbn1cblxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcblxudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gIHNob3J0TmFtZTogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAvLyBEZXByZWNhdGVkIC0gcmVtb3ZlIHdpdGggQ2hhdFByZXZpZXcgcmV3cml0ZVxuICBjaGF0UHJldmlld0NvbmZpZz86IENoYXRQcmV2aWV3Q29uZmlnO1xuXG4gIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbiAgLy8gRGVwcmVjYXRlZCAtIHJlbW92ZSB3aGVuIEdsb2JhbCBTZWFyY2ggaXMgZnVsbHkgbGF1bmNoZWRcbiAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuXG4gIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG5cbiAgLy8gRGVwcmVjYXRlZCBUT0RPOiBSZW1vdmUgdGhpcyBkZXByZWNhdGVkIHZhbHVlIHdoZW4gR3Jvb3ZlIENYIGhhcyBwcm9wZXIgdW5pZmllZCBidXR0b24gc3VwcG9ydFxuICAvLyBzZWxlY3RvcnMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIGhpZGRlbiB3aGVuIHRoZSBjaGF0IGlzIG9wZW5cbiAgLy8gZS5nLiBDUyB3aWRnZXRzIHdpdGggbWF4IHotaW5kZXggKFwiZGl2W2lkKj0nY3MtY29udGFpbmVyJ11cIilcbiAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuXG4gIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gIC8vIFRPRE86IE1pZ3JhdGUgYWxsIGZsb2F0aW5nIGNoYXQgY29uZmlnIGludG8gdGhpcyB0b3AtbGV2ZWwga2V5XG4gIC8vXG4gIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuXG4gIC8vIENvbnRhaW4gYWxsIHNlYXJjaCBjb25maWcgaGVyZVxuICBzZWFyY2hDb25maWc6IFNlYXJjaENvbmZpZztcbiAgLy8gVE9ETzogTW92ZSB0aGVzZSBpbnRvIEZsb2F0aW5nQ2hhdENvbmZpZ1xuICAvLyBDaGF0IEhlYWRlciByZWxhdGVkIHZhbHVlc1xuICBjaGF0SGVhZGVyOiBDaGF0SGVhZGVyQ29uZmlnO1xuICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gIHdlbGNvbWVTZWN0aW9uQ29uZmlnPzogV2VsY29tZVNlY3Rpb25Db25maWc7XG4gIC8vIERpZmZlcmVudCByZXNwb25zZSB2YWx1ZXNcbiAgcHJvZHVjdENhcmRDb25maWc/OiBQcm9kdWN0Q2FyZENvbmZpZztcbiAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gIGNoYXRNZXNzYWdlQ29uZmlnOiBDaGF0TWVzc2FnZUNvbmZpZztcbn07XG5cbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gIHNlbGVjdG9yOiBzdHJpbmc7XG4gIC8vIHRoaXMgaXMgdGhlIGluZGV4IG9mIHRoZSB0YXJnZXQgZWxlbWVudCwgMCBpZiBtaXNzaW5nXG4gIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcblxudHlwZSBVUkxUZXN0ID0gJ3Nob3BpZnknIHwgJ251bGwnO1xuXG50eXBlIElkRXh0cmFjdG9yID1cbiAgfCAnc2hvcGlmeS1wcm9kdWN0LWlkJ1xuICB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnXG4gIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJ1xuICB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCdcbiAgfCAndXJsLXJlc29sdmVyLXBscC1pZCdcbiAgfCAnbnVsbCc7XG5cbi8vIFRoaXMgY29udGFpbnMgYSBtYXAgYmV0d2VlbiBQYWdlVmlzaXRDYXRlZ29yeSBhbmQgYSBsaXN0IG9mIFVSTCdzIHRoYXQgYXJlIGNsYXNzaWZpZWQgYXMgdGhlIHZhbHVlXG5lbnVtIENhdGVnb3J5RXh0cmFjdG9yVHlwZSB7XG4gIFZpc2l0Q2F0ZWdvcnlNYXAgPSAnVmlzaXRDYXRlZ29yeU1hcCcsXG4gIFZpc2l0Q2F0ZWdvcnlEZWZhdWx0ID0gJ1Zpc2l0Q2F0ZWdvcnlEZWZhdWx0Jyxcbn1cblxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gIHR5cGU6IFQ7XG59XG5cbi8vIFRoaXMgbWFwIGJldHdlZW5zIGEgY2F0ZWdvcnkgYW5kIGEgbGlzdCBvZiB1cmwgcGF0dGVybnNcbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gIG1hcDoge1xuICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gIH07XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gYSBoYXJkLWNvZGVkIGRlZmF1bHQgUGFnZVZpc2l0Q2F0ZWdvcnkuIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgZmFsbGJhY2sgcGFnZSB0eXBlc1xuaW50ZXJmYWNlIFZpc2l0Q2F0ZWdvcnlEZWZhdWx0IGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5RGVmYXVsdD4ge1xuICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG5cbnR5cGUgQ2F0ZWdvcnlFeHRyYWN0b3IgPSBWaXNpdENhdGVnb3J5TWFwIHwgVmlzaXRDYXRlZ29yeURlZmF1bHQ7XG5cbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICBjbGFzc05hbWU6IHN0cmluZztcbiAgZWxlbWVudDogc3RyaW5nO1xuICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcblxuZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgUGFnZUNhdGVnb3J5ID0gJ1BhZ2VDYXRlZ29yeScsXG4gIENhdGFsb2dDYXRlZ29yeSA9ICdDYXRhbG9nQ2F0ZWdvcnknLFxuICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSAnVG9wQ2F0YWxvZ0NhdGVnb3J5JyxcbiAgSGFzUmV2aWV3cyA9ICdIYXNSZXZpZXdzJyxcbiAgSW5Db2xsZWN0aW9uID0gJ0luQ29sbGVjdGlvbicsXG4gIEhhc01lcmNoYW50VGFnID0gJ0hhc01lcmNoYW50VGFnJyxcbiAgRmVhdHVyZUdhdGUgPSAnRmVhdHVyZUdhdGUnLFxuICBQbHBJZCA9ICdQbHBJZCcsXG4gIFF1ZXJ5UGFyYW0gPSAnUXVlcnlQYXJhbScsXG4gIFByb2R1Y3RJZCA9ICdQcm9kdWN0SWQnLFxuICBVc2VySGFzSW50ZXJhY3RlZCA9ICdVc2VySGFzSW50ZXJhY3RlZCcsXG4gIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gJ1VzZXJIYXNOb3RJbnRlcmFjdGVkJyxcbiAgaXNMb2FkaW5nID0gJ2lzTG9hZGluZycsXG4gIGlzUHJvZHVjdENvbXBhcmlzb24gPSAnaXNQcm9kdWN0Q29tcGFyaXNvbicsXG4gIEZhbGxiYWNrID0gJ0ZhbGxiYWNrJyxcbiAgVXJsUmVzb2x2ZXIgPSAnVXJsUmVzb2x2ZXInLFxuICBpc1NjcmVlbldpZHRoU21hbGxlciA9ICdpc1NjcmVlbldpZHRoU21hbGxlcicsXG4gIE51bGwgPSAnbnVsbCcsXG59XG5cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gIHRlc3RUeXBlOiBUO1xufVxuXG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICB0b3BDYXRlZ29yeTogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICBjYXRlZ29yeTogU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnk7XG59XG5cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gIHJldmlld01pbmltdW0/OiBudW1iZXI7XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvZHVjdCBpcyBpbiBhbnkgb2YgdGhlIGxpc3RlZCBjb2xsZWN0aW9uc1xuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cblxuLy8gVGhpcyB3aWxsIHJldHVybiB0cnVlIGlmIHRoZSBwcm9kdWN0IGhhcyBhbnkgb2YgdGhlIGxpc3RlZCBtZXJjaGFudCB0YWdzXG5pbnRlcmZhY2UgSGFzTWVyY2hhbnRUYWdUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc01lcmNoYW50VGFnPiB7XG4gIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBQYWdlQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlBhZ2VDYXRlZ29yeT4ge1xuICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuXG5pbnRlcmZhY2UgRmVhdHVyZUdhdGVUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlPiB7XG4gIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5cbmludGVyZmFjZSBQcm9kdWN0SWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlByb2R1Y3RJZD4ge1xuICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gIHBscElkczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gIHF1ZXJ5UGFyYW06IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7fVxuXG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7fVxuXG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge31cblxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge31cblxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICBicmVha3BvaW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9XG4gIHwgUGFnZUNhdGVnb3J5VGVzdFxuICB8IENhdGFsb2dDYXRlZ29yeVRlc3RcbiAgfCBUb3BDYXRhbG9nQ2F0ZWdvcnlcbiAgfCBIYXNSZXZpZXdzVGVzdFxuICB8IEluQ29sbGVjdGlvblRlc3RcbiAgfCBIYXNNZXJjaGFudFRhZ1Rlc3RcbiAgfCBGZWF0dXJlR2F0ZVRlc3RcbiAgfCBQcm9kdWN0SWRUZXN0XG4gIHwgUGxwSWRUZXN0XG4gIHwgUXVlcnlQYXJhbVRlc3RcbiAgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3RcbiAgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3RcbiAgfCBJc0xvYWRpbmdUZXN0XG4gIHwgSXNQcm9kdWN0Q29tcGFyaXNvblxuICB8IFBhZ2VGYWxsYmFja1Rlc3RcbiAgfCBVcmxSZXNvbHZlclRlc3RcbiAgfCBJc1NjcmVlbldpZHRoU21hbGxlclRlc3Q7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNvY2lhbCBwcm9vZiBlbWJlZGRlZCB3aWRnZXRcbiAqXG4gKiBAcGFyYW0gaGVhZGVyVGl0bGUgLSBUaGUgdGl0bGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgaGVhZGVyXG4gKiBAcGFyYW0gc3RhdGljU3VnZ2VzdGlvbnMgLSBBIGxpc3Qgb2Ygc3RyaW5ncyB0byBkaXNwbGF5IGFzIHN1Z2dlc3Rpb25zIGluIHRoZSB3aWRnZXRcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGZvb3RlclxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBib2R5XG4gKiBAcGFyYW0gc3RhdGljSW1hZ2VJbmRleCAtIEluZGV4IG9mIHRoZSBpbWFnZVVybCB0byB1c2UgZnJvbSB0aGUgcHJvZHVjdCByZXNwb25zZVxuICovXG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZDb25maWcge1xuICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gIHN0YXRpY1BMUEltYWdlc0xheW91dD86ICdncmlkJyB8ICdob3Jpem9udGFsJztcbiAgaGVhZGVyRm9udEZhbWlseT86IHN0cmluZztcbiAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICBzdGF0aWNJbWFnZUluZGV4PzogbnVtYmVyO1xuICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIHN1Z2dlc3Rpb25CdXR0b25EYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgbG9nb05hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIHRlc3RJZDogc3RyaW5nO1xuICBwYXJlbnRJbnNlcnRpb25Qb2ludD86IEluc2VydGlvblBvaW50O1xuICBpbnNlcnRpb25Qb2ludDogSW5zZXJ0aW9uUG9pbnQ7XG4gIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gIHdyYXBwaW5nRWxlbWVudD86IFdyYXBwaW5nRWxlbWVudDtcbiAgZGl2Q2hlY2tTZWxlY3Rvcj86IHN0cmluZztcbiAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgc3R5bGU/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG5cbnR5cGUgU3RhdGljV2lkZ2V0TW91bnRpbmcgPSB7XG4gIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIER5bmFtaWNXaWRnZXRNb3VudGluZyA9IHtcbiAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xuXG50eXBlIFdpZGdldERpc3BsYXlUZXN0cyA9IHtcbiAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcblxudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuXG5lbnVtIFdpZGdldFR5cGUge1xuICBDaGF0UHJldmlldyA9ICdDaGF0UHJldmlldycsXG4gIFNvY2lhbFByb29mVjIgPSAnU29jaWFsUHJvb2ZWMicsXG4gIENoYXRQcmV2aWV3VjIgPSAnQ2hhdFByZXZpZXdWMicsXG4gIENoYXRQcmV2aWV3SXNMb2FkaW5nID0gJ0NoYXRQcmV2aWV3SXNMb2FkaW5nJyxcbiAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSAnQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24nLFxuICBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uID0gJ0NoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24nLFxuICBTdWdnZXN0aW9uQmFyID0gJ1N1Z2dlc3Rpb25CYXInLFxuICBTdWdnZXN0aW9uQmFyVjIgPSAnU3VnZ2VzdGlvbkJhclYyJyxcbiAgSW1hZ2VQcm9tcHRDYXJkID0gJ0ltYWdlUHJvbXB0Q2FyZCcsXG4gIEltYWdlQmFubmVyID0gJ0ltYWdlQmFubmVyJyxcbiAgU2luZ2xlSW1hZ2VQcm9tcHQgPSAnU2luZ2xlSW1hZ2VQcm9tcHQnLFxuICBTZWFyY2hQcm9tcHQgPSAnU2VhcmNoUHJvbXB0JyxcbiAgU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCA9ICdTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50JyxcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSAnU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQnLFxuICBTZWFyY2hPdmVybGF5SG9zdCA9ICdTZWFyY2hPdmVybGF5SG9zdCcsXG4gIE5vT3AgPSAnTm9PcCcsXG59XG5cbnR5cGUgV2lkZ2V0Q29uZmlnID1cbiAgfCBDaGF0UHJldmlld1dpZGdldENvbmZpZ1xuICB8IFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWdcbiAgfCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWdcbiAgfCBJbWFnZVByb21wdFdpZGdldENvbmZpZ1xuICB8IEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnXG4gIHwgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZ1xuICB8IE5vT3BXaWRnZXRDb25maWc7XG5cbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gIHR5cGU6IFQ7XG4gIGNvbnRlbnRJZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlQmFubmVyPiB7XG4gIGltYWdlU3JjOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmc7XG4gIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3PiB7XG4gIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ2ZsYXQnIHwgJ291dGxpbmVkJztcbiAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gIHNvY2lhbFByb29mQ29uZmlnPzogU29jaWFsUHJvb2ZDb25maWc7XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyB7XG4gIHRpdGxlPzogc3RyaW5nOyAvLyBEZWZhdWx0OiAnU2hvcHBpbmcgQXNzaXN0YW50J1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaW1hZ2VIZWlnaHQ/OiBudW1iZXI7XG59XG5cbnR5cGUgU2luZ2xlSW1hZ2VDb25maWcgPSB7XG4gIGxheW91dDogJ3NpbmdsZSc7XG4gIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gIGxheW91dDogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICBpbWFnZU5hbWVzOiBzdHJpbmdbXTtcbn07XG50eXBlIFNvY2lhbFByb29mSW1hZ2VDb25maWcgPSBTaW5nbGVJbWFnZUNvbmZpZyB8IE11bHRpSW1hZ2VDb25maWc7XG5cbnR5cGUgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnID0ge1xuICBidXR0b25TdHJpbmdzOiBzdHJpbmdbXTtcbiAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIH07XG4gIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIH07XG4gIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcblxudHlwZSBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZyA9IHtcbiAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgYW5pbWF0ZWRTdHJpbmdzOiBzdHJpbmdbXTtcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID1cbiAgfCB7IHZhcmlhbnQ6ICdmbGF0JyB9XG4gIHwgeyB2YXJpYW50OiAnZmlsbGVkJzsgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nIH1cbiAgfCB7IHZhcmlhbnQ6ICdvdXRsaW5lZCcgfTtcblxuLy8gQmFzZSBpbnRlcmZhY2UgZm9yIGNvbW1vbiBjaGF0IHByZXZpZXcgcHJvcGVydGllc1xuaW50ZXJmYWNlIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgc3VnZ2VzdGlvbkJ1dHRvbnNDb25maWc6IENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cblxuLy8gU3BlY2lmaWMgY2hhdCBwcmV2aWV3IHdpZGdldCBjb25maWd1cmF0aW9uc1xuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge31cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIHVzZUxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1YyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgYW5pbWF0ZWRUZXh0Q29uZmlnOiBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZztcbn1cblxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGN1c3RvbWVyUXVlcnk/OiBzdHJpbmc7IC8vIERlZmF1bHQ6ICdhc2tlZCB3aGljaCBwcm9kdWN0cyBhcmUgdGhlIGJlc3QnXG4gIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMj4ge1xuICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcztcbiAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGJ1dHRvblRleHRzOiB7XG4gICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgcHJvZHVjdFNwZWNpZmljPzogeyBbcHJvZHVjdElkOiBzdHJpbmddOiBzdHJpbmdbXSB9O1xuICB9O1xuICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gIGJ1dHRvbkJvcmRlclJhZGl1cz86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn1cblxuaW50ZXJmYWNlIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZD4ge1xuICB1cmw6IHN0cmluZztcbiAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU6IHN0cmluZ1tdO1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGZhbGxiYWNrQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQ+IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ7XG4gIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICBzZWFyY2hJY29uU2l6ZT86IG51bWJlcjtcbiAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzogU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICBpbml0aWFsU3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgdXNpbmdQb3J0YWw/OiBib29sZWFuO1xuICBpbmNsdWRlU3VidGl0bGU/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTm9PcFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Ob09wPiB7fVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7fVxuXG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDtcbiAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIG5vUmVzdWx0c0ZvdW5kVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRIZWFkZXJQcm9wcyBleHRlbmRzIFRlc3RQcm9wcyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBsb2dvPzogc3RyaW5nO1xuICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xuICBvcmdTaG9ydE5hbWU6IHN0cmluZztcbiAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclF1ZXJ5T3B0aW9ucyB7XG4gIGZvb3RlclZhcmlhbnQ/OiAnc3RhbmRhcmQnO1xuICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIHJlcGx5QnV0dG9uSWNvbj86ICdtYWduaWZ5aW5nR2xhc3MnIHwgJ3NlbmQnIHwgJ3RoaW5NYWduaWZ5aW5nR2xhc3MnIHwgJ2FpLXNlYXJjaCc7XG59XG5cbnR5cGUgU2VhcmNoUHJvbXB0VmFyaWFudCA9ICdwcmltYXJ5JztcbmludGVyZmFjZSBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUHJvbXB0PiB7XG4gIHZhcmlhbnQ6IFNlYXJjaFByb21wdFZhcmlhbnQ7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGhlYWRlckNvbmZpZzogV2lkZ2V0SGVhZGVyUHJvcHM7XG4gIHN1Z2dlc3Rpb25CdXR0b25zOiB7XG4gICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBidXR0b25UZXh0czogc3RyaW5nW107XG4gIH07XG4gIGZvb3RlckNvbmZpZz86IFVzZXJRdWVyeU9wdGlvbnM7XG59XG5cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAvLyBVbmlxdWUgaWRlbnRpZmllciBmb3IgZWFjaCBlbnRyeSB3aXRoaW4gdGhlIHBhZ2VWYXJpYW50cy5cbiAgLy8gVXNlZnVsIHRvIGRpZmZlcmVudGlhdGUgd2hpY2ggdmFyaWFudCBpcyBsb2FkZWQgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGVzIG9mIGEgc2luZ2xlIHR5cGUuXG4gIHZhcmlhbnRJZDogc3RyaW5nO1xuICB3aWRnZXRNb3VudGluZzogV2lkZ2V0TW91bnRpbmdbXTtcbiAgdmFyaWFudFRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbiAgZmxvYXRpbmdCdXR0b25PdmVycmlkZT86IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG59O1xuXG50eXBlIFBMUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ3BscCc7XG4gIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG5cbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiAncGRwJztcbiAgcGFyZW50UHJvZHVjdElkRXh0cmFjdG9yPzogSWRFeHRyYWN0b3I7XG4gIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xuXG50eXBlIFZpc2l0UGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiAncGFnZV92aXNpdCc7XG59O1xuXG50eXBlIE90aGVyUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiAnb3RoZXInO1xufTtcblxudHlwZSBIb21lUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiAnaG9tZXBhZ2UnO1xufTtcblxudHlwZSBTZWFyY2hQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6ICdzZWFyY2gnO1xufTtcblxudHlwZSBGdWxsUGFnZVNhbGVzQWdlbnRWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ2Z1bGxfcGFnZSc7XG59O1xuXG5leHBvcnQgdHlwZSBQYWdlVmFyaWFudENvbmZpZyA9XG4gIHwgUExQUGFnZVZhcmlhbnRcbiAgfCBQRFBQYWdlVmFyaWFudFxuICB8IFZpc2l0UGFnZVZhcmlhbnRcbiAgfCBPdGhlclBhZ2VWYXJpYW50XG4gIHwgSG9tZVBhZ2VWYXJpYW50XG4gIHwgU2VhcmNoUGFnZVZhcmlhbnRcbiAgfCBGdWxsUGFnZVNhbGVzQWdlbnRWYXJpYW50O1xuXG5leHBvcnQgdHlwZSBPcmdQYWdlQ29uZmlnID0ge1xuICAvLyBwYWdlVmFyaWFudHMgaXMgYSBsaXN0IG9mIHBhZ2UgdmFyaWFudHMgdGhhdCB3ZSBzdXBwb3J0LlxuICBwYWdlVmFyaWFudHM6IFBhZ2VWYXJpYW50Q29uZmlnW107XG4gIC8vIHdpZGdldENvbmZpZ3MgaXMgYSBuYW1lZCBzZXQgb2Ygd2lkZ2V0IGNvbmZpZ3NcbiAgd2lkZ2V0Q29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0Q29uZmlnVjM+O1xuICBtb3VudGluZ0NvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldE1vdW50aW5nQ29uZmlnPjtcbn07XG5cbmV4cG9ydCB0eXBlIE9yZ0NvbmZpZyA9IE9yZ1VJQ29uZmlnO1xuXG5leHBvcnQgeyBDYXRlZ29yeUV4dHJhY3RvclR5cGUsIENvbG9yTmFtZXMsIGNvbG9yVmFyLCBQYWdlVmFyaWFudFRlc3RUeXBlLCBXaWRnZXRUeXBlIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52aXZlQ29uZmlnIHtcbiAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICBlbnY/OiBzdHJpbmc7XG4gIGJhc2VVcmw/OiBzdHJpbmc7XG4gIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgY2RuVXJsPzogc3RyaW5nO1xuICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgb3JnU2hvcnROYW1lPzogc3RyaW5nO1xuICBvcmdJZD86IHN0cmluZztcbiAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG4gIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICBzaG93PzogYm9vbGVhbjtcbiAgZW52aXZlT24/OiBib29sZWFuO1xuICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gIGZlYXR1cmVHYXRlcz86IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIGhhcmRjb3B5T3ZlcnJpZGU/OiBQYXJ0aWFsPFJlY29yZDxXaWRnZXRUeXBlVjMsIEhhcmRjb3B5UmVzcG9uc2U+Pjtcbn1cblxuZXhwb3J0IHR5cGUge1xuICBDYXRlZ29yeUV4dHJhY3RvcixcbiAgQ2hhdE1lc3NhZ2VWYXJpYW50LFxuICBDaGF0TWVzc2FnZUNvbmZpZyxcbiAgQ2hhdFByZXZpZXdDb25maWcsXG4gIENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLFxuICBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnLFxuICBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyxcbiAgQ2hhdFByZXZpZXdIZWFkZXJDb25maWcsXG4gIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld1ZhcmlhbnQsXG4gIENvbG9yTWFwcGluZyxcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sXG4gIEZsb2F0aW5nRW50cnlQb2ludENvbmZpZyxcbiAgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLFxuICBJZEV4dHJhY3RvcixcbiAgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcsXG4gIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBJbnNlcnRpb25Qb2ludCxcbiAgTXVsdGlJbWFnZUNvbmZpZyxcbiAgTWVyY2hhbnRWYXJpYW50U2V0dGluZ3MsXG4gIFNlYXJjaENvbmZpZyxcbiAgT3JnVUlDb25maWcsXG4gIFBhZ2VDYXJkQ29uZmlnLFxuICBQYWdlQ2FyZFZhcmlhbnQsXG4gIFBhZ2VDYXJkSG92ZXJWYXJpYW50LFxuICBQYWdlQ2FyZEljb25WYXJpYW50LFxuICBQcm9kdWN0Q2FyZENvbmZpZyxcbiAgUHJvZHVjdENhcmRWYXJpYW50LFxuICBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQsXG4gIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50LFxuICBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCxcbiAgUHJvZHVjdExpbmtJY29uVmFyaWFudCxcbiAgUHJvZHVjdExpbmtWYXJpYW50LFxuICBQcm9kdWN0UmV2aWV3Q29uZmlnLFxuICBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50LFxuICBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50LFxuICBTZWFyY2hQcm9tcHRWYXJpYW50LFxuICBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcsXG4gIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zLFxuICBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcsXG4gIFNvY2lhbFByb29mQ29uZmlnLFxuICBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gIFN1Z2dlc3Rpb25CdXR0b25Db25maWcsXG4gIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50LFxuICBVUkxUZXN0LFxuICBVc2VyUXVlcnlCdXR0b25Db25maWcsXG4gIFVzZXJRdWVyeUJ1dHRvbkljb24sXG4gIFdlbGNvbWVTZWN0aW9uQ29uZmlnLFxuICBXZWxjb21lU2VjdGlvblZhcmlhbnQsXG4gIFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50LFxuICBXaWRnZXRDb25maWcsXG4gIFdyYXBwaW5nRWxlbWVudCxcbiAgU2VhcmNoQ2FyZFZhcmlhbnQsXG4gIFdpZGdldERpc3BsYXlUZXN0cyxcbiAgTm9PcFdpZGdldENvbmZpZyxcbiAgV2lkZ2V0TW91bnRpbmcsXG4gIFN0YXRpY1dpZGdldE1vdW50aW5nLFxuICBEeW5hbWljV2lkZ2V0TW91bnRpbmcsXG4gIFBEUFBhZ2VWYXJpYW50LFxuICBQTFBQYWdlVmFyaWFudCxcbiAgVmlzaXRQYWdlVmFyaWFudCxcbiAgT3RoZXJQYWdlVmFyaWFudCxcbiAgSG9tZVBhZ2VWYXJpYW50LFxuICBTZWFyY2hQYWdlVmFyaWFudCxcbiAgTnVtUm93cyxcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQW9jQSxJQUFLLDBFQUFMO0FBQ0U7QUFDQTs7RUFGRztBQTZCTCxJQUFLLHNFQUFMO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQWxCRztBQXFLTCxJQUFLLG9EQUFMO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0VBaEJHIn0=
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nLCBDb2xvck5hbWVzLCBjb2xvclZhciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSwgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0b21lclNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb24nO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gJ3NyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uJztcblxuaW1wb3J0IHR5cGUge1xuICBQYWdlVmlzaXRDYXRlZ29yeSxcbiAgU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnksXG59IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzLCBXaWRnZXRUeXBlVjMgfSBmcm9tICcuL3R5cGVzVjMnO1xuaW1wb3J0IHR5cGUgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnLi9oYXJkY29weUNvbnRleHQvaGFyZGNvcHlDb250ZXh0JztcblxudHlwZSBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zID1cbiAgfCAnYWx3YXlzJ1xuICB8ICdhZnRlci1pbnRlcmFjdGlvbi1vbi1tb2JpbGUtYWx3YXlzLWRlc2t0b3AnXG4gIHwgJ2FmdGVyLWludGVyYWN0aW9uLWFueXdoZXJlJ1xuICB8ICduZXZlcic7XG5cbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICBwb3NpdGlvbjogJ2JvdHRvbS1sZWZ0JyB8ICdtaWRkbGUtbGVmdCcgfCAnbWlkZGxlLXJpZ2h0JyB8ICdib3R0b20tcmlnaHQnO1xuICBleHBhbnNpb25UZXh0Pzoge1xuICAgIHBkcDogc3RyaW5nO1xuICAgIHBscDogc3RyaW5nO1xuICB9O1xuICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgaWNvblNpemU/OiBudW1iZXI7XG4gIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb250U2l6ZT86IG51bWJlcjtcbn07XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25WYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdvdXRsaW5lZCc7XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcblxudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICBjb2xvclZhcmlhbnQ/OiBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudDtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICAvLyBpY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAvKiBTZXJpYWxpemFibGUgaWNvbiBuYW1lIHRoYXQgbWFwcyB0byBhIFJlYWN0IGNvbXBvbmVudC4gUHJlZmVycmVkIG92ZXIgaWNvbiBmb3IgZGF0YWJhc2Ugc3RvcmFnZS4gKi9cbiAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xufTtcblxudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICBsYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbiAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uVGV4dENvbG9yPzogc3RyaW5nO1xuICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICBidXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvbkJvcmRlckhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gIGNvcGllczogeyBwZHA6IHN0cmluZ1tdOyBwbHA6IHN0cmluZ1tdIH07XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7IHBkcDogc3RyaW5nW107IHBscDogc3RyaW5nW10gfTtcbiAgc3RhdGljUExQSW1hZ2VzPzogc3RyaW5nW107XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgdG9wTWFyZ2luPzogbnVtYmVyO1xufTtcblxudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgc3BhcmtsZXNDb2xvcj86IHN0cmluZzsgLy8gdXNlZCBieTogc3BhbngsIHVuaXF1ZVZpbnRhZ2UsIGRyZWFtbGFuZEJhYnlcbiAgZm9udFNpemU/OiBzdHJpbmc7XG4gIGljb25XaWR0aD86IHN0cmluZztcbiAgaWNvbkhlaWdodD86IHN0cmluZztcbn07XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gIGhhc0ZhZGU/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueCwgdW5pcXVlVmludGFnZVxuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86ICdkYXJrJyB8ICdsaWdodCcgfCAnb3V0bGluZWQnO1xuICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7IC8vIHVzZWQgYnk6IGNhcmJhaG5cbiAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgcmVwbHlJbnB1dEhhc1NoYWRvdz86IGJvb2xlYW47IC8vIHVzZWQgYnk6IHNwYW54XG4gIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueFxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7IC8vIHVzZWQgYnkgc3BhbngsIHR1c2hiYWJ5LCB3aWxsIG5lZWQgY3VzdG9tIENTUyB3aGVuIHN3aXRjaGluZyBvdmVyXG59XG5cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xuXG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSAnbmV1dHJhbCcgfCAnYnJhbmQnIHwgJ3ByZW1pdW0nO1xuXG5pbnRlcmZhY2UgUHJvZHVjdFJldmlld0NvbmZpZyB7XG4gIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICB2ZXJpZmllZEJ1eWVyVGl0bGU6IHN0cmluZztcbiAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG5cbnR5cGUgUGFnZUNhcmRWYXJpYW50ID0gJ2ZpbGxlZCcgfCAnb3V0bGluZWQnIHwgJ21pbmltYWwnO1xuXG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG5cbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ2JhY2tncm91bmQnIHwgJ25vbmUnO1xuXG50eXBlIFBhZ2VDYXJkQ29uZmlnID0ge1xuICB2YXJpYW50OiBQYWdlQ2FyZFZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gIGljb25WYXJpYW50OiBQYWdlQ2FyZEljb25WYXJpYW50O1xufTtcblxudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG5cbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnIHwgJ25vbmUnO1xuXG50eXBlIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCA9ICdub3JtYWwnIHwgJ3RhbGwnIHwgJ3NxdWFyZSc7XG5cbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gIHZhcmlhbnQ6IFByb2R1Y3RDYXJkVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICBwcmljZVByZWZpeD86IHN0cmluZztcbn1cblxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgdmFyaWFudDogJ2F0dGFjaGVkJyB8ICdkZXRhY2hlZCc7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICBzZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICBzZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICB1bnNlbGVjdGVkQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBzdXBwb3J0VGl0bGU/OiBzdHJpbmc7XG4gIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICBzcGlmZnlUaXRsZUhhc0xvZ28/OiBib29sZWFuO1xufTtcblxudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICBjb2xsYXBzZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICBib3JkZXJCb3R0b20/OiBzdHJpbmc7XG4gIGhlYWRlckJhckhlaWdodFBhcnRpYWxWaWV3OiBudW1iZXI7XG4gIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gIGN1c3RvbWVyU3VwcG9ydFN3aXRjaENvbmZpZz86IENTU3dpdGNoQ29uZmlnO1xufTtcblxudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGU7XG4gIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgbWF4ZmlsZVVwbG9hZFNpemU/OiBudW1iZXI7XG59O1xuXG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGU7XG4gIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgY2hhdEVuYWJsZWREdXJpbmdCdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgc2hvd05hbWVJbnB1dD86IGJvb2xlYW47XG4gIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gIHdlbGNvbWVUaXRsZTogc3RyaW5nO1xuICB3ZWxjb21lRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICBjb250YWN0U3ViamVjdE9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgZ2V0Q3VzdG9tV2FpdGluZ01lc3NhZ2U/OiAobmFtZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc1dhaXRpbmdNZXNzYWdlPzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgYnVzaW5lc3NIb3Vyc1BvbGxpbmc/OiBudW1iZXI7XG4gIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICovXG4gIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1RpbWV6b25lPzogc3RyaW5nO1xuXG4gIHNob3dBSVN1Z2dlc3Rpb25zV2l0aGluQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiAnQkVGT1JFX01FU1NBR0VTJyB8ICdBRlRFUl9NRVNTQUdFUyc7XG4gIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0luaXRpYWxTdGF0ZT86IENoYXRTdGF0ZTtcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xuXG50eXBlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0gU2ltcGxlQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gfCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG5cbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICBlbnRyeXBvaW50QmdDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuVGV4dENvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRUcmlnZ2VyPzogc3RyaW5nO1xuICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgcGFnZUNvbnRlbnQ/OiBzdHJpbmc7XG4gIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgc2VsZWN0aW9uVGl0bGU/OiBzdHJpbmc7XG4gIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgc29ydGluZ0J1dHRvblRleHQ/OiBzdHJpbmc7XG59O1xuXG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcblxuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gIHZhcmlhbnQ6IENoYXRNZXNzYWdlVmFyaWFudDtcbiAgcHJvZHVjdExpbms6IHtcbiAgICB2YXJpYW50OiBQcm9kdWN0TGlua1ZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAvLyBUT0RPIGNvbnNpZGVyIG1ha2luZyB0aGlzIGEgbnVtYmVyXG4gIHNpemU/OiAnbWQnIHwgJ2xnJztcbiAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgLy8gbWF4aW11bSBoZWlnaHQgb2YgdGhlIHBhcnRpYWwgdmlldyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNjcmVlbiBoZWlnaHRcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cblxudHlwZSBQcm9kdWN0TGlua0ljb25WYXJpYW50ID1cbiAgfCAnYWNjZW50UHJpbWFyeSdcbiAgfCAnYmFja2dyb3VuZFByaW1hcnknXG4gIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaydcbiAgfCAnYm9yZGVyTGlnaHQnXG4gIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xuXG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9ICd0ZXh0TGluayc7XG5cbnR5cGUgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnO1xuXG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID1cbiAgfCAnYmFja2dyb3VuZFByaW1hcnknXG4gIHwgJ2JhY2tncm91bmRTZWNvbmRhcnknXG4gIHwgJ2JhY2tncm91bmRTZWNvbmRhcnlEYXJrJ1xuICB8ICdiYWNrZ3JvdW5kTGlnaHQnXG4gIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xuXG50eXBlIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50ID1cbiAgfCAnb3V0bGluZWQnXG4gIHwgJ291dGxpbmVkTGlnaHQnXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAndGVydGlhcnknXG4gIHwgJ2RhcmsnXG4gIHwgJ2RhcmtBY2NlbnQnXG4gIHwgJ2RhcmtQcmltYXJ5J1xuICB8ICdzZWNvbmRhcnlEYXJrJ1xuICB8ICdzZWNvbmRhcnlBY2NlbnQnXG4gIHwgJ3RyYW5zcGFyZW50J1xuICB8ICd0cmFuc3BhcmVudERhcmsnXG4gIHwgJ2xpZ2h0RGFyayc7XG5cbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBob3ZlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5cbnR5cGUgTnVtUm93cyA9ICdkZWZhdWx0JyB8ICdhbHdheXNPbmVSb3cnIHwgJ2Fsd2F5c1R3b1Jvd3MnIHwgJ3R3b1Jvd3NPbk1vYmlsZSc7XG5cbmludGVyZmFjZSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6ICdhbHBoYWJldGljJztcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6ICdjdXN0b20nO1xuICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG5cbnR5cGUgRmlsdGVyU29ydGluZyA9IEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHwgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB8IEN1c3RvbUZpbHRlclNvcnRpbmc7XG5cbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gIHR5cGU6ICdkeW5hbWljJztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5cbmludGVyZmFjZSBQcmljZUZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICB0eXBlOiAncHJpY2UnO1xuICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcblxuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlVmFyaWFudCA9ICdiYWNrZ3JvdW5kVGVydGlhcnknIHwgJ2JhY2tncm91bmREYXJrJyB8ICdiYWNrZ3JvdW5kUHJpbWFyeSc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVMYXlvdXQgPSAnaW5wdXQnIHwgJ2ljb24nO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9ICd0aGluJyB8ICdib2xkJztcblxuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQgPSAnZGFya0J1dHRvbicgfCAnbGlnaHRCdXR0b24nO1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG5cbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9XG4gIHwgJ21hZ25pZnlpbmdHbGFzcydcbiAgfCAnc2VuZCdcbiAgfCAnbWFnbmlmeWluZ0dsYXNzVGhpbidcbiAgfCAnc2VuZEFycm93J1xuICB8ICdzZWFyY2hJY29uJztcblxuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gIHZhcmlhbnQ/OiAnYm94JyB8ICd1bmRlcmxpbmVMaWdodCcgfCAndW5kZXJsaW5lRGFyayc7XG4gIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cblxuLy8gVE9ETzogdGhpcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHRvcC1sZXZlbCB3aWRnZXQgY29uZmlnXG5pbnRlcmZhY2UgVGVybXNBbmRDb25kaXRpb25zQ29uZmlnIHtcbiAgY29weTogc3RyaW5nO1xuICBsaW5rOiBzdHJpbmc7XG4gIGxpbmtUZXh0OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gIGR5bmFtaWNWYXJpYW50czoge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47IC8vIFRoaXMgZmVhdHVyZSB3aWxsIGVuYWJsZSBkeW5hbWljIHZhcmlhbnRzIGZvciB0aGUgbWVyY2hhbnQuIFVzZWZ1bCBmb3IgU1BBJ3NcbiAgICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7IC8vIFRoZSBpbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMgdG8gY2hlY2sgZm9yIGNoYW5nZXMgaW4gdGhlIFVSTFxuICB9O1xufVxuXG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICB1c2VyUXVlcnlJbnB1dEVuYWJsZWQ6IGJvb2xlYW47XG4gIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gIHRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZz86IFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZztcblxuICAvLyBGb290ZXIgY29uZmlnXG4gIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICByZXBseUlucHV0Q29uZmlnOiBSZXBseUlucHV0Q29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgZW5hYmxlR2xvYmFsU2VhcmNoOiBib29sZWFuO1xuICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsPzogc3RyaW5nO1xuICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbiAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZz86IHN0cmluZztcbn1cblxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcblxudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gIHNob3J0TmFtZTogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAvLyBEZXByZWNhdGVkIC0gcmVtb3ZlIHdpdGggQ2hhdFByZXZpZXcgcmV3cml0ZVxuICBjaGF0UHJldmlld0NvbmZpZz86IENoYXRQcmV2aWV3Q29uZmlnO1xuXG4gIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbiAgLy8gRGVwcmVjYXRlZCAtIHJlbW92ZSB3aGVuIEdsb2JhbCBTZWFyY2ggaXMgZnVsbHkgbGF1bmNoZWRcbiAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuXG4gIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG5cbiAgLy8gRGVwcmVjYXRlZCBUT0RPOiBSZW1vdmUgdGhpcyBkZXByZWNhdGVkIHZhbHVlIHdoZW4gR3Jvb3ZlIENYIGhhcyBwcm9wZXIgdW5pZmllZCBidXR0b24gc3VwcG9ydFxuICAvLyBzZWxlY3RvcnMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIGhpZGRlbiB3aGVuIHRoZSBjaGF0IGlzIG9wZW5cbiAgLy8gZS5nLiBDUyB3aWRnZXRzIHdpdGggbWF4IHotaW5kZXggKFwiZGl2W2lkKj0nY3MtY29udGFpbmVyJ11cIilcbiAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuXG4gIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gIC8vIFRPRE86IE1pZ3JhdGUgYWxsIGZsb2F0aW5nIGNoYXQgY29uZmlnIGludG8gdGhpcyB0b3AtbGV2ZWwga2V5XG4gIC8vXG4gIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuXG4gIC8vIENvbnRhaW4gYWxsIHNlYXJjaCBjb25maWcgaGVyZVxuICBzZWFyY2hDb25maWc6IFNlYXJjaENvbmZpZztcbiAgLy8gVE9ETzogTW92ZSB0aGVzZSBpbnRvIEZsb2F0aW5nQ2hhdENvbmZpZ1xuICAvLyBDaGF0IEhlYWRlciByZWxhdGVkIHZhbHVlc1xuICBjaGF0SGVhZGVyOiBDaGF0SGVhZGVyQ29uZmlnO1xuICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gIHdlbGNvbWVTZWN0aW9uQ29uZmlnPzogV2VsY29tZVNlY3Rpb25Db25maWc7XG4gIC8vIERpZmZlcmVudCByZXNwb25zZSB2YWx1ZXNcbiAgcHJvZHVjdENhcmRDb25maWc/OiBQcm9kdWN0Q2FyZENvbmZpZztcbiAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gIGNoYXRNZXNzYWdlQ29uZmlnOiBDaGF0TWVzc2FnZUNvbmZpZztcbn07XG5cbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gIHNlbGVjdG9yOiBzdHJpbmc7XG4gIC8vIHRoaXMgaXMgdGhlIGluZGV4IG9mIHRoZSB0YXJnZXQgZWxlbWVudCwgMCBpZiBtaXNzaW5nXG4gIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcblxudHlwZSBVUkxUZXN0ID0gJ3Nob3BpZnknIHwgJ251bGwnO1xuXG50eXBlIElkRXh0cmFjdG9yID1cbiAgfCAnc2hvcGlmeS1wcm9kdWN0LWlkJ1xuICB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnXG4gIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJ1xuICB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCdcbiAgfCAndXJsLXJlc29sdmVyLXBscC1pZCdcbiAgfCAnbnVsbCc7XG5cbi8vIFRoaXMgY29udGFpbnMgYSBtYXAgYmV0d2VlbiBQYWdlVmlzaXRDYXRlZ29yeSBhbmQgYSBsaXN0IG9mIFVSTCdzIHRoYXQgYXJlIGNsYXNzaWZpZWQgYXMgdGhlIHZhbHVlXG5lbnVtIENhdGVnb3J5RXh0cmFjdG9yVHlwZSB7XG4gIFZpc2l0Q2F0ZWdvcnlNYXAgPSAnVmlzaXRDYXRlZ29yeU1hcCcsXG4gIFZpc2l0Q2F0ZWdvcnlEZWZhdWx0ID0gJ1Zpc2l0Q2F0ZWdvcnlEZWZhdWx0Jyxcbn1cblxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gIHR5cGU6IFQ7XG59XG5cbi8vIFRoaXMgbWFwIGJldHdlZW5zIGEgY2F0ZWdvcnkgYW5kIGEgbGlzdCBvZiB1cmwgcGF0dGVybnNcbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gIG1hcDoge1xuICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gIH07XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gYSBoYXJkLWNvZGVkIGRlZmF1bHQgUGFnZVZpc2l0Q2F0ZWdvcnkuIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgZmFsbGJhY2sgcGFnZSB0eXBlc1xuaW50ZXJmYWNlIFZpc2l0Q2F0ZWdvcnlEZWZhdWx0IGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5RGVmYXVsdD4ge1xuICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG5cbnR5cGUgQ2F0ZWdvcnlFeHRyYWN0b3IgPSBWaXNpdENhdGVnb3J5TWFwIHwgVmlzaXRDYXRlZ29yeURlZmF1bHQ7XG5cbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICBjbGFzc05hbWU6IHN0cmluZztcbiAgZWxlbWVudDogc3RyaW5nO1xuICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcblxuZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgUGFnZUNhdGVnb3J5ID0gJ1BhZ2VDYXRlZ29yeScsXG4gIENhdGFsb2dDYXRlZ29yeSA9ICdDYXRhbG9nQ2F0ZWdvcnknLFxuICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSAnVG9wQ2F0YWxvZ0NhdGVnb3J5JyxcbiAgSGFzUmV2aWV3cyA9ICdIYXNSZXZpZXdzJyxcbiAgSW5Db2xsZWN0aW9uID0gJ0luQ29sbGVjdGlvbicsXG4gIEhhc01lcmNoYW50VGFnID0gJ0hhc01lcmNoYW50VGFnJyxcbiAgRmVhdHVyZUdhdGUgPSAnRmVhdHVyZUdhdGUnLFxuICBQbHBJZCA9ICdQbHBJZCcsXG4gIFF1ZXJ5UGFyYW0gPSAnUXVlcnlQYXJhbScsXG4gIFByb2R1Y3RJZCA9ICdQcm9kdWN0SWQnLFxuICBVc2VySGFzSW50ZXJhY3RlZCA9ICdVc2VySGFzSW50ZXJhY3RlZCcsXG4gIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gJ1VzZXJIYXNOb3RJbnRlcmFjdGVkJyxcbiAgaXNMb2FkaW5nID0gJ2lzTG9hZGluZycsXG4gIGlzUHJvZHVjdENvbXBhcmlzb24gPSAnaXNQcm9kdWN0Q29tcGFyaXNvbicsXG4gIEZhbGxiYWNrID0gJ0ZhbGxiYWNrJyxcbiAgVXJsUmVzb2x2ZXIgPSAnVXJsUmVzb2x2ZXInLFxuICBpc1NjcmVlbldpZHRoU21hbGxlciA9ICdpc1NjcmVlbldpZHRoU21hbGxlcicsXG4gIE51bGwgPSAnbnVsbCcsXG59XG5cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gIHRlc3RUeXBlOiBUO1xufVxuXG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICB0b3BDYXRlZ29yeTogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICBjYXRlZ29yeTogU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnk7XG59XG5cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gIHJldmlld01pbmltdW0/OiBudW1iZXI7XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvZHVjdCBpcyBpbiBhbnkgb2YgdGhlIGxpc3RlZCBjb2xsZWN0aW9uc1xuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cblxuLy8gVGhpcyB3aWxsIHJldHVybiB0cnVlIGlmIHRoZSBwcm9kdWN0IGhhcyBhbnkgb2YgdGhlIGxpc3RlZCBtZXJjaGFudCB0YWdzXG5pbnRlcmZhY2UgSGFzTWVyY2hhbnRUYWdUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc01lcmNoYW50VGFnPiB7XG4gIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBQYWdlQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlBhZ2VDYXRlZ29yeT4ge1xuICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuXG5pbnRlcmZhY2UgRmVhdHVyZUdhdGVUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlPiB7XG4gIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5cbmludGVyZmFjZSBQcm9kdWN0SWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlByb2R1Y3RJZD4ge1xuICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gIHBscElkczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gIHF1ZXJ5UGFyYW06IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7fVxuXG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7fVxuXG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge31cblxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge31cblxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICBicmVha3BvaW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9XG4gIHwgUGFnZUNhdGVnb3J5VGVzdFxuICB8IENhdGFsb2dDYXRlZ29yeVRlc3RcbiAgfCBUb3BDYXRhbG9nQ2F0ZWdvcnlcbiAgfCBIYXNSZXZpZXdzVGVzdFxuICB8IEluQ29sbGVjdGlvblRlc3RcbiAgfCBIYXNNZXJjaGFudFRhZ1Rlc3RcbiAgfCBGZWF0dXJlR2F0ZVRlc3RcbiAgfCBQcm9kdWN0SWRUZXN0XG4gIHwgUGxwSWRUZXN0XG4gIHwgUXVlcnlQYXJhbVRlc3RcbiAgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3RcbiAgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3RcbiAgfCBJc0xvYWRpbmdUZXN0XG4gIHwgSXNQcm9kdWN0Q29tcGFyaXNvblxuICB8IFBhZ2VGYWxsYmFja1Rlc3RcbiAgfCBVcmxSZXNvbHZlclRlc3RcbiAgfCBJc1NjcmVlbldpZHRoU21hbGxlclRlc3Q7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNvY2lhbCBwcm9vZiBlbWJlZGRlZCB3aWRnZXRcbiAqXG4gKiBAcGFyYW0gaGVhZGVyVGl0bGUgLSBUaGUgdGl0bGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgaGVhZGVyXG4gKiBAcGFyYW0gc3RhdGljU3VnZ2VzdGlvbnMgLSBBIGxpc3Qgb2Ygc3RyaW5ncyB0byBkaXNwbGF5IGFzIHN1Z2dlc3Rpb25zIGluIHRoZSB3aWRnZXRcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGZvb3RlclxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBib2R5XG4gKiBAcGFyYW0gc3RhdGljSW1hZ2VJbmRleCAtIEluZGV4IG9mIHRoZSBpbWFnZVVybCB0byB1c2UgZnJvbSB0aGUgcHJvZHVjdCByZXNwb25zZVxuICovXG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZDb25maWcge1xuICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gIHN0YXRpY1BMUEltYWdlc0xheW91dD86ICdncmlkJyB8ICdob3Jpem9udGFsJztcbiAgaGVhZGVyRm9udEZhbWlseT86IHN0cmluZztcbiAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICBzdGF0aWNJbWFnZUluZGV4PzogbnVtYmVyO1xuICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIHN1Z2dlc3Rpb25CdXR0b25EYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgbG9nb05hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIHRlc3RJZD86IHN0cmluZztcbiAgcGFyZW50SW5zZXJ0aW9uUG9pbnQ/OiBJbnNlcnRpb25Qb2ludDtcbiAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICBncmlkSW5zZXJ0aW9uVHlwZT86IEdyaWRJbnNlcnRpb25UeXBlO1xuICB3cmFwcGluZ0VsZW1lbnQ/OiBXcmFwcGluZ0VsZW1lbnQ7XG4gIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gIHN1cHByZXNzaW9uU2VsZWN0b3I/OiBzdHJpbmc7XG4gIHN0eWxlPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBkYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBEeW5hbWljV2lkZ2V0TW91bnRpbmcgPSB7XG4gIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgbW91bnRpbmdQb2ludFdpZGdldHM6IFdpZGdldERpc3BsYXlUZXN0c1tdO1xufTtcblxudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gIHRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbiAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG5cbnR5cGUgV2lkZ2V0TW91bnRpbmcgPSBTdGF0aWNXaWRnZXRNb3VudGluZyB8IER5bmFtaWNXaWRnZXRNb3VudGluZztcblxuZW51bSBXaWRnZXRUeXBlIHtcbiAgQ2hhdFByZXZpZXcgPSAnQ2hhdFByZXZpZXcnLFxuICBTb2NpYWxQcm9vZlYyID0gJ1NvY2lhbFByb29mVjInLFxuICBDaGF0UHJldmlld1YyID0gJ0NoYXRQcmV2aWV3VjInLFxuICBDaGF0UHJldmlld0lzTG9hZGluZyA9ICdDaGF0UHJldmlld0lzTG9hZGluZycsXG4gIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uID0gJ0NoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uJyxcbiAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbiA9ICdDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uJyxcbiAgU3VnZ2VzdGlvbkJhciA9ICdTdWdnZXN0aW9uQmFyJyxcbiAgU3VnZ2VzdGlvbkJhclYyID0gJ1N1Z2dlc3Rpb25CYXJWMicsXG4gIEltYWdlUHJvbXB0Q2FyZCA9ICdJbWFnZVByb21wdENhcmQnLFxuICBJbWFnZUJhbm5lciA9ICdJbWFnZUJhbm5lcicsXG4gIFNpbmdsZUltYWdlUHJvbXB0ID0gJ1NpbmdsZUltYWdlUHJvbXB0JyxcbiAgU2VhcmNoUHJvbXB0ID0gJ1NlYXJjaFByb21wdCcsXG4gIFNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQgPSAnU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCcsXG4gIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50ID0gJ1NlYXJjaFJlc3VsdHNFbnRyeVBvaW50JyxcbiAgU2VhcmNoT3ZlcmxheUhvc3QgPSAnU2VhcmNoT3ZlcmxheUhvc3QnLFxuICBOb09wID0gJ05vT3AnLFxufVxuXG50eXBlIFdpZGdldENvbmZpZyA9XG4gIHwgQ2hhdFByZXZpZXdXaWRnZXRDb25maWdcbiAgfCBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnXG4gIHwgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnXG4gIHwgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBJbWFnZUJhbm5lcldpZGdldENvbmZpZ1xuICB8IFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZ1xuICB8IFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWdcbiAgfCBOb09wV2lkZ2V0Q29uZmlnO1xuXG5pbnRlcmZhY2UgQmFzZVdpZGdldENvbmZpZzxUIGV4dGVuZHMgV2lkZ2V0VHlwZT4ge1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xuICB0eXBlOiBUO1xuICBjb250ZW50SWQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJbWFnZUJhbm5lcldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZUJhbm5lcj4ge1xuICBpbWFnZVNyYzogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nO1xuICBhc3Npc3RhbnRNZXNzYWdlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlldz4ge1xuICB2YXJpYW50OiAnZmlsbGVkJyB8ICdmbGF0JyB8ICdvdXRsaW5lZCc7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xuICBzb2NpYWxQcm9vZkNvbmZpZz86IFNvY2lhbFByb29mQ29uZmlnO1xuICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcge1xuICB0aXRsZT86IHN0cmluZzsgLy8gRGVmYXVsdDogJ1Nob3BwaW5nIEFzc2lzdGFudCdcbiAgaW1hZ2VTcmM/OiBzdHJpbmc7XG4gIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xufVxuXG50eXBlIFNpbmdsZUltYWdlQ29uZmlnID0ge1xuICBsYXlvdXQ6ICdzaW5nbGUnO1xuICBpbWFnZUluZGV4OiBudW1iZXI7XG59O1xudHlwZSBNdWx0aUltYWdlQ29uZmlnID0ge1xuICBsYXlvdXQ6ICdncmlkJyB8ICdob3Jpem9udGFsJztcbiAgaW1hZ2VOYW1lczogc3RyaW5nW107XG59O1xudHlwZSBTb2NpYWxQcm9vZkltYWdlQ29uZmlnID0gU2luZ2xlSW1hZ2VDb25maWcgfCBNdWx0aUltYWdlQ29uZmlnO1xuXG50eXBlIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyA9IHtcbiAgYnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gIGFjY2VudEJ1dHRvblZhcmlhbnRzPzoge1xuICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXI6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICB9O1xuICBidXR0b25WYXJpYW50czoge1xuICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXI6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICB9O1xuICBudW1Sb3dzPzogTnVtUm93cztcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWcgPSB7XG4gIGxlYWRpbmdUZXh0OiBzdHJpbmc7XG4gIGFuaW1hdGVkU3RyaW5nczogc3RyaW5nW107XG59O1xuXG50eXBlIENoYXRQcmV2aWV3VmFyaWFudCA9XG4gIHwgeyB2YXJpYW50OiAnZmxhdCcgfVxuICB8IHsgdmFyaWFudDogJ2ZpbGxlZCc7IGJhY2tncm91bmRGaWxsQ29sb3I6IHN0cmluZyB9XG4gIHwgeyB2YXJpYW50OiAnb3V0bGluZWQnIH07XG5cbi8vIEJhc2UgaW50ZXJmYWNlIGZvciBjb21tb24gY2hhdCBwcmV2aWV3IHByb3BlcnRpZXNcbmludGVyZmFjZSBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICBoZWFkZXJDb25maWc6IENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWc7XG4gIHN1Z2dlc3Rpb25CdXR0b25zQ29uZmlnOiBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5cbi8vIFNwZWNpZmljIGNoYXQgcHJldmlldyB3aWRnZXQgY29uZmlndXJhdGlvbnNcbmludGVyZmFjZSBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3SXNMb2FkaW5nPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHt9XG5cbmludGVyZmFjZSBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICB1c2VMYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGFuaW1hdGVkVGV4dENvbmZpZzogQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWc7XG59XG5cbmludGVyZmFjZSBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNvY2lhbFByb29mVjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICBjdXN0b21lclF1ZXJ5Pzogc3RyaW5nOyAvLyBEZWZhdWx0OiAnYXNrZWQgd2hpY2ggcHJvZHVjdHMgYXJlIHRoZSBiZXN0J1xuICBpbWFnZUNvbmZpZzogU29jaWFsUHJvb2ZJbWFnZUNvbmZpZztcbn1cblxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjI+IHtcbiAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbjtcbiAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3M7XG4gIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBidXR0b25UZXh0czoge1xuICAgIGRlZmF1bHQ6IHN0cmluZ1tdO1xuICAgIHByb2R1Y3RTcGVjaWZpYz86IHsgW3Byb2R1Y3RJZDogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgfTtcbiAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgdHdvUm93c09uTW9iaWxlPzogYm9vbGVhbjtcbiAgYW5pbWF0aW9uU3BlZWQ/OiAnc3RhbmRhcmQnIHwgJ3Nsb3cnIHwgJ25vbmUnO1xuICBidXR0b25Cb3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5cbmludGVyZmFjZSBJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQ+IHtcbiAgdXJsOiBzdHJpbmc7XG4gIGxpZ2h0VGV4dD86IGJvb2xlYW47XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmdbXTtcbiAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICBmYWxsYmFja0JhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNpbmdsZUltYWdlUHJvbXB0PiB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbn1cblxuaW50ZXJmYWNlIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludD4ge1xuICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBTZWFyY2haZXJvU3RhdGVWYXJpYW50O1xuICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgc2VhcmNoSWNvblZhcmlhbnQ/OiBTZWFyY2hJY29uVmFyaWFudDtcbiAgc2VhcmNoSWNvblNpemU/OiBudW1iZXI7XG4gIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gIGxheW91dDogU2VhcmNoWmVyb1N0YXRlTGF5b3V0O1xuICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogc3RyaW5nO1xuICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gIGNvbXBhY3RMYWJlbD86IHN0cmluZztcbiAgaW5pdGlhbFN1Z2dlc3Rpb25zPzogc3RyaW5nW107XG4gIHVzaW5nUG9ydGFsPzogYm9vbGVhbjtcbiAgaW5jbHVkZVN1YnRpdGxlPzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIE5vT3BXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuTm9PcD4ge31cbmludGVyZmFjZSBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hPdmVybGF5SG9zdD4ge31cblxuaW50ZXJmYWNlIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50PiB7XG4gIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICBzZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDogU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ7XG4gIHByb2R1Y3RHcmlkVmFyaWFudDogUHJvZHVjdEdyaWRWYXJpYW50O1xuICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogc3RyaW5nO1xuICBub1Jlc3VsdHNGb3VuZFRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0SGVhZGVyUHJvcHMgZXh0ZW5kcyBUZXN0UHJvcHMge1xuICB0aXRsZT86IHN0cmluZztcbiAgbG9nbz86IHN0cmluZztcbiAgbG9nb0hlaWdodD86IG51bWJlcjtcbiAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gIHZhcmlhbnQ/OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJRdWVyeU9wdGlvbnMge1xuICBmb290ZXJWYXJpYW50PzogJ3N0YW5kYXJkJztcbiAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICByZXBseUJ1dHRvbkljb24/OiAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdhaS1zZWFyY2gnO1xufVxuXG50eXBlIFNlYXJjaFByb21wdFZhcmlhbnQgPSAncHJpbWFyeSc7XG5pbnRlcmZhY2UgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFByb21wdD4ge1xuICB2YXJpYW50OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xuICB0aXRsZTogc3RyaW5nO1xuICBoZWFkZXJDb25maWc6IFdpZGdldEhlYWRlclByb3BzO1xuICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYnV0dG9uVGV4dHM6IHN0cmluZ1tdO1xuICB9O1xuICBmb290ZXJDb25maWc/OiBVc2VyUXVlcnlPcHRpb25zO1xufVxuXG50eXBlIFBhZ2VWYXJpYW50QmFzZSA9IHtcbiAgLy8gVW5pcXVlIGlkZW50aWZpZXIgZm9yIGVhY2ggZW50cnkgd2l0aGluIHRoZSBwYWdlVmFyaWFudHMuXG4gIC8vIFVzZWZ1bCB0byBkaWZmZXJlbnRpYXRlIHdoaWNoIHZhcmlhbnQgaXMgbG9hZGVkIHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlcyBvZiBhIHNpbmdsZSB0eXBlLlxuICB2YXJpYW50SWQ6IHN0cmluZztcbiAgd2lkZ2V0TW91bnRpbmc6IFdpZGdldE1vdW50aW5nW107XG4gIHZhcmlhbnRUZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG4gIGZsb2F0aW5nQnV0dG9uT3ZlcnJpZGU/OiBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zO1xufTtcblxudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6ICdwbHAnO1xuICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xuXG50eXBlIFBEUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ3BkcCc7XG4gIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcblxudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ3BhZ2VfdmlzaXQnO1xufTtcblxudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ290aGVyJztcbn07XG5cbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ2hvbWVwYWdlJztcbn07XG5cbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiAnc2VhcmNoJztcbn07XG5cbnR5cGUgRnVsbFBhZ2VTYWxlc0FnZW50VmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6ICdmdWxsX3BhZ2UnO1xufTtcblxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRDb25maWcgPVxuICB8IFBMUFBhZ2VWYXJpYW50XG4gIHwgUERQUGFnZVZhcmlhbnRcbiAgfCBWaXNpdFBhZ2VWYXJpYW50XG4gIHwgT3RoZXJQYWdlVmFyaWFudFxuICB8IEhvbWVQYWdlVmFyaWFudFxuICB8IFNlYXJjaFBhZ2VWYXJpYW50XG4gIHwgRnVsbFBhZ2VTYWxlc0FnZW50VmFyaWFudDtcblxuZXhwb3J0IHR5cGUgT3JnUGFnZUNvbmZpZyA9IHtcbiAgLy8gcGFnZVZhcmlhbnRzIGlzIGEgbGlzdCBvZiBwYWdlIHZhcmlhbnRzIHRoYXQgd2Ugc3VwcG9ydC5cbiAgcGFnZVZhcmlhbnRzOiBQYWdlVmFyaWFudENvbmZpZ1tdO1xuICAvLyB3aWRnZXRDb25maWdzIGlzIGEgbmFtZWQgc2V0IG9mIHdpZGdldCBjb25maWdzXG4gIHdpZGdldENvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldENvbmZpZ1YzPjtcbiAgbW91bnRpbmdDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRNb3VudGluZ0NvbmZpZz47XG59O1xuXG5leHBvcnQgdHlwZSBPcmdDb25maWcgPSBPcmdVSUNvbmZpZztcblxuZXhwb3J0IHsgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLCBDb2xvck5hbWVzLCBjb2xvclZhciwgUGFnZVZhcmlhbnRUZXN0VHlwZSwgV2lkZ2V0VHlwZSB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgZGF0YVJlc2lkZW5jeT86IHN0cmluZztcbiAgZW52Pzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICByZWFjdEFwcE5hbWU/OiBzdHJpbmc7XG4gIGNkblVybD86IHN0cmluZztcbiAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgb3JnTGV2ZWxBcGlLZXk/OiBzdHJpbmc7XG4gIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgb3JnSWQ/OiBzdHJpbmc7XG4gIGlkZW50aWZ5aW5nUHJlZml4Pzogc3RyaW5nO1xuICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgdmFyaWFudEluZm9PdmVycmlkZT86IGFueTtcbiAgc2hvdz86IGJvb2xlYW47XG4gIGVudml2ZU9uPzogYm9vbGVhbjtcbiAgcHVibGljS2V5Pzogc3RyaW5nO1xuICBmZWF0dXJlR2F0ZXM/OiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICBoYXJkY29weU92ZXJyaWRlPzogUGFydGlhbDxSZWNvcmQ8V2lkZ2V0VHlwZVYzLCBIYXJkY29weVJlc3BvbnNlPj47XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ2F0ZWdvcnlFeHRyYWN0b3IsXG4gIENoYXRNZXNzYWdlVmFyaWFudCxcbiAgQ2hhdE1lc3NhZ2VDb25maWcsXG4gIENoYXRQcmV2aWV3Q29uZmlnLFxuICBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyxcbiAgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyxcbiAgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdGb290ZXJDb25maWcsXG4gIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnLFxuICBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdWYXJpYW50LFxuICBDb2xvck1hcHBpbmcsXG4gIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLFxuICBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcsXG4gIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbixcbiAgSWRFeHRyYWN0b3IsXG4gIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnLFxuICBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgSW5zZXJ0aW9uUG9pbnQsXG4gIE11bHRpSW1hZ2VDb25maWcsXG4gIE1lcmNoYW50VmFyaWFudFNldHRpbmdzLFxuICBTZWFyY2hDb25maWcsXG4gIE9yZ1VJQ29uZmlnLFxuICBQYWdlQ2FyZENvbmZpZyxcbiAgUGFnZUNhcmRWYXJpYW50LFxuICBQYWdlQ2FyZEhvdmVyVmFyaWFudCxcbiAgUGFnZUNhcmRJY29uVmFyaWFudCxcbiAgUHJvZHVjdENhcmRDb25maWcsXG4gIFByb2R1Y3RDYXJkVmFyaWFudCxcbiAgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50LFxuICBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudCxcbiAgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rVmFyaWFudCxcbiAgUHJvZHVjdFJldmlld0NvbmZpZyxcbiAgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCxcbiAgUHJvZHVjdFJldmlld0NvbG9yVmFyaWFudCxcbiAgU2VhcmNoUHJvbXB0VmFyaWFudCxcbiAgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyxcbiAgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnLFxuICBTb2NpYWxQcm9vZkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLFxuICBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCxcbiAgVVJMVGVzdCxcbiAgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnLFxuICBVc2VyUXVlcnlCdXR0b25JY29uLFxuICBXZWxjb21lU2VjdGlvbkNvbmZpZyxcbiAgV2VsY29tZVNlY3Rpb25WYXJpYW50LFxuICBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCxcbiAgV2lkZ2V0Q29uZmlnLFxuICBXcmFwcGluZ0VsZW1lbnQsXG4gIFNlYXJjaENhcmRWYXJpYW50LFxuICBXaWRnZXREaXNwbGF5VGVzdHMsXG4gIE5vT3BXaWRnZXRDb25maWcsXG4gIFdpZGdldE1vdW50aW5nLFxuICBTdGF0aWNXaWRnZXRNb3VudGluZyxcbiAgRHluYW1pY1dpZGdldE1vdW50aW5nLFxuICBQRFBQYWdlVmFyaWFudCxcbiAgUExQUGFnZVZhcmlhbnQsXG4gIFZpc2l0UGFnZVZhcmlhbnQsXG4gIE90aGVyUGFnZVZhcmlhbnQsXG4gIEhvbWVQYWdlVmFyaWFudCxcbiAgU2VhcmNoUGFnZVZhcmlhbnQsXG4gIE51bVJvd3MsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFvY0EsSUFBSywwRUFBTDtBQUNFO0FBQ0E7O0VBRkc7QUE2QkwsSUFBSyxzRUFBTDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFsQkc7QUFxS0wsSUFBSyxvREFBTDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQWhCRyJ9
|