@commercetools-frontend/application-shell 21.20.1 → 21.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{application-entry-point-b7581f58.cjs.dev.js → application-entry-point-402a4638.cjs.dev.js} +2 -2
- package/dist/{application-entry-point-02e7becc.cjs.prod.js → application-entry-point-e66b5350.cjs.prod.js} +2 -2
- package/dist/{application-entry-point-00b3448b.esm.js → application-entry-point-e9361a05.esm.js} +2 -2
- package/dist/commercetools-frontend-application-shell.cjs.dev.js +4 -4
- package/dist/commercetools-frontend-application-shell.cjs.prod.js +4 -4
- package/dist/commercetools-frontend-application-shell.esm.js +4 -4
- package/dist/connected-square-4743b7de.esm.js +21 -0
- package/dist/connected-square-abf36852.cjs.prod.js +34 -0
- package/dist/connected-square-ac52014f.cjs.dev.js +34 -0
- package/dist/{constants-41338dec.cjs.dev.js → constants-22e3b93b.cjs.dev.js} +1 -1
- package/dist/{constants-0d48a7ae.esm.js → constants-84bfc123.esm.js} +1 -1
- package/dist/{constants-9ffc458b.cjs.prod.js → constants-d3b01ef6.cjs.prod.js} +1 -1
- package/dist/declarations/src/components/navbar/compiled/navbar.css.json.d.ts +1 -1
- package/dist/declarations/src/components/navbar/legacy-icons/connected-square.d.ts +2 -0
- package/dist/declarations/src/components/navbar/legacy-icons/heart.d.ts +2 -0
- package/dist/declarations/src/components/navbar/legacy-icons/paperclip.d.ts +2 -0
- package/dist/declarations/src/components/navbar/legacy-icons/plugin.d.ts +2 -0
- package/dist/declarations/src/components/navbar/legacy-icons/rocket.d.ts +2 -0
- package/dist/declarations/src/components/navbar/legacy-icons/star.d.ts +2 -0
- package/dist/declarations/src/components/navbar/legacy-icons/world.d.ts +2 -0
- package/dist/declarations/src/components/navbar/navbar.d.ts +1 -1
- package/dist/declarations/src/components/navbar/use-navbar-state-manager.d.ts +3 -2
- package/dist/declarations/src/constants.d.ts +1 -1
- package/dist/declarations/src/types/generated/proxy.d.ts +0 -1
- package/dist/heart-33cd94c6.cjs.prod.js +34 -0
- package/dist/heart-48c28091.esm.js +21 -0
- package/dist/heart-fb31cf30.cjs.dev.js +34 -0
- package/dist/{index-df03ccb2.cjs.prod.js → index-0251ffd3.cjs.prod.js} +176 -147
- package/dist/{index-207f5c81.esm.js → index-09e12565.esm.js} +173 -144
- package/dist/{index-68548adf.cjs.dev.js → index-ed6b6da0.cjs.dev.js} +177 -148
- package/dist/{oidc-a2126dac.cjs.dev.js → oidc-6c75da08.cjs.dev.js} +1 -1
- package/dist/{oidc-4c509f49.esm.js → oidc-78a9ec10.esm.js} +1 -1
- package/dist/{oidc-d13fc045.cjs.prod.js → oidc-8f79eea8.cjs.prod.js} +1 -1
- package/dist/paperclip-18785dda.esm.js +21 -0
- package/dist/paperclip-2cd45b86.cjs.dev.js +34 -0
- package/dist/paperclip-b1b806ab.cjs.prod.js +34 -0
- package/dist/plugin-53c047bb.esm.js +21 -0
- package/dist/plugin-7cb7827e.cjs.dev.js +34 -0
- package/dist/plugin-e97ae3e6.cjs.prod.js +34 -0
- package/dist/{project-expired-d023f40e.cjs.dev.js → project-expired-2359dde2.cjs.dev.js} +5 -5
- package/dist/{project-expired-ee249410.esm.js → project-expired-5ede8b0a.esm.js} +5 -5
- package/dist/{project-expired-d0249e2f.cjs.prod.js → project-expired-8db09a00.cjs.prod.js} +5 -5
- package/dist/{project-not-found-7692aaa6.cjs.prod.js → project-not-found-2906fe41.cjs.prod.js} +5 -5
- package/dist/{project-not-found-ed9156ef.esm.js → project-not-found-36c25eed.esm.js} +5 -5
- package/dist/{project-not-found-a5a71075.cjs.dev.js → project-not-found-3afe9b35.cjs.dev.js} +5 -5
- package/dist/{project-not-initialized-2a5bfaa8.cjs.dev.js → project-not-initialized-38071e98.cjs.dev.js} +5 -5
- package/dist/{project-not-initialized-60ff7512.cjs.prod.js → project-not-initialized-4146483c.cjs.prod.js} +5 -5
- package/dist/{project-not-initialized-bd37966e.esm.js → project-not-initialized-da2d0b9a.esm.js} +5 -5
- package/dist/{project-suspended-a9542758.cjs.prod.js → project-suspended-b6b70e31.cjs.prod.js} +5 -5
- package/dist/{project-suspended-decfe5cf.cjs.dev.js → project-suspended-c2570607.cjs.dev.js} +5 -5
- package/dist/{project-suspended-cdfacb79.esm.js → project-suspended-eb84e5fa.esm.js} +5 -5
- package/dist/{quick-access-5db0d976.esm.js → quick-access-48a5f8a2.esm.js} +4 -4
- package/dist/{quick-access-bce69ccc.cjs.prod.js → quick-access-74b27803.cjs.prod.js} +4 -4
- package/dist/{quick-access-4cb36c6f.cjs.dev.js → quick-access-a8da45b2.cjs.dev.js} +4 -4
- package/dist/rocket-37c1aa11.cjs.dev.js +34 -0
- package/dist/rocket-b2dbda7f.cjs.prod.js +34 -0
- package/dist/rocket-ba116b5e.esm.js +21 -0
- package/dist/{service-page-project-switcher-f5cda3e7.esm.js → service-page-project-switcher-1b62c486.esm.js} +1 -1
- package/dist/{service-page-project-switcher-99549f6d.cjs.dev.js → service-page-project-switcher-6b49b0f4.cjs.dev.js} +1 -1
- package/dist/{service-page-project-switcher-b816f019.cjs.prod.js → service-page-project-switcher-a1f4e47f.cjs.prod.js} +1 -1
- package/dist/star-ab4be629.cjs.prod.js +34 -0
- package/dist/star-da9123e0.esm.js +21 -0
- package/dist/star-e165111e.cjs.dev.js +34 -0
- package/dist/world-12528632.cjs.prod.js +34 -0
- package/dist/world-6471d9f6.cjs.dev.js +34 -0
- package/dist/world-d91df1ee.esm.js +21 -0
- package/package.json +27 -27
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.dev.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.cjs.prod.js +2 -2
- package/ssr/dist/commercetools-frontend-application-shell-ssr.esm.js +2 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.dev.js +2 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.cjs.prod.js +2 -2
- package/test-utils/dist/commercetools-frontend-application-shell-test-utils.esm.js +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { g as getMcApiUrl, l as logger, a as getActiveProjectKey, r as removeActiveProjectKey, s as setActiveProjectKey, b as getSessionScope, c as location, d as getSessionState, e as setActiveSession, f as createApolloClient, i as internalReduxStore, h as setCachedApolloClient, v as version, R as REQUESTS_IN_FLIGHT_LOADER_DOM_ID, u as useIsServedByProxy, A as ApplicationEntryPoint, j as setSessionScope, k as setSessionState, m as clearSession, n as selectProjectKeyFromUrl, o as RequestsInFlightLoader, p as RouteCatchAll } from './application-entry-point-
|
|
1
|
+
import { g as getMcApiUrl, l as logger, a as getActiveProjectKey, r as removeActiveProjectKey, s as setActiveProjectKey, b as getSessionScope, c as location, d as getSessionState, e as setActiveSession, f as createApolloClient, i as internalReduxStore, h as setCachedApolloClient, v as version, R as REQUESTS_IN_FLIGHT_LOADER_DOM_ID, u as useIsServedByProxy, A as ApplicationEntryPoint, j as setSessionScope, k as setSessionState, m as clearSession, n as selectProjectKeyFromUrl, o as RequestsInFlightLoader, p as RouteCatchAll } from './application-entry-point-e9361a05.esm.js';
|
|
2
2
|
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
3
3
|
import _styled from '@emotion/styled/base';
|
|
4
4
|
import _pt from 'prop-types';
|
|
@@ -19,10 +19,10 @@ import { css, keyframes, Global } from '@emotion/react';
|
|
|
19
19
|
import { GRAPHQL_TARGETS, MC_API_PROXY_TARGETS, SUPPORT_PORTAL_URL, LOGOUT_REASONS, NO_VALUE_FALLBACK, DOMAINS } from '@commercetools-frontend/constants';
|
|
20
20
|
import { reportErrorToSentry, SentryUserTracker, boot as boot$1 } from '@commercetools-frontend/sentry';
|
|
21
21
|
import { ApplicationContextProvider, useApplicationContext, normalizeAllAppliedPermissions, normalizeAllAppliedActionRights, normalizeAllAppliedDataFences, normalizeAllAppliedMenuVisibilities } from '@commercetools-frontend/application-shell-connectors';
|
|
22
|
-
import { PublicPageLayout, MaintenancePageLayout, PortalsContainer } from '@commercetools-frontend/application-components';
|
|
22
|
+
import { PublicPageLayout, MaintenancePageLayout, themesOverrides, PortalsContainer } from '@commercetools-frontend/application-components';
|
|
23
23
|
import { Notifier, NotificationsList } from '@commercetools-frontend/react-notifications';
|
|
24
24
|
import { AsyncLocaleData } from '@commercetools-frontend/i18n';
|
|
25
|
-
import { S as STORAGE_KEYS, O as OIDC_CLAIMS, D as DIMENSIONS, C as CONTAINERS, a as SUSPENSION_REASONS, b as OIDC_RESPONSE_TYPES } from './constants-
|
|
25
|
+
import { S as STORAGE_KEYS, O as OIDC_CLAIMS, D as DIMENSIONS, C as CONTAINERS, a as SUSPENSION_REASONS, b as OIDC_RESPONSE_TYPES } from './constants-84bfc123.esm.js';
|
|
26
26
|
import { v4 } from 'uuid';
|
|
27
27
|
import _URL from '@babel/runtime-corejs3/core-js-stable/url';
|
|
28
28
|
import _concatInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/concat';
|
|
@@ -36,7 +36,7 @@ import { Provider, useStore } from 'react-redux';
|
|
|
36
36
|
import history from '@commercetools-frontend/browser-history';
|
|
37
37
|
import { IntlProvider, defineMessages, useIntl, FormattedMessage } from 'react-intl';
|
|
38
38
|
import _startsWithInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/starts-with';
|
|
39
|
-
import { b as buildOidcScope } from './oidc-
|
|
39
|
+
import { b as buildOidcScope } from './oidc-78a9ec10.esm.js';
|
|
40
40
|
import { encode, decode } from 'qss';
|
|
41
41
|
import jwtDecode from 'jwt-decode';
|
|
42
42
|
import FailedAuthenticationSVG from '@commercetools-frontend/assets/images/locked-diamond.svg';
|
|
@@ -46,7 +46,7 @@ import Spacings from '@commercetools-uikit/spacings';
|
|
|
46
46
|
import Card from '@commercetools-uikit/card';
|
|
47
47
|
import Text from '@commercetools-uikit/text';
|
|
48
48
|
import FlatButton from '@commercetools-uikit/flat-button';
|
|
49
|
-
import { AngleLeftIcon, CaretDownIcon, ErrorIcon, WorldIcon
|
|
49
|
+
import { AngleLeftIcon, CaretDownIcon, ErrorIcon, WorldIcon as WorldIcon$1, SupportIcon, ArrowRightIcon } from '@commercetools-uikit/icons';
|
|
50
50
|
import _toConsumableArray from '@babel/runtime-corejs3/helpers/esm/toConsumableArray';
|
|
51
51
|
import _mapInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/map';
|
|
52
52
|
import _sliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/slice';
|
|
@@ -1394,7 +1394,7 @@ FetchProject.displayName = 'FetchProject';
|
|
|
1394
1394
|
function ownKeys$a(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1395
1395
|
|
|
1396
1396
|
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context3 = ownKeys$a(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context4 = ownKeys$a(Object(source))).call(_context4, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
1397
|
-
var FetchApplicationsMenu = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchApplicationsMenu" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "applicationsMenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "navBar" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "
|
|
1397
|
+
var FetchApplicationsMenu = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchApplicationsMenu" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "applicationsMenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "navBar" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "menuVisibility" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "dataFences" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "actionRights" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "submenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "menuVisibility" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "actionRights" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "dataFences" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "group" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "name" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "type" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "appBar" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }] } }] } }] } }], loc: { start: 0, end: 823, source: { body: "query FetchApplicationsMenu {\n applicationsMenu {\n navBar {\n key\n uriPath\n icon\n labelAllLocales {\n locale\n value\n }\n featureToggle\n menuVisibility\n permissions\n dataFences {\n group\n name\n type\n }\n actionRights {\n group\n name\n }\n submenu {\n key\n uriPath\n labelAllLocales {\n locale\n value\n }\n featureToggle\n menuVisibility\n permissions\n actionRights {\n group\n name\n }\n dataFences {\n group\n name\n type\n }\n }\n }\n appBar {\n key\n uriPath\n labelAllLocales {\n locale\n value\n }\n featureToggle\n permissions\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
1398
1398
|
var supportedLocales = ['en', 'de', 'es', 'fr-FR', 'zh-CN', 'ja'];
|
|
1399
1399
|
var defaultApiUrl$1 = window.location.origin;
|
|
1400
1400
|
|
|
@@ -1443,7 +1443,6 @@ var mapApplicationMenuConfigToGraqhQLQueryResult = function mapApplicationMenuCo
|
|
|
1443
1443
|
__typename: 'ApplicationsMenu',
|
|
1444
1444
|
navBar: menuLinks ? [{
|
|
1445
1445
|
__typename: 'NavbarMenu',
|
|
1446
|
-
shouldRenderDivider: false,
|
|
1447
1446
|
key: entryPointUriPath,
|
|
1448
1447
|
uriPath: entryPointUriPath,
|
|
1449
1448
|
icon: menuLinks.icon,
|
|
@@ -2342,7 +2341,7 @@ var _ref$1 = process.env.NODE_ENV === "production" ? {
|
|
|
2342
2341
|
var _SingleValue = function SingleValue(props) {
|
|
2343
2342
|
return jsxs("div", {
|
|
2344
2343
|
css: _ref$1,
|
|
2345
|
-
children: [jsx(WorldIcon, {
|
|
2344
|
+
children: [jsx(WorldIcon$1, {
|
|
2346
2345
|
size: "big"
|
|
2347
2346
|
}), jsx("span", {
|
|
2348
2347
|
css: /*#__PURE__*/css("margin-left:2px;flex:1;color:", customProperties.colorAccent, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SingleValue;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsZS1zd2l0Y2hlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0JjIiwiZmlsZSI6ImxvY2FsZS1zd2l0Y2hlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNpbmdsZVZhbHVlUHJvcHMsIFZhbHVlQ29udGFpbmVyUHJvcHMgfSBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgQWNjZXNzaWJsZUhpZGRlbiBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9hY2Nlc3NpYmxlLWhpZGRlbic7XG5pbXBvcnQgU2VsZWN0SW5wdXQgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvc2VsZWN0LWlucHV0JztcbmltcG9ydCB7IFdvcmxkSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCB7IGN1c3RvbVByb3BlcnRpZXMgfSBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9kZXNpZ24tc3lzdGVtJztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuL21lc3NhZ2VzJztcblxudHlwZSBDdXN0b21TaW5nbGVWYWx1ZVByb3BzID0gU2luZ2xlVmFsdWVQcm9wcyAmIHtcbiAgbG9jYWxlQ291bnQ6IG51bWJlcjtcbn07XG50eXBlIFByb3BzID0ge1xuICBwcm9qZWN0RGF0YUxvY2FsZTogc3RyaW5nO1xuICBzZXRQcm9qZWN0RGF0YUxvY2FsZTogKGxvY2FsZTogc3RyaW5nKSA9PiB2b2lkO1xuICBhdmFpbGFibGVMb2NhbGVzOiBzdHJpbmdbXTtcbn07XG5cbmNvbnN0IExPQ0FMRV9TV0lUQ0hFUl9MQUJFTF9JRCA9ICdsb2NhbGUtc3dpdGNoZXItbGFiZWwnO1xuXG5leHBvcnQgY29uc3QgU2luZ2xlVmFsdWUgPSAocHJvcHM6IEN1c3RvbVNpbmdsZVZhbHVlUHJvcHMpID0+IChcbiAgPGRpdlxuICAgIGNzcz17Y3NzYFxuICAgICAgZmxleDogMTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGB9XG4gID5cbiAgICA8V29ybGRJY29uIHNpemU9XCJiaWdcIiAvPlxuICAgIDxzcGFuXG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgY29sb3I6ICR7Y3VzdG9tUHJvcGVydGllcy5jb2xvckFjY2VudH07XG4gICAgICBgfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JBY2NlbnQ0MH07XG4gICAgICAgIGNvbG9yOiAke2N1c3RvbVByb3BlcnRpZXMuY29sb3JTdXJmYWNlfTtcbiAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYH1cbiAgICA+XG4gICAgICB7cHJvcHMubG9jYWxlQ291bnR9XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbik7XG5TaW5nbGVWYWx1ZS5kaXNwbGF5TmFtZSA9ICdTaW5nbGVWYWx1ZSc7XG5cbmNvbnN0IFBhdGNoZWRWYWx1ZUNvbnRhaW5lciA9IChwcm9wczogVmFsdWVDb250YWluZXJQcm9wcykgPT4gKFxuICA8U2VsZWN0SW5wdXQuVmFsdWVDb250YWluZXJcbiAgICB7Li4ucHJvcHN9XG4gICAgaW5uZXJQcm9wcz17eyBzdHlsZTogeyBkaXNwbGF5OiAnZmxleCcgfSB9fVxuICAvPlxuKTtcblBhdGNoZWRWYWx1ZUNvbnRhaW5lci5kaXNwbGF5TmFtZSA9ICdQYXRjaGVkVmFsdWVDb250YWluZXInO1xuXG5jb25zdCBMb2NhbGVTd2l0Y2hlciA9IChwcm9wczogUHJvcHMpID0+IHtcbiAgY29uc3QgeyBzZXRQcm9qZWN0RGF0YUxvY2FsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IGhhbmRsZVNlbGVjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudCkgPT4ge1xuICAgICAgc2V0UHJvamVjdERhdGFMb2NhbGUoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgICB9LFxuICAgIFtzZXRQcm9qZWN0RGF0YUxvY2FsZV1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e2Nzc2BcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogJHtjdXN0b21Qcm9wZXJ0aWVzLmNvbnN0cmFpbnQzfTtcbiAgICAgIGB9XG4gICAgICBkYXRhLXRyYWNrLWNvbXBvbmVudD1cIkxvY2FsZVN3aXRjaFwiXG4gICAgPlxuICAgICAgPEFjY2Vzc2libGVIaWRkZW4+XG4gICAgICAgIDxzcGFuIGlkPXtMT0NBTEVfU1dJVENIRVJfTEFCRUxfSUR9PlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlcy5sb2NhbGVzTGFiZWx9IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvQWNjZXNzaWJsZUhpZGRlbj5cbiAgICAgIDxTZWxlY3RJbnB1dFxuICAgICAgICB2YWx1ZT17cHJvcHMucHJvamVjdERhdGFMb2NhbGV9XG4gICAgICAgIG5hbWU9XCJsb2NhbGUtc3dpdGNoZXJcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e0xPQ0FMRV9TV0lUQ0hFUl9MQUJFTF9JRH1cbiAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVNlbGVjdGlvbn1cbiAgICAgICAgb3B0aW9ucz17cHJvcHMuYXZhaWxhYmxlTG9jYWxlcy5tYXAoKGxvY2FsZSkgPT4gKHtcbiAgICAgICAgICBsYWJlbDogbG9jYWxlLFxuICAgICAgICAgIHZhbHVlOiBsb2NhbGUsXG4gICAgICAgIH0pKX1cbiAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgIFNpbmdsZVZhbHVlOiAodmFsdWVQcm9wczogU2luZ2xlVmFsdWVQcm9wcykgPT4gKFxuICAgICAgICAgICAgPFNpbmdsZVZhbHVlXG4gICAgICAgICAgICAgIHsuLi52YWx1ZVByb3BzfVxuICAgICAgICAgICAgICBsb2NhbGVDb3VudD17cHJvcHMuYXZhaWxhYmxlTG9jYWxlcy5sZW5ndGh9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICksXG4gICAgICAgICAgVmFsdWVDb250YWluZXI6IFBhdGNoZWRWYWx1ZUNvbnRhaW5lcixcbiAgICAgICAgfX1cbiAgICAgICAgaXNDbGVhcmFibGU9e2ZhbHNlfVxuICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9e2ZhbHNlfVxuICAgICAgICBpc1NlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExvY2FsZVN3aXRjaGVyO1xuIl19 */"),
|
|
@@ -2418,19 +2417,19 @@ LocaleSwitcher.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
2418
2417
|
} : {};
|
|
2419
2418
|
|
|
2420
2419
|
var ProjectNotFound = /*#__PURE__*/lazy(function () {
|
|
2421
|
-
return import('./project-not-found-
|
|
2420
|
+
return import('./project-not-found-36c25eed.esm.js'
|
|
2422
2421
|
/* webpackChunkName: "project-not-found" */
|
|
2423
2422
|
);
|
|
2424
2423
|
});
|
|
2425
2424
|
|
|
2426
2425
|
var ProjectExpired = /*#__PURE__*/lazy(function () {
|
|
2427
|
-
return import('./project-expired-
|
|
2426
|
+
return import('./project-expired-5ede8b0a.esm.js'
|
|
2428
2427
|
/* webpackChunkName: "project-expired" */
|
|
2429
2428
|
);
|
|
2430
2429
|
});
|
|
2431
2430
|
|
|
2432
2431
|
var ProjectNotInitialized = /*#__PURE__*/lazy(function () {
|
|
2433
|
-
return import('./project-not-initialized-
|
|
2432
|
+
return import('./project-not-initialized-da2d0b9a.esm.js'
|
|
2434
2433
|
/* webpackChunkName: "project-not-initialized" */
|
|
2435
2434
|
);
|
|
2436
2435
|
});
|
|
@@ -2477,7 +2476,7 @@ var RedirectToProjectCreate = function RedirectToProjectCreate() {
|
|
|
2477
2476
|
RedirectToProjectCreate.displayName = 'RedirectToProjectCreate';
|
|
2478
2477
|
|
|
2479
2478
|
var ProjectSuspended = /*#__PURE__*/lazy(function () {
|
|
2480
|
-
return import('./project-suspended-
|
|
2479
|
+
return import('./project-suspended-eb84e5fa.esm.js'
|
|
2481
2480
|
/* webpackChunkName: "project-suspended" */
|
|
2482
2481
|
);
|
|
2483
2482
|
});
|
|
@@ -2836,8 +2835,10 @@ SetupFlopFlipProvider.displayName = 'SetupFlopFlipProvider';
|
|
|
2836
2835
|
|
|
2837
2836
|
var ThemeSwitcher = function ThemeSwitcher() {
|
|
2838
2837
|
var isNewThemeEnabled = useFeatureToggle(UI_REDESIGN);
|
|
2838
|
+
var theme = isNewThemeEnabled ? 'test' : 'default';
|
|
2839
2839
|
return jsx(ThemeProvider, {
|
|
2840
|
-
theme:
|
|
2840
|
+
theme: theme,
|
|
2841
|
+
themeOverrides: themesOverrides[theme]
|
|
2841
2842
|
});
|
|
2842
2843
|
};
|
|
2843
2844
|
|
|
@@ -2895,7 +2896,7 @@ function nonNullable(value) {
|
|
|
2895
2896
|
|
|
2896
2897
|
function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2897
2898
|
|
|
2898
|
-
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var
|
|
2899
|
+
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context7, _context8; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context7 = ownKeys$4(Object(source), !0)).call(_context7, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context8 = ownKeys$4(Object(source))).call(_context8, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2899
2900
|
var FetchProjectExtensionsNavbar = { kind: "Document", definitions: [{ kind: "OperationDefinition", operation: "query", name: { kind: "Name", value: "FetchProjectExtensionsNavbar" }, variableDefinitions: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "projectExtension" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "applications" }, arguments: [{ kind: "Argument", name: { kind: "Name", value: "where" }, value: { kind: "ObjectValue", fields: [{ kind: "ObjectField", name: { kind: "Name", value: "isActive" }, value: { kind: "BooleanValue", value: true } }] } }], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "navbarMenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "submenu" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "key" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "featureToggle" }, arguments: [], directives: [] }] } }] } }] } }, { kind: "Field", name: { kind: "Name", value: "installedApplications" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "application" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "entryPointUriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "icon" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "mainMenuLink" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }, { kind: "Field", name: { kind: "Name", value: "submenuLinks" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "id" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "uriPath" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "permissions" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "defaultLabel" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "labelAllLocales" }, arguments: [], directives: [], selectionSet: { kind: "SelectionSet", selections: [{ kind: "Field", name: { kind: "Name", value: "locale" }, arguments: [], directives: [] }, { kind: "Field", name: { kind: "Name", value: "value" }, arguments: [], directives: [] }] } }] } }] } }] } }] } }] } }], loc: { start: 0, end: 984, source: { body: "query FetchProjectExtensionsNavbar {\n projectExtension {\n id\n applications(where: { isActive: true }) {\n id\n navbarMenu {\n id\n key\n uriPath\n icon\n labelAllLocales {\n locale\n value\n }\n featureToggle\n permissions\n submenu {\n id\n key\n uriPath\n labelAllLocales {\n locale\n value\n }\n permissions\n featureToggle\n }\n }\n }\n installedApplications {\n application {\n id\n entryPointUriPath\n icon\n mainMenuLink {\n id\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n submenuLinks {\n id\n uriPath\n permissions\n defaultLabel\n labelAllLocales {\n locale\n value\n }\n }\n }\n }\n }\n}\n", name: "GraphQL request", locationOffset: { line: 1, column: 1 } } } };
|
|
2900
2901
|
|
|
2901
2902
|
var getInitialState = function getInitialState(isForcedMenuOpen) {
|
|
@@ -2945,7 +2946,7 @@ var reducer = function reducer(state, action) {
|
|
|
2945
2946
|
};
|
|
2946
2947
|
|
|
2947
2948
|
var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
2948
|
-
var _context, _context2, _context4, _context5
|
|
2949
|
+
var _context, _context2, _context4, _context5;
|
|
2949
2950
|
|
|
2950
2951
|
var navBarNode = useRef(null);
|
|
2951
2952
|
var applicationsNavBarMenu = useApplicationsMenu('navBar', {
|
|
@@ -2994,8 +2995,7 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
2994
2995
|
}),
|
|
2995
2996
|
menuVisibility: undefined,
|
|
2996
2997
|
actionRights: undefined,
|
|
2997
|
-
dataFences: undefined
|
|
2998
|
-
shouldRenderDivider: false
|
|
2998
|
+
dataFences: undefined
|
|
2999
2999
|
};
|
|
3000
3000
|
})).call(_context, nonNullable) : [];
|
|
3001
3001
|
var organizationCustomAppsMenu = projectExtensionsQuery && projectExtensionsQuery.projectExtension && projectExtensionsQuery.projectExtension.installedApplications ? _filterInstanceProperty(_context4 = _mapInstanceProperty(_context5 = projectExtensionsQuery.projectExtension.installedApplications).call(_context5, function (installedApplication) {
|
|
@@ -3017,7 +3017,6 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3017
3017
|
menuVisibility: undefined,
|
|
3018
3018
|
actionRights: undefined,
|
|
3019
3019
|
dataFences: undefined,
|
|
3020
|
-
shouldRenderDivider: false,
|
|
3021
3020
|
submenu: _mapInstanceProperty(_context6 = application.submenuLinks || []).call(_context6, function (submenuLink) {
|
|
3022
3021
|
return {
|
|
3023
3022
|
key: submenuLink.id,
|
|
@@ -3117,15 +3116,17 @@ var useNavbarStateManager = function useNavbarStateManager(props) {
|
|
|
3117
3116
|
|
|
3118
3117
|
window.localStorage.setItem(STORAGE_KEYS.IS_FORCED_MENU_OPEN, String(!state.isMenuOpen));
|
|
3119
3118
|
}, [state.activeItemIndex, state.isMenuOpen]);
|
|
3119
|
+
var allInternalApplicationsNavbarMenu = applicationsNavBarMenu || [];
|
|
3120
3120
|
|
|
3121
|
-
var
|
|
3121
|
+
var allCustomApplicationsNavbarMenu = _concatInstanceProperty(legacyCustomAppsMenu).call(legacyCustomAppsMenu, organizationCustomAppsMenu);
|
|
3122
3122
|
|
|
3123
3123
|
return _objectSpread$4(_objectSpread$4({}, state), {}, {
|
|
3124
3124
|
navBarNode: navBarNode,
|
|
3125
3125
|
handleToggleItem: handleToggleItem,
|
|
3126
3126
|
handleToggleMenu: handleToggleMenu,
|
|
3127
3127
|
shouldCloseMenuFly: shouldCloseMenuFly,
|
|
3128
|
-
|
|
3128
|
+
allInternalApplicationsNavbarMenu: allInternalApplicationsNavbarMenu,
|
|
3129
|
+
allCustomApplicationsNavbarMenu: allCustomApplicationsNavbarMenu
|
|
3129
3130
|
});
|
|
3130
3131
|
};
|
|
3131
3132
|
|
|
@@ -3153,21 +3154,20 @@ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys(object); if
|
|
|
3153
3154
|
|
|
3154
3155
|
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context11, _context12; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context11 = ownKeys$3(Object(source), !0)).call(_context11, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context12 = ownKeys$3(Object(source))).call(_context12, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3155
3156
|
var compiledStyles = {
|
|
3156
|
-
"global": ":root {\n\n /* Left navigation */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n background: var(--color-accent);\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___MjK6t {\n width: 64px;\n height:
|
|
3157
|
+
"global": ":root {\n\n /* Left navigation */\n}\n\n/* Left Nav */\n\n.navbar-mod__left-navigation___n7yUt {\n display: flex;\n flex-grow: 1;\n width: 64px;\n z-index: 19999;\n background: var(--color-accent);\n}\n\n.navbar-mod__list___RCV3J {\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n min-height: 0;\n flex: 1 1 0;\n}\n\n.body__menu-open .navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.navbar-mod__list-item___MjK6t {\n width: 64px;\n height: 56px;\n background: var(--color-accent);\n margin: 0;\n list-style: none;\n cursor: pointer;\n}\n\n.navbar-mod__item-link___X2Ina {\n color: var(--color-surface);\n padding: var(--spacing-m);\n width: 100%;\n position: relative;\n display: block;\n}\n\n.navbar-mod__item__active___lo1sr .navbar-mod__item-link___X2Ina {\n padding-right: var(--spacing-l);\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon___bLsep {\n width: 24px;\n height: 24px;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n flex: 1;\n font-weight: 500;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-nav-bar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-nav-bar-link);\n color: var(--color-surface);\n display: none;\n opacity: 0;\n transition: all 0.25s ease-in-out;\n text-align: left;\n text-decoration: none;\n}\n\n.navbar-mod__expander___jyAUi {\n border-top: 1px solid var(--color-neutral-40);\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: transparent;\n}\n\n.navbar-mod__expander___jyAUi:hover {\n background: transparent !important;\n}\n\n.navbar-mod__expand-icon___BtmRa {\n align-items: center;\n border-radius: 32px;\n cursor: pointer;\n display: flex;\n height: 24px;\n justify-content: center;\n transform: translateX(0) rotateZ(0deg);\n width: 24px;\n}\n\n.navbar-mod__item--bottom___eW7nh {\n position: absolute;\n bottom: 50px;\n}\n\n.navbar-mod__list-item___MjK6t:hover {\n background-color: var(--color-accent-30);\n}\n\n.navbar-mod__item__active___lo1sr .navbar-mod__title___eRWUj {\n opacity: 1;\n display: block;\n transition: all 0.2s ease;\n}\n\n.navbar-mod__item_menu-open___zk0zh {\n height: auto !important;\n}\n\n/* NO SUBMENU */\n\n.navbar-mod__item__no-submenu___0lmiH,\n.navbar-mod__item_menu-collapsed___cluyY {\n height: 56px !important;\n}\n\n.navbar-mod__item_menu-collapsed___cluyY .navbar-mod__item-link___X2Ina {\n text-align: center;\n}\n\n.navbar-mod__item__no-submenu___0lmiH .navbar-mod__title___eRWUj {\n border-bottom: 0;\n}\n\n.navbar-mod__item__no-submenu___0lmiH .navbar-mod__sublist___os1s7 {\n padding-top: 40px;\n}\n\n/* left-nav open */\n\n.body__menu-open .navbar-mod__title___eRWUj {\n color: var(--color-surface);\n font-weight: 500;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-nav-bar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-nav-bar-link);\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt {\n box-shadow: 6px 0 10px rgba(0, 0, 0, 0.16);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t {\n height: auto;\n min-height: 56px;\n max-height: 0;\n transition: max-height 0.15s ease-out;\n overflow: hidden;\n}\n\n.body__menu-open .navbar-mod__left-navigation___n7yUt,\n.body__menu-open .navbar-mod__list-item___MjK6t {\n width: 245px;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t .navbar-mod__title___eRWUj {\n display: block;\n opacity: 1;\n margin-left: var(--spacing-m);\n color: var(--color-surface);\n}\n\n.body__menu-open .navbar-mod__expand-icon___BtmRa {\n transform: translateX(0) rotateZ(180deg);\n}\n\n.body__menu-open .navbar-mod__item__active___lo1sr {\n max-height: 500px;\n transition: max-height 0.25s ease-in;\n}\n\n.body__menu-open .navbar-mod__sublist___os1s7 {\n position: relative;\n z-index: 1;\n left: 0;\n margin: 0 0 0 calc(\n 24px + var(--spacing-m) + 4px + 4px\n );\n padding: var(--spacing-m) 0 0;\n background-color: transparent;\n}\n\n.body__menu-open .navbar-mod__sublist___os1s7.navbar-mod__sublist-no-children___Dy-h- {\n border: 0;\n}\n\n.body__menu-open .navbar-mod__title-copy___o2y1q {\n font-weight: 400;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-nav-bar-link);\n color: white;\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.body__menu-open .navbar-mod__title-copy___o2y1q:hover {\n color: var(--color-primary-40);\n}\n\n.body__menu-open .navbar-mod__expander___jyAUi {\n min-height: 50px;\n justify-content: flex-end;\n padding: var(--spacing-m);\n}\n\n/* Second level menu */\n\n.navbar-mod__sublist___os1s7 {\n padding: 55px var(--spacing-l) var(--spacing-m);\n font-weight: 400;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-nav-bar-link);\n position: absolute;\n background-color: var(--color-accent-30);\n top: 0;\n left: 64px;\n z-index: -1;\n list-style: none;\n opacity: 0.01;\n visibility: hidden;\n}\n\n.navbar-mod__sublist__inactive___kJvf- {\n /* empty block */\n}\n\n.navbar-mod__sublist-item___gafkS {\n padding: var(--spacing-s) 0 0;\n}\n\n.navbar-mod__sublist-item___gafkS:first-of-type {\n padding: 0;\n}\n\n.navbar-mod__sublist-item___gafkS:hover {\n color: var(--color-primary-40);\n}\n\n.navbar-mod__text___ccHEu {\n font-weight: 400;\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n font-size: var(--font-size-for-nav-bar-link);\n /* stylelint-disable-next-line csstools/value-no-unknown-custom-properties */\n line-height: var(--line-height-for-nav-bar-link);\n}\n\n.navbar-mod__text-link___dhtj6 {\n color: white;\n text-decoration: none;\n transition: all 0.15s ease;\n}\n\n.navbar-mod__text-link___dhtj6:hover {\n color: var(--color-primary-40);\n}\n\n/* Item active */\n\n.navbar-mod__item__active___lo1sr {\n background: var(--color-accent-30);\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n width: calc(\n 205px + 64px -\n var(--spacing-m) * 2\n );\n justify-content: flex-start;\n}\n\n.navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n width: calc(24px + 4px * 2);\n display: flex;\n justify-content: center;\n align-self: flex-start;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__item-icon-text___a-8JY {\n justify-content: flex-start;\n display: flex;\n width: 100%;\n}\n\n.navbar-mod__fixed-menu___42tD9 .navbar-mod__list-item___MjK6t .navbar-mod__icon-container___w3FtA {\n /* empty block */\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n position: relative;\n width: auto;\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n margin-left: 40px;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY .navbar-mod__title___eRWUj {\n margin-left: var(--spacing-m);\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__item-icon-text___a-8JY {\n margin-left: 0;\n}\n\n.navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__sublist___os1s7 {\n width: 205px;\n}\n\n.body__menu-open .navbar-mod__list-item___MjK6t.navbar-mod__item__active___lo1sr .navbar-mod__sublist___os1s7 {\n width: calc(100% - calc(\n 24px + var(--spacing-m) + 4px + 4px\n ));\n}\n\n.navbar-mod__sublist-expanded__active___240JK,\n.navbar-mod__sublist-collapsed__active___-9vYh {\n opacity: 1;\n visibility: visible;\n text-align: left;\n}\n\n.navbar-mod__highlighted___oJWkA {\n color: var(--color-primary-40) !important;\n}\n\n.navbar-mod__hidden___TQLSs {\n display: none;\n}\n\n.navbar-mod__divider___TpVzu {\n border-top: 1px solid var(--color-neutral-40);\n}\n\n.navbar-mod__loading-dot-container___G2LVb {\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.navbar-mod__scrollable-menu___64pxJ {\n flex: 1 1 0;\n}\n\n.navbar-mod__fixed-menu___42tD9 {\n flex: 0 0 0;\n}\n",
|
|
3157
3158
|
"jsonMap": {
|
|
3158
3159
|
"left-navigation": "navbar-mod__left-navigation___n7yUt",
|
|
3159
3160
|
"list": "navbar-mod__list___RCV3J",
|
|
3160
3161
|
"scrollable-menu": "navbar-mod__scrollable-menu___64pxJ",
|
|
3161
3162
|
"list-item": "navbar-mod__list-item___MjK6t",
|
|
3162
3163
|
"item-link": "navbar-mod__item-link___X2Ina",
|
|
3164
|
+
"item__active": "navbar-mod__item__active___lo1sr",
|
|
3163
3165
|
"item-icon-text": "navbar-mod__item-icon-text___a-8JY",
|
|
3164
3166
|
"icon": "navbar-mod__icon___bLsep",
|
|
3165
3167
|
"title": "navbar-mod__title___eRWUj",
|
|
3166
|
-
"title-user-voice": "navbar-mod__title-user-voice___oOLj8 navbar-mod__title___eRWUj",
|
|
3167
3168
|
"expander": "navbar-mod__expander___jyAUi",
|
|
3168
3169
|
"expand-icon": "navbar-mod__expand-icon___BtmRa",
|
|
3169
3170
|
"item--bottom": "navbar-mod__item--bottom___eW7nh",
|
|
3170
|
-
"item__active": "navbar-mod__item__active___lo1sr",
|
|
3171
3171
|
"item_menu-open": "navbar-mod__item_menu-open___zk0zh",
|
|
3172
3172
|
"item__no-submenu": "navbar-mod__item__no-submenu___0lmiH",
|
|
3173
3173
|
"item_menu-collapsed": "navbar-mod__item_menu-collapsed___cluyY",
|
|
@@ -3178,19 +3178,53 @@ var compiledStyles = {
|
|
|
3178
3178
|
"sublist-item": "navbar-mod__sublist-item___gafkS",
|
|
3179
3179
|
"text": "navbar-mod__text___ccHEu",
|
|
3180
3180
|
"text-link": "navbar-mod__text-link___dhtj6",
|
|
3181
|
-
"
|
|
3181
|
+
"icon-container": "navbar-mod__icon-container___w3FtA",
|
|
3182
|
+
"fixed-menu": "navbar-mod__fixed-menu___42tD9",
|
|
3182
3183
|
"sublist-expanded__active": "navbar-mod__sublist-expanded__active___240JK",
|
|
3183
3184
|
"sublist-collapsed__active": "navbar-mod__sublist-collapsed__active___-9vYh",
|
|
3184
3185
|
"highlighted": "navbar-mod__highlighted___oJWkA",
|
|
3185
3186
|
"hidden": "navbar-mod__hidden___TQLSs",
|
|
3186
|
-
"divider
|
|
3187
|
-
"
|
|
3188
|
-
"loading-dot-container": "navbar-mod__loading-dot-container___G2LVb",
|
|
3189
|
-
"fixed-menu": "navbar-mod__fixed-menu___42tD9"
|
|
3187
|
+
"divider": "navbar-mod__divider___TpVzu",
|
|
3188
|
+
"loading-dot-container": "navbar-mod__loading-dot-container___G2LVb"
|
|
3190
3189
|
}
|
|
3191
3190
|
};
|
|
3192
3191
|
var styles$1 = compiledStyles.jsonMap;
|
|
3193
3192
|
|
|
3193
|
+
/*
|
|
3194
|
+
<DataMenu data={[]}>
|
|
3195
|
+
<MenuGroup>
|
|
3196
|
+
<MenuItem>
|
|
3197
|
+
<MenuItemLink linkTo="/foo">(icon) Products</MenuItemLink>
|
|
3198
|
+
<MenuGroup>
|
|
3199
|
+
<MenuItemLink linkTo="/foo/new">Add product</MenuItemLink>
|
|
3200
|
+
</MenuGroup>
|
|
3201
|
+
</MenuItem>
|
|
3202
|
+
</MenuGroup>
|
|
3203
|
+
<MenuExpander/>
|
|
3204
|
+
</DataMenu>
|
|
3205
|
+
*/
|
|
3206
|
+
var HeartIcon = /*#__PURE__*/lazy(function () {
|
|
3207
|
+
return import('./heart-48c28091.esm.js');
|
|
3208
|
+
});
|
|
3209
|
+
var PaperclipIcon = /*#__PURE__*/lazy(function () {
|
|
3210
|
+
return import('./paperclip-18785dda.esm.js');
|
|
3211
|
+
});
|
|
3212
|
+
var PluginIcon = /*#__PURE__*/lazy(function () {
|
|
3213
|
+
return import('./plugin-53c047bb.esm.js');
|
|
3214
|
+
});
|
|
3215
|
+
var RocketIcon = /*#__PURE__*/lazy(function () {
|
|
3216
|
+
return import('./rocket-ba116b5e.esm.js');
|
|
3217
|
+
});
|
|
3218
|
+
var StarIcon = /*#__PURE__*/lazy(function () {
|
|
3219
|
+
return import('./star-da9123e0.esm.js');
|
|
3220
|
+
});
|
|
3221
|
+
var ConnectedSquareIcon = /*#__PURE__*/lazy(function () {
|
|
3222
|
+
return import('./connected-square-4743b7de.esm.js');
|
|
3223
|
+
});
|
|
3224
|
+
var WorldIcon = /*#__PURE__*/lazy(function () {
|
|
3225
|
+
return import('./world-d91df1ee.esm.js');
|
|
3226
|
+
});
|
|
3227
|
+
|
|
3194
3228
|
// The icon is expected to be the `svg` document as a string.
|
|
3195
3229
|
// For backwards compatibility purposes, we still support the legacy "icon name",
|
|
3196
3230
|
// which we then map to one of the pre-defined icons.
|
|
@@ -3207,32 +3241,7 @@ var IconSwitcher = function IconSwitcher(_ref) {
|
|
|
3207
3241
|
|
|
3208
3242
|
|
|
3209
3243
|
switch (icon) {
|
|
3210
|
-
// Application icons
|
|
3211
|
-
case 'TreeStructureIcon':
|
|
3212
|
-
return jsx(TreeStructureIcon, _objectSpread$3({}, iconProps));
|
|
3213
|
-
|
|
3214
|
-
case 'UserFilledIcon':
|
|
3215
|
-
return jsx(UserFilledIcon, _objectSpread$3({}, iconProps));
|
|
3216
|
-
|
|
3217
|
-
case 'SpeedometerIcon':
|
|
3218
|
-
return jsx(SpeedometerIcon, _objectSpread$3({}, iconProps));
|
|
3219
|
-
|
|
3220
|
-
case 'TagMultiIcon':
|
|
3221
|
-
return jsx(TagMultiIcon, _objectSpread$3({}, iconProps));
|
|
3222
|
-
|
|
3223
|
-
case 'CartIcon':
|
|
3224
|
-
return jsx(CartIcon, _objectSpread$3({}, iconProps));
|
|
3225
|
-
|
|
3226
|
-
case 'BoxIcon':
|
|
3227
|
-
return jsx(BoxIcon, _objectSpread$3({}, iconProps));
|
|
3228
|
-
|
|
3229
|
-
case 'GearIcon':
|
|
3230
|
-
return jsx(GearIcon, _objectSpread$3({}, iconProps));
|
|
3231
|
-
|
|
3232
|
-
case 'ListWithSearchIcon':
|
|
3233
|
-
return jsx(ListWithSearchIcon, _objectSpread$3({}, iconProps));
|
|
3234
3244
|
// Custom application icons set
|
|
3235
|
-
|
|
3236
3245
|
case 'HeartIcon':
|
|
3237
3246
|
return jsx(HeartIcon, _objectSpread$3({}, iconProps));
|
|
3238
3247
|
|
|
@@ -3283,7 +3292,7 @@ var MenuExpander = function MenuExpander(props) {
|
|
|
3283
3292
|
},
|
|
3284
3293
|
className: styles$1['expand-icon'],
|
|
3285
3294
|
"data-testid": "menu-expander",
|
|
3286
|
-
children: jsx(
|
|
3295
|
+
children: jsx(ArrowRightIcon, {
|
|
3287
3296
|
color: "surface",
|
|
3288
3297
|
size: "big"
|
|
3289
3298
|
})
|
|
@@ -3389,15 +3398,11 @@ MenuItemLink.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
3389
3398
|
useFullRedirectsForLinks: _pt.bool
|
|
3390
3399
|
} : {};
|
|
3391
3400
|
MenuItemLink.displayName = 'MenuItemLink';
|
|
3392
|
-
MenuItemLink.defaultProps = menuItemLinkDefaultProps;
|
|
3393
|
-
// the settings plugin from the other ones
|
|
3401
|
+
MenuItemLink.defaultProps = menuItemLinkDefaultProps;
|
|
3394
3402
|
|
|
3395
3403
|
var MenuItemDivider = function MenuItemDivider() {
|
|
3396
3404
|
return jsx("div", {
|
|
3397
|
-
className: styles$1
|
|
3398
|
-
children: jsx("div", {
|
|
3399
|
-
className: styles$1['divider-second-item']
|
|
3400
|
-
})
|
|
3405
|
+
className: styles$1.divider
|
|
3401
3406
|
});
|
|
3402
3407
|
};
|
|
3403
3408
|
|
|
@@ -3471,9 +3476,9 @@ RestrictedMenuItem.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
3471
3476
|
} : {};
|
|
3472
3477
|
RestrictedMenuItem.displayName = 'RestrictedMenuItem';
|
|
3473
3478
|
RestrictedMenuItem.defaultProps = restrictedMenuItemDefaultProps;
|
|
3474
|
-
var getIconColor = function getIconColor(isActive
|
|
3479
|
+
var getIconColor = function getIconColor(isActive) {
|
|
3475
3480
|
if (isActive) return 'primary40';
|
|
3476
|
-
return
|
|
3481
|
+
return 'surface';
|
|
3477
3482
|
};
|
|
3478
3483
|
|
|
3479
3484
|
var getMenuVisibilitiesOfSubmenus = function getMenuVisibilitiesOfSubmenus(menu) {
|
|
@@ -3537,86 +3542,87 @@ var ApplicationMenu = function ApplicationMenu(props) {
|
|
|
3537
3542
|
!props.isMenuOpen || // 2. When there is no submenu
|
|
3538
3543
|
!hasSubmenu || // 3. When the submenu group is active/visible
|
|
3539
3544
|
props.isActive;
|
|
3540
|
-
return
|
|
3541
|
-
|
|
3542
|
-
|
|
3543
|
-
|
|
3544
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
|
|
3548
|
-
|
|
3549
|
-
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3545
|
+
return jsx(RestrictedMenuItem, {
|
|
3546
|
+
keyOfMenuItem: props.menu.key,
|
|
3547
|
+
featureToggle: (_props$menu$featureTo = props.menu.featureToggle) !== null && _props$menu$featureTo !== void 0 ? _props$menu$featureTo : undefined,
|
|
3548
|
+
permissions: props.menu.permissions,
|
|
3549
|
+
actionRights: (_props$menu$actionRig = props.menu.actionRights) !== null && _props$menu$actionRig !== void 0 ? _props$menu$actionRig : undefined,
|
|
3550
|
+
dataFences: (_props$menu$dataFence = props.menu.dataFences) !== null && _props$menu$dataFence !== void 0 ? _props$menu$dataFence : undefined,
|
|
3551
|
+
projectPermissions: props.projectPermissions,
|
|
3552
|
+
menuVisibilities: props.menuVisibilities,
|
|
3553
|
+
namesOfMenuVisibilities: namesOfMenuVisibilitiesOfAllSubmenus,
|
|
3554
|
+
children: jsxs(MenuItem, {
|
|
3555
|
+
hasSubmenu: hasSubmenu,
|
|
3556
|
+
isActive: props.isActive,
|
|
3557
|
+
isMenuOpen: props.isMenuOpen,
|
|
3558
|
+
onClick: props.handleToggleItem,
|
|
3559
|
+
onMouseEnter: props.isMenuOpen ? undefined : props.handleToggleItem,
|
|
3560
|
+
onMouseLeave: props.isMenuOpen ? undefined : props.shouldCloseMenuFly,
|
|
3561
|
+
children: [jsx(MenuItemLink, {
|
|
3562
|
+
linkTo: isMainMenuItemALink ? _concatInstanceProperty(_context6 = "/".concat(props.projectKey, "/")).call(_context6, props.menu.uriPath) : undefined,
|
|
3563
|
+
useFullRedirectsForLinks: props.useFullRedirectsForLinks,
|
|
3564
|
+
onClick: props.onMenuItemClick,
|
|
3565
|
+
children: jsxs("div", {
|
|
3566
|
+
className: styles$1['item-icon-text'],
|
|
3567
|
+
children: [jsx("div", {
|
|
3568
|
+
className: styles$1['icon-container'],
|
|
3569
|
+
children: jsx("div", {
|
|
3564
3570
|
className: styles$1.icon,
|
|
3565
3571
|
children: jsx(IconSwitcher, {
|
|
3566
3572
|
icon: props.menu.icon,
|
|
3567
3573
|
size: "scale",
|
|
3568
|
-
color: getIconColor(props.isActive || isMainMenuRouteActive
|
|
3569
|
-
})
|
|
3570
|
-
}), jsx("div", {
|
|
3571
|
-
className: styles$1.title,
|
|
3572
|
-
"aria-owns": "group-".concat(props.menu.key),
|
|
3573
|
-
children: jsx(MenuLabel, {
|
|
3574
|
-
labelAllLocales: props.menu.labelAllLocales,
|
|
3575
|
-
defaultLabel: props.menu.defaultLabel,
|
|
3576
|
-
applicationLocale: props.applicationLocale
|
|
3574
|
+
color: getIconColor(props.isActive || isMainMenuRouteActive)
|
|
3577
3575
|
})
|
|
3578
|
-
})
|
|
3579
|
-
})
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3586
|
-
|
|
3587
|
-
|
|
3588
|
-
|
|
3589
|
-
|
|
3590
|
-
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
|
|
3596
|
-
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3600
|
-
|
|
3601
|
-
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
|
|
3606
|
-
|
|
3607
|
-
|
|
3608
|
-
|
|
3609
|
-
|
|
3610
|
-
|
|
3576
|
+
})
|
|
3577
|
+
}), jsx("div", {
|
|
3578
|
+
className: styles$1.title,
|
|
3579
|
+
"aria-owns": "group-".concat(props.menu.key),
|
|
3580
|
+
children: jsx(MenuLabel, {
|
|
3581
|
+
labelAllLocales: props.menu.labelAllLocales,
|
|
3582
|
+
defaultLabel: props.menu.defaultLabel,
|
|
3583
|
+
applicationLocale: props.applicationLocale
|
|
3584
|
+
})
|
|
3585
|
+
})]
|
|
3586
|
+
})
|
|
3587
|
+
}), jsx(MenuGroup, {
|
|
3588
|
+
id: props.menu.key,
|
|
3589
|
+
level: 2,
|
|
3590
|
+
isActive: props.isActive,
|
|
3591
|
+
isExpanded: props.isMenuOpen,
|
|
3592
|
+
children: hasSubmenu ? _mapInstanceProperty(_context7 = props.menu.submenu).call(_context7, function (submenu) {
|
|
3593
|
+
var _context8, _submenu$featureToggl, _submenu$actionRights, _submenu$dataFences, _context9;
|
|
3594
|
+
|
|
3595
|
+
return jsx(RestrictedMenuItem, {
|
|
3596
|
+
keyOfMenuItem: submenu.key,
|
|
3597
|
+
featureToggle: (_submenu$featureToggl = submenu.featureToggle) !== null && _submenu$featureToggl !== void 0 ? _submenu$featureToggl : undefined,
|
|
3598
|
+
permissions: submenu.permissions,
|
|
3599
|
+
actionRights: (_submenu$actionRights = submenu.actionRights) !== null && _submenu$actionRights !== void 0 ? _submenu$actionRights : undefined,
|
|
3600
|
+
dataFences: (_submenu$dataFences = submenu.dataFences) !== null && _submenu$dataFences !== void 0 ? _submenu$dataFences : undefined,
|
|
3601
|
+
projectPermissions: props.projectPermissions,
|
|
3602
|
+
menuVisibilities: props.menuVisibilities,
|
|
3603
|
+
namesOfMenuVisibilities: submenu.menuVisibility ? [submenu.menuVisibility] : undefined,
|
|
3604
|
+
children: jsx("li", {
|
|
3605
|
+
className: styles$1['sublist-item'],
|
|
3606
|
+
children: jsx("div", {
|
|
3607
|
+
className: styles$1.text,
|
|
3608
|
+
children: jsx(MenuItemLink, {
|
|
3609
|
+
linkTo: _concatInstanceProperty(_context9 = "/".concat(props.projectKey, "/")).call(_context9, submenu.uriPath),
|
|
3610
|
+
exactMatch: true,
|
|
3611
|
+
useFullRedirectsForLinks: props.useFullRedirectsForLinks,
|
|
3612
|
+
onClick: props.onMenuItemClick,
|
|
3613
|
+
children: jsx(MenuLabel, {
|
|
3614
|
+
labelAllLocales: submenu.labelAllLocales,
|
|
3615
|
+
defaultLabel: submenu.defaultLabel,
|
|
3616
|
+
applicationLocale: props.applicationLocale
|
|
3611
3617
|
})
|
|
3612
3618
|
})
|
|
3613
3619
|
})
|
|
3614
|
-
}
|
|
3615
|
-
})
|
|
3616
|
-
})
|
|
3617
|
-
})
|
|
3618
|
-
}
|
|
3619
|
-
});
|
|
3620
|
+
})
|
|
3621
|
+
}, _concatInstanceProperty(_context8 = "".concat(props.menu.key, "-submenu-")).call(_context8, submenu.key));
|
|
3622
|
+
}) : null
|
|
3623
|
+
})]
|
|
3624
|
+
})
|
|
3625
|
+
}, props.menu.key);
|
|
3620
3626
|
};
|
|
3621
3627
|
|
|
3622
3628
|
ApplicationMenu.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
@@ -3642,7 +3648,7 @@ ApplicationMenu.displayName = 'ApplicationMenu';
|
|
|
3642
3648
|
var NavBarLayout = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
3643
3649
|
return jsxs(Fragment, {
|
|
3644
3650
|
children: [jsx(Global, {
|
|
3645
|
-
styles: /*#__PURE__*/css(compiledStyles.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa2xCbUIiLCJmaWxlIjoibmF2YmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVDb21wb25lbnRQcm9wcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25Db250ZXh0LFxuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbiAgVE5hdmJhck1lbnUsXG4gIFRCYXNlTWVudSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB0eXBlIHsgVEZsYWdWYXJpYXRpb24gfSBmcm9tICdAZmxvcGZsaXAvdHlwZXMnO1xuXG5pbXBvcnQge1xuICBmb3J3YXJkUmVmLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgUmVhY3ROb2RlLFxuICBTeW50aGV0aWNFdmVudCxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VSZWYsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm1hdHRlZE1lc3NhZ2UgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IE5hdkxpbmssIG1hdGNoUGF0aCwgdXNlTG9jYXRpb24gfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZUZsYWdWYXJpYXRpb24gfSBmcm9tICdAZmxvcGZsaXAvcmVhY3QtYnJvYWRjYXN0JztcbmltcG9ydCB7IEdsb2JhbCwgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge1xuICBCYWNrSWNvbixcbiAgVHJlZVN0cnVjdHVyZUljb24sXG4gIFVzZXJGaWxsZWRJY29uLFxuICBTcGVlZG9tZXRlckljb24sXG4gIFRhZ011bHRpSWNvbixcbiAgQ2FydEljb24sXG4gIEJveEljb24sXG4gIEdlYXJJY29uLFxuICBTdXBwb3J0SWNvbixcbiAgV29ybGRJY29uLFxuICBIZWFydEljb24sXG4gIFBhcGVyY2xpcEljb24sXG4gIFBsdWdpbkljb24sXG4gIFJvY2tldEljb24sXG4gIFN0YXJJY29uLFxuICBDb25uZWN0ZWRTcXVhcmVJY29uLFxuICBMaXN0V2l0aFNlYXJjaEljb24sXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBJbmxpbmVTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMvaW5saW5lLXN2Zyc7XG5pbXBvcnQgTWlzc2luZ0ltYWdlU3ZnIGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2Fzc2V0cy9pbWFnZXMvZGlhZ29uYWwtbGluZS5zdmcnO1xuaW1wb3J0IHtcbiAgTk9fVkFMVUVfRkFMTEJBQ0ssXG4gIFNVUFBPUlRfUE9SVEFMX1VSTCxcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWREYXRhRmVuY2VzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9hcHBsaWNhdGlvbi1zaGVsbC1jb25uZWN0b3JzJztcbmltcG9ydCB7IFJlc3RyaWN0ZWRCeVBlcm1pc3Npb25zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvcGVybWlzc2lvbnMnO1xuaW1wb3J0IHsgbG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9sb2NhdGlvbic7XG5pbXBvcnQgeyBHdG1Db250ZXh0IH0gZnJvbSAnLi4vZ3RtLWJvb3Rlcic7XG5pbXBvcnQgTG9hZGluZ1BsYWNlaG9sZGVyIGZyb20gJy4uL2xvYWRpbmctcGxhY2Vob2xkZXInO1xuaW1wb3J0IG1lc3NhZ2VzIGZyb20gJy4vbWVzc2FnZXMnO1xuaW1wb3J0IHVzZUxvYWRpbmdNZW51TGF5b3V0RWZmZWN0IGZyb20gJy4vdXNlLWxvYWRpbmctbWVudS1sYXlvdXQtZWZmZWN0JztcbmltcG9ydCB1c2VOYXZiYXJTdGF0ZU1hbmFnZXIgZnJvbSAnLi91c2UtbmF2YmFyLXN0YXRlLW1hbmFnZXInO1xuaW1wb3J0IG5vbk51bGxhYmxlIGZyb20gJy4vbm9uLW51bGxhYmxlJztcbmltcG9ydCB0cmFja2luZ0V2ZW50cyBmcm9tICcuL3RyYWNraW5nLWV2ZW50cyc7XG4vLyBodHRwczovL2JhYmVsanMuaW8vYmxvZy8yMDE3LzA5LzExL3plcm8tY29uZmlnLXdpdGgtYmFiZWwtbWFjcm9zXG5pbXBvcnQgY29tcGlsZWRTdHlsZXMgZnJvbSAvKiBwcmV2YWwgKi8gJy4vbmF2YmFyLnN0eWxlcyc7XG5cbmNvbnN0IHN0eWxlcyA9IGNvbXBpbGVkU3R5bGVzLmpzb25NYXA7XG5cbnR5cGUgVFByb2plY3RQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFROb3JtYWxpemVkUGVybWlzc2lvbnMgfCBudWxsO1xuICBhY3Rpb25SaWdodHM6IFROb3JtYWxpemVkQWN0aW9uUmlnaHRzIHwgbnVsbDtcbiAgZGF0YUZlbmNlczogVE5vcm1hbGl6ZWREYXRhRmVuY2VzIHwgbnVsbDtcbn07XG5cbi8qXG48RGF0YU1lbnUgZGF0YT17W119PlxuICA8TWVudUdyb3VwPlxuICAgIDxNZW51SXRlbT5cbiAgICAgIDxNZW51SXRlbUxpbmsgbGlua1RvPVwiL2Zvb1wiPihpY29uKSBQcm9kdWN0czwvTWVudUl0ZW1MaW5rPlxuICAgICAgPE1lbnVHcm91cD5cbiAgICAgICAgPE1lbnVJdGVtTGluayBsaW5rVG89XCIvZm9vL25ld1wiPkFkZCBwcm9kdWN0PC9NZW51SXRlbUxpbms+XG4gICAgICA8L01lbnVHcm91cD5cbiAgICA8L01lbnVJdGVtPlxuICA8L01lbnVHcm91cD5cbiAgPE1lbnVFeHBhbmRlci8+XG48L0RhdGFNZW51PlxuKi9cblxudHlwZSBJY29uUHJvcHMgPSBQYXJhbWV0ZXJzPHR5cGVvZiBCYWNrSWNvbj5bMF07XG50eXBlIEljb25Td2l0Y2hlclByb3BzID0geyBpY29uOiBzdHJpbmcgfSAmIEljb25Qcm9wcztcbi8vIFRoZSBpY29uIGlzIGV4cGVjdGVkIHRvIGJlIHRoZSBgc3ZnYCBkb2N1bWVudCBhcyBhIHN0cmluZy5cbi8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBwdXJwb3Nlcywgd2Ugc3RpbGwgc3VwcG9ydCB0aGUgbGVnYWN5IFwiaWNvbiBuYW1lXCIsXG4vLyB3aGljaCB3ZSB0aGVuIG1hcCB0byBvbmUgb2YgdGhlIHByZS1kZWZpbmVkIGljb25zLlxuLy8gRXZlbnR1YWxseSwgd2Ugd2FudCB0byBnZXQgcmlkIG9mIHRoaXMgXCJzd2l0Y2hcIiBsb2dpYy5cbmNvbnN0IEljb25Td2l0Y2hlciA9ICh7IGljb24sIC4uLmljb25Qcm9wcyB9OiBJY29uU3dpdGNoZXJQcm9wcykgPT4ge1xuICBpZiAoaWNvbi5pbmNsdWRlcygnPHN2ZycpKSB7XG4gICAgcmV0dXJuIDxJbmxpbmVTdmcgZGF0YT17aWNvbn0gey4uLmljb25Qcm9wc30gLz47XG4gIH1cbiAgLy8gQmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZm9yIGFwcHMgdXNpbmcgdGhlIFwiaWNvbiBuYW1lXCIuXG4gIHN3aXRjaCAoaWNvbikge1xuICAgIC8vIEFwcGxpY2F0aW9uIGljb25zXG4gICAgY2FzZSAnVHJlZVN0cnVjdHVyZUljb24nOlxuICAgICAgcmV0dXJuIDxUcmVlU3RydWN0dXJlSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdVc2VyRmlsbGVkSWNvbic6XG4gICAgICByZXR1cm4gPFVzZXJGaWxsZWRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1NwZWVkb21ldGVySWNvbic6XG4gICAgICByZXR1cm4gPFNwZWVkb21ldGVySWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdUYWdNdWx0aUljb24nOlxuICAgICAgcmV0dXJuIDxUYWdNdWx0aUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ2FydEljb24nOlxuICAgICAgcmV0dXJuIDxDYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdCb3hJY29uJzpcbiAgICAgIHJldHVybiA8Qm94SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdHZWFySWNvbic6XG4gICAgICByZXR1cm4gPEdlYXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0xpc3RXaXRoU2VhcmNoSWNvbic6XG4gICAgICByZXR1cm4gPExpc3RXaXRoU2VhcmNoSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICAvLyBDdXN0b20gYXBwbGljYXRpb24gaWNvbnMgc2V0XG4gICAgY2FzZSAnSGVhcnRJY29uJzpcbiAgICAgIHJldHVybiA8SGVhcnRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BhcGVyY2xpcEljb24nOlxuICAgICAgcmV0dXJuIDxQYXBlcmNsaXBJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1BsdWdpbkljb24nOlxuICAgICAgcmV0dXJuIDxQbHVnaW5JY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1JvY2tldEljb24nOlxuICAgICAgcmV0dXJuIDxSb2NrZXRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ1N0YXJJY29uJzpcbiAgICAgIHJldHVybiA8U3Rhckljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgY2FzZSAnQ29ubmVjdGVkU3F1YXJlSWNvbic6XG4gICAgICByZXR1cm4gPENvbm5lY3RlZFNxdWFyZUljb24gey4uLmljb25Qcm9wc30gLz47XG4gICAgLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG4gICAgY2FzZSAnV29ybGRJY29uJzpcbiAgICAgIHJldHVybiA8V29ybGRJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPGltZyBzcmM9e01pc3NpbmdJbWFnZVN2Z30gYWx0PVwibWlzc2luZyBpY29uXCIgLz47XG4gIH1cbn07XG5JY29uU3dpdGNoZXIuZGlzcGxheU5hbWUgPSAnSWNvblN3aXRjaGVyJztcblxudHlwZSBNZW51RXhwYW5kZXJQcm9wcyA9IHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG59O1xuY29uc3QgTWVudUV4cGFuZGVyID0gKHByb3BzOiBNZW51RXhwYW5kZXJQcm9wcykgPT4ge1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG4gIHJldHVybiAoXG4gICAgPGxpXG4gICAgICBrZXk9XCJleHBhbmRlclwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoc3R5bGVzWydsaXN0LWl0ZW0nXSwgc3R5bGVzLmV4cGFuZGVyLCB7XG4gICAgICAgIFtzdHlsZXMuaGlkZGVuXTogIXByb3BzLmlzVmlzaWJsZSxcbiAgICAgIH0pfVxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBhY3Rpb24sIGNhdGVnb3J5LCBsYWJlbCB9ID1cbiAgICAgICAgICAgIHRyYWNraW5nRXZlbnRzW1xuICAgICAgICAgICAgICBwcm9wcy5pc01lbnVPcGVuID8gJ2NvbGxhcHNlTWFpbk5hdicgOiAnZXhwYW5kTWFpbk5hdidcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgZ3RtVHJhY2tpbmcudHJhY2soYWN0aW9uLCBjYXRlZ29yeSwgbGFiZWwpO1xuICAgICAgICAgIHByb3BzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICB9fVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snZXhwYW5kLWljb24nXX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9XCJtZW51LWV4cGFuZGVyXCJcbiAgICAgID5cbiAgICAgICAgey8qXG4gICAgICAgICAgRklYTUU6IGRlZmluZSBob3ZlciBlZmZlY3QuXG4gICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2NvbW1lcmNldG9vbHMvbWVyY2hhbnQtY2VudGVyLWZyb250ZW5kL2lzc3Vlcy8yMjE2XG4gICAgICAgICovfVxuICAgICAgICA8QmFja0ljb24gY29sb3I9XCJzdXJmYWNlXCIgc2l6ZT1cImJpZ1wiIC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2xpPlxuICApO1xufTtcbk1lbnVFeHBhbmRlci5kaXNwbGF5TmFtZSA9ICdNZW51RXhwYW5kZXInO1xuXG50eXBlIE1lbnVHcm91cFByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBsZXZlbDogMSB8IDI7XG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgaXNFeHBhbmRlZD86IGJvb2xlYW47XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE1lbnVHcm91cCA9IChwcm9wczogTWVudUdyb3VwUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCA9XG4gICAgcHJvcHMubGV2ZWwgPT09IDIgJiYgcHJvcHMuaXNBY3RpdmUgJiYgcHJvcHMuaXNFeHBhbmRlZDtcbiAgY29uc3QgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmICFwcm9wcy5pc0V4cGFuZGVkO1xuICByZXR1cm4gKFxuICAgIDx1bFxuICAgICAgaWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICBkYXRhLXRlc3RpZD17YGdyb3VwLSR7cHJvcHMuaWR9YH1cbiAgICAgIHJvbGU9XCJtZW51XCJcbiAgICAgIGFyaWEtZXhwYW5kZWQ9e1xuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUV4cGFuZGVkIHx8XG4gICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkXG4gICAgICB9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgIHsgW3N0eWxlcy5saXN0XTogcHJvcHMubGV2ZWwgPT09IDEgfSxcbiAgICAgICAgeyBbc3R5bGVzLnN1Ymxpc3RdOiBwcm9wcy5sZXZlbCA9PT0gMiB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1uby1jaGlsZHJlbiddXTogcHJvcHMubGV2ZWwgPT09IDIgJiYgIXByb3BzLmNoaWxkcmVuLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgW3N0eWxlc1snc3VibGlzdC1leHBhbmRlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtY29sbGFwc2VkX19hY3RpdmUnXV06XG4gICAgICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXMuc3VibGlzdF9faW5hY3RpdmVdOiAhaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH1cbiAgICAgICl9XG4gICAgPlxuICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgIDwvdWw+XG4gICk7XG59O1xuTWVudUdyb3VwLmRpc3BsYXlOYW1lID0gJ01lbnVHcm91cCc7XG5cbnR5cGUgTWVudUl0ZW1Qcm9wcyA9IHtcbiAgaGFzU3VibWVudTogYm9vbGVhbjtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUVudGVyPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBvbk1vdXNlTGVhdmU/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59O1xuY29uc3QgTWVudUl0ZW0gPSAocHJvcHM6IE1lbnVJdGVtUHJvcHMpID0+IChcbiAgPGxpXG4gICAgcm9sZT1cIm1lbnUtaXRlbVwiXG4gICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHtcbiAgICAgIFtzdHlsZXMuaXRlbV9fYWN0aXZlXTogcHJvcHMuaXNBY3RpdmUsXG4gICAgICBbc3R5bGVzWydpdGVtX21lbnUtY29sbGFwc2VkJ11dOiAhcHJvcHMuaXNNZW51T3BlbixcbiAgICAgIFtzdHlsZXNbJ2l0ZW1fX25vLXN1Ym1lbnUnXV06ICFwcm9wcy5oYXNTdWJtZW51LFxuICAgIH0pfVxuICAgIG9uQ2xpY2s9e3Byb3BzLm9uQ2xpY2t9XG4gICAgb25Nb3VzZUVudGVyPXtwcm9wcy5vbk1vdXNlRW50ZXJ9XG4gICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5vbk1vdXNlTGVhdmV9XG4gID5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWxpbmsnXX0+e3Byb3BzLmNoaWxkcmVufTwvZGl2PlxuICA8L2xpPlxuKTtcbk1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtJztcblxudHlwZSBNZW51SXRlbUxpbmtQcm9wcyA9IHtcbiAgbGlua1RvPzogc3RyaW5nO1xuICBleGFjdE1hdGNoOiBib29sZWFuO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBvbkNsaWNrPzogPFRyYWNrRm4+KFxuICAgIGV2ZW50OiBTeW50aGV0aWNFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4sXG4gICAgdHJhY2s6IFRyYWNrRm5cbiAgKSA9PiB2b2lkO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M/OiBib29sZWFuO1xufTtcbmNvbnN0IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wczogUGljazxNZW51SXRlbUxpbmtQcm9wcywgJ2V4YWN0TWF0Y2gnPiA9IHtcbiAgZXhhY3RNYXRjaDogZmFsc2UsXG59O1xuY29uc3QgTWVudUl0ZW1MaW5rID0gKHByb3BzOiBNZW51SXRlbUxpbmtQcm9wcykgPT4ge1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG4gIGNvbnN0IHJlZGlyZWN0VG8gPSAodGFyZ2V0VXJsOiBzdHJpbmcpID0+IGxvY2F0aW9uLnJlcGxhY2UodGFyZ2V0VXJsKTtcbiAgaWYgKHByb3BzLmxpbmtUbykge1xuICAgIHJldHVybiAoXG4gICAgICA8TmF2TGlua1xuICAgICAgICB0bz17cHJvcHMubGlua1RvfVxuICAgICAgICBleGFjdD17cHJvcHMuZXhhY3RNYXRjaH1cbiAgICAgICAgYWN0aXZlQ2xhc3NOYW1lPXtzdHlsZXMuaGlnaGxpZ2h0ZWR9XG4gICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWyd0ZXh0LWxpbmsnXX1cbiAgICAgICAgb25DbGljaz17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKHByb3BzLmxpbmtUbyAmJiBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICByZWRpcmVjdFRvKHByb3BzLmxpbmtUbyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChwcm9wcy5vbkNsaWNrKSB7XG4gICAgICAgICAgICBldmVudC5wZXJzaXN0KCk7XG4gICAgICAgICAgICBwcm9wcy5vbkNsaWNrPHR5cGVvZiBndG1UcmFja2luZy50cmFjaz4oZXZlbnQsIGd0bVRyYWNraW5nLnRyYWNrKTtcbiAgICAgICAgICB9XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvTmF2TGluaz5cbiAgICApO1xuICB9XG4gIHJldHVybiA8Pntwcm9wcy5jaGlsZHJlbn08Lz47XG59O1xuTWVudUl0ZW1MaW5rLmRpc3BsYXlOYW1lID0gJ01lbnVJdGVtTGluayc7XG5NZW51SXRlbUxpbmsuZGVmYXVsdFByb3BzID0gbWVudUl0ZW1MaW5rRGVmYXVsdFByb3BzO1xuXG4vLyBUaGlzIGNvbXBvbmVudCBqdXN0IHJlbmRlciB0d28gZGl2cyB3aXRoIGJvcmRlcnMgaW4gb3JkZXIgdG8gZGlmZmVyZW50aWF0ZVxuLy8gdGhlIHNldHRpbmdzIHBsdWdpbiBmcm9tIHRoZSBvdGhlciBvbmVzXG5jb25zdCBNZW51SXRlbURpdmlkZXIgPSAoKSA9PiAoXG4gIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2RpdmlkZXItZmlyc3QtaXRlbSddfT5cbiAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydkaXZpZGVyLXNlY29uZC1pdGVtJ119IC8+XG4gIDwvZGl2PlxuKTtcbk1lbnVJdGVtRGl2aWRlci5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbURpdmlkZXInO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG5leHBvcnQgY29uc3QgZ2V0SWNvbkNvbG9yID0gKFxuICBpc0FjdGl2ZTogYm9vbGVhbixcbiAgaXNBbHRlcm5hdGl2ZVRoZW1lOiBib29sZWFuXG4pID0+IHtcbiAgaWYgKGlzQWN0aXZlKSByZXR1cm4gJ3ByaW1hcnk0MCc7XG4gIHJldHVybiBpc0FsdGVybmF0aXZlVGhlbWUgPyAnbmV1dHJhbDYwJyA6ICdzdXJmYWNlJztcbn07XG5cbmNvbnN0IGdldE1lbnVWaXNpYmlsaXRpZXNPZlN1Ym1lbnVzID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51LnN1Ym1lbnUubWFwKChzdWJtZW51KSA9PiBzdWJtZW51Lm1lbnVWaXNpYmlsaXR5KS5maWx0ZXIobm9uTnVsbGFibGUpO1xuY29uc3QgZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51ID0gKG1lbnU6IFROYXZiYXJNZW51KSA9PlxuICBtZW51Lm1lbnVWaXNpYmlsaXR5ID8gW21lbnUubWVudVZpc2liaWxpdHldIDogW107XG5cbnR5cGUgTWVudUxhYmVsUHJvcHMgPSB7XG4gIGxhYmVsQWxsTG9jYWxlczogVExvY2FsaXplZEZpZWxkW107XG4gIGRlZmF1bHRMYWJlbD86IHN0cmluZztcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbn07XG5jb25zdCBNZW51TGFiZWwgPSAocHJvcHM6IE1lbnVMYWJlbFByb3BzKSA9PiB7XG4gIGNvbnN0IGxvY2FsaXplZExhYmVsID0gcHJvcHMubGFiZWxBbGxMb2NhbGVzLmZpbmQoKGxvYykgPT5cbiAgICBwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZS5zdGFydHNXaXRoKGxvYy5sb2NhbGUpXG4gICk7XG4gIGlmIChsb2NhbGl6ZWRMYWJlbCkgcmV0dXJuIDw+e2xvY2FsaXplZExhYmVsLnZhbHVlfTwvPjtcbiAgaWYgKHByb3BzLmRlZmF1bHRMYWJlbCkgcmV0dXJuIDw+e3Byb3BzLmRlZmF1bHRMYWJlbH08Lz47XG4gIHJldHVybiA8PntOT19WQUxVRV9GQUxMQkFDS308Lz47XG59O1xuXG50eXBlIFRNZW51V2l0aERlZmF1bHRMYWJlbCA9IFROYXZiYXJNZW51ICYge1xuICAvLyBkZXJpdmVzIGZyb20gYHByb2plY3RFeHRlbnNpb25zUXVlcnkuaW5zdGFsbGVkQXBwbGljYXRpb25zLmFwcGxpY2F0aW9uLm1haW5NZW51TGlua2BcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xufTtcbnR5cGUgVFN1Ym1lbnVXaXRoRGVmYXVsdExhYmVsID0gVEJhc2VNZW51ICYge1xuICAvLyBkZXJpdmVzIGZyb20gYHByb2plY3RFeHRlbnNpb25zUXVlcnkuaW5zdGFsbGVkQXBwbGljYXRpb25zLmFwcGxpY2F0aW9uLm1haW5NZW51TGlua2BcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xufTtcblxudHlwZSBBcHBsaWNhdGlvbk1lbnVQcm9wcyA9IHtcbiAgbG9jYXRpb246IFJvdXRlQ29tcG9uZW50UHJvcHNbJ2xvY2F0aW9uJ107XG4gIG1lbnU6IFRNZW51V2l0aERlZmF1bHRMYWJlbDtcbiAgaXNBY3RpdmU6IGJvb2xlYW47XG4gIGlzTWVudU9wZW46IGJvb2xlYW47XG4gIHNob3VsZENsb3NlTWVudUZseTogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnM7XG4gIG1lbnVWaXNpYmlsaXRpZXM6IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGw7XG4gIGhhbmRsZVRvZ2dsZUl0ZW06ICgpID0+IHZvaWQ7XG4gIGFwcGxpY2F0aW9uTG9jYWxlOiBzdHJpbmc7XG4gIHByb2plY3RLZXk6IHN0cmluZztcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzOiBib29sZWFuO1xuICBvbk1lbnVJdGVtQ2xpY2s/OiBNZW51SXRlbUxpbmtQcm9wc1snb25DbGljayddO1xufTtcbmNvbnN0IEFwcGxpY2F0aW9uTWVudSA9IChwcm9wczogQXBwbGljYXRpb25NZW51UHJvcHMpID0+IHtcbiAgY29uc3QgaXNNYWluTWVudVJvdXRlQWN0aXZlID0gQm9vbGVhbihcbiAgICBtYXRjaFBhdGgocHJvcHMubG9jYXRpb24ucGF0aG5hbWUsIHtcbiAgICAgIHBhdGg6IGAvJHtwcm9wcy5wcm9qZWN0S2V5fS8ke3Byb3BzLm1lbnUudXJpUGF0aH1gLFxuICAgICAgZXhhY3Q6IGZhbHNlLFxuICAgICAgc3RyaWN0OiBmYWxzZSxcbiAgICB9KVxuICApO1xuICBjb25zdCBoYXNTdWJtZW51ID1cbiAgICBBcnJheS5pc0FycmF5KHByb3BzLm1lbnUuc3VibWVudSkgJiYgcHJvcHMubWVudS5zdWJtZW51Lmxlbmd0aCA+IDA7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBPbiBmaXJzdCByZW5kZXIsIGNoZWNrIHdoaWNoIG1lbnUgaXMgYWN0aXZlIGZvciB0aGUgY3VycmVudCBhcHBsaWNhdGlvbiBhbmQgZXhwYW5kXG4gICAgLy8gdGhlIHN1Ym1lbnUgYXV0b21hdGljYWxseSB1bmxlc3MgdGhlIGFsbCBuYXZiYXIgaXMgY29sbGFwc2VkIG9yIHRoZXJlIGFyZSBubyBzdWJtZW51IGxpbmtzLlxuICAgIGlmIChwcm9wcy5pc01lbnVPcGVuICYmIGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSAmJiBoYXNTdWJtZW51KSB7XG4gICAgICBwcm9wcy5oYW5kbGVUb2dnbGVJdGVtKCk7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3Byb3BzLmlzTWVudU9wZW5dKTsgLy8gPC0tIChyZSlydW4gdGhpcyBvbmx5IHdoZW4gdGhlIGFsbCBtZW51IGV4cGFuZHNcblxuICBjb25zdCBuYW1lc09mTWVudVZpc2liaWxpdGllc09mQWxsU3VibWVudXMgPSBoYXNTdWJtZW51XG4gICAgPyBnZXRNZW51VmlzaWJpbGl0aWVzT2ZTdWJtZW51cyhwcm9wcy5tZW51KVxuICAgIDogZ2V0TWVudVZpc2liaWxpdHlPZk1haW5tZW51KHByb3BzLm1lbnUpO1xuXG4gIGNvbnN0IGlzTWFpbk1lbnVJdGVtQUxpbmsgPVxuICAgIC8vIDEuIFdoZW4gdGhlIG5hdmJhciBpcyBjb2xsYXBzZWRcbiAgICAhcHJvcHMuaXNNZW51T3BlbiB8fFxuICAgIC8vIDIuIFdoZW4gdGhlcmUgaXMgbm8gc3VibWVudVxuICAgICFoYXNTdWJtZW51IHx8XG4gICAgLy8gMy4gV2hlbiB0aGUgc3VibWVudSBncm91cCBpcyBhY3RpdmUvdmlzaWJsZVxuICAgIHByb3BzLmlzQWN0aXZlO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtwcm9wcy5tZW51LnNob3VsZFJlbmRlckRpdmlkZXIgJiYgPE1lbnVJdGVtRGl2aWRlciAvPn1cblxuICAgICAgPFJlc3RyaWN0ZWRNZW51SXRlbVxuICAgICAgICBrZXk9e3Byb3BzLm1lbnUua2V5fVxuICAgICAgICBrZXlPZk1lbnVJdGVtPXtwcm9wcy5tZW51LmtleX1cbiAgICAgICAgZmVhdHVyZVRvZ2dsZT17cHJvcHMubWVudS5mZWF0dXJlVG9nZ2xlID8/IHVuZGVmaW5lZH1cbiAgICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLm1lbnUucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMubWVudS5hY3Rpb25SaWdodHMgPz8gdW5kZWZpbmVkfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5tZW51LmRhdGFGZW5jZXMgPz8gdW5kZWZpbmVkfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgbWVudVZpc2liaWxpdGllcz17cHJvcHMubWVudVZpc2liaWxpdGllc31cbiAgICAgICAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXM9e25hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51c31cbiAgICAgID5cbiAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgaGFzU3VibWVudT17aGFzU3VibWVudX1cbiAgICAgICAgICBpc0FjdGl2ZT17cHJvcHMuaXNBY3RpdmV9XG4gICAgICAgICAgaXNNZW51T3Blbj17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5oYW5kbGVUb2dnbGVJdGVtfVxuICAgICAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMuaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXtwcm9wcy5pc01lbnVPcGVuID8gdW5kZWZpbmVkIDogcHJvcHMuc2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICA+XG4gICAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgICAgbGlua1RvPXtcbiAgICAgICAgICAgICAgaXNNYWluTWVudUl0ZW1BTGlua1xuICAgICAgICAgICAgICAgID8gYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWBcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMuaWNvbn0+XG4gICAgICAgICAgICAgICAgPEljb25Td2l0Y2hlclxuICAgICAgICAgICAgICAgICAgaWNvbj17cHJvcHMubWVudS5pY29ufVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtnZXRJY29uQ29sb3IoXG4gICAgICAgICAgICAgICAgICAgIHByb3BzLmlzQWN0aXZlIHx8IGlzTWFpbk1lbnVSb3V0ZUFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgQm9vbGVhbihwcm9wcy5tZW51LnNob3VsZFJlbmRlckRpdmlkZXIpXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9XG4gICAgICAgICAgICAgICAgYXJpYS1vd25zPXtgZ3JvdXAtJHtwcm9wcy5tZW51LmtleX1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPE1lbnVMYWJlbFxuICAgICAgICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5tZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17cHJvcHMubWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L01lbnVJdGVtTGluaz5cbiAgICAgICAgICA8TWVudUdyb3VwXG4gICAgICAgICAgICBpZD17cHJvcHMubWVudS5rZXl9XG4gICAgICAgICAgICBsZXZlbD17Mn1cbiAgICAgICAgICAgIGlzQWN0aXZlPXtwcm9wcy5pc0FjdGl2ZX1cbiAgICAgICAgICAgIGlzRXhwYW5kZWQ9e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2hhc1N1Ym1lbnVcbiAgICAgICAgICAgICAgPyBwcm9wcy5tZW51LnN1Ym1lbnUubWFwKChzdWJtZW51OiBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwpID0+IChcbiAgICAgICAgICAgICAgICAgIDxSZXN0cmljdGVkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgICAga2V5PXtgJHtwcm9wcy5tZW51LmtleX0tc3VibWVudS0ke3N1Ym1lbnUua2V5fWB9XG4gICAgICAgICAgICAgICAgICAgIGtleU9mTWVudUl0ZW09e3N1Ym1lbnUua2V5fVxuICAgICAgICAgICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXtzdWJtZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzaW9ucz17c3VibWVudS5wZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uUmlnaHRzPXtzdWJtZW51LmFjdGlvblJpZ2h0cyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFGZW5jZXM9e3N1Ym1lbnUuZGF0YUZlbmNlcyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvcHMucHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXtwcm9wcy5tZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17XG4gICAgICAgICAgICAgICAgICAgICAgc3VibWVudS5tZW51VmlzaWJpbGl0eVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBbc3VibWVudS5tZW51VmlzaWJpbGl0eV1cbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17c3R5bGVzWydzdWJsaXN0LWl0ZW0nXX0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy50ZXh0fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51SXRlbUxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtzdWJtZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZXhhY3RNYXRjaD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNZW51TGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbEFsbExvY2FsZXM9e3N1Ym1lbnUubGFiZWxBbGxMb2NhbGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17c3VibWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9NZW51SXRlbUxpbms+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICA6IG51bGx9XG4gICAgICAgICAgPC9NZW51R3JvdXA+XG4gICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICA8Lz5cbiAgKTtcbn07XG5BcHBsaWNhdGlvbk1lbnUuZGlzcGxheU5hbWUgPSAnQXBwbGljYXRpb25NZW51JztcblxudHlwZSBOYXZCYXJMYXlvdXRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBOYXZCYXJMYXlvdXQgPSBmb3J3YXJkUmVmPEhUTUxFbGVtZW50LCBOYXZCYXJMYXlvdXRQcm9wcz4oXG4gIChwcm9wcywgcmVmKSA9PiAoXG4gICAgPD5cbiAgICAgIDxHbG9iYWxcbiAgICAgICAgc3R5bGVzPXtjc3NgXG4gICAgICAgICAgJHtjb21waWxlZFN0eWxlcy5nbG9iYWx9XG4gICAgICAgIGB9XG4gICAgICAvPlxuICAgICAgPG5hdlxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xlZnQtbmF2aWdhdGlvbiddfVxuICAgICAgICBkYXRhLXRlc3Q9XCJsZWZ0LW5hdmlnYXRpb25cIlxuICAgICAgICBkYXRhLXRlc3RpZD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdHJhY2stY29tcG9uZW50PVwiTmF2aWdhdGlvblwiXG4gICAgICA+XG4gICAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvbmF2PlxuICAgIDwvPlxuICApXG4pO1xuTmF2QmFyTGF5b3V0LmRpc3BsYXlOYW1lID0gJ05hdkJhckxheW91dCc7XG5cbnR5cGUgTmF2YmFyUHJvcHM8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PiA9IHtcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogVEFwcGxpY2F0aW9uQ29udGV4dDxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlsnZW52aXJvbm1lbnQnXTtcbiAgcHJvamVjdDogVEZldGNoUHJvamVjdFF1ZXJ5Wydwcm9qZWN0J107XG4gIG9uTWVudUl0ZW1DbGljaz86IE1lbnVJdGVtTGlua1Byb3BzWydvbkNsaWNrJ107XG59O1xuY29uc3QgTmF2QmFyID0gPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXMgZXh0ZW5kcyB7fT4oXG4gIHByb3BzOiBOYXZiYXJQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzPlxuKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYXZCYXJOb2RlLFxuICAgIGlzTWVudU9wZW4sXG4gICAgaXNFeHBhbmRlclZpc2libGUsXG4gICAgYWN0aXZlSXRlbUluZGV4LFxuICAgIGhhbmRsZVRvZ2dsZUl0ZW0sXG4gICAgaGFuZGxlVG9nZ2xlTWVudSxcbiAgICBzaG91bGRDbG9zZU1lbnVGbHksXG4gICAgYWxsQXBwbGljYXRpb25OYXZiYXJNZW51LFxuICB9ID0gdXNlTmF2YmFyU3RhdGVNYW5hZ2VyKHtcbiAgICBlbnZpcm9ubWVudDogcHJvcHMuZW52aXJvbm1lbnQsXG4gIH0pO1xuICBjb25zdCB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3MgPSBCb29sZWFuKFxuICAgIHByb3BzLmVudmlyb25tZW50LnVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc1xuICApO1xuICBjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKCk7XG4gIGNvbnN0IGd0bVRyYWNraW5nID0gdXNlQ29udGV4dChHdG1Db250ZXh0KTtcblxuICBjb25zdCBwcm9qZWN0UGVybWlzc2lvbnM6IFRQcm9qZWN0UGVybWlzc2lvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwZXJtaXNzaW9uczogbm9ybWFsaXplQWxsQXBwbGllZFBlcm1pc3Npb25zKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkUGVybWlzc2lvbnNcbiAgICAgICksXG4gICAgICBhY3Rpb25SaWdodHM6IG5vcm1hbGl6ZUFsbEFwcGxpZWRBY3Rpb25SaWdodHMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWRBY3Rpb25SaWdodHNcbiAgICAgICksXG4gICAgICBkYXRhRmVuY2VzOiBub3JtYWxpemVBbGxBcHBsaWVkRGF0YUZlbmNlcyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZERhdGFGZW5jZXNcbiAgICAgICksXG4gICAgfSksXG4gICAgW3Byb3BzLnByb2plY3RdXG4gICk7XG4gIGNvbnN0IG1lbnVWaXNpYmlsaXRpZXMgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBub3JtYWxpemVBbGxBcHBsaWVkTWVudVZpc2liaWxpdGllcyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnNcbiAgICAgICAgICAuYWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXNcbiAgICAgICksXG4gICAgW3Byb3BzLnByb2plY3RdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8TmF2QmFyTGF5b3V0IHJlZj17bmF2QmFyTm9kZX0+XG4gICAgICA8TWVudUdyb3VwIGlkPVwibWFpblwiIGxldmVsPXsxfT5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snc2Nyb2xsYWJsZS1tZW51J119PlxuICAgICAgICAgIHthbGxBcHBsaWNhdGlvbk5hdmJhck1lbnUubWFwKChtZW51KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZW51VHlwZSA9ICdzY3JvbGxhYmxlJztcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1JbmRleCA9IGAke21lbnVUeXBlfS0ke21lbnUua2V5fWA7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8QXBwbGljYXRpb25NZW51XG4gICAgICAgICAgICAgICAga2V5PXttZW51LmtleX1cbiAgICAgICAgICAgICAgICBsb2NhdGlvbj17bG9jYXRpb259XG4gICAgICAgICAgICAgICAgbWVudT17bWVudX1cbiAgICAgICAgICAgICAgICBpc0FjdGl2ZT17YWN0aXZlSXRlbUluZGV4ID09PSBpdGVtSW5kZXh9XG4gICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbT17KCkgPT4gaGFuZGxlVG9nZ2xlSXRlbShpdGVtSW5kZXgpfVxuICAgICAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICAgICAgc2hvdWxkQ2xvc2VNZW51Rmx5PXtzaG91bGRDbG9zZU1lbnVGbHl9XG4gICAgICAgICAgICAgICAgcHJvamVjdFBlcm1pc3Npb25zPXtwcm9qZWN0UGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgbWVudVZpc2liaWxpdGllcz17bWVudVZpc2liaWxpdGllc31cbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkxvY2FsZT17cHJvcHMuYXBwbGljYXRpb25Mb2NhbGV9XG4gICAgICAgICAgICAgICAgcHJvamVjdEtleT17cHJvcHMucHJvamVjdEtleX1cbiAgICAgICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e3VzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rc31cbiAgICAgICAgICAgICAgICBvbk1lbnVJdGVtQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydmaXhlZC1tZW51J119PlxuICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgaGFzU3VibWVudT17ZmFsc2V9XG4gICAgICAgICAgICBpc0FjdGl2ZT17ZmFsc2V9XG4gICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBndG1UcmFja2luZy50cmFjayhcbiAgICAgICAgICAgICAgICB0cmFja2luZ0V2ZW50cy5nb1RvU3VwcG9ydC5hY3Rpb24sXG4gICAgICAgICAgICAgICAgdHJhY2tpbmdFdmVudHMuZ29Ub1N1cHBvcnQuY2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgdHJhY2tpbmdFdmVudHMuZ29Ub1N1cHBvcnQubGFiZWxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlSXRlbSgnZml4ZWQtc3VwcG9ydCcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VFbnRlcj17XG4gICAgICAgICAgICAgIGlzTWVudU9wZW4gPyB1bmRlZmluZWQgOiAoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17aXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHNob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICBocmVmPXtTVVBQT1JUX1BPUlRBTF9VUkx9XG4gICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpdGVtLWljb24tdGV4dCddfT5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLmljb259PlxuICAgICAgICAgICAgICAgICAgPFN1cHBvcnRJY29uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzY2FsZVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPXtnZXRJY29uQ29sb3IoXG4gICAgICAgICAgICAgICAgICAgICAgYWN0aXZlSXRlbUluZGV4ID09PSAnZml4ZWQtc3VwcG9ydCcsXG4gICAgICAgICAgICAgICAgICAgICAgdHJ1ZVxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfT5cbiAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIHsuLi5tZXNzYWdlc1snTmF2QmFyLk1DU3VwcG9ydC50aXRsZSddfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgIDxNZW51RXhwYW5kZXJcbiAgICAgICAgICAgIGlzVmlzaWJsZT17aXNFeHBhbmRlclZpc2libGV9XG4gICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVUb2dnbGVNZW51fVxuICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvTWVudUdyb3VwPlxuICAgIDwvTmF2QmFyTGF5b3V0PlxuICApO1xufTtcbk5hdkJhci5kaXNwbGF5TmFtZSA9ICdOYXZCYXInO1xuXG5leHBvcnQgZGVmYXVsdCBOYXZCYXI7XG5cbmV4cG9ydCBjb25zdCBMb2FkaW5nTmF2QmFyID0gKCkgPT4ge1xuICBjb25zdCByZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICB1c2VMb2FkaW5nTWVudUxheW91dEVmZmVjdCgpO1xuICByZXR1cm4gKFxuICAgIDxOYXZCYXJMYXlvdXQgcmVmPXtyZWZ9PlxuICAgICAgPE1lbnVHcm91cCBpZD1cIm1haW5cIiBsZXZlbD17MX0+XG4gICAgICAgIDw+XG4gICAgICAgICAge0FycmF5LmZyb20obmV3IEFycmF5KDUpKS5tYXAoKF8sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgaGFzU3VibWVudT17ZmFsc2V9XG4gICAgICAgICAgICAgIGlzTWVudU9wZW49e2ZhbHNlfVxuICAgICAgICAgICAgICBpc0FjdGl2ZT17ZmFsc2V9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHVuZGVmaW5lZH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17c3R5bGVzWydsb2FkaW5nLWRvdC1jb250YWluZXInXX1cbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD17YGRvdC1jb250YWluZXItJHtpbmRleH1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPExvYWRpbmdQbGFjZWhvbGRlciBzaGFwZT1cImRvdFwiIHNpemU9XCJtXCIgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L01lbnVJdGVtPlxuICAgICAgICAgICkpfVxuICAgICAgICA8Lz5cbiAgICAgIDwvTWVudUdyb3VwPlxuICAgIDwvTmF2QmFyTGF5b3V0PlxuICApO1xufTtcbkxvYWRpbmdOYXZCYXIuZGlzcGxheU5hbWUgPSAnTG9hZGluZ05hdkJhcic7XG4iXX0= */")
|
|
3651
|
+
styles: /*#__PURE__*/css(compiledStyles.global, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:NavBarLayout;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5hdmJhci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNGlCbUIiLCJmaWxlIjoibmF2YmFyLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVDb21wb25lbnRQcm9wcyB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHR5cGUge1xuICBUQXBwbGljYXRpb25Db250ZXh0LFxuICBUTm9ybWFsaXplZE1lbnVWaXNpYmlsaXRpZXMsXG4gIFROb3JtYWxpemVkUGVybWlzc2lvbnMsXG4gIFROb3JtYWxpemVkQWN0aW9uUmlnaHRzLFxuICBUTm9ybWFsaXplZERhdGFGZW5jZXMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHR5cGUgeyBURmV0Y2hQcm9qZWN0UXVlcnkgfSBmcm9tICcuLi8uLi90eXBlcy9nZW5lcmF0ZWQvbWMnO1xuaW1wb3J0IHR5cGUge1xuICBURGF0YUZlbmNlLFxuICBUQWN0aW9uUmlnaHQsXG4gIFRMb2NhbGl6ZWRGaWVsZCxcbiAgVE5hdmJhck1lbnUsXG4gIFRCYXNlTWVudSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMvZ2VuZXJhdGVkL3Byb3h5JztcbmltcG9ydCB0eXBlIHsgVEZsYWdWYXJpYXRpb24gfSBmcm9tICdAZmxvcGZsaXAvdHlwZXMnO1xuaW1wb3J0IHtcbiAgZm9yd2FyZFJlZixcbiAgbGF6eSxcbiAgTW91c2VFdmVudEhhbmRsZXIsXG4gIFJlYWN0Tm9kZSxcbiAgU3ludGhldGljRXZlbnQsXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBGb3JtYXR0ZWRNZXNzYWdlIH0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgeyBOYXZMaW5rLCBtYXRjaFBhdGgsIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyB1c2VGbGFnVmFyaWF0aW9uIH0gZnJvbSAnQGZsb3BmbGlwL3JlYWN0LWJyb2FkY2FzdCc7XG5pbXBvcnQgeyBHbG9iYWwsIGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtcbiAgQXJyb3dSaWdodEljb24sXG4gIEJhY2tJY29uLFxuICBTdXBwb3J0SWNvbixcbn0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvaWNvbnMnO1xuaW1wb3J0IElubGluZVN2ZyBmcm9tICdAY29tbWVyY2V0b29scy11aWtpdC9pY29ucy9pbmxpbmUtc3ZnJztcbmltcG9ydCBNaXNzaW5nSW1hZ2VTdmcgZnJvbSAnQGNvbW1lcmNldG9vbHMtZnJvbnRlbmQvYXNzZXRzL2ltYWdlcy9kaWFnb25hbC1saW5lLnN2Zyc7XG5pbXBvcnQge1xuICBOT19WQUxVRV9GQUxMQkFDSyxcbiAgU1VQUE9SVF9QT1JUQUxfVVJMLFxufSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9jb25zdGFudHMnO1xuaW1wb3J0IHtcbiAgbm9ybWFsaXplQWxsQXBwbGllZEFjdGlvblJpZ2h0cyxcbiAgbm9ybWFsaXplQWxsQXBwbGllZERhdGFGZW5jZXMsXG4gIG5vcm1hbGl6ZUFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzLFxuICBub3JtYWxpemVBbGxBcHBsaWVkUGVybWlzc2lvbnMsXG59IGZyb20gJ0Bjb21tZXJjZXRvb2xzLWZyb250ZW5kL2FwcGxpY2F0aW9uLXNoZWxsLWNvbm5lY3RvcnMnO1xuaW1wb3J0IHsgUmVzdHJpY3RlZEJ5UGVybWlzc2lvbnMgfSBmcm9tICdAY29tbWVyY2V0b29scy1mcm9udGVuZC9wZXJtaXNzaW9ucyc7XG5pbXBvcnQgeyBsb2NhdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2F0aW9uJztcbmltcG9ydCB7IEd0bUNvbnRleHQgfSBmcm9tICcuLi9ndG0tYm9vdGVyJztcbmltcG9ydCBMb2FkaW5nUGxhY2Vob2xkZXIgZnJvbSAnLi4vbG9hZGluZy1wbGFjZWhvbGRlcic7XG5pbXBvcnQgbWVzc2FnZXMgZnJvbSAnLi9tZXNzYWdlcyc7XG5pbXBvcnQgdXNlTG9hZGluZ01lbnVMYXlvdXRFZmZlY3QgZnJvbSAnLi91c2UtbG9hZGluZy1tZW51LWxheW91dC1lZmZlY3QnO1xuaW1wb3J0IHVzZU5hdmJhclN0YXRlTWFuYWdlciBmcm9tICcuL3VzZS1uYXZiYXItc3RhdGUtbWFuYWdlcic7XG5pbXBvcnQgbm9uTnVsbGFibGUgZnJvbSAnLi9ub24tbnVsbGFibGUnO1xuaW1wb3J0IHRyYWNraW5nRXZlbnRzIGZyb20gJy4vdHJhY2tpbmctZXZlbnRzJztcbi8vIGh0dHBzOi8vYmFiZWxqcy5pby9ibG9nLzIwMTcvMDkvMTEvemVyby1jb25maWctd2l0aC1iYWJlbC1tYWNyb3NcbmltcG9ydCBjb21waWxlZFN0eWxlcyBmcm9tIC8qIHByZXZhbCAqLyAnLi9uYXZiYXIuc3R5bGVzJztcblxuY29uc3Qgc3R5bGVzID0gY29tcGlsZWRTdHlsZXMuanNvbk1hcDtcblxudHlwZSBUUHJvamVjdFBlcm1pc3Npb25zID0ge1xuICBwZXJtaXNzaW9uczogVE5vcm1hbGl6ZWRQZXJtaXNzaW9ucyB8IG51bGw7XG4gIGFjdGlvblJpZ2h0czogVE5vcm1hbGl6ZWRBY3Rpb25SaWdodHMgfCBudWxsO1xuICBkYXRhRmVuY2VzOiBUTm9ybWFsaXplZERhdGFGZW5jZXMgfCBudWxsO1xufTtcblxuLypcbjxEYXRhTWVudSBkYXRhPXtbXX0+XG4gIDxNZW51R3JvdXA+XG4gICAgPE1lbnVJdGVtPlxuICAgICAgPE1lbnVJdGVtTGluayBsaW5rVG89XCIvZm9vXCI+KGljb24pIFByb2R1Y3RzPC9NZW51SXRlbUxpbms+XG4gICAgICA8TWVudUdyb3VwPlxuICAgICAgICA8TWVudUl0ZW1MaW5rIGxpbmtUbz1cIi9mb28vbmV3XCI+QWRkIHByb2R1Y3Q8L01lbnVJdGVtTGluaz5cbiAgICAgIDwvTWVudUdyb3VwPlxuICAgIDwvTWVudUl0ZW0+XG4gIDwvTWVudUdyb3VwPlxuICA8TWVudUV4cGFuZGVyLz5cbjwvRGF0YU1lbnU+XG4qL1xuXG5jb25zdCBIZWFydEljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvaGVhcnQnKSk7XG5jb25zdCBQYXBlcmNsaXBJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3BhcGVyY2xpcCcpKTtcbmNvbnN0IFBsdWdpbkljb24gPSBsYXp5KCgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvcGx1Z2luJykpO1xuY29uc3QgUm9ja2V0SWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9yb2NrZXQnKSk7XG5jb25zdCBTdGFySWNvbiA9IGxhenkoKCkgPT4gaW1wb3J0KCcuL2xlZ2FjeS1pY29ucy9zdGFyJykpO1xuY29uc3QgQ29ubmVjdGVkU3F1YXJlSWNvbiA9IGxhenkoXG4gICgpID0+IGltcG9ydCgnLi9sZWdhY3ktaWNvbnMvY29ubmVjdGVkLXNxdWFyZScpXG4pO1xuY29uc3QgV29ybGRJY29uID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vbGVnYWN5LWljb25zL3dvcmxkJykpO1xuXG50eXBlIEljb25Qcm9wcyA9IFBhcmFtZXRlcnM8dHlwZW9mIEJhY2tJY29uPlswXTtcbnR5cGUgSWNvblN3aXRjaGVyUHJvcHMgPSB7IGljb246IHN0cmluZyB9ICYgSWNvblByb3BzO1xuLy8gVGhlIGljb24gaXMgZXhwZWN0ZWQgdG8gYmUgdGhlIGBzdmdgIGRvY3VtZW50IGFzIGEgc3RyaW5nLlxuLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHB1cnBvc2VzLCB3ZSBzdGlsbCBzdXBwb3J0IHRoZSBsZWdhY3kgXCJpY29uIG5hbWVcIixcbi8vIHdoaWNoIHdlIHRoZW4gbWFwIHRvIG9uZSBvZiB0aGUgcHJlLWRlZmluZWQgaWNvbnMuXG4vLyBFdmVudHVhbGx5LCB3ZSB3YW50IHRvIGdldCByaWQgb2YgdGhpcyBcInN3aXRjaFwiIGxvZ2ljLlxuY29uc3QgSWNvblN3aXRjaGVyID0gKHsgaWNvbiwgLi4uaWNvblByb3BzIH06IEljb25Td2l0Y2hlclByb3BzKSA9PiB7XG4gIGlmIChpY29uLmluY2x1ZGVzKCc8c3ZnJykpIHtcbiAgICByZXR1cm4gPElubGluZVN2ZyBkYXRhPXtpY29ufSB7Li4uaWNvblByb3BzfSAvPjtcbiAgfVxuICAvLyBCYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgYXBwcyB1c2luZyB0aGUgXCJpY29uIG5hbWVcIi5cbiAgc3dpdGNoIChpY29uKSB7XG4gICAgLy8gQ3VzdG9tIGFwcGxpY2F0aW9uIGljb25zIHNldFxuICAgIGNhc2UgJ0hlYXJ0SWNvbic6XG4gICAgICByZXR1cm4gPEhlYXJ0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQYXBlcmNsaXBJY29uJzpcbiAgICAgIHJldHVybiA8UGFwZXJjbGlwSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdQbHVnaW5JY29uJzpcbiAgICAgIHJldHVybiA8UGx1Z2luSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdSb2NrZXRJY29uJzpcbiAgICAgIHJldHVybiA8Um9ja2V0SWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBjYXNlICdTdGFySWNvbic6XG4gICAgICByZXR1cm4gPFN0YXJJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIGNhc2UgJ0Nvbm5lY3RlZFNxdWFyZUljb24nOlxuICAgICAgcmV0dXJuIDxDb25uZWN0ZWRTcXVhcmVJY29uIHsuLi5pY29uUHJvcHN9IC8+O1xuICAgIC8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIGNhc2UgJ1dvcmxkSWNvbic6XG4gICAgICByZXR1cm4gPFdvcmxkSWNvbiB7Li4uaWNvblByb3BzfSAvPjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIDxpbWcgc3JjPXtNaXNzaW5nSW1hZ2VTdmd9IGFsdD1cIm1pc3NpbmcgaWNvblwiIC8+O1xuICB9XG59O1xuSWNvblN3aXRjaGVyLmRpc3BsYXlOYW1lID0gJ0ljb25Td2l0Y2hlcic7XG5cbnR5cGUgTWVudUV4cGFuZGVyUHJvcHMgPSB7XG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+O1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xufTtcbmNvbnN0IE1lbnVFeHBhbmRlciA9IChwcm9wczogTWVudUV4cGFuZGVyUHJvcHMpID0+IHtcbiAgY29uc3QgZ3RtVHJhY2tpbmcgPSB1c2VDb250ZXh0KEd0bUNvbnRleHQpO1xuICByZXR1cm4gKFxuICAgIDxsaVxuICAgICAga2V5PVwiZXhwYW5kZXJcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKHN0eWxlc1snbGlzdC1pdGVtJ10sIHN0eWxlcy5leHBhbmRlciwge1xuICAgICAgICBbc3R5bGVzLmhpZGRlbl06ICFwcm9wcy5pc1Zpc2libGUsXG4gICAgICB9KX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgYWN0aW9uLCBjYXRlZ29yeSwgbGFiZWwgfSA9XG4gICAgICAgICAgICB0cmFja2luZ0V2ZW50c1tcbiAgICAgICAgICAgICAgcHJvcHMuaXNNZW51T3BlbiA/ICdjb2xsYXBzZU1haW5OYXYnIDogJ2V4cGFuZE1haW5OYXYnXG4gICAgICAgICAgICBdO1xuICAgICAgICAgIGd0bVRyYWNraW5nLnRyYWNrKGFjdGlvbiwgY2F0ZWdvcnksIGxhYmVsKTtcbiAgICAgICAgICBwcm9wcy5vbkNsaWNrKGV2ZW50KTtcbiAgICAgICAgfX1cbiAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2V4cGFuZC1pY29uJ119XG4gICAgICAgIGRhdGEtdGVzdGlkPVwibWVudS1leHBhbmRlclwiXG4gICAgICA+XG4gICAgICAgIHsvKlxuICAgICAgICAgIEZJWE1FOiBkZWZpbmUgaG92ZXIgZWZmZWN0LlxuICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9jb21tZXJjZXRvb2xzL21lcmNoYW50LWNlbnRlci1mcm9udGVuZC9pc3N1ZXMvMjIxNlxuICAgICAgICAqL31cbiAgICAgICAgPEFycm93UmlnaHRJY29uIGNvbG9yPVwic3VyZmFjZVwiIHNpemU9XCJiaWdcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9saT5cbiAgKTtcbn07XG5NZW51RXhwYW5kZXIuZGlzcGxheU5hbWUgPSAnTWVudUV4cGFuZGVyJztcblxudHlwZSBNZW51R3JvdXBQcm9wcyA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGV2ZWw6IDEgfCAyO1xuICBpc0FjdGl2ZT86IGJvb2xlYW47XG4gIGlzRXhwYW5kZWQ/OiBib29sZWFuO1xuICBjaGlsZHJlbj86IFJlYWN0Tm9kZTtcbn07XG5jb25zdCBNZW51R3JvdXAgPSAocHJvcHM6IE1lbnVHcm91cFByb3BzKSA9PiB7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQgPVxuICAgIHByb3BzLmxldmVsID09PSAyICYmIHByb3BzLmlzQWN0aXZlICYmIHByb3BzLmlzRXhwYW5kZWQ7XG4gIGNvbnN0IGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkID1cbiAgICBwcm9wcy5sZXZlbCA9PT0gMiAmJiBwcm9wcy5pc0FjdGl2ZSAmJiAhcHJvcHMuaXNFeHBhbmRlZDtcbiAgcmV0dXJuIChcbiAgICA8dWxcbiAgICAgIGlkPXtgZ3JvdXAtJHtwcm9wcy5pZH1gfVxuICAgICAgZGF0YS10ZXN0aWQ9e2Bncm91cC0ke3Byb3BzLmlkfWB9XG4gICAgICByb2xlPVwibWVudVwiXG4gICAgICBhcmlhLWV4cGFuZGVkPXtcbiAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVFeHBhbmRlZCB8fFxuICAgICAgICBpc1N1Ymxpc3RBY3RpdmVXaGlsZUlzTWVudUNvbGxhcHNlZFxuICAgICAgfVxuICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKFxuICAgICAgICB7IFtzdHlsZXMubGlzdF06IHByb3BzLmxldmVsID09PSAxIH0sXG4gICAgICAgIHsgW3N0eWxlcy5zdWJsaXN0XTogcHJvcHMubGV2ZWwgPT09IDIgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3Qtbm8tY2hpbGRyZW4nXV06IHByb3BzLmxldmVsID09PSAyICYmICFwcm9wcy5jaGlsZHJlbixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIFtzdHlsZXNbJ3N1Ymxpc3QtZXhwYW5kZWRfX2FjdGl2ZSddXTpcbiAgICAgICAgICAgIGlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51RXhwYW5kZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzWydzdWJsaXN0LWNvbGxhcHNlZF9fYWN0aXZlJ11dOlxuICAgICAgICAgICAgaXNTdWJsaXN0QWN0aXZlV2hpbGVJc01lbnVDb2xsYXBzZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBbc3R5bGVzLnN1Ymxpc3RfX2luYWN0aXZlXTogIWlzU3VibGlzdEFjdGl2ZVdoaWxlSXNNZW51Q29sbGFwc2VkLFxuICAgICAgICB9XG4gICAgICApfVxuICAgID5cbiAgICAgIHtwcm9wcy5jaGlsZHJlbn1cbiAgICA8L3VsPlxuICApO1xufTtcbk1lbnVHcm91cC5kaXNwbGF5TmFtZSA9ICdNZW51R3JvdXAnO1xuXG50eXBlIE1lbnVJdGVtUHJvcHMgPSB7XG4gIGhhc1N1Ym1lbnU6IGJvb2xlYW47XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBpc01lbnVPcGVuOiBib29sZWFuO1xuICBvbkNsaWNrOiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIG9uTW91c2VFbnRlcj86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcbiAgb25Nb3VzZUxlYXZlPzogTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE1lbnVJdGVtID0gKHByb3BzOiBNZW51SXRlbVByb3BzKSA9PiAoXG4gIDxsaVxuICAgIHJvbGU9XCJtZW51LWl0ZW1cIlxuICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhzdHlsZXNbJ2xpc3QtaXRlbSddLCB7XG4gICAgICBbc3R5bGVzLml0ZW1fX2FjdGl2ZV06IHByb3BzLmlzQWN0aXZlLFxuICAgICAgW3N0eWxlc1snaXRlbV9tZW51LWNvbGxhcHNlZCddXTogIXByb3BzLmlzTWVudU9wZW4sXG4gICAgICBbc3R5bGVzWydpdGVtX19uby1zdWJtZW51J11dOiAhcHJvcHMuaGFzU3VibWVudSxcbiAgICB9KX1cbiAgICBvbkNsaWNrPXtwcm9wcy5vbkNsaWNrfVxuICAgIG9uTW91c2VFbnRlcj17cHJvcHMub25Nb3VzZUVudGVyfVxuICAgIG9uTW91c2VMZWF2ZT17cHJvcHMub25Nb3VzZUxlYXZlfVxuICA+XG4gICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1saW5rJ119Pntwcm9wcy5jaGlsZHJlbn08L2Rpdj5cbiAgPC9saT5cbik7XG5NZW51SXRlbS5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbSc7XG5cbnR5cGUgTWVudUl0ZW1MaW5rUHJvcHMgPSB7XG4gIGxpbmtUbz86IHN0cmluZztcbiAgZXhhY3RNYXRjaDogYm9vbGVhbjtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgb25DbGljaz86IDxUcmFja0ZuPihcbiAgICBldmVudDogU3ludGhldGljRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+LFxuICAgIHRyYWNrOiBUcmFja0ZuXG4gICkgPT4gdm9pZDtcbiAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPzogYm9vbGVhbjtcbn07XG5jb25zdCBtZW51SXRlbUxpbmtEZWZhdWx0UHJvcHM6IFBpY2s8TWVudUl0ZW1MaW5rUHJvcHMsICdleGFjdE1hdGNoJz4gPSB7XG4gIGV4YWN0TWF0Y2g6IGZhbHNlLFxufTtcbmNvbnN0IE1lbnVJdGVtTGluayA9IChwcm9wczogTWVudUl0ZW1MaW5rUHJvcHMpID0+IHtcbiAgY29uc3QgZ3RtVHJhY2tpbmcgPSB1c2VDb250ZXh0KEd0bUNvbnRleHQpO1xuICBjb25zdCByZWRpcmVjdFRvID0gKHRhcmdldFVybDogc3RyaW5nKSA9PiBsb2NhdGlvbi5yZXBsYWNlKHRhcmdldFVybCk7XG4gIGlmIChwcm9wcy5saW5rVG8pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPE5hdkxpbmtcbiAgICAgICAgdG89e3Byb3BzLmxpbmtUb31cbiAgICAgICAgZXhhY3Q9e3Byb3BzLmV4YWN0TWF0Y2h9XG4gICAgICAgIGFjdGl2ZUNsYXNzTmFtZT17c3R5bGVzLmhpZ2hsaWdodGVkfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1sndGV4dC1saW5rJ119XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudCkgPT4ge1xuICAgICAgICAgIGlmIChwcm9wcy5saW5rVG8gJiYgcHJvcHMudXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgcmVkaXJlY3RUbyhwcm9wcy5saW5rVG8pO1xuICAgICAgICAgIH0gZWxzZSBpZiAocHJvcHMub25DbGljaykge1xuICAgICAgICAgICAgZXZlbnQucGVyc2lzdCgpO1xuICAgICAgICAgICAgcHJvcHMub25DbGljazx0eXBlb2YgZ3RtVHJhY2tpbmcudHJhY2s+KGV2ZW50LCBndG1UcmFja2luZy50cmFjayk7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L05hdkxpbms+XG4gICAgKTtcbiAgfVxuICByZXR1cm4gPD57cHJvcHMuY2hpbGRyZW59PC8+O1xufTtcbk1lbnVJdGVtTGluay5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbUxpbmsnO1xuTWVudUl0ZW1MaW5rLmRlZmF1bHRQcm9wcyA9IG1lbnVJdGVtTGlua0RlZmF1bHRQcm9wcztcblxuY29uc3QgTWVudUl0ZW1EaXZpZGVyID0gKCkgPT4gPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5kaXZpZGVyfSAvPjtcbk1lbnVJdGVtRGl2aWRlci5kaXNwbGF5TmFtZSA9ICdNZW51SXRlbURpdmlkZXInO1xuXG5jb25zdCBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbiA9IChcbiAgbWVudVZpc2liaWxpdGllcz86IFROb3JtYWxpemVkTWVudVZpc2liaWxpdGllcyB8IG51bGwsXG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW11cbikgPT5cbiAgQXJyYXkuaXNBcnJheShuYW1lc09mTWVudVZpc2liaWxpdGllcykgJiZcbiAgbmFtZXNPZk1lbnVWaXNpYmlsaXRpZXMubGVuZ3RoID4gMCAmJlxuICBuYW1lc09mTWVudVZpc2liaWxpdGllcy5ldmVyeShcbiAgICAobmFtZU9mTWVudVZpc2liaWxpdHkpID0+XG4gICAgICBtZW51VmlzaWJpbGl0aWVzICYmIG1lbnVWaXNpYmlsaXRpZXNbbmFtZU9mTWVudVZpc2liaWxpdHldID09PSB0cnVlXG4gICk7XG5cbnR5cGUgUmVzdHJpY3RlZE1lbnVJdGVtUHJvcHMgPSB7XG4gIGZlYXR1cmVUb2dnbGU/OiBzdHJpbmc7XG4gIG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzPzogc3RyaW5nW107XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAga2V5T2ZNZW51SXRlbTogc3RyaW5nO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGFjdGlvblJpZ2h0cz86IFRBY3Rpb25SaWdodFtdO1xuICBkYXRhRmVuY2VzPzogVERhdGFGZW5jZVtdO1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbnR5cGUgVExvbmdMaXZlZEZsYWcgPSB7XG4gIHZhbHVlOiBib29sZWFuO1xuICByZWFzb24/OiBzdHJpbmc7XG59O1xuY29uc3QgcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzOiBQaWNrPFxuICBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcyxcbiAgJ3Blcm1pc3Npb25zJ1xuPiA9IHtcbiAgcGVybWlzc2lvbnM6IFtdLFxufTtcbmZ1bmN0aW9uIGlzTG9uZ0xpdmVkRmxhZyhcbiAgZmxhZzogVEZsYWdWYXJpYXRpb24gfCBUTG9uZ0xpdmVkRmxhZ1xuKTogZmxhZyBpcyBUTG9uZ0xpdmVkRmxhZyB7XG4gIHJldHVybiB0eXBlb2YgKGZsYWcgYXMgVExvbmdMaXZlZEZsYWcpPy52YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xufVxuY29uc3QgUmVzdHJpY3RlZE1lbnVJdGVtID0gKHByb3BzOiBSZXN0cmljdGVkTWVudUl0ZW1Qcm9wcykgPT4ge1xuICAvLyBOT1RFOiBDdXN0b20gYXBwbGljYXRpb24gYXJlIGFjdGl2YXRlZC9kZWFjdGl2YXRlZCB3aGlsZSB0aGVpclxuICAvLyB2aXNpYmlsaXR5IGlzIG5vdCBjb250cm9sbGVkIHZpYSBhIHZpc2liaWlsaXR5IG92ZXJ3cml0ZS5cbiAgY29uc3QgZmxhZ1ZhcmlhdGlvbiA9IHVzZUZsYWdWYXJpYXRpb24ocHJvcHMuZmVhdHVyZVRvZ2dsZSk7XG4gIGlmIChcbiAgICBpc0V2ZXJ5TWVudVZpc2liaWxpdHlTZXRUb0hpZGRlbihcbiAgICAgIHByb3BzLm1lbnVWaXNpYmlsaXRpZXMsXG4gICAgICBwcm9wcy5uYW1lc09mTWVudVZpc2liaWxpdGllc1xuICAgIClcbiAgKVxuICAgIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IHBlcm1pc3Npb25zV3JhcHBlciA9XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMucGVybWlzc2lvbnMpICYmIHByb3BzLnBlcm1pc3Npb25zLmxlbmd0aCA+IDApIHx8XG4gICAgKEFycmF5LmlzQXJyYXkocHJvcHMuZGF0YUZlbmNlcykgJiYgcHJvcHMuZGF0YUZlbmNlcy5sZW5ndGggPiAwKSA/IChcbiAgICAgIDxSZXN0cmljdGVkQnlQZXJtaXNzaW9uc1xuICAgICAgICBwZXJtaXNzaW9ucz17cHJvcHMucGVybWlzc2lvbnN9XG4gICAgICAgIGFjdGlvblJpZ2h0cz17cHJvcHMuYWN0aW9uUmlnaHRzfVxuICAgICAgICBkYXRhRmVuY2VzPXtwcm9wcy5kYXRhRmVuY2VzfVxuICAgICAgICBzZWxlY3REYXRhRmVuY2VEYXRhPXsoZGVtYW5kZWREYXRhRmVuY2UpID0+IHtcbiAgICAgICAgICBzd2l0Y2ggKGRlbWFuZGVkRGF0YUZlbmNlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3N0b3JlJzpcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbWFuZGVkRGF0YUZlbmNlLmFjdHVhbERhdGFGZW5jZVZhbHVlcztcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cbiAgICAgICAgfX1cbiAgICAgICAgLy8gQWx3YXlzIGNoZWNrIHRoYXQgc29tZSBvZiB0aGUgZ2l2ZW4gcGVybWlzc2lvbnMgbWF0Y2guXG4gICAgICAgIHNob3VsZE1hdGNoU29tZVBlcm1pc3Npb25zPXt0cnVlfVxuICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9SZXN0cmljdGVkQnlQZXJtaXNzaW9ucz5cbiAgICApIDogKFxuICAgICAgPD57cHJvcHMuY2hpbGRyZW59PC8+XG4gICAgKTtcblxuICBpZiAocHJvcHMuZmVhdHVyZVRvZ2dsZSkge1xuICAgIC8vIEEgcmVndWxhciBzaG9ydC1saXZlZCBmZWF0dXJlIHRvZ2dsZVxuICAgIGlmIChmbGFnVmFyaWF0aW9uID09PSB0cnVlKSByZXR1cm4gcGVybWlzc2lvbnNXcmFwcGVyO1xuICAgIC8vIEEgbG9uZy1saXZlZCBmZWF0dXJlIHRvZ2dsZSB3aXRoIGB7IHZhbHVlOiBib29sZWFuLCBzdHJpbmc6IHJlYXNvbiB9YFxuICAgIGlmIChpc0xvbmdMaXZlZEZsYWcoZmxhZ1ZhcmlhdGlvbikgJiYgZmxhZ1ZhcmlhdGlvbi52YWx1ZSA9PT0gdHJ1ZSlcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwZXJtaXNzaW9uc1dyYXBwZXI7XG59O1xuUmVzdHJpY3RlZE1lbnVJdGVtLmRpc3BsYXlOYW1lID0gJ1Jlc3RyaWN0ZWRNZW51SXRlbSc7XG5SZXN0cmljdGVkTWVudUl0ZW0uZGVmYXVsdFByb3BzID0gcmVzdHJpY3RlZE1lbnVJdGVtRGVmYXVsdFByb3BzO1xuXG5leHBvcnQgY29uc3QgZ2V0SWNvbkNvbG9yID0gKGlzQWN0aXZlOiBib29sZWFuKSA9PiB7XG4gIGlmIChpc0FjdGl2ZSkgcmV0dXJuICdwcmltYXJ5NDAnO1xuICByZXR1cm4gJ3N1cmZhY2UnO1xufTtcblxuY29uc3QgZ2V0TWVudVZpc2liaWxpdGllc09mU3VibWVudXMgPSAobWVudTogVE5hdmJhck1lbnUpID0+XG4gIG1lbnUuc3VibWVudS5tYXAoKHN1Ym1lbnUpID0+IHN1Ym1lbnUubWVudVZpc2liaWxpdHkpLmZpbHRlcihub25OdWxsYWJsZSk7XG5jb25zdCBnZXRNZW51VmlzaWJpbGl0eU9mTWFpbm1lbnUgPSAobWVudTogVE5hdmJhck1lbnUpID0+XG4gIG1lbnUubWVudVZpc2liaWxpdHkgPyBbbWVudS5tZW51VmlzaWJpbGl0eV0gOiBbXTtcblxudHlwZSBNZW51TGFiZWxQcm9wcyA9IHtcbiAgbGFiZWxBbGxMb2NhbGVzOiBUTG9jYWxpemVkRmllbGRbXTtcbiAgZGVmYXVsdExhYmVsPzogc3RyaW5nO1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xufTtcbmNvbnN0IE1lbnVMYWJlbCA9IChwcm9wczogTWVudUxhYmVsUHJvcHMpID0+IHtcbiAgY29uc3QgbG9jYWxpemVkTGFiZWwgPSBwcm9wcy5sYWJlbEFsbExvY2FsZXMuZmluZCgobG9jKSA9PlxuICAgIHByb3BzLmFwcGxpY2F0aW9uTG9jYWxlLnN0YXJ0c1dpdGgobG9jLmxvY2FsZSlcbiAgKTtcbiAgaWYgKGxvY2FsaXplZExhYmVsKSByZXR1cm4gPD57bG9jYWxpemVkTGFiZWwudmFsdWV9PC8+O1xuICBpZiAocHJvcHMuZGVmYXVsdExhYmVsKSByZXR1cm4gPD57cHJvcHMuZGVmYXVsdExhYmVsfTwvPjtcbiAgcmV0dXJuIDw+e05PX1ZBTFVFX0ZBTExCQUNLfTwvPjtcbn07XG5cbnR5cGUgVE1lbnVXaXRoRGVmYXVsdExhYmVsID0gVE5hdmJhck1lbnUgJiB7XG4gIC8vIGRlcml2ZXMgZnJvbSBgcHJvamVjdEV4dGVuc2lvbnNRdWVyeS5pbnN0YWxsZWRBcHBsaWNhdGlvbnMuYXBwbGljYXRpb24ubWFpbk1lbnVMaW5rYFxuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG59O1xudHlwZSBUU3VibWVudVdpdGhEZWZhdWx0TGFiZWwgPSBUQmFzZU1lbnUgJiB7XG4gIC8vIGRlcml2ZXMgZnJvbSBgcHJvamVjdEV4dGVuc2lvbnNRdWVyeS5pbnN0YWxsZWRBcHBsaWNhdGlvbnMuYXBwbGljYXRpb24ubWFpbk1lbnVMaW5rYFxuICBkZWZhdWx0TGFiZWw/OiBzdHJpbmc7XG59O1xuXG50eXBlIEFwcGxpY2F0aW9uTWVudVByb3BzID0ge1xuICBsb2NhdGlvbjogUm91dGVDb21wb25lbnRQcm9wc1snbG9jYXRpb24nXTtcbiAgbWVudTogVE1lbnVXaXRoRGVmYXVsdExhYmVsO1xuICBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgaXNNZW51T3BlbjogYm9vbGVhbjtcbiAgc2hvdWxkQ2xvc2VNZW51Rmx5OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRWxlbWVudD47XG4gIHByb2plY3RQZXJtaXNzaW9uczogVFByb2plY3RQZXJtaXNzaW9ucztcbiAgbWVudVZpc2liaWxpdGllczogVE5vcm1hbGl6ZWRNZW51VmlzaWJpbGl0aWVzIHwgbnVsbDtcbiAgaGFuZGxlVG9nZ2xlSXRlbTogKCkgPT4gdm9pZDtcbiAgYXBwbGljYXRpb25Mb2NhbGU6IHN0cmluZztcbiAgcHJvamVjdEtleTogc3RyaW5nO1xuICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M6IGJvb2xlYW47XG4gIG9uTWVudUl0ZW1DbGljaz86IE1lbnVJdGVtTGlua1Byb3BzWydvbkNsaWNrJ107XG59O1xuY29uc3QgQXBwbGljYXRpb25NZW51ID0gKHByb3BzOiBBcHBsaWNhdGlvbk1lbnVQcm9wcykgPT4ge1xuICBjb25zdCBpc01haW5NZW51Um91dGVBY3RpdmUgPSBCb29sZWFuKFxuICAgIG1hdGNoUGF0aChwcm9wcy5sb2NhdGlvbi5wYXRobmFtZSwge1xuICAgICAgcGF0aDogYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWAsXG4gICAgICBleGFjdDogZmFsc2UsXG4gICAgICBzdHJpY3Q6IGZhbHNlLFxuICAgIH0pXG4gICk7XG4gIGNvbnN0IGhhc1N1Ym1lbnUgPVxuICAgIEFycmF5LmlzQXJyYXkocHJvcHMubWVudS5zdWJtZW51KSAmJiBwcm9wcy5tZW51LnN1Ym1lbnUubGVuZ3RoID4gMDtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIE9uIGZpcnN0IHJlbmRlciwgY2hlY2sgd2hpY2ggbWVudSBpcyBhY3RpdmUgZm9yIHRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIGFuZCBleHBhbmRcbiAgICAvLyB0aGUgc3VibWVudSBhdXRvbWF0aWNhbGx5IHVubGVzcyB0aGUgYWxsIG5hdmJhciBpcyBjb2xsYXBzZWQgb3IgdGhlcmUgYXJlIG5vIHN1Ym1lbnUgbGlua3MuXG4gICAgaWYgKHByb3BzLmlzTWVudU9wZW4gJiYgaXNNYWluTWVudVJvdXRlQWN0aXZlICYmIGhhc1N1Ym1lbnUpIHtcbiAgICAgIHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW0oKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbcHJvcHMuaXNNZW51T3Blbl0pOyAvLyA8LS0gKHJlKXJ1biB0aGlzIG9ubHkgd2hlbiB0aGUgYWxsIG1lbnUgZXhwYW5kc1xuXG4gIGNvbnN0IG5hbWVzT2ZNZW51VmlzaWJpbGl0aWVzT2ZBbGxTdWJtZW51cyA9IGhhc1N1Ym1lbnVcbiAgICA/IGdldE1lbnVWaXNpYmlsaXRpZXNPZlN1Ym1lbnVzKHByb3BzLm1lbnUpXG4gICAgOiBnZXRNZW51VmlzaWJpbGl0eU9mTWFpbm1lbnUocHJvcHMubWVudSk7XG5cbiAgY29uc3QgaXNNYWluTWVudUl0ZW1BTGluayA9XG4gICAgLy8gMS4gV2hlbiB0aGUgbmF2YmFyIGlzIGNvbGxhcHNlZFxuICAgICFwcm9wcy5pc01lbnVPcGVuIHx8XG4gICAgLy8gMi4gV2hlbiB0aGVyZSBpcyBubyBzdWJtZW51XG4gICAgIWhhc1N1Ym1lbnUgfHxcbiAgICAvLyAzLiBXaGVuIHRoZSBzdWJtZW51IGdyb3VwIGlzIGFjdGl2ZS92aXNpYmxlXG4gICAgcHJvcHMuaXNBY3RpdmU7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVzdHJpY3RlZE1lbnVJdGVtXG4gICAgICBrZXk9e3Byb3BzLm1lbnUua2V5fVxuICAgICAga2V5T2ZNZW51SXRlbT17cHJvcHMubWVudS5rZXl9XG4gICAgICBmZWF0dXJlVG9nZ2xlPXtwcm9wcy5tZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgcGVybWlzc2lvbnM9e3Byb3BzLm1lbnUucGVybWlzc2lvbnN9XG4gICAgICBhY3Rpb25SaWdodHM9e3Byb3BzLm1lbnUuYWN0aW9uUmlnaHRzID8/IHVuZGVmaW5lZH1cbiAgICAgIGRhdGFGZW5jZXM9e3Byb3BzLm1lbnUuZGF0YUZlbmNlcyA/PyB1bmRlZmluZWR9XG4gICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgIG1lbnVWaXNpYmlsaXRpZXM9e3Byb3BzLm1lbnVWaXNpYmlsaXRpZXN9XG4gICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17bmFtZXNPZk1lbnVWaXNpYmlsaXRpZXNPZkFsbFN1Ym1lbnVzfVxuICAgID5cbiAgICAgIDxNZW51SXRlbVxuICAgICAgICBoYXNTdWJtZW51PXtoYXNTdWJtZW51fVxuICAgICAgICBpc0FjdGl2ZT17cHJvcHMuaXNBY3RpdmV9XG4gICAgICAgIGlzTWVudU9wZW49e3Byb3BzLmlzTWVudU9wZW59XG4gICAgICAgIG9uQ2xpY2s9e3Byb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgIG9uTW91c2VFbnRlcj17cHJvcHMuaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHByb3BzLmhhbmRsZVRvZ2dsZUl0ZW19XG4gICAgICAgIG9uTW91c2VMZWF2ZT17cHJvcHMuaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6IHByb3BzLnNob3VsZENsb3NlTWVudUZseX1cbiAgICAgID5cbiAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgIGxpbmtUbz17XG4gICAgICAgICAgICBpc01haW5NZW51SXRlbUFMaW5rXG4gICAgICAgICAgICAgID8gYC8ke3Byb3BzLnByb2plY3RLZXl9LyR7cHJvcHMubWVudS51cmlQYXRofWBcbiAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXtwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgb25DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlc1snaXRlbS1pY29uLXRleHQnXX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzWydpY29uLWNvbnRhaW5lciddfT5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICAgICAgICA8SWNvblN3aXRjaGVyXG4gICAgICAgICAgICAgICAgICBpY29uPXtwcm9wcy5tZW51Lmljb259XG4gICAgICAgICAgICAgICAgICBzaXplPVwic2NhbGVcIlxuICAgICAgICAgICAgICAgICAgY29sb3I9e2dldEljb25Db2xvcihwcm9wcy5pc0FjdGl2ZSB8fCBpc01haW5NZW51Um91dGVBY3RpdmUpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17c3R5bGVzLnRpdGxlfSBhcmlhLW93bnM9e2Bncm91cC0ke3Byb3BzLm1lbnUua2V5fWB9PlxuICAgICAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICAgICAgbGFiZWxBbGxMb2NhbGVzPXtwcm9wcy5tZW51LmxhYmVsQWxsTG9jYWxlc31cbiAgICAgICAgICAgICAgICBkZWZhdWx0TGFiZWw9e3Byb3BzLm1lbnUuZGVmYXVsdExhYmVsfVxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L01lbnVJdGVtTGluaz5cbiAgICAgICAgPE1lbnVHcm91cFxuICAgICAgICAgIGlkPXtwcm9wcy5tZW51LmtleX1cbiAgICAgICAgICBsZXZlbD17Mn1cbiAgICAgICAgICBpc0FjdGl2ZT17cHJvcHMuaXNBY3RpdmV9XG4gICAgICAgICAgaXNFeHBhbmRlZD17cHJvcHMuaXNNZW51T3Blbn1cbiAgICAgICAgPlxuICAgICAgICAgIHtoYXNTdWJtZW51XG4gICAgICAgICAgICA/IHByb3BzLm1lbnUuc3VibWVudS5tYXAoKHN1Ym1lbnU6IFRTdWJtZW51V2l0aERlZmF1bHRMYWJlbCkgPT4gKFxuICAgICAgICAgICAgICAgIDxSZXN0cmljdGVkTWVudUl0ZW1cbiAgICAgICAgICAgICAgICAgIGtleT17YCR7cHJvcHMubWVudS5rZXl9LXN1Ym1lbnUtJHtzdWJtZW51LmtleX1gfVxuICAgICAgICAgICAgICAgICAga2V5T2ZNZW51SXRlbT17c3VibWVudS5rZXl9XG4gICAgICAgICAgICAgICAgICBmZWF0dXJlVG9nZ2xlPXtzdWJtZW51LmZlYXR1cmVUb2dnbGUgPz8gdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbnM9e3N1Ym1lbnUucGVybWlzc2lvbnN9XG4gICAgICAgICAgICAgICAgICBhY3Rpb25SaWdodHM9e3N1Ym1lbnUuYWN0aW9uUmlnaHRzID8/IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgIGRhdGFGZW5jZXM9e3N1Ym1lbnUuZGF0YUZlbmNlcyA/PyB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb3BzLnByb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICAgIG1lbnVWaXNpYmlsaXRpZXM9e3Byb3BzLm1lbnVWaXNpYmlsaXRpZXN9XG4gICAgICAgICAgICAgICAgICBuYW1lc09mTWVudVZpc2liaWxpdGllcz17XG4gICAgICAgICAgICAgICAgICAgIHN1Ym1lbnUubWVudVZpc2liaWxpdHlcbiAgICAgICAgICAgICAgICAgICAgICA/IFtzdWJtZW51Lm1lbnVWaXNpYmlsaXR5XVxuICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzTmFtZT17c3R5bGVzWydzdWJsaXN0LWl0ZW0nXX0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGV4dH0+XG4gICAgICAgICAgICAgICAgICAgICAgPE1lbnVJdGVtTGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgbGlua1RvPXtgLyR7cHJvcHMucHJvamVjdEtleX0vJHtzdWJtZW51LnVyaVBhdGh9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGV4YWN0TWF0Y2g9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3M9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wcy51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3Byb3BzLm9uTWVudUl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8TWVudUxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsQWxsTG9jYWxlcz17c3VibWVudS5sYWJlbEFsbExvY2FsZXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRMYWJlbD17c3VibWVudS5kZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9NZW51SXRlbUxpbms+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L1Jlc3RyaWN0ZWRNZW51SXRlbT5cbiAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgIDogbnVsbH1cbiAgICAgICAgPC9NZW51R3JvdXA+XG4gICAgICA8L01lbnVJdGVtPlxuICAgIDwvUmVzdHJpY3RlZE1lbnVJdGVtPlxuICApO1xufTtcbkFwcGxpY2F0aW9uTWVudS5kaXNwbGF5TmFtZSA9ICdBcHBsaWNhdGlvbk1lbnUnO1xuXG50eXBlIE5hdkJhckxheW91dFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufTtcbmNvbnN0IE5hdkJhckxheW91dCA9IGZvcndhcmRSZWY8SFRNTEVsZW1lbnQsIE5hdkJhckxheW91dFByb3BzPihcbiAgKHByb3BzLCByZWYpID0+IChcbiAgICA8PlxuICAgICAgPEdsb2JhbFxuICAgICAgICBzdHlsZXM9e2Nzc2BcbiAgICAgICAgICAke2NvbXBpbGVkU3R5bGVzLmdsb2JhbH1cbiAgICAgICAgYH1cbiAgICAgIC8+XG4gICAgICA8bmF2XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICBjbGFzc05hbWU9e3N0eWxlc1snbGVmdC1uYXZpZ2F0aW9uJ119XG4gICAgICAgIGRhdGEtdGVzdD1cImxlZnQtbmF2aWdhdGlvblwiXG4gICAgICAgIGRhdGEtdGVzdGlkPVwibGVmdC1uYXZpZ2F0aW9uXCJcbiAgICAgICAgZGF0YS10cmFjay1jb21wb25lbnQ9XCJOYXZpZ2F0aW9uXCJcbiAgICAgID5cbiAgICAgICAge3Byb3BzLmNoaWxkcmVufVxuICAgICAgPC9uYXY+XG4gICAgPC8+XG4gIClcbik7XG5OYXZCYXJMYXlvdXQuZGlzcGxheU5hbWUgPSAnTmF2QmFyTGF5b3V0JztcblxudHlwZSBOYXZiYXJQcm9wczxBZGRpdGlvbmFsRW52aXJvbm1lbnRQcm9wZXJ0aWVzIGV4dGVuZHMge30+ID0ge1xuICBhcHBsaWNhdGlvbkxvY2FsZTogc3RyaW5nO1xuICBwcm9qZWN0S2V5OiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBUQXBwbGljYXRpb25Db250ZXh0PEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+WydlbnZpcm9ubWVudCddO1xuICBwcm9qZWN0OiBURmV0Y2hQcm9qZWN0UXVlcnlbJ3Byb2plY3QnXTtcbiAgb25NZW51SXRlbUNsaWNrPzogTWVudUl0ZW1MaW5rUHJvcHNbJ29uQ2xpY2snXTtcbn07XG5jb25zdCBOYXZCYXIgPSA8QWRkaXRpb25hbEVudmlyb25tZW50UHJvcGVydGllcyBleHRlbmRzIHt9PihcbiAgcHJvcHM6IE5hdmJhclByb3BzPEFkZGl0aW9uYWxFbnZpcm9ubWVudFByb3BlcnRpZXM+XG4pID0+IHtcbiAgY29uc3Qge1xuICAgIG5hdkJhck5vZGUsXG4gICAgaXNNZW51T3BlbixcbiAgICBpc0V4cGFuZGVyVmlzaWJsZSxcbiAgICBhY3RpdmVJdGVtSW5kZXgsXG4gICAgaGFuZGxlVG9nZ2xlSXRlbSxcbiAgICBoYW5kbGVUb2dnbGVNZW51LFxuICAgIHNob3VsZENsb3NlTWVudUZseSxcbiAgICBhbGxJbnRlcm5hbEFwcGxpY2F0aW9uc05hdmJhck1lbnUsXG4gICAgYWxsQ3VzdG9tQXBwbGljYXRpb25zTmF2YmFyTWVudSxcbiAgfSA9IHVzZU5hdmJhclN0YXRlTWFuYWdlcih7XG4gICAgZW52aXJvbm1lbnQ6IHByb3BzLmVudmlyb25tZW50LFxuICB9KTtcbiAgY29uc3QgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzID0gQm9vbGVhbihcbiAgICBwcm9wcy5lbnZpcm9ubWVudC51c2VGdWxsUmVkaXJlY3RzRm9yTGlua3NcbiAgKTtcbiAgY29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpO1xuICBjb25zdCBndG1UcmFja2luZyA9IHVzZUNvbnRleHQoR3RtQ29udGV4dCk7XG5cbiAgY29uc3QgcHJvamVjdFBlcm1pc3Npb25zOiBUUHJvamVjdFBlcm1pc3Npb25zID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGVybWlzc2lvbnM6IG5vcm1hbGl6ZUFsbEFwcGxpZWRQZXJtaXNzaW9ucyhcbiAgICAgICAgcHJvcHMucHJvamVjdD8uYWxsUGVybWlzc2lvbnNGb3JBbGxBcHBsaWNhdGlvbnMuYWxsQXBwbGllZFBlcm1pc3Npb25zXG4gICAgICApLFxuICAgICAgYWN0aW9uUmlnaHRzOiBub3JtYWxpemVBbGxBcHBsaWVkQWN0aW9uUmlnaHRzKFxuICAgICAgICBwcm9wcy5wcm9qZWN0Py5hbGxQZXJtaXNzaW9uc0ZvckFsbEFwcGxpY2F0aW9ucy5hbGxBcHBsaWVkQWN0aW9uUmlnaHRzXG4gICAgICApLFxuICAgICAgZGF0YUZlbmNlczogbm9ybWFsaXplQWxsQXBwbGllZERhdGFGZW5jZXMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zLmFsbEFwcGxpZWREYXRhRmVuY2VzXG4gICAgICApLFxuICAgIH0pLFxuICAgIFtwcm9wcy5wcm9qZWN0XVxuICApO1xuICBjb25zdCBtZW51VmlzaWJpbGl0aWVzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgbm9ybWFsaXplQWxsQXBwbGllZE1lbnVWaXNpYmlsaXRpZXMoXG4gICAgICAgIHByb3BzLnByb2plY3Q/LmFsbFBlcm1pc3Npb25zRm9yQWxsQXBwbGljYXRpb25zXG4gICAgICAgICAgLmFsbEFwcGxpZWRNZW51VmlzaWJpbGl0aWVzXG4gICAgICApLFxuICAgIFtwcm9wcy5wcm9qZWN0XVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e25hdkJhck5vZGV9PlxuICAgICAgPE1lbnVHcm91cCBpZD1cIm1haW5cIiBsZXZlbD17MX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ3Njcm9sbGFibGUtbWVudSddfT5cbiAgICAgICAgICB7YWxsSW50ZXJuYWxBcHBsaWNhdGlvbnNOYXZiYXJNZW51Lm1hcCgobWVudSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWVudVR5cGUgPSAnc2Nyb2xsYWJsZSc7XG4gICAgICAgICAgICBjb25zdCBpdGVtSW5kZXggPSBgJHttZW51VHlwZX0tJHttZW51LmtleX1gO1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgPEFwcGxpY2F0aW9uTWVudVxuICAgICAgICAgICAgICAgIGtleT17bWVudS5rZXl9XG4gICAgICAgICAgICAgICAgbG9jYXRpb249e2xvY2F0aW9ufVxuICAgICAgICAgICAgICAgIG1lbnU9e21lbnV9XG4gICAgICAgICAgICAgICAgaXNBY3RpdmU9e2FjdGl2ZUl0ZW1JbmRleCA9PT0gaXRlbUluZGV4fVxuICAgICAgICAgICAgICAgIGhhbmRsZVRvZ2dsZUl0ZW09eygpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oaXRlbUluZGV4KX1cbiAgICAgICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgICAgICAgIHNob3VsZENsb3NlTWVudUZseT17c2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICAgICAgICAgIHByb2plY3RQZXJtaXNzaW9ucz17cHJvamVjdFBlcm1pc3Npb25zfVxuICAgICAgICAgICAgICAgIG1lbnVWaXNpYmlsaXRpZXM9e21lbnVWaXNpYmlsaXRpZXN9XG4gICAgICAgICAgICAgICAgYXBwbGljYXRpb25Mb2NhbGU9e3Byb3BzLmFwcGxpY2F0aW9uTG9jYWxlfVxuICAgICAgICAgICAgICAgIHByb2plY3RLZXk9e3Byb3BzLnByb2plY3RLZXl9XG4gICAgICAgICAgICAgICAgdXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzPXt1c2VGdWxsUmVkaXJlY3RzRm9yTGlua3N9XG4gICAgICAgICAgICAgICAgb25NZW51SXRlbUNsaWNrPXtwcm9wcy5vbk1lbnVJdGVtQ2xpY2t9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pfVxuICAgICAgICAgIDxNZW51SXRlbURpdmlkZXIgLz5cbiAgICAgICAgICB7YWxsQ3VzdG9tQXBwbGljYXRpb25zTmF2YmFyTWVudS5tYXAoKG1lbnUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVUeXBlID0gJ3Njcm9sbGFibGUnO1xuICAgICAgICAgICAgY29uc3QgaXRlbUluZGV4ID0gYCR7bWVudVR5cGV9LSR7bWVudS5rZXl9YDtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxBcHBsaWNhdGlvbk1lbnVcbiAgICAgICAgICAgICAgICBrZXk9e21lbnUua2V5fVxuICAgICAgICAgICAgICAgIGxvY2F0aW9uPXtsb2NhdGlvbn1cbiAgICAgICAgICAgICAgICBtZW51PXttZW51fVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXthY3RpdmVJdGVtSW5kZXggPT09IGl0ZW1JbmRleH1cbiAgICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtPXsoKSA9PiBoYW5kbGVUb2dnbGVJdGVtKGl0ZW1JbmRleCl9XG4gICAgICAgICAgICAgICAgaXNNZW51T3Blbj17aXNNZW51T3Blbn1cbiAgICAgICAgICAgICAgICBzaG91bGRDbG9zZU1lbnVGbHk9e3Nob3VsZENsb3NlTWVudUZseX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0UGVybWlzc2lvbnM9e3Byb2plY3RQZXJtaXNzaW9uc31cbiAgICAgICAgICAgICAgICBtZW51VmlzaWJpbGl0aWVzPXttZW51VmlzaWJpbGl0aWVzfVxuICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTG9jYWxlPXtwcm9wcy5hcHBsaWNhdGlvbkxvY2FsZX1cbiAgICAgICAgICAgICAgICBwcm9qZWN0S2V5PXtwcm9wcy5wcm9qZWN0S2V5fVxuICAgICAgICAgICAgICAgIHVzZUZ1bGxSZWRpcmVjdHNGb3JMaW5rcz17dXNlRnVsbFJlZGlyZWN0c0ZvckxpbmtzfVxuICAgICAgICAgICAgICAgIG9uTWVudUl0ZW1DbGljaz17cHJvcHMub25NZW51SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ZpeGVkLW1lbnUnXX0+XG4gICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICBoYXNTdWJtZW51PXtmYWxzZX1cbiAgICAgICAgICAgIGlzQWN0aXZlPXtmYWxzZX1cbiAgICAgICAgICAgIGlzTWVudU9wZW49e2lzTWVudU9wZW59XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGd0bVRyYWNraW5nLnRyYWNrKFxuICAgICAgICAgICAgICAgIHRyYWNraW5nRXZlbnRzLmdvVG9TdXBwb3J0LmFjdGlvbixcbiAgICAgICAgICAgICAgICB0cmFja2luZ0V2ZW50cy5nb1RvU3VwcG9ydC5jYXRlZ29yeSxcbiAgICAgICAgICAgICAgICB0cmFja2luZ0V2ZW50cy5nb1RvU3VwcG9ydC5sYWJlbFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBoYW5kbGVUb2dnbGVJdGVtKCdmaXhlZC1zdXBwb3J0Jyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25Nb3VzZUVudGVyPXtcbiAgICAgICAgICAgICAgaXNNZW51T3BlbiA/IHVuZGVmaW5lZCA6ICgpID0+IGhhbmRsZVRvZ2dsZUl0ZW0oJ2ZpeGVkLXN1cHBvcnQnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb25Nb3VzZUxlYXZlPXtpc01lbnVPcGVuID8gdW5kZWZpbmVkIDogc2hvdWxkQ2xvc2VNZW51Rmx5fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGhyZWY9e1NVUFBPUlRfUE9SVEFMX1VSTH1cbiAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2l0ZW0taWNvbi10ZXh0J119PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXNbJ2ljb24tY29udGFpbmVyJ119PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e3N0eWxlcy5pY29ufT5cbiAgICAgICAgICAgICAgICAgICAgPFN1cHBvcnRJY29uXG4gICAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNjYWxlXCJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj17Z2V0SWNvbkNvbG9yKGFjdGl2ZUl0ZW1JbmRleCA9PT0gJ2ZpeGVkLXN1cHBvcnQnKX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtzdHlsZXMudGl0bGV9PlxuICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2Ugey4uLm1lc3NhZ2VzWydOYXZCYXIuTUNTdXBwb3J0LnRpdGxlJ119IC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgPE1lbnVFeHBhbmRlclxuICAgICAgICAgICAgaXNWaXNpYmxlPXtpc0V4cGFuZGVyVmlzaWJsZX1cbiAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZU1lbnV9XG4gICAgICAgICAgICBpc01lbnVPcGVuPXtpc01lbnVPcGVufVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9OYXZCYXJMYXlvdXQ+XG4gICk7XG59O1xuTmF2QmFyLmRpc3BsYXlOYW1lID0gJ05hdkJhcic7XG5cbmV4cG9ydCBkZWZhdWx0IE5hdkJhcjtcblxuZXhwb3J0IGNvbnN0IExvYWRpbmdOYXZCYXIgPSAoKSA9PiB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gIHVzZUxvYWRpbmdNZW51TGF5b3V0RWZmZWN0KCk7XG4gIHJldHVybiAoXG4gICAgPE5hdkJhckxheW91dCByZWY9e3JlZn0+XG4gICAgICA8TWVudUdyb3VwIGlkPVwibWFpblwiIGxldmVsPXsxfT5cbiAgICAgICAgPD5cbiAgICAgICAgICB7QXJyYXkuZnJvbShuZXcgQXJyYXkoNSkpLm1hcCgoXywgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxNZW51SXRlbVxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBoYXNTdWJtZW51PXtmYWxzZX1cbiAgICAgICAgICAgICAgaXNNZW51T3Blbj17ZmFsc2V9XG4gICAgICAgICAgICAgIGlzQWN0aXZlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdW5kZWZpbmVkfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtzdHlsZXNbJ2xvYWRpbmctZG90LWNvbnRhaW5lciddfVxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtgZG90LWNvbnRhaW5lci0ke2luZGV4fWB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8TG9hZGluZ1BsYWNlaG9sZGVyIHNoYXBlPVwiZG90XCIgc2l6ZT1cIm1cIiAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvTWVudUl0ZW0+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvPlxuICAgICAgPC9NZW51R3JvdXA+XG4gICAgPC9OYXZCYXJMYXlvdXQ+XG4gICk7XG59O1xuTG9hZGluZ05hdkJhci5kaXNwbGF5TmFtZSA9ICdMb2FkaW5nTmF2QmFyJztcbiJdfQ== */")
|
|
3646
3652
|
}), jsx("nav", {
|
|
3647
3653
|
ref: ref,
|
|
3648
3654
|
className: styles$1['left-navigation'],
|
|
@@ -3666,7 +3672,8 @@ var NavBar = function NavBar(props) {
|
|
|
3666
3672
|
_handleToggleItem = _useNavbarStateManage.handleToggleItem,
|
|
3667
3673
|
handleToggleMenu = _useNavbarStateManage.handleToggleMenu,
|
|
3668
3674
|
shouldCloseMenuFly = _useNavbarStateManage.shouldCloseMenuFly,
|
|
3669
|
-
|
|
3675
|
+
allInternalApplicationsNavbarMenu = _useNavbarStateManage.allInternalApplicationsNavbarMenu,
|
|
3676
|
+
allCustomApplicationsNavbarMenu = _useNavbarStateManage.allCustomApplicationsNavbarMenu;
|
|
3670
3677
|
|
|
3671
3678
|
var useFullRedirectsForLinks = Boolean(props.environment.useFullRedirectsForLinks);
|
|
3672
3679
|
var location = useLocation();
|
|
@@ -3690,9 +3697,9 @@ var NavBar = function NavBar(props) {
|
|
|
3690
3697
|
children: jsxs(MenuGroup, {
|
|
3691
3698
|
id: "main",
|
|
3692
3699
|
level: 1,
|
|
3693
|
-
children: [
|
|
3700
|
+
children: [jsxs("div", {
|
|
3694
3701
|
className: styles$1['scrollable-menu'],
|
|
3695
|
-
children: _mapInstanceProperty(
|
|
3702
|
+
children: [_mapInstanceProperty(allInternalApplicationsNavbarMenu).call(allInternalApplicationsNavbarMenu, function (menu) {
|
|
3696
3703
|
var menuType = 'scrollable';
|
|
3697
3704
|
var itemIndex = "".concat(menuType, "-").concat(menu.key);
|
|
3698
3705
|
return jsx(ApplicationMenu, {
|
|
@@ -3711,7 +3718,26 @@ var NavBar = function NavBar(props) {
|
|
|
3711
3718
|
useFullRedirectsForLinks: useFullRedirectsForLinks,
|
|
3712
3719
|
onMenuItemClick: props.onMenuItemClick
|
|
3713
3720
|
}, menu.key);
|
|
3714
|
-
})
|
|
3721
|
+
}), jsx(MenuItemDivider, {}), _mapInstanceProperty(allCustomApplicationsNavbarMenu).call(allCustomApplicationsNavbarMenu, function (menu) {
|
|
3722
|
+
var menuType = 'scrollable';
|
|
3723
|
+
var itemIndex = "".concat(menuType, "-").concat(menu.key);
|
|
3724
|
+
return jsx(ApplicationMenu, {
|
|
3725
|
+
location: location,
|
|
3726
|
+
menu: menu,
|
|
3727
|
+
isActive: activeItemIndex === itemIndex,
|
|
3728
|
+
handleToggleItem: function handleToggleItem() {
|
|
3729
|
+
return _handleToggleItem(itemIndex);
|
|
3730
|
+
},
|
|
3731
|
+
isMenuOpen: isMenuOpen,
|
|
3732
|
+
shouldCloseMenuFly: shouldCloseMenuFly,
|
|
3733
|
+
projectPermissions: projectPermissions,
|
|
3734
|
+
menuVisibilities: menuVisibilities,
|
|
3735
|
+
applicationLocale: props.applicationLocale,
|
|
3736
|
+
projectKey: props.projectKey,
|
|
3737
|
+
useFullRedirectsForLinks: useFullRedirectsForLinks,
|
|
3738
|
+
onMenuItemClick: props.onMenuItemClick
|
|
3739
|
+
}, menu.key);
|
|
3740
|
+
})]
|
|
3715
3741
|
}), jsxs("div", {
|
|
3716
3742
|
className: styles$1['fixed-menu'],
|
|
3717
3743
|
children: [jsx(MenuItem, {
|
|
@@ -3734,10 +3760,13 @@ var NavBar = function NavBar(props) {
|
|
|
3734
3760
|
children: jsxs("div", {
|
|
3735
3761
|
className: styles$1['item-icon-text'],
|
|
3736
3762
|
children: [jsx("div", {
|
|
3737
|
-
className: styles$1
|
|
3738
|
-
children: jsx(
|
|
3739
|
-
|
|
3740
|
-
|
|
3763
|
+
className: styles$1['icon-container'],
|
|
3764
|
+
children: jsx("div", {
|
|
3765
|
+
className: styles$1.icon,
|
|
3766
|
+
children: jsx(SupportIcon, {
|
|
3767
|
+
size: "scale",
|
|
3768
|
+
color: getIconColor(activeItemIndex === 'fixed-support')
|
|
3769
|
+
})
|
|
3741
3770
|
})
|
|
3742
3771
|
}), jsx("div", {
|
|
3743
3772
|
className: styles$1.title,
|
|
@@ -3831,7 +3860,7 @@ var pimIndexerStates = {
|
|
|
3831
3860
|
};
|
|
3832
3861
|
|
|
3833
3862
|
var QuickAccess = /*#__PURE__*/lazy(function () {
|
|
3834
|
-
return import('./quick-access-
|
|
3863
|
+
return import('./quick-access-48a5f8a2.esm.js'
|
|
3835
3864
|
/* webpackChunkName: "quick-access" */
|
|
3836
3865
|
);
|
|
3837
3866
|
});
|