@comet/cms-admin 8.0.0-beta.5 → 8.0.0-beta.6
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/lib/blocks/DamVideoBlock.d.ts.map +1 -1
- package/lib/blocks/DamVideoBlock.js +9 -118
- package/lib/blocks/PixelImageBlock.d.ts.map +1 -1
- package/lib/blocks/PixelImageBlock.js +49 -162
- package/lib/blocks/SvgImageBlock.d.ts.map +1 -1
- package/lib/blocks/SvgImageBlock.js +12 -119
- package/lib/blocks/common/BlockAdminComponentRoot.js +4 -4
- package/lib/blocks.generated.d.ts +6 -0
- package/lib/blocks.generated.d.ts.map +1 -1
- package/lib/common/MasterMenuRoutes.d.ts.map +1 -1
- package/lib/common/MasterMenuRoutes.js +47 -13
- package/lib/config/CometConfigContext.d.ts +2 -0
- package/lib/config/CometConfigContext.d.ts.map +1 -1
- package/lib/contentScope/Provider.d.ts +3 -2
- package/lib/contentScope/Provider.d.ts.map +1 -1
- package/lib/contentScope/Provider.js +19 -2
- package/lib/dam/DamPage.d.ts.map +1 -1
- package/lib/dam/DamPage.js +4 -20
- package/lib/dam/DamTable.d.ts +4 -2
- package/lib/dam/DamTable.d.ts.map +1 -1
- package/lib/dam/DamTable.js +21 -13
- package/lib/dam/DataGrid/FolderDataGrid.d.ts +2 -1
- package/lib/dam/DataGrid/FolderDataGrid.d.ts.map +1 -1
- package/lib/dam/DataGrid/FolderDataGrid.js +4 -3
- package/lib/dam/DataGrid/FolderDataGrid.sc.d.ts.map +1 -1
- package/lib/dam/DataGrid/FolderDataGrid.sc.js +2 -2
- package/lib/dam/DataGrid/filter/DamSortPopover.sc.d.ts +1 -1
- package/lib/dam/FileForm/EditFile.d.ts.map +1 -1
- package/lib/dam/FileForm/EditFile.js +41 -6
- package/lib/dam/FileForm/FileSettingsFields.d.ts.map +1 -1
- package/lib/dam/FileForm/FileSettingsFields.js +3 -2
- package/lib/dam/FileForm/previews/VideoPreview.d.ts +1 -0
- package/lib/dam/FileForm/previews/VideoPreview.d.ts.map +1 -1
- package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts +28 -0
- package/lib/dam/FileForm/previews/VideoPreview.generated.d.ts.map +1 -0
- package/lib/dam/FileForm/previews/VideoPreview.generated.js +11 -0
- package/lib/dam/FileForm/previews/VideoPreview.js +26 -6
- package/lib/dam/blocks/DamFileDownloadLinkBlock.d.ts.map +1 -1
- package/lib/dam/blocks/DamFileDownloadLinkBlock.js +1 -27
- package/lib/dam/config/damDefaultAcceptedMimeTypes.d.ts.map +1 -1
- package/lib/dam/config/damDefaultAcceptedMimeTypes.js +2 -0
- package/lib/dam/config/useDamAcceptedMimeTypes.d.ts +1 -0
- package/lib/dam/config/useDamAcceptedMimeTypes.d.ts.map +1 -1
- package/lib/dam/config/useDamAcceptedMimeTypes.js +9 -2
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts +14 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts +57 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.generated.js +15 -0
- package/lib/dam/mediaAlternatives/MediaAlternativeForm.js +153 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts +14 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts +72 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.d.ts.map +1 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.generated.js +17 -0
- package/lib/dam/mediaAlternatives/MediaAlternativesGrid.js +204 -0
- package/lib/dependencies/createDocumentDependencyMethods.d.ts.map +1 -1
- package/lib/dependencies/createDocumentDependencyMethods.js +5 -2
- package/lib/form/file/FileField.d.ts +10 -2
- package/lib/form/file/FileField.d.ts.map +1 -1
- package/lib/form/file/FileField.js +139 -9
- package/lib/form/file/FileUploadField.d.ts +3 -2
- package/lib/form/file/FileUploadField.d.ts.map +1 -1
- package/lib/form/file/FinalFormFileUpload.d.ts +4 -2
- package/lib/form/file/FinalFormFileUpload.d.ts.map +1 -1
- package/lib/form/file/FinalFormFileUpload.js +3 -2
- package/lib/form/file/chooseFile/ChooseFileDialog.d.ts.map +1 -1
- package/lib/form/file/chooseFile/ChooseFileDialog.js +11 -11
- package/lib/graphql.generated.d.ts +151 -1
- package/lib/graphql.generated.d.ts.map +1 -1
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +20 -7
- package/lib/pages/config/usePageTreeScope.d.ts +3 -0
- package/lib/pages/config/usePageTreeScope.d.ts.map +1 -0
- package/lib/pages/config/usePageTreeScope.js +24 -0
- package/lib/pages/createEditPageNode.d.ts.map +1 -1
- package/lib/pages/createEditPageNode.js +2 -3
- package/lib/pages/pageTree/MovePageMenuItem.js +2 -3
- package/lib/pages/pageTree/PageTree.js +4 -5
- package/lib/pages/pageTree/useCopyPastePages.d.ts.map +1 -1
- package/lib/pages/pageTree/useCopyPastePages.js +2 -3
- package/lib/pages/pageTreeConfig.d.ts +1 -0
- package/lib/pages/pageTreeConfig.d.ts.map +1 -1
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.d.ts.map +1 -1
- package/lib/pages/pageTreeSelect/PageTreeSelectDialog.js +8 -8
- package/lib/pages/pagesPage/PagesPage.d.ts.map +1 -1
- package/lib/pages/pagesPage/PagesPage.js +7 -5
- package/lib/preview/site/SitePreview.js +2 -2
- package/lib/redirects/RedirectActiveness.d.ts.map +1 -1
- package/lib/redirects/RedirectActiveness.js +8 -13
- package/lib/redirects/RedirectsGrid.d.ts.map +1 -1
- package/lib/redirects/RedirectsGrid.js +4 -3
- package/lib/redirects/createRedirectsPage.d.ts +1 -0
- package/lib/redirects/createRedirectsPage.d.ts.map +1 -1
- package/lib/redirects/createRedirectsPage.js +10 -6
- package/lib/testing/stub-file.js +1 -1
- package/lib/userPermissions/UserGrid.d.ts.map +1 -1
- package/lib/userPermissions/UserGrid.generated.d.ts +5 -1
- package/lib/userPermissions/UserGrid.generated.d.ts.map +1 -1
- package/lib/userPermissions/UserGrid.js +3 -3
- package/lib/userPermissions/hooks/currentUser.d.ts +11 -4
- package/lib/userPermissions/hooks/currentUser.d.ts.map +1 -1
- package/lib/userPermissions/hooks/currentUser.generated.d.ts +5 -0
- package/lib/userPermissions/hooks/currentUser.generated.d.ts.map +1 -1
- package/lib/userPermissions/hooks/currentUser.js +16 -14
- package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts +1 -2
- package/lib/userPermissions/user/permissions/ContentScopeGrid.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.d.ts +5 -0
- package/lib/userPermissions/user/permissions/ContentScopeGrid.generated.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/ContentScopeGrid.js +16 -11
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.d.ts +5 -1
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.generated.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/OverrideContentScopesDialog.js +5 -3
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.d.ts +5 -1
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.generated.d.ts.map +1 -1
- package/lib/userPermissions/user/permissions/selectScopesDialogContent/SelectScopesDialogContent.js +5 -4
- package/lib/warnings/LatestWarningsDashboardWidget.d.ts +2 -0
- package/lib/warnings/LatestWarningsDashboardWidget.d.ts.map +1 -0
- package/lib/warnings/LatestWarningsDashboardWidget.generated.d.ts +47 -0
- package/lib/warnings/LatestWarningsDashboardWidget.generated.d.ts.map +1 -0
- package/lib/warnings/LatestWarningsDashboardWidget.generated.js +14 -0
- package/lib/warnings/LatestWarningsDashboardWidget.js +111 -0
- package/lib/warnings/WarningActions.d.ts +13 -0
- package/lib/warnings/WarningActions.d.ts.map +1 -0
- package/lib/warnings/WarningActions.js +123 -0
- package/lib/warnings/WarningMessage.d.ts +8 -0
- package/lib/warnings/WarningMessage.d.ts.map +1 -0
- package/lib/warnings/WarningMessage.js +17 -0
- package/lib/warnings/WarningSeverity.d.ts +7 -0
- package/lib/warnings/WarningSeverity.d.ts.map +1 -0
- package/lib/warnings/WarningSeverity.js +43 -0
- package/lib/warnings/WarningsGrid.d.ts +2 -0
- package/lib/warnings/WarningsGrid.d.ts.map +1 -0
- package/lib/warnings/WarningsGrid.generated.d.ts +67 -0
- package/lib/warnings/WarningsGrid.generated.d.ts.map +1 -0
- package/lib/warnings/WarningsGrid.generated.js +14 -0
- package/lib/warnings/WarningsGrid.js +267 -0
- package/lib/warnings/WarningsPage.d.ts +2 -0
- package/lib/warnings/WarningsPage.d.ts.map +1 -0
- package/lib/warnings/WarningsPage.js +25 -0
- package/lib/warnings/warningMessages.d.ts +10 -0
- package/lib/warnings/warningMessages.d.ts.map +1 -0
- package/lib/warnings/warningMessages.js +38 -0
- package/lib/warnings/warningsConfig.d.ts +6 -0
- package/lib/warnings/warningsConfig.d.ts.map +1 -0
- package/lib/warnings/warningsConfig.js +21 -0
- package/package.json +17 -15
- package/lib/form/FinalFormToggleButtonGroup.d.ts +0 -12
- package/lib/form/FinalFormToggleButtonGroup.d.ts.map +0 -1
- package/lib/form/FinalFormToggleButtonGroup.js +0 -76
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.usePageTreeScope = usePageTreeScope;
|
|
7
|
+
var _CometConfigContext = require("../../config/CometConfigContext");
|
|
8
|
+
var _Provider = require("../../contentScope/Provider");
|
|
9
|
+
function usePageTreeScope() {
|
|
10
|
+
var _useCometConfig = (0, _CometConfigContext.useCometConfig)(),
|
|
11
|
+
pageTree = _useCometConfig.pageTree;
|
|
12
|
+
var _useContentScope = (0, _Provider.useContentScope)(),
|
|
13
|
+
completeScope = _useContentScope.scope;
|
|
14
|
+
if (pageTree !== null && pageTree !== void 0 && pageTree.scopeParts) {
|
|
15
|
+
var pageTreeScope = pageTree.scopeParts.reduce(function (pageTreeScope, dimension) {
|
|
16
|
+
if (completeScope[dimension] !== undefined) {
|
|
17
|
+
pageTreeScope[dimension] = completeScope[dimension];
|
|
18
|
+
}
|
|
19
|
+
return pageTreeScope;
|
|
20
|
+
}, {});
|
|
21
|
+
return pageTreeScope;
|
|
22
|
+
}
|
|
23
|
+
return completeScope;
|
|
24
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createEditPageNode.d.ts","sourceRoot":"","sources":["../../src/pages/createEditPageNode.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"createEditPageNode.d.ts","sourceRoot":"","sources":["../../src/pages/createEditPageNode.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMzE,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiB/E,KAAK,uBAAuB,GAAG,MAAM,CAAC;AAEtC,UAAU,2BAA2B;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC1B;AAED,UAAU,uBAAuB;IAC7B,oBAAoB,CAAC,EAAE,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,CAAC;IACxD,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,KAAK,2BAA2B,CAAC;IACrF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,IAAI,GAAG,uBAAuB,GAAG,MAAM,CAAC;IAC5C,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;CAC1D;AAED,wBAAgB,kBAAkB,CAAC,EAC/B,oBAAoB,EACpB,YAAY,EACZ,aAAa,EACb,iBAAyB,GAC5B,EAAE,uBAAuB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,GAAG,CAAC,OAAO,CAqarE"}
|
|
@@ -16,8 +16,8 @@ var _reactFinalForm = require("react-final-form");
|
|
|
16
16
|
var _reactIntl = require("react-intl");
|
|
17
17
|
var _slugify = _interopRequireDefault(require("slugify"));
|
|
18
18
|
var _useContentLanguage = require("../contentLanguage/useContentLanguage");
|
|
19
|
-
var _Provider = require("../contentScope/Provider");
|
|
20
19
|
var _SyncFields = require("../form/SyncFields");
|
|
20
|
+
var _usePageTreeScope = require("./config/usePageTreeScope");
|
|
21
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
22
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
23
23
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
@@ -56,8 +56,7 @@ function createEditPageNode(_ref) {
|
|
|
56
56
|
parent = _unserializeInitialVa.parent;
|
|
57
57
|
var intl = (0, _reactIntl.useIntl)();
|
|
58
58
|
var apollo = (0, _client.useApolloClient)();
|
|
59
|
-
var
|
|
60
|
-
scope = _useContentScope.scope;
|
|
59
|
+
var scope = (0, _usePageTreeScope.usePageTreeScope)();
|
|
61
60
|
var language = (0, _useContentLanguage.useContentLanguage)({
|
|
62
61
|
scope: scope
|
|
63
62
|
});
|
|
@@ -9,7 +9,7 @@ var _client = require("@apollo/client");
|
|
|
9
9
|
var _admin = require("@comet/admin");
|
|
10
10
|
var _adminIcons = require("@comet/admin-icons");
|
|
11
11
|
var _reactIntl = require("react-intl");
|
|
12
|
-
var
|
|
12
|
+
var _usePageTreeScope = require("../config/usePageTreeScope");
|
|
13
13
|
var _pageTreeConfig = require("../pageTreeConfig");
|
|
14
14
|
var _usePageTreeContext2 = require("./usePageTreeContext");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -30,8 +30,7 @@ function MovePageMenuItem(_ref) {
|
|
|
30
30
|
_useMutation2 = _slicedToArray(_useMutation, 2),
|
|
31
31
|
updatePageTreeNodeCategory = _useMutation2[0],
|
|
32
32
|
submitting = _useMutation2[1].loading;
|
|
33
|
-
var
|
|
34
|
-
scope = _useContentScope.scope;
|
|
33
|
+
var scope = (0, _usePageTreeScope.usePageTreeScope)();
|
|
35
34
|
var _usePageTreeConfig = (0, _pageTreeConfig.usePageTreeConfig)(),
|
|
36
35
|
categories = _usePageTreeConfig.categories;
|
|
37
36
|
var _usePageTreeContext = (0, _usePageTreeContext2.usePageTreeContext)(),
|
|
@@ -15,7 +15,7 @@ var _reactIntl = require("react-intl");
|
|
|
15
15
|
var _reactVirtualizedAutoSizer = _interopRequireDefault(require("react-virtualized-auto-sizer"));
|
|
16
16
|
var _reactWindow = require("react-window");
|
|
17
17
|
var _useDebounce = require("use-debounce");
|
|
18
|
-
var
|
|
18
|
+
var _usePageTreeScope = require("../config/usePageTreeScope");
|
|
19
19
|
var _PageTreeDragLayer = _interopRequireDefault(require("./PageTreeDragLayer"));
|
|
20
20
|
var _PageTreeRow = _interopRequireDefault(require("./PageTreeRow"));
|
|
21
21
|
var _PageTreeService = require("./PageTreeService");
|
|
@@ -105,8 +105,7 @@ var PageTree = function PageTree(_ref, ref) {
|
|
|
105
105
|
var pageTreeService = (0, _react.useMemo)(function () {
|
|
106
106
|
return new _PageTreeService.PageTreeService(levelOffsetPx, pages);
|
|
107
107
|
}, [pages]);
|
|
108
|
-
var
|
|
109
|
-
scope = _useContentScope.scope;
|
|
108
|
+
var scope = (0, _usePageTreeScope.usePageTreeScope)();
|
|
110
109
|
var snackbarApi = (0, _admin.useSnackbarApi)();
|
|
111
110
|
var debouncedSetHoverState = (0, _useDebounce.useDebouncedCallback)(function (setHoverState, newHoverState) {
|
|
112
111
|
setHoverState(function (prevState) {
|
|
@@ -471,7 +470,7 @@ var Root = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "pro
|
|
|
471
470
|
styles: "height:100%;display:flex;flex-direction:column"
|
|
472
471
|
} : {
|
|
473
472
|
name: "kdbhus",
|
|
474
|
-
styles: "height:100%;display:flex;flex-direction:column/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbVowQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlUXVlcnksIHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgdHlwZSBJRWRpdERpYWxvZ0FwaSwgVW5kb1NuYWNrYmFyLCB1c2VTbmFja2JhckFwaSB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCBpc0VxdWFsIGZyb20gXCJsb2Rhc2guaXNlcXVhbFwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIERpc3BhdGNoLFxuICAgIGZvcndhcmRSZWYsXG4gICAgdHlwZSBGb3J3YXJkUmVmUmVuZGVyRnVuY3Rpb24sXG4gICAgdHlwZSBTZXRTdGF0ZUFjdGlvbixcbiAgICB1c2VDYWxsYmFjayxcbiAgICB1c2VFZmZlY3QsXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgICB1c2VNZW1vLFxuICAgIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSBcInJlYWN0LWludGxcIjtcbmltcG9ydCBBdXRvU2l6ZXIsIHsgdHlwZSBTaXplIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkLWF1dG8tc2l6ZXJcIjtcbmltcG9ydCB7IHR5cGUgQWxpZ24sIEZpeGVkU2l6ZUxpc3QgYXMgTGlzdCB9IGZyb20gXCJyZWFjdC13aW5kb3dcIjtcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSBcInVzZS1kZWJvdW5jZVwiO1xuXG5pbXBvcnQgeyB1c2VDb250ZW50U2NvcGUgfSBmcm9tIFwiLi4vLi4vY29udGVudFNjb3BlL1Byb3ZpZGVyXCI7XG5pbXBvcnQgeyB0eXBlIEdRTFBhZ2VzUXVlcnksIHR5cGUgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuLi9wYWdlc1BhZ2UvY3JlYXRlUGFnZXNRdWVyeVwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbixcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeSxcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcyxcbiAgICB0eXBlIEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50LFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb24sXG4gICAgdHlwZSBHUUxSZXNldFNsdWdNdXRhdGlvblZhcmlhYmxlcyxcbn0gZnJvbSBcIi4vUGFnZVRyZWUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgUGFnZVRyZWVEcmFnTGF5ZXIgZnJvbSBcIi4vUGFnZVRyZWVEcmFnTGF5ZXJcIjtcbmltcG9ydCBQYWdlVHJlZVJvdywgeyB0eXBlIERyb3BUYXJnZXQsIHR5cGUgUGFnZVRyZWVEcmFnT2JqZWN0IH0gZnJvbSBcIi4vUGFnZVRyZWVSb3dcIjtcbmltcG9ydCB7IHR5cGUgRHJvcEluZm8sIFBhZ2VUcmVlU2VydmljZSB9IGZyb20gXCIuL1BhZ2VUcmVlU2VydmljZVwiO1xuaW1wb3J0IHsgdXNlRG5kV2luZG93U2Nyb2xsIH0gZnJvbSBcIi4vdXNlRG5kV2luZG93U2Nyb2xsL3VzZURuZFdpbmRvd1Njcm9sbFwiO1xuaW1wb3J0IHsgdHlwZSBQYWdlVHJlZVBhZ2UgfSBmcm9tIFwiLi91c2VQYWdlVHJlZVwiO1xuXG5pbnRlcmZhY2UgUGFnZVRyZWVQcm9wcyB7XG4gICAgcGFnZXM6IFBhZ2VUcmVlUGFnZVtdO1xuICAgIGVkaXREaWFsb2dBcGk6IElFZGl0RGlhbG9nQXBpO1xuICAgIHRvZ2dsZUV4cGFuZDogKHBhZ2VJZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0Q2hhbmdlZDogKHBhZ2VJZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcbn1cblxudHlwZSBQYWdlVHJlZVJlZkFwaSA9IHsgc2Nyb2xsVG9JdGVtOiBMaXN0W1wic2Nyb2xsVG9JdGVtXCJdIH07XG5cbmNvbnN0IG1vdmVQYWdlVHJlZU5vZGVzQnlQb3NpdGlvbk11dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvcyhpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cihpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCByZXNldFNsdWdNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZXNldFNsdWcoJGlkOiBJRCEsICRzbHVnOiBTdHJpbmchKSB7XG4gICAgICAgIHVwZGF0ZVBhZ2VUcmVlTm9kZVNsdWcoaWQ6ICRpZCwgc2x1ZzogJHNsdWcpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBwYWdlc0NhY2hlUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgUGFnZXNDYWNoZSgkY29udGVudFNjb3BlOiBQYWdlVHJlZU5vZGVTY29wZUlucHV0ISwgJGNhdGVnb3J5OiBTdHJpbmchKSB7XG4gICAgICAgIHBhZ2VzOiBwYWdlVHJlZU5vZGVMaXN0KHNjb3BlOiAkY29udGVudFNjb3BlLCBjYXRlZ29yeTogJGNhdGVnb3J5KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuLy8gQFRPRE86IENhbGN1bGF0ZSBkeW5hbWljYWxseVxuY29uc3QgbGV2ZWxPZmZzZXRQeCA9IDUwO1xuXG5jb25zdCBQYWdlVHJlZTogRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uPFBhZ2VUcmVlUmVmQXBpLCBQYWdlVHJlZVByb3BzPiA9IChcbiAgICB7IHBhZ2VzLCBlZGl0RGlhbG9nQXBpLCB0b2dnbGVFeHBhbmQsIG9uU2VsZWN0Q2hhbmdlZCwgY2F0ZWdvcnksIHNpdGVVcmwgfSxcbiAgICByZWYsXG4pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBuZXdQYWdlSWRzID0gdXNlUmVmPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBxdWVyaWVzID0gY2xpZW50LmdldE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgY29uc3QgcGFnZXNRdWVyeSA9IEFycmF5LmZyb20ocXVlcmllcy52YWx1ZXMoKSkuZmluZCgocXVlcnkpID0+IHF1ZXJ5LnF1ZXJ5TmFtZSA9PT0gXCJQYWdlc1wiKSBhc1xuICAgICAgICB8IE9ic2VydmFibGVRdWVyeTxHUUxQYWdlc1F1ZXJ5LCBHUUxQYWdlc1F1ZXJ5VmFyaWFibGVzPlxuICAgICAgICB8IHVuZGVmaW5lZDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICBjbGllbnQuY2FjaGUud2F0Y2g8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc1F1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGFnZXNRdWVyeS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChuZXdQYWdlc1F1ZXJ5LCBwcmV2aW91c1BhZ2VzUXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhZ2VzUXVlcnkgJiYgcHJldmlvdXNQYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ1BhZ2VJZHMgPSBwcmV2aW91c1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKSA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IG5ld1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKS5maWx0ZXIoKGlkKSA9PiAhZXhpc3RpbmdQYWdlSWRzLmluY2x1ZGVzKGlkKSkgPz8gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IG5ld1BhZ2VJZHMgdG8gcHJldmVudCBzbGlkZUluIG9uIGV2ZXJ5IHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFnZUlkcy5jdXJyZW50ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpYzogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudC5jYWNoZSwgcGFnZXNRdWVyeV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5ld1BhZ2VJZHMuY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gbmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpKTtcbiAgICAgICAgICAgIHJlZkxpc3QuY3VycmVudD8uc2Nyb2xsVG9JdGVtKGluZGV4LCBcInNtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfSwgW3BhZ2VzXSk7XG5cbiAgICBjb25zdCBwYWdlVHJlZVNlcnZpY2UgPSB1c2VNZW1vKCgpID0+IG5ldyBQYWdlVHJlZVNlcnZpY2UobGV2ZWxPZmZzZXRQeCwgcGFnZXMpLCBbcGFnZXNdKTtcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB1c2VDb250ZW50U2NvcGUoKTtcbiAgICBjb25zdCBzbmFja2JhckFwaSA9IHVzZVNuYWNrYmFyQXBpKCk7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZXRIb3ZlclN0YXRlID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soXG4gICAgICAgIChzZXRIb3ZlclN0YXRlOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxEcm9wSW5mbyB8IHVuZGVmaW5lZD4+LCBuZXdIb3ZlclN0YXRlOiBEcm9wSW5mbyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgc2V0SG92ZXJTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwobmV3SG92ZXJTdGF0ZSwgcHJldlN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdIb3ZlclN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICA1LFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZFBhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlcy5maWx0ZXIoKHBhZ2UpID0+IHBhZ2Uuc2VsZWN0ZWQpO1xuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgbW92ZUJ5UG9zUmVxdWVzdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAvLyBAVE9ETzogaGFuZGxlIHBhdGggY29sbGlzaW9ucyB3aGVuIG1vdmluZyBwYWdlc1xuICAgICAgICBhc3luYyAoeyBpZHMsIHBhcmVudElkLCBwb3NpdGlvbiB9OiB7IGlkczogc3RyaW5nW107IHBhcmVudElkOiBzdHJpbmcgfCBudWxsOyBwb3NpdGlvbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRzOiBpZHMsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpY1Jlc3BvbnNlOiAodmFyaWFibGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VUcmVlTm9kZXM6IEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbltcIm1vdmVQYWdlVHJlZU5vZGVzQnlQb3NcIl0gPSAodmFyaWFibGVzLmlkcyBhcyBzdHJpbmdbXSkubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsdWdQYXRoUGFnZSA9IGNsaWVudC5jYWNoZS5yZWFkRnJhZ21lbnQ8R1FMUGFnZVNsdWdQYXRoRnJhZ21lbnQ+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudDogZ3FsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQgUGFnZVNsdWdQYXRoIG9uIFBhZ2VUcmVlTm9kZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190eXBlbmFtZTogXCJQYWdlVHJlZU5vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogcG9zaXRpb24gKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Zzogc2x1Z1BhdGhQYWdlPy5zbHVnID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHNsdWdQYXRoUGFnZT8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zOiBwYWdlVHJlZU5vZGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlOiAocHJveHksIHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwYWdlIHBvc2l0aW9ucyBvZiBhbGwgb3RoZXIgcGFnZXRyZWUgbm9kZXMgYXJlIHVwZGF0ZWQgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgICAgIC8vID0+IHJlYWx0aW1lIHVwZGF0ZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFBhZ2VUcmVlTm9kZXMgPSBkYXRhPy5tb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlID0gbW92ZWRQYWdlVHJlZU5vZGVzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW92ZWRQYWdlVHJlZU5vZGVzIHx8ICFmaXJzdE1vdmVkUGFnZVRyZWVOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlc1F1ZXJ5RGF0YSA9IHByb3h5LnJlYWRRdWVyeTxHUUxQYWdlc0NhY2hlUXVlcnksIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZTogc2NvcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNEYXRhID0gcGFnZXNRdWVyeURhdGE/LnBhZ2VzID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkUGFnZXMgPSBwYWdlc0RhdGEubWFwKChwYWdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VEYXRhID0geyAuLi5wYWdlRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpZHMuaW5jbHVkZXMocGFnZURhdGEuaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucGFyZW50SWQgPT09IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucGFyZW50SWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5wb3MgPj0gZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZS5wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRQYWdlRGF0YS5wb3MgPSB1cGRhdGVkUGFnZURhdGEucG9zICsgbW92ZWRQYWdlVHJlZU5vZGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQYWdlRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3h5LndyaXRlUXVlcnkoeyBxdWVyeTogcGFnZXNDYWNoZVF1ZXJ5LCBkYXRhOiB7IHBhZ2VzOiB1cGRhdGVkUGFnZXMgfSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnQsIHNjb3BlLCBjYXRlZ29yeV0sXG4gICAgKTtcblxuICAgIGNvbnN0IG1vdmVCeU5laWdoYm91clJlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgYWZ0ZXJJZCwgYmVmb3JlSWQgfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgYWZ0ZXJJZDogc3RyaW5nIHwgbnVsbDsgYmVmb3JlSWQ6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJzTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogYWZ0ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUlkOiBiZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnRdLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkRyb3AgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGRyYWdPYmplY3Q6IFBhZ2VUcmVlRHJhZ09iamVjdCwgZHJvcFRhcmdldFBhZ2U6IFBhZ2VUcmVlUGFnZSwgZHJvcFRhcmdldDogRHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWdlSWRzID0gc2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuICAgICAgICAgICAgbGV0IHBhZ2VzVG9Nb3ZlOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICAgICAgICAgIGxldCBpZHNUb01vdmU6IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKGRyYWdPYmplY3QuaWQpKSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBzdWJwYWdlcyBpZiB0aGVpciBwYXJlbnQgaXMgc2VsZWN0ZWQgPT4gb25seSB0aGUgcGFyZW50IGhhcyB0byBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcyA9IHNlbGVjdGVkUGFnZXMuZmlsdGVyKChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlLnBhcmVudElkID09PSBudWxsIHx8ICFzZWxlY3RlZFBhZ2VJZHMuaW5jbHVkZXMocGFnZS5wYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gZmlsdGVyZWRTZWxlY3RlZFBhZ2VzLm1hcCgocGFnZSkgPT4gcGFnZS5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gW2RyYWdPYmplY3QuaWRdO1xuICAgICAgICAgICAgICAgIHBhZ2VzVG9Nb3ZlID0gW2RyYWdPYmplY3RdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmRyb3BBbGxvd2VkKHBhZ2VzVG9Nb3ZlLCBkcm9wVGFyZ2V0UGFnZSwgZHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgaWYgKCF1cGRhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBtb3ZlQnlQb3NSZXF1ZXN0KHsgaWRzOiBpZHNUb01vdmUsIHBhcmVudElkOiB1cGRhdGVJbmZvLnBhcmVudElkLCBwb3NpdGlvbjogdXBkYXRlSW5mby5wb3NpdGlvbiB9KTtcblxuICAgICAgICAgICAgc25hY2tiYXJBcGkuc2hvd1NuYWNrYmFyKFxuICAgICAgICAgICAgICAgIDxVbmRvU25hY2tiYXJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5wYWdldHJlZS5wYWdlTW92ZWRcIiBkZWZhdWx0TWVzc2FnZT1cIlBhZ2UgTW92ZWRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZD17eyBwcmV2aW91c1BhZ2VzOiBwYWdlcywgcGFnZXNUb1VuZG86IHBhZ2VzVG9Nb3ZlIH19XG4gICAgICAgICAgICAgICAgICAgIG9uVW5kb0NsaWNrPXthc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByZXZpb3VzUGFnZXMsIHBhZ2VzVG9VbmRvIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gWy4uLnBhZ2VzVG9VbmRvXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZVRvVW5kbyBvZiBwYWdlc1RvVW5kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmdldFVuZG9VcGRhdGVJbmZvKHByZXZpb3VzUGFnZXMsIHBhZ2VUb1VuZG8sIGRpc2FsbG93ZWRSZWZlcmVuY2VzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkczogW3BhZ2VUb1VuZG8uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhZ2VUb1VuZG8ucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcklkOiB1cGRhdGVJbmZvLmFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogdXBkYXRlSW5mby5iZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxSZXNldFNsdWdNdXRhdGlvbiwgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uOiByZXNldFNsdWdNdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYWdlVG9VbmRvLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHBhZ2VUb1VuZG8uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gZGlzYWxsb3dlZFJlZmVyZW5jZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLmlkICE9PSBwYWdlVG9VbmRvLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiBbXCJQYWdlc1wiXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtzZWxlY3RlZFBhZ2VzLCBwYWdlVHJlZVNlcnZpY2UsIHBhZ2VzLCBtb3ZlQnlQb3NSZXF1ZXN0LCBzbmFja2JhckFwaSwgY2xpZW50LCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0XSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVmTGlzdCA9IHVzZVJlZjxMaXN0PihudWxsKTtcbiAgICAvLyBleHBvc2UgdGhpcyBtZXRob2QgdG8gdGhlIHB1YmxpY1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBzY3JvbGxUb0l0ZW06IChpbmRleDogbnVtYmVyLCBhbGlnbj86IEFsaWduKSA9PiB7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgYWxpZ24pO1xuICAgICAgICB9LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByb3BzRm9yVmlydHVhbExpc3QgPSB1c2VEbmRXaW5kb3dTY3JvbGwoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFnZVRyZWVEcmFnTGF5ZXIgbnVtYmVyU2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICA8Um9vdD5cbiAgICAgICAgICAgICAgICA8VGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRvU2l6ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9OiBTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQFRPRE86IGFkanVzdCBpdGVtU2l6ZSBmb3Igc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZkxpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17cGFnZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9ezUxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnNjYW5Db3VudD17MX0gLy8gZG8gbm90IGluY3JlYXNlIHRoaXMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHNjcm9sbEJlaGF2aW9yOiBcInNtb290aFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckVsZW1lbnRUeXBlPXtWaXJ0dWFsTGlzdFBhZGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc0ZvclZpcnR1YWxMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaW5kZXgsIHN0eWxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldlBhZ2UsIHBhZ2UsIG5leHRQYWdlXSA9IGdldExpbmtlZFBhZ2VzKHBhZ2VzLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhZ2VUcmVlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsaXplZFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtwYXJzZUZsb2F0KFN0cmluZyhzdHlsZT8udG9wKSkgKyBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZUluPXtuZXdQYWdlSWRzLmN1cnJlbnQuaW5jbHVkZXMocGFnZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlBhZ2U9e3ByZXZQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2U9e25leHRQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdERpYWxvZ0FwaT17ZWRpdERpYWxvZ0FwaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZD17dG9nZ2xlRXhwYW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXtvbkRyb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdENoYW5nZWQ9e29uU2VsZWN0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VUcmVlU2VydmljZT17cGFnZVRyZWVTZXJ2aWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZT17ZGVib3VuY2VkU2V0SG92ZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdGVVcmw9e3NpdGVVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhZ2VzPXtzZWxlY3RlZFBhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgICAgICAgICAgIDwvVGFibGU+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5jb25zdCBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFID0gMjQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBWaXJ0dWFsTGlzdFBhZGRlciA9IGZvcndhcmRSZWY8YW55LCBhbnk+KCh7IHN0eWxlLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgICAgIGhlaWdodDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LmhlaWdodCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSAqIDJ9cHhgLFxuICAgICAgICB9fVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAvPlxuKSk7XG5cbmZ1bmN0aW9uIGdldExpbmtlZFBhZ2VzKHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXSwgaW5kZXg6IG51bWJlcik6IFtQYWdlVHJlZVBhZ2UgfCB1bmRlZmluZWQsIFBhZ2VUcmVlUGFnZSwgUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkXSB7XG4gICAgY29uc3QgcHJldlBhZ2UgPSBpbmRleCA+IDAgPyBwYWdlc1tpbmRleCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5leHRQYWdlID0gaW5kZXggKyAxIDwgcGFnZXMubGVuZ3RoID8gcGFnZXNbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gW3ByZXZQYWdlLCBwYWdlc1tpbmRleF0sIG5leHRQYWdlXTtcbn1cblxuY29uc3QgUGFnZVRyZWVXaXRoUmVmID0gZm9yd2FyZFJlZihQYWdlVHJlZSk7XG5cbmV4cG9ydCB7IFBhZ2VUcmVlV2l0aFJlZiBhcyBQYWdlVHJlZSwgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
|
|
473
|
+
styles: "height:100%;display:flex;flex-direction:column/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbVowQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlUXVlcnksIHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgdHlwZSBJRWRpdERpYWxvZ0FwaSwgVW5kb1NuYWNrYmFyLCB1c2VTbmFja2JhckFwaSB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCBpc0VxdWFsIGZyb20gXCJsb2Rhc2guaXNlcXVhbFwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIERpc3BhdGNoLFxuICAgIGZvcndhcmRSZWYsXG4gICAgdHlwZSBGb3J3YXJkUmVmUmVuZGVyRnVuY3Rpb24sXG4gICAgdHlwZSBTZXRTdGF0ZUFjdGlvbixcbiAgICB1c2VDYWxsYmFjayxcbiAgICB1c2VFZmZlY3QsXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgICB1c2VNZW1vLFxuICAgIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSBcInJlYWN0LWludGxcIjtcbmltcG9ydCBBdXRvU2l6ZXIsIHsgdHlwZSBTaXplIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkLWF1dG8tc2l6ZXJcIjtcbmltcG9ydCB7IHR5cGUgQWxpZ24sIEZpeGVkU2l6ZUxpc3QgYXMgTGlzdCB9IGZyb20gXCJyZWFjdC13aW5kb3dcIjtcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSBcInVzZS1kZWJvdW5jZVwiO1xuXG5pbXBvcnQgeyB1c2VQYWdlVHJlZVNjb3BlIH0gZnJvbSBcIi4uL2NvbmZpZy91c2VQYWdlVHJlZVNjb3BlXCI7XG5pbXBvcnQgeyB0eXBlIEdRTFBhZ2VzUXVlcnksIHR5cGUgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuLi9wYWdlc1BhZ2UvY3JlYXRlUGFnZXNRdWVyeVwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbixcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeSxcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcyxcbiAgICB0eXBlIEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50LFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb24sXG4gICAgdHlwZSBHUUxSZXNldFNsdWdNdXRhdGlvblZhcmlhYmxlcyxcbn0gZnJvbSBcIi4vUGFnZVRyZWUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgUGFnZVRyZWVEcmFnTGF5ZXIgZnJvbSBcIi4vUGFnZVRyZWVEcmFnTGF5ZXJcIjtcbmltcG9ydCBQYWdlVHJlZVJvdywgeyB0eXBlIERyb3BUYXJnZXQsIHR5cGUgUGFnZVRyZWVEcmFnT2JqZWN0IH0gZnJvbSBcIi4vUGFnZVRyZWVSb3dcIjtcbmltcG9ydCB7IHR5cGUgRHJvcEluZm8sIFBhZ2VUcmVlU2VydmljZSB9IGZyb20gXCIuL1BhZ2VUcmVlU2VydmljZVwiO1xuaW1wb3J0IHsgdXNlRG5kV2luZG93U2Nyb2xsIH0gZnJvbSBcIi4vdXNlRG5kV2luZG93U2Nyb2xsL3VzZURuZFdpbmRvd1Njcm9sbFwiO1xuaW1wb3J0IHsgdHlwZSBQYWdlVHJlZVBhZ2UgfSBmcm9tIFwiLi91c2VQYWdlVHJlZVwiO1xuXG5pbnRlcmZhY2UgUGFnZVRyZWVQcm9wcyB7XG4gICAgcGFnZXM6IFBhZ2VUcmVlUGFnZVtdO1xuICAgIGVkaXREaWFsb2dBcGk6IElFZGl0RGlhbG9nQXBpO1xuICAgIHRvZ2dsZUV4cGFuZDogKHBhZ2VJZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0Q2hhbmdlZDogKHBhZ2VJZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcbn1cblxudHlwZSBQYWdlVHJlZVJlZkFwaSA9IHsgc2Nyb2xsVG9JdGVtOiBMaXN0W1wic2Nyb2xsVG9JdGVtXCJdIH07XG5cbmNvbnN0IG1vdmVQYWdlVHJlZU5vZGVzQnlQb3NpdGlvbk11dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvcyhpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cihpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCByZXNldFNsdWdNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZXNldFNsdWcoJGlkOiBJRCEsICRzbHVnOiBTdHJpbmchKSB7XG4gICAgICAgIHVwZGF0ZVBhZ2VUcmVlTm9kZVNsdWcoaWQ6ICRpZCwgc2x1ZzogJHNsdWcpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBwYWdlc0NhY2hlUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgUGFnZXNDYWNoZSgkY29udGVudFNjb3BlOiBQYWdlVHJlZU5vZGVTY29wZUlucHV0ISwgJGNhdGVnb3J5OiBTdHJpbmchKSB7XG4gICAgICAgIHBhZ2VzOiBwYWdlVHJlZU5vZGVMaXN0KHNjb3BlOiAkY29udGVudFNjb3BlLCBjYXRlZ29yeTogJGNhdGVnb3J5KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuLy8gQFRPRE86IENhbGN1bGF0ZSBkeW5hbWljYWxseVxuY29uc3QgbGV2ZWxPZmZzZXRQeCA9IDUwO1xuXG5jb25zdCBQYWdlVHJlZTogRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uPFBhZ2VUcmVlUmVmQXBpLCBQYWdlVHJlZVByb3BzPiA9IChcbiAgICB7IHBhZ2VzLCBlZGl0RGlhbG9nQXBpLCB0b2dnbGVFeHBhbmQsIG9uU2VsZWN0Q2hhbmdlZCwgY2F0ZWdvcnksIHNpdGVVcmwgfSxcbiAgICByZWYsXG4pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBuZXdQYWdlSWRzID0gdXNlUmVmPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBxdWVyaWVzID0gY2xpZW50LmdldE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgY29uc3QgcGFnZXNRdWVyeSA9IEFycmF5LmZyb20ocXVlcmllcy52YWx1ZXMoKSkuZmluZCgocXVlcnkpID0+IHF1ZXJ5LnF1ZXJ5TmFtZSA9PT0gXCJQYWdlc1wiKSBhc1xuICAgICAgICB8IE9ic2VydmFibGVRdWVyeTxHUUxQYWdlc1F1ZXJ5LCBHUUxQYWdlc1F1ZXJ5VmFyaWFibGVzPlxuICAgICAgICB8IHVuZGVmaW5lZDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICBjbGllbnQuY2FjaGUud2F0Y2g8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc1F1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGFnZXNRdWVyeS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChuZXdQYWdlc1F1ZXJ5LCBwcmV2aW91c1BhZ2VzUXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhZ2VzUXVlcnkgJiYgcHJldmlvdXNQYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ1BhZ2VJZHMgPSBwcmV2aW91c1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKSA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IG5ld1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKS5maWx0ZXIoKGlkKSA9PiAhZXhpc3RpbmdQYWdlSWRzLmluY2x1ZGVzKGlkKSkgPz8gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IG5ld1BhZ2VJZHMgdG8gcHJldmVudCBzbGlkZUluIG9uIGV2ZXJ5IHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFnZUlkcy5jdXJyZW50ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpYzogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudC5jYWNoZSwgcGFnZXNRdWVyeV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5ld1BhZ2VJZHMuY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gbmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpKTtcbiAgICAgICAgICAgIHJlZkxpc3QuY3VycmVudD8uc2Nyb2xsVG9JdGVtKGluZGV4LCBcInNtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfSwgW3BhZ2VzXSk7XG5cbiAgICBjb25zdCBwYWdlVHJlZVNlcnZpY2UgPSB1c2VNZW1vKCgpID0+IG5ldyBQYWdlVHJlZVNlcnZpY2UobGV2ZWxPZmZzZXRQeCwgcGFnZXMpLCBbcGFnZXNdKTtcbiAgICBjb25zdCBzY29wZSA9IHVzZVBhZ2VUcmVlU2NvcGUoKTtcbiAgICBjb25zdCBzbmFja2JhckFwaSA9IHVzZVNuYWNrYmFyQXBpKCk7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZXRIb3ZlclN0YXRlID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soXG4gICAgICAgIChzZXRIb3ZlclN0YXRlOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxEcm9wSW5mbyB8IHVuZGVmaW5lZD4+LCBuZXdIb3ZlclN0YXRlOiBEcm9wSW5mbyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgc2V0SG92ZXJTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwobmV3SG92ZXJTdGF0ZSwgcHJldlN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdIb3ZlclN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICA1LFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZFBhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlcy5maWx0ZXIoKHBhZ2UpID0+IHBhZ2Uuc2VsZWN0ZWQpO1xuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgbW92ZUJ5UG9zUmVxdWVzdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAvLyBAVE9ETzogaGFuZGxlIHBhdGggY29sbGlzaW9ucyB3aGVuIG1vdmluZyBwYWdlc1xuICAgICAgICBhc3luYyAoeyBpZHMsIHBhcmVudElkLCBwb3NpdGlvbiB9OiB7IGlkczogc3RyaW5nW107IHBhcmVudElkOiBzdHJpbmcgfCBudWxsOyBwb3NpdGlvbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRzOiBpZHMsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpY1Jlc3BvbnNlOiAodmFyaWFibGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VUcmVlTm9kZXM6IEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbltcIm1vdmVQYWdlVHJlZU5vZGVzQnlQb3NcIl0gPSAodmFyaWFibGVzLmlkcyBhcyBzdHJpbmdbXSkubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsdWdQYXRoUGFnZSA9IGNsaWVudC5jYWNoZS5yZWFkRnJhZ21lbnQ8R1FMUGFnZVNsdWdQYXRoRnJhZ21lbnQ+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudDogZ3FsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQgUGFnZVNsdWdQYXRoIG9uIFBhZ2VUcmVlTm9kZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190eXBlbmFtZTogXCJQYWdlVHJlZU5vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogcG9zaXRpb24gKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Zzogc2x1Z1BhdGhQYWdlPy5zbHVnID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHNsdWdQYXRoUGFnZT8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zOiBwYWdlVHJlZU5vZGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlOiAocHJveHksIHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwYWdlIHBvc2l0aW9ucyBvZiBhbGwgb3RoZXIgcGFnZXRyZWUgbm9kZXMgYXJlIHVwZGF0ZWQgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgICAgIC8vID0+IHJlYWx0aW1lIHVwZGF0ZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFBhZ2VUcmVlTm9kZXMgPSBkYXRhPy5tb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlID0gbW92ZWRQYWdlVHJlZU5vZGVzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW92ZWRQYWdlVHJlZU5vZGVzIHx8ICFmaXJzdE1vdmVkUGFnZVRyZWVOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlc1F1ZXJ5RGF0YSA9IHByb3h5LnJlYWRRdWVyeTxHUUxQYWdlc0NhY2hlUXVlcnksIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZTogc2NvcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNEYXRhID0gcGFnZXNRdWVyeURhdGE/LnBhZ2VzID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkUGFnZXMgPSBwYWdlc0RhdGEubWFwKChwYWdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VEYXRhID0geyAuLi5wYWdlRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpZHMuaW5jbHVkZXMocGFnZURhdGEuaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucGFyZW50SWQgPT09IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucGFyZW50SWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5wb3MgPj0gZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZS5wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRQYWdlRGF0YS5wb3MgPSB1cGRhdGVkUGFnZURhdGEucG9zICsgbW92ZWRQYWdlVHJlZU5vZGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQYWdlRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3h5LndyaXRlUXVlcnkoeyBxdWVyeTogcGFnZXNDYWNoZVF1ZXJ5LCBkYXRhOiB7IHBhZ2VzOiB1cGRhdGVkUGFnZXMgfSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnQsIHNjb3BlLCBjYXRlZ29yeV0sXG4gICAgKTtcblxuICAgIGNvbnN0IG1vdmVCeU5laWdoYm91clJlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgYWZ0ZXJJZCwgYmVmb3JlSWQgfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgYWZ0ZXJJZDogc3RyaW5nIHwgbnVsbDsgYmVmb3JlSWQ6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJzTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogYWZ0ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUlkOiBiZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnRdLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkRyb3AgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGRyYWdPYmplY3Q6IFBhZ2VUcmVlRHJhZ09iamVjdCwgZHJvcFRhcmdldFBhZ2U6IFBhZ2VUcmVlUGFnZSwgZHJvcFRhcmdldDogRHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWdlSWRzID0gc2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuICAgICAgICAgICAgbGV0IHBhZ2VzVG9Nb3ZlOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICAgICAgICAgIGxldCBpZHNUb01vdmU6IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKGRyYWdPYmplY3QuaWQpKSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBzdWJwYWdlcyBpZiB0aGVpciBwYXJlbnQgaXMgc2VsZWN0ZWQgPT4gb25seSB0aGUgcGFyZW50IGhhcyB0byBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcyA9IHNlbGVjdGVkUGFnZXMuZmlsdGVyKChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlLnBhcmVudElkID09PSBudWxsIHx8ICFzZWxlY3RlZFBhZ2VJZHMuaW5jbHVkZXMocGFnZS5wYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gZmlsdGVyZWRTZWxlY3RlZFBhZ2VzLm1hcCgocGFnZSkgPT4gcGFnZS5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gW2RyYWdPYmplY3QuaWRdO1xuICAgICAgICAgICAgICAgIHBhZ2VzVG9Nb3ZlID0gW2RyYWdPYmplY3RdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmRyb3BBbGxvd2VkKHBhZ2VzVG9Nb3ZlLCBkcm9wVGFyZ2V0UGFnZSwgZHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgaWYgKCF1cGRhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBtb3ZlQnlQb3NSZXF1ZXN0KHsgaWRzOiBpZHNUb01vdmUsIHBhcmVudElkOiB1cGRhdGVJbmZvLnBhcmVudElkLCBwb3NpdGlvbjogdXBkYXRlSW5mby5wb3NpdGlvbiB9KTtcblxuICAgICAgICAgICAgc25hY2tiYXJBcGkuc2hvd1NuYWNrYmFyKFxuICAgICAgICAgICAgICAgIDxVbmRvU25hY2tiYXJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5wYWdldHJlZS5wYWdlTW92ZWRcIiBkZWZhdWx0TWVzc2FnZT1cIlBhZ2UgTW92ZWRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZD17eyBwcmV2aW91c1BhZ2VzOiBwYWdlcywgcGFnZXNUb1VuZG86IHBhZ2VzVG9Nb3ZlIH19XG4gICAgICAgICAgICAgICAgICAgIG9uVW5kb0NsaWNrPXthc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByZXZpb3VzUGFnZXMsIHBhZ2VzVG9VbmRvIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gWy4uLnBhZ2VzVG9VbmRvXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZVRvVW5kbyBvZiBwYWdlc1RvVW5kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmdldFVuZG9VcGRhdGVJbmZvKHByZXZpb3VzUGFnZXMsIHBhZ2VUb1VuZG8sIGRpc2FsbG93ZWRSZWZlcmVuY2VzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkczogW3BhZ2VUb1VuZG8uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhZ2VUb1VuZG8ucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcklkOiB1cGRhdGVJbmZvLmFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogdXBkYXRlSW5mby5iZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxSZXNldFNsdWdNdXRhdGlvbiwgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uOiByZXNldFNsdWdNdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYWdlVG9VbmRvLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHBhZ2VUb1VuZG8uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gZGlzYWxsb3dlZFJlZmVyZW5jZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLmlkICE9PSBwYWdlVG9VbmRvLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiBbXCJQYWdlc1wiXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtzZWxlY3RlZFBhZ2VzLCBwYWdlVHJlZVNlcnZpY2UsIHBhZ2VzLCBtb3ZlQnlQb3NSZXF1ZXN0LCBzbmFja2JhckFwaSwgY2xpZW50LCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0XSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVmTGlzdCA9IHVzZVJlZjxMaXN0PihudWxsKTtcbiAgICAvLyBleHBvc2UgdGhpcyBtZXRob2QgdG8gdGhlIHB1YmxpY1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBzY3JvbGxUb0l0ZW06IChpbmRleDogbnVtYmVyLCBhbGlnbj86IEFsaWduKSA9PiB7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgYWxpZ24pO1xuICAgICAgICB9LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByb3BzRm9yVmlydHVhbExpc3QgPSB1c2VEbmRXaW5kb3dTY3JvbGwoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFnZVRyZWVEcmFnTGF5ZXIgbnVtYmVyU2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICA8Um9vdD5cbiAgICAgICAgICAgICAgICA8VGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRvU2l6ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9OiBTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQFRPRE86IGFkanVzdCBpdGVtU2l6ZSBmb3Igc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZkxpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17cGFnZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9ezUxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnNjYW5Db3VudD17MX0gLy8gZG8gbm90IGluY3JlYXNlIHRoaXMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHNjcm9sbEJlaGF2aW9yOiBcInNtb290aFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckVsZW1lbnRUeXBlPXtWaXJ0dWFsTGlzdFBhZGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc0ZvclZpcnR1YWxMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaW5kZXgsIHN0eWxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldlBhZ2UsIHBhZ2UsIG5leHRQYWdlXSA9IGdldExpbmtlZFBhZ2VzKHBhZ2VzLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhZ2VUcmVlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsaXplZFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtwYXJzZUZsb2F0KFN0cmluZyhzdHlsZT8udG9wKSkgKyBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZUluPXtuZXdQYWdlSWRzLmN1cnJlbnQuaW5jbHVkZXMocGFnZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlBhZ2U9e3ByZXZQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2U9e25leHRQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdERpYWxvZ0FwaT17ZWRpdERpYWxvZ0FwaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZD17dG9nZ2xlRXhwYW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXtvbkRyb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdENoYW5nZWQ9e29uU2VsZWN0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VUcmVlU2VydmljZT17cGFnZVRyZWVTZXJ2aWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZT17ZGVib3VuY2VkU2V0SG92ZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdGVVcmw9e3NpdGVVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhZ2VzPXtzZWxlY3RlZFBhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgICAgICAgICAgIDwvVGFibGU+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5jb25zdCBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFID0gMjQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBWaXJ0dWFsTGlzdFBhZGRlciA9IGZvcndhcmRSZWY8YW55LCBhbnk+KCh7IHN0eWxlLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgICAgIGhlaWdodDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LmhlaWdodCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSAqIDJ9cHhgLFxuICAgICAgICB9fVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAvPlxuKSk7XG5cbmZ1bmN0aW9uIGdldExpbmtlZFBhZ2VzKHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXSwgaW5kZXg6IG51bWJlcik6IFtQYWdlVHJlZVBhZ2UgfCB1bmRlZmluZWQsIFBhZ2VUcmVlUGFnZSwgUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkXSB7XG4gICAgY29uc3QgcHJldlBhZ2UgPSBpbmRleCA+IDAgPyBwYWdlc1tpbmRleCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5leHRQYWdlID0gaW5kZXggKyAxIDwgcGFnZXMubGVuZ3RoID8gcGFnZXNbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gW3ByZXZQYWdlLCBwYWdlc1tpbmRleF0sIG5leHRQYWdlXTtcbn1cblxuY29uc3QgUGFnZVRyZWVXaXRoUmVmID0gZm9yd2FyZFJlZihQYWdlVHJlZSk7XG5cbmV4cG9ydCB7IFBhZ2VUcmVlV2l0aFJlZiBhcyBQYWdlVHJlZSwgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
|
|
475
474
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
476
475
|
});
|
|
477
476
|
var Table = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "production" ? {
|
|
@@ -484,6 +483,6 @@ var Table = /*#__PURE__*/(0, _styles.styled)("div", process.env.NODE_ENV === "pr
|
|
|
484
483
|
styles: "flex:1"
|
|
485
484
|
} : {
|
|
486
485
|
name: "82a6rk",
|
|
487
|
-
styles: "flex:1/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeVoyQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlUXVlcnksIHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgdHlwZSBJRWRpdERpYWxvZ0FwaSwgVW5kb1NuYWNrYmFyLCB1c2VTbmFja2JhckFwaSB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCBpc0VxdWFsIGZyb20gXCJsb2Rhc2guaXNlcXVhbFwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIERpc3BhdGNoLFxuICAgIGZvcndhcmRSZWYsXG4gICAgdHlwZSBGb3J3YXJkUmVmUmVuZGVyRnVuY3Rpb24sXG4gICAgdHlwZSBTZXRTdGF0ZUFjdGlvbixcbiAgICB1c2VDYWxsYmFjayxcbiAgICB1c2VFZmZlY3QsXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgICB1c2VNZW1vLFxuICAgIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSBcInJlYWN0LWludGxcIjtcbmltcG9ydCBBdXRvU2l6ZXIsIHsgdHlwZSBTaXplIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkLWF1dG8tc2l6ZXJcIjtcbmltcG9ydCB7IHR5cGUgQWxpZ24sIEZpeGVkU2l6ZUxpc3QgYXMgTGlzdCB9IGZyb20gXCJyZWFjdC13aW5kb3dcIjtcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSBcInVzZS1kZWJvdW5jZVwiO1xuXG5pbXBvcnQgeyB1c2VDb250ZW50U2NvcGUgfSBmcm9tIFwiLi4vLi4vY29udGVudFNjb3BlL1Byb3ZpZGVyXCI7XG5pbXBvcnQgeyB0eXBlIEdRTFBhZ2VzUXVlcnksIHR5cGUgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuLi9wYWdlc1BhZ2UvY3JlYXRlUGFnZXNRdWVyeVwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbixcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeSxcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcyxcbiAgICB0eXBlIEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50LFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb24sXG4gICAgdHlwZSBHUUxSZXNldFNsdWdNdXRhdGlvblZhcmlhYmxlcyxcbn0gZnJvbSBcIi4vUGFnZVRyZWUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgUGFnZVRyZWVEcmFnTGF5ZXIgZnJvbSBcIi4vUGFnZVRyZWVEcmFnTGF5ZXJcIjtcbmltcG9ydCBQYWdlVHJlZVJvdywgeyB0eXBlIERyb3BUYXJnZXQsIHR5cGUgUGFnZVRyZWVEcmFnT2JqZWN0IH0gZnJvbSBcIi4vUGFnZVRyZWVSb3dcIjtcbmltcG9ydCB7IHR5cGUgRHJvcEluZm8sIFBhZ2VUcmVlU2VydmljZSB9IGZyb20gXCIuL1BhZ2VUcmVlU2VydmljZVwiO1xuaW1wb3J0IHsgdXNlRG5kV2luZG93U2Nyb2xsIH0gZnJvbSBcIi4vdXNlRG5kV2luZG93U2Nyb2xsL3VzZURuZFdpbmRvd1Njcm9sbFwiO1xuaW1wb3J0IHsgdHlwZSBQYWdlVHJlZVBhZ2UgfSBmcm9tIFwiLi91c2VQYWdlVHJlZVwiO1xuXG5pbnRlcmZhY2UgUGFnZVRyZWVQcm9wcyB7XG4gICAgcGFnZXM6IFBhZ2VUcmVlUGFnZVtdO1xuICAgIGVkaXREaWFsb2dBcGk6IElFZGl0RGlhbG9nQXBpO1xuICAgIHRvZ2dsZUV4cGFuZDogKHBhZ2VJZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0Q2hhbmdlZDogKHBhZ2VJZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcbn1cblxudHlwZSBQYWdlVHJlZVJlZkFwaSA9IHsgc2Nyb2xsVG9JdGVtOiBMaXN0W1wic2Nyb2xsVG9JdGVtXCJdIH07XG5cbmNvbnN0IG1vdmVQYWdlVHJlZU5vZGVzQnlQb3NpdGlvbk11dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvcyhpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cihpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCByZXNldFNsdWdNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZXNldFNsdWcoJGlkOiBJRCEsICRzbHVnOiBTdHJpbmchKSB7XG4gICAgICAgIHVwZGF0ZVBhZ2VUcmVlTm9kZVNsdWcoaWQ6ICRpZCwgc2x1ZzogJHNsdWcpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBwYWdlc0NhY2hlUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgUGFnZXNDYWNoZSgkY29udGVudFNjb3BlOiBQYWdlVHJlZU5vZGVTY29wZUlucHV0ISwgJGNhdGVnb3J5OiBTdHJpbmchKSB7XG4gICAgICAgIHBhZ2VzOiBwYWdlVHJlZU5vZGVMaXN0KHNjb3BlOiAkY29udGVudFNjb3BlLCBjYXRlZ29yeTogJGNhdGVnb3J5KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuLy8gQFRPRE86IENhbGN1bGF0ZSBkeW5hbWljYWxseVxuY29uc3QgbGV2ZWxPZmZzZXRQeCA9IDUwO1xuXG5jb25zdCBQYWdlVHJlZTogRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uPFBhZ2VUcmVlUmVmQXBpLCBQYWdlVHJlZVByb3BzPiA9IChcbiAgICB7IHBhZ2VzLCBlZGl0RGlhbG9nQXBpLCB0b2dnbGVFeHBhbmQsIG9uU2VsZWN0Q2hhbmdlZCwgY2F0ZWdvcnksIHNpdGVVcmwgfSxcbiAgICByZWYsXG4pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBuZXdQYWdlSWRzID0gdXNlUmVmPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBxdWVyaWVzID0gY2xpZW50LmdldE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgY29uc3QgcGFnZXNRdWVyeSA9IEFycmF5LmZyb20ocXVlcmllcy52YWx1ZXMoKSkuZmluZCgocXVlcnkpID0+IHF1ZXJ5LnF1ZXJ5TmFtZSA9PT0gXCJQYWdlc1wiKSBhc1xuICAgICAgICB8IE9ic2VydmFibGVRdWVyeTxHUUxQYWdlc1F1ZXJ5LCBHUUxQYWdlc1F1ZXJ5VmFyaWFibGVzPlxuICAgICAgICB8IHVuZGVmaW5lZDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICBjbGllbnQuY2FjaGUud2F0Y2g8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc1F1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGFnZXNRdWVyeS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChuZXdQYWdlc1F1ZXJ5LCBwcmV2aW91c1BhZ2VzUXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhZ2VzUXVlcnkgJiYgcHJldmlvdXNQYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ1BhZ2VJZHMgPSBwcmV2aW91c1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKSA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IG5ld1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKS5maWx0ZXIoKGlkKSA9PiAhZXhpc3RpbmdQYWdlSWRzLmluY2x1ZGVzKGlkKSkgPz8gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IG5ld1BhZ2VJZHMgdG8gcHJldmVudCBzbGlkZUluIG9uIGV2ZXJ5IHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFnZUlkcy5jdXJyZW50ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpYzogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudC5jYWNoZSwgcGFnZXNRdWVyeV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5ld1BhZ2VJZHMuY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gbmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpKTtcbiAgICAgICAgICAgIHJlZkxpc3QuY3VycmVudD8uc2Nyb2xsVG9JdGVtKGluZGV4LCBcInNtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfSwgW3BhZ2VzXSk7XG5cbiAgICBjb25zdCBwYWdlVHJlZVNlcnZpY2UgPSB1c2VNZW1vKCgpID0+IG5ldyBQYWdlVHJlZVNlcnZpY2UobGV2ZWxPZmZzZXRQeCwgcGFnZXMpLCBbcGFnZXNdKTtcbiAgICBjb25zdCB7IHNjb3BlIH0gPSB1c2VDb250ZW50U2NvcGUoKTtcbiAgICBjb25zdCBzbmFja2JhckFwaSA9IHVzZVNuYWNrYmFyQXBpKCk7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZXRIb3ZlclN0YXRlID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soXG4gICAgICAgIChzZXRIb3ZlclN0YXRlOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxEcm9wSW5mbyB8IHVuZGVmaW5lZD4+LCBuZXdIb3ZlclN0YXRlOiBEcm9wSW5mbyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgc2V0SG92ZXJTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwobmV3SG92ZXJTdGF0ZSwgcHJldlN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdIb3ZlclN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICA1LFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZFBhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlcy5maWx0ZXIoKHBhZ2UpID0+IHBhZ2Uuc2VsZWN0ZWQpO1xuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgbW92ZUJ5UG9zUmVxdWVzdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAvLyBAVE9ETzogaGFuZGxlIHBhdGggY29sbGlzaW9ucyB3aGVuIG1vdmluZyBwYWdlc1xuICAgICAgICBhc3luYyAoeyBpZHMsIHBhcmVudElkLCBwb3NpdGlvbiB9OiB7IGlkczogc3RyaW5nW107IHBhcmVudElkOiBzdHJpbmcgfCBudWxsOyBwb3NpdGlvbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRzOiBpZHMsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpY1Jlc3BvbnNlOiAodmFyaWFibGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VUcmVlTm9kZXM6IEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbltcIm1vdmVQYWdlVHJlZU5vZGVzQnlQb3NcIl0gPSAodmFyaWFibGVzLmlkcyBhcyBzdHJpbmdbXSkubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsdWdQYXRoUGFnZSA9IGNsaWVudC5jYWNoZS5yZWFkRnJhZ21lbnQ8R1FMUGFnZVNsdWdQYXRoRnJhZ21lbnQ+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudDogZ3FsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQgUGFnZVNsdWdQYXRoIG9uIFBhZ2VUcmVlTm9kZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190eXBlbmFtZTogXCJQYWdlVHJlZU5vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogcG9zaXRpb24gKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Zzogc2x1Z1BhdGhQYWdlPy5zbHVnID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHNsdWdQYXRoUGFnZT8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zOiBwYWdlVHJlZU5vZGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlOiAocHJveHksIHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwYWdlIHBvc2l0aW9ucyBvZiBhbGwgb3RoZXIgcGFnZXRyZWUgbm9kZXMgYXJlIHVwZGF0ZWQgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgICAgIC8vID0+IHJlYWx0aW1lIHVwZGF0ZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFBhZ2VUcmVlTm9kZXMgPSBkYXRhPy5tb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlID0gbW92ZWRQYWdlVHJlZU5vZGVzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW92ZWRQYWdlVHJlZU5vZGVzIHx8ICFmaXJzdE1vdmVkUGFnZVRyZWVOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlc1F1ZXJ5RGF0YSA9IHByb3h5LnJlYWRRdWVyeTxHUUxQYWdlc0NhY2hlUXVlcnksIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZTogc2NvcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNEYXRhID0gcGFnZXNRdWVyeURhdGE/LnBhZ2VzID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkUGFnZXMgPSBwYWdlc0RhdGEubWFwKChwYWdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VEYXRhID0geyAuLi5wYWdlRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpZHMuaW5jbHVkZXMocGFnZURhdGEuaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucGFyZW50SWQgPT09IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucGFyZW50SWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5wb3MgPj0gZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZS5wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRQYWdlRGF0YS5wb3MgPSB1cGRhdGVkUGFnZURhdGEucG9zICsgbW92ZWRQYWdlVHJlZU5vZGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQYWdlRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3h5LndyaXRlUXVlcnkoeyBxdWVyeTogcGFnZXNDYWNoZVF1ZXJ5LCBkYXRhOiB7IHBhZ2VzOiB1cGRhdGVkUGFnZXMgfSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnQsIHNjb3BlLCBjYXRlZ29yeV0sXG4gICAgKTtcblxuICAgIGNvbnN0IG1vdmVCeU5laWdoYm91clJlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgYWZ0ZXJJZCwgYmVmb3JlSWQgfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgYWZ0ZXJJZDogc3RyaW5nIHwgbnVsbDsgYmVmb3JlSWQ6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJzTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogYWZ0ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUlkOiBiZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnRdLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkRyb3AgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGRyYWdPYmplY3Q6IFBhZ2VUcmVlRHJhZ09iamVjdCwgZHJvcFRhcmdldFBhZ2U6IFBhZ2VUcmVlUGFnZSwgZHJvcFRhcmdldDogRHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWdlSWRzID0gc2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuICAgICAgICAgICAgbGV0IHBhZ2VzVG9Nb3ZlOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICAgICAgICAgIGxldCBpZHNUb01vdmU6IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKGRyYWdPYmplY3QuaWQpKSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBzdWJwYWdlcyBpZiB0aGVpciBwYXJlbnQgaXMgc2VsZWN0ZWQgPT4gb25seSB0aGUgcGFyZW50IGhhcyB0byBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcyA9IHNlbGVjdGVkUGFnZXMuZmlsdGVyKChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlLnBhcmVudElkID09PSBudWxsIHx8ICFzZWxlY3RlZFBhZ2VJZHMuaW5jbHVkZXMocGFnZS5wYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gZmlsdGVyZWRTZWxlY3RlZFBhZ2VzLm1hcCgocGFnZSkgPT4gcGFnZS5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gW2RyYWdPYmplY3QuaWRdO1xuICAgICAgICAgICAgICAgIHBhZ2VzVG9Nb3ZlID0gW2RyYWdPYmplY3RdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmRyb3BBbGxvd2VkKHBhZ2VzVG9Nb3ZlLCBkcm9wVGFyZ2V0UGFnZSwgZHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgaWYgKCF1cGRhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBtb3ZlQnlQb3NSZXF1ZXN0KHsgaWRzOiBpZHNUb01vdmUsIHBhcmVudElkOiB1cGRhdGVJbmZvLnBhcmVudElkLCBwb3NpdGlvbjogdXBkYXRlSW5mby5wb3NpdGlvbiB9KTtcblxuICAgICAgICAgICAgc25hY2tiYXJBcGkuc2hvd1NuYWNrYmFyKFxuICAgICAgICAgICAgICAgIDxVbmRvU25hY2tiYXJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5wYWdldHJlZS5wYWdlTW92ZWRcIiBkZWZhdWx0TWVzc2FnZT1cIlBhZ2UgTW92ZWRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZD17eyBwcmV2aW91c1BhZ2VzOiBwYWdlcywgcGFnZXNUb1VuZG86IHBhZ2VzVG9Nb3ZlIH19XG4gICAgICAgICAgICAgICAgICAgIG9uVW5kb0NsaWNrPXthc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByZXZpb3VzUGFnZXMsIHBhZ2VzVG9VbmRvIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gWy4uLnBhZ2VzVG9VbmRvXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZVRvVW5kbyBvZiBwYWdlc1RvVW5kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmdldFVuZG9VcGRhdGVJbmZvKHByZXZpb3VzUGFnZXMsIHBhZ2VUb1VuZG8sIGRpc2FsbG93ZWRSZWZlcmVuY2VzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkczogW3BhZ2VUb1VuZG8uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhZ2VUb1VuZG8ucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcklkOiB1cGRhdGVJbmZvLmFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogdXBkYXRlSW5mby5iZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxSZXNldFNsdWdNdXRhdGlvbiwgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uOiByZXNldFNsdWdNdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYWdlVG9VbmRvLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHBhZ2VUb1VuZG8uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gZGlzYWxsb3dlZFJlZmVyZW5jZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLmlkICE9PSBwYWdlVG9VbmRvLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiBbXCJQYWdlc1wiXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtzZWxlY3RlZFBhZ2VzLCBwYWdlVHJlZVNlcnZpY2UsIHBhZ2VzLCBtb3ZlQnlQb3NSZXF1ZXN0LCBzbmFja2JhckFwaSwgY2xpZW50LCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0XSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVmTGlzdCA9IHVzZVJlZjxMaXN0PihudWxsKTtcbiAgICAvLyBleHBvc2UgdGhpcyBtZXRob2QgdG8gdGhlIHB1YmxpY1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBzY3JvbGxUb0l0ZW06IChpbmRleDogbnVtYmVyLCBhbGlnbj86IEFsaWduKSA9PiB7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgYWxpZ24pO1xuICAgICAgICB9LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByb3BzRm9yVmlydHVhbExpc3QgPSB1c2VEbmRXaW5kb3dTY3JvbGwoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFnZVRyZWVEcmFnTGF5ZXIgbnVtYmVyU2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICA8Um9vdD5cbiAgICAgICAgICAgICAgICA8VGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRvU2l6ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9OiBTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQFRPRE86IGFkanVzdCBpdGVtU2l6ZSBmb3Igc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZkxpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17cGFnZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9ezUxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnNjYW5Db3VudD17MX0gLy8gZG8gbm90IGluY3JlYXNlIHRoaXMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHNjcm9sbEJlaGF2aW9yOiBcInNtb290aFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckVsZW1lbnRUeXBlPXtWaXJ0dWFsTGlzdFBhZGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc0ZvclZpcnR1YWxMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaW5kZXgsIHN0eWxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldlBhZ2UsIHBhZ2UsIG5leHRQYWdlXSA9IGdldExpbmtlZFBhZ2VzKHBhZ2VzLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhZ2VUcmVlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsaXplZFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtwYXJzZUZsb2F0KFN0cmluZyhzdHlsZT8udG9wKSkgKyBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZUluPXtuZXdQYWdlSWRzLmN1cnJlbnQuaW5jbHVkZXMocGFnZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlBhZ2U9e3ByZXZQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2U9e25leHRQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdERpYWxvZ0FwaT17ZWRpdERpYWxvZ0FwaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZD17dG9nZ2xlRXhwYW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXtvbkRyb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdENoYW5nZWQ9e29uU2VsZWN0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VUcmVlU2VydmljZT17cGFnZVRyZWVTZXJ2aWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZT17ZGVib3VuY2VkU2V0SG92ZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdGVVcmw9e3NpdGVVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhZ2VzPXtzZWxlY3RlZFBhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgICAgICAgICAgIDwvVGFibGU+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5jb25zdCBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFID0gMjQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBWaXJ0dWFsTGlzdFBhZGRlciA9IGZvcndhcmRSZWY8YW55LCBhbnk+KCh7IHN0eWxlLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgICAgIGhlaWdodDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LmhlaWdodCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSAqIDJ9cHhgLFxuICAgICAgICB9fVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAvPlxuKSk7XG5cbmZ1bmN0aW9uIGdldExpbmtlZFBhZ2VzKHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXSwgaW5kZXg6IG51bWJlcik6IFtQYWdlVHJlZVBhZ2UgfCB1bmRlZmluZWQsIFBhZ2VUcmVlUGFnZSwgUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkXSB7XG4gICAgY29uc3QgcHJldlBhZ2UgPSBpbmRleCA+IDAgPyBwYWdlc1tpbmRleCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5leHRQYWdlID0gaW5kZXggKyAxIDwgcGFnZXMubGVuZ3RoID8gcGFnZXNbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gW3ByZXZQYWdlLCBwYWdlc1tpbmRleF0sIG5leHRQYWdlXTtcbn1cblxuY29uc3QgUGFnZVRyZWVXaXRoUmVmID0gZm9yd2FyZFJlZihQYWdlVHJlZSk7XG5cbmV4cG9ydCB7IFBhZ2VUcmVlV2l0aFJlZiBhcyBQYWdlVHJlZSwgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
|
|
486
|
+
styles: "flex:1/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9wYWdlVHJlZS9QYWdlVHJlZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeVoyQiIsImZpbGUiOiIuLi8uLi8uLi9zcmMvcGFnZXMvcGFnZVRyZWUvUGFnZVRyZWUudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlUXVlcnksIHVzZUFwb2xsb0NsaWVudCB9IGZyb20gXCJAYXBvbGxvL2NsaWVudFwiO1xuaW1wb3J0IHsgdHlwZSBJRWRpdERpYWxvZ0FwaSwgVW5kb1NuYWNrYmFyLCB1c2VTbmFja2JhckFwaSB9IGZyb20gXCJAY29tZXQvYWRtaW5cIjtcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gXCJAbXVpL21hdGVyaWFsL3N0eWxlc1wiO1xuaW1wb3J0IGdxbCBmcm9tIFwiZ3JhcGhxbC10YWdcIjtcbmltcG9ydCBpc0VxdWFsIGZyb20gXCJsb2Rhc2guaXNlcXVhbFwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIERpc3BhdGNoLFxuICAgIGZvcndhcmRSZWYsXG4gICAgdHlwZSBGb3J3YXJkUmVmUmVuZGVyRnVuY3Rpb24sXG4gICAgdHlwZSBTZXRTdGF0ZUFjdGlvbixcbiAgICB1c2VDYWxsYmFjayxcbiAgICB1c2VFZmZlY3QsXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZSxcbiAgICB1c2VNZW1vLFxuICAgIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSBcInJlYWN0LWludGxcIjtcbmltcG9ydCBBdXRvU2l6ZXIsIHsgdHlwZSBTaXplIH0gZnJvbSBcInJlYWN0LXZpcnR1YWxpemVkLWF1dG8tc2l6ZXJcIjtcbmltcG9ydCB7IHR5cGUgQWxpZ24sIEZpeGVkU2l6ZUxpc3QgYXMgTGlzdCB9IGZyb20gXCJyZWFjdC13aW5kb3dcIjtcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSBcInVzZS1kZWJvdW5jZVwiO1xuXG5pbXBvcnQgeyB1c2VQYWdlVHJlZVNjb3BlIH0gZnJvbSBcIi4uL2NvbmZpZy91c2VQYWdlVHJlZVNjb3BlXCI7XG5pbXBvcnQgeyB0eXBlIEdRTFBhZ2VzUXVlcnksIHR5cGUgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcyB9IGZyb20gXCIuLi9wYWdlc1BhZ2UvY3JlYXRlUGFnZXNRdWVyeVwiO1xuaW1wb3J0IHtcbiAgICB0eXBlIEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbixcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeSxcbiAgICB0eXBlIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcyxcbiAgICB0eXBlIEdRTFBhZ2VTbHVnUGF0aEZyYWdtZW50LFxuICAgIHR5cGUgR1FMUmVzZXRTbHVnTXV0YXRpb24sXG4gICAgdHlwZSBHUUxSZXNldFNsdWdNdXRhdGlvblZhcmlhYmxlcyxcbn0gZnJvbSBcIi4vUGFnZVRyZWUuZ2VuZXJhdGVkXCI7XG5pbXBvcnQgUGFnZVRyZWVEcmFnTGF5ZXIgZnJvbSBcIi4vUGFnZVRyZWVEcmFnTGF5ZXJcIjtcbmltcG9ydCBQYWdlVHJlZVJvdywgeyB0eXBlIERyb3BUYXJnZXQsIHR5cGUgUGFnZVRyZWVEcmFnT2JqZWN0IH0gZnJvbSBcIi4vUGFnZVRyZWVSb3dcIjtcbmltcG9ydCB7IHR5cGUgRHJvcEluZm8sIFBhZ2VUcmVlU2VydmljZSB9IGZyb20gXCIuL1BhZ2VUcmVlU2VydmljZVwiO1xuaW1wb3J0IHsgdXNlRG5kV2luZG93U2Nyb2xsIH0gZnJvbSBcIi4vdXNlRG5kV2luZG93U2Nyb2xsL3VzZURuZFdpbmRvd1Njcm9sbFwiO1xuaW1wb3J0IHsgdHlwZSBQYWdlVHJlZVBhZ2UgfSBmcm9tIFwiLi91c2VQYWdlVHJlZVwiO1xuXG5pbnRlcmZhY2UgUGFnZVRyZWVQcm9wcyB7XG4gICAgcGFnZXM6IFBhZ2VUcmVlUGFnZVtdO1xuICAgIGVkaXREaWFsb2dBcGk6IElFZGl0RGlhbG9nQXBpO1xuICAgIHRvZ2dsZUV4cGFuZDogKHBhZ2VJZDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIG9uU2VsZWN0Q2hhbmdlZDogKHBhZ2VJZDogc3RyaW5nLCB2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgIHNpdGVVcmw6IHN0cmluZztcbn1cblxudHlwZSBQYWdlVHJlZVJlZkFwaSA9IHsgc2Nyb2xsVG9JdGVtOiBMaXN0W1wic2Nyb2xsVG9JdGVtXCJdIH07XG5cbmNvbnN0IG1vdmVQYWdlVHJlZU5vZGVzQnlQb3NpdGlvbk11dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlQb3MoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeVBvcyhpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBtb3ZlUGFnZVRyZWVOb2Rlc0J5TmVpZ2hib3Vyc011dGF0aW9uID0gZ3FsYFxuICAgIG11dGF0aW9uIE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXIoJGlkczogW0lEIV0hLCAkaW5wdXQ6IE1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJJbnB1dCEpIHtcbiAgICAgICAgbW92ZVBhZ2VUcmVlTm9kZXNCeU5laWdoYm91cihpZHM6ICRpZHMsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBwYXJlbnRJZFxuICAgICAgICAgICAgcG9zXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICBwYXRoXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCByZXNldFNsdWdNdXRhdGlvbiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZXNldFNsdWcoJGlkOiBJRCEsICRzbHVnOiBTdHJpbmchKSB7XG4gICAgICAgIHVwZGF0ZVBhZ2VUcmVlTm9kZVNsdWcoaWQ6ICRpZCwgc2x1ZzogJHNsdWcpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBzbHVnXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5jb25zdCBwYWdlc0NhY2hlUXVlcnkgPSBncWxgXG4gICAgcXVlcnkgUGFnZXNDYWNoZSgkY29udGVudFNjb3BlOiBQYWdlVHJlZU5vZGVTY29wZUlucHV0ISwgJGNhdGVnb3J5OiBTdHJpbmchKSB7XG4gICAgICAgIHBhZ2VzOiBwYWdlVHJlZU5vZGVMaXN0KHNjb3BlOiAkY29udGVudFNjb3BlLCBjYXRlZ29yeTogJGNhdGVnb3J5KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgcGFyZW50SWRcbiAgICAgICAgICAgIHBvc1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuLy8gQFRPRE86IENhbGN1bGF0ZSBkeW5hbWljYWxseVxuY29uc3QgbGV2ZWxPZmZzZXRQeCA9IDUwO1xuXG5jb25zdCBQYWdlVHJlZTogRm9yd2FyZFJlZlJlbmRlckZ1bmN0aW9uPFBhZ2VUcmVlUmVmQXBpLCBQYWdlVHJlZVByb3BzPiA9IChcbiAgICB7IHBhZ2VzLCBlZGl0RGlhbG9nQXBpLCB0b2dnbGVFeHBhbmQsIG9uU2VsZWN0Q2hhbmdlZCwgY2F0ZWdvcnksIHNpdGVVcmwgfSxcbiAgICByZWYsXG4pID0+IHtcbiAgICBjb25zdCBjbGllbnQgPSB1c2VBcG9sbG9DbGllbnQoKTtcbiAgICBjb25zdCBuZXdQYWdlSWRzID0gdXNlUmVmPHN0cmluZ1tdPihbXSk7XG5cbiAgICBjb25zdCBxdWVyaWVzID0gY2xpZW50LmdldE9ic2VydmFibGVRdWVyaWVzKCk7XG4gICAgY29uc3QgcGFnZXNRdWVyeSA9IEFycmF5LmZyb20ocXVlcmllcy52YWx1ZXMoKSkuZmluZCgocXVlcnkpID0+IHF1ZXJ5LnF1ZXJ5TmFtZSA9PT0gXCJQYWdlc1wiKSBhc1xuICAgICAgICB8IE9ic2VydmFibGVRdWVyeTxHUUxQYWdlc1F1ZXJ5LCBHUUxQYWdlc1F1ZXJ5VmFyaWFibGVzPlxuICAgICAgICB8IHVuZGVmaW5lZDtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmIChwYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICBjbGllbnQuY2FjaGUud2F0Y2g8R1FMUGFnZXNRdWVyeSwgR1FMUGFnZXNRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgIHF1ZXJ5OiBwYWdlc1F1ZXJ5LnF1ZXJ5LFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlczogcGFnZXNRdWVyeS52YXJpYWJsZXMsXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IChuZXdQYWdlc1F1ZXJ5LCBwcmV2aW91c1BhZ2VzUXVlcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5ld1BhZ2VzUXVlcnkgJiYgcHJldmlvdXNQYWdlc1F1ZXJ5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBleGlzdGluZ1BhZ2VJZHMgPSBwcmV2aW91c1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKSA/PyBbXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1BhZ2VJZHMuY3VycmVudCA9IG5ld1BhZ2VzUXVlcnkucmVzdWx0Py5wYWdlcz8ubWFwKChwYWdlKSA9PiBwYWdlLmlkKS5maWx0ZXIoKGlkKSA9PiAhZXhpc3RpbmdQYWdlSWRzLmluY2x1ZGVzKGlkKSkgPz8gW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc2V0IG5ld1BhZ2VJZHMgdG8gcHJldmVudCBzbGlkZUluIG9uIGV2ZXJ5IHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UGFnZUlkcy5jdXJyZW50ID0gW107XG4gICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpYzogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSwgW2NsaWVudC5jYWNoZSwgcGFnZXNRdWVyeV0pO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKG5ld1BhZ2VJZHMuY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHBhZ2VzLmZpbmRJbmRleCgocGFnZSkgPT4gbmV3UGFnZUlkcy5jdXJyZW50LmluY2x1ZGVzKHBhZ2UuaWQpKTtcbiAgICAgICAgICAgIHJlZkxpc3QuY3VycmVudD8uc2Nyb2xsVG9JdGVtKGluZGV4LCBcInNtYXJ0XCIpO1xuICAgICAgICB9XG4gICAgfSwgW3BhZ2VzXSk7XG5cbiAgICBjb25zdCBwYWdlVHJlZVNlcnZpY2UgPSB1c2VNZW1vKCgpID0+IG5ldyBQYWdlVHJlZVNlcnZpY2UobGV2ZWxPZmZzZXRQeCwgcGFnZXMpLCBbcGFnZXNdKTtcbiAgICBjb25zdCBzY29wZSA9IHVzZVBhZ2VUcmVlU2NvcGUoKTtcbiAgICBjb25zdCBzbmFja2JhckFwaSA9IHVzZVNuYWNrYmFyQXBpKCk7XG5cbiAgICBjb25zdCBkZWJvdW5jZWRTZXRIb3ZlclN0YXRlID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soXG4gICAgICAgIChzZXRIb3ZlclN0YXRlOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxEcm9wSW5mbyB8IHVuZGVmaW5lZD4+LCBuZXdIb3ZlclN0YXRlOiBEcm9wSW5mbyB8IHVuZGVmaW5lZCkgPT4ge1xuICAgICAgICAgICAgc2V0SG92ZXJTdGF0ZSgocHJldlN0YXRlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWwobmV3SG92ZXJTdGF0ZSwgcHJldlN0YXRlKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldlN0YXRlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXdIb3ZlclN0YXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICA1LFxuICAgICk7XG5cbiAgICBjb25zdCBzZWxlY3RlZFBhZ2VzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHJldHVybiBwYWdlcy5maWx0ZXIoKHBhZ2UpID0+IHBhZ2Uuc2VsZWN0ZWQpO1xuICAgIH0sIFtwYWdlc10pO1xuXG4gICAgY29uc3QgbW92ZUJ5UG9zUmVxdWVzdCA9IHVzZUNhbGxiYWNrKFxuICAgICAgICAvLyBAVE9ETzogaGFuZGxlIHBhdGggY29sbGlzaW9ucyB3aGVuIG1vdmluZyBwYWdlc1xuICAgICAgICBhc3luYyAoeyBpZHMsIHBhcmVudElkLCBwb3NpdGlvbiB9OiB7IGlkczogc3RyaW5nW107IHBhcmVudElkOiBzdHJpbmcgfCBudWxsOyBwb3NpdGlvbjogbnVtYmVyIH0pID0+IHtcbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC5tdXRhdGUoe1xuICAgICAgICAgICAgICAgIG11dGF0aW9uOiBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zaXRpb25NdXRhdGlvbixcbiAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgaWRzOiBpZHMsXG4gICAgICAgICAgICAgICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3M6IHBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgb3B0aW1pc3RpY1Jlc3BvbnNlOiAodmFyaWFibGVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhZ2VUcmVlTm9kZXM6IEdRTE1vdmVQYWdlVHJlZU5vZGVzQnlQb3NNdXRhdGlvbltcIm1vdmVQYWdlVHJlZU5vZGVzQnlQb3NcIl0gPSAodmFyaWFibGVzLmlkcyBhcyBzdHJpbmdbXSkubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgKGlkLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNsdWdQYXRoUGFnZSA9IGNsaWVudC5jYWNoZS5yZWFkRnJhZ21lbnQ8R1FMUGFnZVNsdWdQYXRoRnJhZ21lbnQ+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFnbWVudDogZ3FsYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhZ21lbnQgUGFnZVNsdWdQYXRoIG9uIFBhZ2VUcmVlTm9kZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbHVnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX190eXBlbmFtZTogXCJQYWdlVHJlZU5vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJlbnRJZDogcGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvczogcG9zaXRpb24gKyBpbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2x1Zzogc2x1Z1BhdGhQYWdlPy5zbHVnID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IHNsdWdQYXRoUGFnZT8ucGF0aCA/PyBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zOiBwYWdlVHJlZU5vZGVzLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlOiAocHJveHksIHsgZGF0YSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwYWdlIHBvc2l0aW9ucyBvZiBhbGwgb3RoZXIgcGFnZXRyZWUgbm9kZXMgYXJlIHVwZGF0ZWQgaW4gdGhlIGNhY2hlXG4gICAgICAgICAgICAgICAgICAgIC8vID0+IHJlYWx0aW1lIHVwZGF0ZVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBtb3ZlZFBhZ2VUcmVlTm9kZXMgPSBkYXRhPy5tb3ZlUGFnZVRyZWVOb2Rlc0J5UG9zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmaXJzdE1vdmVkUGFnZVRyZWVOb2RlID0gbW92ZWRQYWdlVHJlZU5vZGVzPy5bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghbW92ZWRQYWdlVHJlZU5vZGVzIHx8ICFmaXJzdE1vdmVkUGFnZVRyZWVOb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBwYWdlc1F1ZXJ5RGF0YSA9IHByb3h5LnJlYWRRdWVyeTxHUUxQYWdlc0NhY2hlUXVlcnksIEdRTFBhZ2VzQ2FjaGVRdWVyeVZhcmlhYmxlcz4oe1xuICAgICAgICAgICAgICAgICAgICAgICAgcXVlcnk6IHBhZ2VzQ2FjaGVRdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRTY29wZTogc2NvcGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFnZXNEYXRhID0gcGFnZXNRdWVyeURhdGE/LnBhZ2VzID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVkUGFnZXMgPSBwYWdlc0RhdGEubWFwKChwYWdlRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXBkYXRlZFBhZ2VEYXRhID0geyAuLi5wYWdlRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICFpZHMuaW5jbHVkZXMocGFnZURhdGEuaWQpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEucGFyZW50SWQgPT09IGZpcnN0TW92ZWRQYWdlVHJlZU5vZGUucGFyZW50SWQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlRGF0YS5wb3MgPj0gZmlyc3RNb3ZlZFBhZ2VUcmVlTm9kZS5wb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVwZGF0ZWRQYWdlRGF0YS5wb3MgPSB1cGRhdGVkUGFnZURhdGEucG9zICsgbW92ZWRQYWdlVHJlZU5vZGVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRQYWdlRGF0YTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHByb3h5LndyaXRlUXVlcnkoeyBxdWVyeTogcGFnZXNDYWNoZVF1ZXJ5LCBkYXRhOiB7IHBhZ2VzOiB1cGRhdGVkUGFnZXMgfSB9KTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnQsIHNjb3BlLCBjYXRlZ29yeV0sXG4gICAgKTtcblxuICAgIGNvbnN0IG1vdmVCeU5laWdoYm91clJlcXVlc3QgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKHsgaWRzLCBwYXJlbnRJZCwgYWZ0ZXJJZCwgYmVmb3JlSWQgfTogeyBpZHM6IHN0cmluZ1tdOyBwYXJlbnRJZDogc3RyaW5nIHwgbnVsbDsgYWZ0ZXJJZDogc3RyaW5nIHwgbnVsbDsgYmVmb3JlSWQ6IHN0cmluZyB8IG51bGwgfSkgPT4ge1xuICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRpb246IG1vdmVQYWdlVHJlZU5vZGVzQnlOZWlnaGJvdXJzTXV0YXRpb24sXG4gICAgICAgICAgICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkczogaWRzLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhcmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJJZDogYWZ0ZXJJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJlZm9yZUlkOiBiZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIFtjbGllbnRdLFxuICAgICk7XG5cbiAgICBjb25zdCBvbkRyb3AgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGRyYWdPYmplY3Q6IFBhZ2VUcmVlRHJhZ09iamVjdCwgZHJvcFRhcmdldFBhZ2U6IFBhZ2VUcmVlUGFnZSwgZHJvcFRhcmdldDogRHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWw6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRQYWdlSWRzID0gc2VsZWN0ZWRQYWdlcy5tYXAoKHBhZ2UpID0+IHBhZ2UuaWQpO1xuICAgICAgICAgICAgbGV0IHBhZ2VzVG9Nb3ZlOiBQYWdlVHJlZVBhZ2VbXTtcbiAgICAgICAgICAgIGxldCBpZHNUb01vdmU6IHN0cmluZ1tdO1xuXG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRQYWdlSWRzLmluY2x1ZGVzKGRyYWdPYmplY3QuaWQpKSB7XG4gICAgICAgICAgICAgICAgLy8gZmlsdGVyIG91dCBzdWJwYWdlcyBpZiB0aGVpciBwYXJlbnQgaXMgc2VsZWN0ZWQgPT4gb25seSB0aGUgcGFyZW50IGhhcyB0byBiZSBtb3ZlZFxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcyA9IHNlbGVjdGVkUGFnZXMuZmlsdGVyKChwYWdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYWdlLnBhcmVudElkID09PSBudWxsIHx8ICFzZWxlY3RlZFBhZ2VJZHMuaW5jbHVkZXMocGFnZS5wYXJlbnRJZCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gZmlsdGVyZWRTZWxlY3RlZFBhZ2VzLm1hcCgocGFnZSkgPT4gcGFnZS5pZCk7XG5cbiAgICAgICAgICAgICAgICBwYWdlc1RvTW92ZSA9IGZpbHRlcmVkU2VsZWN0ZWRQYWdlcztcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWRzVG9Nb3ZlID0gW2RyYWdPYmplY3QuaWRdO1xuICAgICAgICAgICAgICAgIHBhZ2VzVG9Nb3ZlID0gW2RyYWdPYmplY3RdO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmRyb3BBbGxvd2VkKHBhZ2VzVG9Nb3ZlLCBkcm9wVGFyZ2V0UGFnZSwgZHJvcFRhcmdldCwgdGFyZ2V0TGV2ZWwpO1xuICAgICAgICAgICAgaWYgKCF1cGRhdGVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBtb3ZlQnlQb3NSZXF1ZXN0KHsgaWRzOiBpZHNUb01vdmUsIHBhcmVudElkOiB1cGRhdGVJbmZvLnBhcmVudElkLCBwb3NpdGlvbjogdXBkYXRlSW5mby5wb3NpdGlvbiB9KTtcblxuICAgICAgICAgICAgc25hY2tiYXJBcGkuc2hvd1NuYWNrYmFyKFxuICAgICAgICAgICAgICAgIDxVbmRvU25hY2tiYXJcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT17PEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21ldC5wYWdldHJlZS5wYWdlTW92ZWRcIiBkZWZhdWx0TWVzc2FnZT1cIlBhZ2UgTW92ZWRcIiAvPn1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZD17eyBwcmV2aW91c1BhZ2VzOiBwYWdlcywgcGFnZXNUb1VuZG86IHBhZ2VzVG9Nb3ZlIH19XG4gICAgICAgICAgICAgICAgICAgIG9uVW5kb0NsaWNrPXthc3luYyAocGF5bG9hZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHByZXZpb3VzUGFnZXMsIHBhZ2VzVG9VbmRvIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gWy4uLnBhZ2VzVG9VbmRvXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZVRvVW5kbyBvZiBwYWdlc1RvVW5kbykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1cGRhdGVJbmZvID0gcGFnZVRyZWVTZXJ2aWNlLmdldFVuZG9VcGRhdGVJbmZvKHByZXZpb3VzUGFnZXMsIHBhZ2VUb1VuZG8sIGRpc2FsbG93ZWRSZWZlcmVuY2VzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkczogW3BhZ2VUb1VuZG8uaWRdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ6IHBhZ2VUb1VuZG8ucGFyZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZnRlcklkOiB1cGRhdGVJbmZvLmFmdGVySWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVJZDogdXBkYXRlSW5mby5iZWZvcmVJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgY2xpZW50Lm11dGF0ZTxHUUxSZXNldFNsdWdNdXRhdGlvbiwgR1FMUmVzZXRTbHVnTXV0YXRpb25WYXJpYWJsZXM+KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uOiByZXNldFNsdWdNdXRhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBwYWdlVG9VbmRvLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsdWc6IHBhZ2VUb1VuZG8uc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FsbG93ZWRSZWZlcmVuY2VzID0gZGlzYWxsb3dlZFJlZmVyZW5jZXMuZmlsdGVyKChwYWdlKSA9PiBwYWdlLmlkICE9PSBwYWdlVG9VbmRvLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQucmVmZXRjaFF1ZXJpZXMoeyBpbmNsdWRlOiBbXCJQYWdlc1wiXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAvPixcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIFtzZWxlY3RlZFBhZ2VzLCBwYWdlVHJlZVNlcnZpY2UsIHBhZ2VzLCBtb3ZlQnlQb3NSZXF1ZXN0LCBzbmFja2JhckFwaSwgY2xpZW50LCBtb3ZlQnlOZWlnaGJvdXJSZXF1ZXN0XSxcbiAgICApO1xuXG4gICAgY29uc3QgcmVmTGlzdCA9IHVzZVJlZjxMaXN0PihudWxsKTtcbiAgICAvLyBleHBvc2UgdGhpcyBtZXRob2QgdG8gdGhlIHB1YmxpY1xuICAgIHVzZUltcGVyYXRpdmVIYW5kbGUocmVmLCAoKSA9PiAoe1xuICAgICAgICBzY3JvbGxUb0l0ZW06IChpbmRleDogbnVtYmVyLCBhbGlnbj86IEFsaWduKSA9PiB7XG4gICAgICAgICAgICByZWZMaXN0LmN1cnJlbnQ/LnNjcm9sbFRvSXRlbShpbmRleCwgYWxpZ24pO1xuICAgICAgICB9LFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHByb3BzRm9yVmlydHVhbExpc3QgPSB1c2VEbmRXaW5kb3dTY3JvbGwoKTtcblxuICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgICA8UGFnZVRyZWVEcmFnTGF5ZXIgbnVtYmVyU2VsZWN0ZWRQYWdlcz17c2VsZWN0ZWRQYWdlcy5sZW5ndGh9IC8+XG4gICAgICAgICAgICA8Um9vdD5cbiAgICAgICAgICAgICAgICA8VGFibGU+XG4gICAgICAgICAgICAgICAgICAgIDxBdXRvU2l6ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7KHsgaGVpZ2h0LCB3aWR0aCB9OiBTaXplKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQFRPRE86IGFkanVzdCBpdGVtU2l6ZSBmb3Igc21hbGxlciBzY3JlZW5zXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaXN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWY9e3JlZkxpc3R9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9e2hlaWdodH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1Db3VudD17cGFnZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9e3dpZHRofVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbVNpemU9ezUxfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnNjYW5Db3VudD17MX0gLy8gZG8gbm90IGluY3JlYXNlIHRoaXMgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IHNjcm9sbEJlaGF2aW9yOiBcInNtb290aFwiIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lckVsZW1lbnRUeXBlPXtWaXJ0dWFsTGlzdFBhZGRlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc0ZvclZpcnR1YWxMaXN0fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7KHsgaW5kZXgsIHN0eWxlIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBbcHJldlBhZ2UsIHBhZ2UsIG5leHRQYWdlXSA9IGdldExpbmtlZFBhZ2VzKHBhZ2VzLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFBhZ2VUcmVlUm93XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhZ2UuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsaXplZFN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiBgJHtwYXJzZUZsb2F0KFN0cmluZyhzdHlsZT8udG9wKSkgKyBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFfXB4YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGlkZUluPXtuZXdQYWdlSWRzLmN1cnJlbnQuaW5jbHVkZXMocGFnZS5pZCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWdlPXtwYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldlBhZ2U9e3ByZXZQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFBhZ2U9e25leHRQYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdERpYWxvZ0FwaT17ZWRpdERpYWxvZ0FwaX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvZ2dsZUV4cGFuZD17dG9nZ2xlRXhwYW5kfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25Ecm9wPXtvbkRyb3B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvblNlbGVjdENoYW5nZWQ9e29uU2VsZWN0Q2hhbmdlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZ2VUcmVlU2VydmljZT17cGFnZVRyZWVTZXJ2aWNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVib3VuY2VkU2V0SG92ZXJTdGF0ZT17ZGVib3VuY2VkU2V0SG92ZXJTdGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpdGVVcmw9e3NpdGVVcmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhZ2VzPXtzZWxlY3RlZFBhZ2VzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpc3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQXV0b1NpemVyPlxuICAgICAgICAgICAgICAgIDwvVGFibGU+XG4gICAgICAgICAgICA8L1Jvb3Q+XG4gICAgICAgIDwvPlxuICAgICk7XG59O1xuXG5jb25zdCBWSVJUVUFMX0xJU1RfUEFERElOR19TSVpFID0gMjQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5jb25zdCBWaXJ0dWFsTGlzdFBhZGRlciA9IGZvcndhcmRSZWY8YW55LCBhbnk+KCh7IHN0eWxlLCAuLi5yZXN0IH0sIHJlZikgPT4gKFxuICAgIDxkaXZcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgICAgIGhlaWdodDogYCR7cGFyc2VGbG9hdChTdHJpbmcoc3R5bGU/LmhlaWdodCkpICsgVklSVFVBTF9MSVNUX1BBRERJTkdfU0laRSAqIDJ9cHhgLFxuICAgICAgICB9fVxuICAgICAgICB7Li4ucmVzdH1cbiAgICAvPlxuKSk7XG5cbmZ1bmN0aW9uIGdldExpbmtlZFBhZ2VzKHBhZ2VzOiBQYWdlVHJlZVBhZ2VbXSwgaW5kZXg6IG51bWJlcik6IFtQYWdlVHJlZVBhZ2UgfCB1bmRlZmluZWQsIFBhZ2VUcmVlUGFnZSwgUGFnZVRyZWVQYWdlIHwgdW5kZWZpbmVkXSB7XG4gICAgY29uc3QgcHJldlBhZ2UgPSBpbmRleCA+IDAgPyBwYWdlc1tpbmRleCAtIDFdIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IG5leHRQYWdlID0gaW5kZXggKyAxIDwgcGFnZXMubGVuZ3RoID8gcGFnZXNbaW5kZXggKyAxXSA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gW3ByZXZQYWdlLCBwYWdlc1tpbmRleF0sIG5leHRQYWdlXTtcbn1cblxuY29uc3QgUGFnZVRyZWVXaXRoUmVmID0gZm9yd2FyZFJlZihQYWdlVHJlZSk7XG5cbmV4cG9ydCB7IFBhZ2VUcmVlV2l0aFJlZiBhcyBQYWdlVHJlZSwgUGFnZVRyZWVSZWZBcGkgfTtcblxuY29uc3QgUm9vdCA9IHN0eWxlZChcImRpdlwiKWBcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuY29uc3QgVGFibGUgPSBzdHlsZWQoXCJkaXZcIilgXG4gICAgZmxleDogMTtcbmA7XG4iXX0= */",
|
|
488
487
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
489
488
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCopyPastePages.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTree/useCopyPastePages.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAIpD,OAAO,EAAE,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"useCopyPastePages.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTree/useCopyPastePages.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAe,MAAM,OAAO,CAAC;AAIpD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,KAAK,WAAW,EAAiD,MAAM,uBAAuB,CAAC;AAIxG,OAAO,EAAa,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAG7D,MAAM,MAAM,aAAa,GAAG,uBAAuB,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC;AAExF,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,YAAY,CAAC;CACvB;AAUD;;;GAGG;AACH,KAAK,wBAAwB,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAC;AAEpH,UAAU,oBAAoB;IAC1B;;;OAGG;IACH,mBAAmB,EAAE,CAAC,KAAK,EAAE,uBAAuB,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAEnF;;;OAGG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D;;OAEG;IACH,gBAAgB,EAAE,MAAM,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAE1D;;;;OAIG;IACH,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExG,cAAc,EAAE,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,iBAAS,iBAAiB,IAAI,oBAAoB,CAoIjD;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -10,8 +10,8 @@ var _admin = require("@comet/admin");
|
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
var _reactIntl = require("react-intl");
|
|
12
12
|
var _CometConfigContext = require("../../config/CometConfigContext");
|
|
13
|
-
var _Provider = require("../../contentScope/Provider");
|
|
14
13
|
var _useDamScope = require("../../dam/config/useDamScope");
|
|
14
|
+
var _usePageTreeScope = require("../config/usePageTreeScope");
|
|
15
15
|
var _pageTreeConfig = require("../pageTreeConfig");
|
|
16
16
|
var _ProgressDialog = require("./useCopyPastePages/ProgressDialog");
|
|
17
17
|
var _sendPages = require("./useCopyPastePages/sendPages");
|
|
@@ -49,8 +49,7 @@ function useCopyPastePages() {
|
|
|
49
49
|
var _usePageTreeContext = (0, _usePageTreeContext2.usePageTreeContext)(),
|
|
50
50
|
currentCategory = _usePageTreeContext.currentCategory;
|
|
51
51
|
var client = (0, _client.useApolloClient)();
|
|
52
|
-
var
|
|
53
|
-
scope = _useContentScope.scope;
|
|
52
|
+
var scope = (0, _usePageTreeScope.usePageTreeScope)();
|
|
54
53
|
var damScope = (0, _useDamScope.useDamScope)();
|
|
55
54
|
var progress = (0, _ProgressDialog.useProgressDialog)({
|
|
56
55
|
title: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIntl.FormattedMessage, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageTreeConfig.d.ts","sourceRoot":"","sources":["../../src/pages/pageTreeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACvD,8BAA8B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,YAAY,CAAC;KAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"pageTreeConfig.d.ts","sourceRoot":"","sources":["../../src/pages/pageTreeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,aAAa,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;IACvD,8BAA8B,CAAC,EAAE;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,YAAY,CAAC;KAC1B,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,wBAAgB,iBAAiB,IAAI,cAAc,CAQlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageTreeSelectDialog.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTreeSelect/PageTreeSelectDialog.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"PageTreeSelectDialog.d.ts","sourceRoot":"","sources":["../../../src/pages/pageTreeSelect/PageTreeSelectDialog.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAchE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAG3E,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,eAAO,MAAM,oBAAoB,uCAOhC,CAAC;AA2BF,UAAU,mBAAmB;IACzB,KAAK,EAAE,CAAC,uBAAuB,GAAG;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAC/E,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,uBAAuB,GAAG;QAAE,KAAK,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1F,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CA4LlI"}
|